+Thu Apr 10 22:07:46 1997 Lars Magne Ingebrigtsen <larsi@menja.ifi.uio.no>
+
+ * gnus.el: Gnus v5.4.43 is released.
+
+Thu Apr 10 21:47:08 1997 Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
+
+ * gnus-start.el (gnus-save-newsrc-file): Message less.
+
+Thu Apr 10 21:35:45 1997 ISO-2022-JP <morioka@jaist.ac.jp>
+
+ * gnus-sum.el (gnus-summary-show-article): Bind gnus-show-mime.
+
+Thu Apr 10 21:26:19 1997 Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
+
+ * gnus.el: Removed gnus-add-hook.
+
+Thu Apr 3 21:08:57 1997 Hrvoje Niksic <hniksic@srce.hr>
+
+ * gnus-xmas.el (gnus-xmas-summary-set-display-table): Don't change
+ the values that are non-nil in the default table.
+ (gnus-xmas-add-hook): Removed it.
+
+Thu Apr 10 20:44:46 1997 Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
+
+ * gnus-art.el (gnus-article-show-summary): Error better.
+
+ * message.el (message-indent-citation): Tippy-foot when deleting
+ leading empty lines.
+
+ * gnus-sum.el (gnus-summary-move-article): Update group lines.
+
+ * gnus-srvr.el (gnus-server-exit): Configure windows.
+
+ * gnus-group.el: Added gnus-version to help map.
+
+Thu Apr 10 20:41:11 1997 Hrvoje Niksic <hniksic@srce.hr>
+
+ * gnus-xmas.el: Customized.
+
+Thu Apr 10 19:58:40 1997 Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
+
+ * gnus-sum.el (gnus-summary-next-group): Selected deleted group.
+
+ * gnus-art.el (article-treat-overstrike): Don't bug out on empty
+ articles.
+
+Thu Apr 10 19:52:27 1997 David Moore <dmoore@ucsd.edu>
+
+ * nnvirtual.el (nnvirtual-partition-sequence): Style fix.
+
+Thu Apr 10 19:45:30 1997 Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
+
+ * gnus-group.el (gnus-group-kill-group): Kill more carefully.
+
+Tue Apr 8 23:02:30 1997 Michael Welsh Duggan <md5i@schenley.com>
+
+ * message.el (message-insert-to): Fetch reply field.
+
+Tue Apr 8 21:41:13 1997 Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
+
+ * gnus-sum.el (gnus-summary-refer-article): Accept prefix.
+
+Sun Apr 6 14:08:03 1997 Steven L Baur <steve@altair.xemacs.org>
+
+ * gnus-xmas.el (gnus-xmas-summary-set-display-table): Add
+ missing paren.
+ (gnus-xmas-summary-set-display-table): current-display-table can
+ be nil.
+
Sun Apr 6 23:17:21 1997 Lars Magne Ingebrigtsen <larsi@menja.ifi.uio.no>
* gnus.el: Gnus v5.4.42 is released.
* gnus.el: Gnus v5.4.41 is released.
-Thu Apr 3 21:08:57 1997 Hrvoje Niksic <hniksic@srce.hr>
-
- * gnus-xmas.el (gnus-xmas-summary-set-display-table): Don't change
- the values that are non-nil in the default table.
-
Sun Apr 6 20:58:38 1997 Kim-Minh Kaplan <kimminh.kaplan@utopia.eunet.fr>
* gnus-picon.el (gnus-picons-insert-face-if-exists): "." instead
(interactive)
(save-excursion
(goto-char (point-min))
- (re-search-forward "\n\n")
- (let ((buffer-read-only nil))
- (while (search-forward "\b" nil t)
- (let ((next (following-char))
- (previous (char-after (- (point) 2))))
- ;; We do the boldification/underlining by hiding the
- ;; overstrikes and putting the proper text property
- ;; on the letters.
- (cond
- ((eq next previous)
- (gnus-article-hide-text-type (- (point) 2) (point) 'overstrike)
- (put-text-property (point) (1+ (point)) 'face 'bold))
- ((eq next ?_)
- (gnus-article-hide-text-type (1- (point)) (1+ (point)) 'overstrike)
- (put-text-property
- (- (point) 2) (1- (point)) 'face 'underline))
- ((eq previous ?_)
- (gnus-article-hide-text-type (- (point) 2) (point) 'overstrike)
- (put-text-property
- (point) (1+ (point)) 'face 'underline))))))))
+ (when (search-forward "\n\n" nil t)
+ (let ((buffer-read-only nil))
+ (while (search-forward "\b" nil t)
+ (let ((next (following-char))
+ (previous (char-after (- (point) 2))))
+ ;; We do the boldification/underlining by hiding the
+ ;; overstrikes and putting the proper text property
+ ;; on the letters.
+ (cond
+ ((eq next previous)
+ (gnus-article-hide-text-type (- (point) 2) (point) 'overstrike)
+ (put-text-property (point) (1+ (point)) 'face 'bold))
+ ((eq next ?_)
+ (gnus-article-hide-text-type
+ (1- (point)) (1+ (point)) 'overstrike)
+ (put-text-property
+ (- (point) 2) (1- (point)) 'face 'underline))
+ ((eq previous ?_)
+ (gnus-article-hide-text-type (- (point) 2) (point) 'overstrike)
+ (put-text-property
+ (point) (1+ (point)) 'face 'underline)))))))))
(defun article-fill ()
"Format too long lines."
(defun gnus-article-show-summary ()
"Reconfigure windows to show summary buffer."
(interactive)
- (gnus-configure-windows 'article)
- (gnus-summary-goto-subject gnus-current-article))
+ (if (not (gnus-buffer-live-p gnus-summary-buffer))
+ (error "There is no summary buffer for this article buffer")
+ (gnus-configure-windows 'article)
+ (gnus-summary-goto-subject gnus-current-article)))
(defun gnus-article-describe-briefly ()
"Describe article mode commands briefly."
(> (prefix-numeric-value arg) 0)))
(when gnus-grouplens-mode
(make-local-hook 'gnus-select-article-hook)
- (gnus-add-hook 'gnus-select-article-hook 'grouplens-do-time nil 'local)
+ (add-hook 'gnus-select-article-hook 'grouplens-do-time nil 'local)
(make-local-hook 'gnus-exit-group-hook)
- (gnus-add-hook 'gnus-exit-group-hook 'bbb-exit-group nil 'local)
+ (add-hook 'gnus-exit-group-hook 'bbb-exit-group nil 'local)
(make-local-variable 'gnus-score-find-score-files-function)
(cond
(gnus-define-keys (gnus-group-help-map "H" gnus-group-mode-map)
"d" gnus-group-describe-group
- "f" gnus-group-fetch-faq)
+ "f" gnus-group-fetch-faq
+ "v" gnus-version)
(gnus-define-keys (gnus-group-sub-map "S" gnus-group-mode-map)
"l" gnus-group-set-current-level
(gnus-update-format-specifications nil 'group 'group-mode)
(gnus-update-group-mark-positions)
(make-local-hook 'post-command-hook)
- (gnus-add-hook 'post-command-hook 'gnus-clear-inboxes-moved nil t)
+ (add-hook 'post-command-hook 'gnus-clear-inboxes-moved nil t)
(when gnus-use-undo
(gnus-undo-mode 1))
(run-hooks 'gnus-group-mode-hook))
(defun gnus-inews-add-send-actions (winconf buffer article)
(make-local-hook 'message-sent-hook)
- (gnus-add-hook 'message-sent-hook 'gnus-inews-do-gcc nil t)
+ (add-hook 'message-sent-hook 'gnus-inews-do-gcc nil t)
(setq message-post-method
`(lambda (arg)
(gnus-post-method arg ,gnus-newsgroup-name)))
(defun gnus-server-exit ()
"Return to the group buffer."
(interactive)
+ (run-hooks 'gnus-server-exit-hook)
(kill-buffer (current-buffer))
- (switch-to-buffer gnus-group-buffer)
- (run-hooks 'gnus-server-exit-hook))
+ (gnus-configure-windows 'group t))
(defun gnus-server-list-servers ()
"List all available servers."
(gnus-slave-save-newsrc)
;; Save .newsrc.
(when gnus-save-newsrc-file
- (gnus-message 5 "Saving %s..." gnus-current-startup-file)
+ (gnus-message 8 "Saving %s..." gnus-current-startup-file)
(gnus-gnus-to-newsrc-format)
- (gnus-message 5 "Saving %s...done" gnus-current-startup-file))
+ (gnus-message 8 "Saving %s...done" gnus-current-startup-file))
;; Save .newsrc.eld.
(set-buffer (get-buffer-create " *Gnus-newsrc*"))
(make-local-variable 'version-control)
(make-local-variable 'gnus-summary-line-format-spec)
(make-local-variable 'gnus-summary-mark-positions)
(make-local-hook 'post-command-hook)
- (gnus-add-hook 'post-command-hook 'gnus-clear-inboxes-moved nil t)
+ (add-hook 'post-command-hook 'gnus-clear-inboxes-moved nil t)
(run-hooks 'gnus-summary-mode-hook)
(gnus-update-format-specifications nil 'summary 'summary-mode 'summary-dummy)
(gnus-update-summary-mark-positions))
(progn
(gnus-message 5 "Returning to the group buffer")
(setq entered t)
- (when (buffer-live-p current-buffer)
+ (when (gnus-buffer-live-p current-buffer)
(set-buffer current-buffer)
(gnus-summary-exit))
(run-hooks 'gnus-group-no-more-groups-hook))
(gnus-summary-position-point)
n)))
-(defun gnus-summary-refer-article (message-id)
- "Fetch an article specified by MESSAGE-ID."
- (interactive "sMessage-ID: ")
+(defun gnus-summary-refer-article (message-id &optional arg)
+ "Fetch an article specified by MESSAGE-ID.
+If ARG (the prefix), fetch the article using `gnus-refer-article-method'
+or `gnus-select-method', no matter what backend the article comes from."
+ (interactive "sMessage-ID: \nP")
(when (and (stringp message-id)
(not (zerop (length message-id))))
;; Construct the correct Message-ID if necessary.
(gnus-summary-update-article (mail-header-number header))))
;; We fetch the article
(let ((gnus-override-method
- (and (gnus-news-group-p gnus-newsgroup-name)
- gnus-refer-article-method))
+ (cond ((gnus-news-group-p gnus-newsgroup-name)
+ gnus-refer-article-method)
+ (arg
+ (or gnus-refer-article-method gnus-select-method))
+ (t nil)))
number)
;; Start the special refer-article method, if necessary.
(when (and gnus-refer-article-method
gnus-article-display-hook
gnus-article-prepare-hook
gnus-break-pages
+ gnus-show-mime
gnus-visual)
(gnus-summary-select-article nil 'force)))
(gnus-summary-goto-subject gnus-current-article)
(gnus-summary-remove-process-mark article))
;; Re-activate all groups that have been moved to.
(while to-groups
- (gnus-activate-group (pop to-groups)))
+ (save-excursion
+ (set-buffer gnus-group-buffer)
+ (when (gnus-group-goto-group (car to-groups) t)
+ (gnus-group-get-new-news-this-group 1))
+ (pop to-groups)))
(gnus-kill-buffer copy-buf)
(gnus-summary-position-point)
(push (cons 'gnus-undo-mode gnus-undo-mode-map)
minor-mode-map-alist))
(make-local-hook 'post-command-hook)
- (gnus-add-hook 'post-command-hook 'gnus-undo-boundary nil t)
+ (add-hook 'post-command-hook 'gnus-undo-boundary nil t)
(add-hook 'gnus-summary-exit-hook 'gnus-undo-boundary)
(run-hooks 'gnus-undo-mode-hook)))
(defvar menu-bar-mode (featurep 'menubar))
(require 'messagexmas)
-(defvar gnus-xmas-glyph-directory nil
+(defgroup gnus-xmas nil
+ "XEmacsoid support for Gnus"
+ :group 'gnus)
+
+(defcustom gnus-xmas-glyph-directory nil
"*Directory where Gnus logos and icons are located.
If this variable is nil, Gnus will try to locate the directory
-automatically.")
+automatically."
+ :type '(choice (const :tag "autodetect" nil)
+ directory)
+ :group 'gnus-xmas)
(defvar gnus-xmas-logo-color-alist
'((flame "#cc3300" "#ff2200")
(september "#bf9900" "#ffcc00"))
"Color alist used for the Gnus logo.")
-(defvar gnus-xmas-logo-color-style 'flame
- "Color styles used for the Gnus logo.")
+(defcustom gnus-xmas-logo-color-style 'flame
+ "Color styles used for the Gnus logo."
+ :type '(choice (const flame) (const pine) (const moss)
+ (const irish) (const sky) (const tin)
+ (const velvet) (const grape) (const labia)
+ (const berry) (const neutral) (const september))
+ :group 'gnus-xmas)
(defvar gnus-xmas-logo-colors
(cdr (assq gnus-xmas-logo-color-style gnus-xmas-logo-color-alist))
"Colors used for the Gnus logo.")
-(defvar gnus-article-x-face-command
+(defcustom gnus-article-x-face-command
(if (featurep 'xface)
'gnus-xmas-article-display-xface
"{ echo '/* Width=48, Height=48 */'; uncompface; } | icontopbm | xv -quit -")
"String or function to be executed to display an X-Face header.
If it is a string, the command will be executed in a sub-shell
-asynchronously. The compressed face will be piped to this command.")
+asynchronously. The compressed face will be piped to this command."
+ :type '(choice string function))
;;; Internal variables.
(set-extent-face gnus-newsgroup-selected-overlay
gnus-summary-selected-face)))
-(defvar gnus-xmas-force-redisplay nil
+(defcustom gnus-xmas-force-redisplay nil
"If non-nil, force a redisplay before recentering the summary buffer.
-This is ugly, but it works around a bug in `window-displayed-height'.")
+This is ugly, but it works around a bug in `window-displayed-height'."
+ :type 'boolean
+ :group 'gnus-xmas)
(defun gnus-xmas-switch-horizontal-scrollbar-off ()
(when (featurep 'scrollbar)
(aset table ?\n nil)
(aset table ?\r nil)
;; We nix out any glyphs over 126 that are not set already.
- (let ((i 256))
- (while (>= (setq i (1- i)) 127)
- ;; Only modify if the default entry is nil.
- (when (or (not default-table)
- (not (aref default-table i)))
- (aset table i [??]))))
+ (when default-table
+ (let ((i 256))
+ (while (>= (setq i (1- i)) 127)
+ ;; Only modify if the default entry is nil.
+ (unless (aref default-table i)
+ (aset table i [??])))))
;; Can't use `set-specifier' because of a bug in 19.14 and earlier
(add-spec-to-specifier current-display-table table (current-buffer) nil)))
-(defun gnus-xmas-add-hook (hook function &optional append local)
- (add-hook hook function))
-
(defun gnus-xmas-add-text-properties (start end props &optional object)
(add-text-properties start end props object)
(put-text-property start end 'start-closed nil object))
(fset 'gnus-appt-select-lowest-window
'gnus-xmas-appt-select-lowest-window)
(fset 'gnus-mail-strip-quoted-names 'gnus-xmas-mail-strip-quoted-names)
- (fset 'gnus-add-hook 'gnus-xmas-add-hook)
(fset 'gnus-character-to-event 'character-to-event)
(fset 'gnus-mode-line-buffer-identification
'gnus-xmas-mode-line-buffer-identification)
;;; The toolbar.
-(defvar gnus-use-toolbar (if (featurep 'toolbar)
- 'default-toolbar
- nil)
+(defcustom gnus-use-toolbar (if (featurep 'toolbar)
+ 'default-toolbar
+ nil)
"*If nil, do not use a toolbar.
If it is non-nil, it must be a toolbar. The five legal values are
`default-toolbar', `top-toolbar', `bottom-toolbar',
-`right-toolbar', and `left-toolbar'.")
+`right-toolbar', and `left-toolbar'."
+ :type '(choice (const default-toolbar)
+ (const top-toolbar) (const bottom-toolbar)
+ (const left-toolbar) (const right-toolbar)
+ (const :tag "no toolbar" nil))
+ :group 'gnus-xmas)
(defvar gnus-group-toolbar
'([gnus-group-get-new-news gnus-group-get-new-news t "Get new news"]
'call-process-region (point-min) (point-max) command t '(t nil) nil
args))
-(unless (find-face 'gnus-x-face)
- (copy-face 'default 'gnus-x-face)
- (set-face-foreground 'gnus-x-face "black")
- (set-face-background 'gnus-x-face "white"))
+(defface gnus-x-face '((t (:foreground "black" :background "white")))
+ "Face to show X face"
+ :group 'gnus-xmas)
(defun gnus-xmas-article-display-xface (beg end)
"Display any XFace headers in the current article."
:link '(custom-manual "(gnus)Exiting Gnus")
:group 'gnus)
-(defconst gnus-version-number "5.4.42"
+(defconst gnus-version-number "5.4.43"
"Version number for this version of Gnus.")
(defconst gnus-version (format "Gnus v%s" gnus-version-number)
(defalias 'gnus-topic-remove-excess-properties 'ignore)
(defalias 'gnus-appt-select-lowest-window 'appt-select-lowest-window)
(defalias 'gnus-mail-strip-quoted-names 'mail-strip-quoted-names)
- (defalias 'gnus-add-hook 'add-hook)
(defalias 'gnus-character-to-event 'identity)
(defalias 'gnus-add-text-properties 'add-text-properties)
(defalias 'gnus-put-text-property 'put-text-property)
(defun message-insert-to ()
"Insert a To header that points to the author of the article being replied to."
(interactive)
- (let ((co (message-fetch-field "mail-copies-to")))
+ (let ((co (message-fetch-reply-field "mail-copies-to")))
(when (and co
(equal (downcase co) "never"))
(error "The user has requested not to have copies sent via mail")))
(let ((start (point)))
;; Remove unwanted headers.
(when message-ignored-cited-headers
- (save-restriction
- (narrow-to-region
- (goto-char start)
- (if (search-forward "\n\n" nil t)
- (1- (point))
- (point)))
- (message-remove-header message-ignored-cited-headers t)
- (goto-char (point-max))))
+ (let (all-removed)
+ (save-restriction
+ (narrow-to-region
+ (goto-char start)
+ (if (search-forward "\n\n" nil t)
+ (1- (point))
+ (point)))
+ (message-remove-header message-ignored-cited-headers t)
+ (when (= (point-min) (point-max))
+ (setq all-removed t))
+ (goto-char (point-max)))
+ (if all-removed
+ (goto-char start)
+ (forward-line 1))))
;; Delete blank lines at the start of the buffer.
(while (and (point-min)
(eolp)
(setq entry (assoc (car article) carticles))
(setcdr entry (cons (cdr article) (cdr entry))))
(setq i (1+ i))))
- (mapc '(lambda (x) (setcdr x (nreverse (cdr x))))
+ (mapc (lambda (x) (setcdr x (nreverse (cdr x))))
carticles)
carticles))
+Thu Apr 10 21:25:14 1997 Hrvoje Niksic <hniksic@srce.hr>
+
+ * gnus.texi (Emacs/XEmacs Code): Addition.
+
+Thu Apr 10 20:45:47 1997 Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
+
+ * gnus.texi (Group Information): Fix.
+
Wed Apr 2 11:48:44 1997 Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
* gnus.texi (Sorting): Use total score.
\input texinfo @c -*-texinfo-*-
@setfilename gnus
-@settitle Gnus 5.4.42 Manual
+@settitle Gnus 5.4.43 Manual
@synindex fn cp
@synindex vr cp
@synindex pg cp
@tex
@titlepage
-@title Gnus 5.4.42 Manual
+@title Gnus 5.4.43 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.4.42.
+This manual corresponds to Gnus 5.4.43.
@end ifinfo
Describe all groups (@code{gnus-group-describe-all-groups}). If given a
prefix, force Gnus to re-read the description file from the server.
-@item V
+@item H v
+@itemx V
@kindex V (Group)
+@kindex H v (Group)
@cindex version
@findex gnus-version
Display current Gnus version numbers (@code{gnus-version}).
that look something like @samp{<38o6up$6f2@@hymir.ifi.uio.no>}. You
have to get it all exactly right. No fuzzy searches, I'm afraid.
+The current select method will be used when fetching by
+@code{Message-ID} from non-news select method, but you can override this
+by giving this command a prefix.
+
@vindex gnus-refer-article-method
If the group you are reading is located on a backend that does not
support fetching by @code{Message-ID} very well (like @code{nnspool}),
If this variable is non-@code{nil}, Gnus will try to keep the tree
buffer as small as possible to allow more room for the other Gnus
windows. If this variable is a number, the tree buffer will never be
-higher than that number. The default is @code{t}.
+higher than that number. The default is @code{t}. Note that if you
+have several windows displayed side-by-side in a frame and the tree
+buffer is one of these, minimizing the tree window will also resize all
+other windows that are displayed next to it.
@item gnus-generate-tree-function
@vindex gnus-generate-tree-function
does this @code{defalias} thing with Gnus equivalents instead. Cleaner
all over.
+In the cases when the XEmacs function interface was obviously
+cleaner, I used it instead. For example @code{gnus-region-active-p}
+is an alias for @code{region-active-p} in XEmacs, whereas in Emacs
+it is a function.
+
Of course, I could have chosen XEmacs as my native platform and done
mapping functions the other way around. But I didn't. The performance
hit these indirections impose on Gnus under XEmacs should be slight.
\input texinfo @c -*-texinfo-*-
@setfilename message
-@settitle Message 5.4.42 Manual
+@settitle Message 5.4.43 Manual
@synindex fn cp
@synindex vr cp
@synindex pg cp
@tex
@titlepage
-@title Message 5.4.42 Manual
+@title Message 5.4.43 Manual
@author by Lars Magne Ingebrigtsen
@page
* Key Index:: List of Message mode keys.
@end menu
-This manual corresponds to Message 5.4.42. Message is distributed with
+This manual corresponds to Message 5.4.43. Message is distributed with
the Gnus distribution bearing the same version number as this manual
has.
* a new nncvs backend. Each group would show an article, using
version branches as threading, checkin date as the date, etc.
+
+* http://www.dejanews.com/forms/dnsetfilter_exp.html ?
+This filter allows one to construct advance queries on the Dejanews
+database such as specifying start and end dates, subject, author,
+and/or newsgroup name.
+
+* new Date header scoring type -- older, newer