From f178c32dd1f7dd6172e3088a49ebd6d36cd8ce0e Mon Sep 17 00:00:00 2001 From: Dmitry Gutov Date: Tue, 13 Nov 2012 07:07:09 +0400 Subject: [PATCH] * lisp/progmodes/ruby-mode.el (ruby-font-lock-keywords): Never font-lock the beginning of singleton class as heredoc. * test/automated/ruby-mode-tests.el (ruby-heredoc-font-lock) (ruby-singleton-class-no-heredoc-font-lock): New tests. --- lisp/ChangeLog | 5 +++++ lisp/progmodes/ruby-mode.el | 3 ++- test/ChangeLog | 5 +++++ test/automated/ruby-mode-tests.el | 8 ++++++++ 4 files changed, 20 insertions(+), 1 deletion(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 92f3343db6..d04c42da4f 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -14,6 +14,11 @@ (advice-add): Use them. (advice-member-p): Correctly handle macros. +2012-11-13 Dmitry Gutov + + * progmodes/ruby-mode.el (ruby-font-lock-keywords): Never + font-lock the beginning of singleton class as heredoc. + 2012-11-13 Stefan Monnier * emacs-lisp/gv.el (gv-define-simple-setter): One more fix (bug#12871). diff --git a/lisp/progmodes/ruby-mode.el b/lisp/progmodes/ruby-mode.el index 67f25eda28..9d2c6fa51f 100644 --- a/lisp/progmodes/ruby-mode.el +++ b/lisp/progmodes/ruby-mode.el @@ -1551,7 +1551,8 @@ See `font-lock-syntax-table'.") ruby-keyword-end-re) 2) ;; here-doc beginnings - (list ruby-here-doc-beg-re 0 'font-lock-string-face) + `(,ruby-here-doc-beg-re 0 (unless (ruby-singleton-class-p (match-beginning 0)) + 'font-lock-string-face)) ;; variables '("\\(^\\|[^_:.@$]\\|\\.\\.\\)\\b\\(nil\\|self\\|true\\|false\\)\\>" 2 font-lock-variable-name-face) diff --git a/test/ChangeLog b/test/ChangeLog index 4a9d215aa2..ad136117c1 100644 --- a/test/ChangeLog +++ b/test/ChangeLog @@ -1,3 +1,8 @@ +2012-11-13 Dmitry Gutov + + * automated/ruby-mode-tests.el (ruby-heredoc-font-lock) + (ruby-singleton-class-no-heredoc-font-lock): New tests. + 2012-11-12 Stefan Monnier * automated/advice-tests.el: New tests. diff --git a/test/automated/ruby-mode-tests.el b/test/automated/ruby-mode-tests.el index 8da0041e9a..741692a07f 100644 --- a/test/automated/ruby-mode-tests.el +++ b/test/automated/ruby-mode-tests.el @@ -76,6 +76,14 @@ VALUES-PLIST is a list with alternating index and value elements." (ruby-assert-state "foo <