diff options
| author | Katsumi Yamaoka <yamaoka@jpl.org> | 2010-05-07 06:58:17 +0000 |
|---|---|---|
| committer | Katsumi Yamaoka <yamaoka@jpl.org> | 2010-05-07 06:58:17 +0000 |
| commit | 765d43190e16d6093aa794743b9f92f40566bb15 (patch) | |
| tree | adeb28652d9a53b3c78de981da0e3aac91106920 /lisp/gnus | |
| parent | 40ab7974b58fe90e6aa1087453b213e28a89a51d (diff) | |
| download | emacs-765d43190e16d6093aa794743b9f92f40566bb15.tar.gz | |
Synch with Gnus trunk.
* mail/binhex.el (binhex-decode-region-internal)
* mail/uudecode.el (uudecode-decode-region-internal)
* net/dns.el (dns-read-string-name, dns-write, dns-read)
(dns-read-type, dns-query)
* pgg-parse.el (pgg-parse-armor)
* pgg.el (pgg-verify-region)
* sha1.el (sha1-string-external): Don't run set-buffer-multibyte for
XEmacs.
* net/imap.el (imap-disable-multibyte): Redefine them as a macro.
* nnweb.el (nnweb-gmane-search)
* yenc.el (yenc-decode-region): Don't run set-buffer-multibyte for
XEmacs.
* gnus-art.el (gnus-article-browse-html-parts)
* gnus-group.el (gnus-read-ephemeral-gmane-group)
(gnus-read-ephemeral-bug-grou): Use mm-make-temp-file instead of
make-temp-file.
* gnus-dired.el (gnus-dired-mode): Bind gnus-dired-mode-hook,
gnus-dired-mode-on-hook and gnus-dired-mode-off-hook for XEmacs when
compiling.
* gnus-ml.el (gnus-mailing-list-mode): Bind gnus-mailing-list-mode-hook,
gnus-mailing-list-mode-on-hook and gnus-mailing-list-mode-off-hook for
XEmacs when compiling.
* gnus-salt.el (gnus-pick-mode): Bind gnus-pick-mode-on-hook and
gnus-pick-mode-off-hook for XEmacs when compiling.
(gnus-binary-mode): Bind gnus-binary-mode-on-hook and
gnus-binary-mode-off-hook for XEmacs when compiling.
* gnus-sum.el (gnus-summary-limit-strange-charsets-predicate): Return
nil if char-charset is not available.
* sieve-manage.el (sieve-manage-disable-multibyte): Redefine them as a
macro.
* mm-url.el (mm-url-form-encode-xwfu): Use mm-encode-coding-string
instead of encode-coding-string.
* mm-util.el (mm-enable-multibyte, mm-disable-multibyte): Use (featurep
'xemacs) instead of mm-emacs-mule to switch function definitions.
(mm-with-unibyte-current-buffer): Make it a progn macro for XEmacs.
Diffstat (limited to 'lisp/gnus')
| -rw-r--r-- | lisp/gnus/ChangeLog | 37 | ||||
| -rw-r--r-- | lisp/gnus/gnus-art.el | 2 | ||||
| -rw-r--r-- | lisp/gnus/gnus-dired.el | 6 | ||||
| -rw-r--r-- | lisp/gnus/gnus-group.el | 4 | ||||
| -rw-r--r-- | lisp/gnus/gnus-ml.el | 6 | ||||
| -rw-r--r-- | lisp/gnus/gnus-salt.el | 10 | ||||
| -rw-r--r-- | lisp/gnus/gnus-sum.el | 17 | ||||
| -rw-r--r-- | lisp/gnus/mm-url.el | 12 | ||||
| -rw-r--r-- | lisp/gnus/mm-util.el | 54 | ||||
| -rw-r--r-- | lisp/gnus/nnweb.el | 2 | ||||
| -rw-r--r-- | lisp/gnus/sieve-manage.el | 6 | ||||
| -rw-r--r-- | lisp/gnus/yenc.el | 6 |
12 files changed, 110 insertions, 52 deletions
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 3a4a502679d..5516a8c81c8 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -1,3 +1,40 @@ +2010-05-07 Katsumi Yamaoka <yamaoka@jpl.org> + + * nnweb.el (nnweb-gmane-search) + * yenc.el (yenc-decode-region): Don't run set-buffer-multibyte for + XEmacs. + + * gnus-art.el (gnus-article-browse-html-parts) + * gnus-group.el (gnus-read-ephemeral-gmane-group) + (gnus-read-ephemeral-bug-grou): Use mm-make-temp-file instead of + make-temp-file. + + * gnus-dired.el (gnus-dired-mode): Bind gnus-dired-mode-hook, + gnus-dired-mode-on-hook and gnus-dired-mode-off-hook for XEmacs when + compiling. + + * gnus-ml.el (gnus-mailing-list-mode): Bind gnus-mailing-list-mode-hook, + gnus-mailing-list-mode-on-hook and gnus-mailing-list-mode-off-hook for + XEmacs when compiling. + + * gnus-salt.el (gnus-pick-mode): Bind gnus-pick-mode-on-hook and + gnus-pick-mode-off-hook for XEmacs when compiling. + (gnus-binary-mode): Bind gnus-binary-mode-on-hook and + gnus-binary-mode-off-hook for XEmacs when compiling. + + * gnus-sum.el (gnus-summary-limit-strange-charsets-predicate): Return + nil if char-charset is not available. + + * sieve-manage.el (sieve-manage-disable-multibyte): Redefine them as a + macro. + + * mm-url.el (mm-url-form-encode-xwfu): Use mm-encode-coding-string + instead of encode-coding-string. + + * mm-util.el (mm-enable-multibyte, mm-disable-multibyte): Use (featurep + 'xemacs) instead of mm-emacs-mule to switch function definitions. + (mm-with-unibyte-current-buffer): Make it a progn macro for XEmacs. + 2010-05-06 Tommi Vainikainen <thv@iki.fi> (tiny change) * mml-sec.el (mml-secure-message-sign): Fix cut and paste error. diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el index 8b9d8b69ff4..7ce3a4374d1 100644 --- a/lisp/gnus/gnus-art.el +++ b/lisp/gnus/gnus-art.el @@ -2897,7 +2897,7 @@ message header will be added to the bodies of the \"text/html\" parts." <img[\t\n ]+\\(?:[^\t\n >]+[\t\n ]+\\)*src=\"\\(cid:\\([^\"]+\\)\\)\"" nil t) (unless cid-dir - (setq cid-dir (make-temp-file "cid" t)) + (setq cid-dir (mm-make-temp-file "cid" t)) (add-to-list 'gnus-article-browse-html-temp-list cid-dir)) (setq file nil content nil) diff --git a/lisp/gnus/gnus-dired.el b/lisp/gnus/gnus-dired.el index 4874de1925a..e5c886d8672 100644 --- a/lisp/gnus/gnus-dired.el +++ b/lisp/gnus/gnus-dired.el @@ -87,6 +87,12 @@ See `mail-user-agent' for more information." gnus-user-agent) (function :tag "Other"))) +(eval-when-compile + (when (featurep 'xemacs) + (defvar gnus-dired-mode-hook) + (defvar gnus-dired-mode-on-hook) + (defvar gnus-dired-mode-off-hook))) + (define-minor-mode gnus-dired-mode "Minor mode for intersections of gnus and dired. diff --git a/lisp/gnus/gnus-group.el b/lisp/gnus/gnus-group.el index 6d3b80e4f88..7a887735fe2 100644 --- a/lisp/gnus/gnus-group.el +++ b/lisp/gnus/gnus-group.el @@ -2364,7 +2364,7 @@ specified by `gnus-gmane-group-download-format'." (unless range (setq range 500)) (when (< range 1) (error "Invalid range: %s" range)) - (let ((tmpfile (make-temp-file + (let ((tmpfile (mm-make-temp-file (format "%s.start-%s.range-%s." group start range))) (gnus-thread-sort-functions '(gnus-thread-sort-by-number))) (with-temp-file tmpfile @@ -2445,7 +2445,7 @@ the bug number, and browsing the URL must return mbox output." (cdr (assoc 'emacs gnus-bug-group-download-format-alist)))) (when (stringp number) (setq number (string-to-number number))) - (let ((tmpfile (make-temp-file "gnus-temp-group-"))) + (let ((tmpfile (mm-make-temp-file "gnus-temp-group-"))) (with-temp-file tmpfile (url-insert-file-contents (format mbox-url number)) (write-region (point-min) (point-max) tmpfile) diff --git a/lisp/gnus/gnus-ml.el b/lisp/gnus/gnus-ml.el index 3a5b8deb45f..30c1bfedcef 100644 --- a/lisp/gnus/gnus-ml.el +++ b/lisp/gnus/gnus-ml.el @@ -85,6 +85,12 @@ If FORCE is non-nil, replace the old ones." (gnus-mailing-list-mode 1)) (gnus-message 1 "no list-post in this message.")))) +(eval-when-compile + (when (featurep 'xemacs) + (defvar gnus-mailing-list-mode-hook) + (defvar gnus-mailing-list-mode-on-hook) + (defvar gnus-mailing-list-mode-off-hook))) + ;;;###autoload (define-minor-mode gnus-mailing-list-mode "Minor mode for providing mailing-list commands. diff --git a/lisp/gnus/gnus-salt.el b/lisp/gnus/gnus-salt.el index 21c556ad33f..52f307d7fdd 100644 --- a/lisp/gnus/gnus-salt.el +++ b/lisp/gnus/gnus-salt.el @@ -101,6 +101,11 @@ It accepts the same format specs that `gnus-summary-line-format' does." ["Start reading" gnus-pick-start-reading t] ["Switch pick mode off" gnus-pick-mode gnus-pick-mode])))) +(eval-when-compile + (when (featurep 'xemacs) + (defvar gnus-pick-mode-on-hook) + (defvar gnus-pick-mode-off-hook))) + (define-minor-mode gnus-pick-mode "Minor mode for providing a pick-and-read interface in Gnus summary buffers. @@ -332,6 +337,11 @@ This must be bound to a button-down mouse event." '("Pick" ["Switch binary mode off" gnus-binary-mode t])))) +(eval-when-compile + (when (featurep 'xemacs) + (defvar gnus-binary-mode-on-hook) + (defvar gnus-binary-mode-off-hook))) + (define-minor-mode gnus-binary-mode "Minor mode for providing a binary group interface in Gnus summary buffers." :lighter " Binary" :keymap gnus-binary-mode-map diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el index 5939f9b6e7e..480c546ca6e 100644 --- a/lisp/gnus/gnus-sum.el +++ b/lisp/gnus/gnus-sum.el @@ -8185,14 +8185,15 @@ in `nnmail-extra-headers'." (gnus-summary-position-point)))) (defun gnus-summary-limit-strange-charsets-predicate (header) - (let ((string (concat (mail-header-subject header) - (mail-header-from header))) - charset found) - (dotimes (i (1- (length string))) - (setq charset (format "%s" (char-charset (aref string (1+ i))))) - (when (string-match "unicode\\|big\\|japanese" charset) - (setq found t))) - found)) + (when (fboundp 'char-charset) + (let ((string (concat (mail-header-subject header) + (mail-header-from header))) + charset found) + (dotimes (i (1- (length string))) + (setq charset (format "%s" (char-charset (aref string (1+ i))))) + (when (string-match "unicode\\|big\\|japanese" charset) + (setq found t))) + found))) (defun gnus-summary-limit-to-predicate (predicate) "Limit to articles where PREDICATE returns non-nil. diff --git a/lisp/gnus/mm-url.el b/lisp/gnus/mm-url.el index 35a43f5bd27..c5a8d9f7fdc 100644 --- a/lisp/gnus/mm-url.el +++ b/lisp/gnus/mm-url.el @@ -404,14 +404,10 @@ spaces. Die Die Die." ((= char ? ) "+") ((memq char mm-url-unreserved-chars) (char-to-string char)) (t (upcase (format "%%%02x" char))))) - ;; Fixme: Should this actually be accepting multibyte? Is there a - ;; better way in XEmacs? - (if (featurep 'mule) - (encode-coding-string chunk - (if (fboundp 'find-coding-systems-string) - (car (find-coding-systems-string chunk)) - buffer-file-coding-system)) - chunk) + (mm-encode-coding-string chunk + (if (fboundp 'find-coding-systems-string) + (car (find-coding-systems-string chunk)) + buffer-file-coding-system)) "")) (defun mm-url-encode-www-form-urlencoded (pairs) diff --git a/lisp/gnus/mm-util.el b/lisp/gnus/mm-util.el index c1dc4f5b754..a288b8b1b6d 100644 --- a/lisp/gnus/mm-util.el +++ b/lisp/gnus/mm-util.el @@ -908,20 +908,20 @@ mail with multiple parts is preferred to sending a Unicode one.") (fboundp 'set-buffer-multibyte)) "True in Emacs with Mule.") - (if mm-emacs-mule - (defun mm-enable-multibyte () - "Set the multibyte flag of the current buffer. + (if (featurep 'xemacs) + (defalias 'mm-enable-multibyte 'ignore) + (defun mm-enable-multibyte () + "Set the multibyte flag of the current buffer. Only do this if the default value of `enable-multibyte-characters' is non-nil. This is a no-op in XEmacs." - (set-buffer-multibyte 'to)) - (defalias 'mm-enable-multibyte 'ignore)) + (set-buffer-multibyte t))) - (if mm-emacs-mule - (defun mm-disable-multibyte () - "Unset the multibyte flag of in the current buffer. + (if (featurep 'xemacs) + (defalias 'mm-disable-multibyte 'ignore) + (defun mm-disable-multibyte () + "Unset the multibyte flag of in the current buffer. This is a no-op in XEmacs." - (set-buffer-multibyte nil)) - (defalias 'mm-disable-multibyte 'ignore))) + (set-buffer-multibyte nil)))) (defun mm-preferred-coding-system (charset) ;; A typo in some Emacs versions. @@ -1239,22 +1239,24 @@ worth using this macro in unibyte buffers of course). Use of harmful since it is likely to modify existing data in the buffer. For instance, it converts \"\\300\\255\" into \"\\255\" in Emacs 23 (unicode)." - ;; FIXME: (default-value 'enable-multibyte-characters) is read-only - ;; so let-binding it is wrong. The right fix is to not use this - ;; macro at all any more, since it's been ill-defined from the start. - (let ((multibyte (make-symbol "multibyte")) - (buffer (make-symbol "buffer"))) - `(if mm-emacs-mule - (let ((,multibyte enable-multibyte-characters) - (,buffer (current-buffer))) - (unwind-protect - (letf (((default-value 'enable-multibyte-characters) nil)) - (set-buffer-multibyte nil) - ,@forms) - (set-buffer ,buffer) - (set-buffer-multibyte ,multibyte))) - (letf (((default-value 'enable-multibyte-characters) nil)) - ,@forms)))) + (if (featurep 'xemacs) + `(progn ,@forms) + ;; FIXME: (default-value 'enable-multibyte-characters) is read-only + ;; so let-binding it is wrong. The right fix is to not use this + ;; macro at all any more, since it's been ill-defined from the start. + (let ((multibyte (make-symbol "multibyte")) + (buffer (make-symbol "buffer"))) + `(if mm-emacs-mule + (let ((,multibyte enable-multibyte-characters) + (,buffer (current-buffer))) + (unwind-protect + (letf (((default-value 'enable-multibyte-characters) nil)) + (set-buffer-multibyte nil) + ,@forms) + (set-buffer ,buffer) + (set-buffer-multibyte ,multibyte))) + (letf (((default-value 'enable-multibyte-characters) nil)) + ,@forms))))) (put 'mm-with-unibyte-current-buffer 'lisp-indent-function 0) (put 'mm-with-unibyte-current-buffer 'edebug-form-spec '(body)) diff --git a/lisp/gnus/nnweb.el b/lisp/gnus/nnweb.el index b6b0ddd41a9..fcb8e93a05d 100644 --- a/lisp/gnus/nnweb.el +++ b/lisp/gnus/nnweb.el @@ -525,7 +525,7 @@ Valid types include `google', `dejanews', and `gmane'.") ;;("TOPDOC" . "1000") )))) (setq buffer-file-name nil) - (set-buffer-multibyte t) + (unless (featurep 'xemacs) (set-buffer-multibyte t)) (mm-decode-coding-region (point-min) (point-max) 'utf-8) t) diff --git a/lisp/gnus/sieve-manage.el b/lisp/gnus/sieve-manage.el index 4b78490bbe3..bd8741fe85f 100644 --- a/lisp/gnus/sieve-manage.el +++ b/lisp/gnus/sieve-manage.el @@ -191,10 +191,10 @@ Valid states are `closed', `initial', `nonauth', and `auth'.") ;; Internal utility functions -(defsubst sieve-manage-disable-multibyte () +(defmacro sieve-manage-disable-multibyte () "Enable multibyte in the current buffer." - (when (fboundp 'set-buffer-multibyte) - (set-buffer-multibyte nil))) + (unless (featurep 'xemacs) + '(set-buffer-multibyte nil))) (declare-function password-read "password-cache" (prompt &optional key)) (declare-function password-cache-add "password-cache" (key password)) diff --git a/lisp/gnus/yenc.el b/lisp/gnus/yenc.el index 8cb522c4ec7..2d56d660583 100644 --- a/lisp/gnus/yenc.el +++ b/lisp/gnus/yenc.el @@ -89,9 +89,9 @@ (when (re-search-forward "^=yend.*$" end t) (setq last (match-beginning 0)) (setq footer-alist (yenc-parse-line (match-string 0))) - (with-current-buffer - (setq work-buffer (generate-new-buffer " *yenc-work*")) - (set-buffer-multibyte nil)) + (setq work-buffer (generate-new-buffer " *yenc-work*")) + (unless (featurep 'xemacs) + (with-current-buffer work-buffer (set-buffer-multibyte nil))) (while (< first last) (setq char (char-after first)) (cond ((or (eq char ?\r) |
