*** empty log message ***
authorLars Magne Ingebrigtsen <larsi@gnus.org>
Wed, 5 Mar 1997 06:00:44 +0000 (06:00 +0000)
committerLars Magne Ingebrigtsen <larsi@gnus.org>
Wed, 5 Mar 1997 06:00:44 +0000 (06:00 +0000)
13 files changed:
lisp/ChangeLog
lisp/gnus-group.el
lisp/gnus-score.el
lisp/gnus-srvr.el
lisp/gnus-sum.el
lisp/gnus-topic.el
lisp/gnus-xmas.el
lisp/gnus.el
lisp/message.el
lisp/nndoc.el
lisp/nnml.el
texi/ChangeLog
texi/gnus.texi

index 38968ac..d3baf70 100644 (file)
@@ -1,3 +1,43 @@
+Thu Feb 20 04:16:50 1997  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Gnus v5.4.15 is released.
+
+Thu Feb 20 03:28:00 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-xmas.el (gnus-xmas-mode-line-buffer-identification):
+       Respect non-standard mode line settings.
+
+       * gnus-group.el (gnus-group-line-format): Doc fix.
+
+       * nndoc.el (nndoc-rfc934-type-p): New function.
+       (nndoc-type-alist): Define RFC934 type.
+
+Wed Feb 19 05:18:06 1997  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * gnus-group.el (gnus-group-set-mode-line): Mark the change with
+       two asterisks.
+
+Thu Feb 20 03:19:28 1997  Joev Dubach  <dubach1@husc.harvard.edu>
+
+       * gnus-topic.el (gnus-topic-prepare-topic): Show empty topics. 
+
+Thu Feb 20 02:30:27 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-group.el (gnus-group-process-prefix): Use
+       `gnus-region-active-p'. 
+
+       * gnus-score.el (gnus-hierarchial-home-score-file): Respect short
+       file names.
+       (gnus-hierarchial-home-adapt-file): Ditto.
+
+Wed Feb 19 00:44:41 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nnml.el (nnml-request-regenerate): Return t.
+
+       * gnus-srvr.el (gnus-server-regenerate-server): Better messaging.
+
+       * gnus.el: Autoload gnus-quote-arg-for-sh-or-csh.
+
 Tue Feb 18 23:26:28 1997  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
 
        * gnus.el: Gnus v5.4.14 is released.
index 4e6f8c4..0b43ca0 100644 (file)
@@ -155,7 +155,7 @@ with some simple extensions.
 %l    Whether there are GroupLens predictions for this group (string)
 %n    Select from where (string)
 %z    A string that look like `<%s:%n>' if a foreign select method is used
-?d    The date the group was last entered.
+%d    The date the group was last entered.
 %u    User defined specifier.  The next character in the format string should
       be a letter.  Gnus will call the function gnus-user-format-function-X,
       where X is the letter following %u.  The function will be passed the
@@ -1208,7 +1208,7 @@ already."
             (mode-string (eval gformat)))
        ;; Say whether the dribble buffer has been modified.
        (setq mode-line-modified
-             (if modified "---*- " "----- "))
+             (if modified "--**- " "----- "))
        ;; If the line is too long, we chop it off.
        (when (> (length mode-string) max-len)
          (setq mode-string (substring mode-string 0 (- max-len 4))))
@@ -1413,10 +1413,7 @@ Take into consideration N (the prefix) and the list of marked groups."
          (setq n (1- n))
          (gnus-group-next-group way)))
       (nreverse groups)))
-   ((and (boundp 'transient-mark-mode)
-        transient-mark-mode
-        (boundp 'mark-active)
-        mark-active)
+   ((gnus-region-active-p)
     ;; Work on the region between point and mark.
     (let ((max (max (point) (mark)))
          groups)
index ded9811..2af62e8 100644 (file)
@@ -2705,14 +2705,16 @@ If ADAPT, return the home adaptive file instead."
   (if (string-match "^[^.]+\\." group)
       (concat (match-string 0 group) gnus-score-file-suffix)
     ;; Group name without any dots.
-    (concat group "." gnus-score-file-suffix)))
+    (concat group (if (gnus-use-long-file-name 'not-score) "." "/")
+           gnus-score-file-suffix)))
       
 (defun gnus-hierarchial-home-adapt-file (group)
   "Return the adapt file of the top-level hierarchy of GROUP."
   (if (string-match "^[^.]+\\." group)
       (concat (match-string 0 group) gnus-adaptive-file-suffix)
     ;; Group name without any dots.
-    (concat group "." gnus-adaptive-file-suffix)))
+    (concat group (if (gnus-use-long-file-name 'not-score) "." "/")
+           gnus-adaptive-file-suffix)))
 
 ;;;
 ;;; Score decays
index b9c9354..eed826d 100644 (file)
@@ -736,8 +736,9 @@ buffer.
              'request-regenerate (car (gnus-server-to-method server))))
        (error "This backend doesn't support regeneration")
       (gnus-message 5 "Requesting regeneration of %s..." server)
-      (when (gnus-request-regenerate server)
-       (gnus-message 5 "Requesting regeneration of %s...done" server)))))
+      (if (gnus-request-regenerate server)
+         (gnus-message 5 "Requesting regeneration of %s...done" server)
+       (gnus-message 5 "Couldn't regenerate %s" server)))))
                                          
 (provide 'gnus-srvr)
 
index 08f6332..10127c6 100644 (file)
@@ -1037,32 +1037,6 @@ simple-first is t, first argument is already simplified."
     (equal s1
           (gnus-simplify-subject-fully s2)))))
 
