From 84c62a1b68d198aafbf51cf70607009f7623ab60 Mon Sep 17 00:00:00 2001 From: shuhei-k Date: Wed, 11 Feb 1998 18:33:43 +0000 Subject: [PATCH] Importing qgnus-0.24 --- lisp/ChangeLog | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++ lisp/gnus-agent.el | 4 ++-- lisp/gnus-art.el | 32 +++++++++++++++++++++++++++--- lisp/gnus-group.el | 2 ++ lisp/gnus-score.el | 30 ++++++++++++++++++++++------ lisp/gnus-start.el | 3 ++- lisp/gnus-sum.el | 2 ++ lisp/gnus-topic.el | 4 ++++ lisp/gnus-uu.el | 3 ++- lisp/gnus.el | 2 +- lisp/message.el | 18 ++++++----------- texi/ChangeLog | 4 ++++ texi/gnus.texi | 25 +++++++++++++++++++++--- texi/message.texi | 6 +++--- 14 files changed, 158 insertions(+), 32 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 0deb694..05f5a16 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,58 @@ +Wed Feb 11 15:05:03 1998 Lars Magne Ingebrigtsen + + * gnus.el: Quassia Gnus v0.24 is released. + +Tue Feb 10 21:59:53 1998 Lars Magne Ingebrigtsen + + * 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 + + * message.el (message-font-lock-keywords): Allow : as a citation + ending. + +Tue Feb 10 20:09:02 1998 Lars Magne Ingebrigtsen + + * message.el (message-send): Removed dead code. + +Mon Feb 9 17:02:09 1998 Lars Magne Ingebrigtsen + + * 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 + + * gnus-art.el (gnus-article-time-format): Extended variable. + +Mon Feb 9 16:27:59 1998 Lars Magne Ingebrigtsen + + * 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 + + * 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 + + * gnus-agent.el (gnus-unplugged): Typo fix. + +Sun Feb 8 18:34:31 1998 Kurt Swanson + + * gnus-score.el (gnus-score-thread-simplify): New variable. + +Sun Feb 8 18:31:35 1998 Lars Magne Ingebrigtsen + + * gnus-uu.el (gnus-uu-post-encode-mime): Call mmencode with + correct params. + Sun Feb 8 18:13:58 1998 Lars Magne Ingebrigtsen * gnus.el: Quassia Gnus v0.23 is released. diff --git a/lisp/gnus-agent.el b/lisp/gnus-agent.el index a232493..ced29ef 100644 --- a/lisp/gnus-agent.el +++ b/lisp/gnus-agent.el @@ -254,7 +254,7 @@ (gnus-close-server (pop methods))))) ;;;###autoload -(defun gnus-ungplugged () +(defun gnus-unplugged () "Start Gnus unplugged." (interactive) (setq gnus-plugged nil) @@ -796,7 +796,7 @@ the actual number of articles toggled is returned." (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) diff --git a/lisp/gnus-art.el b/lisp/gnus-art.el index 3b71b8b..5fc5541 100644 --- a/lisp/gnus-art.el +++ b/lisp/gnus-art.el @@ -247,8 +247,12 @@ Esample: (_/*word*/_)." (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) @@ -1347,9 +1351,25 @@ how much time has lapsed since DATE." (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 @@ -1460,6 +1480,11 @@ This format is defined by the `gnus-article-time-format' variable." (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) @@ -1828,6 +1853,7 @@ If variable `gnus-use-long-file-name' is non-nil, it is article-strip-blank-lines article-strip-all-blank-lines article-date-local + article-date-iso8601 article-date-original article-date-ut article-date-user diff --git a/lisp/gnus-group.el b/lisp/gnus-group.el index badef71..fa20954 100644 --- a/lisp/gnus-group.el +++ b/lisp/gnus-group.el @@ -1446,6 +1446,8 @@ Take into consideration N (the prefix) and the list of marked groups." (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")) diff --git a/lisp/gnus-score.el b/lisp/gnus-score.el index 1226905..7c4a9f0 100644 --- a/lisp/gnus-score.el +++ b/lisp/gnus-score.el @@ -1,4 +1,4 @@ -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 @@ -372,6 +372,11 @@ If nil, the user will be asked for a duration." :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) + ;; Internal variables. @@ -1121,10 +1126,14 @@ SCORE is the score to add." ;; 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 @@ -1828,6 +1837,8 @@ SCORE is the score to add." ;; 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) @@ -1843,6 +1854,8 @@ SCORE is the score to add." (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. @@ -1868,7 +1881,6 @@ SCORE is the score to add." 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)) @@ -1876,6 +1888,12 @@ SCORE is the score to add." (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) diff --git a/lisp/gnus-start.el b/lisp/gnus-start.el index e56df0d..ab89649 100644 --- a/lisp/gnus-start.el +++ b/lisp/gnus-start.el @@ -194,7 +194,8 @@ might take a while. By setting this variable to nil, you'll save time, 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. diff --git a/lisp/gnus-sum.el b/lisp/gnus-sum.el index e6cfd03..22d54d6 100644 --- a/lisp/gnus-sum.el +++ b/lisp/gnus-sum.el @@ -1383,6 +1383,7 @@ increase the score of each group you read." "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) @@ -1584,6 +1585,7 @@ increase the score of each group you read." ["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] diff --git a/lisp/gnus-topic.el b/lisp/gnus-topic.el index f5a574c..3aed794 100644 --- a/lisp/gnus-topic.el +++ b/lisp/gnus-topic.el @@ -1250,6 +1250,10 @@ If COPYP, copy the groups instead." (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 diff --git a/lisp/gnus-uu.el b/lisp/gnus-uu.el index eeac01a..901560b 100644 --- a/lisp/gnus-uu.el +++ b/lisp/gnus-uu.el @@ -1840,7 +1840,8 @@ The user will be asked for a file name." ;; 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)) diff --git a/lisp/gnus.el b/lisp/gnus.el index 4adf935..3201236 100644 --- a/lisp/gnus.el +++ b/lisp/gnus.el @@ -246,7 +246,7 @@ is restarted, and sometimes reloaded." :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) diff --git a/lisp/message.el b/lisp/message.el index 93f1a96..9539701 100644 --- a/lisp/message.el +++ b/lisp/message.el @@ -204,7 +204,7 @@ included. Organization, Lines and X-Mailer are optional." :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 @@ -773,7 +773,7 @@ Defaults to `text-mode-abbrev-table'.") 1 'message-separator-face) (,(concat "^[ \t]*" "\\([" cite-prefix "]+[" cite-suffix "]*\\)?" - "[>|}].*") + "[:>|}].*") (0 'message-cited-text-face)))) "Additional expressions to highlight in Message mode.") @@ -1839,15 +1839,9 @@ Otherwise any failure is reported in a message back to 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)) @@ -2947,7 +2941,7 @@ Headers already prepared in the buffer are not modified." (defun message-fill-header (header value) (let ((begin (point)) - (fill-column 78) + (fill-column 990) (fill-prefix "\t")) (insert (capitalize (symbol-name header)) ": " diff --git a/texi/ChangeLog b/texi/ChangeLog index 47b54d8..022f635 100644 --- a/texi/ChangeLog +++ b/texi/ChangeLog @@ -1,3 +1,7 @@ +Mon Feb 9 16:30:30 1998 Lars Magne Ingebrigtsen + + * gnus.texi (Article Date): Addition. + Sun Feb 8 16:28:35 1998 Lars Magne Ingebrigtsen * gnus.texi (Newest Features): Addition. diff --git a/texi/gnus.texi b/texi/gnus.texi index ff84aed..560d5dc 100644 --- a/texi/gnus.texi +++ b/texi/gnus.texi @@ -1,7 +1,7 @@ \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 @@ -313,7 +313,7 @@ into another language, under the above conditions for modified versions. @tex @titlepage -@title Quassia Gnus 0.23 Manual +@title Quassia Gnus 0.24 Manual @author by Lars Magne Ingebrigtsen @page @@ -349,7 +349,7 @@ can be gotten by any nefarious means you can think of---@sc{nntp}, local 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 @@ -6523,6 +6523,13 @@ when the article was sent. 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 @@ -12030,6 +12037,15 @@ grim reaper. @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 @@ -17146,6 +17162,9 @@ the displayed version. current article. @item +Switch from initial text to the new default text mechanism. + +@item Solve the halting problem. @c TODO diff --git a/texi/message.texi b/texi/message.texi index cf72e5d..3c55f21 100644 --- a/texi/message.texi +++ b/texi/message.texi @@ -1,7 +1,7 @@ \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 @@ -39,7 +39,7 @@ into another language, under the above conditions for modified versions. @tex @titlepage -@title Message 0.23 Manual +@title Message 0.24 Manual @author by Lars Magne Ingebrigtsen @page @@ -80,7 +80,7 @@ Message mode buffers. * 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. -- 1.7.10.4