2011-02-07 7 views
6

Si habilita la función de escritorio, puede volver a su conjunto de archivos abierto anteriormente cuando salga y vuelva a ingresar a Emacs. Sin embargo, esto no parece ser una característica de recuperación de fallos.Emacs: ¿Cómo puedo usar una lista de guardado para restaurar los almacenamientos intermedios del bloqueo?

Si Emacs falla, hay una lista de guardado llamada "saves-PID-machine" que tiene una lista de los archivos que tienen búferes. La lista tiene la ruta completa al archivo en sí y al correspondiente archivo de copia de seguridad ~.

¿Cómo uso esta lista de guardado para volver al conjunto de archivos visitados en los almacenamientos intermedios que tenía antes del bloqueo? Ninguno de los archivos tenía ediciones pendientes, así que recover-session y recover-file no hacen nada.

+0

Consulte http://www.emacswiki.org/emacs/Desktop para obtener algunos enfoques para guardar automáticamente el escritorio periódicamente. Esto no responde a la pregunta, pero es una solución bastante decente. – phils

Respuesta

0

¿Has intentado M-x recover-session?

(recuperar la sesión)
Recuperar ahorro automático de archivos de una sesión de Emacs anterior. Este comando muestra primero un búfer Dired que le muestra las sesiones anteriores de las que podría recuperar. Para elegir uno, mueva el punto a la línea correcta y luego escriba C-c C-c. Luego se le preguntará acerca de una cantidad de archivos para recuperar.

+1

Julien, estás describiendo el método que no funciona. Si todos los archivos se han guardado, y luego el editor se cuelga (normalmente no es un bloqueo de emacs), entonces recover-session simplemente dice que no hay nada que recuperar, aunque el archivo de recuperación tiene una larga lista de archivos. Parece que la función de recuperación de sesión utiliza información adicional para averiguar si el archivo enumerado tenía cambios no guardados. Recuperaría las ediciones de dicho archivo. De lo contrario, la característica no visita el archivo. –

5

Puede descargar e instalar https://github.com/tripleee/recover-buffers que visita todos los archivos en el archivo de guardado automático, y ofrece para recuperar cualquier para el que existe no guardado los datos de guardado automático.

;;; recover-buffers.el --- revisit all buffers from an auto-save file 
    ;; 
    ;;; Commentary: 
    ;; 
    ;; Works like `recover-session', but attempts to really recover all state 
    ;; back to the way it was when Emacs quit or crashed. Concretely, it 
    ;; revisits all buffers which were open, however skipping any which match 
    ;; an ignore list. 

También hay un error de Emacs abierto al respecto; http://debbugs.gnu.org/889

Soy el autor de este código y agradecería cualquier comentario (aunque no a través de este foro público).

+0

Esto se movió recientemente a https://github.com/tripleee/recover-buffers –

Cuestiones relacionadas