[前][次][番号順一覧][スレッド一覧]

ruby-changes:3757

From: ko1@a...
Date: Sat, 26 Jan 2008 03:49:43 +0900 (JST)
Subject: [ruby-changes:3757] usa - Ruby:r15246 (trunk): * parse.y (parser_initialize): set default script encoding as US-ASCII.

usa	2008-01-26 03:49:28 +0900 (Sat, 26 Jan 2008)

  New Revision: 15246

  Modified files:
    trunk/ChangeLog
    trunk/parse.y
    trunk/ruby.c

  Log:
    * parse.y (parser_initialize): set default script encoding as US-ASCII.
    
    * ruby.c (load_file): ditto.
    
    * ruby.c (process_options): set script encoding of -e from locale
      except when -K is specified.
    
    * ruby.c (load_file): set script encoding of stdin from locale except
      when -K is specified. [ruby-dev:33375]
    


  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ruby.c?r1=15246&r2=15245&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/parse.y?r1=15246&r2=15245&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=15246&r2=15245&diff_format=u

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 15245)
+++ ChangeLog	(revision 15246)
@@ -1,3 +1,15 @@
+Sat Jan 26 03:41:53 2008  NAKAMURA Usaku  <usa@r...>
+
+	* parse.y (parser_initialize): set default script encoding as US-ASCII.
+
+	* ruby.c (load_file): ditto.
+
+	* ruby.c (process_options): set script encoding of -e from locale
+	  except when -K is specified.
+
+	* ruby.c (load_file): set script encoding of stdin from locale except
+	  when -K is specified. [ruby-dev:33375]
+
 Sat Jan 26 02:51:06 2008  Koichi Sasada  <ko1@a...>
 
 	* compile.c, compile.h: fix stack pointer issues.
Index: parse.y
===================================================================
--- parse.y	(revision 15245)
+++ parse.y	(revision 15246)
@@ -9222,7 +9222,7 @@
 #ifdef YYMALLOC
     parser->heap = NULL;
 #endif
-    parser->enc = rb_ascii8bit_encoding();
+    parser->enc = rb_usascii_encoding();
 }
 
 extern void rb_mark_source_filename(char *);
Index: ruby.c
===================================================================
--- ruby.c	(revision 15245)
+++ ruby.c	(revision 15246)
@@ -1008,33 +1008,21 @@
 	enc = rb_enc_from_index(opt->ext.enc.index);
     }
     else {
-	enc = 0;
+	enc = rb_locale_encoding();
     }
     if (opt->e_script) {
-	rb_encoding *eenc = rb_locale_encoding();
-	if (!enc) {
-	    enc = eenc;
+	rb_encoding *eenc;
+	if (opt->src.enc.index >= 0) {
+	    eenc = rb_enc_from_index(opt->src.enc.index);
 	}
-	else if (!rb_enc_asciicompat(enc)) {
-	    rb_warning("%s is not ASCII compatible, ignored for -e",
-		       rb_enc_name(enc));
-	}
-	else if (eenc != enc &&
-		 (rb_enc_str_coderange(opt->e_script) != ENC_CODERANGE_7BIT)) {
-	    rb_warning("-e conatains non ASCII string, encoding %s is not used",
-		       rb_enc_name(enc));
-	}
 	else {
-	    eenc = enc;
+	    eenc = rb_locale_encoding();
 	}
 	rb_enc_associate(opt->e_script, eenc);
 	require_libraries();
 	tree = rb_parser_compile_string(parser, opt->script, opt->e_script, 1);
     }
     else {
-	if (!enc) {
-	    enc = rb_locale_encoding();
-	}
 	if (opt->script[0] == '-' && !opt->script[1]) {
 	    forbid_setid("program input from stdin");
 	}
@@ -1199,15 +1187,10 @@
 	enc = rb_enc_from_index(opt->src.enc.index);
     }
     else if (f == rb_stdin) {
-	if (opt->ext.enc.index >= 0) {
-	    enc = rb_enc_from_index(opt->ext.enc.index);
-	}
-	else {
-	    enc = rb_locale_encoding();
-	}
+	enc = rb_locale_encoding();
     }
     else {
-	enc = rb_ascii8bit_encoding();
+	enc = rb_usascii_encoding();
     }
     rb_funcall(f, rb_intern("set_encoding"), 1, rb_enc_from_encoding(enc));
     tree = (NODE *)rb_parser_compile_file(parser, fname, f, line_start);

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]