From 525742a924f00e006e6ed48e4b6341ba6f27d733 Mon Sep 17 00:00:00 2001 From: Katsumi Yamaoka Date: Tue, 14 Apr 2015 03:34:11 +0000 Subject: [PATCH] Catch the invalid-operation that idna.el will issue * gnus-art.el (gnus-use-idna): * gnus-sum.el (gnus-summary-idna-message): * message.el (message-use-idna): Catch the invalid-operation that idna.el will issue. --- lisp/ChangeLog | 7 +++++++ lisp/gnus-art.el | 7 +++++-- lisp/gnus-sum.el | 8 +++++--- lisp/message.el | 5 ++++- 4 files changed, 21 insertions(+), 6 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 6b720dc8d..e2724cccd 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,10 @@ +2015-04-14 Katsumi Yamaoka + + * gnus-art.el (gnus-use-idna): + * gnus-sum.el (gnus-summary-idna-message): + * message.el (message-use-idna): + Catch the invalid-operation that idna.el will issue. + 2015-04-14 Stefan Monnier * gnus-group.el (gnus-group--setup-tool-bar-update): diff --git a/lisp/gnus-art.el b/lisp/gnus-art.el index 1d9bcd1fd..44b026ab8 100644 --- a/lisp/gnus-art.el +++ b/lisp/gnus-art.el @@ -1628,8 +1628,11 @@ It is a string, such as \"PGP\". If nil, ask user." (defvar idna-program) -(defcustom gnus-use-idna (and (condition-case nil (require 'idna) (file-error)) - (mm-coding-system-p 'utf-8) +(defcustom gnus-use-idna (and (mm-coding-system-p 'utf-8) + (condition-case nil + (require 'idna) + (file-error) + (invalid-operation)) idna-program (executable-find idna-program)) "Whether IDNA decoding of headers is used when viewing messages. diff --git a/lisp/gnus-sum.el b/lisp/gnus-sum.el index 73a0d4b10..1d8ad8e6a 100644 --- a/lisp/gnus-sum.el +++ b/lisp/gnus-sum.el @@ -9870,9 +9870,11 @@ invalid IDNA string (`xn--bar' is invalid). You must have GNU Libidn (URL `http://www.gnu.org/software/libidn/') installed for this command to work." (interactive "P") - (if (not (and (condition-case nil (require 'idna) - (file-error)) - (mm-coding-system-p 'utf-8) + (if (not (and (mm-coding-system-p 'utf-8) + (condition-case nil + (require 'idna) + (file-error) + (invalid-operation)) (symbol-value 'idna-program) (executable-find (symbol-value 'idna-program)))) (gnus-message diff --git a/lisp/message.el b/lisp/message.el index 3d10eaede..b8a69b0b6 100644 --- a/lisp/message.el +++ b/lisp/message.el @@ -1807,7 +1807,10 @@ no, only reply back to the author." (let (mucs-ignore-version-incompatibilities) (require 'un-define)) (error))) - (condition-case nil (require 'idna) (file-error)) + (condition-case nil + (require 'idna) + (file-error) + (invalid-operation)) idna-program (executable-find idna-program) (string= (idna-to-ascii "räksmörgås") "xn--rksmrgs-5wao1o") -- 2.25.1