From b121ef10f500c0377c2ce665e8ccd8b97a6aedfd Mon Sep 17 00:00:00 2001 From: Katsumi Yamaoka Date: Thu, 27 Nov 2014 01:33:09 +0000 Subject: [PATCH] Gnus: fix XEmacs compilation --- lisp/gnus/ChangeLog | 9 +++++++++ lisp/gnus/gnus-art.el | 1 + lisp/gnus/gnus-sum.el | 1 + lisp/gnus/message.el | 18 +++++++++++------- 4 files changed, 22 insertions(+), 7 deletions(-) diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index f53bf02d259..736cb4ee29a 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -1,3 +1,12 @@ +2014-11-27 Katsumi Yamaoka + + * gnus-art.el (gnus-use-idna): + * gnus-sum.el (gnus-summary-idna-message): + * message.el (message-use-idna): + Protect against nil value for idna-program. + + * message.el (message-use-idna): Load Mule-UCS for XEmacs 21.4. + 2014-11-25 Glenn Morris * gnus-start.el (gnus-save-newsrc-file-check-timestamp): diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el index 3b343adb2fd..b45638bd5c3 100644 --- a/lisp/gnus/gnus-art.el +++ b/lisp/gnus/gnus-art.el @@ -1628,6 +1628,7 @@ It is a string, such as \"PGP\". If nil, ask user." (defcustom gnus-use-idna (and (condition-case nil (require 'idna) (file-error)) (mm-coding-system-p 'utf-8) + idna-program (executable-find idna-program)) "Whether IDNA decoding of headers is used when viewing messages. This requires GNU Libidn, and by default only enabled if it is found." diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el index 69bb106728c..29f693fa9ce 100644 --- a/lisp/gnus/gnus-sum.el +++ b/lisp/gnus/gnus-sum.el @@ -9870,6 +9870,7 @@ installed for this command to work." (if (not (and (condition-case nil (require 'idna) (file-error)) (mm-coding-system-p 'utf-8) + (symbol-value 'idna-program) (executable-find (symbol-value 'idna-program)))) (gnus-message 5 "GNU Libidn not installed properly (`idn' or `idna.el' missing)") diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el index 0af47843d46..c1322154f19 100644 --- a/lisp/gnus/message.el +++ b/lisp/gnus/message.el @@ -1756,13 +1756,17 @@ no, only reply back to the author." :type '(radio (const :format "%v " nil) (string :format "FQDN: %v"))) -(defcustom message-use-idna (and (condition-case nil (require 'idna) - (file-error)) - (mm-coding-system-p 'utf-8) - (executable-find idna-program) - (string= (idna-to-ascii "räksmörgås") - "xn--rksmrgs-5wao1o") - t) +(defcustom message-use-idna + (and (or (mm-coding-system-p 'utf-8) + (condition-case nil + (let (mucs-ignore-version-incompatibilities) + (require 'un-define)) + (error))) + (condition-case nil (require 'idna) (file-error)) + idna-program + (executable-find idna-program) + (string= (idna-to-ascii "räksmörgås") "xn--rksmrgs-5wao1o") + t) "Whether to encode non-ASCII in domain names into ASCII according to IDNA. GNU Libidn, and in particular the elisp package \"idna.el\" and the external program \"idn\", must be installed for this -- 2.11.4.GIT