]> git.eshelyaron.com Git - emacs.git/commitdiff
Add prefix to help.el uni-confusable* vars
authorNoam Postavsky <npostavs@gmail.com>
Fri, 13 Dec 2019 11:36:02 +0000 (06:36 -0500)
committerNoam Postavsky <npostavs@gmail.com>
Fri, 13 Dec 2019 11:41:05 +0000 (06:41 -0500)
* lisp/help.el (help-uni-confusables, help-uni-confusables-regexp):
Rename from uni-confusable and uni-confusables-regexp, respectively.
(help-uni-confusable-suggestions): Use ngettext.  Use new variable
name.
* lisp/emacs-lisp/lisp-mode.el (lisp--match-confusable-symbol-character):
Use new variable name.

lisp/emacs-lisp/lisp-mode.el
lisp/help.el

index 56f8ef636822f216d06be9d80d492138e25c077e..1da2b7943173e4b9f3123336642f6b63f43cec2d 100644 (file)
@@ -284,7 +284,7 @@ This will generate compile-time constants from BINDINGS."
   ;; Match a confusable character within a Lisp symbol.
   (catch 'matched
     (while t
-      (if (re-search-forward uni-confusables-regexp limit t)
+      (if (re-search-forward help-uni-confusables-regexp limit t)
           ;; Skip confusables which are backslash escaped, or inside
           ;; strings or comments.
           (save-match-data
index 8bb942abf4f05b93c1bc50c25aadea7f7e843130..857064cdda206675b4efd687ea2981eb06f2b574 100644 (file)
@@ -1511,7 +1511,7 @@ the same names as used in the original source code, when possible."
 
 ;; Just some quote-like characters for now.  TODO: generate this stuff
 ;; from official Unicode data.
-(defconst uni-confusables
+(defconst help-uni-confusables
   '((#x2018 . "'") ;; LEFT SINGLE QUOTATION MARK
     (#x2019 . "'") ;; RIGHT SINGLE QUOTATION MARK
     (#x201B . "'") ;; SINGLE HIGH-REVERSED-9 QUOTATION MARK
@@ -1521,25 +1521,32 @@ the same names as used in the original source code, when possible."
     (#x301E . "\"") ;; DOUBLE PRIME QUOTATION MARK
     (#xFF02 . "'") ;; FULLWIDTH QUOTATION MARK
     (#xFF07 . "'") ;; FULLWIDTH APOSTROPHE
-    ))
+    )
+  "An alist of confusable characters to give hints about.
+Each alist element is of the form (CHAR . REPLACEMENT), where
+CHAR is the potentially confusable character, and REPLACEMENT is
+the suggested string to use instead.  See
+`help-uni-confusable-suggestions'.")
 
-(defconst uni-confusables-regexp
-  (concat "[" (mapcar #'car uni-confusables) "]"))
+(defconst help-uni-confusables-regexp
+  (concat "[" (mapcar #'car help-uni-confusables) "]")
+  "Regexp matching any character listed in `help-uni-confusables'.")
 
 (defun help-uni-confusable-suggestions (string)
   "Return a message describing confusables in STRING."
   (let ((i 0)
         (confusables nil))
-    (while (setq i (string-match uni-confusables-regexp string i))
-      (let ((replacement (alist-get (aref string i) uni-confusables)))
+    (while (setq i (string-match help-uni-confusables-regexp string i))
+      (let ((replacement (alist-get (aref string i) help-uni-confusables)))
         (push (aref string i) confusables)
         (setq string (replace-match replacement t t string))
         (setq i (+ i (length replacement)))))
     (when confusables
       (format-message
-       (if (> (length confusables) 1)
-           "Found confusable characters: %s; perhaps you meant: `%s'?"
-         "Found confusable character: %s, perhaps you meant: `%s'?")
+       (ngettext
+        "Found confusable character: %s, perhaps you meant: `%s'?"
+        "Found confusable characters: %s; perhaps you meant: `%s'?"
+        (length confusables))
        (mapconcat (lambda (c) (format-message "`%c'" c))
                   confusables ", ")
        string))))