aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Rudalics2015-08-22 10:22:26 +0200
committerMartin Rudalics2015-08-22 10:22:26 +0200
commita3f3cd7c4a79ba54f00ebd8424db3137f297517b (patch)
tree311660b65d588073e38e77218c84ea06f5521357
parent385fa75721d6d1aa1d82b9e4f05f7a76a4f79845 (diff)
downloademacs-a3f3cd7c4a79ba54f00ebd8424db3137f297517b.tar.gz
emacs-a3f3cd7c4a79ba54f00ebd8424db3137f297517b.zip
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.
-rw-r--r--ChangeLog.22
-rw-r--r--lisp/window.el14
2 files changed, 10 insertions, 6 deletions
diff --git a/ChangeLog.2 b/ChangeLog.2
index 3a93fda6f67..242cf6b59a0 100644
--- a/ChangeLog.2
+++ b/ChangeLog.2
@@ -3151,8 +3151,6 @@
3151 3151
31522015-06-18 Martin Rudalics <rudalics@gmx.at> 31522015-06-18 Martin Rudalics <rudalics@gmx.at>
3153 3153
3154 Fix last fix"
3155
3156 Set image_cache_refcount before x_default_parameter calls. (Bug#20802) 3154 Set image_cache_refcount before x_default_parameter calls. (Bug#20802)
3157 * src/nsfns.m (Fx_create_frame): 3155 * src/nsfns.m (Fx_create_frame):
3158 * src/xfns.c (Fx_create_frame, x_create_tip_frame): Move setting 3156 * src/xfns.c (Fx_create_frame, x_create_tip_frame): Move setting
diff --git a/lisp/window.el b/lisp/window.el
index d39c7018601..f198d78cc4c 100644
--- a/lisp/window.el
+++ b/lisp/window.el
@@ -3160,7 +3160,7 @@ move it as far as possible in the desired direction."
3160 (let* ((frame (window-frame window)) 3160 (let* ((frame (window-frame window))
3161 (minibuffer-window (minibuffer-window frame)) 3161 (minibuffer-window (minibuffer-window frame))
3162 (right window) 3162 (right window)
3163 left this-delta min-delta max-delta ignore) 3163 left first-left first-right this-delta min-delta max-delta ignore)
3164 3164
3165 (unless pixelwise 3165 (unless pixelwise
3166 (setq pixelwise t) 3166 (setq pixelwise t)
@@ -3188,6 +3188,7 @@ move it as far as possible in the desired direction."
3188 (t 3188 (t
3189 ;; Set LEFT to the first resizable window on the left. This step is 3189 ;; Set LEFT to the first resizable window on the left. This step is
3190 ;; needed to handle fixed-size windows. 3190 ;; needed to handle fixed-size windows.
3191 (setq first-left left)
3191 (while (and left 3192 (while (and left
3192 (or (window-size-fixed-p left horizontal) 3193 (or (window-size-fixed-p left horizontal)
3193 (and (< delta 0) 3194 (and (< delta 0)
@@ -3200,8 +3201,10 @@ move it as far as possible in the desired direction."
3200 (not (window-combined-p left horizontal)))) 3201 (not (window-combined-p left horizontal))))
3201 (window-left left))))) 3202 (window-left left)))))
3202 (unless left 3203 (unless left
3204 ;; We have to resize a size-preserved window. Start again with
3205 ;; the window initially on the left.
3203 (setq ignore 'preserved) 3206 (setq ignore 'preserved)
3204 (setq left window) 3207 (setq left first-left)
3205 (while (and left 3208 (while (and left
3206 (or (window-size-fixed-p left horizontal 'preserved) 3209 (or (window-size-fixed-p left horizontal 'preserved)
3207 (<= (window-size left horizontal t) 3210 (<= (window-size left horizontal t)
@@ -3220,6 +3223,7 @@ move it as far as possible in the desired direction."
3220 3223
3221 ;; Set RIGHT to the first resizable window on the right. This step 3224 ;; Set RIGHT to the first resizable window on the right. This step
3222 ;; is needed to handle fixed-size windows. 3225 ;; is needed to handle fixed-size windows.
3226 (setq first-right right)
3223 (while (and right 3227 (while (and right
3224 (or (window-size-fixed-p right horizontal) 3228 (or (window-size-fixed-p right horizontal)
3225 (and (> delta 0) 3229 (and (> delta 0)
@@ -3232,12 +3236,14 @@ move it as far as possible in the desired direction."
3232 (not (window-combined-p right horizontal)))) 3236 (not (window-combined-p right horizontal))))
3233 (window-right right))))) 3237 (window-right right)))))
3234 (unless right 3238 (unless right
3239 ;; We have to resize a size-preserved window. Start again with
3240 ;; the window initially on the right.
3235 (setq ignore 'preserved) 3241 (setq ignore 'preserved)
3236 (setq right (window-right window)) 3242 (setq right first-right)
3237 (while (and right 3243 (while (and right
3238 (or (window-size-fixed-p right horizontal 'preserved)) 3244 (or (window-size-fixed-p right horizontal 'preserved))
3239 (<= (window-size right horizontal t) 3245 (<= (window-size right horizontal t)
3240 (window-min-size right horizontal nil t))) 3246 (window-min-size right horizontal 'preserved t)))
3241 (setq right 3247 (setq right
3242 (or (window-right right) 3248 (or (window-right right)
3243 (progn 3249 (progn