diff options
| author | Martin Rudalics | 2016-02-18 11:25:07 +0100 |
|---|---|---|
| committer | Martin Rudalics | 2016-02-18 11:25:07 +0100 |
| commit | 3722a694fa094f88f7dfe54ccce7ea7cbaab214a (patch) | |
| tree | 012a7c5cb8706baf8a70247ac72d93e2f8f92074 | |
| parent | 289d5c6e976d4ea557b0f71008468d42ee0258ad (diff) | |
| download | emacs-3722a694fa094f88f7dfe54ccce7ea7cbaab214a.tar.gz emacs-3722a694fa094f88f7dfe54ccce7ea7cbaab214a.zip | |
Fix bugs in window resizing code
* lisp/window.el (adjust-window-trailing-edge): Fix mismatched
parenthesis.
(shrink-window, enlarge-window): Fix bug#22723 where windows
with preserved size would not get resized. Also now signal an
error when the window cannot be shrunk or enlarged as requested.
| -rw-r--r-- | lisp/window.el | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/lisp/window.el b/lisp/window.el index e4669c1f6e7..c45e60e6204 100644 --- a/lisp/window.el +++ b/lisp/window.el | |||
| @@ -3241,9 +3241,9 @@ move it as far as possible in the desired direction." | |||
| 3241 | (setq ignore 'preserved) | 3241 | (setq ignore 'preserved) |
| 3242 | (setq right first-right) | 3242 | (setq right first-right) |
| 3243 | (while (and right | 3243 | (while (and right |
| 3244 | (or (window-size-fixed-p right horizontal 'preserved)) | 3244 | (or (window-size-fixed-p right horizontal 'preserved) |
| 3245 | (<= (window-size right horizontal t) | 3245 | (<= (window-size right horizontal t) |
| 3246 | (window-min-size right horizontal 'preserved t))) | 3246 | (window-min-size right horizontal 'preserved t)))) |
| 3247 | (setq right | 3247 | (setq right |
| 3248 | (or (window-right right) | 3248 | (or (window-right right) |
| 3249 | (progn | 3249 | (progn |
| @@ -3352,12 +3352,12 @@ negative, shrink selected window by -DELTA lines or columns." | |||
| 3352 | (window--resize-mini-window minibuffer-window (- delta))) | 3352 | (window--resize-mini-window minibuffer-window (- delta))) |
| 3353 | ((window--resizable-p nil delta horizontal) | 3353 | ((window--resizable-p nil delta horizontal) |
| 3354 | (window-resize nil delta horizontal)) | 3354 | (window-resize nil delta horizontal)) |
| 3355 | ((window--resizable-p nil delta horizontal 'preserved) | ||
| 3356 | (window-resize nil delta horizontal 'preserved)) | ||
| 3357 | ((eq this-command 'enlarge-window) | ||
| 3358 | (user-error "Cannot enlarge selected window")) | ||
| 3355 | (t | 3359 | (t |
| 3356 | (window-resize | 3360 | (error "Cannot enlarge selected window"))))) |
| 3357 | nil (if (> delta 0) | ||
| 3358 | (window-max-delta nil horizontal) | ||
| 3359 | (- (window-min-delta nil horizontal))) | ||
| 3360 | horizontal))))) | ||
| 3361 | 3361 | ||
| 3362 | (defun shrink-window (delta &optional horizontal) | 3362 | (defun shrink-window (delta &optional horizontal) |
| 3363 | "Make the selected window DELTA lines smaller. | 3363 | "Make the selected window DELTA lines smaller. |
| @@ -3387,12 +3387,12 @@ Also see the `window-min-height' variable." | |||
| 3387 | (window--resize-mini-window minibuffer-window delta)) | 3387 | (window--resize-mini-window minibuffer-window delta)) |
| 3388 | ((window--resizable-p nil (- delta) horizontal) | 3388 | ((window--resizable-p nil (- delta) horizontal) |
| 3389 | (window-resize nil (- delta) horizontal)) | 3389 | (window-resize nil (- delta) horizontal)) |
| 3390 | ((window--resizable-p nil (- delta) horizontal 'preserved) | ||
| 3391 | (window-resize nil (- delta) horizontal 'preserved)) | ||
| 3392 | ((eq this-command 'shrink-window) | ||
| 3393 | (user-error "Cannot shrink selected window")) | ||
| 3390 | (t | 3394 | (t |
| 3391 | (window-resize | 3395 | (error "Cannot shrink selected window"))))) |
| 3392 | nil (if (> delta 0) | ||
| 3393 | (- (window-min-delta nil horizontal)) | ||
| 3394 | (window-max-delta nil horizontal)) | ||
| 3395 | horizontal))))) | ||
| 3396 | 3396 | ||
| 3397 | (defun maximize-window (&optional window) | 3397 | (defun maximize-window (&optional window) |
| 3398 | "Maximize WINDOW. | 3398 | "Maximize WINDOW. |