From: Lars Magne Ingebrigtsen Date: Wed, 5 Mar 1997 01:27:39 +0000 (+0000) Subject: *** empty log message *** X-Git-Url: http://cgit.sxemacs.org/?a=commitdiff_plain;h=27e50870dcbd1442e8fe2d14ddfb89cd7c706495;p=gnus *** empty log message *** --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 405d91287..0b005f25a 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,76 @@ +Mon Dec 16 14:33:58 1996 Lars Magne Ingebrigtsen + + * gnus-msg.el (gnus-bug): Insert nntp server type. + (gnus-copy-article-buffer): Remove prev/next buttons. + + * gnus-cache.el (gnus-jog-cache): Let the call func be + interactive. + + * gnus-art.el (gnus-summary-save-in-pipe): Include number of + articles. + (gnus-article-add-buttons): Don't add buttons to already + buttonized areas. + + * nntp.el (nntp-open-connection): Allow `C-g' to continue. + + * nnbabyl.el (nnbabyl-retrieve-headers): Wouldn't find all + articles sometimes. + + * gnus-sum.el (gnus-data-compute-positions): Reinstated. + (gnus-remove-thread): Do the right thing with dummy roots. + + * nndoc.el (nndoc-request-article): Only return valid articles. + + * nnfolder.el (nnfolder-delete-mail): Wouldn't delete From lines. + + * gnus-topic.el (gnus-topic-find-groups): Ignore nil groups. + + * nnfolder.el (nnfolder-save-mail): Quote all "From " lines. + +Sat Dec 14 11:49:21 1996 David Moore + + * gnus-nocem.el (gnus-nocem-groups): + news.admin.net-abuse.bulletins is to replace + news.admin.net-abuse.announce for nocemish postings. + +Mon Dec 16 13:38:38 1996 Lars Magne Ingebrigtsen + + * nnmail.el (nnmail-move-inbox): Message at end. + + * gnus-sum.el (gnus-summary-refer-parent-article): Use + "in-reply-to" header. + + * gnus-topic.el (gnus-topic-set-parameters): Enter into dribble. + + * gnus-sum.el (gnus-summary-save-newsrc): Change. + (gnus-summary-catchup): Only catch up the limited articles. + (gnus-simplify-subject-fuzzy-regexp): Changed to nil. + (gnus-simplify-buffer-fuzzy): Ignore nil + gnus-simplify-subject-fuzzy-regexp. + + * gnus-srvr.el (gnus-server-prepare): Don't insert servers twice. + +Thu Dec 12 18:18:11 1996 David Moore + + * gnus-start.el (gnus-setup-news): Use gnus-make-hashtable. + (gnus-update-active-hashtb-from-killed): ditto. + (gnus-newsrc-to-gnus-format): ditto. + + * gnus-bcklg.el (gnus-backlog-setup): ditto. + + * gnus-sum.el (gnus-create-xref-hashtb): ditto. + + * gnus-move.el (gnus-move-group-to-server): ditto. + + * gnus-util.el (gnus-create-hash-size): Power of 2 hashtables can + be _significantly_ faster than 2^x-1 tables on many risc + machines. Any gains of 2^x-1 are comparably small on other + machines. + +Fri Dec 13 05:05:03 1996 Lars Magne Ingebrigtsen + + * gnus.el: Red Gnus v0.75 is released. + Fri Dec 13 04:49:21 1996 Andre Deparade * gnus-cite.el (gnus-cited-text-button-line-format-alist): Make %b diff --git a/lisp/gnus-art.el b/lisp/gnus-art.el index c84272fb2..22102bf82 100644 --- a/lisp/gnus-art.el +++ b/lisp/gnus-art.el @@ -546,8 +546,15 @@ The directory to save in defaults to `gnus-article-save-directory'." (cond ((eq command 'default) gnus-last-shell-command) (command command) - (t (read-string "Shell command on article: " - gnus-last-shell-command)))) + (t (read-string + (format + "Shell command on %s: " + (if (and gnus-number-of-articles-to-be-saved + (> gnus-number-of-articles-to-be-saved 1)) + (format "these %d articles" + gnus-number-of-articles-to-be-saved) + "this article")) + gnus-last-shell-command)))) (when (string-equal command "") (setq command gnus-last-shell-command)) (gnus-eval-in-buffer-window gnus-article-buffer @@ -1734,8 +1741,9 @@ specified by `gnus-button-alist'." (let* ((start (and entry (match-beginning (nth 1 entry)))) (end (and entry (match-end (nth 1 entry)))) (from (match-beginning 0))) - (when (or (eq t (nth 1 entry)) - (eval (nth 1 entry))) + (when (and (or (eq t (nth 1 entry)) + (eval (nth 1 entry))) + (not (get-text-property (point) 'gnus-callback))) ;; That optional form returned non-nil, so we add the ;; button. (gnus-article-add-button diff --git a/lisp/gnus-bcklg.el b/lisp/gnus-bcklg.el index 5f30c3cdf..ee01d5cff 100644 --- a/lisp/gnus-bcklg.el +++ b/lisp/gnus-bcklg.el @@ -48,7 +48,7 @@ (defun gnus-backlog-setup () "Initialize backlog variables." (unless gnus-backlog-hashtb - (setq gnus-backlog-hashtb (make-vector 1023 0)))) + (setq gnus-backlog-hashtb (gnus-make-hashtable 1024)))) (gnus-add-shutdown 'gnus-backlog-shutdown 'gnus) diff --git a/lisp/gnus-cache.el b/lisp/gnus-cache.el index 721b4ff78..00136f10a 100644 --- a/lisp/gnus-cache.el +++ b/lisp/gnus-cache.el @@ -541,6 +541,7 @@ $ emacs -batch -l ~/.emacs -l gnus -f gnus-jog-cache" (gnus-group-universal-argument nil nil (lambda () + (interactive) (gnus-summary-read-group (gnus-group-group-name) nil t) ;; ... and enter the articles into the cache. (when (eq major-mode 'gnus-summary-mode) diff --git a/lisp/gnus-move.el b/lisp/gnus-move.el index 12c926036..8be17e76a 100644 --- a/lisp/gnus-move.el +++ b/lisp/gnus-move.el @@ -63,7 +63,7 @@ Update the .newsrc.eld file to reflect the change of nntp server." (gnus-message 7 "Translating %s..." group) (when (gnus-request-group group nil to-server) (setq to-active (gnus-parse-active) - hashtb (make-vector 1023 0)) + hashtb (gnus-make-hashtable 1024)) ;; Fetch the headers from the `to-server'. (when (and to-active (setq type (gnus-retrieve-headers diff --git a/lisp/gnus-msg.el b/lisp/gnus-msg.el index df5ec159b..04fd0585b 100644 --- a/lisp/gnus-msg.el +++ b/lisp/gnus-msg.el @@ -328,6 +328,8 @@ header line with the old Message-ID." (copy-to-buffer gnus-article-copy (point-min) (point-max)) (set-buffer gnus-article-copy) (article-delete-text-of-type 'annotation) + (gnus-remove-text-with-property 'gnus-prev) + (gnus-remove-text-with-property 'gnus-next) (insert (prog1 (format "%s" (buffer-string)) @@ -745,6 +747,7 @@ If YANK is non-nil, include the original article." (when yank (gnus-inews-yank-articles (list (cdr gnus-article-current))))))) +(defvar nntp-server-type) (defun gnus-bug () "Send a bug report to the Gnus maintainers." (interactive) @@ -763,7 +766,10 @@ If YANK is non-nil, include the original article." (re-search-forward (concat "^" (regexp-quote mail-header-separator) "$")) (forward-line 1) (insert (gnus-version) "\n") - (insert (emacs-version)) + (insert (emacs-version) "\n") + (when (and (boundp 'nntp-server-type) + (stringp nntp-server-type)) + (insert nntp-server-type)) (insert "\n\n\n\n\n") (gnus-debug) (goto-char (point-min)) diff --git a/lisp/gnus-nocem.el b/lisp/gnus-nocem.el index d5b1f6ac6..4e80e2f43 100644 --- a/lisp/gnus-nocem.el +++ b/lisp/gnus-nocem.el @@ -36,7 +36,8 @@ :group 'gnus-score) (defcustom gnus-nocem-groups - '("news.lists.filters" "alt.nocem.misc" "news.admin.net-abuse.announce") + '("news.lists.filters" "news.admin.net-abuse.bulletins" + "alt.nocem.misc" "news.admin.net-abuse.announce") "List of groups that will be searched for NoCeM messages." :group 'gnus-nocem :type '(repeat (string :tag "Group"))) diff --git a/lisp/gnus-srvr.el b/lisp/gnus-srvr.el index 9df232a2c..0cbfc2336 100644 --- a/lisp/gnus-srvr.el +++ b/lisp/gnus-srvr.el @@ -206,14 +206,15 @@ The following commands are available: (setq gnus-inserted-opened-servers nil) ;; First we do the real list of servers. (while alist - (push (cdr (setq server (pop alist))) done) + (push (caar alist) done) + (cdr (setq server (pop alist))) (when (and server (car server) (cdr server)) (gnus-server-insert-server-line (car server) (cdr server)))) ;; Then we insert the list of servers that have been opened in ;; this session. (while opened - (unless (member (caar opened) done) - (push (caar opened) done) + (unless (member (cadaar opened) done) + (push (cadaar opened) done) (gnus-server-insert-server-line (setq op-ser (format "%s:%s" (caaar opened) (nth 1 (caar opened)))) (caar opened)) diff --git a/lisp/gnus-start.el b/lisp/gnus-start.el index d12c1883c..0f45e5099 100644 --- a/lisp/gnus-start.el +++ b/lisp/gnus-start.el @@ -832,7 +832,7 @@ If LEVEL is non-nil, the news will be set up at level LEVEL." (gnus-read-active-file)) (unless gnus-active-hashtb - (setq gnus-active-hashtb (make-vector 4095 0))) + (setq gnus-active-hashtb (gnus-make-hashtable 4096))) ;; Initialize the cache. (when gnus-use-cache @@ -1503,7 +1503,7 @@ newsgroup." ;; Enter all dead groups into the hashtb. (defun gnus-update-active-hashtb-from-killed () - (let ((hashtb (setq gnus-active-hashtb (make-vector 4095 0))) + (let ((hashtb (setq gnus-active-hashtb (gnus-make-hashtable 4096))) (lists (list gnus-killed-list gnus-zombie-list)) killed) (while lists @@ -1683,7 +1683,7 @@ newsgroup." ;; if group is moderated, stick in moderation table (when (= (following-char) ?m) (unless gnus-moderated-hashtb - (setq gnus-moderated-hashtb (make-vector 127 0))) + (setq gnus-moderated-hashtb (gnus-make-hashtable))) (gnus-sethash (symbol-name group) t gnus-moderated-hashtb))) (set group nil))) @@ -1898,7 +1898,7 @@ If FORCE is non-nil, the .newsrc file is read." (setq gnus-newsrc-options-n nil) (unless gnus-active-hashtb - (setq gnus-active-hashtb (make-vector 4095 0))) + (setq gnus-active-hashtb (gnus-make-hashtable 4096))) (let ((buf (current-buffer)) (already-read (> (length gnus-newsrc-alist) 1)) group subscribed options-symbol newsrc Options-symbol diff --git a/lisp/gnus-sum.el b/lisp/gnus-sum.el index 879ef9d69..9f21ed5da 100644 --- a/lisp/gnus-sum.el +++ b/lisp/gnus-sum.el @@ -261,7 +261,7 @@ will not be marked." :group 'gnus-summary-format :type 'integer) -(defcustom gnus-simplify-subject-fuzzy-regexp "" +(defcustom gnus-simplify-subject-fuzzy-regexp nil "*Strings to be removed when doing fuzzy matches. This can either be a regular expression or list of regular expressions that will be removed from subject strings if fuzzy subject @@ -1189,13 +1189,16 @@ If RE-ONLY is non-nil, strip leading `Re:'s only." (re-search-forward "^ *\\(re\\|fwd\\)[[{(^0-9]*[])}]?[:;] *" nil t) (goto-char (match-beginning 0)) (while (or - (looking-at gnus-simplify-subject-fuzzy-regexp) + (and + gnus-simplify-subject-fuzzy-regexp + (looking-at gnus-simplify-subject-fuzzy-regexp)) (looking-at "^ *\\(re\\|fwd\\)[[{(^0-9]*[])}]?[:;] *") (looking-at "^[[].*: .*[]]$")) (goto-char (point-min)) - (while (re-search-forward gnus-simplify-subject-fuzzy-regexp - nil t) - (replace-match "" t t)) + (when gnus-simplify-subject-fuzzy-regexp + (while (re-search-forward gnus-simplify-subject-fuzzy-regexp + nil t) + (replace-match "" t t))) (goto-char (point-min)) (while (re-search-forward "^ *\\(re\\|fw\\|fwd\\)[[{(^0-9]*[])}]?[:;] *" nil t) @@ -1975,7 +1978,7 @@ increase the score of each group you read." ["Exit and goto prev group" gnus-summary-prev-group t] ["Reselect group" gnus-summary-reselect-current-group t] ["Rescan group" gnus-summary-rescan-group t] - ["Save newsrc" gnus-summary-save-newsrc t]))) + ["Update dribble" gnus-summary-save-newsrc t]))) (run-hooks 'gnus-summary-menu-hook))) @@ -2246,6 +2249,17 @@ The following commands are available: (setcar (nthcdr 2 (car data)) (+ offset (nth 2 (car data)))) (setq data (cdr data)))) +(defun gnus-data-compute-positions () + "Compute the positions of all articles." + (let ((data gnus-newsgroup-data) + pos) + (while data + (when (setq pos (text-property-any + (point-min) (point-max) + 'gnus-number (gnus-data-number (car data)))) + (gnus-data-set-pos (car data) (+ pos 3))) + (setq data (cdr data))))) + (defun gnus-summary-article-pseudo-p (article) "Say whether this article is a pseudo article or not." (not (vectorp (gnus-data-header (gnus-data-find article))))) @@ -2874,7 +2888,7 @@ If NO-DISPLAY, don't generate a summary buffer." "Gather threads by looking at Subject headers." (if (not gnus-summary-make-false-root) threads - (let ((hashtb (gnus-make-hashtable 1023)) + (let ((hashtb (gnus-make-hashtable 1024)) (prev threads) (result threads) subject hthread whole-subject) @@ -2904,8 +2918,8 @@ If NO-DISPLAY, don't generate a summary buffer." (defun gnus-gather-threads-by-references (threads) "Gather threads by looking at References headers." - (let ((idhashtb (gnus-make-hashtable 1023)) - (thhashtb (gnus-make-hashtable 1023)) + (let ((idhashtb (gnus-make-hashtable 1024)) + (thhashtb (gnus-make-hashtable 1024)) (prev threads) (result threads) ids references id gthread gid entered ref) @@ -3317,8 +3331,8 @@ If NO-DISPLAY, don't generate a summary buffer." ;; If we use dummy roots, then we have to remove the ;; dummy root as well. (when (eq gnus-summary-make-false-root 'dummy) - ;; Uhm. - ) + (gnus-delete-line) + (gnus-data-compute-positions)) (setq thread (cdr thread)) (while thread (gnus-remove-thread-1 (car thread)) @@ -4102,7 +4116,7 @@ If WHERE is `summary', the summary mode line format will be used." The resulting hash table is returned, or nil if no Xrefs were found." (let* ((virtual (gnus-virtual-group-p from-newsgroup)) (prefix (if virtual "" (gnus-group-real-prefix from-newsgroup))) - (xref-hashtb (make-vector 63 0)) + (xref-hashtb (gnus-make-hashtable)) start group entry number xrefs header) (while headers (setq header (pop headers)) @@ -4940,13 +4954,13 @@ The prefix argument ALL means to select all articles." (unless (gnus-ephemeral-group-p gnus-newsgroup-name) (gnus-group-update-group group)))))) -(defun gnus-summary-save-newsrc () - "Save the .newsrc file. -The current number of read/marked articles in the summary buffer -will also be saved." +(defun gnus-summary-save-newsrc (&optional force) + "Save the current number of read/marked articles in the dribble buffer. +If FORCE (the prefix), also save the .newsrc file(s)." (interactive) (gnus-summary-update-info) - (gnus-save-newsrc-file)) + (when force + (gnus-save-newsrc-file))) (defun gnus-summary-exit (&optional temporary) "Exit reading current newsgroup, and then return to group selection mode. @@ -6164,22 +6178,22 @@ The difference between N and the number of articles fetched is returned." (while (and (> n 0) (not error)) (setq header (gnus-summary-article-header)) - (setq ref - ;; If we try to find the parent of the currently - ;; displayed article, then we take a look at the actual - ;; References header, since this is slightly more - ;; reliable than the References field we got from the - ;; server. - (if (and (eq (mail-header-number header) - (cdr gnus-article-current)) - (equal gnus-newsgroup-name - (car gnus-article-current))) - (save-excursion - (set-buffer gnus-original-article-buffer) - (nnheader-narrow-to-headers) - (prog1 - (message-fetch-field "references") - (widen))) + (if (and (eq (mail-header-number header) + (cdr gnus-article-current)) + (equal gnus-newsgroup-name + (car gnus-article-current))) + ;; If we try to find the parent of the currently + ;; displayed article, then we take a look at the actual + ;; References header, since this is slightly more + ;; reliable than the References field we got from the + ;; server. + (save-excursion + (set-buffer gnus-original-article-buffer) + (nnheader-narrow-to-headers) + (unless (setq ref (message-fetch-field "references")) + (setq ref (message-fetch-field "in-reply-to"))) + (widen)) + (setq ref ;; It's not the current article, so we take a bet on ;; the value we got from the server. (mail-header-references header))) @@ -7716,11 +7730,14 @@ even ticked and dormant ones." t)))) (defun gnus-summary-catchup (&optional all quietly to-here not-mark) - "Mark all articles not marked as unread in this newsgroup as read. -If prefix argument ALL is non-nil, all articles are marked as read. + "Mark all unread articles in this newsgroup as read. +If prefix argument ALL is non-nil, ticked and dormant articles will +also be marked as read. If QUIETLY is non-nil, no questions will be asked. If TO-HERE is non-nil, it should be a point in the buffer. All articles before this point will be marked as read. +Note that this function will only catch up the unread article +in the current summary buffer limitation. The number of articles marked as read is returned." (interactive "P") (gnus-set-global-variables) @@ -7750,8 +7767,6 @@ The number of articles marked as read is returned." (if to-here (< (point) to-here) t) (gnus-summary-mark-article-as-read gnus-catchup-mark) (gnus-summary-find-next (not all))))) - (unless to-here - (setq gnus-newsgroup-unreads nil)) (gnus-set-mode-line 'summary)) t)) (gnus-summary-position-point))) diff --git a/lisp/gnus-topic.el b/lisp/gnus-topic.el index dd7d9633b..6d4902ede 100644 --- a/lisp/gnus-topic.el +++ b/lisp/gnus-topic.el @@ -188,16 +188,17 @@ with some simple extensions. (setq level (or level 7)) ;; We go through the newsrc to look for matches. (while groups - (setq entry (gnus-gethash (setq group (pop groups)) gnus-newsrc-hashtb) - info (nth 2 entry) - params (gnus-info-params info) - active (gnus-active group) - unread (or (car entry) - (and (not (equal group "dummy.group")) - active - (- (1+ (cdr active)) (car active)))) - clevel (or (gnus-info-level info) - (if (member group gnus-zombie-list) 8 9))) + (when (setq group (pop groups)) + (setq entry (gnus-gethash group gnus-newsrc-hashtb) + info (nth 2 entry) + params (gnus-info-params info) + active (gnus-active group) + unread (or (car entry) + (and (not (equal group "dummy.group")) + active + (- (1+ (cdr active)) (car active)))) + clevel (or (gnus-info-level info) + (if (member group gnus-zombie-list) 8 9)))) (and unread ; nil means that the group is dead. (<= clevel level) @@ -302,7 +303,9 @@ with some simple extensions. (nconc (cadr top) (list nil))) (unless (nthcdr 3 (cadr top)) (nconc (cadr top) (list nil))) - (setcar (nthcdr 3 (cadr top)) parameters))) + (setcar (nthcdr 3 (cadr top)) parameters) + (gnus-dribble-enter + (format "(gnus-topic-set-parameters %s '%S)" topic parameters)))) (defun gnus-group-topic-parameters (group) "Compute the group parameters for GROUP taking into account inheritance from topics." @@ -699,7 +702,7 @@ articles in the topic and its subtopics." (forward-line -1) (when (setq alist (assoc (gnus-current-topic) gnus-topic-alist)) (setcdr alist (gnus-delete-first group (cdr alist)))))) - ;; If the group is subscribed. then we enter it into the topics. + ;; If the group is subscribed we enter it into the topics. (when (and (< level gnus-level-zombie) (>= oldlevel gnus-level-zombie)) (let* ((prev (gnus-group-group-name)) diff --git a/lisp/gnus-util.el b/lisp/gnus-util.el index 4e26802c7..caf08dc3c 100644 --- a/lisp/gnus-util.el +++ b/lisp/gnus-util.el @@ -383,18 +383,22 @@ Cache the result as a text property stored in DATE." (insert "%")) (buffer-string))) -;; Make a hash table (default and minimum size is 255). +;; Make a hash table (default and minimum size is 256). ;; Optional argument HASHSIZE specifies the table size. (defun gnus-make-hashtable (&optional hashsize) - (make-vector (if hashsize (max (gnus-create-hash-size hashsize) 255) 255) 0)) - -;; Make a number that is suitable for hashing; bigger than MIN and one -;; less than 2^x. + (make-vector (if hashsize (max (gnus-create-hash-size hashsize) 256) 256) 0)) + +;; Make a number that is suitable for hashing; bigger than MIN and +;; equal to some 2^x. Many machines (such as sparcs) do not have a +;; hardware modulo operation, so they implement it in software. On +;; many sparcs over 50% of the time to intern is spent in the modulo. +;; Yes, it's slower than actually computing the hash from the string! +;; So we use powers of 2 so people can optimize the modulo to a mask. (defun gnus-create-hash-size (min) (let ((i 1)) (while (< i min) (setq i (* 2 i))) - (1- i))) + i)) (defcustom gnus-verbose 7 "*Integer that says how verbose Gnus should be. diff --git a/lisp/gnus.el b/lisp/gnus.el index bfbd4d588..33cc8a61b 100644 --- a/lisp/gnus.el +++ b/lisp/gnus.el @@ -42,7 +42,7 @@ "Score and kill file handling." :group 'gnus ) -(defconst gnus-version-number "0.75" +(defconst gnus-version-number "0.76" "Version number for this version of Gnus.") (defconst gnus-version (format "Red Gnus v%s" gnus-version-number) diff --git a/lisp/nnbabyl.el b/lisp/nnbabyl.el index 5d5bc10bb..0d3744568 100644 --- a/lisp/nnbabyl.el +++ b/lisp/nnbabyl.el @@ -85,7 +85,7 @@ (while (setq article (pop articles)) (setq art-string (nnbabyl-article-string article)) (set-buffer nnbabyl-mbox-buffer) - (beginning-of-line) + (end-of-line) (when (or (search-forward art-string nil t) (search-backward art-string nil t)) (unless (re-search-backward delim nil t) @@ -581,7 +581,7 @@ (buffer-substring (match-beginning 1) (match-end 1)))) (cdadar alist))) - (setcdr (cadar alist) (1+ number))) + (setcdr (cadar alist) number)) (setq alist (cdr alist))) ;; We go through the mbox and make sure that each and diff --git a/lisp/nndoc.el b/lisp/nndoc.el index 3a3c6c4a9..cfa382ac5 100644 --- a/lisp/nndoc.el +++ b/lisp/nndoc.el @@ -182,20 +182,21 @@ One of `mbox', `babyl', `digest', `news', `rnews', `mmdf', `forward', beg) (set-buffer buffer) (erase-buffer) - (if (stringp article) - nil - (insert-buffer-substring - nndoc-current-buffer (car entry) (nth 1 entry)) - (insert "\n") - (setq beg (point)) - (insert-buffer-substring - nndoc-current-buffer (nth 2 entry) (nth 3 entry)) - (goto-char beg) - (when nndoc-prepare-body-function - (funcall nndoc-prepare-body-function)) - (when nndoc-article-transform-function - (funcall nndoc-article-transform-function article)) - t)))) + (when entry + (if (stringp article) + nil + (insert-buffer-substring + nndoc-current-buffer (car entry) (nth 1 entry)) + (insert "\n") + (setq beg (point)) + (insert-buffer-substring + nndoc-current-buffer (nth 2 entry) (nth 3 entry)) + (goto-char beg) + (when nndoc-prepare-body-function + (funcall nndoc-prepare-body-function)) + (when nndoc-article-transform-function + (funcall nndoc-article-transform-function article)) + t))))) (deffoo nndoc-request-group (group &optional server dont-check) "Select news GROUP." diff --git a/lisp/nnfolder.el b/lisp/nnfolder.el index ba998ef8f..ccc2f92a2 100644 --- a/lisp/nnfolder.el +++ b/lisp/nnfolder.el @@ -457,13 +457,13 @@ time saver for large mailboxes.") (save-excursion (nnmail-search-unix-mail-delim-backward) (if leave-delim (progn (forward-line 1) (point)) - (match-beginning 0))) + (point))) (progn (forward-line 1) (if (nnmail-search-unix-mail-delim) (if (and (not (bobp)) leave-delim) (progn (forward-line -2) (point)) - (match-beginning 0)) + (point)) (point-max)))))) ;; When scanning, we're not looking t immediately switch into the group - if @@ -539,7 +539,7 @@ time saver for large mailboxes.") (goto-char (point-min))) ;; Quote all "From " lines in the article. (forward-line 1) - (while (re-search-forward delim nil t) + (while (re-search-forward "^From " nil t) (beginning-of-line) (insert "> ")) (setq save-list group-art-list) diff --git a/lisp/nnmail.el b/lisp/nnmail.el index be73f2b36..d1b0a180c 100644 --- a/lisp/nnmail.el +++ b/lisp/nnmail.el @@ -577,6 +577,7 @@ parameter. It should return nil, `warn' or `delete'." (buffer-string))) (error "%s" (buffer-string))) (setq tofile nil))))))) + (message "Getting mail from %s...done" inbox) (and errors (buffer-name errors) (kill-buffer errors)) diff --git a/lisp/nntp.el b/lisp/nntp.el index 6038511e2..bc61fef2b 100644 --- a/lisp/nntp.el +++ b/lisp/nntp.el @@ -652,8 +652,10 @@ It will prompt for a password." (run-hooks 'nntp-prepare-server-hook) (let* ((pbuffer (nntp-make-process-buffer buffer)) (process - (ignore-errors - (funcall nntp-open-connection-function pbuffer)))) + (condition-case () + (funcall nntp-open-connection-function pbuffer) + (error nil) + (quit nil)))) (when process (process-kill-without-query process) (nntp-wait-for process "^.*\n" buffer nil t) diff --git a/texi/ChangeLog b/texi/ChangeLog index 6ebd396fd..deed89cbd 100644 --- a/texi/ChangeLog +++ b/texi/ChangeLog @@ -1,3 +1,7 @@ +Mon Dec 16 13:53:28 1996 Lars Magne Ingebrigtsen + + * gnus.texi (Exiting the Summary Buffer): Update. + Fri Dec 13 01:04:41 1996 Lars Magne Ingebrigtsen * gnus.texi (Limiting): Addition. diff --git a/texi/gnus.texi b/texi/gnus.texi index 16d35391f..6f78b1d95 100644 --- a/texi/gnus.texi +++ b/texi/gnus.texi @@ -1,7 +1,7 @@ \input texinfo @c -*-texinfo-*- @setfilename gnus -@settitle Red Gnus 0.75 Manual +@settitle Red Gnus 0.76 Manual @synindex fn cp @synindex vr cp @synindex pg cp @@ -287,7 +287,7 @@ into another language, under the above conditions for modified versions. @tex @titlepage -@title Red Gnus 0.75 Manual +@title Red Gnus 0.76 Manual @author by Lars Magne Ingebrigtsen @page @@ -323,7 +323,7 @@ can be gotten by any nefarious means you can think of---@sc{nntp}, local spool or your mbox file. All at the same time, if you want to push your luck. -This manual corresponds to Red Gnus 0.75 +This manual corresponds to Red Gnus 0.76 @end ifinfo @@ -4488,6 +4488,13 @@ Don't gather loose threads. If non-@code{nil}, all threads will be hidden when the summary buffer is generated. +@item gnus-thread-expunge-below +@vindex gnus-thread-expunge-below +All threads that have a total score (as defined by +@code{gnus-thread-score-function}) less than this number will be +expunged. This variable is @code{nil} by default, which means that no +threads are expunged. + @item gnus-thread-hide-killed @vindex gnus-thread-hide-killed if you kill a thread and this variable is non-@code{nil}, the subtree @@ -4504,6 +4511,14 @@ in a new thread. @vindex gnus-thread-indent-level This is a number that says how much each sub-thread should be indented. The default is 4. + +@item gnus-parse-headers-hook +@vindex gnus-parse-headers-hook +Hook run before parsing any headers. The default value is +@code{(gnus-decode-rfc1522)}, which means that QPized headers will be +slightly decoded in a hackish way. This is likely to change in the +future when Gnus becomes @sc{MIME}ified. + @end table @@ -6600,6 +6615,9 @@ name, a @code{From} header and a @code{Subject} header. @kindex B r (Summary) @findex gnus-summary-respool-article Respool the mail article (@code{gnus-summary-move-article}). +@code{gnus-summary-respool-default-method} will be used as the default +method when respooling. This variable is @code{nil} by default, which +means that the current group method will be used instead. @item B w @itemx e @@ -6836,7 +6854,8 @@ Exit the current group and update all information on the group called before doing much of the exiting, and calls @code{gnus-summary-expire-articles} by default. @code{gnus-summary-exit-hook} is called after finishing the exiting -process. +process. @code{gnus-group-no-more-groups-hook} is run when returning to +group mode having no more (unread) groups. @item Z E @itemx Q @@ -6897,9 +6916,10 @@ Exit the group and go to the previous group @item Z s @kindex Z s (Summary) @findex gnus-summary-save-newsrc -Save the @file{.newsrc} file(s). The current number of read/marked -articles in the summary buffer will also be saved. This will make exit -without updating (the @kbd{Q} command) worthless. +Save the current number of read/marked articles in the dribble buffer +(@code{gnus-summary-save-newsrc}). If given a prefix, also save the +@file{.newsrc} file(s). Using this command will make exit without +updating (the @kbd{Q} command) worthless. @end table @vindex gnus-exit-group-hook @@ -10692,6 +10712,12 @@ manually entered data. @vindex gnus-summary-default-score Default score of an article, which is 0 by default. +@item gnus-summary-expunge-below +@vindex gnus-summary-expunge-below +Don't display the summary lines of articles that have scores lower than +this variable. This is @code{nil} by default, which means that no +articles will be hidden. + @item gnus-score-over-mark @vindex gnus-score-over-mark Mark (in the third column) used for articles with a score over the