[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Auto-saved files unexpectedly deleted
From: |
dont . spam . earl |
Subject: |
Auto-saved files unexpectedly deleted |
Date: |
Wed, 14 May 2014 22:29:33 -0700 (PDT) |
User-agent: |
G2/1.0 |
Hi all,
I'd like to save "transcripts" of my Shell and other comint sessions with all
I/O, not just the command history. I've created a "comint transcript"
major-mode by adapting auto-saving but I'm running into a problem.
When I kill a comint buffer with a process, its associated transcript file is
deleted. This occurs even though I'm around-wrapping
'delete-auto-save-file-if-necessary in files.el which deletes auto-save files.
In fact, even though I'm tracing both that function and also delete-file,
there's no tracing output for the deletion. This only occurs when I "C-x k" to
kill the buffer, then say "yes" to kill it in spite of the running process.
Interestingly, the transcript file is not deleted when I quit emacs and kill
all buffers with processes.
The relevant code is included below. Any suggestions on what is going on here,
or what to try next?
Thanks!
Earl
;;
;; Auto-save Comint mode transcripts
;;
(defadvice auto-save-file-name-p (after yes-auto-save-comint-transcripts
activate)
"Also auto-save comint transcript files (without hashmarks)."
(setq ad-return-value
(or ad-return-value
(derived-mode-p 'comint-mode))))
(defadvice make-auto-save-file-name (after auto-save-comint-transcript-path
activate)
"Make name for auto-saved comint transcript file (without hashmarks)."
(setq ad-return-value
(if (derived-mode-p 'comint-mode)
buffer-auto-save-file-name
ad-return-value)))
(defadvice delete-auto-save-file-if-necessary (around
keep-auto-saved-comint-transcripts activate)
"Keep auto-saved comint transcript files."
(unless (derived-mode-p 'comint-mode)
ad-do-it))
;;
;; Comint mode
;;
(require 'comint)
(add-hook
'comint-mode-hook
'(lambda ()
(setq buffer-auto-save-file-name (make-comint-transcript-path t))
(auto-save-mode t)
))
- Auto-saved files unexpectedly deleted,
dont . spam . earl <=