Невозможно открыть новые кадры с установленной отменой дерева - PullRequest
0 голосов
/ 23 мая 2019

Я использую 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, связанный с этим буфером, и с этого момента я могу создавать другие кадры.

Есть ли обходной путь для этого?

edit: также запрещает использование меню. Когда я пытаюсь щелкнуть по любому пункту меню, появляется то же сообщение.

edit: открытие Emacs с этим минималистичным файлом запуска выдает такую ​​же ошибку:

(add-to-list 'load-path
             "~/.emacs.d/elpa/undo-tree-0.6.5")

(require 'undo-tree)
(global-undo-tree-mode)
(setq debug-on-error t)

1 Ответ

0 голосов
/ 18 июня 2019

Хорошо, так что я получил это работает.Я использовал версию ELPA undo-tree, которая является версией 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)
...