]> git.eshelyaron.com Git - emacs.git/commitdiff
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-455
authorMiles Bader <miles@gnu.org>
Wed, 14 Jul 2004 22:42:44 +0000 (22:42 +0000)
committerMiles Bader <miles@gnu.org>
Wed, 14 Jul 2004 22:42:44 +0000 (22:42 +0000)
Bash the dashes

2004-07-14  K\e,Ba\e(Broly L\e,Bu\e(Brentey  <lorentey@elte.hu>

   * src/keyboard.c (echo_dash): Do nothing if there already is a dash
   at the end of the echo string.

src/ChangeLog
src/keyboard.c

index b3a9386da86eabc9f36443c19ea6024247ccf50a..e40abdc3daa7c9613b325680cbd2aa786c588d3c 100644 (file)
@@ -1,3 +1,8 @@
+2004-07-14  K\e,Ba\e(Broly L\e,Bu\e(Brentey  <lorentey@elte.hu>
+
+       * keyboard.c (echo_dash): Do nothing if there already is a dash
+       at the end of the echo string.
+
 2004-07-12  Kim F. Storm  <storm@cua.dk>
 
        * alloc.c (mark_object): Only look at Lisp_Misc_Save_Value
index f016a1283e4e48bb96c0f89520f789c639d90dfd..89706dc3dcedcaf15073cee2e8a3864ef3790b93 100644 (file)
@@ -802,6 +802,21 @@ echo_dash ()
       == SCHARS (current_kboard->echo_string))
     return;
 
+  /* Do nothing if we have already put a dash at the end.  */
+  if (SCHARS (current_kboard->echo_string) > 1)
+    {
+         Lisp_Object last_char, prev_char, idx;
+
+         idx = make_number (SCHARS (current_kboard->echo_string) - 2);
+         prev_char = Faref (current_kboard->echo_string, idx);
+
+         idx = make_number (SCHARS (current_kboard->echo_string) - 1);
+         last_char = Faref (current_kboard->echo_string, idx);
+
+         if (XINT (last_char) == '-' && XINT (prev_char) != ' ')
+           return;
+    }
+
   /* Put a dash at the end of the buffer temporarily,
      but make it go away when the next character is added.  */
   current_kboard->echo_string = concat2 (current_kboard->echo_string,