Bug #3320: emacs ruby-mode.el font-lock fails on symboled string ending with ?
http://redmine.ruby-lang.org/issues/show/3320

Author: Zev Blut
Status: Open, Priority: Normal
Category: misc
ruby -v: 1.9.2 (trunk and 1.8.7)+

Fontification breaks when emacs sees a symbol like
:'this is a symbol?'

example code:
----------
class EmacsExample
  :symbol

  'this is a test'
  'is this a test?'
  "Can this be a test"
  :'this is an error?'

  def bar
    @help
  end
end

----

I have a very hacked fix in ruby-font-lock-syntactic-keywords
for 
    ;; the last $', $", $` in the respective string is not variable
    ;; the last ?', ?", ?` in the respective string is not ascii code
    ("\\(^\\|[\[ \t\n<+\(,=:]\\)\\(['\"`]\\)\\(\\\\.\\|\\2\\|[^'\"`\n\\\\]\\)*?\\\\?[?$]\\(\\2\\)"
     (2 (7 . nil))
    (4 (7 . nil)))

by adding : in the above matches with space tabs L etc...

See the attached patch

I am not sure this is the proper fix, but it fixes the above example.

Thanks,
Zev


----------------------------------------
http://redmine.ruby-lang.org