diff options
| author | Dmitry Gutov | 2012-11-13 07:07:09 +0400 |
|---|---|---|
| committer | Dmitry Gutov | 2012-11-13 07:07:09 +0400 |
| commit | f178c32dd1f7dd6172e3088a49ebd6d36cd8ce0e (patch) | |
| tree | d3d47b97e0d1f417e4819295262d345b4c9410a4 | |
| parent | 413d4689c0c3f616856615ac7b8bb047c5f2febd (diff) | |
| download | emacs-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/ChangeLog | 5 | ||||
| -rw-r--r-- | lisp/progmodes/ruby-mode.el | 3 | ||||
| -rw-r--r-- | test/ChangeLog | 5 | ||||
| -rw-r--r-- | test/automated/ruby-mode-tests.el | 8 |
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 | ||
| 17 | 2012-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 | |||
| 17 | 2012-11-13 Stefan Monnier <monnier@iro.umontreal.ca> | 22 | 2012-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 @@ | |||
| 1 | 2012-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 | |||
| 1 | 2012-11-12 Stefan Monnier <monnier@iro.umontreal.ca> | 6 | 2012-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))) |