changeset 9194:3db4151c3d00

(Fmake_local_variable): Doc fix. (Flocal_variable_p): New function. (syms_of_data): defsubr it.
author Richard M. Stallman <rms@gnu.org>
date Fri, 30 Sep 1994 20:32:45 +0000
parents 86fd33a4f327
children 70b00615cb75
files src/data.c
diffstat 1 files changed, 23 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/data.c	Fri Sep 30 17:18:24 1994 +0000
+++ b/src/data.c	Fri Sep 30 20:32:45 1994 +0000
@@ -1133,7 +1133,10 @@
 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 @@
 
   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 @@
    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 @@
   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);