]> git.eshelyaron.com Git - emacs.git/commit
New commands for bulk tracing of elisp functions (bug#27397)
authorPhil Sainty <psainty@orcon.net.nz>
Sun, 11 Jun 2017 05:29:53 +0000 (17:29 +1200)
committerPhil Sainty <psainty@orcon.net.nz>
Fri, 15 Jul 2022 03:47:21 +0000 (15:47 +1200)
commit904a03af5b83109e7b01b4b43f0dec569c244211
tree3f6919d8a86bd7f47cf5fd7768e7bcc37fd543fb
parent2e0c76e397811837fd119c1298a5606b4ef65be5
New commands for bulk tracing of elisp functions (bug#27397)

* lisp/emacs-lisp/trace.el (trace-package, untrace-package)
(trace-regexp, untrace-regexp, trace-library, untrace-library)
(trace-currently-traced): New commands.

(trace-is-traceable-p): New predicate function used for filtering
interactive completions.

(trace--read-function): New function, split from `trace--read-args'.
Changed to use the new `trace-is-traceable-p' predicate.

(trace--read-extra-args): New function, split from `trace--read-args'.
Changed to allow the user to enter an empty string at the context
expression prompt (previously an error; now treated as "nil"), and to
cause a "nil" context expression to produce no context output in the
trace buffer.

(trace--read-args): Removed function.  Replaced by the combination of
`trace--read-function' and `trace--read-extra-args'.

(trace-function-foreground, trace-function-background): Updated
interactive specs to use the new functions.

(trace--read-library, trace--library-defuns, trace--library-autoloads)
(trace--library-provides-autoload-p): New functions for establishing
traceable functions related to specific libraries.

(trace--after-load-alist): New variable.
(trace--after-load, trace--after-load-function)
(trace--remove-after-load, trace--remove-after-load-all):
New functions for optionally re-processing the `trace-regexp',
`untrace-regexp', and `trace-library' calls via
`after-load-functions'.

(untrace-all): Call `trace--remove-after-load-all'.

(trace-is-traced, trace-function-foreground, untrace-function)
(untrace-all): Doc updates/fixes.

Commentary updated to cover the new commands.

Change log updated to cover the main changes since 1993.

* etc/NEWS: Mention the new trace commands.

* doc/lispref/debugging.texi: Mention the new trace commands.
doc/lispref/debugging.texi
etc/NEWS
lisp/emacs-lisp/trace.el