1
0
mirror of https://github.com/golang/go synced 2024-11-18 11:34:45 -07:00

refactor/rename: emacs: kill go-rename buffer correctly

Match gofmt's behaviour of closing the status buffer. Don't display the
buffer in case of success as we were going to hide it instantly again,
anyway. Also, instead of using delete-window, use
gofmt--kill-error-buffer. gofmt--kill-error-buffer uses quit-window if
there's a window for the buffer, kill-buffer otherwise.

quit-window only deletes the window if it was created explicitly for the
status buffer and if it is still displaying it. This way, we won't close
windows that the user created or repurposed himself.

Additionally, this change ensures that we don't leave a *go-rename*
buffer lying around when gorename succeeded.

Fixes golang/go#10972.

Change-Id: Id1efb60d399f0062d870e925138aa827e12f3e58
Reviewed-on: https://go-review.googlesource.com/10453
Reviewed-by: Alan Donovan <adonovan@google.com>
This commit is contained in:
Dominik Honnef 2015-05-28 16:53:24 +02:00 committed by Alan Donovan
parent 9333b8f458
commit 9c7ccd869c

View File

@ -65,12 +65,12 @@ the `gorename' tool. With FORCE, call `gorename' with the
;; On success, print the one-line result in the message bar,
;; and hide the *go-rename* buffer.
(let ((w (display-buffer (current-buffer))))
(if success
(progn
(message "%s" (go--buffer-string-no-trailing-space))
(delete-window w))
;; failure
(if success
(progn
(message "%s" (go--buffer-string-no-trailing-space))
(gofmt--kill-error-buffer (current-buffer)))
;; failure
(let ((w (display-buffer (current-buffer))))
(message "gorename exited")
(shrink-window-if-larger-than-buffer w)
(set-window-point w (point-min)))))))