# HG changeset patch # User Aidan Kehoe # Date 1199269156 -3600 # Node ID 0c089d397c3ea5da42906a660f71923c17ea94d7 # Parent 751d82f59283dea703b660f3ebc3f3581e6d97d0# Parent 53e507d77416adad6ce72e66fb4b7f8848fa993b Automated merge with ssh://aidan-guest@hg.debian.org//hg/xemacs/xemacs diff -r 751d82f59283 -r 0c089d397c3e lisp/ChangeLog --- a/lisp/ChangeLog Wed Jan 02 11:16:16 2008 +0100 +++ b/lisp/ChangeLog Wed Jan 02 11:19:16 2008 +0100 @@ -1,3 +1,10 @@ +2008-01-02 Mike Sperber + + * minibuf.el (mouse-read-file-name-1): Make the buttons in the + dialog frame occupy `window-min-height' lines to avoid problems + when the window configuration changes---as it does with + `resize-minibuffer-mode'. + 2007-12-31 Aidan Kehoe * menubar-items.el (default-menubar): diff -r 751d82f59283 -r 0c089d397c3e lisp/minibuf.el --- a/lisp/minibuf.el Wed Jan 02 11:16:16 2008 +0100 +++ b/lisp/minibuf.el Wed Jan 02 11:19:16 2008 +0100 @@ -2057,7 +2057,7 @@ (let* ((file-p (eq 'read-file-name-internal completer)) (filebuf (get-buffer-create "*Completions*")) (dirbuf (and file-p (generate-new-buffer " *mouse-read-file*"))) - (butbuf (generate-new-buffer " *mouse-read-file*")) + (butbuf (generate-new-buffer " *mouse-read-file-buttons*")) (frame (make-dialog-frame)) filewin dirwin user-data) @@ -2067,12 +2067,11 @@ ;; set up the frame. (focus-frame frame) - (let ((window-min-height 1)) - ;; #### should be 2 not 3, but that causes - ;; "window too small to split" errors for some - ;; people (but not for me ...) There's a more - ;; fundamental bug somewhere. - (split-window nil (- (frame-height frame) 3))) + ;; We really need `window-min-height' lines for the button + ;; buffer, as otherwise the button buffer might get + ;; inadvertently deleted when other window-size changes + ;; happen (such as through resize-minibuffer-mode). + (split-window nil (- (frame-height frame) window-min-height)) (if file-p (progn (split-window-horizontally 16) diff -r 751d82f59283 -r 0c089d397c3e src/ChangeLog --- a/src/ChangeLog Wed Jan 02 11:16:16 2008 +0100 +++ b/src/ChangeLog Wed Jan 02 11:19:16 2008 +0100 @@ -4,6 +4,14 @@ Don't check is fun zero in the condition, check that it's not nil. Fixes the union build; thank you Stephen. +2008-01-02 Mike Sperber + + * window.c (set_window_pixsize): Factor in the modeline when + looking at window_min_width. Remove obsolete comment about + incorrect use of `default_face_height_and_width'. + (change_window_height): Remove obsolete comment about + incorrect use of `default_face_height_and_width'. + 2007-12-30 Aidan Kehoe * doc.c (Fbuilt_in_symbol_file): diff -r 751d82f59283 -r 0c089d397c3e src/window.c --- a/src/window.c Wed Jan 02 11:16:16 2008 +0100 +++ b/src/window.c Wed Jan 02 11:19:16 2008 +0100 @@ -3520,8 +3520,6 @@ int line_size; int defheight, defwidth; - /* #### This is very likely incorrect and instead the char_to_pixel_ - functions should be called. */ default_face_height_and_width (window, &defheight, &defwidth); line_size = (set_height ? defheight : defwidth); @@ -3532,7 +3530,7 @@ if (!nodelete && !TOP_LEVEL_WINDOW_P (w) - && new_pixsize < minsize) + && (new_pixsize + window_modeline_height (w)) < minsize) { Fdelete_window (window, Qnil); return; @@ -4369,8 +4367,6 @@ if (EQ (window, FRAME_ROOT_WINDOW (f))) invalid_operation ("Won't change only window", Qunbound); - /* #### This is very likely incorrect and instead the char_to_pixel_ - functions should be called. */ default_face_height_and_width (window, &defheight, &defwidth); while (1)