• Stefan Monnier's avatar
    Make called-interactively-p work for edebug or advised code. · 23ba2705
    Stefan Monnier authored
    * lisp/subr.el (called-interactively-p-functions): New var.
    (internal--called-interactively-p--get-frame): New macro.
    (called-interactively-p, interactive-p): Rewrite in Lisp.
    * lisp/emacs-lisp/nadvice.el (advice--called-interactively-skip): New fun.
    (called-interactively-p-functions): Use it.
    * lisp/emacs-lisp/edebug.el (edebug--called-interactively-skip): New fun.
    (called-interactively-p-functions): Use it.
    * lisp/allout.el (allout-called-interactively-p): Don't assume
    called-interactively-p is a subr.
    * src/eval.c (Finteractive_p, Fcalled_interactively_p, interactive_p): Remove.
    (syms_of_eval): Remove corresponding defsubr.
    * src/bytecode.c (exec_byte_code): `interactive-p' is now a Lisp function.
    * test/automated/advice-tests.el (advice-tests--data): Remove.
    (advice-tests): Move the tests directly here instead.
    Add called-interactively-p tests.
    23ba2705
bytecode.c 43.1 KB