emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r110878: * lisp/progmodes/ruby-mode.e


From: Dmitry Gutov
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r110878: * lisp/progmodes/ruby-mode.el (ruby-font-lock-keywords): Never
Date: Tue, 13 Nov 2012 07:07:09 +0400
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 110878
committer: Dmitry Gutov <address@hidden>
branch nick: trunk
timestamp: Tue 2012-11-13 07:07:09 +0400
message:
  * 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.
modified:
  lisp/ChangeLog
  lisp/progmodes/ruby-mode.el
  test/ChangeLog
  test/automated/ruby-mode-tests.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2012-11-13 03:00:09 +0000
+++ b/lisp/ChangeLog    2012-11-13 03:07:09 +0000
@@ -14,6 +14,11 @@
        (advice-add): Use them.
        (advice-member-p): Correctly handle macros.
 
+2012-11-13  Dmitry Gutov  <address@hidden>
+
+       * progmodes/ruby-mode.el (ruby-font-lock-keywords): Never
+       font-lock the beginning of singleton class as heredoc.
+
 2012-11-13  Stefan Monnier  <address@hidden>
 
        * emacs-lisp/gv.el (gv-define-simple-setter): One more fix (bug#12871).

=== modified file 'lisp/progmodes/ruby-mode.el'
--- a/lisp/progmodes/ruby-mode.el       2012-11-13 02:25:59 +0000
+++ b/lisp/progmodes/ruby-mode.el       2012-11-13 03:07:09 +0000
@@ -1551,7 +1551,8 @@
           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
    '("\\(^\\|[^_:address@hidden|\\.\\.\\)\\b\\(nil\\|self\\|true\\|false\\)\\>"
      2 font-lock-variable-name-face)

=== modified file 'test/ChangeLog'
--- a/test/ChangeLog    2012-11-12 20:43:43 +0000
+++ b/test/ChangeLog    2012-11-13 03:07:09 +0000
@@ -1,3 +1,8 @@
+2012-11-13  Dmitry Gutov  <address@hidden>
+
+       * automated/ruby-mode-tests.el (ruby-heredoc-font-lock)
+       (ruby-singleton-class-no-heredoc-font-lock): New tests.
+
 2012-11-12  Stefan Monnier  <address@hidden>
 
        * automated/advice-tests.el: New tests.

=== modified file 'test/automated/ruby-mode-tests.el'
--- a/test/automated/ruby-mode-tests.el 2012-11-12 01:11:06 +0000
+++ b/test/automated/ruby-mode-tests.el 2012-11-13 03:07:09 +0000
@@ -76,6 +76,14 @@
   (ruby-assert-state "foo <<asd\n" 3 ?\n)
   (ruby-assert-state "class <<asd\n" 3 nil))
 
+(ert-deftest ruby-heredoc-font-lock ()
+  (let ((s "foo <<eos.gsub('^ *', '')"))
+    (ruby-assert-face s 9 'font-lock-string-face)
+    (ruby-assert-face s 10 nil)))
+
+(ert-deftest ruby-singleton-class-no-heredoc-font-lock ()
+  (ruby-assert-face "class<<a" 8 nil))
+
 (ert-deftest ruby-deep-indent ()
   (let ((ruby-deep-arglist nil)
         (ruby-deep-indent-paren '(?\( ?\{ ?\[ ?\] t)))


reply via email to

[Prev in Thread] Current Thread [Next in Thread]