[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master a3f3cd7: In ‘adjust-window-trailing-edge’ fix bug
From: |
Martin Rudalics |
Subject: |
[Emacs-diffs] master a3f3cd7: In ‘adjust-window-trailing-edge’ fix bug with size-preserved windows. |
Date: |
Sat, 22 Aug 2015 08:23:41 +0000 |
branch: master
commit a3f3cd7c4a79ba54f00ebd8424db3137f297517b
Author: Martin Rudalics <address@hidden>
Commit: Martin Rudalics <address@hidden>
In ‘adjust-window-trailing-edge’ fix bug with size-preserved windows.
* lisp/window.el (adjust-window-trailing-edge): Fix bug where this
function refused to resize a size-preserved window.
---
ChangeLog.2 | 2 --
lisp/window.el | 14 ++++++++++----
2 files changed, 10 insertions(+), 6 deletions(-)
diff --git a/ChangeLog.2 b/ChangeLog.2
index 3a93fda..242cf6b 100644
--- a/ChangeLog.2
+++ b/ChangeLog.2
@@ -3151,8 +3151,6 @@
2015-06-18 Martin Rudalics <address@hidden>
- Fix last fix"
-
Set image_cache_refcount before x_default_parameter calls. (Bug#20802)
* src/nsfns.m (Fx_create_frame):
* src/xfns.c (Fx_create_frame, x_create_tip_frame): Move setting
diff --git a/lisp/window.el b/lisp/window.el
index d39c701..f198d78 100644
--- a/lisp/window.el
+++ b/lisp/window.el
@@ -3160,7 +3160,7 @@ move it as far as possible in the desired direction."
(let* ((frame (window-frame window))
(minibuffer-window (minibuffer-window frame))
(right window)
- left this-delta min-delta max-delta ignore)
+ left first-left first-right this-delta min-delta max-delta ignore)
(unless pixelwise
(setq pixelwise t)
@@ -3188,6 +3188,7 @@ move it as far as possible in the desired direction."
(t
;; Set LEFT to the first resizable window on the left. This step is
;; needed to handle fixed-size windows.
+ (setq first-left left)
(while (and left
(or (window-size-fixed-p left horizontal)
(and (< delta 0)
@@ -3200,8 +3201,10 @@ move it as far as possible in the desired direction."
(not (window-combined-p left horizontal))))
(window-left left)))))
(unless left
+ ;; We have to resize a size-preserved window. Start again with
+ ;; the window initially on the left.
(setq ignore 'preserved)
- (setq left window)
+ (setq left first-left)
(while (and left
(or (window-size-fixed-p left horizontal 'preserved)
(<= (window-size left horizontal t)
@@ -3220,6 +3223,7 @@ move it as far as possible in the desired direction."
;; Set RIGHT to the first resizable window on the right. This step
;; is needed to handle fixed-size windows.
+ (setq first-right right)
(while (and right
(or (window-size-fixed-p right horizontal)
(and (> delta 0)
@@ -3232,12 +3236,14 @@ move it as far as possible in the desired direction."
(not (window-combined-p right horizontal))))
(window-right right)))))
(unless right
+ ;; We have to resize a size-preserved window. Start again with
+ ;; the window initially on the right.
(setq ignore 'preserved)
- (setq right (window-right window))
+ (setq right first-right)
(while (and right
(or (window-size-fixed-p right horizontal 'preserved))
(<= (window-size right horizontal t)
- (window-min-size right horizontal nil t)))
+ (window-min-size right horizontal 'preserved t)))
(setq right
(or (window-right right)
(progn
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master a3f3cd7: In ‘adjust-window-trailing-edge’ fix bug with size-preserved windows.,
Martin Rudalics <=