+Sat Mar 7 17:19:04 1998 Lars Magne Ingebrigtsen <larsi@menja.ifi.uio.no>
+
+ * gnus.el: Quassia Gnus v0.35 is released.
+
+Sat Mar 7 15:01:57 1998 Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
+
+ * gnus-picon.el (gnus-picons-x-face-sentinel): Check whether
+ gnus-picons-x-face-file-name exists.
+
+ * gnus-art.el (gnus-article-read-summary-keys): Move window point
+ in the summary buffer.
+
+ * nndoc.el (nndoc-type-alist): Allow spaces around separator.
+
+ * gnus-sum.el (gnus-summary-edit-parameters): Interactive.
+
+Sat Mar 7 15:00:05 1998 Wes Hardaker <wjhardaker@ucdavis.edu>
+
+ * gnus-art.el (gnus-article-prepare): Mark articles as
+ downloadable.
+
+Wed Mar 4 22:33:27 1998 Ken Raeburn <raeburn@cygnus.com>
+
+ * gnus-int.el (gnus-get-function): New version, caches symbol
+ names.
+
+Fri Mar 6 01:10:22 1998 Ken Raeburn <raeburn@cygnus.com>
+
+ * nnml.el (nnml-article-to-file): Build pathname using
+ expand-file-name. (Thanks, Colin Rafferty, for catching
+ this.)
+
+Sat Feb 28 23:33:40 1998 Ken Raeburn <raeburn@cygnus.com>
+
+ * nnml.el (nnml-article-to-file): Don't add extra "/" when
+ building pathname.
+
+ * nnheader.el (nnheader-file-to-number): Check value of
+ nnheader-numerical-short-files instead of checking if jka-compr is
+ loaded.
+
+1998-03-03 Dave Love <d.love@dl.ac.uk>
+
+ * nnheader.el (nnheader-parse-head): Fix in-reply-to code. Return
+ nil consistently if not found.
+
+Sat Mar 7 13:50:44 1998 Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
+
+ * nntp.el: Check whether the connection died.
+
+1998-03-01 Kim-Minh Kaplan <KimMinh.Kaplan@utopia.eunet.fr>
+
+ * gnus.texi (Easy Picons): Removed references to
+ `gnus-group-display-picons'.
+ (Hard Picons): Ditto.
+
+Mon Mar 2 16:17:36 1998 Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
+
+ * gnus-sum.el (gnus-summary-exit-no-update): Run
+ gnus-summary-prepare-exit-hook here as well.
+
+Sat Feb 28 13:35:26 1998 Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
+
+ * nntp.el (nntp-authinforc-file): Changed default.
+ (nntp-authinfo-file): Changed name.
+ (nntp-record-commands): New variable.
+ (nntp-record-command): New function.
+
+ * gnus-agent.el (gnus-agent-group-path): Use real name of group.
+
+ * gnus-sum.el (gnus-summary-insert-subject): Don't allow nil
+ articles.
+ (gnus-summary-read-group): Respect backward movement.
+
+1998-03-01 Kim-Minh Kaplan <KimMinh.Kaplan@utopia.eunet.fr>
+
+ * gnus-win.el (gnus-window-to-buffer): change "*Picons*" to
+ `gnus-picons-buffer'.
+ (gnus-window-to-buffer-helper): Support dynamic picon buffer
+ name (i.e a symbol that names a function to be called).
+ (gnus-configure-frame): Use it.
+ (gnus-delete-windows-in-gnusey-frames): Use it.
+ (gnus-all-windows-visible-p): Use it.
+ (gnus-remove-some-windows): Use it.
+
+ * gnus-picon.el (gnus-get-buffer-name): Use it.
+ (gnus-picons-kill-buffer): New function.
+ (gnus-picons-setup-buffer): New function.
+ (gnus-picons-set-buffer): Use them.
+ (gnus-picons-display-x-face): Put back the `buf' binding: it is
+ needed when `gnus-picons-display-where' is not set to article.
+ Also move the X-Face to the left, near the address. It seems more
+ logical.
+
Sat Feb 28 08:27:20 1998 Lars Magne Ingebrigtsen <larsi@menja.ifi.uio.no>
* gnus.el: Quassia Gnus v0.34 is released.
(defun gnus-agent-group-path (group)
"Translate GROUP into a path."
(if nnmail-use-long-file-names
- group
+ (gnus-group-real-name group)
(nnheader-replace-chars-in-string
- (nnheader-translate-file-chars group)
+ (nnheader-translate-file-chars (gnus-group-real-name group))
?. ?/)))
\f
(cons gnus-newsgroup-name article))
(set-buffer gnus-summary-buffer)
(setq gnus-current-article article)
- (gnus-summary-mark-article article gnus-canceled-mark))
- (unless (memq article gnus-newsgroup-sparse)
- (gnus-error
- 1 "No such article (may have expired or been canceled)")))
+ (if (eq (gnus-article-mark article) gnus-undownloaded-mark)
+ (progn
+ (gnus-summary-set-agent-mark article)
+ (message "Message marked for downloading"))
+ (gnus-summary-mark-article article gnus-canceled-mark)
+ (unless (memq article gnus-newsgroup-sparse)
+ (gnus-error 1
+ "No such article (may have expired or been canceled)")))))
(if (or (eq result 'pseudo) (eq result 'nneething))
(progn
(save-excursion
'("\C-d"))
(up-to-top
'("n" "Gn" "p" "Gp"))
- keys)
+ keys new-sum-point)
(save-excursion
(set-buffer gnus-article-current-summary)
(let (gnus-pick-mode)
(ding)
(unless (member keys nosave-in-article)
(set-buffer gnus-article-current-summary))
- (call-interactively func))
+ (call-interactively func)
+ (setq new-sum-point (point)))
(when (member keys nosave-but-article)
(pop-to-buffer gnus-article-buffer 'norecord)))
;; These commands should restore window configuration.
(let ((obuf (current-buffer))
(owin (current-window-configuration))
(opoint (point))
+ (summary gnus-article-current-summary)
func in-buffer)
(if not-restore-window
- (pop-to-buffer gnus-article-current-summary 'norecord)
- (switch-to-buffer gnus-article-current-summary 'norecord))
+ (pop-to-buffer summary 'norecord)
+ (switch-to-buffer summary 'norecord))
(setq in-buffer (current-buffer))
;; We disable the pick minor mode commands.
(if (setq func (let (gnus-pick-mode)
(lookup-key (current-local-map) keys)))
- (call-interactively func)
+ (progn
+ (call-interactively func)
+ (setq new-sum-point (point)))
(ding))
(when (eq in-buffer (current-buffer))
(set-buffer obuf)
(set-window-configuration owin))
(unless (member keys up-to-top)
(set-window-point (get-buffer-window (current-buffer))
- opoint)))))))
+ opoint))
+ (let ((win (get-buffer-window gnus-article-current-summary)))
+ (when win
+ (set-window-point win new-sum-point))))))))
(defun gnus-article-hide (&optional arg force)
"Hide all the gruft in the current article.
(defun gnus-update-group-mark-positions ()
(save-excursion
- (let ((gnus-process-mark 128)
+ (let ((gnus-process-mark ?\200)
(gnus-group-marked '("dummy.group"))
(gnus-active-hashtb (make-vector 10 0))
(topic ""))
(error "Attempted use of a nil select method"))
(when (stringp method)
(setq method (gnus-server-to-method method)))
- (let ((func (intern (format "%s-%s" (if gnus-agent
- (gnus-agent-get-function method)
- (car method))
- function))))
- ;; If the functions isn't bound, we require the backend in
- ;; question.
+ ;; Check cache of constructed names.
+ (let* ((method-sym (if gnus-agent
+ (gnus-agent-get-function method)
+ (car method)))
+ (method-fns (get method-sym 'gnus-method-functions))
+ (func (let ((method-fnlist-elt (assq function method-fns)))
+ (unless method-fnlist-elt
+ (setq method-fnlist-elt
+ (cons function
+ (intern (format "%s-%s" method-sym function))))
+ (put method-sym 'gnus-method-functions
+ (cons method-fnlist-elt method-fns)))
+ (cdr method-fnlist-elt))))
+ ;; Maybe complain if there is no function.
(unless (fboundp func)
(require (car method))
(when (and (not (fboundp func))
(not noerror))
- ;; This backend doesn't implement this function.
(error "No such function: %s" func)))
func))
(defun gnus-get-buffer-name (variable)
"Returns the buffer name associated with the contents of a variable."
- (cond ((symbolp variable) (let ((newvar (cdr (assq variable
- gnus-window-to-buffer))))
- (cond ((symbolp newvar)
- (symbol-value newvar))
- ((stringp newvar) newvar))))
- ((stringp variable) variable)))
+ (buffer-name (get-buffer (gnus-window-to-buffer-helper variable))))
+
+(defun gnus-picons-buffer-name ()
+ (cond ((or (stringp gnus-picons-display-where)
+ (bufferp gnus-picons-display-where))
+ gnus-picons-display-where)
+ ((eq gnus-picons-display-where 'picons)
+ (if gnus-single-article-buffer
+ "*Picons*"
+ (concat "*Picons " gnus-newsgroup-name "*")))
+ (t
+ (gnus-get-buffer-name gnus-picons-display-where))))
+
+(defun gnus-picons-kill-buffer ()
+ (let ((buf (get-buffer (gnus-picons-buffer-name))))
+ (if (buffer-live-p buf)
+ (kill-buffer buf))))
+
+(defun gnus-picons-setup-buffer ()
+ (let ((name (gnus-picons-buffer-name)))
+ (save-excursion
+ (if (get-buffer name)
+ (set-buffer name)
+ (set-buffer (get-buffer-create name))
+ (buffer-disable-undo)
+ (setq buffer-read-only t)
+ (gnus-add-current-to-buffer-list)
+ (add-hook 'gnus-summary-prepare-exit-hook 'gnus-picons-kill-buffer))
+ (current-buffer))))
(defun gnus-picons-set-buffer ()
- (set-buffer
- (get-buffer-create (gnus-get-buffer-name gnus-picons-display-where)))
- (gnus-add-current-to-buffer-list)
+ (set-buffer (gnus-picons-setup-buffer))
(goto-char (point-min))
(if (and (eq gnus-picons-display-where 'article)
gnus-picons-display-article-move-p)
(gnus-picons-set-buffer)
(gnus-picons-make-annotation (make-glyph gnus-picons-x-face-file-name)
nil 'text)
- (delete-file gnus-picons-x-face-file-name)))
+ (when (file-exists-p gnus-picons-x-face-file-name)
+ (delete-file gnus-picons-x-face-file-name))))
(defun gnus-picons-display-x-face (beg end)
"Function to display the x-face header in the picons window.
(if (featurep 'xface)
;; Use builtin support
(save-excursion
- (gnus-picons-set-buffer)
- (gnus-picons-make-annotation
- (vector 'xface
- :data (concat "X-Face: " (buffer-substring beg end)))
- nil 'text))
+ ;; Don't remove this binding, it is really needed: when
+ ;; `gnus-picons-set-buffer' changes buffer (like when it is
+ ;; set to display picons outside of the article buffer), BEG
+ ;; and END still refer the buffer current now !
+ (let ((buf (current-buffer)))
+ (gnus-picons-set-buffer)
+ (gnus-picons-make-annotation
+ (vector 'xface
+ :data (concat "X-Face: " (buffer-substring beg end buf)))
+ nil 'text nil nil nil t)))
;; convert the x-face header to a .xbm file
(let* ((process-connection-type nil)
(process (start-process-shell-command "gnus-x-face" nil
(set (car elem) (eval (nth 1 elem))))))))
(defun gnus-summary-read-group (group &optional show-all no-article
- kill-buffer no-display)
+ kill-buffer no-display backward)
"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.
(setq show-all nil)))))
(eq gnus-auto-select-next 'quietly))
(set-buffer gnus-group-buffer)
+ ;; The entry function called above goes to the next
+ ;; group automatically, so we go two groups back
+ ;; if we are searching for the previous group.
+ (when backward
+ (gnus-group-prev-unread-group 2))
(if (not (equal group (gnus-group-group-name)))
(setq group (gnus-group-group-name))
(setq group nil)))
;; article we have fetched.
(when (and (not gnus-show-threads)
old-header)
- (when (setq d (gnus-data-find (mail-header-number old-header)))
+ (when (and number
+ (setq d (gnus-data-find (mail-header-number old-header))))
(goto-char (gnus-data-pos d))
(gnus-data-remove
number
gnus-expert-user
(gnus-y-or-n-p "Discard changes to this group and exit? "))
(gnus-async-halt-prefetch)
+ (gnus-run-hooks 'gnus-summary-prepare-exit-hook)
;; If we have several article buffers, we kill them at exit.
(unless gnus-single-article-buffer
(gnus-kill-buffer gnus-article-buffer)
(and unreads (not (zerop unreads))))
(gnus-summary-read-group
target-group nil no-article
- (and (buffer-name current-buffer) current-buffer)))
+ (and (buffer-name current-buffer) current-buffer)
+ nil backward))
(setq entered t)
(setq current-group target-group
target-group nil)))))))
(defun gnus-summary-edit-parameters ()
"Edit the group parameters of the current group."
+ (interactive)
(gnus-group-edit-group gnus-newsgroup-name 'params))
(defun gnus-summary-enter-digest-group (&optional force)
(mail . gnus-message-buffer)
(post-news . gnus-message-buffer)
(faq . gnus-faq-buffer)
- (picons . "*Picons*")
+ (picons . gnus-picons-buffer-name)
(tree . gnus-tree-buffer)
(score-trace . "*Score Trace*")
(info . gnus-info-buffer)
(defvar gnus-frame-list nil)
+(defun gnus-window-to-buffer-helper (obj)
+ (if (symbolp obj)
+ (if (boundp obj)
+ (symbol-value obj)
+ (funcall obj))
+ obj))
+
(defun gnus-configure-frame (split &optional window)
"Split WINDOW according to SPLIT."
(unless window
;; This is a buffer to be selected.
((not (memq type '(frame horizontal vertical)))
(let ((buffer (cond ((stringp type) type)
- (t (cdr (assq type gnus-window-to-buffer)))))
- buf)
+ (t (cdr (assq type gnus-window-to-buffer))))))
(unless buffer
(error "Illegal buffer type: %s" type))
- (unless (setq buf (get-buffer (if (symbolp buffer)
- (symbol-value buffer) buffer)))
- (setq buf (get-buffer-create (if (symbolp buffer)
- (symbol-value buffer) buffer))))
- (switch-to-buffer buf)
+ (switch-to-buffer (get-buffer-create
+ (gnus-window-to-buffer-helper buffer)))
;; We return the window if it has the `point' spec.
(and (memq 'point split) window)))
;; This is a frame split.
(let ((buffers
(mapcar
(lambda (elem)
- (if (symbolp (cdr elem))
- (when (and (boundp (cdr elem))
- (symbol-value (cdr elem)))
- (get-buffer (symbol-value (cdr elem))))
- (when (cdr elem)
- (get-buffer (cdr elem)))))
+ (get-buffer (gnus-window-to-buffer-helper (cdr elem))))
gnus-window-to-buffer)))
(mapcar
(lambda (frame)
(t (cdr (assq type gnus-window-to-buffer)))))
(unless buffer
(error "Illegal buffer type: %s" type))
- (when (setq buf (get-buffer (if (symbolp buffer)
- (symbol-value buffer)
- buffer)))
- (setq win (get-buffer-window buf t)))
- (if win
- (when (memq 'point split)
+ (if (and (setq buf (get-buffer (gnus-window-to-buffer-helper buffer)))
+ (setq win (get-buffer-window buf t)))
+ (if (memq 'point split)
(setq all-visible win))
(setq all-visible nil)))
(t
(save-excursion
;; Remove windows on all known Gnus buffers.
(while buffers
- (setq buf (cdar buffers))
- (when (symbolp buf)
- (setq buf (and (boundp buf) (symbol-value buf))))
- (and buf
+ (and (setq buf (gnus-window-to-buffer-helper (cdar buffers)))
(get-buffer-window buf)
(progn
(push buf bufs)
:link '(custom-manual "(gnus)Exiting Gnus")
:group 'gnus)
-(defconst gnus-version-number "0.34"
+(defconst gnus-version-number "0.35"
"Version number for this version of Gnus.")
(defconst gnus-version (format "Quassia Gnus v%s" gnus-version-number)
gnus-async-halt-prefetch)
("gnus-agent" gnus-open-agent gnus-agent-get-function
gnus-agent-save-groups gnus-agent-save-active gnus-agent-method-p
- gnus-agent-get-undownloaded-list gnus-agent-fetch-session)
+ gnus-agent-get-undownloaded-list gnus-agent-fetch-session
+ gnus-summary-set-agent-mark)
("gnus-agent" :interactive t
gnus-unplugged gnus-agentize gnus-agent-batch)
("gnus-vm" :interactive t gnus-summary-save-in-vm
(file-end . "")
(subtype digest guess))
(standard-digest
- (first-article . ,(concat "^" (make-string 70 ?-) "\n\n+"))
- (article-begin . ,(concat "^\n" (make-string 30 ?-) "\n\n+"))
+ (first-article . ,(concat "^" (make-string 70 ?-) "\n *\n+"))
+ (article-begin . ,(concat "^\n" (make-string 30 ?-) "\n *\n+"))
(prepare-body-function . nndoc-unquote-dashes)
(body-end-function . nndoc-digest-body-end)
(head-end . "^ *$")
(setq ref2 (substring in-reply-to (match-beginning 0)
(match-end 0)))
(when (> (length ref2) (length ref))
- (setq ref ref2))))
- "")))
+ (setq ref ref2)))
+ ref)
+ nil)))
;; Chars.
0
;; Lines.
(defsubst nnheader-file-to-number (file)
"Take a file name and return the article number."
- (if (not (boundp 'jka-compr-compression-info-list))
+ (if (string= nnheader-numerical-short-files "^[0-9]+$")
(string-to-int file)
(string-match nnheader-numerical-short-files file)
(string-to-int (match-string 0 file))))
;; Just to make sure nothing went wrong when reading over NFS --
;; check once more.
(when (file-exists-p
- (setq file (concat nnml-current-directory "/"
- (number-to-string article))))
+ (setq file (expand-file-name (number-to-string article)
+ nnml-current-directory)))
(nnml-update-file-alist t)
file))))
(defvoo nntp-coding-system-for-write 'binary
"*Coding system to write to NNTP.")
-(defcustom nntp-authinforc-file "~/.authinforc"
+(defcustom nntp-authinfo-file "~/.authinfo"
"Docstring."
:type
'(choice file
;;; Internal variables.
+(defvar nntp-record-commands nil
+ "*If non-nil, nntp will record all commands in the \"*nntp-log*\" buffer.")
+
(defvar nntp-have-messaged nil)
(defvar nntp-process-wait-for nil)
(defsubst nntp-send-string (process string)
"Send STRING to PROCESS."
+ ;; We need to store the time to provide timeouts, and
+ ;; to store the command so the we can replay the command
+ ;; if the server gives us an AUTHINFO challenge.
(setq nntp-last-command-time (current-time)
nntp-last-command string)
+ (when nntp-record-commands
+ (nntp-record-command string))
(process-send-string process (concat string nntp-end-of-line)))
+(defun nntp-record-command (string)
+ "Record the command STRING."
+ (save-excursion
+ (set-buffer (get-buffer-create "*nntp-log*"))
+ (insert (format-time-string "%Y%m%dT%H%M%S" (current-time))
+ " " nntp-address " " string "\n")))
+
(defsubst nntp-wait-for (process wait-for buffer &optional decode discard)
"Wait for WAIT-FOR to arrive from PROCESS."
(save-excursion
(nntp-accept-process-output process)
(goto-char (point-min)))
(prog1
- (if (looking-at "[45]")
- (progn
- (nntp-snarf-error-message)
- nil)
+ (cond
+ ((looking-at "[45]")
+ (progn
+ (nntp-snarf-error-message)
+ nil))
+ ((memq (process-status process) '(open run))
+ (nnheader-report 'nntp "Server closed connection"))
+ (t
(goto-char (point-max))
(let ((limit (point-min)))
(while (not (re-search-backward wait-for limit t))
(when nntp-have-messaged
(setq nntp-have-messaged nil)
(message ""))
- t)))
+ t))))
(unless discard
(erase-buffer)))))
(let (process)
(while (setq process (car (pop nntp-connection-alist)))
(when (memq (process-status process) '(open run))
- (set-process-sentinel process nil)
(ignore-errors
(nntp-send-string process "QUIT")
(unless (eq nntp-open-connection-function 'nntp-open-network-stream)
(let (process)
(while (setq process (pop nntp-connection-list))
(when (memq (process-status process) '(open run))
- (set-process-sentinel process nil)
(ignore-errors
(nntp-send-string process "QUIT")
(unless (eq nntp-open-connection-function 'nntp-open-network-stream)
(defun nntp-send-authinfo ()
"Send the AUTHINFO to the nntp server.
This function is supposed to be called from `nntp-server-opened-hook'.
-It will look in the \"~/.authinforc\" file for matching entries. If
+It will look in the \"~/.authinfo\" file for matching entries. If
nothing suitable is found there, it will prompt for a user name
and a password."
- (let* ((list (gnus-parse-netrc nntp-authinforc-file))
+ (let* ((list (gnus-parse-netrc nntp-authinfo-file))
(alist (gnus-netrc-machine list nntp-address))
(user (gnus-netrc-get alist "login"))
(passwd (gnus-netrc-get alist "password")))
+Sat Mar 7 17:09:49 1998 Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
+
+ * gnus.texi: Took direntries out again, since makeinfo doesn't
+ understand them.
+
+Sat Mar 7 16:14:10 1998 Dan Christensen <jdc@chow.mat.jhu.edu>
+
+ * gnus.texi (Group Parameters): Mention add-to-list.
+
+Sat Feb 28 14:21:12 1998 Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
+
+ * gnus.texi (NNTP): Addition.
+
+1998-03-01 Kim-Minh Kaplan <KimMinh.Kaplan@utopia.eunet.fr>
+
+ * gnus.texi (Easy Picons): Removed references to
+ `gnus-group-display-picons'.
+ (Hard Picons): Ditto.
+
+1998-03-01 Kim-Minh Kaplan <KimMinh.Kaplan@utopia.eunet.fr>
+
+ * gnus.texi (Easy Picons): Removed references to
+ `gnus-group-display-picons'.
+ (Hard Picons): Ditto.
+
Mon Feb 23 18:05:09 1998 Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
* gnus.texi: Direntry not handled by Emacs 19.34.
\input texinfo @c -*-texinfo-*-
@setfilename gnus
-@settitle Quassia Gnus 0.34 Manual
+@settitle Quassia Gnus 0.35 Manual
@synindex fn cp
@synindex vr cp
@synindex pg cp
@tex
@titlepage
-@title Quassia Gnus 0.34 Manual
+@title Quassia Gnus 0.35 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 Quassia Gnus 0.34.
+This manual corresponds to Quassia Gnus 0.35.
@end ifinfo
followup---except that if it is present in a news group, you'll get mail
group semantics when doing @kbd{f}.
+If you do an @kbd{a} command in a mail group and you have neither a
+@code{to-list} group parameter nor a @code{to-address} group paramater,
+then a @code{to-list} group parameter will be added automatically upon
+sending the message if @code{gnus-add-to-list} is set to @code{t}.
+@vindex gnus-add-to-list
+
If you do an @kbd{a} command in a mail group and you don't have a
@code{to-list} group parameter, one will be added automatically upon
sending the message.
@end table
-Use the @kbd{G p} command to edit group parameters of a group.
-
-@pxref{Topic Parameters}.
+Use the @kbd{G p} command to edit group parameters of a group. You
+might also be interested in reading about topic parameters (@pxref{Topic
+Parameters}).
Here's an example group parameter list:
@example
((to-address . "ding@@gnus.org")
- (auto-expiry . t))
+ (auto-expire . t))
@end example
@item nntp-authinfo-function
@vindex nntp-authinfo-function
@findex nntp-send-authinfo
-@vindex nntp-authinforc-file
+@vindex nntp-authinfo-file
This function will be used to send @samp{AUTHINFO} to the @sc{nntp}
server. The default function is @code{nntp-send-authinfo}, which looks
-through your @file{~/.authinforc} (or whatever you've set the
-@code{nntp-authinforc-file} variable to) for applicable entries. If
+through your @file{~/.authinfo} (or whatever you've set the
+@code{nntp-authinfo-file} variable to) for applicable entries. If
none are found, it will prompt you for a login name and a password. The
-format of the @file{~/.authinforc} file is the same as the @code{ftp}
+format of the @file{~/.authinfo} file is the same as the @code{ftp}
@file{~/.netrc} file, which is defined in the @code{ftp} manual page,
but here are the salient facts:
former server, while the latter has only the login name listed, and the
user will be prompted for the password.
-Remember to not leave the @file{~/.authinforc} file world-readable.
+Remember to not leave the @file{~/.authinfo} file world-readable.
@item nntp-server-action-alist
@vindex nntp-server-action-alist
If this variable is non-@code{nil}, some noise will be made when a
server closes connection.
+@item nntp-record-commands
+@vindex nntp-record-commands
+If non-@code{nil}, @code{nntp} will log all commands it sends to the
+@sc{nntp} server (along with a timestep) in the @samp{*nntp-log*}
+buffer. This is useful if you are debugging a Gnus/@sc{nntp} connection
+that doesn't seem to work.
+
@end table
@lisp
(setq gnus-use-picons t)
(add-hook 'gnus-article-display-hook 'gnus-article-display-picons t)
-(add-hook 'gnus-summary-prepare-hook 'gnus-group-display-picons t)
(add-hook 'gnus-article-display-hook 'gnus-picons-article-display-x-face)
@end lisp
in the @code{gnus-picons-display-where} buffer. Should be added to the
@code{gnus-article-display-hook}.
-@item gnus-group-display-picons
-@findex gnus-article-display-picons
-Displays picons representing the current group. This function should
-be added to the @code{gnus-summary-prepare-hook} or to the
-@code{gnus-article-display-hook} if @code{gnus-picons-display-where}
-is set to @code{article}.
-
@item gnus-picons-article-display-x-face
@findex gnus-article-display-picons
Decodes and displays the X-Face header if present. This function
("nnml:my.mail" 3 ((1 . 5) 9 (20 . 55))
((tick (15 . 19)) (replied 3 6 (19 . 3)))
(nnml "")
- (auto-expire (to-address "ding@@gnus.org")))
+ ((auto-expire . t) (to-address "ding@@gnus.org")))
@end example
The first element is the @dfn{group name}---as Gnus knows the group,
\input texinfo @c -*-texinfo-*-
@setfilename message
-@settitle Message 0.34 Manual
+@settitle Message 0.35 Manual
@synindex fn cp
@synindex vr cp
@synindex pg cp
@tex
@titlepage
-@title Message 0.34 Manual
+@title Message 0.35 Manual
@author by Lars Magne Ingebrigtsen
@page
* Key Index:: List of Message mode keys.
@end menu
-This manual corresponds to Message 0.34. Message is distributed with
+This manual corresponds to Message 0.35. Message is distributed with
the Gnus distribution bearing the same version number as this manual
has.