如题,在 Emacs 24 之前的 last-command-char
在 25 变成了 last-command-event
,导致 teco.el
无法在 25 以后的版本正常使用。
我想给 last-command-char
创建一个 alias 到 last-command-event
,但是 defalias
肯定不对,不知道各位有没有什么好办法。
主要是不想改太多源代码(源代码是02年的,那时候甚至 backquote 都没成为 Emacs Lisp 标准,也没用defalias
,而是用fset
)。
当然如果必须要改也没关系,
答案是 defvaralias
,如果是一个废弃的变量,可以用 define-obsolete-variable-alias
(如果你不知道自己在干什么,不要用这个宏)。
用例:
(defvaralias 'last-command-char 'last-command-event)
1 个赞
最好的方式是给 teco.el 提交 patch
这玩意是host在EmacsWiki上的(本体似乎在GH上)。 主要是我现在正在魔改,而且也没做好背锅的准备。
C-u C-h n 24.3 (view-emacs-news
) 说 last-command-char
在 24.3 被删掉,之前它就是 obsolete 状态。并且,last-command-event
不是一个很新的变量,至少从 Emacs 22.1 中就有了(我用 Mac 自动的 Emacs 看了下)。
2 个赞
好,我可以放心改了。