Function: internal-delete-indirect-variable

internal-delete-indirect-variable is a function defined in eval.c.

Signature

(internal-delete-indirect-variable SYMBOL)

Documentation

Undeclare SYMBOL as variable alias, then unbind it.

Return SYMBOL. Internal use only.

Source Code

// Defined in /usr/src/emacs/src/eval.c
{
  CHECK_SYMBOL (symbol);
  if (XSYMBOL (symbol)->u.s.redirect != SYMBOL_VARALIAS)
    xsignal2 (Qerror,
	      build_string ("Cannot undeclare a variable that is not an alias"),
	      symbol);
  XSYMBOL (symbol)->u.s.redirect = SYMBOL_PLAINVAL;
  Fput (symbol, Qvariable_documentation, Qnil);
  Fset (symbol, Qunbound);
  return symbol;
}