From: Dmitry Gutov <dgutov@yandex.ru>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: emacs-devel@gnu.org
Subject: Re: trunk r115265: * lisp/vc/vc-dispatcher.el (vc-log-edit): Setup the Summary&Author headers.
Date: Tue, 03 Dec 2013 01:02:00 +0200 [thread overview]
Message-ID: <529D1168.9090102@yandex.ru> (raw)
In-Reply-To: <jwvd2lf4b4p.fsf-monnier+emacs@gnu.org>
On 02.12.2013 15:53, Stefan Monnier wrote:
> Go to your nearest file buffer and type: SPC C-x k RET
> As you can see, you did choose the buffer to kill and yet you get
> prompted to confirm you want to kill that buffer despite its
> unsaved changes.
Ah, thanks, now I get it. This issue is not new, so it didn't seem too
important.
> I think it's good to try and make the *VC-Log* (and the *mail*) buffers
> behave similarly to file buffers in this respect.
I don't see this problem with mail. When I'm in a message-mode buffer
(say, writing a reply from Gnus), and I press C-x k RET, Emacs warns me
that the buffer is modified and asks for confirmation.
See the small patch at the bottom for log-edit. It seems to work, but I
fear it may complicate some scenarios where buffers are killed
automatically.
> It's probably the case that log-edit-hide-buf needs to be revisited,
> since it dates to before the rewrite of display-buffer, where Martin
> arranged to better be able to "undo" a display-buffer (via bury-buffer
> or quit-window).
Guess so.
=== modified file 'lisp/vc/log-edit.el'
--- lisp/vc/log-edit.el 2013-12-02 22:13:51 +0000
+++ lisp/vc/log-edit.el 2013-12-02 22:54:52 +0000
@@ -476,6 +476,7 @@
(set (make-local-variable 'font-lock-defaults)
'(log-edit-font-lock-keywords t))
(make-local-variable 'log-edit-comment-ring-index)
+ (add-hook 'kill-buffer-hook 'log-edit-kill-buffer-prompt nil t)
(hack-dir-local-variables-non-file-buffer))
(defun log-edit-hide-buf (&optional buf where)
@@ -551,6 +552,11 @@
(quit-windows-on buf)
(kill-buffer buf)))
+(defun log-edit-kill-buffer-prompt ()
+ (unless (ring-member log-edit-comment-ring (buffer-string))
+ (or (yes-or-no-p "Discard the comment?")
+ (user-error "Aborted"))))
+
(defun log-edit-files ()
"Return the list of files that are about to be committed."
(ignore-errors (funcall log-edit-listfun)))
next prev parent reply other threads:[~2013-12-02 23:02 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <E1VlqjS-0006O3-Fn@vcs.savannah.gnu.org>
2013-11-29 4:39 ` trunk r115265: * lisp/vc/vc-dispatcher.el (vc-log-edit): Setup the Summary&Author headers Dmitry Gutov
2013-11-29 13:33 ` Stefan Monnier
2013-11-29 14:53 ` Dmitry Gutov
2013-11-29 17:04 ` Stefan Monnier
2013-11-29 22:37 ` Dmitry Gutov
2013-11-30 2:29 ` Stefan Monnier
2013-11-30 16:02 ` Dmitry Gutov
2013-12-01 21:10 ` Stefan Monnier
2013-12-02 2:40 ` Dmitry Gutov
2013-12-02 13:53 ` Stefan Monnier
2013-12-02 23:02 ` Dmitry Gutov [this message]
2013-12-03 0:56 ` Leo Liu
2013-12-03 3:06 ` Stefan Monnier
2013-12-04 0:38 ` Dmitry Gutov
2013-12-03 2:17 ` Dmitry Gutov
2013-12-03 3:09 ` Stefan Monnier
2013-12-04 0:43 ` Dmitry Gutov
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=529D1168.9090102@yandex.ru \
--to=dgutov@yandex.ru \
--cc=emacs-devel@gnu.org \
--cc=monnier@iro.umontreal.ca \
/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.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.