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

ruby-changes:41143

From: hsbt <ko1@a...>
Date: Sun, 20 Dec 2015 15:37:30 +0900 (JST)
Subject: [ruby-changes:41143] hsbt:r53216 (trunk): * lib/erb.rb: revert r53123. It break compatibility like thor and rspec-rails.

hsbt	2015-12-20 15:36:57 +0900 (Sun, 20 Dec 2015)

  New Revision: 53216

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=53216

  Log:
    * lib/erb.rb: revert r53123. It break compatibility like thor and rspec-rails.
      We should try with Ruby 2.4 or 3.0.
      [Bug #11842][ruby-core:72374]
    * lib/rdoc/erb_partial.rb: ditto.
    * template/verconf.h.tmpl: ditto.

  Modified files:
    trunk/ChangeLog
    trunk/lib/erb.rb
    trunk/lib/rdoc/erb_partial.rb
    trunk/template/verconf.h.tmpl
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 53215)
+++ ChangeLog	(revision 53216)
@@ -1,3 +1,11 @@ https://github.com/ruby/ruby/blob/trunk/ChangeLog#L1
+Sun Dec 20 15:36:46 2015  SHIBATA Hiroshi  <hsbt@r...>
+
+	* lib/erb.rb: revert r53123. It break compatibility like thor and rspec-rails.
+	  We should try with Ruby 2.4 or 3.0.
+	  [Bug #11842][ruby-core:72374]
+	* lib/rdoc/erb_partial.rb: ditto.
+	* template/verconf.h.tmpl: ditto.
+
 Sun Dec 20 11:43:31 2015  Nobuyoshi Nakada  <nobu@r...>
 
 	* parse.y (parser_yylex): allow here documents in labeled
Index: lib/rdoc/erb_partial.rb
===================================================================
--- lib/rdoc/erb_partial.rb	(revision 53215)
+++ lib/rdoc/erb_partial.rb	(revision 53216)
@@ -12,7 +12,7 @@ class RDoc::ERBPartial < ERB https://github.com/ruby/ruby/blob/trunk/lib/rdoc/erb_partial.rb#L12
   def set_eoutvar compiler, eoutvar = '_erbout'
     super
 
-    compiler.pre_cmd = ["#{eoutvar} ||= []"]
+    compiler.pre_cmd = ["#{eoutvar} ||= ''"]
   end
 
 end
Index: lib/erb.rb
===================================================================
--- lib/erb.rb	(revision 53215)
+++ lib/erb.rb	(revision 53216)
@@ -590,7 +590,7 @@ class ERB https://github.com/ruby/ruby/blob/trunk/lib/erb.rb#L590
     end
 
     def add_insert_cmd(out, content)
-      out.push("#{@insert_cmd}((#{content}))")
+      out.push("#{@insert_cmd}((#{content}).to_s)")
     end
 
     # Compiles an ERB template into Ruby code.  Returns an array of the code
@@ -835,10 +835,10 @@ class ERB https://github.com/ruby/ruby/blob/trunk/lib/erb.rb#L835
   # requires the setup of an ERB _compiler_ object.
   #
   def set_eoutvar(compiler, eoutvar = '_erbout')
-    compiler.put_cmd = "#{eoutvar}.push"
-    compiler.insert_cmd = "#{eoutvar}.push"
-    compiler.pre_cmd = ["#{eoutvar} = []"]
-    compiler.post_cmd = ["#{eoutvar}.join.force_encoding(__ENCODING__)"]
+    compiler.put_cmd = "#{eoutvar}.concat"
+    compiler.insert_cmd = "#{eoutvar}.concat"
+    compiler.pre_cmd = ["#{eoutvar} = ''"]
+    compiler.post_cmd = ["#{eoutvar}.force_encoding(__ENCODING__)"]
   end
 
   # Generate results and print them. (see ERB#result)
Index: template/verconf.h.tmpl
===================================================================
--- template/verconf.h.tmpl	(revision 53215)
+++ template/verconf.h.tmpl	(revision 53216)
@@ -52,7 +52,7 @@ https://github.com/ruby/ruby/blob/trunk/template/verconf.h.tmpl#L52
 % R["exec_prefix"] = '"RUBY_EXEC_PREFIX"'
 % R["prefix"] = '"RUBY_EXEC_PREFIX"'
 % exec_prefix_pat = /\A"#{Regexp.quote(rbconfig::CONFIG['exec_prefix'])}(?=\/|\z)/
-% _erbout = [_erbout.join.gsub!(/^(#define\s+(\S+)\s+)(.*)/) {
+% _erbout.gsub!(/^(#define\s+(\S+)\s+)(.*)/) {
 %   pre, name, repl = $1, $2, $3
 %   pat = %["#{name}"]
 %   c = C.merge(R.reject {|key, value| key == name or value.include?(pat)})
@@ -60,4 +60,4 @@ https://github.com/ruby/ruby/blob/trunk/template/verconf.h.tmpl#L60
 %   repl.gsub!(/^""(?!$)|(.)""$/, '\1')
 %   repl.sub!(exec_prefix_pat, 'RUBY_EXEC_PREFIX"')
 %   pre + repl
-% }]
+% }

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

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