diff options
| author | Noam Postavsky <npostavs@gmail.com> | 2018-03-10 18:12:55 -0500 |
|---|---|---|
| committer | Noam Postavsky <npostavs@gmail.com> | 2019-11-28 18:10:07 -0500 |
| commit | b2790db049da98b541d07bac21ca7d7c220d3be0 (patch) | |
| tree | 61aba17be4946bf84dc0dd57b1d7157b88725c83 /doc/lispref/objects.texi | |
| parent | 85f586f3ce5c6d9598d345440fd57e0fc9b8d98b (diff) | |
| download | emacs-b2790db049da98b541d07bac21ca7d7c220d3be0.tar.gz | |
Improve errors & warnings due to fancy quoted vars (Bug#32939)
Add some hints to the message for byte compiler free & unused variable
warnings, and 'void-variable' errors where the variable has confusable
quote characters in it.
* lisp/help.el (uni-confusables), uni-confusables-regexp): New
constants.
(help-command-error-confusable-suggestions): New function, added to
`command-error-function'.
(help-uni-confusable-suggestions): New function.
* lisp/emacs-lisp/bytecomp.el (byte-compile-variable-ref):
* lisp/emacs-lisp/cconv.el (cconv--analyze-use): Use it.
* lisp/emacs-lisp/lisp-mode.el
(lisp--match-confusable-symbol-character): New function.
(lisp-fdefs): Use it to fontify confusable characters with
font-lock-warning-face when they occur in symbol names.
* doc/lispref/modes.texi (Faces for Font Lock):
* doc/lispref/objects.texi (Basic Char Syntax): Recommend backslash
escaping of confusable characters, and mention new fontification.
* etc/NEWS: Announce the new fontification behavior.
* test/lisp/emacs-lisp/lisp-mode-tests.el (lisp-fontify-confusables):
New test.
Diffstat (limited to 'doc/lispref/objects.texi')
| -rw-r--r-- | doc/lispref/objects.texi | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/doc/lispref/objects.texi b/doc/lispref/objects.texi index d9971f6839e..e948814d1f7 100644 --- a/doc/lispref/objects.texi +++ b/doc/lispref/objects.texi @@ -424,7 +424,11 @@ without a special escape meaning; thus, @samp{?\+} is equivalent to characters. However, you must add a backslash before any of the characters @samp{()[]\;"}, and you should add a backslash before any of the characters @samp{|'`#.,} to avoid confusing the Emacs commands -for editing Lisp code. You can also add a backslash before whitespace +for editing Lisp code. You should also add a backslash before Unicode +characters which resemble the previously mentioned @acronym{ASCII} +ones, to avoid confusing people reading your code. Emacs will +highlight some non-escaped commonly confused characters such as +@samp{‘} to encourage this. You can also add a backslash before whitespace characters such as space, tab, newline and formfeed. However, it is cleaner to use one of the easily readable escape sequences, such as @samp{\t} or @samp{\s}, instead of an actual whitespace character such |
