summaryrefslogtreecommitdiff
path: root/src/data.c
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1994-09-30 20:32:45 +0000
committerRichard M. Stallman <rms@gnu.org>1994-09-30 20:32:45 +0000
commitda4f066fa049375124fea1f3510b13ae8bdac0b8 (patch)
tree866e1874026d28d06ec8cb3462d64bc8c0f4c2cc /src/data.c
parent737793368af49d13d24386b866639cbe0255a4ac (diff)
downloademacs-da4f066fa049375124fea1f3510b13ae8bdac0b8.tar.gz
(Fmake_local_variable): Doc fix.
(Flocal_variable_p): New function. (syms_of_data): defsubr it.
Diffstat (limited to 'src/data.c')
-rw-r--r--src/data.c25
1 files changed, 23 insertions, 2 deletions
diff --git a/src/data.c b/src/data.c
index c44bd6f0d46..8623281463f 100644
--- a/src/data.c
+++ b/src/data.c
@@ -1133,7 +1133,10 @@ VARIABLE previously had. If VARIABLE was void, it remains void.\)\n\
See also `make-variable-buffer-local'.\n\n\
If the variable is already arranged to become local when set,\n\
this function causes a local value to exist for this buffer,\n\
-just as if the variable were set.")
+just as setting the variable would do.\n\
+\n\
+Do not use `make-local-variable' to make a hook variable buffer-local.\n\
+Use `make-local-hook' instead.")
(sym)
register Lisp_Object sym;
{
@@ -1241,6 +1244,23 @@ From now on the default value will apply in this buffer.")
return sym;
}
+
+DEFUN ("local-variable-p", Flocal_variable_p, Slocal_variable_p,
+ 1, 1, 0,
+ "Non-nil if VARIABLE has a local binding in the current buffer.")
+ (sym)
+ register Lisp_Object sym;
+{
+ Lisp_Object valcontents;
+
+ CHECK_SYMBOL (sym, 0);
+
+ valcontents = XSYMBOL (sym)->value;
+ return ((BUFFER_LOCAL_VALUEP (valcontents)
+ || SOME_BUFFER_LOCAL_VALUEP (valcontents)
+ || BUFFER_OBJFWDP (valcontents))
+ ? Qt : Qnil);
+}
/* Find the function at the end of a chain of symbol function indirections. */
@@ -1253,7 +1273,7 @@ From now on the default value will apply in this buffer.")
error if the chain ends up unbound. */
Lisp_Object
indirect_function (object)
- register Lisp_Object object;
+ register Lisp_Object object;
{
Lisp_Object tortoise, hare;
@@ -2292,6 +2312,7 @@ syms_of_data ()
defsubr (&Smake_variable_buffer_local);
defsubr (&Smake_local_variable);
defsubr (&Skill_local_variable);
+ defsubr (&Slocal_variable_p);
defsubr (&Saref);
defsubr (&Saset);
defsubr (&Snumber_to_string);