Issue #14243 has been updated by k0kubun (Takashi Kokubun).

Status changed from Assigned to Rejected

https://github.com/ruby/ruby/commit/abbfc048c5890e8017360bbc845062ea1585e155#diff-e1ea8366d3ac334deab7e0d25309be03 does trigger this behavior, but ERB does not support "<% #" syntax. Do you think the code generated at "Before:" is correct? It generates `_erbout.<< -"\n"` as comment but obviously it's not intended. I even think raising an error is better, and the behaivor is out of scope for support as ERB level because embedding invalid syntax Ruby code is always invalid.

See also Bug#1868. Use "<%#" instead of "<% #".

----------------------------------------
Bug #14243: Comments inside ERB tags broken
https://bugs.ruby-lang.org/issues/14243#change-69031

* Author: jsc (Justin Collins)
* Status: Rejected
* Priority: Normal
* Assignee: k0kubun (Takashi Kokubun)
* Target version: 
* ruby -v: ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-linux]
* Backport: 2.3: DONTNEED, 2.4: DONTNEED, 2.5: REQUIRED
----------------------------------------
A backwards-incompatible change was introduced with https://github.com/ruby/ruby/commit/abbfc048c5890e8017360bbc845062ea1585e155#diff-e1ea8366d3ac334deab7e0d25309be03

**Example:**

~~~ ruby
require "erb"
input = "<% # comment %>\n"
puts ERB.new(input).src
~~~


Before:

~~~
#coding:UTF-8
_erbout = +'';  # comment ; _erbout.<< -"\n"
; _erbout

~~~

After:

~~~
#coding:UTF-8
_erbout = +'';  # comment ; _erbout.<<(-"\n"
); _erbout
~~~

The generated code produces a syntax error due to introduction of parentheses around the arguments.

---Files--------------------------------
erb_test.rb (71 Bytes)


-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>