*** empty log message ***
authorLars Magne Ingebrigtsen <larsi@gnus.org>
Thu, 6 Aug 1998 05:58:52 +0000 (05:58 +0000)
committerLars Magne Ingebrigtsen <larsi@gnus.org>
Thu, 6 Aug 1998 05:58:52 +0000 (05:58 +0000)
14 files changed:
Makefile.in
lisp/ChangeLog
lisp/gnus-agent.el
lisp/gnus-group.el
lisp/gnus-salt.el
lisp/gnus-score.el
lisp/gnus-start.el
lisp/gnus-sum.el
lisp/gnus-topic.el
lisp/gnus.el
lisp/nnmail.el
texi/ChangeLog
texi/gnus.texi
texi/message.texi

index c6205a8..7c675a4 100644 (file)
@@ -37,7 +37,7 @@ x:
 
 distclean:
        make clean
-       rm -r *~
+       rm -rf *~
        for i in lisp texi; do (cd $$i; make distclean); done
        rm -f config.log config.status Makefile
 
index 429b2d6..3589498 100644 (file)
@@ -1,3 +1,65 @@
+Thu Aug  6 07:58:17 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Gnus v5.6.29 is released.
+
+1998-08-06 07:10:31  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-agent.el (gnus-agent-expire): Check whether (caar
+       gnus-agent-article-alist) is nil.
+
+       * gnus.el (gnus-read-method): Allow selecting predefined servers. 
+
+       * gnus-topic.el (gnus-topic-update-topic-line): Compute right
+       number when inserting missing topic lines.
+
+       * gnus-start.el (gnus-get-unread-articles): Check that the group
+       is alive.
+
+       * gnus-score.el (gnus-score-load-score-alist): Better error
+       messaging. 
+
+Tue Aug  4 09:42:31 1998  Kurt Swanson  <ksw@dna.lth.se>
+
+       * gnus-salt.el (gnus-pick-mouse-pick-region): Fix picking bug due
+       to use of gnus-read-event-char.
+
+1998-07-28  Dave Love  <d.love@dl.ac.uk>
+
+       * gnus-group.el (gnus-group-fetch-faq): Don't mung dots in group
+       name.
+
+1998-07-27  Dave Love  <d.love@dl.ac.uk>
+
+       * gnus-topic.el (gnus-topic-mode-map): Provide Emacs tty
+       alternatives to [tab], [(meta tab)].
+
+1998-08-06 04:41:38  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-start.el (gnus-startup-file-coding-system): New variable.
+       (gnus-read-init-file): Use it.
+       (gnus-read-newsrc-el-file): Ditto.
+
+       * gnus-sum.el (gnus-thread-ignore-subject): Changed default.
+
+1998-08-06 04:38:02  Richard Stallman  <rms@gnu.org>
+
+       * message.el (sendmail): Required.
+
+1998-08-06 02:11:37  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-sum.el (gnus-auto-select-same): Dix fix.
+
+1998-08-04  Mike McEwan  <mike@lotusland.demon.co.uk>
+
+       * gnus-sum.el (gnus-select-newsgroup): Set
+       `gnus-newsgroup-unselected' when selecting specific articles via
+       SELECT-ARTICLE - there may be more headers to fetch if
+       `gnus-fetch-old-headers' is non-nil. 
+       (gnus-summary-read-group): pass SELECT-ARTICLE to
+       `gnus-summary-read-group-1' and reset to nil when going to next group.
+       (gnus-summary-read-group): Change `select-article' to
+       `select-articles' for consistency.
+
 Tue Aug  4 05:25:01 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
 
        * gnus.el: Gnus v5.6.28 is released.
index db6cf94..0e153da 100644 (file)
@@ -1358,9 +1358,11 @@ The following commands are available:
               (setq gnus-agent-article-alist (cdr first))
               ;;; Mark all articles up to the first article
               ;;; in `gnus-article-alist' as read.
