summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShengHuo ZHU <zsh@cs.rochester.edu>2001-01-21 05:33:42 +0000
committerShengHuo ZHU <zsh@cs.rochester.edu>2001-01-21 05:33:42 +0000
commit173f7803235bc1dc96944397c237a677117a6ed5 (patch)
tree861557bcb393eec84dba35fc0348e0a7488a77c0
parent9b34291ce3336575bd182f047e6c13b648290efe (diff)
downloademacs-zsh-sync-ognus-2.tar.gz
2001-01-21 ShengHuo ZHU <zsh@cs.rochester.edu>zsh-sync-ognus-2
* 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.
-rw-r--r--lisp/gnus/ChangeLog27
-rw-r--r--lisp/gnus/gnus-art.el3
-rw-r--r--lisp/gnus/gnus-win.el12
-rw-r--r--lisp/gnus/message.el51
-rw-r--r--lisp/gnus/mm-decode.el2
-rw-r--r--lisp/gnus/mm-util.el4
-rw-r--r--lisp/gnus/nnmail.el4
-rw-r--r--lisp/gnus/nnslashdot.el4
-rw-r--r--lisp/gnus/pop3.el22
-rw-r--r--lisp/gnus/rfc2047.el8
10 files changed, 101 insertions, 36 deletions
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 <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
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 <larsi@gnus.org>
@@ -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 "<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 ")"))
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")