De temps en temps, je rencontre des bogues dans l'annuaire, où je ne peux pas refaire, avec le bogue connu suivant , un autre rapport et un fil reddit .
primitive-undo: Unrecognized entry in undo list undo-tree-canary
C'est vraiment mauvais et peut entraîner une perte de travail si vous n'avez pas enregistré la dernière version du fichier.
Étant donné que je n'utilise jamais la fonctionnalité d'arborescence d'annulation de ramification, est-il possible d'utiliser l'annulation linéaire emacs avec le mode diabolique?
Remarque: j'ai essayé de définir (global-undo-tree-mode -1)
directement après (evil-mode 1)
quoi désactive l'annulation de l'arborescence, mais la restauration (Ctrl-R) ne fonctionne pas après cela.
evil
undo
undo-tree-mode
ideasman42
la source
la source
Réponses:
L'auteur de
undo-tree.el
, Toby Cubitt, est actuellement trop occupé pour corriger ce bogue particulier. S'il a du temps à l'avenir, il pourrait approfondir la question. L'auteur a indiqué qu'il a du mal à reproduire l'erreur de manière fiable et qu'il n'a pas été en mesure récemment de la reproduire à l'aide de la branche principale. Cela se produit uniquement lors de l'utilisation de l'annulation / du rétablissement dans la région. L'auteur suggère de désactiver entre-temps la fonction annuler / rétablir dans la région.J'encourage fortement toute personne motivée à trouver un moyen fiable de reproduire le problème en
emacs -q
utilisant à la fois la version stable actuelle d'Emacs (par exemple, 25.2.1) et également avec la version la plus récente de la branche principale, puis soumettre ces recettes au numéro de suivi des bogues 16377 avec des copies carbone aux participants (Stefan, Toby, Barry et Keith).Le numéro de suivi principal est 16377, et il existe un numéro de suivi associé 16523:
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=16377
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=16523
Voici la solution de contournement qui désactive la
undo/redo-in-region
fonctionnalité:la source
undo-tree-enable-undo-in-region
estnil
; et, je n'ai également jamais vu cela se produire en dehors de l'utilisation de l'annulation dans la région. Si vous êtes en mesure de trouver une recette pour reproduire l'erreur, veuillez la signaler à l'équipe Emacs - une copie carbone au Dr Cubitt serait également utile, et si cela ne vous pose pas trop de problèmes, j'apprécierais certainement la recette si vous êtes en mesure d'en trouver un qui est fiable. Désolé que vous rencontrez des problèmes ...undo-tree
officiellement partie deselpa
référentiels. Vous pouvez utiliser le bogue Emacs de rapport standard; cependant, le résultat final peut être le même - c'est-à-dire, attendre que le Dr Cubitt trouve du temps libre dans son emploi du temps chargé ... À un moment donné, un autre gourou de l'annulation peut venir et aider à maintenir le package. J'ai passé beaucoup de temps à créer un fork personnalisé de défaire un arbre qui peut défaire / refaire de façon semi-linéaire, et je n'ai encore qu'une compréhension de base de la façon dont tout cela fonctionne ...Apparemment, vous pouvez modifier evil-pkg.el dans ~ / .emacs.d / elpa / evil-xxxxxxx / dir et supprimer l'annulation de l'arborescence comme condition:
la source
la source
undo-tree
paquet pour qu'il ne se charge pas. Maintenant, l'utilisation de "redo" échoue avecWrong type argument: commandp, redo
.Edit, c'est maintenant un paquet qui peut être utilisé pour annuler / refaire avec evil-mode - undo-fu .
Ajout d'une réponse à ma propre question depuis que j'utilise mal sans annuler l'arbre depuis un certain temps maintenant.
Cela fonctionne étonnamment bien pour annuler / refaire, ce qui encapsule l'annulation d'emacs sans rien de lourd comme
undo-tree
ouredo+
.la source