*** empty log message ***
authorLars Magne Ingebrigtsen <larsi@gnus.org>
Mon, 24 Mar 1997 00:27:37 +0000 (00:27 +0000)
committerLars Magne Ingebrigtsen <larsi@gnus.org>
Mon, 24 Mar 1997 00:27:37 +0000 (00:27 +0000)
21 files changed:
lisp/ChangeLog
lisp/gnus-async.el
lisp/gnus-demon.el
lisp/gnus-group.el
lisp/gnus-int.el
lisp/gnus-msg.el
lisp/gnus-nocem.el
lisp/gnus-salt.el
lisp/gnus-score.el
lisp/gnus-sum.el
lisp/gnus-util.el
lisp/gnus.el
lisp/message.el
lisp/nnfolder.el
lisp/nnheader.el
lisp/nnmail.el
lisp/nntp.el
lisp/nnweb.el
texi/ChangeLog
texi/gnus.texi
texi/message.texi

index 9d37564..fd45370 100644 (file)
@@ -1,3 +1,34 @@
+Mon Mar 24 01:24:27 1997  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Gnus v5.4.36 is released.
+
+Sun Mar 23 18:51:00 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * 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  <dmoore@ucsd.edu>
+
+       * gnus-nocem.el (gnus-nocem-already-running): New variable.
+
+Sun Mar 23 17:27:17 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * 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  <steve@altair.xemacs.org>
+
+       * 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  <larsi@menja.ifi.uio.no>
 
        * gnus.el: Gnus v5.4.35 is released.
index a87d333..527d8d8 100644 (file)
@@ -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)))))
index e7bf2be..09734c5 100644 (file)
@@ -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))
index 87aba01..a2192ea 100644 (file)
@@ -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).
index e87c7c2..8839943 100644 (file)
@@ -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
index 013eed8..0a29f7c 100644 (file)
@@ -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)
index 2131e0a..00275df 100644 (file)
@@ -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.
index f67430c..1756ec4 100644 (file)
@@ -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))
index c6cbaad..0210f65 100644 (file)
@@ -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))
index 94833ba..36ab947 100644 (file)
@@ -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))))
index ab470be..d3a55b7 100644 (file)
@@ -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))
index 509483f..a575aca 100644 (file)
@@ -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)
index 572e80a..eaa46e2 100644 (file)
@@ -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))))
index 7407a76..8d27c94 100644 (file)
@@ -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)))
index 2da6d89..39f02b2 100644 (file)
@@ -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))
index 90ad6ab..aee4173 100644 (file)
@@ -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)
index 9c40dc5..3947afc 100644 (file)
@@ -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)
index eacdc2f..a213475 100644 (file)
 
 (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)
 
 (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)
 
 (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
       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))
index e1af3c1..eb2dbe5 100644 (file)
@@ -1,6 +1,7 @@
 Sun Mar 23 02:16:19 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
 
        * gnus.texi (Thwarting Email Spam): New.
+       (Unavailable Servers): Fix.
 
 Wed Mar 19 15:45:17 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
 
index 7cb62f0..712a5c0 100644 (file)
@@ -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
index 0b290e9..31ea5a4 100644 (file)
@@ -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.