+Wed Feb 11 15:05:03 1998 Lars Magne Ingebrigtsen <larsi@menja.ifi.uio.no>
+
+ * gnus.el: Quassia Gnus v0.24 is released.
+
+Tue Feb 10 21:59:53 1998 Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
+
+ * gnus-agent.el (gnus-agent-fetch-session): Reversed reversal.
+
+ * gnus-topic.el (gnus-topic-rename): Check whether the new name
+ exists.
+
+Tue Feb 10 21:39:47 1998 dave edmondson <dme@sco.com>
+
+ * message.el (message-font-lock-keywords): Allow : as a citation
+ ending.
+
+Tue Feb 10 20:09:02 1998 Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
+
+ * message.el (message-send): Removed dead code.
+
+Mon Feb 9 17:02:09 1998 Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
+
+ * message.el (message-fill-header): Fill to column 990.
+
+ * gnus-score.el (gnus-score-load-file): Exclude all excluded
+ files.
+
+Mon Feb 9 16:55:41 1998 jari aalto <jari.aalto@poboxes.com>
+
+ * gnus-art.el (gnus-article-time-format): Extended variable.
+
+Mon Feb 9 16:27:59 1998 Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
+
+ * gnus-art.el (article-make-date-line): Make 8601 Dates.
+ (article-date-iso8601): New command and keystroke.
+
+Sun Feb 8 21:19:15 1998 Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
+
+ * message.el (message-ignored-mail-headers): Remove Xrefs.
+
+ * nndoc.el (nndoc-open-document-hook): New variable.
+
+Sun Feb 8 21:01:33 1998 Istvan Marko <istvan@cmdmail.amd.com>
+
+ * gnus-agent.el (gnus-unplugged): Typo fix.
+
+Sun Feb 8 18:34:31 1998 Kurt Swanson <kurt@dna.lth.se>
+
+ * gnus-score.el (gnus-score-thread-simplify): New variable.
+
+Sun Feb 8 18:31:35 1998 Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
+
+ * gnus-uu.el (gnus-uu-post-encode-mime): Call mmencode with
+ correct params.
+
Sun Feb 8 18:13:58 1998 Lars Magne Ingebrigtsen <larsi@menja.ifi.uio.no>
* gnus.el: Quassia Gnus v0.23 is released.
(gnus-close-server (pop methods)))))
;;;###autoload
-(defun gnus-ungplugged ()
+(defun gnus-unplugged ()
"Start Gnus unplugged."
(interactive)
(setq gnus-plugged nil)
(save-excursion
(while methods
(setq gnus-command-method (car methods)
- groups (nreverse (gnus-groups-from-server (pop methods))))
+ groups (gnus-groups-from-server (pop methods)))
(gnus-agent-with-fetch
(while (setq group (pop groups))
(when (<= (gnus-group-level group) gnus-agent-handle-level)
(defcustom gnus-article-time-format "%a, %b %d %Y %T %Z"
"Format for display of Date headers in article bodies.
-See `format-time-string' for the possible values."
- :type 'string
+See `format-time-string' for the possible values.
+
+The variable can also be function, which should return a complete Date
+header. The function is called with one argument, the time, which can
+be fed to `format-time-string'."
+ :type '(choice string symbol)
:link '(custom-manual "(gnus)Article Date")
:group 'gnus-article-washing)
(concat "Date: " date))
;; Let the user define the format.
((eq type 'user)
+ (if (gnus-functionp gnus-article-time-format)
+ (funcall
+ gnus-article-time-format
+ (ignore-errors
+ (gnus-encode-date
+ (timezone-make-date-arpa-standard
+ date nil "UT"))))
+ (concat
+ "Date: "
+ (format-time-string gnus-article-time-format
+ (ignore-errors
+ (gnus-encode-date
+ (timezone-make-date-arpa-standard
+ date nil "UT")))))))
+ ;; ISO 8601.
+ ((eq type 'iso8601)
(concat
"Date: "
- (format-time-string gnus-article-time-format
+ (format-time-string "%Y%M%DT%h%m%s"
(ignore-errors
(gnus-encode-date
(timezone-make-date-arpa-standard
(interactive (list t))
(article-date-ut 'user highlight))
+(defun article-date-iso8601 (&optional highlight)
+ "Convert the current article date to ISO8601."
+ (interactive (list t))
+ (article-date-ut 'iso8601 highlight))
+
(defun article-show-all ()
"Show all hidden text in the article buffer."
(interactive)
article-strip-blank-lines
article-strip-all-blank-lines
article-date-local
+ article-date-iso8601
article-date-original
article-date-ut
article-date-user
(let ((group (gnus-group-group-name)))
(and group (list group))))))
+;;; !!!Surely gnus-group-iterate should be a macro instead? I can't
+;;; imagine why I went through these contortions...
(eval-and-compile
(let ((function (make-symbol "gnus-group-iterate-function"))
(window (make-symbol "gnus-group-iterate-window"))
-1;;; gnus-score.el --- scoring code for Gnus
+;;; gnus-score.el --- scoring code for Gnus
;; Copyright (C) 1995,96,97 Free Software Foundation, Inc.
;; Author: Per Abrahamsen <amanda@iesd.auc.dk>
:group 'gnus-score-files
:type 'function)
+(defcustom gnus-score-thread-simplify nil
+ "*If non-nil, subjects will simplified as in threading."
+ :group 'gnus-score-various
+ :type 'boolean)
+
\f
;; Internal variables.
;; We then expand any exclude-file directives.
(setq gnus-scores-exclude-files
(nconc
- (mapcar
- (lambda (sfile)
- (expand-file-name sfile (file-name-directory file)))
- exclude-files)
+ (apply
+ 'nconc
+ (mapcar
+ (lambda (sfile)
+ (list
+ (expand-file-name sfile (file-name-directory file))
+ (expand-file-name sfile gnus-kill-files-directory)))
+ exclude-files))
gnus-scores-exclude-files))
(unless local
(save-excursion
;; Insert the unique article headers in the buffer.
(let ((gnus-score-index (nth 1 (assoc header gnus-header-index)))
;; gnus-score-index is used as a free variable.
+ (simplify (and gnus-score-thread-simplify
+ (string= "subject" header)))
alike last this art entries alist articles
fuzzies arts words kill)
(erase-buffer)
(while (setq art (pop articles))
(setq this (aref (car art) gnus-score-index))
+ (if simplify
+ (setq this (gnus-map-function gnus-simplify-subject-functions this)))
(if (equal last this)
;; O(N*H) cons-cells used here, where H is the number of
;; headers.
entries (assoc header alist))
(while (cdr entries) ;First entry is the header index.
(let* ((kill (cadr entries))
- (match (nth 0 kill))
(type (or (nth 3 kill) 's))
(score (or (nth 1 kill) gnus-score-interactive-default-score))
(date (nth 2 kill))
(mt (aref (symbol-name type) 0))
(case-fold-search (not (memq mt '(?R ?S ?E ?F))))
(dmt (downcase mt))
+ ; Assume user already simplified regexp and fuzzies
+ (match (if (and simplify (not (memq dmt '(?f ?r))))
+ (gnus-map-function
+ gnus-simplify-subject-functions
+ (nth 0 kill))
+ (nth 0 kill)))
(search-func
(cond ((= dmt ?r) 're-search-forward)
((or (= dmt ?e) (= dmt ?s) (= dmt ?f)) 'search-forward)
but you won't be told how many unread articles there are in the
groups."
:group 'gnus-group-levels
- :type 'integer)
+ :type '(choice integer
+ (const :tag "none" nil)))
(defcustom gnus-save-newsrc-file t
"*Non-nil means that Gnus will save the `.newsrc' file.
"l" gnus-article-date-local
"e" gnus-article-date-lapsed
"o" gnus-article-date-original
+ "i" gnus-article-date-iso8601
"s" gnus-article-date-user)
(gnus-define-keys (gnus-summary-wash-empty-map "E" gnus-summary-wash-map)
["Citation" gnus-article-highlight-citation t])
("Date"
["Local" gnus-article-date-local t]
+ ["ISO8601" gnus-article-date-iso8601 t]
["UT" gnus-article-date-ut t]
["Original" gnus-article-date-original t]
["Lapsed" gnus-article-date-lapsed t]
(let ((topic (gnus-current-topic)))
(list topic
(read-string (format "Rename %s to: " topic)))))
+ ;; Check whether the new name exists.
+ (when (gnus-topic-find-topology new-name)
+ (error "Topic '%s' already exists"))
+ ;; Do the renaming.
(let ((top (gnus-topic-find-topology old-name))
(entry (assoc old-name gnus-topic-alist)))
(when top
;; Encodes with base64 and adds MIME headers
(defun gnus-uu-post-encode-mime (path file-name)
- (when (gnus-uu-post-encode-file "mmencode" path file-name)
+ (when (zerop (call-process shell-file-name nil t nil shell-command-switch
+ (format "%s %s -o %s" "mmencode" path file-name)))
(gnus-uu-post-make-mime file-name "base64")
t))
:link '(custom-manual "(gnus)Exiting Gnus")
:group 'gnus)
-(defconst gnus-version-number "0.23"
+(defconst gnus-version-number "0.24"
"Version number for this version of Gnus.")
(defconst gnus-version (format "Quassia Gnus v%s" gnus-version-number)
:group 'message-headers
:type 'regexp)
-(defcustom message-ignored-mail-headers "^[GF]cc:\\|^Resent-Fcc:"
+(defcustom message-ignored-mail-headers "^[GF]cc:\\|^Resent-Fcc:\\|^Xref:"
"*Regexp of headers to be removed unconditionally before mailing."
:group 'message-mail
:group 'message-headers
1 'message-separator-face)
(,(concat "^[ \t]*"
"\\([" cite-prefix "]+[" cite-suffix "]*\\)?"
- "[>|}].*")
+ "[:>|}].*")
(0 'message-cited-text-face))))
"Additional expressions to highlight in Message mode.")
the user from the mailer."
(interactive "P")
;; Disabled test.
- (when (if (and buffer-file-name
- nil)
- (y-or-n-p (format "Send buffer contents as %s message? "
- (if (message-mail-p)
- (if (message-news-p) "mail and news" "mail")
- "news")))
- (or (buffer-modified-p)
- (message-check-element 'unchanged)
- (y-or-n-p "No changes in the buffer; really send? ")))
+ (when (or (buffer-modified-p)
+ (message-check-element 'unchanged)
+ (y-or-n-p "No changes in the buffer; really send? "))
;; Make it possible to undo the coming changes.
(undo-boundary)
(let ((inhibit-read-only t))
(defun message-fill-header (header value)
(let ((begin (point))
- (fill-column 78)
+ (fill-column 990)
(fill-prefix "\t"))
(insert (capitalize (symbol-name header))
": "
+Mon Feb 9 16:30:30 1998 Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
+
+ * gnus.texi (Article Date): Addition.
+
Sun Feb 8 16:28:35 1998 Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
* gnus.texi (Newest Features): Addition.
\input texinfo @c -*-texinfo-*-
@setfilename gnus
-@settitle Quassia Gnus 0.23 Manual
+@settitle Quassia Gnus 0.24 Manual
@synindex fn cp
@synindex vr cp
@synindex pg cp
@tex
@titlepage
-@title Quassia Gnus 0.23 Manual
+@title Quassia Gnus 0.24 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.23.
+This manual corresponds to Quassia Gnus 0.24.
@end ifinfo
Display the date in UT (aka. GMT, aka ZULU)
(@code{gnus-article-date-ut}).
+@item W T i
+@kindex W T i (Summary)
+@findex gnus-article-date-iso8601
+@cindex ISO 8601
+Display the date in international format, aka. ISO 8601
+(@code{gnus-article-date-iso8601}).
+
@item W T l
@kindex W T l (Summary)
@findex gnus-article-date-local
@vindex gnus-score-after-write-file-function
Function called with the name of the score file just written.
+@item gnus-score-thread-simplify
+@vindex gnus-score-thread-simplify
+If this variable is non-@code{nil}, article subjects will be simplified
+for subject scoring purposes in the same manner as with
+threading---according to the current value of
+gnus-simplify-subject-functions. If the scoring entry uses
+@code{substring} or @code{exact} matching, the match will also be
+simplified in this manner.
+
@end table
current article.
@item
+Switch from initial text to the new default text mechanism.
+
+@item
Solve the halting problem.
@c TODO
\input texinfo @c -*-texinfo-*-
@setfilename message
-@settitle Message 0.23 Manual
+@settitle Message 0.24 Manual
@synindex fn cp
@synindex vr cp
@synindex pg cp
@tex
@titlepage
-@title Message 0.23 Manual
+@title Message 0.24 Manual
@author by Lars Magne Ingebrigtsen
@page
* Key Index:: List of Message mode keys.
@end menu
-This manual corresponds to Message 0.23. Message is distributed with
+This manual corresponds to Message 0.24. Message is distributed with
the Gnus distribution bearing the same version number as this manual
has.