;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\303\304!\210\303\305\306\"\210\205\307!\310\311\312\313\314\315\312\315\316\317\320\321\322& #\315\207" [load-file-name sly-profiler--path sly-profiler--contrib require sly sly-parse "lib/sly-parse" file-name-directory put sly-contribs sly-profiler record sly-contrib nil (slynk/profiler) sly-profiler-init sly-profiler-unload ("João Távora ") ("GPL")] 13) (defalias 'sly-profiler-init #[0 "\305\306\307\310\311\312\313\"\"\"\210\314\313:\203'@\262\315\316E \317\320$A\262\202 \266\n\321=\2037\322 \2037\323 \210\324\325\326\"\210\327 !\f>\204K\330\331\332 D\"\210 \211\333\334I\207" [sly-profiler--path sly-contrib--required-slynk-modules this-command sly-profiler--contrib cl-struct-sly-contrib-tags mapc funcall mapcar sly-contrib--enable cl-remove-if sly-contrib--enabled-p nil (slynk/profiler) cl-adjoin sly-profiler :key cl-first sly-setup sly-connected-p sly-contrib--load-slynk-dependencies add-hook sly-mode-hook sly-profiler-enable type-of signal wrong-type-argument sly-contrib 1 t] 7]) (defalias 'sly-profiler-unload #[0 "\303\304\305\"\210\306\307:\203@\262\310\311\312$A\262\202\266\313\314\315\"\210\316\317\320\321\322\323\307\"\"\"\210\324 !\n>\204?\325\326\327 D\"\210 \211\330\307I\207" [sly-contrib--required-slynk-modules sly-profiler--contrib cl-struct-sly-contrib-tags remove-hook sly-mode-hook sly-profiler-enable (slynk/profiler) nil cl-remove :key cl-first sly-warning "Disabling contrib %s" sly-profiler mapc funcall mapcar sly-contrib--disable cl-remove-if-not sly-contrib--enabled-p type-of signal wrong-type-argument sly-contrib 1] 7]) (defvar sly-profiler-mode-map (byte-code "\300 \301\302\303#\210\301\304\305#\210\301\306\307#\210\301\310\311#\210\207" [make-sparse-keymap define-key "G" sly-profiler-fetch-timings " " sly-profiler-clear-fetched-timings "g" sly-profiler-fetch-status "q" quit-window] 5)) (defvar sly-profiler-mode-hook nil) (byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [sly-profiler-mode-hook variable-documentation put "Hook run after entering SLY Timing Dialog mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" boundp sly-profiler-mode-map definition-name sly-profiler-mode] 4) (defvar sly-profiler-mode-map (make-sparse-keymap)) (byte-code "\301\302N\204\303\301\302\304\305!#\210\306\307!\204\303\307\310\311#\210\312\313 !\210\307\302N\204-\303\307\302\304\314!#\210\306\300!\204B\303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P\303\300\302\304\320!#\210\303\311\321\317#\207" [sly-profiler-mode-abbrev-table sly-profiler-mode-map variable-documentation put purecopy "Keymap for `sly-profiler-mode'." boundp sly-profiler-mode-syntax-table definition-name sly-profiler-mode (lambda (#1=#:def-tmp-var) (defvar sly-profiler-mode-syntax-table #1#)) make-syntax-table "Syntax table for `sly-profiler-mode'." (lambda (#1#) (defvar sly-profiler-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `sly-profiler-mode'." derived-mode-parent] 5) #@175 Mode for controlling SLY's Timing Dialog This mode runs the hook `sly-profiler-mode-hook', as the final or penultimate step during initialization. \{sly-profiler-mode-map} (defalias 'sly-profiler-mode #[0 "\306\300!\210\307\310 \210\311\312\313 !\210\314\f!\210 \314!\210\315\316!\210)\317\320!\207" [delay-mode-hooks major-mode mode-name sly-profiler-mode-map sly-profiler-mode-syntax-table sly-profiler-mode-abbrev-table make-local-variable t kill-all-local-variables sly-profiler-mode "SLY Timing Dialog" use-local-map set-syntax-table read-only-mode 1 run-mode-hooks sly-profiler-mode-hook local-abbrev-table lisp-mode-syntax-table] 2 (#$ . 3225) nil]) (defvar sly-profiler-shortcut-mode-map (byte-code "\300 \301\302\303#\210\301\304\305#\210\207" [make-sparse-keymap define-key "Y" sly-profiler "" sly-profiler-toggle-timing] 5)) #@121 Non-nil if Sly-Profiler-Shortcut mode is enabled. Use the command `sly-profiler-shortcut-mode' to change this variable. (defvar sly-profiler-shortcut-mode nil (#$ . 4082)) (make-variable-buffer-local 'sly-profiler-shortcut-mode) #@623 Add keybindings for accessing SLY's Profiler. This is a minor mode. If called interactively, toggle the `Sly-Profiler-Shortcut mode' mode. If the prefix argument is positive, enable the mode, and if it is zero or negative, disable the mode. If called from Lisp, toggle the mode if ARG is `toggle'. Enable the mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, evaluate `sly-profiler-shortcut-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. (fn &optional ARG) (defalias 'sly-profiler-shortcut-mode #[256 "\302 \303=\203 ?\202\247\203\304W\203\305\202\306\307\301!\2031\310\300 \"\2031\300 B\311\312\203;\313\202<\314\"\210\315\316!\203^\302 \203P\211\302 \232\203^\317\320\203Z\321\202[\322\323#\210\210\324 \210\207" [sly-profiler-shortcut-mode local-minor-modes current-message toggle 1 nil t boundp delq run-hooks sly-profiler-shortcut-mode-hook sly-profiler-shortcut-mode-on-hook sly-profiler-shortcut-mode-off-hook called-interactively-p any message "Sly-Profiler-Shortcut mode %sabled%s" "en" "dis" " in current buffer" force-mode-line-update] 6 (#$ . 4318) (byte-code "\203\n\301!\202 \302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)]) (defvar sly-profiler-shortcut-mode-hook nil) (byte-code "\301\302N\204\f\303\301\302\304#\210\303\301\305\306#\210\303\301\307\310C#\210\311\312\310\313\300!\205#\310\211%\207" [sly-profiler-shortcut-mode-map sly-profiler-shortcut-mode-hook variable-documentation put "Hook run after entering or leaving `sly-profiler-shortcut-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" custom-type hook standard-value nil add-minor-mode sly-profiler-shortcut-mode boundp] 6) (defalias 'sly-profiler-enable #[0 "\300\301!\207" [sly-profiler-shortcut-mode 1] 2]) (defalias 'sly-profiler--get-buffer #[0 "\303\304\305!\"\306!\211\203\307!\203r\211q\210 \n>)\203\207\211\203'\310!\210r\311!q\210\312 \210\313p!)\207" [sly-default-connection sly-buffer-connection sly-net-processes format "*profiler for %s*" sly-connection-name get-buffer buffer-live-p kill-buffer get-buffer-create sly-profiler-mode pop-to-buffer] 4]) (defalias 'sly-profiler--clear-local-tree #[0 "\300 \210\301c\207" [erase-buffer "Cleared timings!"] 1]) #@21 (fn TIMING-SPECS) (defalias 'sly-profiler--render-timings #[257 "\302\303 \210p\211\304:\203 @\262\305!\210\306 \210A\262\202 \266*\304\207" [inhibit-read-only standard-output t erase-buffer nil princ terpri] 5 (#$ . 6790)]) #@77 Clear local and remote timings collected so far (fn &optional INTERACTIVE) (defalias 'sly-profiler-clear-fetched-timings #[256 "\211\203\n\300\301!\205\302\303\304\"\207" [y-or-n-p "Clear all collected and fetched timings?" sly-eval-async (slynk-profiler:clear-timing-tree) sly-profiler--clear-local-tree] 4 (#$ . 7034) "p"]) (defalias 'sly-profiler-fetch-timings #[0 "\300\301\302\"\207" [sly-eval-async (slynk-profiler:report-latest-timings) sly-profiler--render-timings] 3 nil nil]) (defalias 'sly-profiler-fetch-status #[0 "\300 \207" [sly-profiler-fetch-timings] 1 nil nil]) #@178 Toggle the dialog-timing of the spec at point. When USING-CONTEXT-P, attempt to decipher lambdas. methods and other complicated function specs. (fn &optional USING-CONTEXT-P) (defalias 'sly-profiler-toggle-timing #[256 "\211\203 \300 \202 \301 \302\303\304\305\"\"\306\305\307\310\311DD!\"\207" [sly-extract-context sly-symbol-at-point read-from-minibuffer "(Un)time: " format "%s" message sly-eval slynk-profiler:toggle-timing slynk::from-string] 9 (#$ . 7625) "P"]) #@184 Show timing dialog and refresh timing collection status. With optional CLEAR-AND-FETCH prefix arg, clear the current tree and fetch a first batch of timings. (fn &optional REFRESH) (defalias 'sly-profiler #[256 "\306r\307\310\311\312\n#!q\210\313p\314 \210\315 \210\306\211\316!\210\203(\317 \210\320p\315=?\2052\313\"\211\203<\321\313\"\210\210p,\207" [major-mode view-read-only sly-default-connection standard-output inhibit-read-only sly-buffer-package nil get-buffer-create sly-buffer-name :profiler :connection t erase-buffer sly-profiler-mode set-syntax-table sly-profiler-fetch-timings display-buffer select-window sly-buffer-connection lisp-mode-syntax-table] 8 (#$ . 8106) "P"]) #@43 Menu setting traces from anywhere in SLY. (defvar sly-profiler--shortcut-menu nil (#$ . 8817)) (byte-code "\302\301\303\304\305\303\306\307\310\311\312#\310\313\314\315\316\nDE#E\266\203$\210\317\303 \320$\207" [sly-menu sly-profiler--shortcut-menu easy-menu-do-define nil "Menu setting traces from anywhere in SLY." (eq major-mode 'sly-profiler-mode) (sly-connected-p) "Profiling" vector "(Un)Profile definition" sly-profiler-toggle-timing "Open Profiler Dialog" sly-profiler and not easy-menu-add-item "Documentation"] 16) (defvar sly-profiler--easy-menu (byte-code "\300\301\302\303\304#\302\305\306#E\207" [(memq sly-buffer-connection sly-net-processes) "Timing" vector "Clear fetched timings" sly-profiler-clear-fetched-timings "Fetch timings" sly-profiler-fetch-timings] 7)) #@8 Timing (defvar my-menu nil (#$ . 9610)) (byte-code "\302\303\304 $\210\305\306!\207" [sly-profiler-mode-map sly-profiler--easy-menu easy-menu-do-define my-menu "Timing" provide sly-profiler] 5)