changeset 25656:b278da3accef

(Fbuffer_string): Use prompt_end_charpos instead of minibuffer_prompt_length. (Fline_beginning_position): Ditto. (make_buffer_string_both): Take out the code to handle mini-buffer prompts. (Fbuffer_string): Handle the prompt here, instead.
author Gerd Moellmann <gerd@gnu.org>
date Sun, 12 Sep 1999 20:21:51 +0000
parents a75be4927319
children 2e9b26a83bfa
files src/editfns.c
diffstat 1 files changed, 15 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/src/editfns.c	Sun Sep 12 20:21:50 1999 +0000
+++ b/src/editfns.c	Sun Sep 12 20:21:51 1999 +0000
@@ -301,10 +301,10 @@
   Fforward_line (make_number (XINT (n) - 1));
   end = PT;
 
-  if (INTEGERP (current_buffer->minibuffer_prompt_length)
-      && orig >= XFASTINT (current_buffer->minibuffer_prompt_length)
-      && end < XFASTINT (current_buffer->minibuffer_prompt_length))
-    end = XFASTINT (current_buffer->minibuffer_prompt_length);
+  if (INTEGERP (current_buffer->prompt_end_charpos)
+      && orig >= XFASTINT (current_buffer->prompt_end_charpos)
+      && end < XFASTINT (current_buffer->prompt_end_charpos))
+    end = XFASTINT (current_buffer->prompt_end_charpos);
 
   SET_PT_BOTH (orig, orig_byte);
 
@@ -1622,13 +1622,6 @@
 {
   Lisp_Object result, tem, tem1;
 
-  if (INTEGERP (current_buffer->minibuffer_prompt_length))
-    {
-      int len = XFASTINT (current_buffer->minibuffer_prompt_length);
-      start = min (end, max (len, start));
-      start_byte = CHAR_TO_BYTE (start);
-    }
-
   if (start < GPT && GPT < end)
     move_gap (start);
 
@@ -1729,10 +1722,19 @@
 DEFUN ("buffer-string", Fbuffer_string, Sbuffer_string, 0, 0, 0,
   "Return the contents of the current buffer as a string.\n\
 If narrowing is in effect, this function returns only the visible part\n\
-of the buffer.")
+of the buffer.  If in a mini-buffer, don't include the prompt in the\n\
+string returned.")
   ()
 {
-  return make_buffer_string (BEGV, ZV, 1);
+  int start = BEGV;
+  
+  if (INTEGERP (current_buffer->prompt_end_charpos))
+    {
+      int len = XFASTINT (current_buffer->prompt_end_charpos);
+      start = min (ZV, max (len, start));
+    }
+
+  return make_buffer_string (start, ZV, 1);
 }
 
 DEFUN ("insert-buffer-substring", Finsert_buffer_substring, Sinsert_buffer_substring,