summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoam Postavsky <npostavs@gmail.com>2019-12-13 06:36:02 -0500
committerNoam Postavsky <npostavs@gmail.com>2019-12-13 06:41:05 -0500
commit966abdba09214813a86979f22bfb08475a73f10c (patch)
treef48c52b9796f38fa374a392d6f2021e9bcb23442
parentdd3f2130cf2977cff79101e72cff0b433df1c1c6 (diff)
downloademacs-966abdba09214813a86979f22bfb08475a73f10c.tar.gz
emacs-966abdba09214813a86979f22bfb08475a73f10c.tar.bz2
emacs-966abdba09214813a86979f22bfb08475a73f10c.zip
Add prefix to help.el uni-confusable* vars
* 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.
-rw-r--r--lisp/emacs-lisp/lisp-mode.el2
-rw-r--r--lisp/help.el25
2 files changed, 17 insertions, 10 deletions
diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el
index 56f8ef63682..1da2b794317 100644
--- a/lisp/emacs-lisp/lisp-mode.el
+++ b/lisp/emacs-lisp/lisp-mode.el
@@ -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
diff --git a/lisp/help.el b/lisp/help.el
index 8bb942abf4f..857064cdda2 100644
--- a/lisp/help.el
+++ b/lisp/help.el
@@ -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))))