From: Lars Magne Ingebrigtsen Date: Wed, 30 Dec 2015 09:10:20 +0000 (+0100) Subject: New function `puny-highly-restrictive-domain-p' X-Git-Tag: emacs-26.0.90~2827^2~9 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=7c343eeaacd1454aef7ab492cbefb53d52ab6cf4;p=emacs.git New function `puny-highly-restrictive-domain-p' * lisp/net/puny.el (puny-highly-restrictive-string-p): Rename. (puny-highly-restrictive-domain-p): New function. --- diff --git a/lisp/net/puny.el b/lisp/net/puny.el index ac47e13c97d..f2fa3464348 100644 --- a/lisp/net/puny.el +++ b/lisp/net/puny.el @@ -193,7 +193,12 @@ For instance \"xn--bcher-kva\" => \"bücher\"." ;; http://www.unicode.org/reports/tr39/#Restriction_Level_Detection ;; http://www.unicode.org/reports/tr31/#Table_Candidate_Characters_for_Inclusion_in_Identifiers -(defun puny-highly-restrictive-p (string) +(defun puny-highly-restrictive-string-p (string) + "Say whether STRING is \"highly restrictive\" in the Unicode IDNA sense. +See http://www.unicode.org/reports/tr39/#Restriction_Level_Detection +for details. The main idea is that if you're mixing +scripts (like latin and cyrillic), you may confuse the user by +using homographs." (let ((scripts (delq t @@ -233,6 +238,11 @@ For instance \"xn--bcher-kva\" => \"bücher\"." (latin han bopomofo) (latin han hangul))))))) +(defun puny-highly-restrictive-domain-p (domain) + "Say whether DOMAIN is \"highly restrictive\" in the Unicode IDNA sense. +See `puny-highly-restrictive-string-p' for further details." + (seq-every-p 'puny-highly-restrictive-string-p (split-string domain "[.]"))) + (provide 'puny) ;;; puny.el ends here