Backport #718


Emacs ruby-mode does not show comment #@var correctly

Added by gettalong (Thomas Leitner) over 13 years ago. Updated almost 3 years ago.



Normal comments are shown correctly, ie. correctly colored. However, when commenting an instance variable without a
leading space, the color of the comment is the same as the color of an uncommented instance variable.

To reproduce, type the following in Emacs in a buffer with ruby-mode:

this does work

@var this does also work (shown in comment color)

#@var this does not work (shown in instance variable color)

Actions #1

Updated by shyouhei (Shyouhei Urabe) over 13 years ago

  • Assignee set to matz (Yukihiro Matsumoto)



Actions #2

Updated by m (m .) almost 13 years ago

This is because #@ and #$ are not always comments. An example:

  $ ruby -e '$f = "world"; puts "hello #$f"'
  # => hello world

This also applies to class variables.

The mode could be changed to make sure that it parses #@/#$ as a comment only if it's not inside a string (I don't know about any other edge cases like the one noted above).

Actions #3

Updated by shyouhei (Shyouhei Urabe) almost 12 years ago

  • Status changed from Open to Assigned
  • ruby -v set to N/A



Updated by dgutov (Dmitry Gutov) over 9 years ago

Fixed in Emacs, to be released in 24.3.

Actions #5

Updated by jeremyevans0 (Jeremy Evans) almost 3 years ago

  • ruby -v deleted (N/A)
  • Status changed from Assigned to Closed
  • Description updated (diff)
  • Project changed from Ruby 1.8 to Backport187
  • Tracker changed from Bug to Backport

Also available in: Atom PDF