summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerd Moellmann <gerd@gnu.org>2001-04-04 14:06:06 +0000
committerGerd Moellmann <gerd@gnu.org>2001-04-04 14:06:06 +0000
commit1013f4e380ba62f82a8e8621a2ea00a58974cc5d (patch)
treee2c1320ae13464674d9541dd447f750b5df93941
parentd8e17bc6863936a1f3f6824ec1051c17295479e3 (diff)
downloademacs-1013f4e380ba62f82a8e8621a2ea00a58974cc5d.tar.gz
(with_echo_area_buffer): Avoid confusion from reusing
the buffer that was used for echoing.
-rw-r--r--src/ChangeLog8
-rw-r--r--src/xdisp.c5
2 files changed, 13 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index a0225dd188c..36eac1ca486 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,13 @@
2001-04-04 Gerd Moellmann <gerd@gnu.org>
+ * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
+
+ * keyboard.c (echoing, echo_message_buffer): Make externally
+ visible.
+
+ * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
+ the buffer that was used for echoing.
+
* xfaces.c (best_matching_font): Remove unused parameter PATTERN.
(first_font_matching): Removed unused function.
(x_face_list_fonts): Remove unused parameter SCALABLE_P.
diff --git a/src/xdisp.c b/src/xdisp.c
index 925eed8d6ff..4b26633c7e7 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -6139,6 +6139,11 @@ with_echo_area_buffer (w, which, fn, a1, a2, a3, a4)
buffer = echo_area_buffer[this_one];
+ /* Don't get confused by reusing the buffer used for echoing
+ for a different purpose. */
+ if (!echoing && EQ (buffer, echo_message_buffer))
+ cancel_echoing ();
+
record_unwind_protect (unwind_with_echo_area_buffer,
with_echo_area_buffer_unwind_data (w));