• Noam Postavsky's avatar
    Improve errors & warnings due to fancy quoted vars (Bug#32939) · b2790db0
    Noam Postavsky authored
    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.
    b2790db0