diff options
| author | Dmitry Gutov | 2014-03-27 08:53:13 +0200 |
|---|---|---|
| committer | Dmitry Gutov | 2014-03-27 08:53:13 +0200 |
| commit | 42ebc34ea8f93efe5b23c0124691207f32055666 (patch) | |
| tree | 5e4af15b8b2b09e19b815fbac41e39adcbdc4bb0 | |
| parent | 857ba6ec4622ba658788b8cd5805e8e9e8a5db16 (diff) | |
| download | emacs-42ebc34ea8f93efe5b23c0124691207f32055666.tar.gz emacs-42ebc34ea8f93efe5b23c0124691207f32055666.zip | |
Fix bug#17097
* lisp/progmodes/ruby-mode.el (ruby-syntax-propertize-function):
Don't propertize `?' or `!' as symbol constituent when after
colon.
| -rw-r--r-- | lisp/ChangeLog | 6 | ||||
| -rw-r--r-- | lisp/progmodes/ruby-mode.el | 1 | ||||
| -rw-r--r-- | test/indent/ruby.rb | 5 |
3 files changed, 12 insertions, 0 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index cb256740a03..ff76cadf945 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,9 @@ | |||
| 1 | 2014-03-27 Dmitry Gutov <dgutov@yandex.ru> | ||
| 2 | |||
| 3 | * progmodes/ruby-mode.el (ruby-syntax-propertize-function): | ||
| 4 | Don't propertize `?' or `!' as symbol constituent when after | ||
| 5 | colon. (Bug#17097) | ||
| 6 | |||
| 1 | 2014-03-27 Juanma Barranquero <lekktu@gmail.com> | 7 | 2014-03-27 Juanma Barranquero <lekktu@gmail.com> |
| 2 | 8 | ||
| 3 | * frameset.el (frameset--restore-frame): Remove workaround for bug#14795 | 9 | * frameset.el (frameset--restore-frame): Remove workaround for bug#14795 |
diff --git a/lisp/progmodes/ruby-mode.el b/lisp/progmodes/ruby-mode.el index 2b8f2fa6868..7219221d4e7 100644 --- a/lisp/progmodes/ruby-mode.el +++ b/lisp/progmodes/ruby-mode.el | |||
| @@ -1812,6 +1812,7 @@ It will be properly highlighted even when the call omits parens.") | |||
| 1812 | ("[!?]" | 1812 | ("[!?]" |
| 1813 | (0 (unless (save-excursion | 1813 | (0 (unless (save-excursion |
| 1814 | (or (nth 8 (syntax-ppss (match-beginning 0))) | 1814 | (or (nth 8 (syntax-ppss (match-beginning 0))) |
| 1815 | (eq (char-before) ?:) | ||
| 1815 | (let (parse-sexp-lookup-properties) | 1816 | (let (parse-sexp-lookup-properties) |
| 1816 | (zerop (skip-syntax-backward "w_"))) | 1817 | (zerop (skip-syntax-backward "w_"))) |
| 1817 | (memq (preceding-char) '(?@ ?$)))) | 1818 | (memq (preceding-char) '(?@ ?$)))) |
diff --git a/test/indent/ruby.rb b/test/indent/ruby.rb index 99482433145..fb341ee7ba6 100644 --- a/test/indent/ruby.rb +++ b/test/indent/ruby.rb | |||
| @@ -148,6 +148,11 @@ if something == :== | |||
| 148 | ) | 148 | ) |
| 149 | end | 149 | end |
| 150 | 150 | ||
| 151 | # Bug#17097 | ||
| 152 | if x == :!= | ||
| 153 | something | ||
| 154 | end | ||
| 155 | |||
| 151 | # Example from http://www.ruby-doc.org/docs/ProgrammingRuby/html/language.html | 156 | # Example from http://www.ruby-doc.org/docs/ProgrammingRuby/html/language.html |
| 152 | d = 4 + 5 + # no '\' needed | 157 | d = 4 + 5 + # no '\' needed |
| 153 | 6 + 7 | 158 | 6 + 7 |