*** empty log message ***
authorLars Magne Ingebrigtsen <larsi@gnus.org>
Tue, 4 Mar 1997 19:54:41 +0000 (19:54 +0000)
committerLars Magne Ingebrigtsen <larsi@gnus.org>
Tue, 4 Mar 1997 19:54:41 +0000 (19:54 +0000)
lisp/ChangeLog
lisp/gnus-cache.el
lisp/gnus-msg.el
lisp/gnus.el
lisp/message.el
lisp/nnmail.el
lisp/nnspool.el
lisp/smiley.el

index 35b5b38..a64a3f0 100644 (file)
@@ -1,3 +1,55 @@
+Wed Jun 26 20:40:39 1996  Lars Magne Ingebrigtsen  <larsi@ylfing.ifi.uio.no>
+
+       * gnus.el (gnus-summary-edit-article-done): Don't beep after a
+       `C-u e'. 
+
+       * message.el (message-autosave-directory): New default value.
+
+       * gnus-cache.el (gnus-cache-open): Don't create cache things
+       unconditionally. 
+
+       * gnus.el (gnus-server-status): New function.
+       (gnus-group-get-new-news-this-group): Better error message.
+       (gnus-clear-system): Clear state alist.
+       (gnus-error): Doc fix.
+
+       * nnmail.el (nnmail-get-spool-files): Use the spool file even when
+       using procmail.
+
+Wed Jun 26 20:36:40 1996  Philippe Troin  <ptroin@compass-da.com>
+
+       * gnus.el (gnus-thread-total-score-1): New version.
+
+Wed Jun 26 20:31:25 1996  Lars Magne Ingebrigtsen  <larsi@ylfing.ifi.uio.no>
+
+       * nnspool.el (nnspool-find-id): Quote the Message-ID.
+
+       * message.el (message-check-news-syntax): Would respond to
+       i-have-a-mi-etc in References.
+
+Wed Jun 26 19:59:27 1996  Nat Makarevitch  <nat@nataa.fr.eu.org>
+
+       * smiley.el (smiley-regexp-alist): New definition.
+
+Wed Jun 26 17:45:00 1996  Lars Magne Ingebrigtsen  <larsi@aegir.ifi.uio.no>
+
+       * message.el (message-reply): Name the message buffer "wide
+       reply..." if following up on a mail group.
+
+       * gnus.el (gnus-auto-subscribed-groups): Doc fix.
+       (gnus-options-subscribe): Doc fix.
+
+       * smiley.el (smiley-buffer): Autoload.
+       (messagexmas): Required.
+
+       * gnus.el (gnus-message-archive-group): Moved here.
+       (gnus-archive-server-wanted-p): New function used throughout.
+       (gnus-message-archive-group): Default to nil.
+
+Tue Jun 25 21:15:41 1996  Lars Magne Ingebrigtsen  <larsi@aegir.ifi.uio.no>
+
+       * gnus.el: Gnus v5.3 is released.
+
 Tue Jun 25 21:13:37 1996  Lars Magne Ingebrigtsen  <larsi@aegir.ifi.uio.no>
 
        * gnus.el: Gnus v5.2.26 is released.
index b478acc..d44c494 100644 (file)
@@ -66,7 +66,10 @@ variable to \"^nnml\".")
 
 (defun gnus-cache-open ()
   "Initialize the cache."
-  (gnus-cache-read-active))
+  (when (or (file-exists-p gnus-cache-directory)
+           (and gnus-use-cache
+                (not (eq gnus-use-cache 'passive))))
+    (gnus-cache-read-active)))
 
 (gnus-add-shutdown 'gnus-cache-close 'gnus)
 
index 5d1778e..d2de8dd 100644 (file)
@@ -55,20 +55,6 @@ message in, you can set this variable to a function that checks the
 current newsgroup name and then returns a suitable group name (or list
 of names).")
 
-(defvar gnus-message-archive-group
-  '((if (message-news-p) "misc-news" "misc-mail"))
-  "*Name of the group in which to save the messages you've written.
-This can either be a string, a list of strings; or an alist
-of regexps/functions/forms to be evaluated to return a string (or a list
-of strings).  The functions are called with the name of the current
-group (or nil) as a parameter.
-
-Normally the group names returned by this variable should be
-unprefixed -- which implictly means \"store on the archive server\".
-However, you may wish to store the message on some other server.  In
-that case, just return a fully prefixed name of the group --
-\"nnml+private:mail.misc\", for instance.")
-
 (defvar gnus-mailing-list-groups nil
   "*Regexp matching groups that are really mailing lists.
 This is useful when you're reading a mailing list that has been
index 4681f01..36f7882 100644 (file)
@@ -34,6 +34,7 @@
 (require 'message)
 (require 'nnmail)
 (require 'backquote)
+(require 'nnoo)
 
 (eval-when-compile (require 'cl))
 
@@ -149,6 +150,19 @@ It's probably not a very effective to change this variable once you've
 run Gnus once.  After doing that, you must edit this server from the
 server buffer.")
 
+(defvar gnus-message-archive-group nil
+  "*Name of the group in which to save the messages you've written.
+This can either be a string, a list of strings; or an alist
+of regexps/functions/forms to be evaluated to return a string (or a list
+of strings).  The functions are called with the name of the current
+group (or nil) as a parameter.
+
+Normally the group names returned by this variable should be
+unprefixed -- which implictly means \"store on the archive server\".
+However, you may wish to store the message on some other server.  In
+that case, just return a fully prefixed name of the group --
+\"nnml+private:mail.misc\", for instance.")
+
 (defvar gnus-refer-article-method nil
   "*Preferred method for fetching an article by Message-ID.
 If you are reading news from the local spool (with nnspool), fetching
@@ -1314,12 +1328,20 @@ See `gnus-thread-score-function' for en explanation of what a
   "^nnml\\|^nnfolder\\|^nnmbox\\|^nnmh\\|^nnbabyl"
   "*All new groups that match this regexp will be subscribed automatically.
 Note that this variable only deals with new groups.  It has no effect
