summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/smie.el
diff options
context:
space:
mode:
authorMattias EngdegÄrd <mattiase@acm.org>2022-06-01 11:39:44 +0200
committerMattias EngdegÄrd <mattiase@acm.org>2022-06-01 19:47:30 +0200
commitc50718dcfa54293b695f8a3fa5cd4d77848ee084 (patch)
treeff0c224f50af5365e7fc3cb03c7cab5011eca50f /lisp/emacs-lisp/smie.el
parent84e122dc9676f1bcf36db62f313b0343a073982b (diff)
downloademacs-c50718dcfa54293b695f8a3fa5cd4d77848ee084.tar.gz
emacs-c50718dcfa54293b695f8a3fa5cd4d77848ee084.tar.bz2
emacs-c50718dcfa54293b695f8a3fa5cd4d77848ee084.zip
Fix reader char escape bugs (bug#55738)
Make the character literal ?\LF (linefeed) generate 10, not -1. Ensure that Control escape sequences in character literals are idempotent: ?\C-\C-a and ?\^\^a mean the same thing as ?\C-a and ?\^a, generating the control character with value 1. "\C-\C-a" no longer signals an error. * src/lread.c (read_escape): Make nonrecursive and only combine the base char with modifiers at the end, creating control chars if applicable. Remove the `stringp` argument; assume character literal syntax. Never return -1. (read_string_literal): Handle string-specific escape semantics here and simplify. * test/src/lread-tests.el (lread-misc-2): New test.
Diffstat (limited to 'lisp/emacs-lisp/smie.el')
0 files changed, 0 insertions, 0 deletions