[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] emacs/lisp/gnus rfc2047.el mm-util.el ChangeLog
From: |
Katsumi Yamaoka |
Subject: |
[Emacs-diffs] emacs/lisp/gnus rfc2047.el mm-util.el ChangeLog |
Date: |
Wed, 10 Dec 2008 10:02:52 +0000 |
CVSROOT: /cvsroot/emacs
Module name: emacs
Changes by: Katsumi Yamaoka <yamaoka> 08/12/10 10:02:52
Modified files:
lisp/gnus : rfc2047.el mm-util.el ChangeLog
Log message:
* rfc2047.el (rfc2047-charset-to-coding-system): Add new argument
`allow-override' which says whether to use `mm-charset-override-alist'.
(rfc2047-decode-encoded-words): Use it.
* mm-util.el (mm-charset-override-alist): Fix custom type;
add `(gb2312 . gbk)' to choices.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/gnus/rfc2047.el?cvsroot=emacs&r1=1.42&r2=1.43
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/gnus/mm-util.el?cvsroot=emacs&r1=1.74&r2=1.75
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/gnus/ChangeLog?cvsroot=emacs&r1=1.775&r2=1.776
Patches:
Index: rfc2047.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/gnus/rfc2047.el,v
retrieving revision 1.42
retrieving revision 1.43
diff -u -b -r1.42 -r1.43
--- rfc2047.el 27 Jun 2008 07:34:48 -0000 1.42
+++ rfc2047.el 10 Dec 2008 10:02:50 -0000 1.43
@@ -902,9 +902,13 @@
(error
(goto-char beg))))))))
-(defun rfc2047-charset-to-coding-system (charset)
+(defun rfc2047-charset-to-coding-system (charset &optional allow-override)
"Return coding-system corresponding to MIME CHARSET.
-If your Emacs implementation can't decode CHARSET, return nil."
+If your Emacs implementation can't decode CHARSET, return nil.
+
+If allow-override is given, use `mm-charset-override-alist' to
+map undesired charset names to their replacement. This should
+only be used for decoding, not for encoding."
(when (stringp charset)
(setq charset (intern (downcase charset))))
(when (or (not charset)
@@ -912,7 +916,7 @@
(memq 'gnus-all mail-parse-ignored-charsets)
(memq charset mail-parse-ignored-charsets))
(setq charset mail-parse-charset))
- (let ((cs (mm-charset-to-coding-system charset)))
+ (let ((cs (mm-charset-to-coding-system charset nil allow-override)))
(cond ((eq cs 'ascii)
(setq cs (or (mm-charset-to-coding-system mail-parse-charset)
'raw-text)))
@@ -933,7 +937,7 @@
(while words
(setq word (pop words))
(if (and (setq cs (rfc2047-charset-to-coding-system
- (setq charset (car word))))
+ (setq charset (car word)) t))
(condition-case code
(cond ((char-equal ?B (nth 1 word))
(setq text (base64-decode-string
Index: mm-util.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/gnus/mm-util.el,v
retrieving revision 1.74
retrieving revision 1.75
diff -u -b -r1.74 -r1.75
--- mm-util.el 2 Oct 2008 17:27:27 -0000 1.74
+++ mm-util.el 10 Dec 2008 10:02:51 -0000 1.75
@@ -397,15 +397,42 @@
You may add pairs like (iso-8859-1 . windows-1252) here,
i.e. treat iso-8859-1 as windows-1252. windows-1252 is a
superset of iso-8859-1."
- :type '(list (set :inline t
- (const (iso-8859-1 . windows-1252))
- (const (iso-8859-8 . windows-1255))
- (const (iso-8859-9 . windows-1254))
- (const (undecided . windows-1252)))
- (repeat :inline t
- :tag "Other options"
- (cons (symbol :tag "From charset")
- (symbol :tag "To charset"))))
+ :type
+ '(list
+ :convert-widget
+ (lambda (widget)
+ (let ((defaults
+ (delq nil
+ (mapcar (lambda (pair)
+ (if (mm-charset-to-coding-system (cdr pair))
+ pair))
+ '((gb2312 . gbk)
+ (iso-8859-1 . windows-1252)
+ (iso-8859-8 . windows-1255)
+ (iso-8859-9 . windows-1254)
+ (undecided . windows-1252)))))
+ (val (copy-sequence (default-value 'mm-charset-override-alist)))
+ pair rest)
+ (while val
+ (push (if (and (prog1
+ (setq pair (assq (caar val) defaults))
+ (setq defaults (delq pair defaults)))
+ (equal (car val) pair))
+ `(const ,pair)
+ `(cons :format "%v"
+ (const :format "(%v" ,(caar val))
+ (symbol :size 3 :format " . %v)\n" ,(cdar val))))
+ rest)
+ (setq val (cdr val)))
+ (while defaults
+ (push `(const ,(pop defaults)) rest))
+ (widget-convert
+ 'list
+ `(set :inline t :format "%v" ,@(nreverse rest))
+ `(repeat :inline t :tag "Other options"
+ (cons :format "%v"
+ (symbol :size 3 :format "(%v")
+ (symbol :size 3 :format " . %v)\n")))))))
:version "22.1" ;; Gnus 5.10.9
:group 'mime)
Index: ChangeLog
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/gnus/ChangeLog,v
retrieving revision 1.775
retrieving revision 1.776
diff -u -b -r1.775 -r1.776
--- ChangeLog 6 Dec 2008 17:26:19 -0000 1.775
+++ ChangeLog 10 Dec 2008 10:02:51 -0000 1.776
@@ -1,3 +1,12 @@
+2008-12-10 Katsumi Yamaoka <address@hidden>
+
+ * rfc2047.el (rfc2047-charset-to-coding-system): Add new argument
+ `allow-override' which says whether to use `mm-charset-override-alist'.
+ (rfc2047-decode-encoded-words): Use it.
+
+ * mm-util.el (mm-charset-override-alist): Fix custom type;
+ add `(gb2312 . gbk)' to choices.
+
2008-12-04 Katsumi Yamaoka <address@hidden>
* mm-view.el (mm-inline-text-html-render-with-w3m): Make it simple and
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] emacs/lisp/gnus rfc2047.el mm-util.el ChangeLog,
Katsumi Yamaoka <=