(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.
This commit is contained in:
Eli Zaretskii
2006-02-04 21:48:50 +00:00
parent 62ffcd76a9
commit aca2d9bb92
2 changed files with 10 additions and 5 deletions

View 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>

View 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