[#3907] Obtaining mode information on an IO object — Jos Backus <jos@...>

The attached patch implements IO#mode. This method returns the mode the IO

17 messages 2004/12/06
[#3909] Re: [patch] Obtaining mode information on an IO object — nobu.nokada@... 2004/12/07

Hi,

[#3910] Re: [patch] Obtaining mode information on an IO object — Jos Backus <jos@...> 2004/12/07

On Tue, Dec 07, 2004 at 09:25:13AM +0900, nobu.nokada@softhome.net wrote:

[#3925] Re: [patch] Obtaining mode information on an IO object — James Britt <ruby@...> 2004/12/09

Jos Backus wrote:

[#4009] cgi.rb -- more GET/POST stuff — mde@...26.com

First of all, I think it would be great, as Eustaquio suggests, to

17 messages 2004/12/23
[#4016] Re: [PATCH] cgi.rb -- more GET/POST stuff — Francis Hwang <sera@...> 2004/12/24

GETs and POSTs are defined to be fairly different actions. I'd read

[#4027] Allowing custom number literal suffixes? — Florian Gro<florgro@...>

Moin!

35 messages 2004/12/27
[#4070] Re: Allowing custom number literal suffixes? — nobu.nokada@... 2005/01/02

Hi,

[#4072] Re: Allowing custom number literal suffixes? — Mathieu Bouchard <matju@...> 2005/01/02

[#4079] Re: Allowing custom number literal suffixes? — Florian Gro<florgro@...> 2005/01/03

Mathieu Bouchard wrote:

[#4081] Re: Allowing custom number literal suffixes? — Mathieu Bouchard <matju@...> 2005/01/03

[#4082] Re: Allowing custom number literal suffixes? — Florian Gro<florgro@...> 2005/01/03

Mathieu Bouchard wrote:

[#4084] Re: Allowing custom number literal suffixes? — Brent Roman <brent@...> 2005/01/04

I'm not sure I would advocate making Ruby's grammar even more

[#4086] Re: Allowing custom number literal suffixes? — Mathieu Bouchard <matju@...> 2005/01/04

[#4033] Garbage collection trouble — Christian Neukirchen <chneukirchen@...>

Hello,

13 messages 2004/12/27

Re: [ ruby-Bugs-1173 ] Incorrect escaping in strings produced by String::inspect

From: nobu.nokada@...
Date: 2004-12-09 03:04:15 UTC
List: ruby-core #3929
Hi,

At Thu, 9 Dec 2004 02:36:20 +0900,
noreply@rubyforge.org wrote in [ruby-core:03922]:
> The following causes a runtime syntax error:
> eval('Foo #@ bar'.inspect)
> 
> I'm not sure if that use-case is supposed to be supported,
> but I think a number of applications rely on it.

Does this patch help?


Index: string.c
===================================================================
RCS file: /cvs/ruby/src/ruby/string.c,v
retrieving revision 1.227
diff -U2 -p -d -r1.227 string.c
--- string.c	29 Nov 2004 06:09:39 -0000	1.227
+++ string.c	9 Dec 2004 01:57:11 -0000
@@ -2571,4 +2571,6 @@ rb_str_to_s(str)
 }
 
+#define IS_EVSTR(p,e) ((p) < (e) && (*(p) == '$' || *(p) == '@' || *(p) == '{'))
+
 /*
  * call-seq:
@@ -2599,5 +2601,5 @@ rb_str_inspect(str)
 	    p += len - 1;
 	}
-	else if (c == '"'|| c == '\\') {
+	else if (c == '"'|| c == '\\' || (c == '#' && IS_EVSTR(p, pend))) {
 	    s[0] = '\\'; s[1] = c;
 	    rb_str_buf_cat(result, s, 2);
@@ -2671,9 +2673,13 @@ rb_str_dump(str)
 	  case '"':  case '\\':
 	  case '\n': case '\r':
-	  case '\t': case '\f': case '#':
+	  case '\t': case '\f':
 	  case '\013': case '\007': case '\033':
 	    len += 2;
 	    break;
 
+	  case '#':
+	    len += IS_EVSTR(p, pend) ? 2 : 1;
+	    break;
+
 	  default:
 	    if (ISPRINT(c)) {
@@ -2700,5 +2706,5 @@ rb_str_dump(str)
 	}
 	else if (c == '#') {
-	    *q++ = '\\';
+	    if (IS_EVSTR(p, pend)) *q++ = '\\';
 	    *q++ = '#';
 	}


-- 
Nobu Nakada

In This Thread