-(defun gnus-offer-save-summaries ()
-  "Offer to save all active summary buffers."
-  (save-excursion
-    (let ((buflist (buffer-list))
-         buffers bufname)
-      ;; Go through all buffers and find all summaries.
-      (while buflist
-       (and (setq bufname (buffer-name (car buflist)))
-            (string-match "Summary" bufname)
-            (save-excursion
-              (set-buffer bufname)
-              ;; We check that this is, indeed, a summary buffer.
-              (and (eq major-mode 'gnus-summary-mode)
-                   ;; Also make sure this isn't bogus.
-                   gnus-newsgroup-prepared
-                   ;; Also make sure that this isn't a dead summary buffer.
-                   (not gnus-dead-summary-mode)))
-            (push bufname buffers))
-       (setq buflist (cdr buflist)))
-      ;; Go through all these summary buffers and offer to save them.
-      (when buffers
-       (map-y-or-n-p
-        "Update summary buffer %s? "
-        (lambda (buf) (switch-to-buffer buf) (gnus-summary-exit))
-        buffers)))))
-
 (defun gnus-summary-bubble-group ()
   "Increase the score of the current group.
 This is a handy function to add to `gnus-summary-exit-hook' to
@@ -3910,8 +3884,7 @@ If WHERE is `summary', the summary mode line format will be used."
          (setq mode-string (format (format "%%-%ds" max-len) mode-string))))
       ;; Update the mode line.
       (setq mode-line-buffer-identification 
-           (gnus-mode-line-buffer-identification
-            (list mode-string)))
+           (gnus-mode-line-buffer-identification (list mode-string)))
       (set-buffer-modified-p t))))
 
 (defun gnus-create-xref-hashtb (from-newsgroup headers unreads)
@@ -8540,6 +8513,32 @@ save those articles instead."
       (gnus-get-unread-articles-in-group info (gnus-active group))
       t)))
 
+(defun gnus-offer-save-summaries ()
+  "Offer to save all active summary buffers."
+  (save-excursion
+    (let ((buflist (buffer-list))
+         buffers bufname)
+      ;; Go through all buffers and find all summaries.
+      (while buflist
+       (and (setq bufname (buffer-name (car buflist)))
+            (string-match "Summary" bufname)
+            (save-excursion
+              (set-buffer bufname)
+              ;; We check that this is, indeed, a summary buffer.
+              (and (eq major-mode 'gnus-summary-mode)
+                   ;; Also make sure this isn't bogus.
+                   gnus-newsgroup-prepared
+                   ;; Also make sure that this isn't a dead summary buffer.
+                   (not gnus-dead-summary-mode)))
+            (push bufname buffers))
+       (setq buflist (cdr buflist)))
+      ;; Go through all these summary buffers and offer to save them.
+      (when buffers
+       (map-y-or-n-p
+        "Update summary buffer %s? "
+        (lambda (buf) (switch-to-buffer buf) (gnus-summary-exit))
+        buffers)))))
+
 (provide 'gnus-sum)
 
 (run-hooks 'gnus-sum-load-hook)
index 037ef40..9bd9ebd 100644 (file)
@@ -430,8 +430,7 @@ articles in the topic and its subtopics."
                              gnus-topic-tallied-groups)))
        (push (gnus-info-group info) gnus-topic-tallied-groups)
        (incf unread (car entry)))
-      (when (and (listp entry)
-                (numberp (car entry)))
+      (when (listp entry)
        (setq tick t)))
     (goto-char beg)
     ;; Insert the topic line.
