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
+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.
(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)
(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)
;; (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.
(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)))))
(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)))))))))
(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))
: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)
(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)
(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.
(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
(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)
(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 ()
"\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.
: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)
(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))
(assoc method gnus-valid-select-methods))
(read-string "Address: ")
"")))
- ((assoc method gnus-server-alist)
+ ((assoc method servers)
method)
(t
(list (intern method) "")))))
(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 ?\&)
+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
\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
@tex
@titlepage
-@title Gnus 5.6.28 Manual
+@title Gnus 5.6.29 Manual
@author by Lars Magne Ingebrigtsen
@page
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
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
(signature-file "~/.mail-signature"))))
@end lisp
+
@node Drafts
@section Drafts
@cindex drafts
@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
@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}.
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'' --
* 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
@node Quassia Gnus
@subsubsection Quassia Gnus
-New features in Gnus 5.6.28:
+New features in Gnus 5.6.29:
@itemize @bullet
\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
@tex
@titlepage
-@title Message 5.6.28 Manual
+@title Message 5.6.29 Manual
@author by Lars Magne Ingebrigtsen
@page
* 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.
@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
@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
@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
@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