MMCT TEAM
Server IP : 111.118.215.189  /  Your IP : 3.147.48.161
Web Server : Apache
System : Linux md-in-83.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User : a1673wkz ( 2475)
PHP Version : 8.2.25
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /usr/share/emacs/24.3/lisp/emacs-lisp/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //usr/share/emacs/24.3/lisp/emacs-lisp/trace.elc
;ELC
;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:09:05 2024
;;; from file /builddir/build/BUILD/emacs-24.3/lisp/emacs-lisp/trace.el
;;; in Emacs version 24.3.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\300\301!\210\302\303\304\305\306\307\310\311&\210\312\313\314\315\316\317\310\303&\207" [require advice custom-declare-group trace nil "Tracing facility for Emacs Lisp functions." :prefix "trace-" :group lisp custom-declare-variable trace-buffer (purecopy "*trace-output*") "Trace output will by default go to that buffer." :type string] 8)
(defvar trace-level 0)
(defvar trace-advice-name 'trace-function\ )
(defvar trace-separator (byte-code "\300\301\302\303\304\"\"\207" [format "%s\n" make-string 70 61] 5))
#@51 If non-nil, all tracing is temporarily inhibited.
(defvar inhibit-trace nil (#$ . 1087))
(defalias 'trace-entry-message #[(function level argument-bindings) "\304\305\306\307\310S\311\"\312#\313V\203\312\202\314	\315\306\316\312#)&\207" [level function print-circle argument-bindings format "%s%s%d -> %s: %s\n" mapconcat char-to-string make-string 124 " " 1 "" t #[(binding) "\301\302\303\"!\304\305\302\306\"!Q\207" [binding symbol-name ad-arg-binding-field name "=" prin1-to-string value] 6]] 10])
(defalias 'trace-exit-message #[(function level value) "\304\305\306\307\310S\311\"\312#\313V\203\312\202\314	\315\316!)&\207" [level function print-circle value format "%s%s%d <- %s: %s\n" mapconcat char-to-string make-string 124 " " 1 "" t prin1-to-string] 8])
(defalias 'trace-make-advice #[(function buffer background) "\304\305\306\307\310\305\311\312\313\314	DDD\315\316\317\313\320\n?\205\321\322\323\324\325\326D\327BBD\257E\330\315\316\317\313\n?\2053\331\332\324\333\326D\334BBD\257E\257F$\207" [trace-advice-name buffer background function ad-make-advice nil t advice lambda let (trace-level (1+ trace-level)) trace-buffer get-buffer-create unless inhibit-trace with-current-buffer (set (make-local-variable 'window-point-insertion-type) t) (display-buffer trace-buffer) (goto-char (point-max)) (if (= trace-level 1) (insert trace-separator)) insert trace-entry-message quote (trace-level ad-arg-bindings) ad-do-it (display-buffer trace-buffer) (goto-char (point-max)) trace-exit-message (trace-level ad-return-value)] 21])
(defalias 'trace-function-internal #[(function buffer background) "\304\305	\206	\n#\306\307$\210\310\311\"\207" [function buffer trace-buffer background ad-add-advice trace-make-advice around last ad-activate nil] 6])
(defalias 'trace-is-traced #[(function) "\302	\303N\236A\236\207" [trace-advice-name function around ad-advice-info] 4])
#@554 Traces FUNCTION with trace output going to BUFFER.
For every call of FUNCTION Lisp-style trace messages that display argument
and return values will be inserted into BUFFER.  This function generates the
trace advice for FUNCTION and activates it together with any other advice
there might be!!  The trace BUFFER will popup whenever FUNCTION is called.
Do not use this to trace functions that switch buffers or do any other
display oriented stuff, use `trace-function-background' instead.

To untrace a function, use `untrace-function' or `untrace-all'.
(defalias 'trace-function #[(function &optional buffer) "\302	\303#\207" [function buffer trace-function-internal nil] 4 (#$ . 3007) (list (intern (completing-read "Trace function: " obarray 'fboundp t)) (read-buffer "Output to buffer: " trace-buffer))])
#@510 Traces FUNCTION with trace output going quietly to BUFFER.
When this tracing is enabled, every call to FUNCTION writes
a Lisp-style trace message (showing the arguments and return value)
into BUFFER.  This function generates advice to trace FUNCTION
and activates it together with any other advice there might be.
The trace output goes to BUFFER quietly, without changing
the window or buffer configuration.

BUFFER defaults to `trace-buffer'.

To untrace a function, use `untrace-function' or `untrace-all'.
(defalias 'trace-function-background #[(function &optional buffer) "\302	\303#\207" [function buffer trace-function-internal t] 4 (#$ . 3823) (list (intern (completing-read "Trace function in background: " obarray 'fboundp t)) (read-buffer "Output to buffer: " trace-buffer))])
#@244 Untraces FUNCTION and possibly activates all remaining advice.
Activation is performed with `ad-update', hence remaining advice will get
activated only if the advice of FUNCTION is currently active.  If FUNCTION
was not traced this is a noop.
(defalias 'untrace-function #[(function) "\302!\205\303\304	#\210\305!\207" [function trace-advice-name trace-is-traced ad-remove-advice around ad-update] 4 (#$ . 4618) (list (ad-read-advised-function "Untrace function" 'trace-is-traced))])
#@42 Untraces all currently traced functions.
(defalias 'untrace-all #[nil "\303\211\203\n@\304	@!\305	!\210\nA\211\204\303*\303\207" [ad-advised-functions function --dolist-tail-- nil intern untrace-function] 3 (#$ . 5113) nil])
(provide 'trace)

MMCT - 2023