From 7fa1278f04f6decec4a2aae27b46aef3e47f80d5 Mon Sep 17 00:00:00 2001 From: Lars Magne Ingebrigtsen Date: Mon, 24 Mar 1997 00:27:37 +0000 Subject: [PATCH] *** empty log message *** --- lisp/ChangeLog | 31 ++++++++++++++++++++++ lisp/gnus-async.el | 8 +++--- lisp/gnus-demon.el | 6 ++++- lisp/gnus-group.el | 65 ++++++++++++++++++++++++---------------------- lisp/gnus-int.el | 4 ++- lisp/gnus-msg.el | 3 ++- lisp/gnus-nocem.el | 1 + lisp/gnus-salt.el | 2 +- lisp/gnus-score.el | 4 +-- lisp/gnus-sum.el | 9 +++++-- lisp/gnus-util.el | 6 ----- lisp/gnus.el | 2 +- lisp/message.el | 3 ++- lisp/nnfolder.el | 6 ++--- lisp/nnheader.el | 5 ++-- lisp/nnmail.el | 2 +- lisp/nntp.el | 2 +- lisp/nnweb.el | 8 +++--- texi/ChangeLog | 1 + texi/gnus.texi | 20 +++++++------- texi/message.texi | 6 ++--- 21 files changed, 118 insertions(+), 76 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 9d3756490..fd45370d1 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,34 @@ +Mon Mar 24 01:24:27 1997 Lars Magne Ingebrigtsen + + * gnus.el: Gnus v5.4.36 is released. + +Sun Mar 23 18:51:00 1997 Lars Magne Ingebrigtsen + + * gnus-group.el (gnus-group-list-groups): Doc fix. + + * gnus-demon.el (gnus-inhibit-demon): New variable. + (gnus-demon): Use it. + +Sun Mar 23 18:42:55 1997 David Moore + + * gnus-nocem.el (gnus-nocem-already-running): New variable. + +Sun Mar 23 17:27:17 1997 Lars Magne Ingebrigtsen + + * gnus-sum.el (gnus-select-newsgroup): Revert to old duplicate + behavior for nnvirtual groups. + + * gnus-util.el (gnus-buffer-live-p): Removed. + +Sat Mar 22 22:11:28 1997 Steven L Baur + + * gnus-msg.el (gnus-setup-message): Mark buffer unmodified as last + step of setting message buffer up. + + * message.el (message-kill-buffer): Make prompt look more like the + one in kill-buffer. + Only prompt if the buffer has been changed. + Sun Mar 23 02:52:51 1997 Lars Magne Ingebrigtsen * gnus.el: Gnus v5.4.35 is released. diff --git a/lisp/gnus-async.el b/lisp/gnus-async.el index a87d333b5..527d8d8c7 100644 --- a/lisp/gnus-async.el +++ b/lisp/gnus-async.el @@ -126,7 +126,7 @@ It should return non-nil if the article is to be prefetched." (defun gnus-async-prefetch-next (group article summary) "Possibly prefetch several articles starting with the article after ARTICLE." - (when (and (gnus-buffer-live-p summary) + (when (and (buffer-live-p summary) gnus-asynchronous (gnus-group-asynchronous-p group)) (save-excursion @@ -143,7 +143,7 @@ It should return non-nil if the article is to be prefetched." (defun gnus-async-prefetch-article (group article summary &optional next) "Possibly prefetch several articles starting with ARTICLE." - (if (not (gnus-buffer-live-p summary)) + (if (not (buffer-live-p summary)) (gnus-async-with-semaphore (setq gnus-async-fetch-list nil)) (when (and gnus-asynchronous @@ -154,7 +154,7 @@ It should return non-nil if the article is to be prefetched." (let ((do-fetch next) (do-message t)) ;(eq major-mode 'gnus-summary-mode))) (when (and (gnus-group-asynchronous-p group) - (gnus-buffer-live-p summary) + (buffer-live-p summary) (or (not next) gnus-async-fetch-list)) (gnus-async-with-semaphore @@ -211,7 +211,7 @@ It should return non-nil if the article is to be prefetched." ,mark (set-marker (make-marker) (point-max)) ,group ,article) gnus-async-article-alist))) - (if (not (gnus-buffer-live-p ,summary)) + (if (not (buffer-live-p ,summary)) (gnus-async-with-semaphore (setq gnus-async-fetch-list nil)) (gnus-async-prefetch-article ,group ,next ,summary t))))) diff --git a/lisp/gnus-demon.el b/lisp/gnus-demon.el index e7bf2be32..09734c59c 100644 --- a/lisp/gnus-demon.el +++ b/lisp/gnus-demon.el @@ -74,6 +74,8 @@ time Emacs has been idle for IDLE `gnus-demon-timestep's." (defvar gnus-demon-idle-time 0) (defvar gnus-demon-handler-state nil) (defvar gnus-demon-last-keys nil) +(defvar gnus-inhibit-demon nil + "*If non-nil, no daemonic function will be run.") (eval-and-compile (autoload 'timezone-parse-date "timezone") @@ -172,10 +174,12 @@ time Emacs has been idle for IDLE `gnus-demon-timestep's." (setq gnus-demon-idle-time 0) (setq gnus-demon-idle-has-been-called nil)) ;; Disable all daemonic stuff if we're in the minibuffer - (unless (window-minibuffer-p (selected-window)) + (when (and (not (window-minibuffer-p (selected-window))) + (not gnus-inhibit-demon)) ;; Then we go through all the handler and call those that are ;; sufficiently ripe. (let ((handlers gnus-demon-handler-state) + (gnus-inhibit-demon t) handler time idle) (while handlers (setq handler (pop handlers)) diff --git a/lisp/gnus-group.el b/lisp/gnus-group.el index 87aba019e..a2192ea41 100644 --- a/lisp/gnus-group.el +++ b/lisp/gnus-group.el @@ -819,7 +819,9 @@ The following commands are available: "List newsgroups with level LEVEL or lower that have unread articles. Default is all subscribed groups. If argument UNREAD is non-nil, groups with no unread articles are also -listed." +listed. + +Also see the `gnus-group-use-permanent-levels' variable." (interactive (list (if current-prefix-arg (prefix-numeric-value current-prefix-arg) @@ -2841,36 +2843,37 @@ If ARG is a number, it specifies which levels you are interested in re-scanning. If ARG is non-nil and not a number, this will force \"hard\" re-reading of the active files from all servers." (interactive "P") - (run-hooks 'gnus-get-new-news-hook) - - ;; Read any slave files. - (unless gnus-slave - (gnus-master-read-slave-newsrc)) - - ;; We might read in new NoCeM messages here. - (when (and gnus-use-nocem - (null arg)) - (gnus-nocem-scan-groups)) - ;; If ARG is not a number, then we read the active file. - (when (and arg (not (numberp arg))) - (let ((gnus-read-active-file t)) - (gnus-read-active-file)) - (setq arg nil) - - ;; If the user wants it, we scan for new groups. - (when (eq gnus-check-new-newsgroups 'always) - (gnus-find-new-newsgroups))) - - (setq arg (gnus-group-default-level arg t)) - (if (and gnus-read-active-file (not arg)) - (progn - (gnus-read-active-file) - (gnus-get-unread-articles arg)) - (let ((gnus-read-active-file (if arg nil gnus-read-active-file))) - (gnus-get-unread-articles arg))) - (run-hooks 'gnus-after-getting-new-news-hook) - (gnus-group-list-groups (and (numberp arg) - (max (car gnus-group-list-mode) arg)))) + (let ((gnus-inhibit-demon t)) + (run-hooks 'gnus-get-new-news-hook) + + ;; Read any slave files. + (unless gnus-slave + (gnus-master-read-slave-newsrc)) + + ;; We might read in new NoCeM messages here. + (when (and gnus-use-nocem + (null arg)) + (gnus-nocem-scan-groups)) + ;; If ARG is not a number, then we read the active file. + (when (and arg (not (numberp arg))) + (let ((gnus-read-active-file t)) + (gnus-read-active-file)) + (setq arg nil) + + ;; If the user wants it, we scan for new groups. + (when (eq gnus-check-new-newsgroups 'always) + (gnus-find-new-newsgroups))) + + (setq arg (gnus-group-default-level arg t)) + (if (and gnus-read-active-file (not arg)) + (progn + (gnus-read-active-file) + (gnus-get-unread-articles arg)) + (let ((gnus-read-active-file (if arg nil gnus-read-active-file))) + (gnus-get-unread-articles arg))) + (run-hooks 'gnus-after-getting-new-news-hook) + (gnus-group-list-groups (and (numberp arg) + (max (car gnus-group-list-mode) arg))))) (defun gnus-group-get-new-news-this-group (&optional n) "Check for newly arrived news in the current group (and the N-1 next groups). diff --git a/lisp/gnus-int.el b/lisp/gnus-int.el index e87c7c2f1..8839943e0 100644 --- a/lisp/gnus-int.el +++ b/lisp/gnus-int.el @@ -331,7 +331,8 @@ If BUFFER, insert the article in that group." (defun gnus-request-scan (group method) "Request a SCAN being performed in GROUP from METHOD. If GROUP is nil, all groups on METHOD are scanned." - (let ((method (if group (gnus-find-method-for-group group) method))) + (let ((method (if group (gnus-find-method-for-group group) method)) + (gnus-inhibit-demon t)) (funcall (gnus-get-function method 'request-scan) (and group (gnus-group-real-name group)) (nth 1 method)))) @@ -410,6 +411,7 @@ If GROUP is nil, all groups on METHOD are scanned." (defun gnus-close-backends () ;; Send a close request to all backends that support such a request. (let ((methods gnus-valid-select-methods) + (gnus-inhibit-demon t) func method) (while (setq method (pop methods)) (when (fboundp (setq func (intern diff --git a/lisp/gnus-msg.el b/lisp/gnus-msg.el index 013eed8fd..0a29f7ca8 100644 --- a/lisp/gnus-msg.el +++ b/lisp/gnus-msg.el @@ -172,7 +172,8 @@ Thank you for your help in stamping out bugs. (setq gnus-message-buffer (current-buffer)) (make-local-variable 'gnus-newsgroup-name) (run-hooks 'gnus-message-setup-hook)) - (gnus-configure-windows ,config t)))) + (gnus-configure-windows ,config t) + (set-buffer-modified-p nil)))) (defun gnus-inews-add-send-actions (winconf buffer article) (make-local-hook 'message-sent-hook) diff --git a/lisp/gnus-nocem.el b/lisp/gnus-nocem.el index 2131e0ab1..00275df79 100644 --- a/lisp/gnus-nocem.el +++ b/lisp/gnus-nocem.el @@ -100,6 +100,7 @@ matches an previously scanned and verified nocem message." "Scan all NoCeM groups for new NoCeM messages." (interactive) (let ((groups gnus-nocem-groups) + (gnus-inhibit-demon t) group active gactive articles) (gnus-make-directory gnus-nocem-directory) ;; Load any previous NoCeM headers. diff --git a/lisp/gnus-salt.el b/lisp/gnus-salt.el index f67430c8c..1756ec462 100644 --- a/lisp/gnus-salt.el +++ b/lisp/gnus-salt.el @@ -129,7 +129,7 @@ It accepts the same format specs that `gnus-summary-line-format' does.") (defun gnus-pick-setup-message () "Make Message do the right thing on exit." - (when (and (gnus-buffer-live-p gnus-summary-buffer) + (when (and (buffer-live-p gnus-summary-buffer) (save-excursion (set-buffer gnus-summary-buffer) gnus-pick-mode)) diff --git a/lisp/gnus-score.el b/lisp/gnus-score.el index c6cbaad5b..0210f651f 100644 --- a/lisp/gnus-score.el +++ b/lisp/gnus-score.el @@ -908,7 +908,7 @@ SCORE is the score to add." "Add SCORE to all followups to the article in the current buffer." (interactive "P") (setq score (gnus-score-default score)) - (when (gnus-buffer-live-p gnus-summary-buffer) + (when (buffer-live-p gnus-summary-buffer) (save-excursion (save-restriction (message-narrow-to-headers) @@ -923,7 +923,7 @@ SCORE is the score to add." "Add SCORE to all later articles in the thread the current buffer is part of." (interactive "P") (setq score (gnus-score-default score)) - (when (gnus-buffer-live-p gnus-summary-buffer) + (when (buffer-live-p gnus-summary-buffer) (save-excursion (save-restriction (goto-char (point-min)) diff --git a/lisp/gnus-sum.el b/lisp/gnus-sum.el index 94833bae6..36ab94755 100644 --- a/lisp/gnus-sum.el +++ b/lisp/gnus-sum.el @@ -2262,7 +2262,7 @@ This is all marks except unread, ticked, dormant, and expirable." (setq gnus-reffed-article-number reffed) (setq gnus-current-score-file score-file) ;; The article buffer also has local variables. - (when (gnus-buffer-live-p gnus-article-buffer) + (when (buffer-live-p gnus-article-buffer) (set-buffer gnus-article-buffer) (setq gnus-summary-buffer summary)))))) @@ -3586,6 +3586,11 @@ or a straight list of headers." "Select newsgroup GROUP. If READ-ALL is non-nil, all articles in the group are selected." (let* ((entry (gnus-gethash group gnus-newsrc-hashtb)) + ;;!!! Dirty hack; should be removed. + (gnus-summary-ignore-duplicates + (if (eq (car (gnus-find-method-for-group group)) 'nnvirtual) + t + gnus-summary-ignore-duplicates)) (info (nth 2 entry)) articles fetched-articles cached) @@ -4956,7 +4961,7 @@ which existed when entering the ephemeral is reset." ;; The `gnus-summary-buffer' variable may point ;; to the old summary buffer when using a single ;; article buffer. - (unless (gnus-buffer-live-p gnus-summary-buffer) + (unless (buffer-live-p gnus-summary-buffer) (set-buffer gnus-group-buffer)) (set-buffer gnus-summary-buffer) (gnus-set-global-variables)))) diff --git a/lisp/gnus-util.el b/lisp/gnus-util.el index ab470be74..d3a55b764 100644 --- a/lisp/gnus-util.el +++ b/lisp/gnus-util.el @@ -458,12 +458,6 @@ If N, return the Nth ancestor instead." (let ((ids (inline (gnus-split-references references)))) (car (last ids (or n 1)))))) -(defsubst gnus-buffer-live-p (buffer) - "Say whether BUFFER is alive or not." - (and buffer - (get-buffer buffer) - (buffer-name (get-buffer buffer)))) - (defun gnus-horizontal-recenter () "Recenter the current buffer horizontally." (if (< (current-column) (/ (window-width) 2)) diff --git a/lisp/gnus.el b/lisp/gnus.el index 509483f9b..a575aca48 100644 --- a/lisp/gnus.el +++ b/lisp/gnus.el @@ -226,7 +226,7 @@ is restarted, and sometimes reloaded." :link '(custom-manual "(gnus)Exiting Gnus") :group 'gnus) -(defconst gnus-version-number "5.4.35" +(defconst gnus-version-number "5.4.36" "Version number for this version of Gnus.") (defconst gnus-version (format "Gnus v%s" gnus-version-number) diff --git a/lisp/message.el b/lisp/message.el index 572e80a57..eaa46e24e 100644 --- a/lisp/message.el +++ b/lisp/message.el @@ -1655,7 +1655,8 @@ The text will also be indented the normal way." (defun message-kill-buffer () "Kill the current buffer." (interactive) - (when (yes-or-no-p "Kill the buffer? ") + (when (or (not (buffer-modified-p)) + (yes-or-no-p "Message modified; kill anyway? ")) (let ((actions message-kill-actions)) (kill-buffer (current-buffer)) (message-do-actions actions)))) diff --git a/lisp/nnfolder.el b/lisp/nnfolder.el index 7407a7637..8d27c9470 100644 --- a/lisp/nnfolder.el +++ b/lisp/nnfolder.el @@ -492,7 +492,7 @@ time saver for large mailboxes.") (when (and server (not (nnfolder-server-opened server))) (nnfolder-open-server server)) - (unless (gnus-buffer-live-p nnfolder-current-buffer) + (unless (buffer-live-p nnfolder-current-buffer) (setq nnfolder-current-buffer nil nnfolder-current-group nil)) ;; Change group. @@ -519,7 +519,7 @@ time saver for large mailboxes.") ;; is live, verify that nobody else has touched the file since last ;; time. (when (and nnfolder-current-buffer - (not (gnus-buffer-live-p nnfolder-current-buffer))) + (not (buffer-live-p nnfolder-current-buffer))) (setq nnfolder-buffer-alist (delq inf nnfolder-buffer-alist) nnfolder-current-buffer nil)) @@ -611,7 +611,7 @@ time saver for large mailboxes.") (defun nnfolder-possibly-change-folder (group) (let ((inf (assoc group nnfolder-buffer-alist))) (if (and inf - (gnus-buffer-live-p (cadr inf))) + (buffer-live-p (cadr inf))) (set-buffer (cadr inf)) (when inf (setq nnfolder-buffer-alist (delq inf nnfolder-buffer-alist))) diff --git a/lisp/nnheader.el b/lisp/nnheader.el index 2da6d8969..39f02b21b 100644 --- a/lisp/nnheader.el +++ b/lisp/nnheader.el @@ -57,8 +57,7 @@ on your system, you could say something like: (autoload 'mail-position-on-field "sendmail") (autoload 'message-remove-header "message") (autoload 'cancel-function-timers "timers") - (autoload 'gnus-point-at-eol "gnus-util") - (autoload 'gnus-buffer-live-p "gnus-util")) + (autoload 'gnus-point-at-eol "gnus-util")) ;;; Header access macros. @@ -382,7 +381,7 @@ the line could be found." (defun nnheader-init-server-buffer () "Initialize the Gnus-backend communication buffer." (save-excursion - (unless (gnus-buffer-live-p nntp-server-buffer) + (unless (buffer-live-p nntp-server-buffer) (setq nntp-server-buffer (get-buffer-create " *nntpd*"))) (set-buffer nntp-server-buffer) (buffer-disable-undo (current-buffer)) diff --git a/lisp/nnmail.el b/lisp/nnmail.el index 90ad6ab98..aee417390 100644 --- a/lisp/nnmail.el +++ b/lisp/nnmail.el @@ -1416,7 +1416,7 @@ See the documentation for the variable `nnmail-split-fancy' for documentation." (defun nnmail-cache-insert (id) (when nnmail-treat-duplicates - (unless (gnus-buffer-live-p nnmail-cache-buffer) + (unless (buffer-live-p nnmail-cache-buffer) (nnmail-cache-open)) (save-excursion (set-buffer nnmail-cache-buffer) diff --git a/lisp/nntp.el b/lisp/nntp.el index 9c40dc5a0..3947afc46 100644 --- a/lisp/nntp.el +++ b/lisp/nntp.el @@ -598,7 +598,7 @@ server there that you can connect to. See also `nntp-open-connection-function'" "Say whether a connection to SERVER has been opened." (and (nnoo-current-server-p 'nntp server) nntp-server-buffer - (gnus-buffer-live-p nntp-server-buffer) + (buffer-live-p nntp-server-buffer) (nntp-find-connection nntp-server-buffer))) (deffoo nntp-open-server (server &optional defs connectionless) diff --git a/lisp/nnweb.el b/lisp/nnweb.el index eacdc2f42..a21347572 100644 --- a/lisp/nnweb.el +++ b/lisp/nnweb.el @@ -133,7 +133,7 @@ (deffoo nnweb-close-group (group &optional server) (nnweb-possibly-change-server group server) - (when (gnus-buffer-live-p nnweb-buffer) + (when (buffer-live-p nnweb-buffer) (save-excursion (set-buffer nnweb-buffer) (set-buffer-modified-p nil) @@ -166,7 +166,7 @@ (deffoo nnweb-close-server (&optional server) (when (and (nnweb-server-opened server) - (gnus-buffer-live-p nnweb-buffer)) + (buffer-live-p nnweb-buffer)) (save-excursion (set-buffer nnweb-buffer) (set-buffer-modified-p nil) @@ -274,7 +274,7 @@ (defun nnweb-init (server) "Initialize buffers and such." - (unless (gnus-buffer-live-p nnweb-buffer) + (unless (buffer-live-p nnweb-buffer) (setq nnweb-buffer (save-excursion (nnheader-set-temp-buffer @@ -295,7 +295,7 @@ t))) (defun nnweb-callback (buffer callback) - (when (gnus-buffer-live-p url-working-buffer) + (when (buffer-live-p url-working-buffer) (save-excursion (set-buffer url-working-buffer) (funcall (nnweb-definition 'article)) diff --git a/texi/ChangeLog b/texi/ChangeLog index e1af3c1f3..eb2dbe59c 100644 --- a/texi/ChangeLog +++ b/texi/ChangeLog @@ -1,6 +1,7 @@ Sun Mar 23 02:16:19 1997 Lars Magne Ingebrigtsen * gnus.texi (Thwarting Email Spam): New. + (Unavailable Servers): Fix. Wed Mar 19 15:45:17 1997 Lars Magne Ingebrigtsen diff --git a/texi/gnus.texi b/texi/gnus.texi index 7cb62f0ac..712a5c039 100644 --- a/texi/gnus.texi +++ b/texi/gnus.texi @@ -1,7 +1,7 @@ \input texinfo @c -*-texinfo-*- @setfilename gnus -@settitle Gnus 5.4.35 Manual +@settitle Gnus 5.4.36 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 Gnus 5.4.35 Manual +@title Gnus 5.4.36 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 Gnus 5.4.35. +This manual corresponds to Gnus 5.4.36. @end ifinfo @@ -8240,12 +8240,12 @@ actually the case or not. That might seem quite naughty, but it does make sense most of the time. Let's say you have 10 groups subscribed to the server -@samp{nepholococcygia.com}. This server is located somewhere quite far -away from you, the machine is quite, so it takes 1 minute just to find -out that it refuses connection from you today. If Gnus were to attempt -to do that 10 times, you'd be quite annoyed, so Gnus won't attempt to do -that. Once it has gotten a single ``connection refused'', it will -regard that server as ``down''. +@samp{nephelococcygia.com}. This server is located somewhere quite far +away from you and the machine is quite slow, so it takes 1 minute just +to find out that it refuses connection from you today. If Gnus were to +attempt to do that 10 times, you'd be quite annoyed, so Gnus won't +attempt to do that. Once it has gotten a single ``connection refused'', +it will regard that server as ``down''. So, what happens if the machine was only feeling unwell temporarily? How do you test to see whether the machine has come up again? @@ -12986,7 +12986,7 @@ daemons, you can use the @code{gnus-demon-cancel} function. Note that adding daemons can be pretty naughty if you overdo it. Adding functions that scan all news and mail from all servers every two seconds is a sure-fire way of getting booted off any respectable system. So -behave. +behave. @node NoCeM diff --git a/texi/message.texi b/texi/message.texi index 0b290e986..31ea5a480 100644 --- a/texi/message.texi +++ b/texi/message.texi @@ -1,7 +1,7 @@ \input texinfo @c -*-texinfo-*- @setfilename message -@settitle Message 5.4.35 Manual +@settitle Message 5.4.36 Manual @synindex fn cp @synindex vr cp @synindex pg cp @@ -39,7 +39,7 @@ into another language, under the above conditions for modified versions. @tex @titlepage -@title Message 5.4.35 Manual +@title Message 5.4.36 Manual @author by Lars Magne Ingebrigtsen @page @@ -79,7 +79,7 @@ buffers. * Key Index:: List of Message mode keys. @end menu -This manual corresponds to Message 5.4.35. Message is distributed with +This manual corresponds to Message 5.4.36. Message is distributed with the Gnus distribution bearing the same version number as this manual has. -- 2.34.1