changeset 32704:a08ba216f051

(quail-update-guidance): Force a redisplay before setting the guidance window size, to ensure we see any minibuffer expansion it causes.
author Miles Bader <miles@gnu.org>
date Fri, 20 Oct 2000 22:56:41 +0000
parents 671bdd93393c
children 7d93bad80655
files lisp/international/quail.el
diffstat 1 files changed, 13 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/international/quail.el	Fri Oct 20 22:24:55 2000 +0000
+++ b/lisp/international/quail.el	Fri Oct 20 22:56:41 2000 +0000
@@ -1955,14 +1955,19 @@
   ;; Update guidance buffer.
   (if (quail-require-guidance-buf)
       (let ((guidance (quail-guidance)))
-	(if (and (eq (selected-frame) (window-frame (minibuffer-window)))
-		 (eq (selected-frame) (window-frame quail-guidance-win)))
-	    ;; Make sure the height of the guidance window is OK
-	    ;; (sometimes, if the minibuffer window has expanded due to
-	    ;; user input, it will cause the guidance window to be only
-	    ;; partially visible).
-	    (set-window-text-height quail-guidance-win 1)
-	  (quail-show-guidance-buf))
+	(if (not (and (eq (selected-frame) (window-frame (minibuffer-window)))
+		      (eq (selected-frame) (window-frame quail-guidance-win))))
+	    ;; The guidance window is not show in this frame, show it
+	    (quail-show-guidance-buf)
+	  ;; Make sure the height of the guidance window is OK --
+	  ;; sometimes, if the minibuffer window expands due to user
+	  ;; input (for instance if the newly inserted character is in a
+	  ;; different font), it will cause the guidance window to be
+	  ;; only partially visible.  We force a redisplay first because
+	  ;; this automatic expansion doesn't happen until then, and we
+	  ;; want to see the window sizes after the expansion.
+	  (sit-for 0)
+	  (set-window-text-height quail-guidance-win 1))
 	(cond ((or (eq guidance t)
 		   (consp guidance))
 	       ;; Show the current possible translations.