summaryrefslogtreecommitdiff
path: root/src/data.c
diff options
context:
space:
mode:
authorNoam Postavsky <npostavs@gmail.com>2016-11-19 16:50:34 -0500
committerNoam Postavsky <npostavs@gmail.com>2016-12-02 20:25:14 -0500
commit459a23444e321d25f0b82bede76947576f01ecc3 (patch)
tree7f8d4d4128aa17317b17c337c4b7ab9d0aa5ded3 /src/data.c
parent227213164e06363f0a4fb2beeeb647c99749299e (diff)
downloademacs-459a23444e321d25f0b82bede76947576f01ecc3.tar.gz
Show watchpoints when describing variables
* src/data.c (Fget_variable_watchers): New function. * lisp/help-fns.el (describe-variable): Use it to detect watching functions.
Diffstat (limited to 'src/data.c')
-rw-r--r--src/data.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/data.c b/src/data.c
index 07730d0924f..095b740c1b2 100644
--- a/src/data.c
+++ b/src/data.c
@@ -1463,6 +1463,16 @@ SYMBOL (or its aliases) are set. */)
return Qnil;
}
+DEFUN ("get-variable-watchers", Fget_variable_watchers, Sget_variable_watchers,
+ 1, 1, 0,
+ doc: /* Return a list of SYMBOL's active watchers. */)
+ (Lisp_Object symbol)
+{
+ return (SYMBOL_TRAPPED_WRITE_P (symbol) == SYMBOL_TRAPPED_WRITE)
+ ? Fget (Findirect_variable (symbol), Qwatchers)
+ : Qnil;
+}
+
void
notify_variable_watchers (Lisp_Object symbol,
Lisp_Object newval,
@@ -3874,4 +3884,5 @@ syms_of_data (void)
DEFSYM (Qset_default, "set-default");
defsubr (&Sadd_variable_watcher);
defsubr (&Sremove_variable_watcher);
+ defsubr (&Sget_variable_watchers);
}