Improve unescaped character literal warnings
* src/lread.c (load_warn_unescaped_character_literals) (syms_of_lread): lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Improve formatting of unescaped character literal warnings. * test/src/lread-tests.el (lread-tests--unescaped-char-literals): test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--unescaped-char-literals): Adapt unit tests.
This commit is contained in:
parent
0e09d00f29
commit
16004397f4
4 changed files with 9 additions and 4 deletions
|
@ -2032,7 +2032,7 @@ 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
|
||||
(mapconcat (lambda (char) (format "`?%c'" char))
|
||||
(sort lread--unescaped-character-literals #'<)
|
||||
", ")))
|
||||
(byte-compile-toplevel-file-form form)))
|
||||
|
|
|
@ -963,9 +963,11 @@ load_warn_unescaped_character_literals (Lisp_Object file)
|
|||
AUTO_STRING (format,
|
||||
"Loading `%s': unescaped character literals %s detected!");
|
||||
AUTO_STRING (separator, ", ");
|
||||
AUTO_STRING (inner_format, "`?%c'");
|
||||
CALLN (Fmessage,
|
||||
format, file,
|
||||
Fmapconcat (Qstring,
|
||||
Fmapconcat (list3 (Qlambda, list1 (Qchar),
|
||||
list3 (Qformat, inner_format, Qchar)),
|
||||
Fsort (Vlread_unescaped_character_literals, Qlss),
|
||||
separator));
|
||||
}
|
||||
|
@ -4855,6 +4857,8 @@ For internal use only. */);
|
|||
"lread--unescaped-character-literals");
|
||||
|
||||
DEFSYM (Qlss, "<");
|
||||
DEFSYM (Qchar, "char");
|
||||
DEFSYM (Qformat, "format");
|
||||
|
||||
DEFVAR_BOOL ("load-prefer-newer", load_prefer_newer,
|
||||
doc: /* Non-nil means `load' prefers the newest version of a file.
|
||||
|
|
|
@ -527,7 +527,8 @@ literals (Bug#20852)."
|
|||
(err (should-error (byte-compile-file source))))
|
||||
(should (equal (cdr err)
|
||||
(list (concat "unescaped character literals "
|
||||
"\", (, ), ;, [, ] detected!"))))))))
|
||||
"`?\"', `?(', `?)', `?;', `?[', `?]' "
|
||||
"detected!"))))))))
|
||||
|
||||
;; Local Variables:
|
||||
;; no-byte-compile: t
|
||||
|
|
|
@ -140,7 +140,7 @@ literals (Bug#20852)."
|
|||
(should (equal (lread-tests--last-message)
|
||||
(concat (format-message "Loading `%s': " file-name)
|
||||
"unescaped character literals "
|
||||
"\", (, ), ;, [, ] detected!")))))
|
||||
"`?\"', `?(', `?)', `?;', `?[', `?]' detected!")))))
|
||||
|
||||
(ert-deftest lread-test-bug26837 ()
|
||||
"Test for http://debbugs.gnu.org/26837 ."
|
||||
|
|
Loading…
Add table
Reference in a new issue