From c178f27b6230f5e518f24595811080a64690e059 Mon Sep 17 00:00:00 2001 From: yamaoka Date: Thu, 14 Sep 2000 00:53:51 +0000 Subject: [PATCH] Synch with Gnus. * 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. --- ChangeLog | 7 +++++++ lisp/ChangeLog | 44 ++++++++++++++++++++++++++++++++++++++++++++ lisp/gnus-agent.el | 7 ++----- lisp/gnus-art.el | 2 ++ lisp/gnus-cache.el | 5 ++--- lisp/gnus-cus.el | 21 +++++++++++++++++++-- lisp/gnus-ems.el | 1 - lisp/gnus-kill.el | 1 + lisp/gnus-move.el | 1 + lisp/gnus-salt.el | 2 +- lisp/gnus-score.el | 2 ++ lisp/gnus-sum.el | 15 +++++++++++++-- lisp/gnus-util.el | 8 +++----- lisp/message.el | 12 ++++++------ lisp/mm-encode.el | 7 +++---- lisp/nnkiboze.el | 1 + lisp/nnmail.el | 3 +-- lisp/rfc1843.el | 2 +- lisp/uudecode.el | 18 +++++++++++------- 19 files changed, 120 insertions(+), 39 deletions(-) diff --git a/ChangeLog b/ChangeLog index e9a69e7..2b9cd5f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2000-09-14 Katsumi Yamaoka + + * 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 * lisp/smiley.el (smiley-buffer, smiley-create-glyph): Work with diff --git a/lisp/ChangeLog b/lisp/ChangeLog index bfacca5..9864d83 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,47 @@ +2000-09-13 16:59:33 ShengHuo ZHU + + * 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 + + * 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 + + * gnus-util.el (gnus-write-active-file): Bind + coding-system-for-write. + +2000-09-13 09:14:57 ShengHuo ZHU + + * 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 * gnus-sum.el (gnus-update-read-articles): Undo diff --git a/lisp/gnus-agent.el b/lisp/gnus-agent.el index 250f6f7..ad2c19a 100644 --- a/lisp/gnus-agent.el +++ b/lisp/gnus-agent.el @@ -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 diff --git a/lisp/gnus-art.el b/lisp/gnus-art.el index f8e8f77..1f5fe38 100644 --- a/lisp/gnus-art.el +++ b/lisp/gnus-art.el @@ -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'. diff --git a/lisp/gnus-cache.el b/lisp/gnus-cache.el index ef82715..8960580 100644 --- a/lisp/gnus-cache.el +++ b/lisp/gnus-cache.el @@ -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))) diff --git a/lisp/gnus-cus.el b/lisp/gnus-cus.el index 7af9c93..142049a 100644 --- a/lisp/gnus-cus.el +++ b/lisp/gnus-cus.el @@ -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 ;; 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) diff --git a/lisp/gnus-ems.el b/lisp/gnus-ems.el index 4b750dc..ac7c3e6 100644 --- a/lisp/gnus-ems.el +++ b/lisp/gnus-ems.el @@ -118,7 +118,6 @@ (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) diff --git a/lisp/gnus-kill.el b/lisp/gnus-kill.el index a5d17c0..4838ba8 100644 --- a/lisp/gnus-kill.el +++ b/lisp/gnus-kill.el @@ -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 diff --git a/lisp/gnus-move.el b/lisp/gnus-move.el index 8c0cc75..36839c8 100644 --- a/lisp/gnus-move.el +++ b/lisp/gnus-move.el @@ -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)) diff --git a/lisp/gnus-salt.el b/lisp/gnus-salt.el index 017294e..164be42 100644 --- a/lisp/gnus-salt.el +++ b/lisp/gnus-salt.el @@ -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) diff --git a/lisp/gnus-score.el b/lisp/gnus-score.el index 19c3b2c..2f44019 100644 --- a/lisp/gnus-score.el +++ b/lisp/gnus-score.el @@ -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 diff --git a/lisp/gnus-sum.el b/lisp/gnus-sum.el index f2dedc8..83d8b3d 100644 --- a/lisp/gnus-sum.el +++ b/lisp/gnus-sum.el @@ -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 diff --git a/lisp/gnus-util.el b/lisp/gnus-util.el index 7d4c417..2259f09 100644 --- a/lisp/gnus-util.el +++ b/lisp/gnus-util.el @@ -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) diff --git a/lisp/message.el b/lisp/message.el index f39e775..42d9085 100644 --- a/lisp/message.el +++ b/lisp/message.el @@ -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.") diff --git a/lisp/mm-encode.el b/lisp/mm-encode.el index 669df35..54e1bca 100644 --- a/lisp/mm-encode.el +++ b/lisp/mm-encode.el @@ -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)))) diff --git a/lisp/nnkiboze.el b/lisp/nnkiboze.el index 4648292..10c5a0c 100644 --- a/lisp/nnkiboze.el +++ b/lisp/nnkiboze.el @@ -186,6 +186,7 @@ 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)) diff --git a/lisp/nnmail.el b/lisp/nnmail.el index 6a3dcd9..cdf997e 100644 --- a/lisp/nnmail.el +++ b/lisp/nnmail.el @@ -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 diff --git a/lisp/rfc1843.el b/lisp/rfc1843.el index 7fb9736..7bc6e80 100644 --- a/lisp/rfc1843.el +++ b/lisp/rfc1843.el @@ -2,7 +2,7 @@ ;; Copyright (c) 1998, 1999, 2000 Free Software Foundation, Inc. ;; Author: Shenghuo Zhu -;; Keywords: news HZ HZ+ +;; Keywords: news HZ HZ+ mail i18n ;; This file is a part of GNU Emacs. diff --git a/lisp/uudecode.el b/lisp/uudecode.el index 7b709e2..19eb5ad 100644 --- a/lisp/uudecode.el +++ b/lisp/uudecode.el @@ -29,15 +29,19 @@ ;;; 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) -- 1.7.10.4