Vorrei poter salvare una copia (o un'istantanea) di un buffer in un file. Il comportamento sarebbe simile write-file
, tranne per il fatto che non imposta il buffer per visitare questo file.
Per un caso d'uso, immagina di avere una sessione di shell e desideri salvarla rapidamente in un file di registro. Il buffer non deve essere rinominato (in modo che funzioni che si basano sul nome del buffer funzionino ancora) e non dovrebbe visitare un file (in modo che il file non venga sovrascritto accidentalmente e non vi siano avvisi quando si esce da emacs).
Posso immaginare alcuni modi sporchi per farlo, ne posterò uno come risposta automatica, ma leggendo dal manuale, l'intero sistema di "file visitato" è più complicato di quanto sembri, e immagino sia facile redigere un soluzione sbagliata. Esiste un modo nascosto, integrato, per raggiungere questo obiettivo?
write-region
da Lisp (ad es. Con il proprio comando). Basta passarlo(point-min)
e(point-max)
, insieme al nome del file.