+Sat Apr 6 19:03:10 1996 Lars Magne Ingebrigtsen <larsi@aegir.ifi.uio.no>
+
+ * nnvirtual.el (nnvirtual-close-group): Don't update component
+ groups so much.
+
+ * message.el (message-make-fqdm): Wouldn't pick out the address
+ from `user-mail-address'.
+ (message-generate-headers): Don't insert X-Mailer if there is an
+ X-Newsreader.
+ (message-followup): Set `message-reply-headers'.
+ (message-send-and-exit): Pass prefix argument.
+ (message-cancel-news): Don't check syntax.
+
+Sat Apr 6 03:04:58 1996 Lars Magne Ingebrigtsen <lars@eyesore.no>
+
+ * gnus.el (gnus-summary-last-article-p): Reverse logic.
+
+ * message.el (message-make-fqdm): Try mail-host-address.
+ (message-fill-header): Would insert blank lines.
+
Fri Apr 5 23:51:17 1996 Lars Magne Ingebrigtsen <larsi@aegir.ifi.uio.no (Lars Magne Ingebrigtsen)>
+ * gnus.el: September Gnus v0.64 is released.
+
* message.el (message-send-and-exit): Don't bury buffer on
unsucessful sending.
"gnus-bug@ifi.uio.no (The Gnus Bugfixing Girls + Boys)"
"The mail address of the Gnus maintainers.")
-(defconst gnus-version "September Gnus v0.64"
+(defconst gnus-version "September Gnus v0.65"
"Version number for this version of Gnus.")
(defvar gnus-info-nodes
"Return whether ARTICLE is the last article in the buffer."
(if (not (setq article (or article (gnus-summary-article-number))))
t ; All non-existant numbers are the last article. :-)
- (cdr (gnus-data-find-list article))))
+ (not (cdr (gnus-data-find-list article)))))
(defun gnus-summary-insert-dummy-line (gnus-tmp-subject gnus-tmp-number)
"Insert a dummy root in the summary buffer."
;; These groups are foreign. Check the level.
(when (<= (gnus-info-level info) foreign-level)
(setq active (gnus-activate-group group 'scan))
- (gnus-close-group group))
+ (unless (inline (gnus-virtual-group-p group))
+ (inline (gnus-close-group group))))
;; These groups are native or secondary.
(when (and (<= (gnus-info-level info) level)
(not gnus-read-active-file))
(setq active (gnus-activate-group group 'scan))
- (gnus-close-group group)))
+ (inline (gnus-close-group group))))
(if active
(inline (gnus-get-unread-articles-in-group
;;; Sending messages
;;;
-(defun message-send-and-exit ()
+(defun message-send-and-exit (&optional arg)
"Send message like `message-send', then, if no errors, exit from mail buffer."
- (interactive)
+ (interactive "P")
(let ((buf (current-buffer)))
- (when (message-send)
+ (when (message-send arg)
(bury-buffer buf)
(when (eq buf (current-buffer))
(message-bury buf)))))
;; `system-name' returned the right result.
system-name)
;; We try `user-mail-address' as a backup.
- ((string-match "@\\(\\W+\\)\\(\\'\\|\\W\\)" user-mail-address)
+ ((string-match "@\\([^\\s-]+\\)\\(\\'\\|\\W\\)" user-mail-address)
(match-string 1 user-mail-address))
+ ;; Try `mail-host-address'.
+ (mail-host-address mail-host-address)
+ ;; Default to this bogus thing.
(t
(concat system-name ".i-have-a-misconfigured-system-so-shoot-me")))))
(Distribution (message-make-distribution))
(Lines (message-make-lines))
(X-Newsreader message-newsreader)
- (X-Mailer message-mailer)
+ (X-Mailer (and (not (mail-fetch-field "X-Newsreader"))
+ message-mailer))
(Expires (message-make-expires))
(case-fold-search t)
header value elem)
(fill-region-as-paragraph begin (point))
;; Tapdance around looong Message-IDs.
(forward-line -1)
- (when (eolp)
+ (when (looking-at "[ \t]*$")
(message-delete-line))
(goto-char begin)
(re-search-forward ":" nil t)
(list (cons 'Cc (if (equal (downcase mct) "always")
(or reply-to from "")
mct)))))
- cur)))
+
+ cur)
+
+ (setq message-reply-headers
+ (vector 0 subject from date message-id references 0 0 ""))))
+
;;;###autoload
(defun message-cancel-news ()
mail-header-separator "\n"
"This is a cancel message from " from ".\n")
(message "Canceling your article...")
- (funcall message-send-news-function)
+ (let (message-syntax-checks)
+ (funcall message-send-news-function))
(message "Canceling your article...done")
(kill-buffer buf))))
'nconc
(mapcar
(lambda (g)
- (when (setq active (or (gnus-active g)
- (gnus-activate-group g)))
+ (when (setq active (gnus-activate-group g))
(setq unreads (gnus-list-of-unread-articles g)
marks (gnus-uncompress-marks
(gnus-info-marks (gnus-get-info g))))
marks))
(setq div (/ (float (car active))
(if (zerop (cdr active))
- 1 (cdr active)) ))
+ 1 (cdr active))))
(mapcar (lambda (n)
(list (* div (- n (car active)))
g n (and (memq n unreads) t)
nnvirtual-component-groups))
(lambda (m1 m2)
(< (car m1) (car m2)))))
- (i 0))
+ (i 0))
(setq nnvirtual-mapping map)
;; Set the virtual article numbers.
(while (setq m (pop map))