aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitry Gutov2014-03-27 08:53:13 +0200
committerDmitry Gutov2014-03-27 08:53:13 +0200
commit42ebc34ea8f93efe5b23c0124691207f32055666 (patch)
tree5e4af15b8b2b09e19b815fbac41e39adcbdc4bb0
parent857ba6ec4622ba658788b8cd5805e8e9e8a5db16 (diff)
downloademacs-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/ChangeLog6
-rw-r--r--lisp/progmodes/ruby-mode.el1
-rw-r--r--test/indent/ruby.rb5
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 @@
12014-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
12014-03-27 Juanma Barranquero <lekktu@gmail.com> 72014-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 )
149end 149end
150 150
151# Bug#17097
152if x == :!=
153 something
154end
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
152d = 4 + 5 + # no '\' needed 157d = 4 + 5 + # no '\' needed
153 6 + 7 158 6 + 7