+Sat May 31 15:41:09 1997 Lars Magne Ingebrigtsen <larsi@menja.ifi.uio.no>
+
+ * gnus.el: Gnus v5.4.56 is released.
+
+Sat May 31 14:51:37 1997 Shuhei KOBAYASHI <shuhei-k@jaist.ac.jp>
+
+ * message.el (message-make-in-reply-to): Make valid In-Reply-To.
+
+Sat May 31 14:45:54 1997 Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
+
+ * gnus-art.el (gnus-header-button-alist): Check for URLs in the
+ Subject.
+
+Sat May 31 14:42:53 1997 Hrvoje Niksic <hniksic@srce.hr>
+
+ * gnus-xmas.el: Cleanup.
+
+Sat May 31 14:34:39 1997 Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
+
+ * gnus-art.el (gnus-output-to-file): Return t.
+
+Sat May 31 14:14:40 1997 Guy Geens <Guy.Geens@elis.rug.ac.be>
+
+ * gnus-score.el (gnus-decay-score): Make decay work on negative
+ scores.
+
+Sat May 31 14:07:53 1997 Kurt Swanson <kurt@dna.lth.se>
+
+ * nnmail.el (nnmail-article-group): Handle junk properly.
+
+Sat May 31 14:03:32 1997 Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
+
+ * gnus-sum.el (gnus-summary-limit-children): Typo. Wouldn't
+ marked NoCeM'ed out messages as read.
+
+Sat May 31 13:46:49 1997 Darren Stalder <torin@daft.com>
+
+ * gnus-util.el (gnus-encode-date): Fix time zone.
+
+Sat May 31 13:38:02 1997 Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
+
+ * gnus-move.el (gnus-move-group-to-server): Don't sort nil lists.
+
+Tue May 27 16:03:12 1997 Paul Franklin <paul@cs.washington.edu>
+
+ * nnmail.el (nnmail-keep-last-article): clarify docstring
+
+Tue May 27 15:03:30 1997 Danny Siu <dsiu@adobe.com>
+
+ * gnus-picon.el (gnus-group-display-picons): use
+ gnus-group-real-name so that picons for foreign groups display
+ correctly.
+
+Fri May 30 22:03:39 1997 Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
+
+ * gnus-topic.el (gnus-topic-mode): Nix out topic missing group
+ function when switching off.
+
+ * gnus-salt.el (gnus-pick-start-reading): Don't prompt.
+
+Mon May 26 11:49:53 1997 Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
+
+ * gnus-art.el (gnus-hack-decode-rfc1522): New function.
+
+ * gnus-sum.el (gnus-parse-headers-hook): New default.
+
Sun May 25 17:08:16 1997 Lars Magne Ingebrigtsen <larsi@menja.ifi.uio.no>
* gnus.el: Gnus v5.4.55 is released.
(process-send-region "article-x-face" beg end)
(process-send-eof "article-x-face"))))))))))
+(defun gnus-hack-decode-rfc1522 ()
+ "Emergency hack function for avoiding problems when decoding."
+ (let ((buffer-read-only nil))
+ (goto-char (point-min))
+ ;; Remove encoded TABs.
+ (while (search-forward "=09" nil t)
+ (replace-match " " t t))
+ ;; Remove encoded newlines.
+ (goto-char (point-min))
+ (while (search-forward "=10" nil t)
+ (replace-match " " t t))))
+
(defalias 'gnus-decode-rfc1522 'article-decode-rfc1522)
(defalias 'gnus-article-decode-rfc1522 'article-decode-rfc1522)
(defun article-decode-rfc1522 ()
;; save it to file.
(goto-char (point-max))
(insert "\n")
- (append-to-file (point-min) (point-max) file-name))))
+ (append-to-file (point-min) (point-max) file-name)
+ t)))
(defun gnus-narrow-to-page (&optional arg)
"Narrow the article buffer to a page.
("^\\(Cc\\|To\\):" "[^ \t\n<>,()\"]+@[^ \t\n<>,()\"]+"
0 t gnus-button-mailto 0)
("^X-[Uu][Rr][Ll]:" ,gnus-button-url-regexp 0 t gnus-button-url 0)
+ ("^Subject:" ,gnus-button-url-regexp 0 t gnus-button-url 0)
("^[^:]+:" ,gnus-button-url-regexp 0 t gnus-button-url 0)
("^[^:]+:" "\\(<\\(url: \\)?news:\\([^>\n ]*\\)>\\)" 1 t
gnus-button-message-id 3))
(gnus-cache-update-active group (car (last articles))))
articles)))
-(defun gnus-cache-braid-nov (group cached)
+(defun gnus-cache-braid-nov (group cached &optional file)
(let ((cache-buf (get-buffer-create " *gnus-cache*"))
beg end)
(gnus-cache-save-buffers)
(set-buffer cache-buf)
(buffer-disable-undo (current-buffer))
(erase-buffer)
- (insert-file-contents (gnus-cache-file-name group ".overview"))
+ (insert-file-contents (or file (gnus-cache-file-name group ".overview")))
(goto-char (point-min))
(insert "\n")
(goto-char (point-min)))
;; into the Gnus info format.
(setq to-reads
(gnus-range-add
- (gnus-compress-sequence (sort to-reads '<) t)
+ (gnus-compress-sequence (and to-reads (sort to-reads '<)) t)
(cons 1 (1- (car to-active)))))
(gnus-info-set-read info to-reads)
;; Do the marks. I'm sure y'all understand what's
(cons article (cdr a)))))
(setq a lists)
(while a
- (setcdr (car a) (gnus-compress-sequence (sort (cdar a) '<)))
+ (setcdr (car a) (gnus-compress-sequence
+ (and (cdar a) (sort (cdar a) '<))))
(pop a))
(gnus-info-set-marks info lists t)))))
(gnus-message 7 "Translating %s...done" group)))
(setq gnus-group-annotations
(gnus-picons-display-pairs
(gnus-picons-lookup-pairs (reverse (message-tokenize-header
- gnus-newsgroup-name "."))
+ (gnus-group-real-name gnus-newsgroup-name)
+ "."))
gnus-picons-news-directories)
t "."))
(push (list 'gnus-group-annotations 'search nil
- (message-tokenize-header gnus-newsgroup-name ".")
+ (message-tokenize-header
+ (gnus-group-real-name gnus-newsgroup-name) ".")
(if (listp gnus-picons-news-directories)
gnus-picons-news-directories
(list gnus-picons-news-directories))
(if gnus-pick-elegant-flow
(progn
(when (or catch-up gnus-mark-unpicked-articles-as-read)
- (gnus-summary-catchup))
+ (gnus-summary-catchup nil t))
(if (gnus-group-quit-config gnus-newsgroup-name)
(gnus-summary-exit)
(gnus-summary-next-group)))
;;;
(defun gnus-decay-score (score)
- "Decay SCORE."
+ "Decay SCORE according to `gnus-score-decay-constant' and `gnus-score-decay-scale'."
(floor
(- score
(* (if (< score 0) 1 -1)
- (min score
+ (min (abs score)
(max gnus-score-decay-constant
(* (abs score)
gnus-score-decay-scale)))))))
:type 'hook)
(defcustom gnus-parse-headers-hook
- (list 'gnus-decode-rfc1522)
+ (list 'gnus-hack-decode-rfc1522 'gnus-decode-rfc1522)
"*A hook called before parsing the headers."
:group 'gnus-various
:type 'hook)
(mail-header-id (car thread))))
(progn
(setq gnus-newsgroup-reads
- (delq number gnus-newsgroup-unreads))
+ (delq number gnus-newsgroup-reads))
t))))
;; Nope, invisible article.
0
(if (null arg) (not gnus-topic-mode)
(> (prefix-numeric-value arg) 0)))
;; Infest Gnus with topics.
- (when gnus-topic-mode
+ (if (not gnus-topic-mode)
+ (setq gnus-goto-missing-group-function nil)
(when (gnus-visual-p 'topic-menu 'menu)
(gnus-topic-make-menu-bar))
(setq gnus-topic-line-format-spec
(date (mapcar (lambda (d) (and d (string-to-int d))) parse))
(time (mapcar 'string-to-int (timezone-parse-time (aref parse 3)))))
(encode-time (caddr time) (cadr time) (car time)
- (caddr date) (cadr date) (car date) (nth 4 date))))
+ (caddr date) (cadr date) (car date)
+ (* 60 (timezone-zone-to-minute (nth 4 date))))))
(defun gnus-time-minus (t1 t2)
"Subtract two internal times."
(add-hook 'gnus-group-mode-hook 'gnus-xmas-setup-group-toolbar)
(add-hook 'gnus-summary-mode-hook 'gnus-xmas-setup-summary-toolbar)
- (add-hook 'gnus-summary-mode-hook 'gnus-xmas-switch-horizontal-scrollbar-off)
-
- (when (and (<= emacs-major-version 19)
- (<= emacs-minor-version 13))
- (setq gnus-article-x-face-too-ugly (when (eq (device-type) 'tty)
- "."))
- (fset 'gnus-highlight-selected-summary
- 'gnus-xmas-highlight-selected-summary)
- (fset 'gnus-group-remove-excess-properties
- 'gnus-xmas-group-remove-excess-properties)
- (fset 'gnus-topic-remove-excess-properties
- 'gnus-xmas-topic-remove-excess-properties)
- (fset 'gnus-mode-line-buffer-identification 'identity)
- (unless (boundp 'shell-command-switch)
- (setq shell-command-switch "-c"))))
+ (add-hook 'gnus-summary-mode-hook
+ 'gnus-xmas-switch-horizontal-scrollbar-off))
;;; XEmacs logo and toolbar.
;; Insert the message.
(setq gnus-xmas-glyph-directory (message-xmas-find-glyph-directory "gnus"))
(erase-buffer)
- (let ((logo (and gnus-xmas-glyph-directory
- (concat
- (file-name-as-directory gnus-xmas-glyph-directory)
- "gnus."
- (if (featurep 'xpm) "xpm" "xbm"))))
- (xpm-color-symbols
- (and (featurep 'xpm)
- (append `(("thing" ,(car gnus-xmas-logo-colors))
- ("shadow" ,(cadr gnus-xmas-logo-colors)))
- xpm-color-symbols))))
- (if (and (featurep 'xpm)
- (not (equal (device-type) 'tty))
- logo
- (file-exists-p logo))
- (progn
- (setq logo (make-glyph logo))
- (insert " ")
- (set-extent-begin-glyph (make-extent (point) (point)) logo)
- (goto-char (point-min))
- (while (not (eobp))
- (insert (make-string (/ (max (- (window-width) (or x 35)) 0) 2)
- ? ))
- (forward-line 1))
- (goto-char (point-min))
- (let* ((pheight (+ 20 (count-lines (point-min) (point-max))))
- (wheight (window-height))
- (rest (- wheight pheight)))
- (insert (make-string (max 0 (* 2 (/ rest 3))) ?\n))))
-
- (insert
- (format " %s
+ (cond
+ ((and (console-on-window-system-p)
+ (or (featurep 'xpm)
+ (featurep 'xbm)))
+ (let* ((logo-xpm (expand-file-name "gnus.xpm" gnus-xmas-glyph-directory))
+ (logo-xbm (expand-file-name "gnus.xbm" gnus-xmas-glyph-directory))
+ (glyph (make-glyph
+ (list
+ (vector 'xpm
+ ':file logo-xpm
+ ':color-symbols
+ `(("thing" . ,(car gnus-xmas-logo-colors))
+ ("shadow" . ,(cadr gnus-xmas-logo-colors))
+ ("background" . ,(face-background 'default))))
+ (vector 'xbm :file logo-xbm)
+ (vector 'nothing)))))
+ (insert " ")
+ (set-extent-begin-glyph (make-extent (point) (point)) glyph)
+ (goto-char (point-min))
+ (while (not (eobp))
+ (insert (make-string (/ (max (- (window-width) (or x 35)) 0) 2)
+ ?\ ))
+ (forward-line 1)))
+ (goto-char (point-min))
+ (let* ((pheight (+ 20 (count-lines (point-min) (point-max))))
+ (wheight (window-height))
+ (rest (- wheight pheight)))
+ (insert (make-string (max 0 (* 2 (/ rest 3))) ?\n))))
+ (t
+ (insert
+ (format " %s
_ ___ _ _
_ ___ __ ___ __ _ ___
__ _ ___ __ ___
__
"
- ""))
- ;; And then hack it.
- (gnus-indent-rigidly (point-min) (point-max)
- (/ (max (- (window-width) (or x 46)) 0) 2))
- (goto-char (point-min))
- (forward-line 1)
- (let* ((pheight (count-lines (point-min) (point-max)))
- (wheight (window-height))
- (rest (- wheight pheight)))
- (insert (make-string (max 0 (* 2 (/ rest 3))) ?\n))))
- ;; Fontify some.
- (goto-char (point-min))
- (put-text-property (point-min) (point-max) 'face 'gnus-splash-face)
+ ""))
+ ;; And then hack it.
+ (gnus-indent-rigidly (point-min) (point-max)
+ (/ (max (- (window-width) (or x 46)) 0) 2))
(goto-char (point-min))
- (setq modeline-buffer-identification
- (list (concat gnus-version ": *Group*")))
- (set-buffer-modified-p t)))
+ (forward-line 1)
+ (let* ((pheight (count-lines (point-min) (point-max)))
+ (wheight (window-height))
+ (rest (- wheight pheight)))
+ (insert (make-string (max 0 (* 2 (/ rest 3))) ?\n)))
+ ;; Paint it.
+ (put-text-property (point-min) (point-max) 'face 'gnus-splash-face)))
+ (setq modeline-buffer-identification
+ (list (concat gnus-version ": *Group*")))
+ (set-buffer-modified-p t))
;;; The toolbar.
(set-extent-begin-glyph
(make-extent (point) (1+ (point))) xface-glyph))))
-(defvar gnus-xmas-pointer-glyph
- (progn
- (setq gnus-xmas-glyph-directory (message-xmas-find-glyph-directory "gnus"))
- (make-pointer-glyph (concat gnus-xmas-glyph-directory "gnus-pointer."
- (if (featurep 'xpm) "xpm" "xbm")))))
+;;(defvar gnus-xmas-pointer-glyph
+;; (progn
+;; (setq gnus-xmas-glyph-directory (message-xmas-find-glyph-directory
+;; "gnus"))
+;; (let ((file-xpm (expand-file-name "gnus-pointer.xpm"
+;; gnus-xmas-glyph-directory))
+;; (file-xbm (expand-file-name "gnus-pointer.xbm"
+;; gnus-xmas-glyph-directory)))
+;; (make-pointer-glyph
+;; (list (vector 'xpm ':file file-xpm)
+;; (vector 'xbm ':file file-xbm))))))
(defvar gnus-xmas-modeline-left-extent
(let ((ext (copy-extent modeline-buffer-id-left-extent)))
- ;(set-extent-property ext 'pointer gnus-xmas-pointer-glyph)
+; (set-extent-property ext 'pointer gnus-xmas-pointer-glyph)
ext))
(defvar gnus-xmas-modeline-right-extent
(let ((ext (copy-extent modeline-buffer-id-right-extent)))
- ;(set-extent-property ext 'pointer gnus-xmas-pointer-glyph)
+; (set-extent-property ext 'pointer gnus-xmas-pointer-glyph)
ext))
(defvar gnus-xmas-modeline-glyph
(progn
(setq gnus-xmas-glyph-directory (message-xmas-find-glyph-directory "gnus"))
- (let* ((file (concat gnus-xmas-glyph-directory "gnus-pointer."
- (if (featurep 'xpm) "xpm" "xbm")))
- (glyph (make-glyph file)))
- (when (and (featurep 'x)
- (file-exists-p file))
- (set-glyph-face glyph 'modeline-buffer-id)
- (set-glyph-property glyph 'image (cons 'tty "Gnus:"))
- glyph))))
+ (let* ((file-xpm (expand-file-name "gnus-pointer.xpm"
+ gnus-xmas-glyph-directory))
+ (file-xbm (expand-file-name "gnus-pointer.xbm"
+ gnus-xmas-glyph-directory))
+ (glyph (make-glyph
+ (list
+ ;; Let's try a nifty XPM
+ (vector 'xpm ':file file-xpm)
+ ;; Then a not-so-nifty XBM
+ (vector 'xbm ':file file-xbm)
+ ;; Then the simple string
+ (vector 'string ':data "Gnus:")))))
+ (set-glyph-face glyph 'modeline-buffer-id)
+ glyph)))
(defun gnus-xmas-mode-line-buffer-identification (line)
(let ((line (car line))
:link '(custom-manual "(gnus)Exiting Gnus")
:group 'gnus)
-(defconst gnus-version-number "5.4.55"
+(defconst gnus-version-number "5.4.56"
"Version number for this version of Gnus.")
(defconst gnus-version (format "Gnus v%s" gnus-version-number)
gnus-article-next-page gnus-article-prev-page
gnus-request-article-this-buffer gnus-article-mode
gnus-article-setup-buffer gnus-narrow-to-page
- gnus-article-delete-invisible-text)
+ gnus-article-delete-invisible-text gnus-hack-decode-rfc1522)
("gnus-art" :interactive t
gnus-article-hide-headers gnus-article-hide-boring-headers
gnus-article-treat-overstrike gnus-article-word-wrap
(let ((stop-pos
(string-match " *at \\| *@ \\| *(\\| *<" from)))
(concat (if stop-pos (substring from 0 stop-pos) from)
- "'s message of "
+ "'s message of \""
(if (or (not date) (string= date ""))
- "(unknown date)" date)))))))
+ "(unknown date)" date)
+ "\""))))))
(defun message-make-distribution ()
"Make a Distribution header."
;; Added by gord@enci.ucalgary.ca (Gordon Matzigkeit).
(defcustom nnmail-keep-last-article nil
- "If non-nil, nnmail will never delete the last expired article in a directory.
+ "If non-nil, nnmail will never delete/move a group's last article.
+It can be marked expirable, so it will be deleted when it is no longer last.
+
You may need to set this variable if other programs are putting
new mail into folder numbers that Gnus has marked as expired."
:group 'nnmail-procmail
(nnmail-read-passwd
(format "Password for %s: "
(substring inbox (+ popmail 3))))))
- (message "Getting mail from post office ..."))
+ (message "Getting mail from the post office..."))
(when (or (and (file-exists-p tofile)
(/= 0 (nnheader-file-size tofile)))
(and (file-exists-p inbox)
;; to do? Just remove the `junk' spec. Don't really
;; see anything else to do...
(let (elem)
- (while (setq elem (assq 'junk split))
+ (while (setq elem (car (memq 'junk split)))
(setq split (delq elem split))))
(when split
(setq group-art
;; to do? Just remove the `junk' spec. Don't really
;; see anything else to do...
(let (elem)
- (while (setq elem (assq 'junk group-art))
+ (while (setq elem (car (memq 'junk group-art)))
(setq group-art (delq elem group-art)))
(nreverse group-art)))))))
(set-buffer (process-buffer process))
(goto-char pop3-read-point)
(while (not (search-forward "\r\n" nil t))
- (accept-process-output process)
+ (accept-process-output process 3)
(goto-char pop3-read-point))
(setq match-end (point))
(goto-char pop3-read-point)
(save-excursion
(set-buffer (process-buffer process))
(while (not (re-search-forward "^\\.\r\n" nil t))
- (accept-process-output process)
+ (accept-process-output process 3)
;; bill@att.com ... to save wear and tear on the heap
(if (> (buffer-size) 20000) (sleep-for 1))
(if (> (buffer-size) 50000) (sleep-for 1))
--- /dev/null
+-*- Text -*-
+The Gnus-realated top node.
+\1f
+File: dir Node: Top This is the Gnus Info tree
+
+* Menu:
+
+* Gnus: (gnus). The news reader Gnus.
+* Message: (message). The Message sending thingamabob.
+* Widget: (widget). The Widget library.
+* Custom: (custom). The Custom library.
\input texinfo @c -*-texinfo-*-
@setfilename gnus
-@settitle Gnus 5.4.55 Manual
+@settitle Gnus 5.4.56 Manual
@synindex fn cp
@synindex vr cp
@synindex pg cp
@tex
@titlepage
-@title Gnus 5.4.55 Manual
+@title Gnus 5.4.56 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.55.
+This manual corresponds to Gnus 5.4.56.
@end ifinfo
@lisp
(defun gnus-decay-score (score)
+ "Decay SCORE according to `gnus-score-decay-constant' and `gnus-score-decay-scale'."
(floor
(- score
(* (if (< score 0) 1 -1)
- (min score
+ (min (abs score)
(max gnus-score-decay-constant
(* (abs score)
gnus-score-decay-scale)))))))
Luc Van Eycken,
Sam Falkner,
Paul Franklin,
+Guy Geens,
Arne Georg Gleditsch,
David S. Goldberg,
D. Hall,
Jeff Sparkes,
Toby Speight,
Michael Sperber,
+Darren Stalder,
Richard Stallman,
Greg Stark,
Paul Stodghill,
\input texinfo @c -*-texinfo-*-
@setfilename message
-@settitle Message 5.4.55 Manual
+@settitle Message 5.4.56 Manual
@synindex fn cp
@synindex vr cp
@synindex pg cp
@tex
@titlepage
-@title Message 5.4.55 Manual
+@title Message 5.4.56 Manual
@author by Lars Magne Ingebrigtsen
@page
* Key Index:: List of Message mode keys.
@end menu
-This manual corresponds to Message 5.4.55. Message is distributed with
+This manual corresponds to Message 5.4.56. Message is distributed with
the Gnus distribution bearing the same version number as this manual
has.