summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/net/puny.el5
1 files changed, 4 insertions, 1 deletions
diff --git a/lisp/net/puny.el b/lisp/net/puny.el
index 23c7af80619..729076ddbd7 100644
--- a/lisp/net/puny.el
+++ b/lisp/net/puny.el
@@ -63,7 +63,10 @@ For instance, \"xn--ff-2sa.org\" => \"fśf.org\"."
"Decode an IDNA/punycode-encoded string.
For instance \"xn--bcher-kva\" => \"bücher\"."
(if (string-match "\\`xn--" string)
- (puny-decode-string-internal (substring string 4))
+ (condition-case nil
+ (puny-decode-string-internal (substring string 4))
+ ;; If the string is invalid Punycode, just return the string.
+ (args-out-of-range string))
string))
(defconst puny-initial-n 128)