Files
emacs/lisp
Alan Mackenzie 29ec1e4888 Improve C++ raw string fontification.
Integrate the handling of raw string and ordinary string fontification.

* lisp/progmodes/cc-defs.el (c-font-lock-flush)
(c-search-forward-char-property-without-value-on-char): new macros.
(c-point): In the 'eoll arm, check for eobp.
(c-search-forward-char-property-with-value-on-char): Handle the &optional
limit argument being nil.
(c-clear-char-property-with-value-on-char-function)
(c-clear-char-property-with-value-on-char): Return the position of the first
cleared property.

* lisp/progmodes/cc-engine.el (c-find-decl-prefix-search): Don't spuriously
recognize the change of face at a ) as the start of a string (a
"pseudo match").
(c-old-beg-rs c-old-end-rs): New variables.
(c-raw-string-pos): Analyze raw string delimiters more carefully.
(c-raw-string-in-end-delim): New function.
(c-depropertize-raw-string): Largely rewritten.
(c-before-change-check-raw-strings): New functionality: only remove the
syntax-table text properties from raw strings whose delimiters are about to
change.
(c-propertize-raw-string-id): New function.
(c-after-change-re-mark-raw-strings): Remove, incorporating functionality into
other functions.
(c-propertize-raw-string-opener): Largely rewritten.
(c-after-change-re-mark-raw-strings): Removed.
(c-after-change-unmark-raw-strings, c-after-change-unmark-raw-strings): New
functions.

* lisp/progmodes/cc-fonts.el (c-font-lock-raw-strings): Largely rewritten.

* lisp/progmodes/cc-langs.el (c-before-font-lock-functions): Replace
c-after-change-re-mark-unbalanced-strings by
c-after-change-mark-abnormal-strings in the t, c+objc, c++ and java sections.
Add c-after-change-unmark-raw-strings and remove
c-after-change-re-mark-raw-strings from the c++ section.

* lisp/progmodes/cc-mode.el (c-old-BEG c-old-END): Remove.
(c-old-END-literality): New variable.
(c-depropertize-CPP): Remove syntax-table properties from raw strings within
macros.
(c-before-change-check-unbalanced-strings): Call
c-truncate-semi-nonlit-pos-cache to preserve the integrity of the cache.
(c-before-change-check-unbalanced-strings): Call
c-truncate-semi-nonlit-pos-cache, largely rewritten.
(c-after-change-re-mark-unbalanced-strings): Renamed to
c-after-change-mark-abnormal-strings.  Call c-maybe-re-mark-raw-string.
2019-03-27 11:50:53 +00:00
..
2019-03-18 17:02:29 -07:00
2019-03-26 19:07:21 -07:00
2018-12-31 17:57:29 -08:00
2019-03-26 19:07:21 -07:00
2019-03-26 19:07:21 -07:00
2019-03-18 17:02:29 -07:00
2019-03-19 18:47:53 -07:00
2019-03-26 19:07:21 -07:00
2019-03-20 13:47:07 -07:00
2019-03-26 19:07:21 -07:00
2018-12-31 17:57:29 -08:00
2019-03-26 19:07:21 -07:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2019-03-08 09:09:40 -08:00
2019-01-01 01:01:13 +00:00
2019-03-19 18:47:53 -07:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2019-03-09 10:07:46 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2019-01-12 13:51:50 +02:00
2019-01-01 01:01:13 +00:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +00:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +00:00
2019-01-18 07:50:47 -08:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-01-12 14:47:33 -08:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +00:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +00:00
2019-01-28 22:27:22 +02:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +00:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +00:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2019-02-24 08:46:54 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2019-02-07 12:23:09 +03:00
2019-01-06 15:42:57 +01:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-02-10 23:54:35 -08:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +00:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +00:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +00:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2019-03-08 20:00:49 +01:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +00:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2019-01-30 09:12:15 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +00:00
2018-12-31 18:47:22 -08:00
2019-01-01 01:01:13 +00:00
2019-02-01 08:40:53 -08:00
2019-03-10 17:50:09 -07:00
2018-12-31 17:57:29 -08:00
2019-02-01 13:05:39 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2019-03-05 22:15:02 -08:00
2019-01-01 01:01:13 +00:00
2019-02-20 12:07:22 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2019-02-07 12:23:09 +03:00
2019-01-01 01:01:13 +00:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +00:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2019-02-20 12:07:22 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +00:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +00:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2019-03-23 09:55:04 +01:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-03-26 19:07:21 -07:00
2018-12-31 17:57:29 -08:00
2019-03-22 14:38:06 +01:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-03-18 17:02:29 -07:00
2018-12-31 18:47:22 -08:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +00:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +00:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2018-12-31 17:57:29 -08:00
2019-03-26 19:07:21 -07:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +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.