From c2d6c639cf2bfdb7564bcb8706ac45b0d18dc895 Mon Sep 17 00:00:00 2001 From: Dmitry Gutov Date: Mon, 24 Mar 2014 10:53:56 +0200 Subject: [PATCH] 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 --- lisp/ChangeLog | 8 ++++++++ lisp/progmodes/ruby-mode.el | 6 +++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index f0705e5edd..029cbaa8d9 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,11 @@ +2014-03-24 Dmitry Gutov + + * 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 * simple.el (redisplay-highlight-region-function): Increase priority of diff --git a/lisp/progmodes/ruby-mode.el b/lisp/progmodes/ruby-mode.el index e05aef80e8..2b8f2fa686 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. -- 2.20.1