summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/lisp-mnt.el
diff options
context:
space:
mode:
authorDmitry Gutov <dgutov@yandex.ru>2013-05-19 10:01:23 +0400
committerDmitry Gutov <dgutov@yandex.ru>2013-05-19 10:01:23 +0400
commit1a0a0a8a6a7c4cb47bb0d9bb5d3efa281cb70546 (patch)
tree9b1f66299f4384ac3bca1bc4044a2548077aacbb /lisp/emacs-lisp/lisp-mnt.el
parentc1a6c0a42021df3d41ba782460965c5cc0ae902c (diff)
downloademacs-1a0a0a8a6a7c4cb47bb0d9bb5d3efa281cb70546.tar.gz
emacs-1a0a0a8a6a7c4cb47bb0d9bb5d3efa281cb70546.tar.bz2
emacs-1a0a0a8a6a7c4cb47bb0d9bb5d3efa281cb70546.zip
* lisp/progmodes/ruby-mode.el (ruby-expression-expansion-re): Allow to
start at point, so that expansion starting right after opening slash in a regexp is recognized. (ruby-syntax-before-regexp-re): New defvar, extracted from ruby-syntax-propertize-function. Since the value of this regexp is looked up at runtime now, we should be able to turn `ruby-syntax-methods-before-regexp' into a defcustom later. (ruby-syntax-propertize-function): Split regexp matching into two parts, for opening and closing slashes. That allows us to skip over string interpolations and support multiline regexps. Don't call `ruby-syntax-propertize-expansions', instead use another rule for them, which calls `ruby-syntax-propertize-expansion'. (ruby-syntax-propertize-expansions): Move `remove-text-properties' call to `ruby-syntax-propertize-function'. (ruby-syntax-propertize-expansion): Extracted from `ruby-syntax-propertize-expansions'. Handles one expansion. (ruby-syntax-propertize-heredoc): Explicitly call `ruby-syntax-propertize-expansions'. (ruby-syntax-propertize-percent-literal): Leave point right after the percent symbol, so that the expression expansion rule can propertize the contents. * test/automated/ruby-mode-tests.el (ruby-heredoc-highlights-interpolations) (ruby-regexp-skips-over-interpolation) (ruby-regexp-continues-till-end-when-unclosed) (ruby-regexp-can-be-multiline) (ruby-interpolation-inside-percent-literal): New tests. * test/indent/ruby.rb: Add multiline regexp example.
Diffstat (limited to 'lisp/emacs-lisp/lisp-mnt.el')
0 files changed, 0 insertions, 0 deletions