aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitry Gutov2012-11-13 07:07:09 +0400
committerDmitry Gutov2012-11-13 07:07:09 +0400
commitf178c32dd1f7dd6172e3088a49ebd6d36cd8ce0e (patch)
treed3d47b97e0d1f417e4819295262d345b4c9410a4
parent413d4689c0c3f616856615ac7b8bb047c5f2febd (diff)
downloademacs-f178c32dd1f7dd6172e3088a49ebd6d36cd8ce0e.tar.gz
emacs-f178c32dd1f7dd6172e3088a49ebd6d36cd8ce0e.zip
* 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.
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/progmodes/ruby-mode.el3
-rw-r--r--test/ChangeLog5
-rw-r--r--test/automated/ruby-mode-tests.el8
4 files changed, 20 insertions, 1 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 92f3343db64..d04c42da4f1 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -14,6 +14,11 @@
14 (advice-add): Use them. 14 (advice-add): Use them.
15 (advice-member-p): Correctly handle macros. 15 (advice-member-p): Correctly handle macros.
16 16
172012-11-13 Dmitry Gutov <dgutov@yandex.ru>
18
19 * progmodes/ruby-mode.el (ruby-font-lock-keywords): Never
20 font-lock the beginning of singleton class as heredoc.
21
172012-11-13 Stefan Monnier <monnier@iro.umontreal.ca> 222012-11-13 Stefan Monnier <monnier@iro.umontreal.ca>
18 23
19 * emacs-lisp/gv.el (gv-define-simple-setter): One more fix (bug#12871). 24 * 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 67f25eda288..9d2c6fa51f7 100644
--- a/lisp/progmodes/ruby-mode.el
+++ b/lisp/progmodes/ruby-mode.el
@@ -1551,7 +1551,8 @@ See `font-lock-syntax-table'.")
1551 ruby-keyword-end-re) 1551 ruby-keyword-end-re)
1552 2) 1552 2)
1553 ;; here-doc beginnings 1553 ;; here-doc beginnings
1554 (list ruby-here-doc-beg-re 0 'font-lock-string-face) 1554 `(,ruby-here-doc-beg-re 0 (unless (ruby-singleton-class-p (match-beginning 0))
1555 'font-lock-string-face))
1555 ;; variables 1556 ;; variables
1556 '("\\(^\\|[^_:.@$]\\|\\.\\.\\)\\b\\(nil\\|self\\|true\\|false\\)\\>" 1557 '("\\(^\\|[^_:.@$]\\|\\.\\.\\)\\b\\(nil\\|self\\|true\\|false\\)\\>"
1557 2 font-lock-variable-name-face) 1558 2 font-lock-variable-name-face)
diff --git a/test/ChangeLog b/test/ChangeLog
index 4a9d215aa21..ad136117c1d 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -1,3 +1,8 @@
12012-11-13 Dmitry Gutov <dgutov@yandex.ru>
2
3 * automated/ruby-mode-tests.el (ruby-heredoc-font-lock)
4 (ruby-singleton-class-no-heredoc-font-lock): New tests.
5
12012-11-12 Stefan Monnier <monnier@iro.umontreal.ca> 62012-11-12 Stefan Monnier <monnier@iro.umontreal.ca>
2 7
3 * automated/advice-tests.el: New tests. 8 * automated/advice-tests.el: New tests.
diff --git a/test/automated/ruby-mode-tests.el b/test/automated/ruby-mode-tests.el
index 8da0041e9a4..741692a07f7 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."
76 (ruby-assert-state "foo <<asd\n" 3 ?\n) 76 (ruby-assert-state "foo <<asd\n" 3 ?\n)
77 (ruby-assert-state "class <<asd\n" 3 nil)) 77 (ruby-assert-state "class <<asd\n" 3 nil))
78 78
79(ert-deftest ruby-heredoc-font-lock ()
80 (let ((s "foo <<eos.gsub('^ *', '')"))
81 (ruby-assert-face s 9 'font-lock-string-face)
82 (ruby-assert-face s 10 nil)))
83
84(ert-deftest ruby-singleton-class-no-heredoc-font-lock ()
85 (ruby-assert-face "class<<a" 8 nil))
86
79(ert-deftest ruby-deep-indent () 87(ert-deftest ruby-deep-indent ()
80 (let ((ruby-deep-arglist nil) 88 (let ((ruby-deep-arglist nil)
81 (ruby-deep-indent-paren '(?\( ?\{ ?\[ ?\] t))) 89 (ruby-deep-indent-paren '(?\( ?\{ ?\[ ?\] t)))