From: dont.spam.earl@gmail.com
To: help-gnu-emacs@gnu.org
Subject: Auto-saved files unexpectedly deleted
Date: Wed, 14 May 2014 22:29:33 -0700 (PDT) [thread overview]
Message-ID: <e964a80c-89a7-495c-bfae-31753d07555f@googlegroups.com> (raw)
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)
))
next reply other threads:[~2014-05-15 5:29 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-15 5:29 dont.spam.earl [this message]
2014-05-15 9:55 ` Auto-saved files unexpectedly deleted Michael Heerdegen
[not found] ` <mailman.1389.1400147758.1147.help-gnu-emacs@gnu.org>
2014-05-15 17:40 ` dont.spam.earl
2014-05-16 5:32 ` Kevin Rodgers
[not found] ` <mailman.1440.1400218387.1147.help-gnu-emacs@gnu.org>
2014-05-18 17:03 ` dont.spam.earl
2014-05-25 14:17 ` Jude DaShiell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=e964a80c-89a7-495c-bfae-31753d07555f@googlegroups.com \
--to=dont.spam.earl@gmail.com \
--cc=help-gnu-emacs@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).