(display-message-or-buffer): Compare the number of characters to the frame
authorEli Zaretskii <eliz@gnu.org>
Sat, 4 Feb 2006 21:48:50 +0000 (21:48 +0000)
committerEli Zaretskii <eliz@gnu.org>
Sat, 4 Feb 2006 21:48:50 +0000 (21:48 +0000)
width when determining whether a 1-line message string will fit in the echo
area.

lisp/ChangeLog
lisp/simple.el

index d91434f..8c47eff 100644 (file)
@@ -1,8 +1,10 @@
 2006-02-04  Kevin Rodgers  <ihs_4664@yahoo.com>
 
-       * simple.el (display-message-or-buffer): Count screen lines
-       instead of buffer lines when determining whether the message
-       will fit in the echo area/minibuffer window.
+       * simple.el (display-message-or-buffer): Compare the number of
+       characters to the frame width when determining whether a 1-line
+       message string will fit in the echo area.  Count screen lines
+       instead of buffer lines when determining whether a multi-line
+       message will fit in the echo area/minibuffer window.
 
 2006-02-04  Eli Zaretskii  <eliz@gnu.org>
 
index 9ca1cf2..58b0ba2 100644 (file)
@@ -1901,11 +1901,14 @@ the contents are inserted into the buffer anyway.
 
 Optional arguments NOT-THIS-WINDOW and FRAME are as for `display-buffer',
 and only used if a buffer is displayed."
-  (cond ((and (stringp message) (not (string-match "\n" message)))
+  (cond ((and (stringp message)
+             (not (string-match "\n" message))
+             (<= (length message) (frame-width)))
         ;; Trivial case where we can use the echo area
         (message "%s" message))
        ((and (stringp message)
-             (= (string-match "\n" message) (1- (length message))))
+             (= (string-match "\n" message) (1- (length message)))
+             (<= (1- (length message)) (frame-width)))
         ;; Trivial case where we can just remove single trailing newline
         (message "%s" (substring message 0 (1- (length message)))))
        (t