From 124a7c978a08d916a1cf14ff0a4b616cc87060e0 Mon Sep 17 00:00:00 2001 From: yamaoka Date: Thu, 1 Mar 2001 06:52:11 +0000 Subject: [PATCH] * gnus-vers.el (gnus-revision-number): Increment to 04. * gnus-group.el (gnus-group-make-shimbun-group): Simplified. * dgnushack.el: Load cl-macs to ensure that the macro `dolist' is defined properly. * nnwfm.el: Require `gnus-clfns' when compiling. * nnshimbun.el: Ditto. * mm-util.el: Ditto. * gnus-vers.el: Ditto. * gnus-score.el: Ditto. * gnus-nocem.el: Ditto. * gnus-ofsetup.el: Don't require `gnus-clfns'. (gnus-ofsetup-customize-done): Use `dolist' instead of `mapc'. (gnus-setup-for-offline): Ditto. * gnus-offline.el: Don't use `mapc' for binding some vars; don't require `gnus-clfns'. (gnus-offline-get-menu-items): Rewrite using `dolist'. * gnus-clfns.el (butlast): New compiler macro. (mapc): Remove. * gnus-art.el: Use `dolist' instead of `mapcar' for defining `gnus-article-read-summary-keys'. --- ChangeLog | 30 +++++++++++++++++++++++++++ lisp/base64.el | 2 +- lisp/dgnushack.el | 5 ++++- lisp/gnus-art.el | 35 +++++++++++++------------------ lisp/gnus-clfns.el | 42 ++++++++++++++++++++----------------- lisp/gnus-group.el | 24 ++++++++++------------ lisp/gnus-nocem.el | 1 + lisp/gnus-offline.el | 38 +++++++++++++++------------------- lisp/gnus-ofsetup.el | 56 ++++++++++++++++++++++---------------------------- lisp/gnus-score.el | 1 + lisp/gnus-vers.el | 7 +++++-- lisp/mm-util.el | 3 ++- lisp/nnshimbun.el | 1 + lisp/nnwfm.el | 1 + 14 files changed, 136 insertions(+), 110 deletions(-) diff --git a/ChangeLog b/ChangeLog index ed33c0b..3e62c7a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,33 @@ +2001-03-01 Katsumi Yamaoka + + * lisp/gnus-vers.el (gnus-revision-number): Increment to 04. + + * lisp/gnus-group.el (gnus-group-make-shimbun-group): Simplified. + + * lisp/dgnushack.el: Load cl-macs to ensure that the macro `dolist' + is defined properly. + + * lisp/nnwfm.el: Require `gnus-clfns' when compiling. + * lisp/nnshimbun.el: Ditto. + * lisp/mm-util.el: Ditto. + * lisp/gnus-vers.el: Ditto. + * lisp/gnus-score.el: Ditto. + * lisp/gnus-nocem.el: Ditto. + + * lisp/gnus-ofsetup.el: Don't require `gnus-clfns'. + (gnus-ofsetup-customize-done): Use `dolist' instead of `mapc'. + (gnus-setup-for-offline): Ditto. + + * lisp/gnus-offline.el: Don't use `mapc' for binding some vars; + don't require `gnus-clfns'. + (gnus-offline-get-menu-items): Rewrite using `dolist'. + + * lisp/gnus-clfns.el (butlast): New compiler macro. + (mapc): Remove. + + * lisp/gnus-art.el: Use `dolist' instead of `mapcar' for defining + `gnus-article-read-summary-keys'. + 2001-02-28 Katsumi Yamaoka * lisp/gnus-art.el (gnus-article-mime-edit-article-setup): Leave diff --git a/lisp/base64.el b/lisp/base64.el index 7754162..26415a2 100644 --- a/lisp/base64.el +++ b/lisp/base64.el @@ -1,5 +1,5 @@ ;;; base64.el --- Base64 encoding functions using MEL -;; Copyright (C) 2000 Free Software Foundation, Inc. +;; Copyright (C) 2000, 2001 Free Software Foundation, Inc. ;; Author: T-gnus development team ;; Keywords: extensions diff --git a/lisp/dgnushack.el b/lisp/dgnushack.el index 9646b49..b024635 100644 --- a/lisp/dgnushack.el +++ b/lisp/dgnushack.el @@ -1,5 +1,5 @@ ;;; dgnushack.el --- a hack to set the load path for byte-compiling -;; Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000 +;; Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 ;; Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen @@ -49,6 +49,9 @@ (defalias 'facep 'ignore) (require 'cl) +(unless (dolist (var nil t)) + ;; Override the macro `dolist' which might be defined in egg.el. + (load "cl-macs" nil t)) (defvar srcdir (or (getenv "srcdir") ".")) diff --git a/lisp/gnus-art.el b/lisp/gnus-art.el index d57807e..d3e7531 100644 --- a/lisp/gnus-art.el +++ b/lisp/gnus-art.el @@ -2839,27 +2839,20 @@ If variable `gnus-use-long-file-name' is non-nil, it is "\M-g" gnus-article-read-summary-keys) ;; Define almost undefined keys to `gnus-article-read-summary-keys'. -(mapcar - (lambda (key) - (unless (lookup-key gnus-article-mode-map key) - (define-key gnus-article-mode-map key - 'gnus-article-read-summary-keys))) - (delq nil - (append - (mapcar - (lambda (elt) - (let ((key (car elt))) - (and (> (length key) 0) - (not (eq 'menu-bar (aref key 0))) - (symbolp (lookup-key gnus-summary-mode-map key)) - key))) - (accessible-keymaps gnus-summary-mode-map)) - (let ((c 127) - keys) - (while (>= c 32) - (push (char-to-string c) keys) - (decf c)) - keys)))) +(let (keys) + (let ((key 32)) + (while (<= key 127) + (push (char-to-string key) keys) + (incf key)) + (dolist (elem (accessible-keymaps gnus-summary-mode-map)) + (setq key (car elem)) + (when (and (> (length key) 0) + (not (eq 'menu-bar (aref key 0))) + (symbolp (lookup-key gnus-summary-mode-map key))) + (push key keys)))) + (dolist (key keys) + (unless (lookup-key gnus-article-mode-map key) + (define-key gnus-article-mode-map key 'gnus-article-read-summary-keys)))) (eval-when-compile (defvar gnus-article-commands-menu)) diff --git a/lisp/gnus-clfns.el b/lisp/gnus-clfns.el index 6fed527..9b28e89 100644 --- a/lisp/gnus-clfns.el +++ b/lisp/gnus-clfns.el @@ -1,5 +1,5 @@ ;;; gnus-clfns.el --- compiler macros for emulating cl functions -;; Copyright (C) 2000 Free Software Foundation, Inc. +;; Copyright (C) 2000, 2001 Free Software Foundation, Inc. ;; Author: Kastsumi Yamaoka ;; Keywords: cl, compile @@ -31,6 +31,28 @@ nil (require 'cl) + (define-compiler-macro butlast (&whole form x &optional n) + (if (and (fboundp 'butlast) + (subrp (symbol-function 'butlast))) + form + (if n + `(let ((x ,x) + (n ,n)) + (if (and n (<= n 0)) + x + (let ((m (length x))) + (or n (setq n 1)) + (and (< n m) + (progn + (if (> n 0) (setcdr (nthcdr (- (1- m) n) x) nil)) + x))))) + `(let* ((x ,x) + (m (length x))) + (and (< 1 m) + (progn + (setcdr (nthcdr (- m 2) x) nil) + x)))))) + (define-compiler-macro last (&whole form x &optional n) (if (and (fboundp 'last) (subrp (symbol-function 'last))) @@ -52,24 +74,6 @@ (while (consp (cdr x)) (pop x)) x)))) - - (define-compiler-macro mapc (&whole form fn seq &rest rest) - (if (and (fboundp 'mapc) - (subrp (symbol-function 'mapc))) - form - (if rest - `(let* ((fn ,fn) - (seq ,seq) - (args (list seq ,@rest)) - (m (apply (function min) (mapcar (function length) args))) - (n 0)) - (while (< n m) - (apply fn (mapcar (function (lambda (arg) (nth n arg))) args)) - (setq n (1+ n))) - seq) - `(let ((seq ,seq)) - (mapcar ,fn seq) - seq)))) ) (provide 'gnus-clfns) diff --git a/lisp/gnus-group.el b/lisp/gnus-group.el index ea8c255..bb81c1c 100644 --- a/lisp/gnus-group.el +++ b/lisp/gnus-group.el @@ -1,5 +1,5 @@ ;;; gnus-group.el --- group mode commands for Gnus -;; Copyright (C) 1996, 1997, 1998, 1999, 2000 +;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 ;; Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen @@ -2302,22 +2302,20 @@ If SOLID (the prefix), create a solid group." (require 'nnshimbun) (let* ((minibuffer-setup-hook (append minibuffer-setup-hook '(beginning-of-line))) - (server (completing-read - "Shimbun address: " - (mapcar (lambda (elem) (list (car elem))) - nnshimbun-type-definition) - nil t - (or (car gnus-group-shimbun-server-history) - (caar nnshimbun-type-definition)) - 'gnus-group-shimbun-server-history)) + (server (completing-read "Shimbun address: " + nnshimbun-type-definition nil t + (or (car gnus-group-shimbun-server-history) + (caar nnshimbun-type-definition)) + 'gnus-group-shimbun-server-history)) (group (completing-read "Group name: " - (mapcar (lambda (elem) (list elem)) - (cdr (assq 'groups - (cdr (assoc server nnshimbun-type-definition))))) + (mapcar + 'list + (cdr (assq 'groups + (cdr (assoc server nnshimbun-type-definition))))) nil t nil)) (nnshimbun-pre-fetch-article nil)) - (gnus-group-make-group group `(nnshimbun ,server)))) + (gnus-group-make-group group (list 'nnshimbun server)))) (defun gnus-group-make-archive-group (&optional all) "Create the (ding) Gnus archive group of the most recent articles. diff --git a/lisp/gnus-nocem.el b/lisp/gnus-nocem.el index 1e6207d..6d196b4 100644 --- a/lisp/gnus-nocem.el +++ b/lisp/gnus-nocem.el @@ -27,6 +27,7 @@ ;;; Code: (eval-when-compile (require 'cl)) +(eval-when-compile (require 'gnus-clfns)) (require 'gnus) (require 'nnmail) diff --git a/lisp/gnus-offline.el b/lisp/gnus-offline.el index 63e6c74..0e4d1a2 100644 --- a/lisp/gnus-offline.el +++ b/lisp/gnus-offline.el @@ -1,7 +1,7 @@ ;;; gnus-offline.el --- To process mail & news at offline environment. -;;; Copyright (C) 1998 Tatsuya Ichikawa -;;; Yukihiro Ito +;;; Copyright (C) 1998, 2001 Tatsuya Ichikawa +;;; Copyright (C) 1998, 2001 Yukihiro Ito ;;; Author: Tatsuya Ichikawa ;;; Yukihiro Ito ;;; Hidekazu Nakamura @@ -78,7 +78,6 @@ (eval '(run-hooks 'gnus-offline-load-hook)) (eval-when-compile (require 'cl)) -(eval-when-compile (require 'gnus-clfns)) (eval-when-compile (require 'static) @@ -110,17 +109,11 @@ gnus-offline-version-number)) (eval-when-compile - (mapc - (lambda (symbol) - (unless (boundp symbol) - (make-local-variable symbol) - (eval (list 'setq symbol nil)))) - '(nnagent-version - nnspool-version - msspool-news-server - msspool-news-service - miee-popup-menu - gnus-group-toolbar))) + (defvar nnagent-version) + (defvar nnspool-version) + (defvar msspool-news-server) + (defvar msspool-news-service) + (defvar miee-popup-menu)) (if (featurep 'meadow) (define-process-argument-editing "/hang\\.exe\\'" @@ -889,13 +882,16 @@ Please check your .emacs or .gnus.el to work nnspool fine.") (funcall func)))))) (defun gnus-offline-get-menu-items (list) - (mapcar - #'(lambda (el) - (if (listp el) - (apply 'vector - (cons (gnus-offline-gettext (car el)) (cdr el))) - el)) - list)) + (let (result) + (dolist (elem list) + (setq result + (nconc result + (list (if (listp elem) + (progn + (setcar elem (gnus-offline-gettext (car elem))) + (vconcat elem)) + elem))))) + result)) (defvar gnus-offline-menu (gnus-offline-get-menu-items diff --git a/lisp/gnus-ofsetup.el b/lisp/gnus-ofsetup.el index a10a275..15a3eeb 100644 --- a/lisp/gnus-ofsetup.el +++ b/lisp/gnus-ofsetup.el @@ -1,6 +1,6 @@ ;;; gnus-ofsetup.el --- Setup advisor for Offline reading for Mail/News. -;; Copyright (C) 1998 Tatsuya Ichikawa +;; Copyright (C) 1998, 2001 Tatsuya Ichikawa ;; Author: Tatsuya Ichikawa ;; Tsukamoto Tetsuo @@ -34,7 +34,6 @@ ;;; Code: (eval-when-compile (require 'cl)) -(eval-when-compile (require 'gnus-clfns)) (require 'read-passwd) @@ -526,17 +525,13 @@ mail source specifier とか上記のようなキーワードについてもっとよく (format "<%d of %d> %s" j n (gnus-ofsetup-gettext 'setup-21))))) ;; Now set a mail source specifier. - (setq source `(,type)) - (mapc - #'(lambda (sym) - (when (symbol-value sym) - (setq source - (nconc source - (list - (make-symbol - (format ":%s" sym)) - (symbol-value sym)))))) - '(path user server authentication stream program)) + (setq source (list type)) + (let (value) + (dolist (symbol '(path user server authentication stream program)) + (when (setq value (symbol-value symbol)) + (setq source (nconc source + (list (make-symbol (format ":%s" symbol)) + value)))))) (setq mail-source (nconc mail-source (list source)))) (setq i (1- i))) (setq save-passwd @@ -715,24 +710,23 @@ mail source specifier とか上記のようなキーワードについてもっとよく t))) (if (null params) (gnus-message 4 (gnus-ofsetup-gettext 'customize-done-1)) - (mapc #'(lambda (el) - (let ((sym (car el)) - (val (cdr el))) - (set sym val) - (cond ((eq sym 'news-method) - (if (eq val 'nnspool) - (setq use-miee t))) - ((eq sym 'drafts-queue-type) - (setq use-miee - (if (eq val 'miee) t nil))) - ((eq sym 'save-passwd) - (if val - (add-to-list 'gnus-variable-list - 'mail-source-password-cache) - (setq gnus-variable-list - (delq 'mail-source-password-cache - gnus-variable-list))))))) - params) + (let (symbol value) + (dolist (elem params) + (setq symbol (car elem) + value (cdr elem)) + (set symbol value) + (cond ((eq symbol 'news-method) + (if (eq value 'nnspool) + (setq use-miee t))) + ((eq symbol 'drafts-queue-type) + (setq use-miee (eq value 'miee))) + ((eq symbol 'save-passwd) + (if value + (add-to-list 'gnus-variable-list + 'mail-source-password-cache) + (setq gnus-variable-list + (delq 'mail-source-password-cache + gnus-variable-list))))))) (if (and (eq news-method 'nnspool) (not (eq drafts-queue-type 'miee))) (error (gnus-ofsetup-gettext 'customize-done-2))) diff --git a/lisp/gnus-score.el b/lisp/gnus-score.el index c1131db..43e688b 100644 --- a/lisp/gnus-score.el +++ b/lisp/gnus-score.el @@ -28,6 +28,7 @@ ;;; Code: (eval-when-compile (require 'cl)) +(eval-when-compile (require 'gnus-clfns)) (require 'gnus) (require 'gnus-sum) diff --git a/lisp/gnus-vers.el b/lisp/gnus-vers.el index b11c348..c77bae4 100644 --- a/lisp/gnus-vers.el +++ b/lisp/gnus-vers.el @@ -1,6 +1,6 @@ ;;; gnus-vers.el --- Declare gnus version. -;; Copyright (C) 2000 Free Software Foundation, Inc. +;; Copyright (C) 2000, 2001 Free Software Foundation, Inc. ;; Author: Keiichi Suzuki ;; Katsumi Yamaoka @@ -27,11 +27,14 @@ ;;; Code: +(eval-when-compile (require 'cl)) +(eval-when-compile (require 'gnus-clfns)) + (require 'poe) (require 'product) (provide 'gnus-vers) -(defconst gnus-revision-number "03" +(defconst gnus-revision-number "04" "Revision number for this version of gnus.") ;; Product information of this gnus. diff --git a/lisp/mm-util.el b/lisp/mm-util.el index c1e1c53..8a0264b 100644 --- a/lisp/mm-util.el +++ b/lisp/mm-util.el @@ -24,9 +24,10 @@ ;;; Code: +(eval-when-compile (require 'cl)) +(eval-when-compile (require 'gnus-clfns)) (eval-when-compile (require 'static)) -(eval-when-compile (require 'cl)) (require 'mail-prsvr) (defvar mm-mime-mule-charset-alist diff --git a/lisp/nnshimbun.el b/lisp/nnshimbun.el index b58d3f0..dfb6939 100644 --- a/lisp/nnshimbun.el +++ b/lisp/nnshimbun.el @@ -33,6 +33,7 @@ (gnus-declare-backend "nnshimbun" 'address) (eval-when-compile (require 'cl)) +(eval-when-compile (require 'gnus-clfns)) (eval-when-compile (require 'static)) (require 'nnheader) diff --git a/lisp/nnwfm.el b/lisp/nnwfm.el index 130c689..99eb421 100644 --- a/lisp/nnwfm.el +++ b/lisp/nnwfm.el @@ -29,6 +29,7 @@ ;;; Code: (eval-when-compile (require 'cl)) +(eval-when-compile (require 'gnus-clfns)) (require 'nnoo) (require 'message) -- 1.7.10.4