aboutsummaryrefslogtreecommitdiffstats
path: root/doc/lispref/objects.texi
diff options
context:
space:
mode:
authorNoam Postavsky2018-03-10 18:12:55 -0500
committerNoam Postavsky2019-11-28 18:10:07 -0500
commitb2790db049da98b541d07bac21ca7d7c220d3be0 (patch)
tree61aba17be4946bf84dc0dd57b1d7157b88725c83 /doc/lispref/objects.texi
parent85f586f3ce5c6d9598d345440fd57e0fc9b8d98b (diff)
downloademacs-b2790db049da98b541d07bac21ca7d7c220d3be0.tar.gz
emacs-b2790db049da98b541d07bac21ca7d7c220d3be0.zip
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.texi6
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
424characters. However, you must add a backslash before any of the 424characters. However, you must add a backslash before any of the
425characters @samp{()[]\;"}, and you should add a backslash before any 425characters @samp{()[]\;"}, and you should add a backslash before any
426of the characters @samp{|'`#.,} to avoid confusing the Emacs commands 426of the characters @samp{|'`#.,} to avoid confusing the Emacs commands
427for editing Lisp code. You can also add a backslash before whitespace 427for editing Lisp code. You should also add a backslash before Unicode
428characters which resemble the previously mentioned @acronym{ASCII}
429ones, to avoid confusing people reading your code. Emacs will
430highlight some non-escaped commonly confused characters such as
431@samp{‘} to encourage this. You can also add a backslash before whitespace
428characters such as space, tab, newline and formfeed. However, it is 432characters such as space, tab, newline and formfeed. However, it is
429cleaner to use one of the easily readable escape sequences, such as 433cleaner to use one of the easily readable escape sequences, such as
430@samp{\t} or @samp{\s}, instead of an actual whitespace character such 434@samp{\t} or @samp{\s}, instead of an actual whitespace character such