Importing qgnus-0.24
authorshuhei-k <shuhei-k>
Wed, 11 Feb 1998 18:33:43 +0000 (18:33 +0000)
committershuhei-k <shuhei-k>
Wed, 11 Feb 1998 18:33:43 +0000 (18:33 +0000)
14 files changed:
lisp/ChangeLog
lisp/gnus-agent.el
lisp/gnus-art.el
lisp/gnus-group.el
lisp/gnus-score.el
lisp/gnus-start.el
lisp/gnus-sum.el
lisp/gnus-topic.el
lisp/gnus-uu.el
lisp/gnus.el
lisp/message.el
texi/ChangeLog
texi/gnus.texi
texi/message.texi

index 0deb694..05f5a16 100644 (file)
@@ -1,3 +1,58 @@
+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.
index a232493..ced29ef 100644 (file)
       (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)
index 3b71b8b..5fc5541 100644 (file)
@@ -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
index badef71..fa20954 100644 (file)
@@ -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"))
index 1226905..7c4a9f0 100644 (file)
@@ -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 <amanda@iesd.auc.dk>
@@ -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) 
+
 \f
 
 ;; 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)
index e56df0d..ab89649 100644 (file)
@@ -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.
index e6cfd03..22d54d6 100644 (file)
@@ -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]
index f5a574c..3aed794 100644 (file)
@@ -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
index eeac01a..901560b 100644 (file)
@@ -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))
 
index 4adf935..3201236 100644 (file)
@@ -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)
index 93f1a96..9539701 100644 (file)
@@ -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))
            ": "
index 47b54d8..022f635 100644 (file)
@@ -1,3 +1,7 @@
+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.
index ff84aed..560d5dc 100644 (file)
@@ -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
index cf72e5d..3c55f21 100644 (file)
@@ -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.