(Fforward_word): If in a mini-buffer and moving
authorGerd Moellmann <gerd@gnu.org>
Wed, 25 Aug 1999 21:12:36 +0000 (21:12 +0000)
committerGerd Moellmann <gerd@gnu.org>
Wed, 25 Aug 1999 21:12:36 +0000 (21:12 +0000)
backwards, stop in front of the prompt to prevent accidentially
moving into the read-only prompt.

src/syntax.c

index 233f798..71a2080 100644 (file)
@@ -1214,6 +1214,17 @@ and nil is returned.")
       SET_PT (XINT (count) > 0 ? ZV : BEGV);
       return Qnil;
     }
+
+  /* If in a mini-buffer and moving backwards, stop in front of the
+     prompt if we are currently in front of it.  This prevents
+     accidentially moving into the read-only prompt.  */
+  if (INTEGERP (current_buffer->minibuffer_prompt_length))
+    {
+      int prompt_end = XFASTINT (current_buffer->minibuffer_prompt_length);
+      if (PT > prompt_end && val < prompt_end)
+       val = prompt_end;
+    }
+  
   SET_PT (val);
   return Qt;
 }