[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
function-max-args
- From: Katsumi Yamaoka <yamaoka@xxxxxxx>
- Date: Mon, 04 Mar 2002 15:08:59 +0900
- X-ml-name: emacs-w3m
- X-mail-count: 02868
すみません、つまらないことで恐縮ですが、新しい Mew が無い環境で
は mew-shimbun.el をコンパイルするときに mew-summary-ls に引数を
二個与えている部分で警告が出ます。この部分を
(dont-compile (mew-summary-ls newfld newfld))
にしてしまっても良いでしょうか?
;; (eval '(mew-summary-ls newfld newfld)) と同じ意味です。
おまけとして XEmacs にだけ存在する function-max-args という便利
な関数の FSF Emacs 版を作ってみました。
(w3m-function-max-args 'mew-summary-ls)
=> 1
白井さんの環境ではこれは 2 を返すのですよね。
(if (featurep 'xemacs)
(defalias 'w3m-function-max-args 'function-max-args)
(eval-and-compile
(require 'advice))
(defun w3m-function-max-args (function)
"Return the maximum number of arguments a function may be called with.
The function may be any form that can be passed to `funcall',
any special form, or any macro.
If the function takes an arbitrary number of arguments or is
a built-in special form, nil is returned."
(let ((arglist (ad-arglist (if (symbolp function)
(symbol-function function)
function))))
(if (memq '&rest arglist)
nil
(length (delq '&optional arglist))))))
--
Katsumi Yamaoka <yamaoka@jpl.org>