Subject: Re: bug#11276: minibuffers windows can no longer explictly be resized

From: martin rudalics <[email-masked]>
Date: Thu, 19 Apr 2012 12:42:06 +0200

> C-x ^ runs enlarge-window

Silly binding.

 >> Does it work if you set `resize-mini-windows' to nil?
 >
 > No.

First bug.  I forgot that one can invoke `enlarge-window' and
`shrink-window' in the minibuffer window.  I'm not sure though whether these
should have any effect when `resize-mini-windows' is non-nil.

 >>  If I do that here, I can, for example, drag the divider between the
 >> emacs -Q main window and the minibuffer window with the mouse.
 >
 > I can't seem to do that (GNU/Linux, lucid toolkit), no matter what the
 > value of resize-mini-windows is. Works in 23.4, not in trunk.

Second bug (though it should work with >= 2 windows).  I misinterpreted
the semantics of `one-window-p'.

Please test the attached patch.  Resizing miniwindows was hardly tested,
unfortunately.

martin
=== modified file 'lisp/mouse.el'
--- lisp/mouse.el	2012-01-19 07:21:25 +0000
+++ lisp/mouse.el	2012-04-19 08:24:05 +0000
@@ -408,7 +408,7 @@
 	  (and (eq line 'mode)
 	       (not resize-mini-windows)
 	       (eq (window-frame minibuffer-window) frame)
-	       (not (one-window-p t frame))
+	       (not (one-window-p t))
 	       (= (nth 1 (window-edges minibuffer-window))
 		  (nth 3 (window-edges window)))))
 	 (which-side

=== modified file 'lisp/window.el'
--- lisp/window.el	2012-04-11 02:36:04 +0000
+++ lisp/window.el	2012-04-19 10:22:56 +0000
@@ -2102,6 +2102,8 @@
    ((zerop delta))
    ((window-size-fixed-p nil horizontal)
     (error "Selected window has fixed size"))
+   ((and (window-minibuffer-p) (not horizontal))
+    (window--resize-mini-window (selected-window) delta))
    ((window--resizable-p nil delta horizontal)
     (window-resize nil delta horizontal))
    (t
@@ -2124,6 +2126,8 @@
    ((zerop delta))
    ((window-size-fixed-p nil horizontal)
     (error "Selected window has fixed size"))
+   ((and (window-minibuffer-p) (not horizontal))
+    (window--resize-mini-window (selected-window) (- delta)))
    ((window--resizable-p nil (- delta) horizontal)
     (window-resize nil (- delta) horizontal))
    (t