Hi Nicolas,
> The explanation is here:
>
> <http://lists.gnu.org/archive/html/emacs-orgmode/2009-08/msg00335.html>
>
> AFAIU, this was needed so that Emacs would warn when closing a remote
> editing buffer with C-x k. This feature doesn't appear to be functional
> at the moment, tho.
Sorry for the delayed answer; I didn't receive your message.
Thanks for the link to the discussion. It'd be great to find a different way
to do it, though, as the current implementation sends a confusing signal to
other packages.
The original implementation listed three problems:
> * Proposed bug I
> C-x k kills the edit buffer without questions; the overlay
> remains, but now links to a deleted buffer.
> * Proposed bug II
> C-x C-c kills a modified edit buffer silently, without offering to
> save your work. I have lost work like that a number of times
> recently.
> * Proposed bug III
> C-x s does not offer to save a modified edit buffer
It also mentioned this:
> This patch gives the desired behaviour, at the cost of being forced
> to assign a buffer-file-name to the edit buffer. The consequence is
> that the edit buffer is considered to always be modified
I think there's an alternative fix for these issues that doesn't require
setting buffer-file-name:
1. Set buffer-offer-save to 'always; this guarantees that C-x s will ask about
the edit buffer.
2. Add an entry to kill-buffer-query-functions. For example, with-editor (used
by magit) does this:
(add-hook 'kill-buffer-query-functions
'with-editor-kill-buffer-noop nil t)
With these, we could leave buffer-file-name to nil.
WDYT?
Clément.
PS: point (1) shares an issue with the original implementation (it always
prompts during save-some-buffers). One fix to this could be to add a
buffer-modification-hook that marks the source buffer as modified when the edit
buffer is modified, and to make change the source buffer's
write-contents-functions to offer to save edit buffers too.