-              (setcar (nthcdr 2 info)
-                      (gnus-range-add
-                       (nth 2 info) (cons 1 (- (caar gnus-agent-article-alist) 1))))
+              (when (caar gnus-agent-article-alist)
+                (setcar (nthcdr 2 info)
+                        (gnus-range-add
+                         (nth 2 info)
+                         (cons 1 (- (caar gnus-agent-article-alist) 1)))))
               (gnus-dribble-enter
                (concat "(gnus-group-set-info '"
                        (gnus-prin1-to-string info)
index 71ea9ad..1f3b8d3 100644 (file)
@@ -2954,8 +2954,6 @@ to use."
     (while (and (not found)
                (setq dir (pop dirs)))
       (let ((name (gnus-group-real-name group)))
-       (while (string-match "\\." name)
-         (setq name (replace-match "/" t t name)))
        (setq file (concat (file-name-as-directory dir) name)))
       (if (not (file-exists-p file))
          (gnus-message 1 "No such file: %s" file)
index 1f881cf..5dc624e 100644 (file)
@@ -241,48 +241,48 @@ This must be bound to a button-down mouse event."
     ;; (but not outside the window where the drag started).
     (let (event end end-point last-end-point (end-of-range (point)))
       (track-mouse
-       (while (progn
-               (setq event (gnus-read-event-char))
-               (or (mouse-movement-p event)
-                   (eq (car-safe event) 'switch-frame)))
-        (if (eq (car-safe event) 'switch-frame)
-            nil
-          (setq end (event-end event)
-                end-point (posn-point end))
-          (when end-point
-            (setq last-end-point end-point))
-
-          (cond
-           ;; Are we moving within the original window?
-           ((and (eq (posn-window end) start-window)
-                 (integer-or-marker-p end-point))
-            ;; Go to START-POINT first, so that when we move to END-POINT,
-            ;; if it's in the middle of intangible text,
-            ;; point jumps in the direction away from START-POINT.
-            (goto-char start-point)
-            (goto-char end-point)
-            (gnus-pick-article)
-            ;; In case the user moved his mouse really fast, pick
-            ;; articles on the line between this one and the last one.
-            (let* ((this-line (1+ (count-lines 1 end-point)))
-                   (min-line (min this-line start-line))
-                   (max-line (max this-line start-line)))
-              (while (< min-line max-line)
-                (goto-line min-line)
-                (gnus-pick-article)
-                (setq min-line (1+ min-line)))
-              (setq start-line this-line))
-            (when (zerop (% click-count 3))
-              (setq end-of-range (point))))
-           (t
-            (let ((mouse-row (cdr (cdr (mouse-position)))))
-              (cond
-               ((null mouse-row))
-               ((< mouse-row top)
-                (mouse-scroll-subr start-window (- mouse-row top)))
-               ((>= mouse-row bottom)
-                (mouse-scroll-subr start-window
-                                   (1+ (- mouse-row bottom)))))))))))
+       (while (progn
+                (setq event (cdr (gnus-read-event-char)))
+                (or (mouse-movement-p event)
+                    (eq (car-safe event) 'switch-frame)))
+         (if (eq (car-safe event) 'switch-frame)
+             nil
+           (setq end (event-end event)
+                 end-point (posn-point end))
+           (when end-point
+             (setq last-end-point end-point))
+
+           (cond
+            ;; Are we moving within the original window?
+            ((and (eq (posn-window end) start-window)
+                  (integer-or-marker-p end-point))
+             ;; Go to START-POINT first, so that when we move to END-POINT,
+             ;; if it's in the middle of intangible text,
+             ;; point jumps in the direction away from START-POINT.
+             (goto-char start-point)
+             (goto-char end-point)
+             (gnus-pick-article)
+             ;; In case the user moved his mouse really fast, pick
+             ;; articles on the line between this one and the last one.
+             (let* ((this-line (1+ (count-lines 1 end-point)))
+                    (min-line (min this-line start-line))
+                    (max-line (max this-line start-line)))
+               (while (< min-line max-line)
+                 (goto-line min-line)
+                 (gnus-pick-article)
+                 (setq min-line (1+ min-line)))
+               (setq start-line this-line))
+             (when (zerop (% click-count 3))
+               (setq end-of-range (point))))
+            (t
+             (let ((mouse-row (cdr (cdr (mouse-position)))))
+               (cond
+                ((null mouse-row))
+                ((< mouse-row top)
+                 (mouse-scroll-subr start-window (- mouse-row top)))
+                ((>= mouse-row bottom)
+                 (mouse-scroll-subr start-window
+                                    (1+ (- mouse-row bottom)))))))))))
       (when (consp event)
        (let ((fun (key-binding (vector (car event)))))
          ;; Run the binding of the terminating up-event, if possible.
index b7b203d..9b673ce 100644 (file)
@@ -1213,10 +1213,16 @@ SCORE is the score to add."
                    (read (current-buffer))
                  (error
                   (gnus-error 3.2 "Problem with score file %s" file))))))
-      (if (eq (car alist) 'setq)
-         ;; This is an old-style score file.
-         (setq gnus-score-alist (gnus-score-transform-old-to-new alist))
-       (setq gnus-score-alist alist))
+      (cond
+       ((and alist
+            (atom alist))
+       ;; Bogus score file.
+       (error "Invalid syntax with score file %s" file))
+       ((eq (car alist) 'setq)
+       ;; This is an old-style score file.
+       (setq gnus-score-alist (gnus-score-transform-old-to-new alist)))
+       (t
+       (setq gnus-score-alist alist)))
       ;; Check the syntax of the score file.
       (setq gnus-score-alist
            (gnus-score-check-syntax gnus-score-alist file)))))
index 91b31ca..fef8d64 100644 (file)
@@ -429,7 +429,8 @@ Can be used to turn version control on or off."
                   (file-exists-p (concat file ".el"))
                   (file-exists-p (concat file ".elc")))
               (condition-case var
-                  (let ((coding-system-for-read 'binary))
+                  (let ((coding-system-for-read
+                         gnus-startup-file-coding-system))
                     (load file nil t))
                 (error
                  (error "Error in %s: %s" file var)))))))))
@@ -1490,7 +1491,7 @@ newsgroup."
          (when (<= (gnus-info-level info) foreign-level)
            (setq active (gnus-activate-group group 'scan))
            ;; Let the Gnus agent save the active file.
-           (when (and gnus-agent gnus-plugged)
+           (when (and gnus-agent gnus-plugged active)
              (gnus-agent-save-group-info
               method (gnus-group-real-name group) active))
            (unless (inline (gnus-virtual-group-p group))
index fd1039f..c517342 100644 (file)
@@ -218,10 +218,10 @@ to expose hidden threads."
   :group 'gnus-thread
   :type 'boolean)
 
-(defcustom gnus-thread-ignore-subject nil
-  "*If non-nil, ignore subjects and do all threading based on the Reference header.
-If nil, which is the default, articles that have different subjects
-from their parents will start separate threads."
+(defcustom gnus-thread-ignore-subject t
+  "*If non-nil, which is the default, ignore subjects and do all threading based on the Reference header.
+If nil, articles that have different subjects from their parents will
+start separate threads."
   :group 'gnus-thread
   :type 'boolean)
 
@@ -282,7 +282,9 @@ will go to the next group without confirmation."
                 (sexp :menu-tag "on" t)))
 
 (defcustom gnus-auto-select-same nil
-  "*If non-nil, select the next article with the same subject."
+  "*If non-nil, select the next article with the same subject.
+If there are no more articles with the same subject, go to
+the first unread article."
   :group 'gnus-summary-maneuvering
   :type 'boolean)
 
@@ -2508,7 +2510,7 @@ the thread are to be displayed."
 
 (defun gnus-summary-read-group (group &optional show-all no-article
                                      kill-buffer no-display backward
-                                     select-article)
+                                     select-articles)
   "Start reading news in newsgroup GROUP.
 If SHOW-ALL is non-nil, already read articles are also listed.
 If NO-ARTICLE is non-nil, no article is selected initially.
@@ -2519,9 +2521,10 @@ If NO-DISPLAY, don't generate a summary buffer."
                            (let ((gnus-auto-select-next nil))
                              (or (gnus-summary-read-group-1
                                   group show-all no-article
-                                  kill-buffer no-display)
-                                 (setq show-all nil)
-                                 select-article))))
+                                  kill-buffer no-display
+                                  select-articles)
+                                 (setq show-all nil
+                                  select-articles nil)))))
                (eq gnus-auto-select-next 'quietly))
       (set-buffer gnus-group-buffer)
       ;; The entry function called above goes to the next
@@ -3872,7 +3875,12 @@ If SELECT-ARTICLES, only select those articles from GROUP."
     (unless (gnus-ephemeral-group-p gnus-newsgroup-name)
       (gnus-group-update-group group))
 
-    (setq articles (or select-articles (gnus-articles-to-read group read-all)))
+    (if (setq articles select-articles)
+       (setq gnus-newsgroup-unselected
+             (gnus-sorted-intersection
+              gnus-newsgroup-unreads
+              (gnus-sorted-complement gnus-newsgroup-unreads articles)))
+      (setq articles (gnus-articles-to-read group read-all)))
 
     (cond
      ((null articles)
index 108f3bc..cd211a7 100644 (file)
@@ -647,7 +647,8 @@ articles in the topic and its subtopics."
     (when parent
       (forward-line -1)
       (gnus-topic-update-topic-line
-       parent (- (or old-unread 0) (or (gnus-group-topic-unread) 0))))
+       parent
+       (max 0 (- (or old-unread 0) (or (gnus-group-topic-unread) 0)))))
     unread))
 
 (defun gnus-topic-group-indentation ()
@@ -912,6 +913,8 @@ articles in the topic and its subtopics."
     "\M-#" gnus-topic-unmark-topic
     [tab] gnus-topic-indent
     [(meta tab)] gnus-topic-unindent
+    "\C-i" gnus-topic-indent
+    "\M-\C-i" gnus-topic-unindent
     gnus-mouse-2 gnus-mouse-pick-topic)
 
   ;; Define a new submap.
index f7dc720..bcd2bbd 100644 (file)
@@ -250,7 +250,7 @@ is restarted, and sometimes reloaded."
   :link '(custom-manual "(gnus)Exiting Gnus")
   :group 'gnus)
 
-(defconst gnus-version-number "5.6.28"
+(defconst gnus-version-number "5.6.29"
   "Version number for this version of Gnus.")
 
 (defconst gnus-version (format "Gnus v%s" gnus-version-number)
@@ -2685,11 +2685,14 @@ Disallow illegal group names."
 (defun gnus-read-method (prompt)
   "Prompt the user for a method.
 Allow completion over sensible values."
-  (let ((method
-        (completing-read
-         prompt (append gnus-valid-select-methods gnus-predefined-server-alist
-                        gnus-server-alist)
-         nil t nil 'gnus-method-history)))
+  (let* ((servers
+         (append gnus-valid-select-methods
+                 gnus-predefined-server-alist
+                 gnus-server-alist))
+        (method
+         (completing-read
+          prompt servers
+          nil t nil 'gnus-method-history)))
     (cond
      ((equal method "")
       (setq method gnus-select-method))
@@ -2699,7 +2702,7 @@ Allow completion over sensible values."
                      (assoc method gnus-valid-select-methods))
                (read-string "Address: ")
              "")))
-     ((assoc method gnus-server-alist)
+     ((assoc method servers)
       method)
      (t
       (list (intern method) "")))))
index 4888255..a03c195 100644 (file)
@@ -1351,14 +1351,14 @@ See the documentation for the variable `nnmail-split-fancy' for documentation."
       (unless (= beg pos)
        (push (substring newtext beg pos) expanded))
       (when (< pos len)
-       ;; we hit a \, expand it.
-       (setq did-expand t)
-       (setq pos (1+ pos))
-       (setq c (aref newtext pos))
+       ;; We hit a \; expand it.
+       (setq did-expand t
+             pos (1+ pos)
+             c (aref newtext pos))
        (if (not (or (= c ?\&)
                     (and (>= c ?1)
                          (<= c ?9))))
-           ;; \ followed by some character we don't expand
+           ;; \ followed by some character we don't expand.
            (push (char-to-string c) expanded)
          ;; \& or \N
          (if (= c ?\&)
index 386b9b1..d575325 100644 (file)
@@ -1,3 +1,11 @@
+1998-08-06 02:12:04  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus.texi: De-legalize.
+
+       * message.texi: De-legalize.
+
+       * gnus.texi (Summary Maneuvering): Fix.
+
 1998-07-21 17:51  Simon Josefsson  <jas@pdc.kth.se>
 
        * gnus.texi (Splitting Mail): junk is fancy splitting only
index 6794600..885489e 100644 (file)
@@ -1,7 +1,7 @@
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename gnus
-@settitle Gnus 5.6.28 Manual
+@settitle Gnus 5.6.29 Manual
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp
@@ -316,7 +316,7 @@ into another language, under the above conditions for modified versions.
 @tex
 
 @titlepage
-@title Gnus 5.6.28 Manual
+@title Gnus 5.6.29 Manual
 
 @author by Lars Magne Ingebrigtsen
 @page
@@ -352,7 +352,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.6.28.
+This manual corresponds to Gnus 5.6.29.
 
 @end ifinfo
 
@@ -3499,8 +3499,10 @@ without confirmation.  Also @pxref{Group Levels}.
 If non-@code{nil}, all the movement commands will try to go to the next
 article with the same subject as the current.  (@dfn{Same} here might
 mean @dfn{roughly equal}.  See @code{gnus-summary-gather-subject-limit}
-for details (@pxref{Customizing Threading}).)  This variable is not
-particularly useful if you use a threaded display.
+for details (@pxref{Customizing Threading}).)  If there are no more
+articles with the same subject, go to the first unread article.
+
+This variable is not particularly useful if you use a threaded display.
 
 @item gnus-summary-check-current
 @vindex gnus-summary-check-current
@@ -8358,6 +8360,7 @@ So here's a new example:
          (signature-file "~/.mail-signature"))))
 @end lisp
 
+
 @node Drafts
 @section Drafts
 @cindex drafts
@@ -11535,7 +11538,7 @@ Hook run in category buffers.
 @item gnus-category-line-format
 @vindex gnus-category-line-format
 Format of the lines in the category buffer (@pxref{Formatting
-Variables}).  Legal elements are:
+Variables}).  Valid elements are:
 
 @table @samp
 @item c
@@ -15077,7 +15080,7 @@ foreground and background color of the splash page glyph.
 @item gnus-xmas-logo-color-style
 @vindex gnus-xmas-logo-color-style
 This is the key used to look up the color in the alist described above.
-Legal values include @code{flame}, @code{pine}, @code{moss},
+Valid values include @code{flame}, @code{pine}, @code{moss},
 @code{irish}, @code{sky}, @code{tin}, @code{velvet}, @code{grape},
 @code{labia}, @code{berry}, @code{neutral}, and @code{september}.
 
@@ -15384,7 +15387,7 @@ On July 28th 1996 work on Red Gnus was begun, and it was released on
 January 25th 1997 (after 84 releases) as ``Gnus 5.4'' (67 releases).
 
 On September 13th 1997, Quassia Gnus was started and lasted 37
-releases.  If was released as ``Gnus 5.6.28' on March 8th 1998.
+releases.  If was released as ``Gnus 5.6.29' on March 8th 1998.
 
 If you happen upon a version of Gnus that has a prefixed name --
 ``(ding) Gnus'', ``September Gnus'', ``Red Gnus'', ``Quassia Gnus'' --
@@ -15861,7 +15864,7 @@ actually are people who are using Gnus.  Who'd'a thunk it!
 * ding Gnus::          New things in Gnus 5.0/5.1, the first new Gnus.
 * September Gnus::     The Thing Formally Known As Gnus 5.3/5.3.
 * Red Gnus::           Third time best---Gnus 5.4/5.5.
-* Quassia Gnus::       Two times two is four, or Gnus 5.6.28.
+* Quassia Gnus::       Two times two is four, or Gnus 5.6.29.
 @end menu
 
 These lists are, of course, just @emph{short} overviews of the
@@ -16396,7 +16399,7 @@ Emphasized text can be properly fontisized:
 @node Quassia Gnus
 @subsubsection Quassia Gnus
 
-New features in Gnus 5.6.28:
+New features in Gnus 5.6.29:
 
 @itemize @bullet
 
index 4cd5b5e..13e58d6 100644 (file)
@@ -1,7 +1,7 @@
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename message
-@settitle Message 5.6.28 Manual
+@settitle Message 5.6.29 Manual
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp
@@ -42,7 +42,7 @@ into another language, under the above conditions for modified versions.
 @tex
 
 @titlepage
-@title Message 5.6.28 Manual
+@title Message 5.6.29 Manual
 
 @author by Lars Magne Ingebrigtsen
 @page
@@ -83,7 +83,7 @@ Message mode buffers.
 * Key Index::         List of Message mode keys.
 @end menu
 
-This manual corresponds to Message 5.6.28.  Message is distributed with
+This manual corresponds to Message 5.6.29.  Message is distributed with
 the Gnus distribution bearing the same version number as this manual
 has. 
 
@@ -680,7 +680,7 @@ message.
 
 @item message-from-style
 @vindex message-from-style
-Specifies how @code{From} headers should look.  There are four legal
+Specifies how @code{From} headers should look.  There are four valid
 values:
 
 @table @code
@@ -782,7 +782,7 @@ headers.
 @vindex message-required-news-headers
 @code{message-required-news-headers} a list of header symbols.  These
 headers will either be automatically generated, or, if that's
-impossible, they will be prompted for.  The following symbols are legal:
+impossible, they will be prompted for.  The following symbols are valid:
 
 @table @code
 
@@ -888,10 +888,16 @@ Other variables for customizing outgoing news articles:
 
 @item message-syntax-checks
 @vindex message-syntax-checks
-If non-@code{nil}, Message will attempt to check the legality of the
-headers, as well as some other stuff, before posting.  You can control
-the granularity of the check by adding or removing elements from this
-list.  Legal elements are:
+Controls what syntax checks should not be performed on outgoing posts.
+To disable checking of long signatures, for instance, add
+
+@lisp
+(signature . disabled)
+@end lisp
+
+to this list.
+
+Valid checks are:
 
 @table @code
 @item subject-cmsg 
@@ -912,7 +918,7 @@ Check whether the @code{From} header seems nice.
 @cindex long lines
 Check for too long lines.
 @item control-chars
-Check for illegal characters.
+Check for invalid characters.
 @item size
 Check for excessive size.
 @item new-text