emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] buffer-file-name in [* Org src *] buffers


From: Clément Pit-Claudel
Subject: Re: [O] buffer-file-name in [* Org src *] buffers
Date: Wed, 14 Mar 2018 10:18:55 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0

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.










reply via email to

[Prev in Thread] Current Thread [Next in Thread]