Synch with Gnus.
authoryamaoka <yamaoka>
Thu, 14 Sep 2000 00:53:51 +0000 (00:53 +0000)
committeryamaoka <yamaoka>
Thu, 14 Sep 2000 00:53:51 +0000 (00:53 +0000)
* gnus-art.el (mime-button-mother-dispatcher): Bind.
* message.el: Require `reporter' for the function `define-mail-user-agent' when
Mule 2.3 is running.

19 files changed:
ChangeLog
lisp/ChangeLog
lisp/gnus-agent.el
lisp/gnus-art.el
lisp/gnus-cache.el
lisp/gnus-cus.el
lisp/gnus-ems.el
lisp/gnus-kill.el
lisp/gnus-move.el
lisp/gnus-salt.el
lisp/gnus-score.el
lisp/gnus-sum.el
lisp/gnus-util.el
lisp/message.el
lisp/mm-encode.el
lisp/nnkiboze.el
lisp/nnmail.el
lisp/rfc1843.el
lisp/uudecode.el

index e9a69e7..2b9cd5f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2000-09-14  Katsumi Yamaoka <yamaoka@jpl.org>
+
+       * lisp/gnus-art.el (mime-button-mother-dispatcher): Bind.
+
+       * lisp/message.el: Require `reporter' for the function
+       `define-mail-user-agent' when Mule 2.3 is running.
+
 2000-09-07  Tadashi Watanabe  <watanabe@sigmaitec.co.jp>
 
        * lisp/smiley.el (smiley-buffer, smiley-create-glyph): Work with
index bfacca5..9864d83 100644 (file)
@@ -1,3 +1,47 @@
+2000-09-13 16:59:33  ShengHuo ZHU  <zsh@cs.rochester.edu>
+
+       * gnus-sum.el (gnus-summary-sort): Sort loose threads too.
+       (gnus-sort-threads-1): New function. Sort threads recursively.
+       (gnus-sort-threads): Use it.
+       (gnus-sort-gathered-threads): Doc fix.
+
+2000-09-13  Dave Love  <fx@gnu.org>
+
+       * gnus-salt.el (gnus-binary-mode): Fix call to gnus-add-minor-mode.
+
+       * gnus-ems.el (gnus-ems-redefine): Don't alias
+       gnus-summary-set-display-table.
+
+       * message.el (message-user-agent): Don't wrap ignore-errors around
+       it.
+
+       * mm-encode.el (mm-insert-multipart-headers): Avoid redundant
+       `format'.
+       (mm-content-transfer-encoding): Don't use cadar.
+
+       * uudecode.el (uudecode-decoder-program) 
+       (uudecode-decoder-switches): Customize.
+
+       * gnus-score.el (gnus-home-score-file): Improve custom type.
+
+       * gnus-cus.el (gnus-custom-mode): Conditionally set local
+       variables for Emacs 21.
+       (gnus-group-customize): Disable undo while laying out the buffer.
+
+2000-09-13 09:38:26  ShengHuo ZHU  <zsh@cs.rochester.edu>
+
+       * gnus-util.el (gnus-write-active-file): Bind
+       coding-system-for-write.
+
+2000-09-13 09:14:57  ShengHuo ZHU  <zsh@cs.rochester.edu>
+
+       * nnmail.el (nnmail-get-new-mail): Don't test nnmail-spool-file.
+       
+       * gnus-cache.el (gnus-jog-cache): Temporarily disable mail-sources.
+       * gnus-kill.el (gnus-batch-score): Ditto.
+       * gnus-move.el (gnus-change-server): Ditto.
+       * nnkiboze.el (nnkiboze-generate-groups): Ditto.
+
 2000-09-12  Simon Josefsson  <simon@josefsson.org>
 
        * gnus-sum.el (gnus-update-read-articles): Undo
index 250f6f7..ad2c19a 100644 (file)
@@ -632,8 +632,7 @@ the actual number of articles toggled is returned."
     (gnus-make-directory (file-name-directory file))
     ;; The hashtable contains real names of groups,  no more prefix
     ;; removing, so set `full' to `t'.
-    (gnus-write-active-file-as-coding-system gnus-agent-file-coding-system
-                                            file orig t)))
+    (gnus-write-active-file file orig t)))
 
 (defun gnus-agent-save-groups (method)
   (gnus-agent-save-active-1 method 'gnus-groups-to-gnus-format))
@@ -1650,9 +1649,7 @@ The following commands are available:
                (gnus-delete-line))
              (gnus-agent-save-history)
              (gnus-agent-close-history)
-             (gnus-write-active-file-as-coding-system
-              gnus-agent-file-coding-system
-              (gnus-agent-lib-file "active") orig))
+             (gnus-write-active-file (gnus-agent-lib-file "active") orig))
            (gnus-message 4 "Expiry...done")))))))
 
 ;;;###autoload
