comparison lisp/gnus/message.el @ 65719:5265a4059126

Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-564 Merge from gnus--rel--5.10 Patches applied: * gnus--rel--5.10 (patch 125-127) - Merge from emacs--cvs-trunk--0 - Update from CVS 2005-09-27 Reiner Steib <Reiner.Steib@gmx.de> * lisp/gnus/mm-uu.el (mm-uu-emacs-sources-regexp): Make variable customizable. Change default value. (mm-uu-diff-groups-regexp): Change default value. (mm-uu-type-alist): Added doc string. (mm-uu-configure): Added doc string. Make it interactive. (mm-uu-diff-groups-regexp): Fix missing quotes from previous commit. 2005-09-27 Simon Josefsson <jas@extundo.com> * lisp/gnus/message.el (message-idna-to-ascii-rhs-1): Reformat. 2005-09-27 Arne J,Ax(Brgensen <arne@arnested.dk> * lisp/gnus/message.el (message-remove-duplicates): New function. Implementation borrowed from `gnus-remove-duplicates'. (message-idna-to-ascii-rhs): Also encode idna addresses in Reply-To:, Mail-Reply-To: and Mail-Followup-To:. (message-idna-to-ascii-rhs-1): When `message-use-idna' is 'ask only ask about the same idna domain once per header and also tell in what header to replace the idna domain. * lisp/gnus/gnus-art.el (article-decode-idna-rhs): Also decode idna addresses in Reply-To:, Mail-Reply-To: and Mail-Followup-To:. (article-decode-idna-rhs): Fix regexp so that all idna-address in a header is decoded and not just the last one. 2005-09-27 Katsumi Yamaoka <yamaoka@jpl.org> * lisp/gnus/gnus-art.el (gnus-mime-display-single): Don't modify text if it has been decoded. * lisp/gnus/mm-decode.el (mm-insert-part): Don't modify text if it has been decoded. * lisp/gnus/mm-view.el (mm-inline-text): Don't strip text props unless decoding enriched or richtext parts. 2005-09-26 Katsumi Yamaoka <yamaoka@jpl.org> * man/gnus.texi (Server Buffer Format): Document the %a format spec.
author Miles Bader <miles@gnu.org>
date Wed, 28 Sep 2005 05:26:02 +0000
parents c16795de963a
children 8e46fef0174c
comparison
equal deleted inserted replaced
65718:c4fe5f0b4e83 65719:5265a4059126
2027 (message-remove-header (if bcc 2027 (message-remove-header (if bcc
2028 "bcc" 2028 "bcc"
2029 "cc")))))))) 2029 "cc"))))))))
2030 2030
2031 ;;; End of functions adopted from `message-utils.el'. 2031 ;;; End of functions adopted from `message-utils.el'.
2032
2033 (defun message-remove-duplicates (list)
2034 (let (new)
2035 (while list
2036 (or (member (car list) new)
2037 (setq new (cons (car list) new)))
2038 (setq list (cdr list)))
2039 (nreverse new)))
2032 2040
2033 (defun message-remove-header (header &optional is-regexp first reverse) 2041 (defun message-remove-header (header &optional is-regexp first reverse)
2034 "Remove HEADER in the narrowed buffer. 2042 "Remove HEADER in the narrowed buffer.
2035 If IS-REGEXP, HEADER is a regular expression. 2043 If IS-REGEXP, HEADER is a regular expression.
2036 If FIRST, only remove the first instance of the header. 2044 If FIRST, only remove the first instance of the header.
4955 (defun message-idna-to-ascii-rhs-1 (header) 4963 (defun message-idna-to-ascii-rhs-1 (header)
4956 "Interactively potentially IDNA encode domain names in HEADER." 4964 "Interactively potentially IDNA encode domain names in HEADER."
4957 (let ((field (message-fetch-field header)) 4965 (let ((field (message-fetch-field header))
4958 rhs ace address) 4966 rhs ace address)
4959 (when field 4967 (when field
4960 (dolist (address (mail-header-parse-addresses field)) 4968 (dolist (rhs
4961 (setq address (car address) 4969 (message-remove-duplicates
4962 rhs (downcase (or (cadr (split-string address "@")) "")) 4970 (mapcar (lambda (rhs) (or (cadr (split-string rhs "@")) ""))
4963 ace (downcase (idna-to-ascii rhs))) 4971 (mapcar 'downcase
4972 (mapcar
4973 'car (mail-header-parse-addresses field))))))
4974 (setq ace (downcase (idna-to-ascii rhs)))
4964 (when (and (not (equal rhs ace)) 4975 (when (and (not (equal rhs ace))
4965 (or (not (eq message-use-idna 'ask)) 4976 (or (not (eq message-use-idna 'ask))
4966 (y-or-n-p (format "Replace %s with %s? " rhs ace)))) 4977 (y-or-n-p (format "Replace %s with %s in %s:? "
4978 rhs ace header))))
4967 (goto-char (point-min)) 4979 (goto-char (point-min))
4968 (while (re-search-forward (concat "^" header ":") nil t) 4980 (while (re-search-forward (concat "^" header ":") nil t)
4969 (message-narrow-to-field) 4981 (message-narrow-to-field)
4970 (while (search-forward (concat "@" rhs) nil t) 4982 (while (search-forward (concat "@" rhs) nil t)
4971 (replace-match (concat "@" ace) t t)) 4983 (replace-match (concat "@" ace) t t))
4980 (save-excursion 4992 (save-excursion
4981 (save-restriction 4993 (save-restriction
4982 (message-narrow-to-head) 4994 (message-narrow-to-head)
4983 (message-idna-to-ascii-rhs-1 "From") 4995 (message-idna-to-ascii-rhs-1 "From")
4984 (message-idna-to-ascii-rhs-1 "To") 4996 (message-idna-to-ascii-rhs-1 "To")
4997 (message-idna-to-ascii-rhs-1 "Reply-To")
4998 (message-idna-to-ascii-rhs-1 "Mail-Reply-To")
4999 (message-idna-to-ascii-rhs-1 "Mail-Followup-To")
4985 (message-idna-to-ascii-rhs-1 "Cc"))))) 5000 (message-idna-to-ascii-rhs-1 "Cc")))))
4986 5001
4987 (defun message-generate-headers (headers) 5002 (defun message-generate-headers (headers)
4988 "Prepare article HEADERS. 5003 "Prepare article HEADERS.
4989 Headers already prepared in the buffer are not modified." 5004 Headers already prepared in the buffer are not modified."