+2003-02-23 Jesper Harder <harder@ifa.au.dk>
+
+ * gnus-art.el (gnus-mime-button-commands): Add ellipsis.
+ (gnus-mime-button-menu): Define MIME popup menu with easy-menu to
+ display key bindings.
+ (gnus-mime-button-menu): Rewrite.
+
+2003-02-23 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * gnus-art.el (gnus-button-url-regexp): Removed `.
+
+2003-02-23 Max Froumentin <mf@w3.org>
+
+ * gnus-art.el (gnus-button-url-regexp): Remove `, enter '.
+
+2003-02-23 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * gnus-art.el (gnus-mime-action-on-part): Require a match
+ interactively.
+
+ * gnus-start.el (gnus-save-newsrc-file): Use
+ gnus-backup-startup-file.
+ (gnus-backup-startup-file): New variable.
+
+2003-02-22 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * gnus.el (gnus-summary-buffer-name): Moved function here.
+
+ * gnus-draft.el (defun): Remove debug.
+
+2003-02-22 Jesper Harder <harder@ifa.au.dk>
+
+ * gnus-sum.el (gnus-summary-refer-article): Skip method if we
+ can't open server.
+
+2003-02-22 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * gnus-draft.el (defun): Configure posting styles.
+
+ * gnus-start.el (gnus-get-unread-articles-in-group): Make sure
+ the entry for the group exists before we alter it.
+
2003-02-22 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@uni-duisburg.de>
+ * message.el (message-mode): MML tags separate paragraphs. Small
+ change from David S Goldberg <david.goldberg6@verizon.net>.
+
+ * gnus-agent.el (gnus-agent-get-undownloaded-list): Sort
+ `gnus-newsgroup-headers'.
+
* gnus-art.el (gnus-article-refer-article): Grok more message id
formats. From Karl Pfl\e,Ad\e(Bsterer <sigurd@12move.de>.
(let ((gnus-command-method (gnus-find-method-for-group gnus-newsgroup-name)))
(when (set (make-local-variable 'gnus-newsgroup-agentized) (gnus-agent-method-p gnus-command-method))
(let* ((alist (gnus-agent-load-alist gnus-newsgroup-name))
- (headers gnus-newsgroup-headers)
+ (headers (sort
+ gnus-newsgroup-headers
+ (lambda (a b)
+ (< (mail-header-number a) (mail-header-number b)))))
(undownloaded (list nil))
(tail-undownloaded undownloaded)
(unfetched (list nil))
(gnus-mime-view-part-externally "e" "View Externally")
(gnus-mime-print-part "p" "Print")
(gnus-mime-pipe-part "|" "Pipe To Command...")
- (gnus-mime-action-on-part "." "Take action on the part")))
+ (gnus-mime-action-on-part "." "Take action on the part...")))
(defun gnus-article-mime-part-status ()
(with-current-buffer gnus-article-buffer
(define-key map (cadr c) (car c)))
map))
-(defun gnus-mime-button-menu (event)
- "Construct a context-sensitive menu of MIME commands."
- (interactive "e")
- (save-window-excursion
- (let ((pos (event-start event)))
- (select-window (posn-window pos))
- (goto-char (posn-point pos))
- (gnus-article-check-buffer)
- (let ((response (x-popup-menu
- t `("MIME Part"
- ("" ,@(mapcar (lambda (c)
- (cons (caddr c) (car c)))
- gnus-mime-button-commands))))))
- (if response
- (call-interactively response))))))
+(easy-menu-define gnus-mime-button-menu gnus-mime-button-map "MIME button menu."
+ `("MIME Part"
+ ,@(mapcar (lambda (c)
+ (vector (caddr c) (car c) :enable t)) gnus-mime-button-commands)))
+
+(defun gnus-mime-button-menu (event prefix)
+ "Construct a context-sensitive menu of MIME commands."
+ (interactive "e\nP")
+ (save-window-excursion
+ (let ((pos (event-start event)))
+ (select-window (posn-window pos))
+ (goto-char (posn-point pos))
+ (gnus-article-check-buffer)
+ (popup-menu gnus-mime-button-menu nil prefix))))
(defun gnus-mime-view-all-parts (&optional handles)
"View all the MIME parts."
(defun gnus-mime-action-on-part (&optional action)
"Do something with the MIME attachment at \(point\)."
(interactive
- (list (completing-read "Action: " gnus-mime-action-alist)))
+ (list (completing-read "Action: " gnus-mime-action-alist nil t)))
(gnus-article-check-buffer)
- (let ((action-pair (assoc action gnus-mime-action-alist)))
+ (let ((action-pair (assoc action gnus-mime-action-alistq)))
(if action-pair
(funcall (cdr action-pair)))))
(defcustom gnus-button-url-regexp
(if (string-match "[[:digit:]]" "1") ;; support POSIX?
- "\\b\\(\\(www\\.\\|\\(s?https?\\|ftp\\|file\\|gopher\\|news\\|telnet\\|wais\\|mailto\\|info\\):\\)\\(//[-a-z0-9_.]+:[0-9]*\\)?[-a-z0-9_=!?#$@~`%&*+\\/:;.,[:word:]]+[-a-z0-9_=#$@~`%&*+\\/[:word:]]\\)"
- "\\b\\(\\(www\\.\\|\\(s?https?\\|ftp\\|file\\|gopher\\|news\\|telnet\\|wais\\|mailto\\|info\\):\\)\\(//[-a-z0-9_.]+:[0-9]*\\)?\\([-a-z0-9_=!?#$@~`%&*+\\/:;.,]\\|\\w\\)+\\([-a-z0-9_=#$@~`%&*+\\/]\\|\\w\\)\\)")
+ "\\b\\(\\(www\\.\\|\\(s?https?\\|ftp\\|file\\|gopher\\|news\\|telnet\\|wais\\|mailto\\|info\\):\\)\\(//[-a-z0-9_.]+:[0-9]*\\)?[-a-z0-9_=!?#$@~%&*+\\/:;.,[:word:]]+[-a-z0-9_=#$@~%&*+\\/[:word:]]\\)"
+ "\\b\\(\\(www\\.\\|\\(s?https?\\|ftp\\|file\\|gopher\\|news\\|telnet\\|wais\\|mailto\\|info\\):\\)\\(//[-a-z0-9_.]+:[0-9]*\\)?\\([-a-z0-9_=!?#$@~%&*+\\/:;.,]\\|\\w\\)+\\([-a-z0-9_=#$@~%&*+\\/]\\|\\w\\)\\)")
"Regular expression that matches URLs."
:group 'gnus-article-buttons
:type 'regexp)
(ignore-errors (setq ga (car (read-from-string ga)))))
(setq gnus-newsgroup-name
(if (equal (car ga) "") nil (car ga)))
+ (gnus-configure-posting-styles)
(setq gnus-message-group-art (cons gnus-newsgroup-name (cadr ga)))
(setq message-post-method
`(lambda (arg)
:group 'gnus-start
:type '(choice directory (const nil)))
+(defcustom gnus-backup-startup-file 'never
+ "Whether to create backup files.
+This variable takes the same values as the `version-control'
+variable."
+ :group 'gnus-start
+ :type 'boolean)
+
(defcustom gnus-init-file (nnheader-concat gnus-home-directory ".gnus")
"Your Gnus Emacs-Lisp startup file name.
If a file with the `.el' or `.elc' suffixes exists, it will be read instead."
(setq range (cdr range)))
(setq num (max 0 (- (cdr active) num)))))
;; Set the number of unread articles.
- (when info
+ (when (and info
+ (gnus-gethash (gnus-info-group info) gnus-newsrc-hashtb))
(setcar (gnus-gethash (gnus-info-group info) gnus-newsrc-hashtb) num))
num)))
;; Save .newsrc.eld.
(set-buffer (gnus-get-buffer-create " *Gnus-newsrc*"))
(make-local-variable 'version-control)
- (setq version-control 'never)
+ (setq version-control gnus-backup-startup-file)
(setq buffer-file-name
(concat gnus-current-startup-file ".eld"))
(setq default-directory (file-name-directory buffer-file-name))
(point)
(current-buffer))))))
-(defun gnus-summary-buffer-name (group)
- "Return the summary buffer name of GROUP."
- (concat "*Summary " (gnus-group-decoded-name group) "*"))
-
(defun gnus-summary-setup-buffer (group)
"Initialize summary buffer."
(let ((buffer (gnus-summary-buffer-name group))
;; We fetch the article.
(catch 'found
(dolist (gnus-override-method (gnus-refer-article-methods))
- (gnus-check-server gnus-override-method)
- ;; Fetch the header, and display the article.
- (when (setq number (gnus-summary-insert-subject message-id))
+ (when (and (gnus-check-server gnus-override-method)
+ ;; Fetch the header,
+ (setq number (gnus-summary-insert-subject message-id)))
+ ;; and display the article.
(gnus-summary-select-article nil nil nil number)
(throw 'found t)))
(gnus-message 3 "Couldn't fetch article %s" message-id)))))))
(substring group 0 (match-end 0))
""))
+(defun gnus-summary-buffer-name (group)
+ "Return the summary buffer name of GROUP."
+ (concat "*Summary " (gnus-group-decoded-name group) "*"))
+
(defun gnus-group-method (group)
"Return the server or method used for selecting GROUP.
You should probably use `gnus-find-method-for-group' instead."
(setq message-parameter-alist
(copy-sequence message-startup-parameter-alist))
(message-setup-fill-variables)
+ (set (make-local-variable 'paragraph-separate)
+ (concat paragraph-separate
+ "\\|<#!*/?\\(multipart\\|part\\|external\\|mml\\|secure\\)"))
;; Allow using comment commands to add/remove quoting.
(set (make-local-variable 'comment-start) message-yank-prefix)
(if (featurep 'xemacs)
+2003-02-23 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * gnus.texi (Startup Files): Addition.
+
+2003-02-22 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * gnus.texi (Mail Source Specifiers): Addition.
+
2003-02-22 Jesper Harder <harder@ifa.au.dk>
* emacs-mime.texi (Files and Directories): New node.
\e$B$&!#\e(B
@vindex gnus-startup-file
+@vindex gnus-backup-startup-file
+@vindex version-control
\e$BJQ?t\e(B @code{gnus-startup-file} \e$B$O5/F0%U%!%$%k$,$I$3$K$"$k$+$r;XDj$7$^$9!#\e(B
\e$B=i4|CM$O\e(B @file{~/.newsrc} \e$B$G!"$=$l$,$I$N$h$&$J$b$N$G$"$l!"KvHx\e(B
\e$B$K\e(B @samp{.eld} \e$B$r$D$1$?$b$N$,\e(B gnus (El Dingo) \e$B$N5/F0%U%!%$%k$K$J$j$^$9!#\e(B
+\e$B$3$N%U%!%$%k$N%P!<%8%g%s@)8f$r$7$?$$$H$-\e(B
+\e$B$O\e(B @code{gnus-backup-startup-file} \e$B$r%;%C%H$7$F2<$5$$!#$=$l\e(B
+\e$B$O\e(B @code{version-control} \e$BJQ?t$HF1$8CM$r<h$j$^$9!#\e(B
@vindex gnus-save-newsrc-hook
@vindex gnus-save-quick-newsrc-hook
\e$B%U%!%$%k$NL>A0$G$9!#=i4|CM$O\e(B @code{MAIL} \e$B4D6-JQ?t$NCM\e(B
\e$B$+\e(B @code{rmail-spool-directory} \e$B$NCM\e(B (\e$BIaDL\e(B
\e$B$O\e(B @file{usr-mail/spool/user-name} \e$B$N$h$&$J$b$N\e(B) \e$B$G$9!#\e(B
+
+@item :prescript
+@itemx :postscript
+\e$B%a!<%k$r<hF@$9$kA08e$K<B9T$9$k%9%/%j%W%H$G$9!#\e(B
@end table
\e$B%U%!%$%k%a!<%k%=!<%9$NNc\e(B:
several servers where not all servers support @code{ask-server}.
@vindex gnus-startup-file
+@vindex gnus-backup-startup-file
+@vindex version-control
The @code{gnus-startup-file} variable says where the startup files are.
The default value is @file{~/.newsrc}, with the Gnus (El Dingo) startup
file being whatever that one is, with a @samp{.eld} appended.
+If you want version control for this file, set
+@code{gnus-backup-startup-file}. It respects the same values as the
+@code{version-control} variable.
@vindex gnus-save-newsrc-hook
@vindex gnus-save-quick-newsrc-hook
The file name. Defaults to the value of the @code{MAIL}
environment variable or the value of @code{rmail-spool-directory}
(usually something like @file{/usr/mail/spool/user-name}).
+
+@item :prescript
+@itemx :postscript
+Script run before/after fetching mail.
@end table
An example file mail source: