我使用undo-tree
0.6.5(来自Elpa),并且在大多数情况下效果很好。但是,如果尚未在缓冲区上调用C-x-u
,则从该缓冲区我无法打开新框架。如果我做C-x-5-2
,Emacs会打开` Backtrace 缓冲区:
Debugger entered--Lisp error: (wrong-type-argument undo-tree nil)
signal(wrong-type-argument (undo-tree nil))
undo-tree-current(nil)
(undo-tree-node-previous (undo-tree-current buffer-undo-tree))
(and undo-tree-mode (not buffer-read-only) (not (eq t buffer-undo-list)) (undo-tree-node-previous (undo-tree-current buffer-undo-tree)))
x-create-frame(((visibility) (vertical-scroll-bars . left) (reverse . t)))
x-create-frame-with-faces(((vertical-scroll-bars . left) (reverse . t)))
#f(compiled-function (params) #<bytecode 0x1fdd4b1bc7bf>)(((vertical-scroll-bars . left) (reverse . t)))
apply(#f(compiled-function (params) #<bytecode 0x1fdd4b1bc7bf>) ((vertical-scroll-bars . left) (reverse . t)))
frame-creation-function(((vertical-scroll-bars . left) (reverse . t)))
make-frame()
make-frame-command()
funcall-interactively(make-frame-command)
call-interactively(make-frame-command nil nil)
command-execute(make-frame-command)
然后,我执行C-x-u
,因此创建了与该缓冲区相关的undo-tree
缓冲区,然后可以创建其他帧。
是否有解决方法?
编辑:它还禁止使用菜单。当我尝试单击任何菜单项时,都会显示相同的消息。
答案 0 :(得分:0)
好的,所以我知道了。我使用的undo-tree
的ELPA版本为0.6.5。因此,几天前,我注意到开发人员在其git存储库中有了一个新版本0.6.6。我在本地安装它,问题就消失了!
首先,获取git存储库的副本:
$ cd ~/.emacs.d
$ git clone http://www.dr-qubit.org/git/undo-tree.git
然后将其添加到您的Emacs配置中:
(load "~/.emacs.d/undo-tree/undo-tree.el")
(require 'undo-tree)
(global-undo-tree-mode)