index f8e8f77..1f5fe38 100644 (file)
@@ -2891,6 +2891,8 @@ commands:
 ;;; @@ article filters
 ;;;
 
+(defvar mime-button-mother-dispatcher)
+
 (defun gnus-article-display-mime-message ()
   "Article display method for MIME message."
   ;; called from `gnus-original-article-buffer'.
index ef82715..8960580 100644 (file)
@@ -650,6 +650,7 @@ $ emacs -batch -l ~/.emacs -l gnus -f gnus-jog-cache"
   (let ((gnus-mark-article-hook nil)
        (gnus-expert-user t)
        (nnmail-spool-file nil)
+       (mail-sources nil)
        (gnus-use-dribble-file nil)
        (gnus-novice-user nil)
        (gnus-large-newsgroup nil))
@@ -690,9 +691,7 @@ $ emacs -batch -l ~/.emacs -l gnus -f gnus-jog-cache"
   (when (or force
            (and gnus-cache-active-hashtb
                 gnus-cache-active-altered))
-    (gnus-write-active-file-as-coding-system
-     gnus-cache-write-file-coding-system
-     gnus-cache-active-file gnus-cache-active-hashtb t)
+    (gnus-write-active-file gnus-cache-active-file gnus-cache-active-hashtb t)
     ;; Mark the active hashtb as unaltered.
     (setq gnus-cache-active-altered nil)))
 
index 7af9c93..142049a 100644 (file)
@@ -1,6 +1,6 @@
 ;;; gnus-cus.el --- customization commands for Gnus
 ;;
-;; Copyright (C) 1996,1999 Free Software Foundation, Inc.
+;; Copyright (C) 1996,1999, 2000 Free Software Foundation, Inc.
 
 ;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
 ;; Keywords: news
@@ -52,6 +52,21 @@ if that value is non-nil."
   (setq major-mode 'gnus-custom-mode
        mode-name "Gnus Customize")
   (use-local-map widget-keymap)
+  ;; Emacs 21 stuff:
+  (when (and (facep 'custom-button-face)
+            (facep 'custom-button-pressed-face))
+    (set (make-local-variable 'widget-button-face)
+        'custom-button-face)
+    (set (make-local-variable 'widget-button-pressed-face)
+        'custom-button-pressed-face)
+    (set (make-local-variable 'widget-mouse-face)
+        'custom-button-pressed-face))
+  (when (and (boundp 'custom-raised-buttons)
+            (symbol-value 'custom-raised-buttons))
+    (set (make-local-variable 'widget-push-button-prefix) "")
+    (set (make-local-variable 'widget-push-button-suffix) "")
+    (set (make-local-variable 'widget-link-prefix) "")
+    (set (make-local-variable 'widget-link-suffix) ""))
   (gnus-run-hooks 'gnus-custom-mode-hook))
 
 ;;; Group Customization:
@@ -137,7 +152,7 @@ listserv has inserted `Reply-To' headers that point back to the
 listserv itself.  This is broken behavior.  So there!")
 
     (to-group (string :tag "To Group") "\
-All posts will be send to the specified group.")
+All posts will be sent to the specified group.")
 
     (gcc-self (choice :tag  "GCC"
                      :value t
@@ -305,6 +320,7 @@ DOC is a documentation string for the parameter.")
     (setq gnus-custom-group group)
     (make-local-variable 'gnus-custom-topic)
     (setq gnus-custom-topic topic)
+    (buffer-disable-undo)
     (widget-insert "Customize the ")
     (if group
        (widget-create 'info-link
@@ -375,6 +391,7 @@ form, but who cares?"
                           :value (gnus-info-method info))))
     (use-local-map widget-keymap)
     (widget-setup)
+    (buffer-enable-undo)
     (goto-char (point-min))))
 
 (defun gnus-group-customize-done (&rest ignore)
index 4b750dc..ac7c3e6 100644 (file)
 
     (defvar gnus-summary-display-table nil
       "Display table used in summary mode buffers.")
-    (defalias 'gnus-summary-set-display-table (lambda ()))
 
     (if (fboundp 'truncate-string-to-width)
        (fset 'gnus-truncate-string 'truncate-string-to-width)
index a5d17c0..4838ba8 100644 (file)
@@ -685,6 +685,7 @@ Usage: emacs -batch -l ~/.emacs -l gnus -f gnus-batch-score"
                   (mapconcat 'identity command-line-args-left " "))))
         (gnus-expert-user t)
         (nnmail-spool-file nil)
+        (mail-sources nil)
         (gnus-use-dribble-file nil)
         (gnus-batch-mode t)
         info group newsrc entry
index 8c0cc75..36839c8 100644 (file)
@@ -46,6 +46,7 @@ Update the .newsrc.eld file to reflect the change of nntp server."
 
   ;; First start Gnus.
   (let ((gnus-activate-level 0)
+       (mail-sources nil)
        (nnmail-spool-file nil))
     (gnus))
 
index 017294e..164be42 100644 (file)
@@ -354,7 +354,7 @@ This must be bound to a button-down mouse event."
       (when (gnus-visual-p 'binary-menu 'menu)
        (gnus-binary-make-menu-bar))
       (gnus-add-minor-mode 'gnus-binary-mode " Binary"
-                          gnus-binary-mode-map nil 'gnus-binary-mode-map)
+                          gnus-binary-mode-map nil 'gnus-binary-mode)
       (gnus-run-hooks 'gnus-binary-mode-hook))))
 
 (defun gnus-binary-display-article (article &optional all-header)
index 19c3b2c..2f44019 100644 (file)
@@ -201,6 +201,8 @@ It can be:
                 (repeat (choice string
                                 (cons regexp (repeat file))
                                 (function :value fun)))
+                (function-item gnus-hierarchial-home-score-file)
+                (function-item gnus-current-home-score-file)
                 (function :value fun)))
 
 (defcustom gnus-home-adapt-file nil
index f2dedc8..83d8b3d 100644 (file)
@@ -3097,7 +3097,7 @@ If SHOW-ALL is non-nil, already read articles are also listed."
     result))
 
 (defun gnus-sort-gathered-threads (threads)
-  "Sort subtreads inside each gathered thread by article number."
+  "Sort subtreads inside each gathered thread by `gnus-sort-gathered-threads-function'."
   (let ((result threads))
     (while threads
       (when (stringp (caar threads))
@@ -3665,13 +3665,22 @@ If LINE, insert the rebuilt thread starting on line LINE."
              (1+ (gnus-point-at-eol))
            (gnus-delete-line)))))))
 
+(defun gnus-sort-threads-1 (threads func)
+  (sort (mapcar (lambda (thread)
+                 (cons (car thread)
+                       (and (cdr thread)
+                            (gnus-sort-threads-1 (cdr thread) func))))
+               threads) func))
+
 (defun gnus-sort-threads (threads)
   "Sort THREADS."
   (if (not gnus-thread-sort-functions)
       threads
     (gnus-message 8 "Sorting threads...")
     (prog1
-       (sort threads (gnus-make-sort-function gnus-thread-sort-functions))
+       (gnus-sort-threads-1 
+        threads 
+        (gnus-make-sort-function gnus-thread-sort-functions))
       (gnus-message 8 "Sorting threads...done"))))
 
 (defun gnus-sort-articles (articles)
@@ -9090,6 +9099,8 @@ Argument REVERSE means reverse order."
              thread
            `(lambda (t1 t2)
               (,thread t2 t1))))
+        (gnus-sort-gathered-threads-function
+         gnus-thread-sort-functions)
         (gnus-article-sort-functions
          (if (not reverse)
              article
index 7d4c417..2259f09 100644 (file)
@@ -1011,11 +1011,9 @@ Entries without port tokens default to DEFAULTPORT."
        (throw 'found nil)))
     t))
 
-(defun gnus-write-active-file-as-coding-system (coding-system file hashtb
-                                                             &optional
-                                                             full-names)
-  (let ((output-coding-system coding-system)
-       (coding-system-for-write coding-system))
+(defun gnus-write-active-file (file hashtb &optional full-names)
+  (let ((output-coding-system nnmail-active-file-coding-system)
+       (coding-system-for-write nnmail-active-file-coding-system))
     (with-temp-file file
       (mapatoms
        (lambda (sym)
index f39e775..42d9085 100644 (file)
@@ -803,13 +803,13 @@ actually occur."
 (defvar message-user-agent nil
   "String of the form of PRODUCT/VERSION.  Used for User-Agent header field.")
 
-;; Ignore errors in case this is used in Emacs 19.
-;; Don't use ignore-errors because this is copied into loaddefs.el.
+(static-when (boundp 'MULE)
+  (require 'reporter));; `define-mail-user-agent' is here.
+
 ;;;###autoload
-(ignore-errors
-  (define-mail-user-agent 'message-user-agent
-    'message-mail 'message-send-and-exit
-    'message-kill-buffer 'message-send-hook))
+(define-mail-user-agent 'message-user-agent
+  'message-mail 'message-send-and-exit
+  'message-kill-buffer 'message-send-hook)
 
 (defvar message-mh-deletable-headers '(Message-ID Date Lines Sender)
   "If non-nil, delete the deletable headers before feeding to mh.")
index 669df35..54e1bca 100644 (file)
@@ -62,8 +62,7 @@ This variable should never be set directly, but bound before a call to
   "Insert multipart/mixed headers."
   (let ((boundary "=-=-="))
     (insert "MIME-Version: 1.0\n")
-    (insert (format "Content-Type: multipart/mixed; boundary=\"%s\"\n"
-                   boundary))
+    (insert "Content-Type: multipart/mixed; boundary=\"" boundary "\"\n")
     boundary))
 
 (defun mm-default-file-encoding (file)
@@ -142,9 +141,9 @@ The encoding used is returned."
        (when (string-match (caar rules) type)
          (throw 'found
                 (let ((encoding 
-                       (if (eq (cadar rules) 'qp-or-base64)
+                       (if (eq (cadr (car rules)) 'qp-or-base64)
                            (mm-qp-or-base64)
-                         (cadar rules))))
+                         (cadr (car rules)))))
                   (if mm-use-ultra-safe-encoding
                       (mm-safer-encoding encoding)
                     encoding))))
index 4648292..10c5a0c 100644 (file)
 Finds out what articles are to be part of the nnkiboze groups."
   (interactive)
   (let ((nnmail-spool-file nil)
+       (mail-sources nil)
        (gnus-use-dribble-file nil)
        (gnus-read-active-file t)
        (gnus-expert-user t))
index 6a3dcd9..cdf997e 100644 (file)
@@ -1523,8 +1523,7 @@ See the documentation for the variable `nnmail-split-fancy' for documentation."
         (new 0)
         (total 0)
         incoming incomings source)
-    (when (and (nnmail-get-value "%s-get-new-mail" method)
-              sources)
+    (when (nnmail-get-value "%s-get-new-mail" method)
       (while (setq source (pop sources))
        ;; Be compatible with old values.
        (cond
index 7fb9736..7bc6e80 100644 (file)
@@ -2,7 +2,7 @@
 ;; Copyright (c) 1998, 1999, 2000 Free Software Foundation, Inc.
 
 ;; Author: Shenghuo Zhu <zsh@cs.rochester.edu>
-;; Keywords: news HZ HZ+
+;; Keywords: news HZ HZ+ mail i18n
 
 ;; This file is a part of GNU Emacs.
 
index 7b709e2..19eb5ad 100644 (file)
 ;;; Code:
 
 (if (not (fboundp 'char-int))
-    (fset 'char-int 'identity))
+    (defalias 'char-int 'identity))
 
-(defvar uudecode-decoder-program "uudecode"
+(defcustom uudecode-decoder-program "uudecode"
   "*Non-nil value should be a string that names a uu decoder.
 The program should expect to read uu data on its standard
-input and write the converted data to its standard output.")
+input and write the converted data to its standard output."
+  :type 'string
+  :group 'gnus-extract)
 
-(defvar uudecode-decoder-switches nil
-  "*List of command line flags passed to the command named by uudecode-decoder-program.")
+(defcustom uudecode-decoder-switches nil
+  "*List of command line flags passed to `uudecode-decoder-program'."
+  :group 'gnus-extract
+  :type '(repeat string))
 
 (defconst uudecode-alphabet "\040-\140")
 
@@ -57,7 +61,7 @@ input and write the converted data to its standard output.")
 
 ;;;###autoload
 (defun uudecode-decode-region-external (start end &optional file-name)
-  "uudecode region between START and END with external decoder.
+  "Uudecode region between START and END with external decoder.
 
 If FILE-NAME is non-nil, save the result to FILE-NAME."
   (interactive "r\nP")
@@ -118,7 +122,7 @@ If FILE-NAME is non-nil, save the result to FILE-NAME."
 ;;;###autoload
 
 (defun uudecode-decode-region (start end &optional file-name)
-  "uudecode region between START and END.
+  "Uudecode region between START and END.
 If FILE-NAME is non-nil, save the result to FILE-NAME."
   (interactive "r\nP")
   (let ((work-buffer nil)