Me gustaría poder guardar una copia (o una instantánea) de un búfer en un archivo. El comportamiento sería similar write-file
, excepto que no establecería el búfer para visitar este archivo.
Para un caso de uso, imagine que tiene una sesión de shell y desea guardarlo rápidamente en un archivo de registro. No se debe cambiar el nombre del búfer (para que las funciones que dependen del nombre del búfer sigan funcionando), y no se debe visitar un archivo (para que el archivo no se sobrescriba accidentalmente y no haya ninguna advertencia al salir de emacs).
Puedo imaginar algunas formas sucias de hacer esto, publicaré una como respuesta propia, pero leyendo el manual, todo el sistema de "archivos visitados" es más complicado de lo que parece, y supongo que es fácil redactar un Solución incorrecta ¿Hay una forma oculta, incorporada, de lograr esto?
write-region
desde Lisp (por ejemplo, en su propio comando). Simplemente pásalo(point-min)
y(point-max)
, junto con el nombre del archivo.