-whatsoever on old groups.")
+whatsoever on old groups.
+
+New groups that match this regexp will not be handled by
+`gnus-subscribe-newsgroup-method'.  Instead, they will
+be subscribed using `gnus-subscribe-options-newsgroup-method'.")
 
 (defvar gnus-options-subscribe nil
   "*All new groups matching this regexp will be subscribed unconditionally.
 Note that this variable deals only with new newsgroups.         This variable
-does not affect old newsgroups.")
+does not affect old newsgroups.
+
+New groups that match this regexp will not be handled by
+`gnus-subscribe-newsgroup-method'.  Instead, they will
+be subscribed using `gnus-subscribe-options-newsgroup-method'.")
 
 (defvar gnus-options-not-subscribe nil
   "*All new groups matching this regexp will be ignored.
@@ -1730,7 +1752,7 @@ variable (string, integer, character, etc).")
   "gnus-bug@ifi.uio.no (The Gnus Bugfixing Girls + Boys)"
   "The mail address of the Gnus maintainers.")
 
-(defconst gnus-version-number "5.2.26"
+(defconst gnus-version-number "5.2.27"
   "Version number for this version of Gnus.")
 
 (defconst gnus-version (format "Gnus v%s" gnus-version-number)
@@ -2096,7 +2118,8 @@ Thank you for your help in stamping out bugs.
       gnus-summary-mail-forward gnus-summary-mail-other-window
       gnus-bug)
      ("gnus-picon" :interactive t gnus-article-display-picons
-      gnus-group-display-picons gnus-picons-article-display-x-face)
+      gnus-group-display-picons gnus-picons-article-display-x-face
+      gnus-picons-display-x-face)
      ("gnus-gl" bbb-login bbb-logout bbb-grouplens-group-p 
       gnus-grouplens-mode)
      ("smiley" :interactive t gnus-smiley-display)
@@ -3215,6 +3238,7 @@ If RE-ONLY is non-nil, strip leading `Re:'s only."
        gnus-group-mark-positions nil
        gnus-newsgroup-data nil
        gnus-newsgroup-unreads nil
+       nnoo-state-alist nil
        gnus-current-select-method nil)
   (gnus-shutdown 'gnus)
   ;; Kill the startup file.
@@ -3804,7 +3828,7 @@ simple-first is t, first argument is already simplified."
     (apply 'format args)))
 
 (defun gnus-error (level &rest args)
-  "Beep an error if `gnus-verbose' is on LEVEL or less."
+  "Beep an error if LEVEL is equal to or less than `gnus-verbose'."
   (when (<= (floor level) gnus-verbose)
     (apply 'message args)
     (ding)
@@ -4754,6 +4778,19 @@ If REGEXP, only list groups matching REGEXP."
       (pop opened))
     out))
 
+(defun gnus-archive-server-wanted-p ()
+  "Say whether the user wants to use the archive server."
+  (cond 
+   ((not gnus-message-archive-method)
+    nil)
+   ((and gnus-message-archive-method gnus-message-archive-group)
+    t)
+   (t
+    (let ((active (cadr (assq 'nnfolder-active-file
+                             gnus-message-archive-method))))
+      (and active
+          (file-exists-p active))))))
+
 (defun gnus-group-prefixed-name (group method)
   "Return the whole name from GROUP and METHOD."
   (and (stringp method) (setq method (gnus-server-to-method method)))
@@ -6529,7 +6566,10 @@ If N is negative, this group and the N-1 previous groups will be checked."
            (unless (gnus-virtual-group-p group)
              (gnus-close-group group))
            (gnus-group-update-group group))
