From 6057cde886e4475fef5d193cab2e674bd315bfd1 Mon Sep 17 00:00:00 2001 From: ichikawa Date: Sat, 22 Aug 1998 15:46:56 +0000 Subject: [PATCH] Sync up with gnus-5.6.39 --- ChangeLog | 6 +++ lisp/ChangeLog | 41 ++++++++++++++ lisp/gnus-art.el | 17 ++++-- lisp/gnus-group.el | 2 +- lisp/gnus-msg.el | 150 +++++++++++++++++++++++++++++----------------------- lisp/gnus-start.el | 14 ++--- lisp/gnus-sum.el | 4 +- lisp/gnus-topic.el | 9 ++-- lisp/gnus-uu.el | 3 +- lisp/gnus.el | 10 ++-- lisp/nnmail.el | 3 +- lisp/nnweb.el | 4 +- texi/gnus.texi | 6 +++ 13 files changed, 177 insertions(+), 92 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1b00a4e..8924326 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +1998-08-23 Tatsuya Ichikawa + + * lisp/gnus.el (gnus-version-number): Update to 6.8.15. + + * Sync up with Gnus 5.6.39. + 1998-08-20 Tatsuya Ichikawa * lisp/gnus.el (gnus-version-number): Update to 6.8.14. diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 9b31bb0..5fe208e 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,44 @@ +Sat Aug 22 10:28:25 1998 Lars Magne Ingebrigtsen + + * gnus.el: Gnus v5.6.39 is released. + +1998-08-22 10:06:03 Lars Magne Ingebrigtsen + + * gnus-art.el (gnus-ignored-headers): Added more headers. + +1998-08-21 02:49:56 Lars Magne Ingebrigtsen + + * nnweb.el (nnweb-type): Doc fix. + + * gnus-sum.el (gnus-summary-set-process-mark): Move to the right + article. + +1998-08-20 23:10:01 Lars Magne Ingebrigtsen + + * nnmail.el (nnmail-spool-file): Allow lists of files. + +1998-08-20 Per Starback + + * gnus/gnus-start.el (gnus-check-first-time-used): Change current + buffer before creating help group. + +1998-08-20 01:33:08 Lars Magne Ingebrigtsen + + * gnus-msg.el (gnus-message-style-insertions): New variable. + (gnus-message-insert-stylings): New function. + (gnus-configure-posting-styles): Use them. + + * gnus-topic.el (gnus-topic-mode): Don't alter summary-exit-hook. + + * gnus-sum.el (gnus-select-newsgroup): Don't update group. + + * gnus-msg.el (gnus-setup-message): Bind message-mode-hook. + (gnus-inhibit-posting-styles): New variable. + (gnus-summary-reply): Use it. + (gnus-configure-posting-styles): Ditto. + + * gnus-group.el (gnus-group-suspend): Don't kill dribble buffer. + Thu Aug 20 00:28:35 1998 Lars Magne Ingebrigtsen * gnus.el: Gnus v5.6.38 is released. diff --git a/lisp/gnus-art.el b/lisp/gnus-art.el index 6f4d9bf..957c13b 100644 --- a/lisp/gnus-art.el +++ b/lisp/gnus-art.el @@ -94,10 +94,19 @@ :group 'gnus-article) (defcustom gnus-ignored-headers - '("^Path:" "^Posting-Version:" "^Article-I.D.:" "^Expires:" - "^Date-Received:" "^References:" "^Control:" "^Xref:" "^Lines:" - "^Posted:" "^Relay-Version:" "^Message-ID:" "^Nf-ID:" "^Nf-From:" - "^Approved:" "^Sender:" "^Received:" "^Mail-from:") + '("^Path:" "^Expires:" "^Date-Received:" "^References:" "^Xref:" "^Lines:" + "^Relay-Version:" "^Message-ID:" "^Approved:" "^Sender:" "^Received:" + "^X-UIDL:" "^MIME-Version:" "^Return-Path:" "^In-Reply-To:" + "^Content-Type:" "^Content-Transfer-Encoding:" "^X-WebTV-Signature:" + "^X-MimeOLE:" "^X-MSMail-Priority:" "^X-Priority:" "^X-Loop:" + "^X-Authentication-Warning:" "^X-MIME-Autoconverted:" "^X-Face:" + "^X-Attribution:" "^X-Originating-IP:" "^Delivered-To:" + "^NNTP-[-A-Za-z]*:" "^Distribution:" "^X-no-archive:" "^X-Trace:" + "^X-Complaints-To:" "^X-NNTP-Posting-Host:" "^X-Orig.*:" + "^Abuse-Reports-To:" "^Cache-Post-Path:" "^X-Article-Creation-Date:" + "^X-Poster:" "^X-Mail2News-Path:" "^X-Server-Date:" "^X-Cache:" + "^Originator:" "^X-Problems-To:" "^X-Auth-User:" "^X-Post-Time:" + "^X-Admin:" "^X-UID:") "*All headers that start with this regexp will be hidden. This variable can also be a list of regexps of headers to be ignored. If `gnus-visible-headers' is non-nil, this variable will be ignored." diff --git a/lisp/gnus-group.el b/lisp/gnus-group.el index 66ffb0c..03ec6d9 100644 --- a/lisp/gnus-group.el +++ b/lisp/gnus-group.el @@ -3167,7 +3167,7 @@ The hook gnus-suspend-gnus-hook is called before actually suspending." ;; Kill Gnus buffers except for group mode buffer. (let ((group-buf (get-buffer gnus-group-buffer))) (mapcar (lambda (buf) - (unless (equal buf group-buf) + (unless (member buf (list group-buf gnus-dribble-buffer)) (kill-buffer buf))) (gnus-buffers)) (gnus-kill-gnus-frames) diff --git a/lisp/gnus-msg.el b/lisp/gnus-msg.el index b9425a7..310c701 100644 --- a/lisp/gnus-msg.el +++ b/lisp/gnus-msg.el @@ -111,6 +111,9 @@ the second with the current group name.") ;;; Internal variables. +(defvar gnus-inhibit-posting-styles nil + "Inhibit the use of posting styles.") + (defvar gnus-message-buffer "*Mail Gnus*") (defvar gnus-article-copy nil) (defvar gnus-last-posting-server nil) @@ -186,7 +189,8 @@ Thank you for your help in stamping out bugs. (,article (and gnus-article-reply (gnus-summary-article-number))) (,group gnus-newsgroup-name) (message-header-setup-hook - (copy-sequence message-header-setup-hook))) + (copy-sequence message-header-setup-hook)) + (message-mode-hook (copy-sequence message-mode-hook))) (add-hook 'message-header-setup-hook 'gnus-inews-insert-gcc) (add-hook 'message-header-setup-hook 'gnus-inews-insert-archive-gcc) (add-hook 'message-mode-hook 'gnus-configure-posting-styles) @@ -592,7 +596,8 @@ automatically." ;; Stripping headers should be specified with mail-yank-ignored-headers. (when yank (gnus-summary-goto-subject (car yank))) - (let ((gnus-article-reply t)) + (let ((gnus-article-reply t) + (gnus-inhibit-posting-styles t)) (gnus-setup-message (if yank 'reply-yank 'reply) (gnus-summary-select-article) (set-buffer (gnus-copy-article-buffer)) @@ -1060,73 +1065,86 @@ this is a reply." ;;; Posting styles. +(defvar gnus-message-style-insertions nil) + (defun gnus-configure-posting-styles () "Configure posting styles according to `gnus-posting-styles'." - (let ((styles gnus-posting-styles) - (gnus-newsgroup-name (or gnus-newsgroup-name "")) - style match variable attribute value value-value) - ;; Go through all styles and look for matches. - (while styles - (setq style (pop styles) - match (pop style)) - (when (cond ((stringp match) - ;; Regexp string match on the group name. - (string-match match gnus-newsgroup-name)) - ((or (symbolp match) - (gnus-functionp match)) - (cond ((gnus-functionp match) - ;; Function to be called. - (funcall match)) - ((boundp match) - ;; Variable to be checked. - (symbol-value match)))) - ((listp match) - ;; This is a form to be evaled. - (eval match))) - ;; We have a match, so we set the variables. - (while style - (setq attribute (pop style) - value (cadr attribute) - variable nil) - ;; We find the variable that is to be modified. - (if (and (not (stringp (car attribute))) - (not (eq 'body (car attribute))) - (not (setq variable (cdr (assq (car attribute) - gnus-posting-style-alist))))) - (message "Couldn't find attribute %s" (car attribute)) - ;; We get the value. - (setq value-value - (cond ((stringp value) - value) - ((or (symbolp value) - (gnus-functionp value)) - (cond ((gnus-functionp value) - (funcall value)) - ((boundp value) - (symbol-value value)))) - ((listp value) - (eval value)))) - (if variable - ;; This is an ordinary variable. - (set (make-local-variable variable) value-value) - ;; This is either a body or a header to be inserted in the - ;; message. - (when value-value - (let ((attr (car attribute))) - (make-local-variable 'message-setup-hook) - (if (eq 'body attr) + (unless gnus-inhibit-posting-styles + (let ((styles gnus-posting-styles) + (gnus-newsgroup-name (or gnus-newsgroup-name "")) + style match variable attribute value value-value) + (make-local-variable 'gnus-message-style-insertions) + ;; Go through all styles and look for matches. + (while styles + (setq style (pop styles) + match (pop style)) + (when (cond ((stringp match) + ;; Regexp string match on the group name. + (string-match match gnus-newsgroup-name)) + ((or (symbolp match) + (gnus-functionp match)) + (cond ((gnus-functionp match) + ;; Function to be called. + (funcall match)) + ((boundp match) + ;; Variable to be checked. + (symbol-value match)))) + ((listp match) + ;; This is a form to be evaled. + (eval match))) + ;; We have a match, so we set the variables. + (while style + (setq attribute (pop style) + value (cadr attribute) + variable nil) + ;; We find the variable that is to be modified. + (if (and (not (stringp (car attribute))) + (not (eq 'body (car attribute))) + (not (setq variable + (cdr (assq (car attribute) + gnus-posting-style-alist))))) + (message "Couldn't find attribute %s" (car attribute)) + ;; We get the value. + (setq value-value + (cond ((stringp value) + value) + ((or (symbolp value) + (gnus-functionp value)) + (cond ((gnus-functionp value) + (funcall value)) + ((boundp value) + (symbol-value value)))) + ((listp value) + (eval value)))) + (if variable + ;; This is an ordinary variable. + (set (make-local-variable variable) value-value) + ;; This is either a body or a header to be inserted in the + ;; message. + (when value-value + (let ((attr (car attribute))) + (make-local-variable 'message-setup-hook) + (if (eq 'body attr) + (add-hook 'message-setup-hook + `(lambda () + (save-excursion + (message-goto-body) + (insert ,value-value)))) (add-hook 'message-setup-hook - `(lambda () - (save-excursion - (message-goto-body) - (insert ,value-value)))) - (add-hook - 'message-setup-hook - `(lambda () - (save-excursion - (message-goto-eoh) - (insert ,(if (stringp attr) attr (symbol-name attr)) - ": " ,value-value "\n")))))))))))))) + 'gnus-message-insert-stylings) + (push (cons (if (stringp attr) attr + (symbol-name attr)) + value-value) + gnus-message-style-insertions)))))))))))) + +(defun gnus-message-insert-stylings () + (let (val) + (save-excursion + (message-goto-eoh) + (while (setq val (pop gnus-message-style-insertions)) + (when (cdr val) + (insert (car val) ": " (cdr val) "\n")) + (gnus-pull (car val) gnus-message-style-insertions))))) ;;; Allow redefinition of functions. diff --git a/lisp/gnus-start.el b/lisp/gnus-start.el index 60c936d..95a3527 100644 --- a/lisp/gnus-start.el +++ b/lisp/gnus-start.el @@ -254,8 +254,6 @@ for your decision; `gnus-subscribe-killed' kills all new groups; (function-item gnus-subscribe-zombies) function)) -;; Suggested by a bug report by Hallvard B Furuseth. -;; . (defcustom gnus-subscribe-options-newsgroup-method 'gnus-subscribe-alphabetically "*This function is called to subscribe newsgroups mentioned on \"options -n\" lines. @@ -1052,13 +1050,13 @@ for new groups, and subscribe the new groups as zombies." ;; Go through both primary and secondary select methods and ;; request new newsgroups. (while (setq method (gnus-server-get-method nil (pop methods))) - (setq new-newsgroups nil) - (setq gnus-override-subscribe-method method) + (setq new-newsgroups nil + gnus-override-subscribe-method method) (when (and (gnus-check-server method) (gnus-request-newgroups date method)) (save-excursion - (setq got-new t) - (setq hashtb (gnus-make-hashtable 100)) + (setq got-new t + hashtb (gnus-make-hashtable 100)) (set-buffer nntp-server-buffer) ;; Enter all the new groups into a hashtable. (gnus-active-to-gnus-format method hashtb 'ignore)) @@ -1137,7 +1135,9 @@ for new groups, and subscribe the new groups as zombies." (gnus-group-change-level (car groups) gnus-level-default-subscribed gnus-level-killed)) (setq groups (cdr groups))) - (gnus-group-make-help-group) + (save-excursion + (set-buffer gnus-group-buffer) + (gnus-group-make-help-group)) (when gnus-novice-user (gnus-message 7 "`A k' to list killed groups")))))) diff --git a/lisp/gnus-sum.el b/lisp/gnus-sum.el index 1bd7981..e054214 100644 --- a/lisp/gnus-sum.el +++ b/lisp/gnus-sum.el @@ -3887,8 +3887,6 @@ If SELECT-ARTICLES, only select those articles from GROUP." (setq gnus-newsgroup-processable nil) (gnus-update-read-articles group gnus-newsgroup-unreads) - (unless (gnus-ephemeral-group-p gnus-newsgroup-name) - (gnus-group-update-group group)) (if (setq articles select-articles) (setq gnus-newsgroup-unselected @@ -7609,6 +7607,7 @@ the actual number of articles marked is returned." (delq article gnus-newsgroup-processable))) (when (gnus-summary-goto-subject article) (gnus-summary-show-thread) + (gnus-summary-goto-subject article) (gnus-summary-update-secondary-mark article))) (defun gnus-summary-remove-process-mark (article) @@ -7616,6 +7615,7 @@ the actual number of articles marked is returned." (setq gnus-newsgroup-processable (delq article gnus-newsgroup-processable)) (when (gnus-summary-goto-subject article) (gnus-summary-show-thread) + (gnus-summary-goto-subject article) (gnus-summary-update-secondary-mark article))) (defun gnus-summary-set-saved-mark (article) diff --git a/lisp/gnus-topic.el b/lisp/gnus-topic.el index cd211a7..3f2b2af 100644 --- a/lisp/gnus-topic.el +++ b/lisp/gnus-topic.el @@ -627,7 +627,7 @@ articles in the topic and its subtopics." (parent (gnus-topic-parent-topic topic-name)) (all-entries entries) (unread 0) - old-unread entry) + old-unread entry new-unread) (when (gnus-topic-goto-topic (car type)) ;; Tally all the groups that belong in this topic. (if reads @@ -643,12 +643,14 @@ articles in the topic and its subtopics." (car type) (gnus-topic-visible-p) (not (eq (nth 2 type) 'hidden)) (gnus-group-topic-level) all-entries unread) - (gnus-delete-line)) + (gnus-delete-line) + (forward-line -1) + (setq new-unread (gnus-group-topic-unread))) (when parent (forward-line -1) (gnus-topic-update-topic-line parent - (max 0 (- (or old-unread 0) (or (gnus-group-topic-unread) 0))))) + (- (or old-unread 0) (or new-unread 0)))) unread)) (defun gnus-topic-group-indentation () @@ -984,7 +986,6 @@ articles in the topic and its subtopics." (gnus-topic-make-menu-bar)) (gnus-set-format 'topic t) (gnus-add-minor-mode 'gnus-topic-mode " Topic" gnus-topic-mode-map) - (add-hook 'gnus-summary-exit-hook 'gnus-topic-update-topic) (add-hook 'gnus-group-catchup-group-hook 'gnus-topic-update-topic) (set (make-local-variable 'gnus-group-prepare-function) 'gnus-group-prepare-topics) diff --git a/lisp/gnus-uu.el b/lisp/gnus-uu.el index f937bbe..dee2d04 100644 --- a/lisp/gnus-uu.el +++ b/lisp/gnus-uu.el @@ -1090,8 +1090,7 @@ didn't work, and overwrite existing files. Otherwise, ask each time." (gnus-uu-reginize-string (gnus-summary-article-subject)))) list-of-subjects) (save-excursion - (if (not subject) - () + (when subject ;; Collect all subjects matching subject. (let ((case-fold-search t) (data gnus-newsgroup-data) diff --git a/lisp/gnus.el b/lisp/gnus.el index 97a1eda..d8daa9d 100644 --- a/lisp/gnus.el +++ b/lisp/gnus.el @@ -253,11 +253,11 @@ is restarted, and sometimes reloaded." (defconst gnus-product-name "T-gnus" "Product name of this version of gnus.") -(defconst gnus-version-number "6.8.14" +(defconst gnus-version-number "6.8.15" "Version number for this version of gnus.") (defconst gnus-version - (format "%s %s (based on Gnus 5.6.38; for SEMI 1.8, FLIM 1.8/1.9)" + (format "%s %s (based on Gnus 5.6.39; for SEMI 1.8, FLIM 1.8/1.9)" gnus-product-name gnus-version-number) "Version string for this version of gnus.") @@ -2266,9 +2266,11 @@ that that variable is buffer-local to the summary buffers." (gnus-server-to-method method)) ((equal method gnus-select-method) gnus-select-method) - ((and (stringp (car method)) group) + ((and (stringp (car method)) + group) (gnus-server-extend-method group method)) - ((and method (not group) + ((and method + (not group) (equal (cadr method) "")) method) (t diff --git a/lisp/nnmail.el b/lisp/nnmail.el index c40f62c..bc8d1f5 100644 --- a/lisp/nnmail.el +++ b/lisp/nnmail.el @@ -182,7 +182,8 @@ used as incoming mailboxes. If this variable is a directory (i. e., it's name ends with a \"/\"), treat all files in that directory as incoming spool files." :group 'nnmail-files - :type 'file) + :type '(choice (file :tag "File") + (repeat :tag "Files" file))) (defcustom nnmail-crash-box "~/.gnus-crash-box" "File where Gnus will store mail while processing it." diff --git a/lisp/nnweb.el b/lisp/nnweb.el index 321508c..5a673cd 100644 --- a/lisp/nnweb.el +++ b/lisp/nnweb.el @@ -46,7 +46,9 @@ "Where nnweb will save its files.") (defvoo nnweb-type 'dejanews - "What search engine type is being used.") + "What search engine type is being used. +Valid types include `dejanews', `dejanewsold', `reference', +and `altavista'.") (defvoo nnweb-type-definition '((dejanews diff --git a/texi/gnus.texi b/texi/gnus.texi index 22d365b..5b8a226 100644 --- a/texi/gnus.texi +++ b/texi/gnus.texi @@ -15840,13 +15840,16 @@ Rajappa Iyer, Andreas Jaeger, Randell Jesup, Fred Johansen, +Gareth Jones, Simon Josefsson, Greg Klanderman, Karl Kleinpaste, Peter Skov Knudsen, Shuhei Kobayashi, @c Kobayashi +Koseki Yoshinori, @c Koseki Thor Kristoffersen, Jens Lautenbacher, +Martin Larose, Seokchan Lee, @c Lee Carsten Leonhardt, James LewisMoss, @@ -15878,7 +15881,9 @@ William Perry, Stephen Peters, Jens-Ulrik Holger Petersen, Ulrich Pfeifer, +Matt Pharr, John McClary Prevost, +Bill Pringlemeir, Mike Pullen, Jim Radford, Colin Rafferty, @@ -15917,6 +15922,7 @@ Teddy, Chuck Thompson, Philippe Troin, James Troup, +Trung Tran-Duc, Aaron M. Ucko, Aki Vehtari, Didier Verna, -- 1.7.10.4