diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/data.c | 11 |
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); } |
