Files
emacs/lisp
Dmitry Gutov 1a0a0a8a6a * 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.
2013-05-19 10:01:23 +04:00
..
2013-05-15 19:55:41 -04:00
2013-05-15 19:55:41 -04:00
2013-05-15 19:55:41 -04:00
2013-05-15 19:55:41 -04:00
2013-05-15 19:55:41 -04:00
2013-05-15 19:55:41 -04:00
2013-05-15 19:55:41 -04:00
2013-05-15 19:55:41 -04:00
2013-05-15 19:55:41 -04:00
2013-05-15 19:55:41 -04:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-04-01 00:58:04 -07:00
2013-01-01 09:11:05 +00:00
2013-02-21 20:59:28 -05:00
2013-05-18 12:38:35 -07:00
2013-05-15 19:55:41 -04:00
2013-05-15 19:55:41 -04:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-05-11 16:41:52 -07:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-05-15 19:55:41 -04:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-05-10 19:27:28 -07:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-02-16 00:49:29 +05:30
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-02-28 12:15:08 -05:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-05-15 19:55:41 -04:00
2013-01-01 09:11:05 +00:00
2013-05-01 06:17:34 -04:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-05-16 12:58:56 +03:00
2013-05-10 19:21:29 -07:00
2013-01-01 09:11:05 +00:00
2013-05-01 20:47:50 +03:00
2013-01-01 09:11:05 +00:00
2013-05-15 19:55:41 -04:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-05-15 19:55:41 -04:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-05-15 19:55:41 -04:00
2013-04-09 18:22:15 -07:00
2013-01-01 09:11:05 +00:00
2013-03-11 22:08:21 -04:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-03-11 22:08:21 -04:00
2013-05-15 19:55:41 -04:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-03-11 22:08:21 -04:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-02-10 17:50:45 -08:00
2013-05-15 19:55:41 -04:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00
2013-01-01 09:11:05 +00:00

This directory contains source code for the parts of Emacs that are
written in Emacs Lisp.  *.el files are Emacs Lisp source, and the
corresponding *.elc files are byte-compiled versions.  Byte-compiled
files are architecture-independent.

The term subdirectory contains Lisp files that customize Emacs for
certain terminal types.  When Emacs starts, it checks the TERM
environment variable to get the terminal type and loads
`term/${TERM}.el' if it exists.

The other subdirectories hold Lisp packages grouped by their general
purpose.