[#12312] Need Japanese Help - VRuby & new One-Click Ruby Installer with patch 110 — "Curt Hibbs" <curt.hibbs@...>
I'm trying to build a new release of the One-Click Ruby Installer for
Hello,
Hello,
[#12328] Dir.chdir patch for MS Windows — "Berger, Daniel" <Daniel.Berger@...>
Hi,
[#12344] patch to implement Array.permutation — David Flanagan <david@...>
Hi,
[#12372] Release compatibility/train — Prashant Srinivasan <Prashant.Srinivasan@...>
Hello all,
Hi,
Yukihiro Matsumoto wrote:
Hi,
Yukihiro Matsumoto wrote:
Hi,
Yukihiro Matsumoto wrote:
Hi,
Hi --
On 10/3/07, David A. Black <dblack@rubypal.com> wrote:
Rick DeNatale wrote:
[#12383] Include Rake in Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...>
-----BEGIN PGP SIGNED MESSAGE-----
On 10/3/07, NAKAMURA, Hiroshi <nakahiro@sarion.co.jp> wrote:
On Oct 3, 2007, at 08:59 , Jacob Fugal wrote:
-----BEGIN PGP SIGNED MESSAGE-----
On 10/15/07, NAKAMURA, Hiroshi <nakahiro@sarion.co.jp> wrote:
[#12539] Ordered Hashes in 1.9? — Michael Neumann <mneumann@...>
Hi all,
Hi,
Yukihiro Matsumoto wrote:
[#12568] $" and require — "Tim Morgan" <tmorgan99@...>
Hello!
[#12578] Possible memory leak in ruby-1.8.6-p110?? — "M. Edward (Ed) Borasky" <znmeb@...>
I haven't had a chance to narrow this down in enough detail yet, but
M. Edward (Ed) Borasky wrote:
On Thu, 11 Oct 2007, M. Edward (Ed) Borasky wrote:
[#12579] iconv enhancement in Ruby 1.9 — "Eugene Ossintsev" <eugoss@...>
Hi,
[#12587] Confusion about arities — Charles Oliver Nutter <charles.nutter@...>
It seems like a number of methods have unexpected arities. For example,
On Oct 10, 2007, at 22:44 , Charles Oliver Nutter wrote:
Eric Hodel wrote:
[#12588] MatchData#select rdoc and arity incorrect — Charles Oliver Nutter <charles.nutter@...>
Rdoc is here:
[#12617] Question about heap_slots in gc.c — Hongli Lai <h.lai@...>
I'm trying to modify the Ruby interpreter's garbage collector. At the
[#12618] StringIO is not IO? — Hongli Lai <h.lai@...>
According to irb,
[#12629] file encoding comments and a patch to parse.y — David Flanagan <david@...>
Matz, Nobu:
[#12632] Defining unicode methods — "Daniel Berger" <djberg96@...>
Hi all,
[#12670] Bug in Numeric#divmod — "Dirk Traulsen" <dirk.traulsen@...>
Hi all!
[#12681] Unicode: Progress? — murphy <murphy@...>
Hello!
murphy schrieb:
Hi,
Yukihiro Matsumoto wrote:
[#12693] retry: revised 1.9 http patch — Hugh Sasse <hgs@...>
I'm reposting this because I've had little response to this version
On Tue, Oct 16, 2007 at 01:32:42AM +0900, Hugh Sasse wrote:
Would this require that zlib be installed? I know that it's possible to
On Wed, 31 Oct 2007, Roger Pack wrote:
-----BEGIN PGP SIGNED MESSAGE-----
[#12697] Range.first is incompatible with Enumerable.first — David Flanagan <david@...>
The new Enumerable.first method is a generalization of Array.first to
Hi,
[#12703] Long encoding names with -K and bad error message — David Flanagan <david@...>
I noticed the following line in the change log:
Hi,
Nobuyoshi Nakada wrote:
Nobu,
At 16:04 07/10/17, David Flanagan wrote:
[#12706] Re: A couple of bugs? — "Gavin Kistner" <gavin.kistner@...>
From: John Lam (DLR) [mailto:jflam@microsoft.com]=20
On Wed, Oct 17, 2007 at 03:10:07AM +0900, Gavin Kistner wrote:
Well, that's interesting. Then this seems to be the only assignment that ha=
[#12710] enum.c patch: fixes Enumerable.cycle and rdoc bugs — David Flanagan <david@...>
The attached patch fixes:
Hi,
[#12714] Re: A couple of bugs? — "Gavin Kistner" <gavin.kistner@...>
> Well, that's interesting. Then this seems to be the only=20
[#12754] Improving 'syntax error, unexpected $end, expecting kEND'? — Hugh Sasse <hgs@...>
I've had a look at this, but can't see how to do it: When I get
On Fri, Oct 19, 2007 at 03:01:55AM +0900, Hugh Sasse wrote:
The patch below changes this message to:
At 04:15 07/10/24, David Flanagan wrote:
Thanks for filling these in Martin. I worry that this is such a simple
At 16:57 07/10/24, David Flanagan wrote:
Martin Duerst schrieb:
Hi,
[#12758] Encoding::primary_encoding — David Flanagan <david@...>
Hi,
Hi,
Nobuyoshi Nakada schrieb:
Hi,
Nobuyoshi Nakada schrieb:
Hi,
Nobuyoshi Nakada schrieb:
T24gMjIvMTAvMjAwNywgV29sZmdhbmcgTsOhZGFzaS1Eb25uZXIgPGVkLm9kYW5vd0B3b25hZG8u
Michal Suchanek schrieb:
Hi,
Nobuyoshi Nakada schrieb:
I made some tests with UFT-8, option "-Ku", option "-Ka" and both types of magic
[#12767] \u escapes in string literals: proof of concept implementation — David Flanagan <david@...>
Back at the end of August, Matz wrote (see
Hi,
Nobuyoshi Nakada wrote:
Hi,
Yukihiro Matsumoto wrote:
At 04:19 07/10/23, David Flanagan wrote:
Martin Duerst wrote:
Hi,
At 13:10 07/10/23, David Flanagan wrote:
Martin Duerst wrote:
Hi,
Yukihiro Matsumoto wrote:
Hi,
Nobuyoshi Nakada wrote:
Hi,
At 16:46 07/10/29, Nobuyoshi Nakada wrote:
Hi,
At 11:29 07/11/06, Nobuyoshi Nakada wrote:
Hi,
Yukihiro Matsumoto wrote:
[#12787] How to specify in Ruby 1.9 the expected file encoding — =?ISO-8859-15?Q?Wolfgang_N=E1dasi-Donner?= <ed.odanow@...>
Dear Ruby developers!
Wolfgang N疆asi-Donner wrote:
Gonzalo Garramu schrieb:
Hi,
Yukihiro Matsumoto schrieb:
I wouldn't want a program to write a BOM at the start of a file
[#12795] patch for String.concat — David Flanagan <david@...>
I don't think that String.<< currently handles appending codepoints
[#12825] clarification of ruby libraries installation paths? — Lucas Nussbaum <lucas@...>
Hi,
On Mon, Oct 22, 2007, Lucas Nussbaum wrote:
On 23/10/07 at 00:13 +0900, Ben Bleything wrote:
On 10/22/07, Lucas Nussbaum <lucas@lucas-nussbaum.net> wrote:
On 23/10/07 at 01:55 +0900, Austin Ziegler wrote:
Lucas Nussbaum wrote:
On 24/10/07 at 05:14 +0900, Gonzalo Garramu wrote:
Lucas Nussbaum wrote:
On 30/10/07 at 07:28 +0900, Gonzalo Garramu wrote:
On 10/29/07, Lucas Nussbaum <lucas@lucas-nussbaum.net> wrote:
Austin Ziegler wrote:
On 10/30/07, Mathieu Blondel <mblondel@rubyforge.org> wrote:
On Tue, Oct 23, 2007 at 01:55:29AM +0900, Austin Ziegler wrote:
On 10/22/07, Sam Roberts <sroberts@uniserve.com> wrote:
Austin Ziegler wrote:
On 10/28/07, Bob Proulx <bob@proulx.com> wrote:
Austin,
On 10/29/07, Lucas Nussbaum <lucas@lucas-nussbaum.net> wrote:
On 10/29/07, Luis Lavena <luislavena@gmail.com> wrote:
On 10/30/07, Austin Ziegler <halostatue@gmail.com> wrote:
Do we think that maybe, just maybe, things went off the rails when the
On 10/30/07, Rick Bradley <rick@rickbradley.com> wrote:
On Tue, 30 Oct 2007 22:52:29 +0900, "Luis Lavena" <luislavena@gmail.com> wrote:
[#12849] Problem reported in Rdoc (Ruby 1.9) Rdoc for Ruby 1.8 works — =?ISO-8859-15?Q?Wolfgang_N=E1dasi-Donner?= <ed.odanow@...>
Hi!
[#12867] constant lookup rules in 1.9 — David Flanagan <david@...>
Hi,
[#12895] OSX patches — "Laurent Sansonetti" <laurent.sansonetti@...>
Hi ruby-core,
[#12900] Hopefully Complete List of Possible Encoding Specifications - Existing Ones — Wolfgang Nádasi-Donner <ed.odanow@...>
Dear Ruby 1.9 architects, developers, and testers!
Hi,
Yukihiro Matsumoto schrieb:
Hi,
Yukihiro Matsumoto schrieb:
I have a (hopefully) final question before testing all
Hi,
Wolfgang N叩dasi-Donner wrote:
David Flanagan schrieb:
At 10:30 07/10/26, Nobuyoshi Nakada wrote:
Yukihiro Matsumoto wrote:
On 10/25/07, Yukihiro Matsumoto <matz@ruby-lang.org> wrote:
[#12951] Fluent programming in Ruby — David Flanagan <david@...>
From the ChangeLog:
At 14:01 07/10/26, David Flanagan wrote:
Martin Duerst schrieb:
[#12971] Re: Fluent programming in Ruby — Brent Roman <brent@...>
I suppose you could have irb require a terminating ';'
> -----Original Message-----
On 10/26/07, Berger, Daniel <Daniel.Berger@qwest.com> wrote:
[#12996] General hash keys for colon notation — murphy <murphy@...>
Dear language designer(s) and parser wizards,
On 10/28/07, murphy <murphy@rubychan.de> wrote:
On 10/28/07, Rick DeNatale <rick.denatale@gmail.com> wrote:
Rick DeNatale wrote:
[#13027] Implementation of "guessUTF" method - final questions — Wolfgang Nádasi-Donner <ed.odanow@...>
Dear Ruby designers, developers, and testers!
On 10/29/07, Wolfgang N=E1dasi-Donner <ed.odanow@wonado.de> wrote:
Nikolai Weibull schrieb:
On 10/29/07, Wolfgang N=E1dasi-Donner <ed.odanow@wonado.de> wrote:
Nikolai Weibull schrieb:
Hello Wolfgang,
At 17:50 07/10/29, Nikolai Weibull wrote:
On 10/29/07, Martin Duerst <duerst@it.aoyama.ac.jp> wrote:
[#13069] new Enumerable.butfirst method — David Flanagan <david@...>
Matz,
Hi,
Yukihiro Matsumoto wrote:
Hi,
[#13083] Didn't find String#subseq — Wolfgang Nádasi-Donner <ed.odanow@...>
Hi!
[#13096] 1.8.6 gc.c thoughts — "Roger Pack" <rogerpack2005@...>
After examining how the 1.8.6 gc works, I had a few thoughts:
[#13107] %s and utf8 ? — hadmut@... (Hadmut Danisch)
Hi,
[#13135] patch for lib/net/http.rb, self['User-Agent'] ||= 'Ruby' — Stephen Bannasch <stephen.bannasch@...>
I posted this patch before in the middle of another thread and didn't
Hi Stephen,
In article <9079DC13-476F-4C12-922E-E197BD5AAA5C@loveruby.net>,
[#13139] Required Space for Unicode Character Attribute Tables — Wolfgang Nádasi-Donner <ed.odanow@...>
Hi!
[#13143] Two Issues (open-uri's respond_to? and autoload's require) — Trans <transfire@...>
Hi--
-----BEGIN PGP SIGNED MESSAGE-----
Re: \u escapes in string literals: proof of concept implementation
Nobuyoshi Nakada wrote:
> If the current encoding is not based on the Unicode character
> set, I think \u should:
>
> a. raise compile error,
> b. be converted from Unicode to the encoding, or
> c. make the whole string UTF-8 encoding (and raise compile error
> if other non-ascii characters are there).
The new patch attached here does c. Any string with a \u in it is
forced to utf-8 encoding. Unless the \u encodes a character in the
ASCII range, in which case it leaves the encoding alone.
>> + int maxbytes = rb_enc_mbmaxlen(parser->enc);
>> + UChar buf[maxbytes];
>
> C99 feature can't compile with C90 compilers.
This code is gone.
\u{...} no longer accepts codepoints > 10FFFF.
This patch seems to work with regexps and %w{} as well as double-quoted
strings and here docs.
David
Attachments (1)
Index: parse.y
===================================================================
--- parse.y (revision 13739)
+++ parse.y (working copy)
@@ -237,6 +237,8 @@
int has_shebang;
int parser_ruby_sourceline; /* current line no. */
rb_encoding *enc;
+ rb_encoding *utf8;
+ int has_utf8; /* if a string contains \u escape, force encoding to utf-8*/
#ifndef RIPPER
/* Ruby core only */
@@ -264,7 +266,7 @@
#define STR_NEW0() rb_enc_str_new(0,0,rb_enc_from_index(0))
#define STR_NEW2(p) rb_enc_str_new((p),strlen(p),parser->enc)
#define STR_NEW3(p,n,m) parser_str_new((p),(n),STR_ENC(!ENC_SINGLE(m)),(m))
-#define STR_ENC(m) ((m)?parser->enc:rb_enc_from_index(0))
+#define STR_ENC(m) (parser->has_utf8?parser->utf8:((m)?parser->enc:rb_enc_from_index(0)))
#define ENC_SINGLE(cr) ((cr)==ENC_CODERANGE_SINGLE)
#define TOK_INTERN(mb) rb_intern3(tok(), toklen(), STR_ENC(mb))
@@ -4675,6 +4677,7 @@
}
parser->enc = rb_enc_get(lex_input);
+ parser->utf8 = rb_enc_find("utf-8");
ruby_sourcefile = rb_source_filename(f);
ruby_sourceline = line - 1;
parser_prepare(parser);
@@ -5152,7 +5155,7 @@
#define STR_FUNC_INDENT 0x20
enum string_type {
- str_squote = (0),
+ str_squote= (0),
str_dquote = (STR_FUNC_EXPAND),
str_xquote = (STR_FUNC_EXPAND),
str_regexp = (STR_FUNC_REGEXP|STR_FUNC_ESCAPE|STR_FUNC_EXPAND),
@@ -5180,6 +5183,7 @@
} while (--len > 0 && (c = nextc()) != -1);
}
+
#define tokadd_mbchar(c) parser_tokadd_mbchar(parser, c)
static int
@@ -5219,6 +5223,72 @@
if (func & STR_FUNC_ESCAPE) tokadd(c);
break;
+ case 'u':
+ if ((func & STR_FUNC_EXPAND) == 0) {
+ tokadd('\\');
+ break;
+ }
+ else {
+ int numlen, brace, codepoint;
+ brace = nextc();
+ if (brace == '{') { /* handle \u{...} form */
+ codepoint = scan_hex(lex_p, 6, &numlen);
+ if (numlen == 0) {
+ yyerror("Invalid Unicode escape");
+ return 0;
+ }
+ if (codepoint > 0x10ffff) {
+ yyerror("Illegal Unicode codepoint (too large)");
+ return 0;
+ }
+ lex_p += numlen;
+
+ if ((brace = nextc()) != '}') {
+ pushback(brace);
+ yyerror("Unterminated Unicode escape");
+ return 0;
+ }
+ }
+ else { /* handle \uxxxx form */
+ pushback(brace);
+ codepoint = scan_hex(lex_p, 4, &numlen);
+ if (numlen < 4) {
+ yyerror("Invalid Unicode escape");
+ return 0;
+ }
+ lex_p += 4;
+ }
+
+ if (codepoint >= 0x80) {
+ if (mb) *mb = ENC_CODERANGE_UNKNOWN;
+ parser->has_utf8 = 1;
+ }
+
+ if (codepoint < 0x80) { /* this case shouldn't happen */
+ tokadd(codepoint);
+ }
+ else if (codepoint < 0x800) {
+ tokadd(((codepoint >> 6)&0x1f) | 0xC0);
+ tokadd((codepoint & 0x3F) | 0x80);
+ }
+ else if (codepoint < 0x10000) {
+ tokadd(((codepoint >> 12) & 0x0f) | 0xe0);
+ tokadd(((codepoint >> 6)&0x3f) | 0x80);
+ tokadd((codepoint & 0x3F) | 0x80);
+ }
+ else if (codepoint < 0x110000) {
+ tokadd(((codepoint >> 18) & 0x07) | 0xf0);
+ tokadd(((codepoint >> 12) & 0x3f) | 0x80);
+ tokadd(((codepoint >> 6)&0x3f) | 0x80);
+ tokadd((codepoint & 0x3F) | 0x80);
+ }
+ else {
+ /* should not happen */
+ yyerror("Invalid Unicode codepoint");
+ }
+ continue;
+ }
+
default:
if (func & STR_FUNC_REGEXP) {
pushback(c);
@@ -5301,6 +5371,7 @@
tokadd('#');
}
pushback(c);
+ parser->has_utf8 = 0;
if (tokadd_string(func, term, paren, "e->nd_nest, &mb) == -1) {
if (func & STR_FUNC_REGEXP) {
ruby_sourceline = nd_line(quote);
@@ -5493,6 +5564,7 @@
}
do {
pushback(c);
+ parser->has_utf8 = 0;
if ((c = tokadd_string(func, '\n', 0, NULL, mbp)) == -1) goto error;
if (c != '\n') {
set_yylval_str(STR_NEW3(tok(), toklen(), mb));