[C] xemacs-21.5-clean: minibuffer resizing based on echo area size

Adrian Aichner adrian at xemacs.org
Wed Nov 1 16:36:45 EST 2006


COMMIT

Larsi, you may be interested in this too.

All, please send me your feedback and problem reports.

I have always felt uneasy about answering questions like:

Please answer y or n.  File `c:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean

Now the question is:

Please answer y or n.  File `c:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\nt\xemacs-21.5-clean-make-all.err' exists; overwrite? (y or n) 

which is a bit easier to answer :-)

The full CahngeLog entry is:

2006-10-28  Adrian Aichner  <adrian at xemacs.org>

	* simple.el (raw-append-message): Implement minibuffer resizing
	based on requirements of echo area content.

The diff is a result of an earlier accidental commit (._.)

Adrian

xemacs-21.5-clean ChangeLog patch:
Diff command:   cvs -q diff -U 0
Files affected: lisp/ChangeLog

Index: lisp/ChangeLog
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/ChangeLog,v
retrieving revision 1.765
diff -u -U0 -r1.765 ChangeLog
--- lisp/ChangeLog	1 Nov 2006 20:55:14 -0000	1.765
+++ lisp/ChangeLog	1 Nov 2006 21:20:23 -0000
@@ -0,0 +1,4 @@
+2006-11-01  Adrian Aichner  <adrian at xemacs.org>
+
+	* simple.el (raw-append-message):
+
@@ -4 +8 @@
-	based on requirements filled echo area content.
+	based on requirements of echo area content.

xemacs-21.5-clean source patch:
Diff command:   cvs -f -z3 -q diff -u -w -N
Files affected: lisp/simple.el
===================================================================
RCS

Index: lisp/simple.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/simple.el,v
retrieving revision 1.55
diff -u -w -r1.55 simple.el
--- lisp/simple.el	25 Apr 2006 19:46:24 -0000	1.55
+++ lisp/simple.el	1 Nov 2006 21:20:06 -0000
@@ -4301,7 +4301,16 @@
 (defun raw-append-message (message &optional frame stdout-p)
   (unless (equal message "")
     (let ((inhibit-read-only t))
-      (insert-string message " *Echo Area*")
+      (with-current-buffer " *Echo Area*"
+	(insert-string message)
+	;; (fill-region (point-min) (point-max))
+	(enlarge-window
+	 (- 
+	  (ceiling
+	   (/ (- (point-max) (point-min)) 
+	      (- (window-width (minibuffer-window)) 1.0)))
+	  (window-height (minibuffer-window)))
+	 nil (minibuffer-window)))
       ;; Conditionalizing on the device type in this way is not that clean,
       ;; but neither is having a device method, as I originally implemented
       ;; it: all non-stream devices behave in the same way.  Perhaps

-- 
Adrian Aichner
 mailto:adrian at xemacs.org
 http://www.xemacs.org/



More information about the XEmacs-Patches mailing list