[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master c585ca89a6: * lisp/bs.el: Use modern height preserving method ins
From: |
Juanma Barranquero |
Subject: |
master c585ca89a6: * lisp/bs.el: Use modern height preserving method instead of hooks |
Date: |
Thu, 15 Dec 2022 18:28:50 -0500 (EST) |
branch: master
commit c585ca89a64ab613e08576b5603949767ad8d079
Author: Juanma Barranquero <lekktu@gmail.com>
Commit: Juanma Barranquero <lekktu@gmail.com>
* lisp/bs.el: Use modern height preserving method instead of hooks
* lisp/bs.el (bs--track-window-changes, bs--remove-hooks): Remove.
(bs-mode): Do not set window-change tracking hooks.
(bs--set-window-height): Pass PRESERVE-SIZE to `fit-window-to-buffer'.
---
lisp/bs.el | 24 ++++--------------------
1 file changed, 4 insertions(+), 20 deletions(-)
diff --git a/lisp/bs.el b/lisp/bs.el
index 59672c4fd4..d5e6030fac 100644
--- a/lisp/bs.el
+++ b/lisp/bs.el
@@ -602,21 +602,6 @@ actually the line which begins with character in
`bs-string-current' or
(format "Show buffer by configuration %S"
bs-current-configuration)))
-(defun bs--track-window-changes (frame)
- "Track window changes to refresh the buffer list.
-Used from `window-size-change-functions'."
- (let ((win (get-buffer-window "*buffer-selection*" frame)))
- (when win
- (with-selected-window win
- (bs--set-window-height)))))
-
-(defun bs--remove-hooks ()
- "Remove `bs--track-window-changes' and auxiliary hooks."
- (remove-hook 'window-size-change-functions 'bs--track-window-changes)
- ;; Remove itself
- (remove-hook 'kill-buffer-hook 'bs--remove-hooks t)
- (remove-hook 'change-major-mode-hook 'bs--remove-hooks t))
-
(put 'bs-mode 'mode-class 'special)
(define-derived-mode bs-mode nil "Buffer-Selection-Menu"
@@ -675,10 +660,7 @@ apply it.
(setq-local font-lock-defaults '(bs-mode-font-lock-keywords t))
(setq-local font-lock-verbose nil)
(setq-local font-lock-global-modes '(not bs-mode))
- (setq-local revert-buffer-function 'bs-refresh)
- (add-hook 'window-size-change-functions 'bs--track-window-changes)
- (add-hook 'kill-buffer-hook 'bs--remove-hooks nil t)
- (add-hook 'change-major-mode-hook 'bs--remove-hooks nil t))
+ (setq-local revert-buffer-function 'bs-refresh))
(defun bs-kill ()
"Let buffer disappear and reset window configuration."
@@ -708,7 +690,9 @@ Arguments are IGNORED (for `revert-buffer')."
(defun bs--set-window-height ()
"Change the height of the selected window to suit the current buffer list."
(unless (one-window-p t)
- (fit-window-to-buffer (selected-window) bs-max-window-height)))
+ (fit-window-to-buffer (selected-window) bs-max-window-height nil nil nil
+ ;; preserve-size
+ t)))
(defun bs--current-buffer ()
"Return buffer on current line.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- master c585ca89a6: * lisp/bs.el: Use modern height preserving method instead of hooks,
Juanma Barranquero <=