From: ShengHuo ZHU Date: Sun, 21 Jan 2001 05:33:42 +0000 (+0000) Subject: 2001-01-21 ShengHuo ZHU X-Git-Tag: emacs-pretest-21.0.96~174 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=619ac84f4659e950b2595d34d23562e527bc7ec7;p=emacs.git 2001-01-21 ShengHuo ZHU * message.el (message-forward): Use mule4. * mm-util.el (mm-string-as-unibyte): New. * message.el (message-forward): Use it. * message.el (message-cite-original-without-signature): Don't peel off the blank line. (message-get-reply-headers): Add Cc if it is not in follow-to. * message.el (message-send-mail): Content-Type may not be there. By Alberto Lusiani. * gnus-art.el (article-display-x-face): Insert X-Face if there is not. * rfc2047.el (rfc2047-fold-region): Don't insert LWSP if there is one. * gnus-win.el (gnus-configure-windows): switch-to-buffer in XEmacs. (gnus-remove-some-windows): Ditto. * mm-decode.el (mm-interactively-view-part): Don't copy-sequence handle. * gnus-art.el (gnus-mime-view-part): Copy it. (gnus-mime-view-part-as-type): Add into gnus-article-mime-handles. * nnmail.el (nnmail-get-new-mail): Find group only if file is not orig-file. Use ',source. * nnslashdot.el (nnslashdot-request-list): Get the right year. By Lars Magne Ingebrigtsen. * pop3.el (pop3-get-message-count): Andrew Innes 's patch of 1999-12-01 was not fully committed. --- diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 068d07833d9..4ab66970c8b 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -1,3 +1,30 @@ +2001-01-21 ShengHuo ZHU + + * message.el (message-forward): Use mule4. + * mm-util.el (mm-string-as-unibyte): New. + * message.el (message-forward): Use it. + * message.el (message-cite-original-without-signature): Don't peel + off the blank line. + (message-get-reply-headers): Add Cc if it is not in follow-to. + * message.el (message-send-mail): Content-Type may not be there. + By Alberto Lusiani. + * gnus-art.el (article-display-x-face): Insert X-Face if there is + not. + * rfc2047.el (rfc2047-fold-region): Don't insert LWSP if there is + one. + * gnus-win.el (gnus-configure-windows): switch-to-buffer in XEmacs. + (gnus-remove-some-windows): Ditto. + * mm-decode.el (mm-interactively-view-part): Don't copy-sequence + handle. + * gnus-art.el (gnus-mime-view-part): Copy it. + (gnus-mime-view-part-as-type): Add into gnus-article-mime-handles. + * nnmail.el (nnmail-get-new-mail): Find group only if file is not + orig-file. Use ',source. + * nnslashdot.el (nnslashdot-request-list): Get the right year. By + Lars Magne Ingebrigtsen. + * pop3.el (pop3-get-message-count): Andrew Innes + 's patch of 1999-12-01 was not fully committed. + 2001-01-08 Dave Love * mm-encode.el (mm-qp-or-base64): Don't base64 for the sake of a diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el index 52c6b3bd63e..b64e335a0bc 100644 --- a/lisp/gnus/gnus-art.el +++ b/lisp/gnus/gnus-art.el @@ -3015,6 +3015,7 @@ If ALL-HEADERS is non-nil, no headers are hidden." (interactive) (gnus-article-check-buffer) (let ((data (get-text-property (point) 'gnus-data))) + (push (setq data (copy-sequence data)) gnus-article-mime-handles) (mm-interactively-view-part data))) (defun gnus-mime-view-part-as-type-internal () @@ -3050,7 +3051,7 @@ If ALL-HEADERS is non-nil, no headers are hidden." (interactive) (gnus-article-check-buffer) (let* ((handle (or handle (get-text-property (point) 'gnus-data))) - (contents (mm-get-part handle))| + (contents (mm-get-part handle)) (base (file-name-nondirectory (or (mail-content-type-get (mm-handle-type handle) 'name) diff --git a/lisp/gnus/gnus-win.el b/lisp/gnus/gnus-win.el index 51934fd9b5f..07e693e793e 100644 --- a/lisp/gnus/gnus-win.el +++ b/lisp/gnus/gnus-win.el @@ -452,11 +452,15 @@ See the Gnus manual for an explanation of the syntax used.") (gnus-delete-windows-in-gnusey-frames)) ;; Just remove some windows. (gnus-remove-some-windows) - (set-buffer nntp-server-buffer)) + (if (featurep 'xemacs) + (switch-to-buffer nntp-server-buffer) + (set-buffer nntp-server-buffer))) (select-frame frame))) (let (gnus-window-frame-focus) - (set-buffer nntp-server-buffer) + (if (featurep 'xemacs) + (switch-to-buffer nntp-server-buffer) + (set-buffer nntp-server-buffer)) (gnus-configure-frame split) (when gnus-window-frame-focus (select-frame (window-frame gnus-window-frame-focus)))))))) @@ -541,7 +545,9 @@ should have point." lowest-buf buf)))) (when lowest-buf (pop-to-buffer lowest-buf) - (set-buffer nntp-server-buffer)) + (if (featurep 'xemacs) + (switch-to-buffer nntp-server-buffer) + (set-buffer nntp-server-buffer))) (mapcar (lambda (b) (delete-windows-on b t)) bufs)))) (provide 'gnus-win) diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el index 673c949a9ae..7cfd964e650 100644 --- a/lisp/gnus/message.el +++ b/lisp/gnus/message.el @@ -1,5 +1,5 @@ ;;; message.el --- composing mail and news messages -*- coding: iso-latin-1 -*- -;; Copyright (C) 1996, 1997, 1998, 1999, 2000 +;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 ;; Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen @@ -1975,7 +1975,8 @@ prefix, and don't delete any headers." message-cite-function) (delete-windows-on message-reply-buffer t) (insert-buffer message-reply-buffer) - (funcall message-cite-function) + (unless arg + (funcall message-cite-function)) (message-exchange-point-and-mark) (unless (bolp) (insert ?\n)) @@ -2019,7 +2020,10 @@ prefix, and don't delete any headers." (while (looking-at "^[ \t]*$") (forward-line -1)) (forward-line 1) - (delete-region (point) end)) + (delete-region (point) end) + (unless (search-backward "\n\n" start t) + ;; Insert a blank line if it is peeled off. + (insert "\n"))) (goto-char start) (while functions (funcall (pop functions))) @@ -2373,10 +2377,13 @@ It should typically alter the sending method in some way or other." (and news (or (message-fetch-field "cc") (message-fetch-field "to")) - (string= "text/plain" - (car - (mail-header-parse-content-type - (message-fetch-field "content-type")))))) + (let ((content-type (message-fetch-field "content-type"))) + (or + (not content-type) + (string= "text/plain" + (car + (mail-header-parse-content-type + content-type))))))) (message-insert-courtesy-copy)) (if (or (not message-send-mail-partially-limit) (< (point-max) message-send-mail-partially-limit) @@ -4208,24 +4215,18 @@ Optional DIGEST will use digest to forward." (insert-buffer-substring cur) (mml-insert-buffer cur)) (if message-forward-show-mml - (let ((target (current-buffer)) tmp) - (with-temp-buffer - (mm-disable-multibyte) ;; Must copy buffer in unibyte mode - (setq tmp (current-buffer)) - (set-buffer cur) - (mm-with-unibyte-current-buffer - (set-buffer tmp) - (insert-buffer-substring cur) - (set-buffer cur)) - (set-buffer tmp) - (mm-enable-multibyte) - (mime-to-mml) - (goto-char (point-min)) - (when (looking-at "From ") - (replace-match "X-From-Line: ")) - (set-buffer target) - (insert-buffer-substring tmp) - (set-buffer tmp))) + (insert + (with-temp-buffer + (mm-disable-multibyte-mule4) ;; Must copy buffer in unibyte mode + (insert + (with-current-buffer cur + (mm-string-as-unibyte (buffer-string)))) + (mm-enable-multibyte-mule4) + (mime-to-mml) + (goto-char (point-min)) + (when (looking-at "From ") + (replace-match "X-From-Line: ")) + (buffer-string))) (save-restriction (narrow-to-region (point) (point)) (mml-insert-buffer cur) diff --git a/lisp/gnus/mm-decode.el b/lisp/gnus/mm-decode.el index 63c6c2e9f5f..e27200700c1 100644 --- a/lisp/gnus/mm-decode.el +++ b/lisp/gnus/mm-decode.el @@ -730,7 +730,7 @@ external if displayed external." (error "No method given")) (if (string-match "^[^% \t]+$" method) (setq method (concat method " %s"))) - (mm-display-external (copy-sequence handle) method))) + (mm-display-external handle method))) (defun mm-preferred-alternative (handles &optional preferred) "Say which of HANDLES are preferred." diff --git a/lisp/gnus/mm-util.el b/lisp/gnus/mm-util.el index ea4509cd38f..c258a515dde 100644 --- a/lisp/gnus/mm-util.el +++ b/lisp/gnus/mm-util.el @@ -108,7 +108,9 @@ prompt (mapcar (lambda (e) (list (symbol-name (car e)))) mm-mime-mule-charset-alist) - nil t))))))) + nil t)))) + (string-as-unibyte . identity) + ))) (eval-and-compile (defalias 'mm-char-or-char-int-p diff --git a/lisp/gnus/nnmail.el b/lisp/gnus/nnmail.el index 7cd75c0dac2..504c8083b8a 100644 --- a/lisp/gnus/nnmail.el +++ b/lisp/gnus/nnmail.el @@ -1572,7 +1572,9 @@ See the documentation for the variable `nnmail-split-fancy' for documentation." (nnmail-split-incoming file ',(intern (format "%s-save-mail" method)) ',spool-func - (nnmail-get-split-group orig-file source) + (if (equal file orig-file) + nil + (nnmail-get-split-group orig-file ',source)) ',(intern (format "%s-active-number" method)))))) (incf total new) (incf i))) diff --git a/lisp/gnus/nnslashdot.el b/lisp/gnus/nnslashdot.el index 37629277350..246a3613a81 100644 --- a/lisp/gnus/nnslashdot.el +++ b/lisp/gnus/nnslashdot.el @@ -397,8 +397,8 @@ (nnweb-decode-entities-string (match-string 1))) (re-search-forward "\\([^<]+\\)") (setq sid (match-string 1)) - (string-match "/\\([0-9/]+\\)\\(.shtml\\|$\\)" sid) - (setq sid (concat "00/" (match-string 1 sid))) + (string-match "sid=\\([0-9/]+\\)\\(.shtml\\|$\\)" sid) + (setq sid (match-string 1 sid)) (re-search-forward "\\([^<]+\\)") (setq articles (string-to-number (match-string 1))) (setq gname (concat description " (" sid ")")) diff --git a/lisp/gnus/pop3.el b/lisp/gnus/pop3.el index aa040d228f0..ed265af8dee 100644 --- a/lisp/gnus/pop3.el +++ b/lisp/gnus/pop3.el @@ -106,6 +106,28 @@ Used for APOP authentication.") ) t) +(defun pop3-get-message-count () + "Return the number of messages in the maildrop." + (let* ((process (pop3-open-server pop3-mailhost pop3-port)) + message-count + (pop3-password pop3-password) + ) + ;; for debugging only + (if pop3-debug (switch-to-buffer (process-buffer process))) + ;; query for password + (if (and pop3-password-required (not pop3-password)) + (setq pop3-password + (pop3-read-passwd (format "Password for %s: " pop3-maildrop)))) + (cond ((equal 'apop pop3-authentication-scheme) + (pop3-apop process pop3-maildrop)) + ((equal 'pass pop3-authentication-scheme) + (pop3-user process pop3-maildrop) + (pop3-pass process)) + (t (error "Invalid POP3 authentication scheme."))) + (setq message-count (car (pop3-stat process))) + (pop3-quit process) + message-count)) + (defun pop3-open-server (mailhost port) "Open TCP connection to MAILHOST on PORT. Returns the process associated with the connection." diff --git a/lisp/gnus/rfc2047.el b/lisp/gnus/rfc2047.el index 1f9ae1d2ce0..f171ba4e068 100644 --- a/lisp/gnus/rfc2047.el +++ b/lisp/gnus/rfc2047.el @@ -304,7 +304,9 @@ The buffer may be narrowed." (goto-char (or break qword-break)) (setq break nil qword-break nil) - (insert "\n ") + (if (looking-at " \t") + (insert "\n") + (insert "\n ")) (setq bol (1- (point))) ;; Don't break before the first non-LWSP characters. (skip-chars-forward " \t") @@ -336,7 +338,9 @@ The buffer may be narrowed." (goto-char (or break qword-break)) (setq break nil qword-break nil) - (insert "\n ") + (if (looking-at " \t") + (insert "\n") + (insert "\n ")) (setq bol (1- (point))) ;; Don't break before the first non-LWSP characters. (skip-chars-forward " \t")