> The code imposes this as one of the conditions for fitting the window > to the buffer: > > (or (not (frame-parameter frame 'minibuffer)) > (let ((mini-window (minibuffer-window frame))) > (or (null mini-window) > (not (eq frame (window-frame mini-window))) > (< (nth 3 edges) (nth 1 (window-edges mini-window))) > (> (nth 1 edges) (frame-parameter frame 'menu-bar-lines))))) > > I don't understand the last condition (>). At the least, this > condition seems to be missing from the doc string: > > "Do nothing if the buffer contains more lines than the present window > height, or if some of the window's contents are scrolled out of view, > or if shrinking this window would also shrink another window, or if > the window is the only window of its frame." > > What is that last condition (>) for? What is the relation between the > number of menu-bar-lines and the `Top' position of the window? I guess it's a poor man's attempt to make sure that there's some other window above or below the one to shrink. > And doesn't this code raise an error if the `menu-bar-lines' parameter > is nil? Should it really be doing that? Looks like a bug. Could you try the attached patch? Since this code hasn't been touched for quite some time we can't fix it for Emacs 23.1 though. martin