summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Gutov <dgutov@yandex.ru>2014-03-24 10:53:56 +0200
committerDmitry Gutov <dgutov@yandex.ru>2014-03-24 10:53:56 +0200
commitc2d6c639cf2bfdb7564bcb8706ac45b0d18dc895 (patch)
tree4c7a039eb0ea8d39edc55e85cbe268a8086ff6f4
parentf2999a33d0d67867997c66c777e0d6df1076e18d (diff)
downloademacs-c2d6c639cf2bfdb7564bcb8706ac45b0d18dc895.tar.gz
Match special globals in Ruby better
* lisp/progmodes/ruby-mode.el (ruby-expression-expansion-re): Match special global variables without curlies, too. (ruby-font-lock-keywords): Simplify the matcher for special global variables. Don't require a non-word character after the variable. Fixes: debbugs:17057
-rw-r--r--lisp/ChangeLog8
-rw-r--r--lisp/progmodes/ruby-mode.el6
2 files changed, 11 insertions, 3 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index f0705e5edd2..029cbaa8d95 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,11 @@
+2014-03-24 Dmitry Gutov <dgutov@yandex.ru>
+
+ * progmodes/ruby-mode.el (ruby-expression-expansion-re):
+ Match special global variables without curlies, too.
+ (ruby-font-lock-keywords): Simplify the matcher for special global
+ variables. Don't require a non-word character after the variable.
+ (Bug#17057)
+
2014-03-23 Stefan Monnier <monnier@iro.umontreal.ca>
* simple.el (redisplay-highlight-region-function): Increase priority of
diff --git a/lisp/progmodes/ruby-mode.el b/lisp/progmodes/ruby-mode.el
index e05aef80e86..2b8f2fa6868 100644
--- a/lisp/progmodes/ruby-mode.el
+++ b/lisp/progmodes/ruby-mode.el
@@ -106,7 +106,7 @@
"Regexp to match the beginning of a heredoc.")
(defconst ruby-expression-expansion-re
- "\\(?:[^\\]\\|\\=\\)\\(\\\\\\\\\\)*\\(#\\({[^}\n\\\\]*\\(\\\\.[^}\n\\\\]*\\)*}\\|\\(\\$\\|@\\|@@\\)\\(\\w\\|_\\)+\\)\\)"))
+ "\\(?:[^\\]\\|\\=\\)\\(\\\\\\\\\\)*\\(#\\({[^}\n\\\\]*\\(\\\\.[^}\n\\\\]*\\)*}\\|\\(\\$\\|@\\|@@\\)\\(\\w\\|_\\)+\\|\\$[^a-zA-Z \n]\\)\\)"))
(defun ruby-here-doc-end-match ()
"Return a regexp to find the end of a heredoc.
@@ -2113,8 +2113,8 @@ See `font-lock-syntax-table'.")
("\\(^\\|[^:]\\)\\(:\\([-+~]@?\\|[/%&|^`]\\|\\*\\*?\\|<\\(<\\|=>?\\)?\\|>[>=]?\\|===?\\|=~\\|![~=]?\\|\\[\\]=?\\|@?\\(\\w\\|_\\)+\\([!?=]\\|\\b_*\\)\\|#{[^}\n\\\\]*\\(\\\\.[^}\n\\\\]*\\)*}\\)\\)"
2 font-lock-constant-face)
;; Variables.
- ("\\(\\$\\([^a-zA-Z0-9 \n]\\|[0-9]\\)\\)\\W"
- 1 font-lock-variable-name-face)
+ ("\\$[^a-zA-Z \n]"
+ 0 font-lock-variable-name-face)
("\\(\\$\\|@\\|@@\\)\\(\\w\\|_\\)+"
0 font-lock-variable-name-face)
;; Constants.