emacs/lisp/progmodes
Alan Mackenzie c4d34d24e3 CC Mode: Enhance C++ Mode raw strings to multi-line strings for any language
* lisp/progmodes/cc-defs.el (cadar, caddr, cdddr): Add defsubsts for these for
when they are missing from the host Emacs.
(c-point): Add new `position' 'boll "beginning of logical line".
(c-clear-char-properties): Return the position of the lowest removed
property.

* lisp/progmodes/cc-engine.el (c-full-pp-to-literal): Fix for rare case where
LIMIT < START in parse-partial-sexp.
(c-old-beg-rs, c-old-end-rs, c-raw-string-end-delim-disrupted)
(c-raw-string-pos, c-raw-string-in-end-delim, c-depropertize-raw-string)
(c-depropertize-raw-strings-in-region, c-before-change-check-raw-strings)
(c-propertize-raw-string-id, c-propertize-raw-string-opener): Old functions
and variables removed or renamed "raw" -> "ml" and adapted.
(c-old-beg-ml, c-old-1-beg-ml, c-old-end-ml, c-beg-pos, c-end-pos)
(c-ml-string-end-delim-disrupted, c-depropertize-ml-string-delims)
(c-ml-string-delims-around-point,c-position-wrt-ml-delims)
(c-before-change-check-ml-strings, c-after-change-unmark-ml-strings)
(c-maybe-re-mark-ml-string, c-propertize-ml-string-id)
(c-propertize-ml-string-opener, c-depropertize-ml-string)
(c-depropertize-ml-strings-in-region): New functions and variables adapted and
possibly renamed from "raw" -> "ml".
(c-ml-string-make-closer-re, c-ml-string-make-opener-re)
(c-c++-make-ml-string-closer-re, c-c++-make-ml-string-opener-re)
(c-get-ml-closer, c-ml-string-opener-around-point)
(c-ml-string-opener-intersects-region, c-ml-string-opener-at-or-around-point)
(c-ml-string-back-to-neutral, c-ml-string-in-end-delim, c-neutralize-pos)
(c-neutralized-prop): New functions and variables.

* lisp/progmodes/cc-fonts.el (c-basic-matchers-before): Replace
c-font-lock-raw-strings with c-font-lock-ml-strings.
(c-font-lock-ml-strings): New function taking the place of the old
c-font-lock-ml-strings.

* lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): Move
c-depropertize-CPP to the second item of the C++ entry, and replace
c-before-change-check-raw-strings by c-before-change-check-ml-strings.  Add a
new entry for Pike Mode.
(c-before-font-lock-functions): (Replace c-after-change-unmark-raw-strings by
c-after-change-unmark-ml-strings in the C++ entry, and add a new entry for
Pike Mode.
(c-ml-string-backslash-escapes, c-ml-string-non-punc-skip-chars)
(c-ml-string-opener-re, c-ml-string-max-opener-len, c-ml-string-any-closer-re)
(c-ml-string-max-closer-len, c-ml-string-max-closer-len-no-leader)
(c-ml-string-back-closer-re, c-make-ml-string-closer-re-function)
(c-make-ml-string-opener-re-function, c-ml-string-cpp-or-opener-re)
(c-cpp-or-ml-match-offset): New c-lang-defconsts and c-land-defvars.
(c-multiline-string-start-char): Remove the Pike Mode setting.

* lisp/progmodes/cc-mode.el (c-depropertize-CPP): Test for general ml strings
rather than C++ raw strings.
(c-unescaped-nls-in-string-p): Handle languages with ml strings.
(c-clear-string-fences): Fix bug with wrong parenthesisation.
(c-before-change-check-unbalanced-strings)
(c-after-change-mark-abnormal-strings, c-after-change-escape-NL-in-string):
Adapt for multi-line strings.
2021-08-12 19:04:28 +00:00
..
antlr-mode.el Convert many more links to use HTTPS 2021-03-24 10:20:18 +01:00
asm-mode.el
autoconf.el
bat-mode.el
bug-reference.el Fix bug-reference.el compilation warning 2021-07-21 13:15:05 +02:00
cc-align.el Convert CC Mode to lexical binding in Emacs 2021-04-10 19:20:14 +00:00
cc-awk.el ; Normalize and add missing first and last lines 2021-04-19 12:21:01 +02:00
cc-bytecomp.el Merge remote-tracking branch 'savannah/master' into native-comp 2021-04-19 18:46:50 +02:00
cc-cmds.el CC Mode: Put debug specs inside declare forms. Add missing debug specs. 2021-04-15 10:11:20 +00:00
cc-defs.el CC Mode: Enhance C++ Mode raw strings to multi-line strings for any language 2021-08-12 19:04:28 +00:00
cc-engine.el CC Mode: Enhance C++ Mode raw strings to multi-line strings for any language 2021-08-12 19:04:28 +00:00
cc-fonts.el CC Mode: Enhance C++ Mode raw strings to multi-line strings for any language 2021-08-12 19:04:28 +00:00
cc-guess.el ; Fix typos: emacs lisp -> Emacs Lisp 2021-04-16 14:54:02 +02:00
cc-langs.el CC Mode: Enhance C++ Mode raw strings to multi-line strings for any language 2021-08-12 19:04:28 +00:00
cc-menus.el Convert CC Mode to lexical binding in Emacs 2021-04-10 19:20:14 +00:00
cc-mode.el CC Mode: Enhance C++ Mode raw strings to multi-line strings for any language 2021-08-12 19:04:28 +00:00
cc-styles.el ; Fix some typos in doc strings and manuals 2021-04-24 18:26:07 +02:00
cc-vars.el Convert CC Mode to lexical binding in Emacs 2021-04-10 19:20:14 +00:00
cfengine.el * lisp/progmodes/cfengine.el: Use lexical-binding 2021-04-01 18:16:52 -04:00
cl-font-lock.el
cmacexp.el Merge from origin/emacs-27 2021-07-04 00:14:47 -04:00
compile.el ; compilation-error-regexp-alist-alist): eval-when-compile 2021-07-31 23:44:17 +02:00
cperl-mode.el Fix highlighting in cperl-mode for "for /regex/" 2021-06-24 18:15:07 +02:00
cpp.el
cwarn.el * lisp/progmodes/cwarn.el: Use lexical-binding. 2021-03-31 00:07:03 +02:00
dcl-mode.el * lisp/progmodes/dcl-mode.el: Clarify what is meant by DCL 2021-04-01 17:23:55 -04:00
ebnf-abn.el Convert many more links to use HTTPS 2021-03-24 10:20:18 +01:00
ebnf-bnf.el * lisp/progmodes/ebnf-*.el: Use lexical-binding 2021-03-23 22:38:41 -04:00
ebnf-dtd.el * lisp/progmodes/ebnf-*.el: Use lexical-binding 2021-03-23 22:38:41 -04:00
ebnf-ebx.el * lisp/progmodes/ebnf-*.el: Use lexical-binding 2021-03-23 22:38:41 -04:00
ebnf-iso.el Convert many more links to use HTTPS 2021-03-24 10:20:18 +01:00
ebnf-otz.el * lisp/progmodes/ebnf-*.el: Use lexical-binding 2021-03-23 22:38:41 -04:00
ebnf-yac.el Remove redundant #' before lambda in progmodes/*.el 2021-04-01 16:26:44 +02:00
ebnf2ps.el Use string-search instead of string-match[-p] 2021-08-09 11:35:56 +02:00
ebrowse.el Avoid lowering gc-cons-threshold 2021-04-22 04:11:02 +02:00
elisp-mode.el Evaluate eql specializers 2021-08-03 18:26:15 -04:00
etags.el Improve wording of recently changed documentation 2021-08-06 10:22:22 +03:00
executable.el Use lexical-binding in executable.el and add tests 2021-04-01 19:55:32 +02:00
f90.el
flymake-cc.el
flymake-proc.el
flymake.el * lisp/progmodes/flymake.el (flymake--mode-line-title): Don't quote lambda 2021-08-01 18:08:01 -04:00
fortran.el Fix double (recursive) load of fortran.el 2021-06-12 14:44:54 +02:00
gdb-mi.el Use string-search instead of string-match[-p] 2021-08-09 11:35:56 +02:00
glasses.el ; Remove some useless comments 2021-04-16 14:54:02 +02:00
grep.el More robust auto-detect of grep-highlight-matches (bug#49978) 2021-08-10 17:13:35 +02:00
gud.el Use string-search instead of string-match[-p] 2021-08-09 11:35:56 +02:00
hideif.el ; * lisp/progmodes/hideif.el (hif-unicode-prefix-regexp): Stray \. 2021-06-16 09:57:27 +02:00
hideshow.el Make hs-set-up-overlay into user option 2021-05-25 22:31:00 +02:00
icon.el Use lexical-binding in progmodes/icon.el 2021-02-27 03:24:51 +01:00
idlw-complete-structtag.el * list/progmodes/idl*.el: Use lexical-binding 2021-03-24 17:11:05 -04:00
idlw-help.el Use string-search instead of string-match[-p] 2021-08-09 11:35:56 +02:00
idlw-shell.el Use string-search instead of string-match[-p] 2021-08-09 11:35:56 +02:00
idlw-toolbar.el * list/progmodes/idl*.el: Use lexical-binding 2021-03-24 17:11:05 -04:00
idlwave.el Use string-search instead of string-match[-p] 2021-08-09 11:35:56 +02:00
inf-lisp.el Allow using spaces in `inferior-lisp' command names 2021-07-15 10:33:22 +02:00
js.el * lisp/progmodes/js.el (js--make-framework-matcher): Use a closure 2021-05-18 20:30:08 -04:00
ld-script.el
m4-mode.el
make-mode.el Use string-replace instead of replace-regexp-in-string 2021-08-08 19:25:26 +02:00
meta-mode.el ; Remove some useless comments 2021-04-16 14:54:02 +02:00
mixal-mode.el
modula2.el Fix infloop in Modula-2 mode 2021-05-25 06:18:29 +02:00
octave.el Use string-search instead of string-match[-p] 2021-08-09 11:35:56 +02:00
opascal.el * lisp/font-lock.el: Fix font-lock-comment-end-skip fallback (bug#34088) 2021-05-11 13:19:50 -04:00
pascal.el
perl-mode.el perl-mode: fix variable fontification 2021-08-07 12:37:47 +02:00
prog-mode.el
project.el project.el: Bump the version 2021-08-08 14:13:49 +03:00
prolog.el Use string-replace instead of replace-regexp-in-string 2021-08-08 19:25:26 +02:00
ps-mode.el * lisp/progmodes/ps-mode.el: Use lexical-binding 2021-04-06 14:05:58 -04:00
python.el Add new user option python-forward-sexp-function 2021-07-31 18:44:02 +02:00
ruby-mode.el Use string-replace instead of replace-regexp-in-string 2021-08-08 19:25:26 +02:00
scheme.el Fix font and indentation of call-with-port in scheme-mode 2021-05-25 22:22:28 +02:00
sh-script.el Use ### for outline headings in shell-script-mode 2021-08-10 18:21:15 +02:00
simula.el * lisp/progmodes/simula.el: Use lexical-binding 2021-04-02 19:51:41 -04:00
sql.el Use string-search instead of string-match[-p] 2021-08-09 11:35:56 +02:00
subword.el
tcl.el Replace "(default %s)" with 'format-prompt' 2021-03-24 10:31:31 +01:00
vera-mode.el Convert many more links to use HTTPS 2021-03-24 10:20:18 +01:00
verilog-mode.el Remove ineffective expression in verilog-mode 2021-08-03 15:55:55 +02:00
vhdl-mode.el * lisp/progmodes/vhdl-mode.el: Add note about XEmacs compatibility 2021-04-12 10:46:07 -04:00
which-func.el Use string-replace instead of replace-regexp-in-string 2021-08-08 19:25:26 +02:00
xref.el Provide a default for xref-find-apropos pattern 2021-08-06 03:02:13 +03:00
xscheme.el Use string-search instead of string-match[-p] 2021-08-09 11:35:56 +02:00