changeset 4378:0c089d397c3e

Automated merge with ssh://aidan-guest@hg.debian.org//hg/xemacs/xemacs
author Aidan Kehoe <kehoea@parhasard.net>
date Wed, 02 Jan 2008 11:19:16 +0100
parents 751d82f59283 (current diff) 53e507d77416 (diff)
children 92188a8f47a3
files src/ChangeLog
diffstat 4 files changed, 22 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- 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  <mike@xemacs.org>
+
+	* 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  <kehoea@parhasard.net>
 
 	* menubar-items.el (default-menubar): 
--- 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)
--- 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  <mike@xemacs.org>
+
+	* 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  <kehoea@parhasard.net>
 
 	* doc.c (Fbuilt_in_symbol_file):
--- 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)