-       (gnus-error 3 "%s error: %s" group (gnus-status-message group))))
+       (if (eq (gnus-server-status (gnus-find-method-for-group group))
+               'denied)
+           (gnus-error "Server denied access")
+         (gnus-error 3 "%s error: %s" group (gnus-status-message group)))))
     (when beg (goto-char beg))
     (when gnus-goto-next-group-when-activating
       (gnus-group-next-unread-group 1 t))
@@ -8429,11 +8469,16 @@ Unscored articles will be counted as having a score of zero."
   ;; This function find the total score of the thread below ROOT.
   (setq root (car root))
   (apply gnus-thread-score-function
-        (or (cdr (assq (mail-header-number root) gnus-newsgroup-scored))
-            gnus-summary-default-score 0)
-        (mapcar 'gnus-thread-total-score
-                (cdr (gnus-gethash (mail-header-id root)
-                                   gnus-newsgroup-dependencies)))))
+        (or (append
+             (mapcar 'gnus-thread-total-score
+                     (cdr (gnus-gethash (mail-header-id root)
+                                        gnus-newsgroup-dependencies)))
+                (if (> (mail-header-number root) 0)
+                    (list (or (cdr (assq (mail-header-number root) 
+                                         gnus-newsgroup-scored))
+                              gnus-summary-default-score 0))))
+            (list gnus-summary-default-score)
+            '(0))))
 
 ;; Added by Per Abrahamsen <amanda@iesd.auc.dk>.
 (defvar gnus-tmp-prev-subject nil)
@@ -11843,9 +11888,11 @@ groups."
   (interactive)
   (if (gnus-group-read-only-p)
       (progn
-       (gnus-summary-edit-article-postpone)
-       (gnus-error
-        1 "The current newsgroup does not support article editing."))
+       (let ((beep (not (eq major-mode 'text-mode))))
+         (gnus-summary-edit-article-postpone)
+         (when beep
+           (gnus-error
+            3 "The current newsgroup does not support article editing."))))
     (let ((buf (format "%s" (buffer-string))))
       (erase-buffer)
       (insert buf)
@@ -15368,6 +15415,10 @@ If GROUP is nil, all groups on METHOD are scanned."
     (setcar (cdr entry) (concat (nth 1 entry) "+" group))
     (nconc entry (cdr method))))
 
+(defun gnus-server-status (method)
+  "Return the status of METHOD."
+  (nth 1 (assoc method gnus-opened-servers)))
+
 (defun gnus-group-name-to-method (group)
   "Return a select method suitable for GROUP."
   (if (string-match ":" group)
@@ -15438,7 +15489,7 @@ If LEVEL is non-nil, the news will be set up at level LEVEL."
       (gnus-read-newsrc-file rawfile))
 
     (when (and (not (assoc "archive" gnus-server-alist))
-              gnus-message-archive-method)
+              (gnus-archive-server-wanted-p))
       (push (cons "archive" gnus-message-archive-method)
            gnus-server-alist))
 
@@ -15588,7 +15639,7 @@ the server for new groups."
   (let* ((date (or gnus-newsrc-last-checked-date (current-time-string)))
         (methods (cons gnus-select-method
                        (nconc
-                        (when gnus-message-archive-method
+                        (when (gnus-archive-server-wanted-p)
                           (list "archive"))
                         (append
                          (and (consp gnus-check-new-newsgroups)
@@ -16187,7 +16238,7 @@ Returns whether the updating was successful."
            ;; secondary ones.
            gnus-secondary-select-methods)
          ;; Also read from the archive server.
-         (when gnus-message-archive-method
+         (when (gnus-archive-server-wanted-p)
            (list "archive"))))
        list-type)
     (setq gnus-have-read-active-file nil)
@@ -16999,7 +17050,7 @@ If FORCE is non-nil, the .newsrc file is read."
 (defun gnus-read-all-descriptions-files ()
   (let ((methods (cons gnus-select-method 
                       (nconc
-                       (when gnus-message-archive-method
+                       (when (gnus-archive-server-wanted-p)
                          (list "archive"))
                        gnus-secondary-select-methods))))
     (while methods
index 0e94d64..2a9e682 100644 (file)
@@ -40,7 +40,6 @@
     (require 'mail-abbrevs)
   (require 'mailabbrev))
 
-;;;###autoload
 (defvar message-directory "~/Mail/"
   "*Directory from which all other mail file variables are derived.")
 
@@ -164,9 +163,8 @@ If t, use `message-user-organization-file'.")
 (defvar message-user-organization-file "/usr/lib/news/organization"
   "*Local news organization file.")
 
-;;;###autoload
-(defvar message-autosave-directory
-  (concat (file-name-as-directory message-directory) "drafts/")
+(defvar message-autosave-directory "~/"
+  ; (concat (file-name-as-directory message-directory) "drafts/")
   "*Directory where message autosaves buffers.
 If nil, message won't autosave.")
 
@@ -1531,8 +1529,9 @@ the user from the mailer."
        ;; Check "Shoot me".
        (or (message-check-element 'shoot)
            (save-excursion
-             (if (search-forward
-                  ".i-have-a-misconfigured-system-so-shoot-me" nil t)
+             (if (re-search-forward
+                  "Message-ID.*.i-have-a-misconfigured-system-so-shoot-me"
+                  nil t)
                  (y-or-n-p
                   "You appear to have a misconfigured system.  Really post? ")
                t)))
@@ -2489,7 +2488,9 @@ Headers already prepared in the buffer are not modified."
                    follow-to)))))
       (widen))
 
-    (message-pop-to-buffer (message-buffer-name "reply" from))
+    (message-pop-to-buffer (message-buffer-name
+                           (if wide "wide reply" "reply") from
+                           (if wide to-address nil)))
 
     (setq message-reply-headers
          (vector 0 subject from date message-id references 0 0 ""))
index caf0a7c..536a83d 100644 (file)
@@ -937,8 +937,11 @@ See the documentation for the variable `nnmail-split-fancy' for documentation."
        crash
        (cond ((and group
                   (or (eq nnmail-spool-file 'procmail)
-                      nnmail-use-procmail))
+                      nnmail-use-procmail)
+                  procmails)
              procmails)
+            ((eq nnmail-spool-file 'procmail)
+             nil)
             ((listp nnmail-spool-file)
              (append nnmail-spool-file procmails))
             ((stringp nnmail-spool-file)
index 82a607e..f80bf28 100644 (file)
@@ -465,7 +465,7 @@ there.")
     (buffer-disable-undo (current-buffer))
     (erase-buffer)
     (condition-case ()
-       (call-process "grep" nil t nil id nnspool-history-file)
+       (call-process "grep" nil t nil (regexp-quote id) nnspool-history-file)
       (error nil))
     (goto-char (point-min))
     (prog1
index 1697f8f..fdff434 100644 (file)
 ;; The smilies were drawn by Joe Reiss <joe@jreiss.async.vt.edu>. 
 
 (require 'annotations)
+(require 'messagexmas)
 (eval-when-compile (require 'cl))
 
 (defvar smiley-data-directory (message-xmas-find-glyph-directory "smilies")
   "Location of the smiley faces files.")
 
 (defvar smiley-regexp-alist
-  '(("\\s-\\(:-*\\]\\)" 1 "FaceGrinning.xpm")
-    ("\\s-\\(:-*[oO]\\)" 1 "FaceStartled.xpm")
+  '(("\\s-\\(:-*\\]\\)\\W" 1 "FaceGrinning.xpm")
+    ("\\s-\\(:-*[oO]\\)\\W" 1 "FaceStartled.xpm")
     ("\\s-\\(:-*[)>]\\)" 1 "FaceHappy.xpm")
     ("\\s-\\(;-*[>)]\\)" 1 "FaceWinking.xpm")
     ("\\s-\\(:-[/\\]\\)" 1 "FaceIronic.xpm")
     ("\\s-\\(:-*|\\)" 1 "FaceStraight.xpm")
     ("\\s-\\(:-*<\\)" 1 "FaceAngry.xpm")
-    ("\\s-\\(:-*d\\)" 1 "FaceTasty.xpm")
-    ("\\s-\\(:-*[pP]\\)" 1 "FaceYukky.xpm")
+    ("\\s-\\(:-*d\\)\\W" 1 "FaceTasty.xpm")
+    ("\\s-\\(:-*[pP]\\)\\W" 1 "FaceYukky.xpm")
     ("\\s-\\(8-*|\\)" 1 "FaceKOed.xpm")
     ("\\s-\\(:-*(\\)" 1 "FaceAngry.xpm"))
   "A list of regexps to map smilies to real images.")
       (set-glyph-face glyph 'default)
       glyph))))
 
-;;;###interactive
+;;;###autoload
 (defun smiley-region (beg end)
   "Smilify the region between point and mark."
   (interactive "r")
   (smiley-buffer (current-buffer) beg end))
 
-;;;###interactive
+;;;###autoload
 (defun smiley-buffer (&optional buffer st nd)
   (interactive)
   (save-excursion