index 60d347d..b6ad268 100644 (file)
@@ -748,15 +748,21 @@ XEmacs compatibility workaround."
 (defun gnus-xmas-mode-line-buffer-identification (line)
   (let ((line (car line))
        chop)
-    (if (not (stringp line))
-       (list line)
-      (when (string-match "^Gnus:" line)
-       (setq chop (match-end 0))
-       (list 
-        (if gnus-xmas-modeline-glyph
-            (cons gnus-xmas-modeline-left-extent gnus-xmas-modeline-glyph)
-          (cons gnus-xmas-modeline-left-extent (substring line 0 chop)))
-        (cons gnus-xmas-modeline-right-extent (substring line chop)))))))
+    (cond
+     ;; This is some weird type of id.
+     ((not (stringp line))
+      (list line))
+     ;; This is non-standard, so we just pass it through.
+     ((not (string-match "^Gnus:" line))
+      (list line))
+     ;; We have a standard line, so we colorize and glyphize it a bit.
+     (t
+      (setq chop (match-end 0))
+      (list 
+       (if gnus-xmas-modeline-glyph
+          (cons gnus-xmas-modeline-left-extent gnus-xmas-modeline-glyph)
+        (cons gnus-xmas-modeline-left-extent (substring line 0 chop)))
+       (cons gnus-xmas-modeline-right-extent (substring line chop)))))))
 
 (defun gnus-xmas-splash ()
   (when (eq (device-type) 'x)
index 488aa57..24e7259 100644 (file)
@@ -223,7 +223,7 @@ is restarted, and sometimes reloaded."
   :link '(custom-manual "(gnus)Exiting Gnus")
   :group 'gnus)
 
-(defconst gnus-version-number "5.4.14"
+(defconst gnus-version-number "5.4.15"
   "Version number for this version of Gnus.")
 
 (defconst gnus-version (format "Gnus v%s" gnus-version-number)
@@ -1602,7 +1602,7 @@ gnus-newsrc-hashtb should be kept so that both hold the same information.")
       gnus-uu-decode-uu-and-save-view gnus-uu-decode-unshar-view
       gnus-uu-decode-unshar-and-save-view gnus-uu-decode-save-view
       gnus-uu-decode-binhex-view)
-     ("gnus-uu" gnus-uu-delete-work-dir)
+     ("gnus-uu" gnus-uu-delete-work-dir gnus-quote-arg-for-sh-or-csh)
      ("gnus-msg" (gnus-summary-send-map keymap)
       gnus-article-mail gnus-copy-article-buffer gnus-extended-version)
      ("gnus-msg" :interactive t
index e331c1e..99cc283 100644 (file)
@@ -2973,7 +2973,9 @@ You should normally obey the Followup-To: header.
 
 A typical situation where `Followup-To: poster' is used is when the poster
 does not read the newsgroup, so he wouldn't see any replies sent to it."))
-                 (cons 'To (or reply-to from ""))
+                 (progn
+                   (setq message-this-is-news nil)
+                   (cons 'To (or reply-to from "")))
                (cons 'Newsgroups newsgroups)))
             (t
              (if (or (equal followup-to newsgroups)
index d5d2ac5..eecfd61 100644 (file)
@@ -37,8 +37,8 @@
 (defvoo nndoc-article-type 'guess
   "*Type of the file.
 One of `mbox', `babyl', `digest', `news', `rnews', `mmdf', `forward',
-`mime-digest', `standard-digest', `slack-digest', `clari-briefs' or
-`guess'.")
+`rfc934', `mime-digest', `standard-digest', `slack-digest',
+`clari-briefs' or `guess'.")
 
 (defvoo nndoc-post-type 'mail
   "*Whether the nndoc group is `mail' or `post'.")
@@ -64,6 +64,10 @@ One of `mbox', `babyl', `digest', `news', `rnews', `mmdf', `forward',
      (article-begin . "^-+ Start of forwarded message -+\n+")
      (body-end . "^-+ End of forwarded message -+$")
      (prepare-body-function . nndoc-unquote-dashes))
+    (rfc934
+     (article-begin . "^-.*\n+")
+     (body-end . "^-.*$")
+     (prepare-body-function . nndoc-unquote-dashes))
     (clari-briefs
      (article-begin . "^ \\*")
      (body-end . "^\t------*[ \t]^*\n^ \\*")
@@ -407,6 +411,13 @@ One of `mbox', `babyl', `digest', `news', `rnews', `mmdf', `forward',
             (not (re-search-forward "^From:" nil t 2)))
     t))
 
+(defun nndoc-rfc934-type-p ()
+  (when (and (re-search-forward "^-+ Start of forwarded.*\n+" nil t)
+            (not (re-search-forward "^Subject:.*digest" nil t))
+            (not (re-search-backward "^From:" nil t 2))
+            (not (re-search-forward "^From:" nil t 2)))
+    t))
+
 (defun nndoc-clari-briefs-type-p ()
   (when (let ((case-fold-search nil))
          (re-search-forward "^\t[^a-z]+ ([^a-z]+) --" nil t))
index 462e33e..9817ca0 100644 (file)
@@ -159,7 +159,8 @@ all.  This may very well take some time.")
 
 (defun nnml-request-regenerate (server)
   (nnml-possibly-change-directory nil server)
-  (nnml-generate-nov-databases))
+  (nnml-generate-nov-databases)
+  t)
 
 (deffoo nnml-request-article (id &optional group server buffer)
   (nnml-possibly-change-directory group server)
index 58573c1..211f754 100644 (file)
@@ -1,3 +1,11 @@
+Thu Feb 20 03:29:17 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Foreign Groups): Addition.
+
+Wed Feb 19 02:57:51 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Server Variables): New.
+
 Sun Feb 16 15:43:34 1997  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
 
        * gnus.texi (Mail Backend Variables): Fix.
index 807c864..3e848bf 100644 (file)
@@ -1805,9 +1805,9 @@ Make a group based on some file or other
 (@code{gnus-group-make-doc-group}).  If you give a prefix to this
 command, you will be prompted for a file name and a file type.
 Currently supported types are @code{babyl}, @code{mbox}, @code{digest},
-@code{mmdf}, @code{news}, @code{rnews}, @code{clari-briefs}, and
-@code{forward}.  If you run this command without a prefix, Gnus will
-guess at the file type.  @xref{Document Groups}.
+@code{mmdf}, @code{news}, @code{rnews}, @code{clari-briefs},
+@code{rfc934} and @code{forward}.  If you run this command without a
+prefix, Gnus will guess at the file type.  @xref{Document Groups}.
 
 @item G w
 @kindex G w (Group)
@@ -7931,6 +7931,7 @@ To enter the server buffer, user the @kbd{^}
 * Server Commands::           Commands to manipulate servers.
 * Example Methods::           Examples server specifications.
 * Creating a Virtual Server:: An example session.
+* Server Variables::          Which variables to set.
 * Servers and Methods::       You can use server names as select methods.
 * Unavailable Servers::       Some servers you try to contact may be down.
 @end menu
@@ -8147,6 +8148,33 @@ Type @kbd{C-c C-c} to return to the server buffer.  If you now press
 buffer, and you should be able to enter any of the groups displayed.
 
 
+@node Server Variables
+@subsection Server Variables
+
+One sticky point when defining variables (both on backends and in Emacs
+in general) is that some variables are typically initialized from other
+variables when the definition of the variables is being loaded.  If you
+change the "base" variable after the variables have been loaded, you
+won't change the "derived" variables.
+
+This typically affects directory and file variables.  For instance,
+@code{nnml-directory} is @file{~/Mail/} by default, and all @code{nnml}
+directory variables are initialized from that variable, so
+@code{nnml-active-file} will be @file{~/Mail/active}.  If you define a
+new virtual @code{nnml} server, it will @emph{not} suffice to set just
+@code{nnml-directory}---you have to explicitly set all the file
+variables to be what you want them to be.  For a complete list of
+variables for each backend, see each backend's section later in this
+manual, but here's an example @code{nnml} definition:
+
+@lisp
+(nnml "public" 
+      (nnml-directory "~/my-mail/")
+      (nnml-active-file "~/my-mail/active")
+      (nnml-newsgroups-file "~/my-mail/newsgroups"))
+@end lisp
+
+
 @node Servers and Methods
 @subsection Servers and Methods
 
@@ -9706,7 +9734,7 @@ Virtual server variables:
 @item nndoc-article-type
 @vindex nndoc-article-type
 This should be one of @code{mbox}, @code{babyl}, @code{digest},
-@code{mmdf}, @code{forward}, @code{news}, @code{rnews},
+@code{mmdf}, @code{forward}, @code{rfc934}, @code{news}, @code{rnews},
 @code{mime-digest}, @code{clari-briefs}, or @code{guess}.
 
 @item nndoc-post-type
@@ -12556,8 +12584,8 @@ Here's a list of all possible keys for
 @code{browse}, @code{message}, @code{pick}, @code{info},
 @code{summary-faq}, @code{edit-group}, @code{edit-server},
 @code{edit-score}, @code{post}, @code{reply}, @code{forward},
-@code{reply-yank}, @code{mail-bounce}, @code{draft},
-@code{pipe}, @code{bug}, @code{compose-bounce}.  
+@code{reply-yank}, @code{mail-bounce}, @code{draft}, @code{pipe},
+@code{bug}, @code{compose-bounce}.
 
 Note that the @code{message} key is used for both
 @code{gnus-group-mail} and @code{gnus-summary-mail-other-window}.  If