Function: remove-variable-watcher

remove-variable-watcher is a function defined in data.c.

Signature

(remove-variable-watcher SYMBOL WATCH-FUNCTION)

Documentation

Undo the effect of add-variable-watcher.

Remove WATCH-FUNCTION from the list of functions to be called when SYMBOL (or its aliases) are set.

Source Code

// Defined in /usr/src/emacs/src/data.c
{
  symbol = Findirect_variable (symbol);
  Lisp_Object watchers = Fget (symbol, Qwatchers);
  watchers = Fdelete (watch_function, watchers);
  if (NILP (watchers))
    {
      set_symbol_trapped_write (symbol, SYMBOL_UNTRAPPED_WRITE);
      map_obarray (Vobarray, harmonize_variable_watchers, symbol);
    }
  Fput (symbol, Qwatchers, watchers);
  return Qnil;
}