diff options
author | Mattias EngdegÄrd <mattiase@acm.org> | 2022-06-01 11:39:44 +0200 |
---|---|---|
committer | Mattias EngdegÄrd <mattiase@acm.org> | 2022-06-01 19:47:30 +0200 |
commit | c50718dcfa54293b695f8a3fa5cd4d77848ee084 (patch) | |
tree | ff0c224f50af5365e7fc3cb03c7cab5011eca50f /lisp/emacs-lisp/smie.el | |
parent | 84e122dc9676f1bcf36db62f313b0343a073982b (diff) | |
download | emacs-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