1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-06 06:20:55 -08:00

Make textsec descriptive texts more user-friendly

* lisp/international/textsec.el (textsec-domain-suspicious-p)
(textsec-local-address-suspicious-p, textsec-name-suspicious-p)
(textsec-suspicious-nonspacing-p): Clarify descriptive texts.
This commit is contained in:
Eli Zaretskii 2025-09-28 15:35:17 +03:00
parent 3f230d8465
commit 38c658de7d

View file

@ -290,7 +290,7 @@ or use certain other unusual mixtures of characters."
(lambda (char) (lambda (char)
(when (eq (elt idna-mapping-table char) t) (when (eq (elt idna-mapping-table char) t)
(throw 'found (throw 'found
(format "Disallowed character%s (#x%x, %s)" (format "Disallowed character in domain%s (#x%x, %s)"
(if (eq (get-char-code-property char 'general-category) (if (eq (get-char-code-property char 'general-category)
'Cf) 'Cf)
"" ""
@ -308,7 +308,8 @@ or use certain other unusual mixtures of characters."
;; an ASCII-only segment. ;; an ASCII-only segment.
(dolist (elem (split-string domain "\\.")) (dolist (elem (split-string domain "\\."))
(when (textsec-ascii-confusable-p elem) (when (textsec-ascii-confusable-p elem)
(throw 'found (format "`%s' is confusable with ASCII" elem)))) (throw 'found (format "`%s' includes characters confusable with ASCII"
elem))))
nil)) nil))
(defun textsec-local-address-suspicious-p (local) (defun textsec-local-address-suspicious-p (local)
@ -323,14 +324,14 @@ that can look similar to other characters when displayed, or use
certain other unusual mixtures of characters." certain other unusual mixtures of characters."
(cond (cond
((not (equal local (ucs-normalize-NFKC-string local))) ((not (equal local (ucs-normalize-NFKC-string local)))
(format "`%s' is not in normalized format `%s'" (format "`%s' is not in normalized form `%s', its display might deceive"
local (ucs-normalize-NFKC-string local))) local (ucs-normalize-NFKC-string local)))
((textsec-mixed-numbers-p local) ((textsec-mixed-numbers-p local)
(format "`%s' contains numbers from different number systems" local)) (format "`%s' contains numbers from different number systems" local))
((eq (textsec-restriction-level local) 'unrestricted) ((eq (textsec-restriction-level local) 'unrestricted)
(format "`%s' isn't restrictive enough" local)) (format "`%s' uses characters from too many unusual scripts" local))
((string-match-p "\\`\\.\\|\\.\\'\\|\\.\\." local) ((string-match-p "\\`\\.\\|\\.\\'\\|\\.\\." local)
(format "`%s' contains invalid dots" local)))) (format "`%s' contains invalid dot characters" local))))
(defun textsec-bidi-controls-suspicious-p (string) (defun textsec-bidi-controls-suspicious-p (string)
"Return non-nil of STRING uses bidirectional controls in suspicious ways. "Return non-nil of STRING uses bidirectional controls in suspicious ways.
@ -364,7 +365,7 @@ look similar to other characters when displayed, or use certain
other unusual mixtures of characters." other unusual mixtures of characters."
(cond (cond
((not (equal name (ucs-normalize-NFC-string name))) ((not (equal name (ucs-normalize-NFC-string name)))
(format "`%s' is not in normalized format `%s'" (format "`%s' is not in normalized form `%s', its display might deceive"
name (ucs-normalize-NFC-string name))) name (ucs-normalize-NFC-string name)))
((and (seq-find (lambda (char) ((and (seq-find (lambda (char)
(and (member char bidi-control-characters) (and (member char bidi-control-characters)
@ -403,13 +404,13 @@ consecutive nonspacing characters."
'(Mn Me)))) '(Mn Me))))
(when (and nonspacing (when (and nonspacing
(equal char prev)) (equal char prev))
(throw 'found "Two identical consecutive nonspacing characters")) (throw 'found "Two identical consecutive accent/diacritic characters"))
(setq nonspace-count (if nonspacing (setq nonspace-count (if nonspacing
(1+ nonspace-count) (1+ nonspace-count)
0)) 0))
(when (> nonspace-count 4) (when (> nonspace-count 4)
(throw 'found (throw 'found
"Too many consecutive nonspacing characters")) "Too many consecutive accent/diacritic characters"))
(setq prev char))) (setq prev char)))
string) string)
nil))) nil)))