mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-11 00:30:17 -08:00
Warn about missing backslashes during load
* src/lread.c (load_warn_unescaped_character_literals, Fload, read1) (syms_of_lread): Warn if unescaped character literals are found (Bug#20152). * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Check for unescaped character literals during byte compilation. * test/src/lread-tests.el (lread-tests--unescaped-char-literals): New unit test. (lread-tests--with-temp-file, lread-tests--last-message): Helper functions for unit test. * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--unescaped-char-literals): New unit test. * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--with-temp-file): Helper macro for unit test.
This commit is contained in:
parent
b72e36047c
commit
c2bbdc3316
4 changed files with 96 additions and 0 deletions
|
|
@ -2027,12 +2027,19 @@ With argument ARG, insert value in current buffer after the form."
|
|||
(setq byte-compile-read-position (point)
|
||||
byte-compile-last-position byte-compile-read-position)
|
||||
(let* ((old-style-backquotes nil)
|
||||
(lread--unescaped-character-literals nil)
|
||||
(form (read inbuffer)))
|
||||
;; Warn about the use of old-style backquotes.
|
||||
(when old-style-backquotes
|
||||
(byte-compile-warn "!! The file uses old-style backquotes !!
|
||||
This functionality has been obsolete for more than 10 years already
|
||||
and will be removed soon. See (elisp)Backquote in the manual."))
|
||||
(when lread--unescaped-character-literals
|
||||
(byte-compile-warn
|
||||
"unescaped character literals %s detected!"
|
||||
(mapconcat #'string
|
||||
(sort lread--unescaped-character-literals #'<)
|
||||
", ")))
|
||||
(byte-compile-toplevel-file-form form)))
|
||||
;; Compile pending forms at end of file.
|
||||
(byte-compile-flush-pending)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue