Von Zeit zu Zeit stoße ich auf Fehler im Rückgängig-Baum, bei denen ich nicht wiederholen kann, mit dem folgenden bekannten Fehler , einem weiteren Bericht und einem reddit-Thread .
primitive-undo: Unrecognized entry in undo list undo-tree-canary
Dies ist sehr schlecht und kann zu Arbeitsverlust führen, wenn Sie nicht die neueste Version der Datei gespeichert haben.
Ist es möglich, das lineare Rückgängigmachen von Emacs im bösen Modus zu verwenden, da ich die Funktion zum Verzweigen von rückgängig gemachten Bäumen nie verwende?
Hinweis: Ich habe versucht, die Einstellung (global-undo-tree-mode -1)
direkt (evil-mode 1)
vorzunehmen, nach der der Rückgängig-Baum deaktiviert wird, aber das Wiederherstellen (Strg-R) funktioniert danach nicht mehr.
evil
undo
undo-tree-mode
ideasman42
quelle
quelle
Antworten:
Der Autor von
undo-tree.el
Toby Cubitt ist derzeit zu beschäftigt, um diesen speziellen Fehler zu beheben. Wenn er in Zukunft Zeit hat, kann er sich weiter mit dem Thema befassen. Der Autor hat angegeben, dass er Schwierigkeiten hat, den Fehler zuverlässig zu reproduzieren, und kürzlich nicht in der Lage war, ihn über den Hauptzweig zu reproduzieren. Dies tritt nur bei Verwendung von Rückgängig / Wiederherstellen in der Region auf. Der Autor schlägt vor, in der Zwischenzeit nur die Funktion zum Rückgängigmachen / Wiederherstellen in der Region zu deaktivieren.Ich würde jedem
emacs -q
empfehlen , der motiviert ist, einen zuverlässigen Weg zu finden, um das Problem zu reproduzieren, indem er sowohl die aktuelle stabile Version von Emacs (z. B. 25.2.1) als auch die neueste Version des Hauptzweigs verwendet und dann Senden Sie diese Rezepte an die Teilnehmer (Stefan, Toby, Barry und Keith) an die Bug-Tracking-Nummer 16377 mit Durchschlägen.Die Hauptverfolgungsnummer ist 16377, und es gibt eine verwandte Verfolgungsnummer 16523:
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=16377
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=16523
Hier ist die Problemumgehung, mit der die
undo/redo-in-region
Funktion deaktiviert wird :quelle
undo-tree-enable-undo-in-region
istnil
; und ich habe auch nie gesehen, dass es außerhalb der Verwendung von Undo-in-Region auftritt. Wenn Sie in der Lage sind, ein Rezept zur Reproduktion des Fehlers zu erstellen, melden Sie es bitte dem Emacs-Team - eine Kopie an Dr. Cubitt wäre ebenfalls hilfreich, und wenn es nicht zu viel Mühe gibt, würde ich das sicher begrüßen Rezept, wenn Sie in der Lage sind, ein zuverlässiges zu finden. Entschuldigung, dass Sie Probleme haben ...undo-tree
sind offiziell Teil derelpa
Repositories. Sie können den Standard-Emacs-Fehlerbericht verwenden. Das Endergebnis kann jedoch dasselbe sein - dh darauf warten, dass Dr. Cubitt etwas Freizeit in seinem vollen Terminkalender findet ... Irgendwann kann ein anderer Undo-Guru vorbeikommen und bei der Pflege des Pakets behilflich sein. Ich habe viel Zeit damit verbracht, eine benutzerdefinierte Gabel des Rückgängig-Baums zu erstellen, die auf halblineare Weise rückgängig gemacht / wiederhergestellt werden kann, und ich habe immer noch nur ein grundlegendes Verständnis dafür, wie alles funktioniert ...Anscheinend können Sie evil-pkg.el in ~ / .emacs.d / elpa / evil-xxxxxxx / dir bearbeiten und den Undo-Tree als Voraussetzung löschen:
Quelle
quelle
undo-tree
Paket aus dem Weg geräumt, damit es nicht geladen wird. Jetzt schlägt die Verwendung von "Wiederherstellen" mit fehlWrong type argument: commandp, redo
.Bearbeiten, dies ist jetzt ein Paket, das zum Rückgängigmachen / Wiederherstellen im bösen Modus - Rückgängig-Fu - verwendet werden kann .
Hinzufügen einer Antwort auf die eigene Frage, da ich seit einiger Zeit das Böse ohne Rückgängig-Baum verwende.
Dies funktioniert überraschend gut zum Rückgängigmachen / Wiederherstellen, wodurch Emacs rückgängig gemacht werden, ohne dass etwas Schweres wie
undo-tree
oderredo+
.quelle