0

这适用于emacs 25:

(setq custom-keymap (copy-keymap global-map))

(defun custom-def (keys func &optional file &optional global-p)
  (define-key custom-keymap keys func)
  (if global-p (global-set-key keys func))
  (if file (autoload func file "[custom autoload]" t)))

(custom-def [delete] 'delete-char)

但是当我调用custom-defemacs 26 时出现invalid-function错误。&optional我将它与参数隔离开来。我删除了这两个参数和custom-def作品。

那么 25 和 26 之间发生了什么变化?我在这里想念什么?我想要在 emacs 25 中工作的灵活 ARGLIST。

4

1 回答 1

3

在参数列表中只使用optional一次 - 以下参数都是可选的 [其他关键字也可以跟随 - 请参阅info(elisp) Functions ]。

(defun custom-def (keys func &optional file global-p)
  ;; ...
  )

[我不确定更改是什么 - 可能添加了重复的参数检查?]

于 2020-06-29T07:36:15.090 回答