+Sat Jul 19 23:32:28 1997 Lars Magne Ingebrigtsen <larsi@menja.ifi.uio.no>
+
+ * gnus.el: Gnus v5.4.64 is released.
+
+Sat Jul 19 23:22:03 1997 Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
+
+ * gnus-art.el (gnus-article-set-globals): New function.
+
+1997-07-17 Steven L Baur <steve@altair.xemacs.org>
+
+ * gnus-ems.el (gnus-mode-line-modified): Refine detection on
+ whether narrow indicators should be used.
+
+Sat Jul 19 23:04:30 1997 Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
+
+ * gnus-cache.el (gnus-jog-cache): Bind gnus-auto-select-next.
+
+Sat Jul 19 23:00:33 1997 Guy Geens <Guy.Geens@elis.rug.ac.be>
+
+ * gnus-score.el (gnus-score-load-file): Fix decay.
+
+Sat Jul 19 20:21:42 1997 Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
+
+ * gnus-group.el (gnus-group-iterate): Save excursion.
+
+ * gnus-score.el (message): Required.
+
+ * gnus-sum.el (gnus-summary-limit-children): Unreads, not reads.
+
+ * gnus-topic.el (gnus-topic-change-level): Move groups.
+
+ * gnus-cache.el (gnus-jog-cache): Protect against nil groups.
+
+ * message.el (message-generate-headers): Don't delete Message-ID
+ if buffer not modified.
+
+ * gnus.el (gnus-simplify-mode-line): Use varying formats.
+
+ * gnus-xmas.el (gnus-xmas-group-remove-excess-properties): Removed.
+ (gnus-xmas-topic-remove-excess-properties): Removed.
+
+Sat Jul 12 21:04:08 1997 Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
+
+ * gnus-start.el (gnus-activate-group): Always return the right
+ active range.
+
Sat Jul 12 19:46:22 1997 Lars Magne Ingebrigtsen <larsi@menja.ifi.uio.no>
* gnus.el: Gnus v5.4.63 is released.
(interactive)
(if (not (gnus-buffer-live-p gnus-summary-buffer))
(error "There is no summary buffer for this article buffer")
+ (gnus-article-set-globals)
(gnus-configure-windows 'article)
(gnus-summary-goto-subject gnus-current-article)))
;;; Internal functions:
+(defun gnus-article-set-globals ()
+ (save-excursion
+ (set-buffer gnus-summary-buffer)
+ (gnus-set-global-variables)))
+
(defun gnus-signature-toggle (end)
(save-excursion
(set-buffer gnus-article-buffer)
nil nil
(lambda ()
(interactive)
- (gnus-summary-read-group (gnus-group-group-name) nil t)
- ;; ... and enter the articles into the cache.
- (when (eq major-mode 'gnus-summary-mode)
- (gnus-uu-mark-buffer)
- (gnus-cache-enter-article)
- (kill-buffer (current-buffer)))))))
+ (when (gnus-group-group-name)
+ (let (gnus-auto-select-next)
+ (gnus-summary-read-group (gnus-group-group-name) nil t)
+ ;; ... and enter the articles into the cache.
+ (when (eq major-mode 'gnus-summary-mode)
+ (gnus-uu-mark-buffer)
+ (gnus-cache-enter-article)
+ (kill-buffer (current-buffer)))))))))
(defun gnus-cache-read-active (&optional force)
"Read the cache active file."
(defvar gnus-mouse-2 [mouse-2])
(defvar gnus-down-mouse-2 [down-mouse-2])
(defvar gnus-mode-line-modified
- (if (and (not gnus-xemacs)
- (< emacs-major-version 20))
+ (if (or gnus-xemacs
+ (< emacs-major-version 20))
'("--**-" . "-----")
'("**" "--")))
group)
(while (setq group (pop groups))
(gnus-group-remove-mark group)
- (funcall function group))))
+ (save-excursion
+ (save-selected-window
+ (funcall function group))))))
(put 'gnus-group-iterate 'lisp-indent-function 1)
\\{gnus-carpal-mode-map}"
(interactive)
(kill-all-local-variables)
- (setq mode-line-modified "-- ")
+ (setq mode-line-modified (cdr gnus-mode-line-modified))
(setq major-mode 'gnus-carpal-mode)
(setq mode-name "Gnus Carpal")
(setq mode-line-process nil)
(require 'gnus)
(require 'gnus-sum)
(require 'gnus-range)
+(require 'message)
(defcustom gnus-global-score-files nil
"List of global score files and directories.
;; Perform possible decays.
(when gnus-decay-scores
(when (or (not decay)
- (gnus-decay-scores alist (gnus-time-to-day (current-time))))
+ (gnus-decay-scores alist decay))
(gnus-score-set 'touched '(t) alist)
(gnus-score-set 'decay (list (gnus-time-to-day (current-time))))))
;; We do not respect eval and files atoms from global score
"Decay SCORE according to `gnus-score-decay-constant' and `gnus-score-decay-scale'."
(floor
(- score
- (* (if (< score 0) 1 -1)
+ (* (if (< score 0) -1 1)
(min (abs score)
(max gnus-score-decay-constant
(* (abs score)
;; If this group it killed, then we want to subscribe it.
(when (= (following-char) ?K)
(setq sub t))
- (setq group (gnus-browse-group-name))
+ (when (gnus-gethash (setq group (gnus-browse-group-name))
+ gnus-newsrc-hashtb)
+ (error "Group already subscribed"))
;; Make sure the group has been properly removed before we
;; subscribe to it.
(gnus-kill-ephemeral-group group)
(format
"(gnus-group-set-info '%S)" info)))))
(when gnus-group-change-level-function
- (funcall gnus-group-change-level-function group level oldlevel)))))
+ (funcall gnus-group-change-level-function
+ group level oldlevel previous)))))
(defun gnus-kill-newsgroup (newsgroup)
"Obsolete function. Kills a newsgroup."
;; command may have responded with the `(0 . 0)'. We
;; ignore this if we already have an active entry
;; for the group.
- (unless (and (zerop (car active))
- (zerop (cdr active))
- (gnus-active group))
- (gnus-set-active group active))
- ;; Return the new active info.
- active)))
+ (if (and (zerop (car active))
+ (zerop (cdr active))
+ (gnus-active group))
+ (gnus-active group)
+ (gnus-set-active group active)
+ ;; Return the new active info.
+ active))))
(defun gnus-get-unread-articles-in-group (info active &optional update)
(when active
(gnus-nocem-unwanted-article-p
(mail-header-id (car thread))))
(progn
- (setq gnus-newsgroup-reads
- (delq number gnus-newsgroup-reads))
+ (setq gnus-newsgroup-unreads
+ (delq number gnus-newsgroup-unreads))
t))))
;; Nope, invisible article.
0
(gnus-add-text-properties
(point)
(prog1 (1+ (point))
- (eval gnus-topic-line-format-spec)
- (gnus-topic-remove-excess-properties)1)
+ (eval gnus-topic-line-format-spec))
(list 'gnus-topic (intern name)
'gnus-topic-level level
'gnus-topic-unread unread
(push (cons topic-name (nreverse filtered-topic)) result)))
(setq gnus-topic-alist (nreverse result))))
-(defun gnus-topic-change-level (group level oldlevel)
+(defun gnus-topic-change-level (group level oldlevel previous)
"Run when changing levels to enter/remove groups from topics."
(save-excursion
(set-buffer gnus-group-buffer)
+ (gnus-group-goto-group (or (car (nth 2 previous)) group))
(when (and gnus-topic-mode
gnus-topic-alist
(not gnus-topic-inhibit-change-level))
(event-to-character event))
event)))
-(defun gnus-xmas-group-remove-excess-properties ()
- (let ((end (point))
- (beg (progn (forward-line -1) (point))))
- (remove-text-properties (1+ beg) end '(gnus-group nil))
- (remove-text-properties
- beg end
- '(gnus-topic nil gnus-topic-level nil gnus-topic-visible nil))
- (goto-char end)
- (map-extents
- (lambda (e ma)
- (set-extent-property e 'start-closed t))
- (current-buffer) beg end)))
-
-(defun gnus-xmas-topic-remove-excess-properties ()
- (let ((end (point))
- (beg (progn (forward-line -1) (point))))
- (remove-text-properties beg end '(gnus-group nil gnus-unread nil))
- (remove-text-properties (1+ beg) end '(gnus-topic nil))
- (goto-char end)))
-
(defun gnus-xmas-seconds-since-epoch (date)
"Return a floating point number that says how many seconds have lapsed between Jan 1 12:00:00 1970 and DATE."
(let* ((tdate (mapcar (lambda (ti) (and ti (string-to-int ti)))
:link '(custom-manual "(gnus)Exiting Gnus")
:group 'gnus)
-(defconst gnus-version-number "5.4.63"
+(defconst gnus-version-number "5.4.64"
"Version number for this version of Gnus.")
(defconst gnus-version (format "Gnus v%s" gnus-version-number)
(defalias 'gnus-extent-start-open 'ignore)
(defalias 'gnus-set-text-properties 'set-text-properties)
(defalias 'gnus-group-remove-excess-properties 'ignore)
- (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-character-to-event 'identity)
(defun gnus-simplify-mode-line ()
"Make mode lines a bit simpler."
- (setq mode-line-modified "-- ")
+ (setq mode-line-modified (cdr gnus-mode-line-modified))
(when (listp mode-line-format)
(make-local-variable 'mode-line-format)
(setq mode-line-format (copy-sequence mode-line-format))
header value elem)
;; First we remove any old generated headers.
(let ((headers message-deletable-headers))
+ (unless (buffer-modified-p)
+ (setq headers (delq 'Message-ID (copy-sequence headers))))
(while headers
(goto-char (point-min))
(and (re-search-forward
;;; pop3.el --- Post Office Protocol (RFC 1460) interface
-;; Copyright (C) 1996, Free Software Foundation, Inc.
+;; Copyright (C) 1996,1997 Free Software Foundation, Inc.
;; Author: Richard L. Pieri <ratinox@peorth.gweep.net>
;; Keywords: mail, pop3
-;; Version: 1.3e
+;; Version: 1.3g
;; This file is part of GNU Emacs.
(require 'mail-utils)
(provide 'pop3)
-(defconst pop3-version "1.3c")
+(defconst pop3-version "1.3g")
(defvar pop3-maildrop (or user-login-name (getenv "LOGNAME") (getenv "USER") nil)
"*POP3 maildrop.")
((equal 'pass pop3-authentication-scheme)
(pop3-user process pop3-maildrop)
(pop3-pass process))
- (t (error "Invalid POP3 authentication scheme")))
+ (t (error "Invalid POP3 authentication scheme.")))
(setq message-count (car (pop3-stat process)))
(while (<= n message-count)
(message (format "Retrieving message %d of %d from %s..."
(defun pop3-munge-message-separator (start end)
"Check to see if a message separator exists. If not, generate one."
+ (if (not (fboundp 'message-make-date)) (autoload 'message-make-date "message"))
(save-excursion
(save-restriction
(narrow-to-region start end)
(looking-at "BABYL OPTIONS:") ; Babyl
))
(let ((from (mail-strip-quoted-names (mail-fetch-field "From")))
- (date (pop3-string-to-list (mail-fetch-field "Date")))
+ (date (pop3-string-to-list (or (mail-fetch-field "Date")
+ (message-make-date))))
(From_))
;; sample date formats I have seen
;; Date: Tue, 9 Jul 1996 09:04:21 -0400 (EDT)
+Sat Jul 19 23:02:03 1997 Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
+
+ * gnus.texi (Followups To Yourself): \\(_-_\\)?
+
Sat Jul 12 16:29:35 1997 Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
* gnus.texi (Picon Configuration): Moved Picons to under XEmacs.
\input texinfo @c -*-texinfo-*-
@setfilename gnus
-@settitle Gnus 5.4.63 Manual
+@settitle Gnus 5.4.64 Manual
@synindex fn cp
@synindex vr cp
@synindex pg cp
@tex
@titlepage
-@title Gnus 5.4.63 Manual
+@title Gnus 5.4.64 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.63.
+This manual corresponds to Gnus 5.4.64.
@end ifinfo
@lisp
("references"
- ("<x6[0-9a-z]+\\.fsf@@.*eyesore.no>" 1000 nil r))
+ ("<x6[0-9a-z]+\\.fsf\\(_-_\\)?@@.*eyesore.no>"
+ 1000 nil r))
@end lisp
Whether it's the first two or first three characters that are ``yours''
\input texinfo @c -*-texinfo-*-
@setfilename message
-@settitle Message 5.4.63 Manual
+@settitle Message 5.4.64 Manual
@synindex fn cp
@synindex vr cp
@synindex pg cp
@tex
@titlepage
-@title Message 5.4.63 Manual
+@title Message 5.4.64 Manual
@author by Lars Magne Ingebrigtsen
@page
* Key Index:: List of Message mode keys.
@end menu
-This manual corresponds to Message 5.4.63. Message is distributed with
+This manual corresponds to Message 5.4.64. Message is distributed with
the Gnus distribution bearing the same version number as this manual
has.