changeset 35453:26726eff41ca zsh-sync-ognus-2

2001-01-21 ShengHuo ZHU <zsh@cs.rochester.edu> * 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 <andrewi@gnu.org>'s patch of 1999-12-01 was not fully committed.
author ShengHuo ZHU <zsh@cs.rochester.edu>
date Sun, 21 Jan 2001 05:33:42 +0000
parents 00c8bb05bc55
children 9890c94c01ea
files lisp/gnus/ChangeLog lisp/gnus/gnus-art.el lisp/gnus/gnus-win.el lisp/gnus/message.el lisp/gnus/mm-decode.el lisp/gnus/mm-util.el lisp/gnus/nnmail.el lisp/gnus/nnslashdot.el lisp/gnus/pop3.el lisp/gnus/rfc2047.el
diffstat 10 files changed, 101 insertions(+), 36 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/gnus/ChangeLog	Sat Jan 20 18:20:59 2001 +0000
+++ b/lisp/gnus/ChangeLog	Sun Jan 21 05:33:42 2001 +0000
@@ -1,3 +1,30 @@
+2001-01-21  ShengHuo ZHU  <zsh@cs.rochester.edu>
+
+	* 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
+	<andrewi@gnu.org>'s patch of 1999-12-01 was not fully committed.
+
 2001-01-08  Dave Love  <fx@gnu.org>
 
 	* mm-encode.el (mm-qp-or-base64): Don't base64 for the sake of a
--- a/lisp/gnus/gnus-art.el	Sat Jan 20 18:20:59 2001 +0000
+++ b/lisp/gnus/gnus-art.el	Sun Jan 21 05:33:42 2001 +0000
@@ -3015,6 +3015,7 @@
   (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 @@
   (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)
--- a/lisp/gnus/gnus-win.el	Sat Jan 20 18:20:59 2001 +0000
+++ b/lisp/gnus/gnus-win.el	Sun Jan 21 05:33:42 2001 +0000
@@ -452,11 +452,15 @@
 		    (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 @@
 		  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)
--- a/lisp/gnus/message.el	Sat Jan 20 18:20:59 2001 +0000
+++ b/lisp/gnus/message.el	Sun Jan 21 05:33:42 2001 +0000
@@ -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 <larsi@gnus.org>
@@ -1975,7 +1975,8 @@
 	       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 @@
       (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 @@
 		(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 @@
 	      (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)
--- a/lisp/gnus/mm-decode.el	Sat Jan 20 18:20:59 2001 +0000
+++ b/lisp/gnus/mm-decode.el	Sun Jan 21 05:33:42 2001 +0000
@@ -730,7 +730,7 @@
       (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."
--- a/lisp/gnus/mm-util.el	Sat Jan 20 18:20:59 2001 +0000
+++ b/lisp/gnus/mm-util.el	Sun Jan 21 05:33:42 2001 +0000
@@ -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
--- a/lisp/gnus/nnmail.el	Sat Jan 20 18:20:59 2001 +0000
+++ b/lisp/gnus/nnmail.el	Sun Jan 21 05:33:42 2001 +0000
@@ -1572,7 +1572,9 @@
 			(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)))
--- a/lisp/gnus/nnslashdot.el	Sat Jan 20 18:20:59 2001 +0000
+++ b/lisp/gnus/nnslashdot.el	Sun Jan 21 05:33:42 2001 +0000
@@ -397,8 +397,8 @@
 		    (nnweb-decode-entities-string (match-string 1)))
 	      (re-search-forward "<url>\\([^<]+\\)</url>")
 	      (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 "<comments>\\([^<]+\\)</comments>")
 	      (setq articles (string-to-number (match-string 1)))
 	      (setq gname (concat description " (" sid ")"))
--- a/lisp/gnus/pop3.el	Sat Jan 20 18:20:59 2001 +0000
+++ b/lisp/gnus/pop3.el	Sun Jan 21 05:33:42 2001 +0000
@@ -106,6 +106,28 @@
     )
   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."
--- a/lisp/gnus/rfc2047.el	Sat Jan 20 18:20:59 2001 +0000
+++ b/lisp/gnus/rfc2047.el	Sun Jan 21 05:33:42 2001 +0000
@@ -304,7 +304,9 @@
 	  (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 @@
 	(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")