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

Status changed from Assigned to Rejected
Assignee changed from seki (Masatoshi Seki) to k0kubun (Takashi Kokubun)

Supporting this kind of behavior doesn't make sense to me. Suppose following erb template:

~~~ erb
foo <% # comment1 %> bar <% # comment2 %> baz
~~~

If such a feature is supported, I would expect this template to render "foo  bar  baz". But since " # comment1 " and " # comment2 " are embedded as Ruby script, concatenation for " bar ", " baz " and "\n" will be regarded as comment. And it's inevitable because we should keep erb's line numbers in generated code for correct backtrace.

In that situation, if we really want to support this, we need to trim comments when compiling erb by scanning all embedded Ruby scripts using Ripper or something. I don't think it's a consistent behavior considering embedded scripts are originally evaluated only on rendering. And it will have performance regression for compiling time. So the most reasonable way to achieve such single-line comment is just using "<%#".

As https://bugs.ruby-lang.org/issues/1559 is rejected and I think it's reasonable, we need to fix all "<% #" to "<%#". Sorry for your inconvenience by regression.

----------------------------------------
Bug #1868: ERB single line comment does not work
https://bugs.ruby-lang.org/issues/1868#change-64835

* Author: jfahrenkrug (Johannes Fahrenkrug)
* Status: Rejected
* Priority: Normal
* Assignee: k0kubun (Takashi Kokubun)
* Target version: 
* ruby -v: ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]
* Backport: 
----------------------------------------
=begin
 Hi,
 
 I just ran into this and found that a 1.9 bug for this is open already. But this issue also applies to 1.8.7. So I'm duplicating the description from here: http://redmine.ruby-lang.org/issues/show/1559
 
 In erb you're supposed to be able to do single line comments:
 
 <% # this is a comment %>
 
 However, this does not work in ruby 1.9.1.
 
 Temporary work around is to put the '%>' on a newline:
 
 <% # this comment works in 1.9.1
 %>
 
 Please see attached unit test.
=end


---Files--------------------------------
test_erb.rb (313 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>