summaryrefslogtreecommitdiff
path: root/src/editfns.c
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1999-09-08 07:56:20 +0000
committerRichard M. Stallman <rms@gnu.org>1999-09-08 07:56:20 +0000
commit95dccf758355eb3119d64f6ceabd70763ad8b1ff (patch)
treeea02ce8d5e64fc857c2c03fa8dd58cc315cf2919 /src/editfns.c
parente52ad9c9c74f983db6875f9f7131054a7462e965 (diff)
downloademacs-95dccf758355eb3119d64f6ceabd70763ad8b1ff.tar.gz
(Fbufsize): Accept an extra BUFFER parameter.
Diffstat (limited to 'src/editfns.c')
-rw-r--r--src/editfns.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/editfns.c b/src/editfns.c
index a12954a6ed7..ab96d6f70d0 100644
--- a/src/editfns.c
+++ b/src/editfns.c
@@ -427,13 +427,18 @@ Executes BODY just like `progn'.")
return unbind_to (count, val);
}
-DEFUN ("buffer-size", Fbufsize, Sbufsize, 0, 0, 0,
- "Return the number of characters in the current buffer.")
- ()
+DEFUN ("buffer-size", Fbufsize, Sbufsize, 0, 1, 0,
+ "Return the number of characters in the current buffer.\n\
+If BUFFER, return the number of characters in that buffer instead.")
+ (buffer)
+ Lisp_Object buffer;
{
- Lisp_Object temp;
- XSETFASTINT (temp, Z - BEG);
- return temp;
+ if (NILP (buffer))
+ return make_number (Z - BEG);
+ else {
+ CHECK_BUFFER (buffer, 1);
+ return make_number (BUF_Z (XBUFFER (buffer)) - BUF_BEG (XBUFFER (buffer)));
+ }
}
DEFUN ("point-min", Fpoint_min, Spoint_min, 0, 0, 0,