De vez en cuando me encuentro con errores en undo-tree, donde no puedo rehacer, con el siguiente error conocido , otro informe y reddit hilo .
primitive-undo: Unrecognized entry in undo list undo-tree-canary
Esto es realmente malo y puede causar pérdida de trabajo si no guarda la versión más reciente del archivo.
Como nunca uso la funcionalidad de árbol de deshacer de ramificación, ¿es posible usar emacs linear deshacer con el modo malvado?
Nota: He intentado configurar (global-undo-tree-mode -1)
directamente después de lo (evil-mode 1)
cual desactiva el árbol de deshacer, pero rehacer (Ctrl-R) no funciona después de hacer esto.
evil
undo
undo-tree-mode
ideasman42
fuente
fuente
Respuestas:
El autor de
undo-tree.el
, Toby Cubitt, actualmente está demasiado ocupado para solucionar este error en particular. Si tiene tiempo en el futuro, puede investigar más el problema. El autor ha indicado que tiene dificultades para reproducir el error de manera confiable, y recientemente no pudo reproducirlo usando la rama maestra. Solo ocurre cuando se usa deshacer / rehacer en la región. El autor sugiere simplemente desactivar la función deshacer / rehacer en la región mientras tanto.Recomiendo encarecidamente a cualquiera que esté motivado a encontrar una forma confiable de reproducir el problema a partir del
emacs -q
uso de la versión estable actual de Emacs (por ejemplo, 25.2.1) y también con la versión más reciente de la rama maestra, y luego envíe esas recetas al número de seguimiento de errores 16377 con copias al carbón a los participantes (Stefan, Toby, Barry y Keith).El número de seguimiento principal es 16377, y hay un número de seguimiento relacionado 16523:
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=16377
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=16523
Aquí está la solución que desactiva la
undo/redo-in-region
función:fuente
undo-tree-enable-undo-in-region
esnil
; y, nunca he visto que ocurra fuera del uso de deshacer en la región. Si puede encontrar una receta para reproducir el error, infórmelo al equipo de Emacs; una copia al Dr. Cubitt también sería útil, y si no es demasiado problema, le agradecería receta si puede encontrar una que sea confiable. Lo sentimos que usted está teniendo problemas ...undo-tree
oficialmente son parte de loselpa
repositorios. Puede usar el informe estándar de error de Emacs; sin embargo, el resultado final puede ser el mismo, es decir, esperar que el Dr. Cubitt encuentre algo de tiempo libre en su apretada agenda ... En algún momento, otro gurú de deshacer puede venir y ayudarlo a mantener el paquete. Me pasó una gran cantidad de tiempo la creación de un tenedor costumbre de deshacer-árbol que puede deshacer / rehacer de forma semi-lineal, y todavía tener solamente un conocimiento básico de cómo funciona todo ...Aparentemente, puedes editar evil-pkg.el en ~ / .emacs.d / elpa / evil-xxxxxxx / dir y eliminar undo-tree como requisito:
fuente
fuente
undo-tree
saqué el paquete para que no se cargara. Ahora el uso de "rehacer" falla conWrong type argument: commandp, redo
.Editar, ahora es un paquete que se puede usar para deshacer / rehacer con evil-mode - undo-fu .
Agregando respuesta a la propia pregunta ya que he estado usando el mal sin deshacer árbol por algún tiempo.
Esto funciona sorprendentemente bien para deshacer / rehacer, lo que envuelve emacs deshacer sin nada pesado como
undo-tree
oredo+
.fuente