Fix possible wrong context when killing buffers

* exwm-manage.el (exwm-manage--unmanage-window): Make sure to use the
correct context to read/set buffer-local variables when killing
buffers.
This commit is contained in:
Chris Feng 2017-11-24 22:43:16 +08:00
parent 71a39840b2
commit 589b840409

View file

@ -405,11 +405,12 @@ manager is shutting down."
(xcb:flush exwm--connection)) (xcb:flush exwm--connection))
(let ((kill-buffer-func (let ((kill-buffer-func
(lambda (buffer) (lambda (buffer)
(let ((kill-buffer-query-functions nil)) (when (buffer-local-value 'exwm--floating-frame buffer)
(when exwm--floating-frame (select-window
(select-window (frame-selected-window exwm-workspace--current)))
(frame-selected-window exwm-workspace--current))) (with-current-buffer buffer
(kill-buffer buffer))))) (let ((kill-buffer-query-functions nil))
(kill-buffer buffer))))))
(exwm--defer 0 kill-buffer-func buffer) (exwm--defer 0 kill-buffer-func buffer)
(when (active-minibuffer-window) (when (active-minibuffer-window)
(exit-minibuffer)))))) (exit-minibuffer))))))