From: Lars Ingebrigtsen <larsi@gnus.org>
Date: Mon, 28 Dec 2015 01:57:40 +0000 (+0100)
Subject: Further IDNA tweaks
X-Git-Tag: emacs-26.0.90~2843
X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=1f591ca64f2409b4c44d7ff239f95bcfa1a568aa;p=emacs.git

Further IDNA tweaks

(idna-encode-string): Make idna-encode-string safe for
non-ASCII use.
---

diff --git a/lisp/net/idna.el b/lisp/net/idna.el
index f34fb9c490a..dfaf711c71e 100644
--- a/lisp/net/idna.el
+++ b/lisp/net/idna.el
@@ -33,7 +33,9 @@
   (let ((ascii (seq-filter (lambda (char)
                              (< char 128))
                            string)))
-    (concat "xn--" ascii "-" (idna-encode-complex (length ascii) string))))
+    (if (= (length ascii) (length string))
+        string
+      (concat "xn--" ascii "-" (idna-encode-complex (length ascii) string)))))
 
 (defconst idna-initial-n 128)
 (defconst idna-initial-bias 72)