;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\303\304!\210\303\305\306\"\210\303\307\310\"\210\303\311!\210\303\312!\210\303\313!\210\303\314!\210\205%\315!\316\317\320\321\322\323\320\323\324\325\326\327\330& #\323\207" [load-file-name sly-stickers--path sly-stickers--contrib require sly sly-parse "lib/sly-parse" sly-buttons "lib/sly-buttons" cl-lib hi-lock color pulse file-name-directory put sly-contribs sly-stickers record sly-contrib nil (slynk/stickers) sly-stickers-init sly-stickers-unload ("João Távora ") ("GPL")] 13) (defalias 'sly-stickers-init #[0 "\306\307\310\311\312\313\314\"\"\"\210\315\314:\203'@\262\316\317E \320\321$A\262\202 \266\n\322=\2037\323 \2037\324 \210\325\326\327\"\210\325\330\331\"\210\332\325\333\334\335#\210\325\336\337\"\210\340\f! >\204]\341\342\343\fD\"\210\f\211\344\335I\207" [sly-stickers--path sly-contrib--required-slynk-modules this-command sly-compile-region-function sly-stickers--contrib cl-struct-sly-contrib-tags mapc funcall mapcar sly-contrib--enable cl-remove-if sly-contrib--enabled-p nil (slynk/stickers) cl-adjoin sly-stickers :key cl-first sly-setup sly-connected-p sly-contrib--load-slynk-dependencies add-hook sly-editing-mode-hook sly-stickers-mode sly-mode-hook sly-stickers-shortcut-mode sly-stickers-compile-region-aware-of-stickers sly-compilation-finished-hook sly-stickers-after-buffer-compilation t sly-db-extras-hooks sly-stickers--handle-break type-of signal wrong-type-argument sly-contrib 1] 7]) (defalias 'sly-stickers-unload #[0 "\304\305\306\"\210\304\307\310\"\210\311\304\312\313\"\210\304\314\315\"\210\316\317:\203/@\262\320 \321\322$A\262\202\266\323\324\325\"\210\326\327\330\331\332\333\317\"\"\"\210\334\n! >\204P\335\336\337\nD\"\210\n\211\340\317I\207" [sly-compile-region-function sly-contrib--required-slynk-modules sly-stickers--contrib cl-struct-sly-contrib-tags remove-hook sly-editing-mode-hook sly-stickers-mode sly-mode-hook sly-stickers-shortcut-mode sly-compile-region-as-string sly-compilation-finished-hook sly-stickers-after-buffer-compilation sly-db-extras-hooks sly-stickers--handle-break (slynk/stickers) nil cl-remove :key cl-first sly-warning "Disabling contrib %s" sly-stickers 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-stickers--counter 0) (defvar sly-stickers--stickers (make-hash-table)) #@63 Sticker ids that might exist in Slynk but no longer in Emacs. (defvar sly-stickers--zombie-sticker-ids nil (#$ . 2514)) (defalias 'sly-stickers--zombies #[0 "\207" [sly-stickers--zombie-sticker-ids] 1]) (defalias 'sly-stickers--reset-zombies #[0 "\301\211\207" [sly-stickers--zombie-sticker-ids nil] 2]) (byte-code "\300\301\302\303\304\305\306\307&\210\310\311\312\313#\210\310\314\315\316#\210\310\317\320\321#\210\310\322\323\324#\210\310\325\326\327#\207" [custom-declare-group sly-stickers nil "Mark expressions in source buffers and annotate return values." :prefix "sly-stickers-" :group sly custom-declare-face sly-stickers-placed-face ((((background dark)) (:background "light grey" :foreground "black")) (t (:background "light grey"))) "Face for sticker just set" sly-stickers-armed-face ((t (:strike-through nil :inherit hi-blue))) "Face for stickers that have been armed" sly-stickers-recordings-face ((t (:strike-through nil :inherit hi-green))) "Face for stickers that have new recordings" sly-stickers-empty-face ((t (:strike-through nil :inherit hi-pink))) "Face for stickers that have no recordings." sly-stickers-exited-non-locally-face ((t (:strike-through t :inherit sly-stickers-empty-face))) "Face for stickers that have exited non-locally."] 8) (defvar sly-stickers-mode-map (byte-code "\300 \301\302\303#\210\301\304\305#\210\301\306\307#\210\207" [make-sparse-keymap define-key "" sly-stickers-dwim "" sly-stickers-clear-defun-stickers " " sly-stickers-clear-buffer-stickers] 5)) (defvar sly-stickers-shortcut-mode-map (byte-code "\300 \301\302\303#\210\301\304\305#\210\301\306\307#\210\207" [make-sparse-keymap define-key "S" sly-stickers-fetch "F" sly-stickers-forget "" sly-stickers-replay] 5)) #@103 Non-nil if Sly-Stickers mode is enabled. Use the command `sly-stickers-mode' to change this variable. (defvar sly-stickers-mode nil (#$ . 4269)) (make-variable-buffer-local 'sly-stickers-mode) #@621 Mark expression in source buffers and annotate return values. This is a minor mode. If called interactively, toggle the `Sly-Stickers 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-stickers-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. (fn &optional ARG) (defalias 'sly-stickers-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-stickers-mode local-minor-modes current-message toggle 1 nil t boundp delq run-hooks sly-stickers-mode-hook sly-stickers-mode-on-hook sly-stickers-mode-off-hook called-interactively-p any message "Sly-Stickers mode %sabled%s" "en" "dis" " in current buffer" force-mode-line-update] 6 (#$ . 4469) (byte-code "\203\n\301!\202 \302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)]) (defvar sly-stickers-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-stickers-mode-map sly-stickers-mode-hook variable-documentation put "Hook run after entering or leaving `sly-stickers-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-stickers-mode boundp] 6) #@121 Non-nil if Sly-Stickers-Shortcut mode is enabled. Use the command `sly-stickers-shortcut-mode' to change this variable. (defvar sly-stickers-shortcut-mode nil (#$ . 6281)) (make-variable-buffer-local 'sly-stickers-shortcut-mode) #@622 Shortcuts for navigating sticker recordings. This is a minor mode. If called interactively, toggle the `Sly-Stickers-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-stickers-shortcut-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. (fn &optional ARG) (defalias 'sly-stickers-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-stickers-shortcut-mode local-minor-modes current-message toggle 1 nil t boundp delq run-hooks sly-stickers-shortcut-mode-hook sly-stickers-shortcut-mode-on-hook sly-stickers-shortcut-mode-off-hook called-interactively-p any message "Sly-Stickers-Shortcut mode %sabled%s" "en" "dis" " in current buffer" force-mode-line-update] 6 (#$ . 6517) (byte-code "\203\n\301!\202 \302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)]) (defvar sly-stickers-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-stickers-shortcut-mode-map sly-stickers-shortcut-mode-hook variable-documentation put "Hook run after entering or leaving `sly-stickers-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-stickers-shortcut-mode boundp] 6) (defvar sly-stickers--sticker-map (byte-code "\300 \301\302\303#\210\301\304\305#\210\301\306\305#\210\207" [make-sparse-keymap define-key [134217741] sly-mrepl-copy-part-to-repl [down-mouse-3] sly-button-popup-part-menu [mouse-3]] 5)) (define-button-type 'sly-stickers-sticker :supertype 'sly-part 'sly-button-inspect 'sly-stickers--inspect-recording 'sly-button-echo 'sly-stickers--echo-sticker 'keymap sly-stickers--sticker-map) #@31 (fn STICKER &optional INFO) (defalias 'sly-stickers--set-tooltip #[513 "\300\301\"\203\302\303R\202\211\304\305#\210\304\306#\207" [button-get sly-stickers--base-help-echo "[sly] Sticker:" "\n" button-put help-echo sly-stickers--info] 8 (#$ . 8863)]) #@27 (fn STICKER &rest MORE) (defalias 'sly-stickers--echo-sticker #[385 "\211\203\f\300\301\302C\302$\210\303\304\305\"!\210\306!\207" [cl--assertion-failed (null more) nil sly-message button-get sly-stickers--info sly-button-flash] 7 (#$ . 9134)]) (byte-code "\300\301\302\303\304DD\305\306\307%\207" [custom-declare-variable sly-stickers-max-nested-stickers funcall function #[0 "\300\207" [4] 1] "The maximum expected level expected of sticker nesting.\nIf you nest more than this number of stickers inside other\nstickers, the overlay face will be very dark, and probably\nrender the underlying text unreadable." :type :integer] 6) #@67 Color-capable attribute of sticker faces that represents nesting. (defvar sly-stickers-color-face-attribute :background (#$ . 9778)) (byte-code "\300\301\302\303#\300\207" [function-put sly-stickers--level gv-expander #[385 "\300\301\302$\207" [gv--defsetter sly-stickers--level #[514 "\300\301\302DE\303\304\305BB\306DEE\207" [prog1 setf sly-button--level when button-get ('sly-stickers--base-face) sly-stickers--set-face] 8 "\n\n(fn LEVEL STICKER)"]] 7 "\n\n(fn DO &rest ARGS)"]] 4) #@16 (fn STICKER) (defalias 'sly-stickers--level #[257 "\300!\207" [sly-button--level] 3 (#$ . 10275)]) #@13 (fn FACE) (defalias 'sly-stickers--guess-face-color #[257 "\301\302\303$\211\304=?\205\211\207" [sly-stickers-color-face-attribute face-attribute nil t unspecified] 6 (#$ . 10383)]) #@31 (fn STICKER &optional FACE) (defalias 'sly-stickers--set-face #[513 "\211\206\302\303\"\304!\305\303#\210\211\204\306\307!\210\305\310\311\312\313\314\315! \316#_\"F#\207" [sly-stickers-color-face-attribute sly-stickers-max-nested-stickers button-get sly-stickers--base-face sly-stickers--guess-face-color button-put sly-error "sorry, can't guess color for face %s for sticker %s" face :inherit color-darken-name 25 / sly-stickers--level 1.0] 17 (#$ . 10577)]) #@16 (fn BEG END) (defalias 'sly-stickers--stickers-in #[514 "\300\301#\207" [sly-button--overlays-in sly-stickers--sticker-id] 6 (#$ . 11061)]) #@12 (fn POS) (defalias 'sly-stickers--stickers-at #[257 "\300\301\"\207" [sly-button--overlays-at sly-stickers--sticker-id] 4 (#$ . 11211)]) #@16 (fn BEG END) (defalias 'sly-stickers--stickers-between #[514 "\300\301#\207" [sly-button--overlays-between sly-stickers--sticker-id] 6 (#$ . 11357)]) #@16 (fn BEG END) (defalias 'sly-stickers--stickers-exactly-at #[514 "\300\301#\207" [sly-button--overlays-exactly-at sly-stickers--sticker-id] 6 (#$ . 11517)]) #@51 Place a new sticker from FROM to TO (fn FROM TO) (defalias 'sly-stickers--sticker #[514 "\301\"\302\"\303\"\304\305\306\307#\"\204\310\311!\210\312\"\203+\310\313!\210\262\314\315\316\317\320 \321\322\304D\323\324\325\326 \327\330\331T\211\332\333&\211\211\334\335\336\337\340\341\342\322&T#\266\343\344\"\203j\345!\210\210\346\347\"\210\350\324\"\210\345\351\"\210\207" [sly-stickers--counter sly-stickers--stickers-in sly-stickers--stickers-between cl-set-difference nil cl-every make-closure #[257 "\302!\300W\205 \303!\301V\207" [V0 V1 button-start button-end] 3 "\n\n(fn E)"] sly-error "Cannot place a sticker that partially overlaps other stickers" sly-stickers--stickers-exactly-at "There is already a sticker at those very coordinates" make-button :type sly-stickers-sticker sly-connection sly-current-connection part-args -1 part-label "Brand new sticker" sly-button-search-id sly-button-next-search-id modification-hooks (sly-stickers--sticker-modified) sly-stickers-id sly-stickers--base-help-echo "mouse-3: Context menu" overlay-put sly-button-level cl-reduce max :key sly-stickers--level :initial-value button-get sly-stickers--base-face sly-stickers--set-face mapc #[257 "\211\211\300\301\302!T#\262\303\304\"\203\305!\210\207" [overlay-put sly-button-level sly-stickers--level button-get sly-stickers--base-face sly-stickers--set-face] 8 "\n\n(fn S)"] sly-stickers--set-tooltip sly-stickers-placed-face] 25 (#$ . 11683)]) #@16 (fn STICKER) (defalias 'sly-stickers--sticker-id #[257 "\300\301\"\207" [button-get sly-stickers-id] 4 (#$ . 13175)]) #@16 (fn STICKER) (defalias 'sly-stickers--arm-sticker #[257 "\301!\302\303\"\304\305\306D#\210\304\307#\210\304\310\306#\210\311\"\210\312\313\"\210\314#\207" [sly-stickers--stickers sly-stickers--sticker-id format "Sticker %d is armed" button-put part-args nil part-label sly-stickers--last-known-recording sly-stickers--set-tooltip sly-stickers--set-face sly-stickers-armed-face puthash] 8 (#$ . 13302)]) #@16 (fn STICKER) (defalias 'sly-stickers--disarm-sticker #[257 "\300!\301\302\"\303\304\305\306D#\210\303\307#\210\310\"\210\311\312\"\207" [sly-stickers--sticker-id format "Sticker %d failed to stick" button-put part-args -1 nil part-label sly-stickers--set-tooltip sly-stickers--set-face sly-stickers-placed-face] 8 (#$ . 13726)]) (define-button-type 'sly-stickers--recording-part :supertype 'sly-part 'sly-button-inspect 'sly-stickers--inspect-recording) #@54 (fn LABEL STICKER-ID RECORDING VINDEX &rest PROPS) (defalias 'sly-stickers--recording-part #[1156 "\300\301\302\303\304\305\n\n\nE\306\307\n&\n\207" [apply sly--make-text-button nil :type sly-stickers--recording-part part-args part-label "Recorded value"] 16 (#$ . 14196)]) #@49 (fn RECORDING &key (INDENT 0) (PREFIX "=> ")) (defalias 'sly-stickers--describe-recording-values #[385 "\301\302\"\206\303A@\301\304\"\206\305A@\211\203?\211@\306>\203(\211AA\262\202\307>A@\2036\310\262\202\311\312@\"\210\202\210\313\314\315!>\204S\316\317\320D\"\210\321H\315!>\204g\316\317\320 D\"\210\322H\203w\323\324\325\326#\"\207\211\204\204\323\327\325\326#\"\207\211\310\211\330\331:\203\330\262\211A\262\242\262\211  \f\332\315!>\204\266\316\317\320D\"\210\333H\n$\"\"P\262\203\315\211\334P\262A\262T\262\202\211\207" [cl-struct-sly-stickers--recording-tags plist-member :indent (nil 0) :prefix (nil "=> ") (:indent :prefix :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:indent :prefix)" #[514 "\300\301\"P\207" [make-string 32] 5 "\n\n(fn INDENT STR)"] #[514 "P\207" [] 4 "\n\n(fn PREFIX STR)"] type-of signal wrong-type-argument sly-stickers--recording 4 5 propertize "exited non locally" face sly-action-face "no values" 0 "" sly-stickers--recording-part 1 "\n"] 23 (#$ . 14484)]) #@107 Work around bug #63, actually Emacs bug #21839. "25.0.50; can't use newlines in defaults in cl functions" (defconst sly-stickers--newline "\n" (#$ . 15599)) #@57 (fn RECORDING &key (SEPARATOR sly-stickers--newline)) (defalias 'sly-stickers--pretty-describe-recording #[385 "\303\304\"\206\n\305DA@\211\2037\211@\306>\203 \211AA\262\202 \307>A@\203.\305\262\202 \310\311@\"\210\202 \210\312! >\204G\313\314\315D\"\210\316H\317\n\"\312! >\204^\313\314\315D\"\210\320HG\321\322\203\204\321\323\324!r\325!q\210\326\327!!)\325!$\202\211\321\330\"\211\331V\262\203\231\321\332\"\202\232\333\334 \335\336#%\207" [sly-stickers--newline cl-struct-sly-stickers--recording-tags sly-stickers--stickers plist-member :separator nil (:separator :allow-other-keys) :allow-other-keys error "Keyword argument %s not one of (:separator)" type-of signal wrong-type-argument sly-stickers--recording 1 gethash 4 format "%s%s:%s%s" "Sticker %s on line %s of %s" sly-stickers--sticker-id overlay-buffer line-number-at-pos overlay-start "Deleted or unknown sticker %s" 0 " returned %s values" "" sly-stickers--describe-recording-values :indent 2] 15 (#$ . 15762)]) #@26 (fn STICKER RECORDING) (defalias 'sly-stickers--populate-sticker #[514 "\301!\302!>\204\303\304\305D\"\210\306H\211\211\307V\262\203m\310\311\312\313##\210\314!?\205\224\310\315#\210\310\316D#\210\317\312\320\321\322\323##\"\210\324\302!>\204`\303\304\305D\"\210\325H\203j\326\202k\327\"\207\330\315\"\310\311\312\331\"#\210\211\203\211\317\312\332\321!\"\"\210\317\333\"\210\324\334\"\262\207" [cl-struct-sly-stickers--recording-tags sly-stickers--sticker-id type-of signal wrong-type-argument sly-stickers--recording 2 0 button-put part-label format "Sticker %d has %d recordings" sly-stickers--recording-void-p sly-stickers--last-known-recording part-args sly-stickers--set-tooltip "Newest of %s sticker recordings:\n%s" sly-stickers--describe-recording-values :prefix "" sly-stickers--set-face 5 sly-stickers-exited-non-locally-face sly-stickers-recordings-face button-get "Sticker %d has no recordings" "No new recordings. Last known:\n%s" "No new recordings" sly-stickers-empty-face] 13 (#$ . 16793)]) #@16 (fn STICKER) (defalias 'sly-stickers--sticker-substickers #[257 "\300\301\302!\303!\"\"\304\302!\303!\"\300\"\203#\305\306!\210\307\"\207\207" [remove sly-stickers--stickers-between button-start button-end sly-stickers--stickers-exactly-at sly-warning "Something's fishy. More than one sticker at same position" cl-set-difference] 7 (#$ . 17854)]) #@16 (fn STICKER) (defalias 'sly-stickers--briefly-describe-sticker #[257 "\300!\301!\211Z\302W\203\303\304\305\"\"\207\306\303\307\310\"\311\"#\207" [button-start button-end 20 format "sticker around %s" buffer-substring-no-properties #[514 "\300\301\302\212b\210v\210`)D\303\"\"\207" [apply buffer-substring-no-properties sort <] 7 "\n\n(fn POINT DIRECTION)"] "sticker from \"%s...\" to \"...%s\"" 1 -1] 10 (#$ . 18221)]) #@47 Ensure that sticker is deleted. (fn STICKER) (defalias 'sly-stickers--delete #[257 "\301!\203\302\301!!\203\303\304\305!\"\210\306!\210\307!\310\307!\"\205.\311\"\210\312\313\"\207" [sly-stickers--stickers overlay-buffer buffer-live-p mapc #[257 "\211\211\300\301\302!S#\262\303\304\"\203\305!\210\207" [overlay-put sly-button-level sly-stickers--level button-get sly-stickers--base-face sly-stickers--set-face] 8 "\n\n(fn S)"] sly-stickers--sticker-substickers delete-overlay sly-stickers--sticker-id gethash remhash add-to-list sly-stickers--zombie-sticker-ids] 5 (#$ . 18662)]) #@59 (fn STICKER AFTER\=\? BEG END &optional PRE-CHANGE-LEN) (defalias 'sly-stickers--sticker-modified #[1284 "\212b\210\301\302w\210`Y)?\205\303\304\305\306!\"\210\307!)\207" [inhibit-modification-hooks " \n " nil t sly-message "Deleting %s" sly-stickers--briefly-describe-sticker sly-stickers--delete] 9 (#$ . 19272)]) #@20 (fn &optional N) (defalias 'sly-stickers-next-sticker #[256 "\300\301\"\207" [sly-button-search sly-stickers--sticker-id] 4 (#$ . 19604) "p"]) #@20 (fn &optional N) (defalias 'sly-stickers-prev-sticker #[256 "\300[\301\"\207" [sly-button-search sly-stickers--sticker-id] 4 (#$ . 19756) "p"]) (byte-code "\300\301\302\303#\210\300\304\302\303#\207" [put sly-stickers-next-sticker sly-button-navigation-command t sly-stickers-prev-sticker] 4) #@51 Clear all stickers in the current top-level form. (defalias 'sly-stickers-clear-defun-stickers #[0 "\300 \301@A@\"\207" [sly-region-for-defun-at-point sly-stickers-clear-region-stickers] 4 (#$ . 20058) nil]) #@47 Clear all the stickers in the current buffer. (defalias 'sly-stickers-clear-buffer-stickers #[0 "\300ed\"\207" [sly-stickers-clear-region-stickers] 3 (#$ . 20274) nil]) #@69 Clear all the stickers between FROM and TO. (fn &optional FROM TO) (defalias 'sly-stickers-clear-region-stickers #[512 "\206\300 \206\f\301 \302\"\211\203\303\304\"\210\305\306G\"\207\305\307!\207" [region-beginning region-end sly-stickers--stickers-in mapc sly-stickers--delete sly-message "%s stickers cleared" "no stickers to clear"] 8 (#$ . 20449) "r"]) #@60 Delete the topmost sticker at point. (fn &optional POINT) (defalias 'sly-stickers-delete-sticker-at-point #[256 "\300\206`!\211\203$\301@!\210\211A\203\302\303AG\"\207\302\304\305@!\"\207\306\307!\207" [sly-stickers--stickers-at sly-stickers--delete sly-message "Deleted topmost sticker (%d remain at point)" "Deleted sticker %s" sly-stickers--briefly-describe-sticker sly-user-error "No stickers at point"] 6 (#$ . 20825) "d"]) #@170 Add of remove a sticker at POINT. If point is currently at a sticker boundary, delete that sticker, otherwise, add a sticker to the sexp at point. (fn &optional POINT) (defalias 'sly-stickers-maybe-add-sticker #[256 "\212\211\206`b\210\300 \211@A\205\301\"\204\"\302\303!\266\204\202A\211\2033\304@!\210\302\305!\266\204\202A\306\"\302\307\310!\"\262\266\204)\207" [sly-bounds-of-sexp-at-point sly-stickers--stickers-exactly-at sly-message "Nothing here to place sticker on, apparently" sly-stickers--delete "Deleted sticker" sly-stickers--sticker "Added %s" sly-stickers--briefly-describe-sticker] 10 (#$ . 21271) "d"]) #@367 Set or remove stickers at point. Set a sticker for the current sexp at point, or delete it if it already exists. If the region is active set a sticker in the current region. With interactive prefix arg PREFIX always delete stickers. - One C-u means delete the current top-level form's stickers. - Two C-u's means delete the current buffer's stickers (fn PREFIX) (defalias 'sly-stickers-dwim #[257 "\211\300U\203\301 \203\302 \207\303 \207\211\304Y\203\305 \207\301 \203*\306\307 \310 \"\210\311\312!\207\313 \2042\314 \207\315\316!\207" [4 region-active-p sly-stickers-clear-region-stickers sly-stickers-clear-defun-stickers 16 sly-stickers-clear-buffer-stickers sly-stickers--sticker region-beginning region-end deactivate-mark t sly-inside-string-or-comment-p sly-stickers-maybe-add-sticker sly-message "No point placing stickers in string literals or comments"] 4 (#$ . 21918) "p"]) #@195 Return the sticker for STICKER-ID, or return NIL. Perform some housecleaning tasks for stickers that have been properly deleted or brutally killed with the buffer they were in. (fn STICKER-ID) (defalias 'sly-stickers--sticker-by-id #[257 "\301\"\211\203\302!\203\303\302!!\203\207\211\203!\304!\210\305\207\306\307\"\210\305\207" [sly-stickers--stickers gethash overlay-buffer buffer-live-p sly-stickers--delete nil add-to-list sly-stickers--zombie-sticker-ids] 5 (#$ . 22823)]) #@38 The sticker currently being flashed. (defvar sly-stickers--flashing-sticker nil (#$ . 23322)) #@203 Find and flash the sticker referenced by STICKER-ID. otherwise call OTHERWISE with a single argument, a string stating the reason why the sticker couldn't be found (fn STICKER-ID &key (OTHERWISE nil)) (defalias 'sly-stickers--find-and-flash #[385 "\301\302\"A@\211\2031\211@\303>\203\211AA\262\202\304>A@\203(\305\262\202\306\307@\"\210\202\210\310!\211\203\200\311!\211\205r\211q\210\312\313\"\211\205|\314!r\315\316\"\216\317@\320\"\210\321\305\313\"\210\322!b\210\323`!\210\324\325\"\210\326\327\305\315\330\"#*\262\262)\207\205\207\331!\207" [sly-stickers--flashing-sticker plist-member :otherwise (:otherwise :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:otherwise)" sly-stickers--sticker-by-id overlay-buffer display-buffer t internal--before-with-selected-window make-closure #[0 "\301\300!\207" [V0 internal--after-with-selected-window] 2] select-window norecord push-mark overlay-start sly-recenter pulse-momentary-highlight-overlay highlight run-with-timer 2 #[0 " \300=\205\n\302\300\303\"\207" [V0 sly-stickers--flashing-sticker pulse-momentary-highlight-overlay highlight] 3] "Can't find sticker (probably deleted!)"] 13 (#$ . 23423)]) (advice-add 'pulse-momentary-unhighlight :before #[128 "\211\205\301\302\"\205\303\304\305#\207" [pulse-momentary-overlay overlay-get sly-stickers-id overlay-put priority nil] 6 "\n\n(fn &rest ARGS)"] '((name . fix-pulse-momentary-unhighlight-bug))) #@82 compiler-macro for inlining `sly-stickers--recording-p'. (fn CL-WHOLE-ARG CL-X) (defalias 'sly-stickers--recording-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block sly-stickers--recording-p (and (memq (type-of cl-x) cl-struct-sly-stickers--recording-tags) t)) nil] 9 (#$ . 24909)]) (put 'sly-stickers--recording-p 'compiler-macro 'sly-stickers--recording-p--cmacro) #@13 (fn CL-X) (defalias 'sly-stickers--recording-p #[257 "\301!>\205 \302\207" [cl-struct-sly-stickers--recording-tags type-of t] 3 (#$ . 25322)]) (byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put sly-stickers--recording-p side-effect-free error-free put sly-stickers--recording cl-deftype-satisfies] 5) #@91 compiler-macro for inlining `sly-stickers--recording-sticker-id'. (fn CL-WHOLE-ARG CL-X) (defalias 'sly-stickers--recording-sticker-id--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block sly-stickers--recording-sticker-id (progn (or (sly-stickers--recording-p cl-x) (signal 'wrong-type-argument (list 'sly-stickers--recording cl-x))) (aref cl-x 1))) nil] 9 (#$ . 25649)]) (put 'sly-stickers--recording-sticker-id 'compiler-macro 'sly-stickers--recording-sticker-id--cmacro) #@79 Access slot "sticker-id" of `sly-stickers--recording' struct CL-X. (fn CL-X) (defalias 'sly-stickers--recording-sticker-id #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-sly-stickers--recording-tags type-of signal wrong-type-argument sly-stickers--recording 1] 5 (#$ . 26165)]) (byte-code "\300\301\302\303#\300\207" [function-put sly-stickers--recording-sticker-id side-effect-free t] 4) #@94 compiler-macro for inlining `sly-stickers--recording-sticker-total'. (fn CL-WHOLE-ARG CL-X) (defalias 'sly-stickers--recording-sticker-total--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block sly-stickers--recording-sticker-total (progn (or (sly-stickers--recording-p cl-x) (signal 'wrong-type-argument (list 'sly-stickers--recording cl-x))) (aref cl-x 2))) nil] 9 (#$ . 26581)]) (put 'sly-stickers--recording-sticker-total 'compiler-macro 'sly-stickers--recording-sticker-total--cmacro) #@82 Access slot "sticker-total" of `sly-stickers--recording' struct CL-X. (fn CL-X) (defalias 'sly-stickers--recording-sticker-total #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-sly-stickers--recording-tags type-of signal wrong-type-argument sly-stickers--recording 2] 5 (#$ . 27112)]) (byte-code "\300\301\302\303#\300\207" [function-put sly-stickers--recording-sticker-total side-effect-free t] 4) #@83 compiler-macro for inlining `sly-stickers--recording-id'. (fn CL-WHOLE-ARG CL-X) (defalias 'sly-stickers--recording-id--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block sly-stickers--recording-id (progn (or (sly-stickers--recording-p cl-x) (signal 'wrong-type-argument (list 'sly-stickers--recording cl-x))) (aref cl-x 3))) nil] 9 (#$ . 27537)]) (put 'sly-stickers--recording-id 'compiler-macro 'sly-stickers--recording-id--cmacro) #@71 Access slot "id" of `sly-stickers--recording' struct CL-X. (fn CL-X) (defalias 'sly-stickers--recording-id #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-sly-stickers--recording-tags type-of signal wrong-type-argument sly-stickers--recording 3] 5 (#$ . 28013)]) (byte-code "\300\301\302\303#\300\207" [function-put sly-stickers--recording-id side-effect-free t] 4) #@99 compiler-macro for inlining `sly-stickers--recording-value-descriptions'. (fn CL-WHOLE-ARG CL-X) (defalias 'sly-stickers--recording-value-descriptions--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block sly-stickers--recording-value-descriptions (progn (or (sly-stickers--recording-p cl-x) (signal 'wrong-type-argument (list 'sly-stickers--recording cl-x))) (aref cl-x 4))) nil] 9 (#$ . 28405)]) (put 'sly-stickers--recording-value-descriptions 'compiler-macro 'sly-stickers--recording-value-descriptions--cmacro) #@87 Access slot "value-descriptions" of `sly-stickers--recording' struct CL-X. (fn CL-X) (defalias 'sly-stickers--recording-value-descriptions #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-sly-stickers--recording-tags type-of signal wrong-type-argument sly-stickers--recording 4] 5 (#$ . 28961)]) (byte-code "\300\301\302\303#\300\207" [function-put sly-stickers--recording-value-descriptions side-effect-free t] 4) #@101 compiler-macro for inlining `sly-stickers--recording-exited-non-locally-p'. (fn CL-WHOLE-ARG CL-X) (defalias 'sly-stickers--recording-exited-non-locally-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block sly-stickers--recording-exited-non-locally-p (progn (or (sly-stickers--recording-p cl-x) (signal 'wrong-type-argument (list 'sly-stickers--recording cl-x))) (aref cl-x 5))) nil] 9 (#$ . 29402)]) (put 'sly-stickers--recording-exited-non-locally-p 'compiler-macro 'sly-stickers--recording-exited-non-locally-p--cmacro) #@89 Access slot "exited-non-locally-p" of `sly-stickers--recording' struct CL-X. (fn CL-X) (defalias 'sly-stickers--recording-exited-non-locally-p #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-sly-stickers--recording-tags type-of signal wrong-type-argument sly-stickers--recording 5] 5 (#$ . 29968)]) (byte-code "\300\301\302\303#\300\207" [function-put sly-stickers--recording-exited-non-locally-p side-effect-free t] 4) #@95 compiler-macro for inlining `sly-stickers--recording-sly-connection'. (fn CL-WHOLE-ARG CL-X) (defalias 'sly-stickers--recording-sly-connection--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block sly-stickers--recording-sly-connection (progn (or (sly-stickers--recording-p cl-x) (signal 'wrong-type-argument (list 'sly-stickers--recording cl-x))) (aref cl-x 6))) nil] 9 (#$ . 30414)]) (put 'sly-stickers--recording-sly-connection 'compiler-macro 'sly-stickers--recording-sly-connection--cmacro) #@83 Access slot "sly-connection" of `sly-stickers--recording' struct CL-X. (fn CL-X) (defalias 'sly-stickers--recording-sly-connection #[257 "\301!>\204\302\303\304D\"\210\211\305H\207" [cl-struct-sly-stickers--recording-tags type-of signal wrong-type-argument sly-stickers--recording 6] 5 (#$ . 30950)]) (byte-code "\300\301\302\303#\304\305\306\"\207" [function-put sly-stickers--recording-sly-connection side-effect-free t defalias sly-stickers--copy-recording copy-sequence] 4) #@176 compiler-macro for inlining `sly-stickers--make-recording-1'. (fn CL-WHOLE &cl-quote &key STICKER-ID STICKER-TOTAL ID VALUE-DESCRIPTIONS EXITED-NON-LOCALLY-P SLY-CONNECTION) (defalias 'sly-stickers--make-recording-1--cmacro #[385 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\300\305\"A@\300\306\"A@\211\203R\211@\307>\203:\211AA\262\202'\310>A@\203I\311\262\202'\312\313@\"\210\202'\210\314\315\316\311 \311      & \207" [plist-member :sticker-id :sticker-total :id :value-descriptions :exited-non-locally-p :sly-connection (:sticker-id :sticker-total :id :value-descriptions :exited-non-locally-p :sly-connection :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:sticker-id :sticker-total :id :value-descriptions :exited-non-locally-p :sly-connection)" cl--defsubst-expand (sticker-id sticker-total id value-descriptions exited-non-locally-p sly-connection) (cl-block sly-stickers--make-recording-1 (record 'sly-stickers--recording sticker-id sticker-total id value-descriptions exited-non-locally-p sly-connection))] 20 (#$ . 31441)]) (put 'sly-stickers--make-recording-1 'compiler-macro 'sly-stickers--make-recording-1--cmacro) #@154 Constructor for objects of type `sly-stickers--recording'. (fn &key STICKER-ID STICKER-TOTAL ID VALUE-DESCRIPTIONS EXITED-NON-LOCALLY-P SLY-CONNECTION) (defalias 'sly-stickers--make-recording-1 #[128 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\300\305\"A@\300\306\"A@\211\203R\211@\307>\203:\211AA\262\202'\310>A@\203I\311\262\202'\312\313@\"\210\202'\210\314\315&\207" [plist-member :sticker-id :sticker-total :id :value-descriptions :exited-non-locally-p :sly-connection (:sticker-id :sticker-total :id :value-descriptions :exited-non-locally-p :sly-connection :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:sticker-id :sticker-total :id :value-descriptions :exited-non-locally-p :sly-connection)" record sly-stickers--recording] 15 (#$ . 32643)]) (byte-code "\300\301\302\303#\304\305\306\307\310\306\311\312\305\303& \207" [function-put sly-stickers--make-recording-1 side-effect-free t cl-struct-define sly-stickers--recording nil cl-structure-object record ((cl-tag-slot) (sticker-id nil) (sticker-total nil) (id nil) (value-descriptions nil) (exited-non-locally-p nil) (sly-connection nil)) cl-struct-sly-stickers--recording-tags] 11) #@18 (fn RECORDING) (defalias 'sly-stickers--recording-void-p #[257 "\301!>\204\302\303\304D\"\210\211\305H?\207" [cl-struct-sly-stickers--recording-tags type-of signal wrong-type-argument sly-stickers--recording 3] 5 (#$ . 33865)]) #@246 Make a `sly-stickers--recording' from DESCRIPTION. A DESCRIPTION is how the Lisp side describes a sticker and usually its most recent recording. If it doesn't, a recording veryfying `sly-stickers--recording-void-p' is created. (fn DESCRIPTION) (defalias 'sly-stickers--make-recording #[257 "\211\211A\203\211A\262\242\202\301\302\303GD\"\211A\262\242\304\305\306\307\310 &\203\232\211G\311U\203;\211A\262\242\202B\301\302\312GD\"\313\211A\262\210\211A\262\242\242\314!>\204b\301\315\316D\"\210\211\317I\266\314!>\204{\301\315\316D\"\210\211\311I\266\314!>\204\223\301\315\316D\"\210\211\320I\266\207" [cl-struct-sly-stickers--recording-tags signal wrong-number-of-arguments (sticker-id sticker-total . recording-description) sly-stickers--make-recording-1 :sticker-id :sticker-total :sly-connection sly-current-connection 4 (recording-id _recording-ctime value-descriptions exited-non-locally-p) nil type-of wrong-type-argument sly-stickers--recording 3 5] 14 (#$ . 34107)]) (defvar sly-stickers--replay-help nil) (defvar sly-stickers--replay-mode-map (byte-code "\300 \301\211\302\303\304$\210\211\305\303#\210\211\306\307\310$\210\211\311\312\313$\210\211\314\312#\210\211\315\316\317$\210\211\320\321\322$\210\211\323\324\325$\210\211\326\327\330$\210\211\331\332\333$\210\211\334\335\336$\210\211\337\340\341$\210\211\342\343\344$\210\211\345\346\347$\210\211\350\351\352$\210\211\353\354\355$\210\211\356\357\360$\210\211\361\362\363$\210\207" [make-sparse-keymap #[1027 "\301\302!#\210\303\"@B\206\303\"AB\304#\207" [sly-stickers--replay-help define-key kbd cl-getf cl--set-getf] 10 "\n\n(fn MAP KEY BINDING &optional DESC)"] "n" sly-stickers-replay-next "Scan recordings forward" "SPC" "N" sly-stickers-replay-next-for-sticker "Scan recordings forward for this sticker" "DEL" sly-stickers-replay-prev "Scan recordings backward" "p" "P" sly-stickers-replay-prev-for-sticker "Scan recordings backward for this sticker" "j" sly-stickers-replay-jump "Jump to a recording" ">" sly-stickers-replay-jump-to-end "Go to last recording" "<" sly-stickers-replay-jump-to-beginning "Go to first recording" "h" sly-stickers-replay-toggle-help "Toggle help" "v" sly-stickers-replay-pop-to-current-sticker "Pop to current sticker" "V" sly-stickers-replay-toggle-pop-to-stickers "Toggle popping to stickers" "q" quit-window "Quit" "x" sly-stickers-replay-toggle-ignore-sticker "Toggle ignoring a sticker" "z" sly-stickers-replay-toggle-ignore-zombies "Toggle ignoring deleted stickers" "R" sly-stickers-replay-reset-ignore-list "Reset ignore list" "F" sly-stickers-forget "Forget about sticker recordings" "g" sly-stickers-replay-refresh "Refresh current recording"] 7)) (defvar sly-stickers--replay-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-stickers--replay-mode-hook variable-documentation put "Hook run after entering SLY Stickers Replay 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-stickers--replay-mode-map definition-name sly-stickers--replay-mode] 4) (defvar sly-stickers--replay-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-stickers--replay-mode-abbrev-table sly-stickers--replay-mode-map variable-documentation put purecopy "Keymap for `sly-stickers--replay-mode'." boundp sly-stickers--replay-mode-syntax-table definition-name sly-stickers--replay-mode (lambda (#1=#:def-tmp-var) (defvar sly-stickers--replay-mode-syntax-table #1#)) make-syntax-table "Syntax table for `sly-stickers--replay-mode'." (lambda (#1#) (defvar sly-stickers--replay-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `sly-stickers--replay-mode'." derived-mode-parent] 5) #@202 Mode for controlling sticker replay sessions Dialog This mode runs the hook `sly-stickers--replay-mode-hook', as the final or penultimate step during initialization. \{sly-stickers--replay-mode-map} (defalias 'sly-stickers--replay-mode #[0 "\306\300!\210\307\310 \210\311\312\313 !\210\314\f!\210 \314!\210\315\316!\210\317\316!\210\320\321\322\307\211$\210)\323\324!\207" [delay-mode-hooks major-mode mode-name sly-stickers--replay-mode-map sly-stickers--replay-mode-syntax-table sly-stickers--replay-mode-abbrev-table make-local-variable t kill-all-local-variables sly-stickers--replay-mode "SLY Stickers Replay" use-local-map set-syntax-table read-only-mode 1 sly-mode add-hook post-command-hook sly-stickers--replay-postch run-mode-hooks sly-stickers--replay-mode-hook local-abbrev-table lisp-mode-syntax-table] 5 (#$ . 38201) nil]) (defalias 'sly-stickers--replay-postch #[0 "\300p!\211\205\301!\205\3021\303\304d!\"0\207\210\305\207" [get-buffer-window window-live-p (error) set-window-text-height line-number-at-pos nil] 5]) (defvar sly-stickers--replay-expanded-help nil) (defalias 'sly-stickers-replay-toggle-help #[0 "\301\300!\210?\302 \207" [sly-stickers--replay-expanded-help make-local-variable sly-stickers--replay-refresh-1] 2 nil nil]) #@78 Data structure for information related to recordings (fn &optional PROCESS) (defalias 'sly-stickers--replay-data #[256 "\211\206 \300 \206 \301\302\303\"\304\303\"\206\305\303\306#\210\306\207" [sly-current-connection error "Can't access prop %s for no connection" sly-stickers--replay-data process-get process-put nil] 6 (#$ . 39479)]) (byte-code "\300\301\302\303#\300\207" [function-put sly-stickers--replay-data gv-expander #[385 "\300\301\302$\207" [gv--defsetter sly-stickers--replay-data #[513 "\300\301\302\303BBD\304DD\305BB\207" [let process or ((sly-current-connection) (error "Can't access prop %s for no connection" 'sly-stickers--replay-data)) store-once ((process-put process 'sly-stickers--replay-data store-once) store-once)] 7 "\n\n(fn STORE &optional PROCESS)"]] 7 "\n\n(fn DO &rest ARGS)"]] 4) #@76 A symbol identifying a particular replaying session in the Slynk server. (defvar sly-stickers--replay-key nil (#$ . 40310)) (defvar sly-stickers--replay-pop-to-stickers t) #@71 Insert a description of the current recording into the current buffer (defalias 'sly-stickers--replay-refresh-1 #[0 "\302=\204\303\304\305\306 C$\210\307\310\311\"\310\312\"\313\310\314\"\315p\306\211\316\306\310\317\f\f\f %&\207" [major-mode this-command sly-stickers--replay-mode cl--assertion-failed (eq major-mode 'sly-stickers--replay-mode) "%s must be run in a stickers replay buffer" nil #[0 "\203\301\207\302\207" [sly-stickers--replay-expanded-help "\n\n" "\n"] 1] make-closure #[0 "\301\302 \303\"\301\302 \304\"\204\211\203N\305\306\300 \203\307\202\310\203K\305\311A\203/\312\2020\310\313\314\315 !\316# A\205?\317\314\320\f!@!Q#\202L\310$\207\310\207" [V0 cl-getf sly-stickers--replay-data :ignored-ids :ignore-zombies-p format "%s%s%s" "Skipping recordings of deleted stickers. " #1="" "Skipping recordings of sticker%s %s." "s" mapconcat pp-to-string butlast ", " " and " last] 14] #[0 "\302\303\300 \203\304\305!\202\306#\207" [V0 sly-stickers--replay-expanded-help format "%s%s" substitute-command-keys "\\{sly-stickers--replay-mode-map}" "n => next, p => previous, x => ignore, h => help, q => quit"] 5] #[257 "\300\301 \302\"\211\205\fZ\303\304\203(\211\305V\262\203(\306\303\307\"\310\311#\202)\312#\207" [cl-getf sly-stickers--replay-data :old-total format "%s total recordings%s" 0 propertize ", %s new in the meantime" face bold #1#] 10 "\n\n(fn NEW-TOTAL)"] #[257 "\301\302 \303\"\301\302 \304\"\203%\203%\305\306\3071T0\202 \210\310\300!#\207\2030\305\311\300!\"\207\2038\312\313!\207\305\314!\207" [V0 cl-getf sly-stickers--replay-data :total :index format "Playhead at recording %s of %s" (error) nil "Playhead detached (ignoring too many stickers?) on %s" substitute-command-keys "Playhead confused (perhaps hit \\[sly-stickers-replay-refresh])" "No recordings! Perhaps you need to run some sticker-aware code first"] 8 "\n\n(fn RECORDING)"] sly--call-refreshing t #[0 "\304\305 \306\"\303!\300 \261\210\211\203\307\310\300 #c\210\210\301 c\210\302 c\207" [V0 V1 V2 V3 cl-getf sly-stickers--replay-data :recording sly-stickers--pretty-describe-recording :separator] 5]] 17 (#$ . 40490)]) #@62 Navigate to WHATth next sticker recording fetched from Slynk (defalias 'sly-stickers-replay #[0 "\306\307\310\311 #\312!\313\314\n\313r\315!q\210\316p\317 \210\320 \210\313\211()\321*!\210\f\262\322p\320=?\2058\316\"\211\203B\323\316\"\210\210,\210*r\211q\210\324\325!\311 \206V\326\327\330\"\331\330 \332#\333\330#\266\334\330 \335\"\336\337!\311 \206u\326\327\330\"\331\330 \340#\333\330#\266\203\242\211\314V\262\203\242\211V\203\242\341\342Z\"\203\242\343!\210\266\344\314?\205\254\316\316#\210\345\313\346\"\210r\211q\210\347 *\207" [split-height-threshold split-width-threshold major-mode view-read-only standard-output inhibit-read-only sly-buffer-name :stickers-replay :connection sly-current-connection get-buffer nil 0 get-buffer-create t erase-buffer sly-stickers--replay-mode set-syntax-table display-buffer select-window cl-gensym "stickers-replay-" error "Can't access prop %s for no connection" sly-stickers--replay-data cl--set-getf :replay-key process-put cl-getf :total sly-eval (slynk-stickers:total-recordings) :old-total sly-y-or-n-p "Looks like there are %s new recordings since last replay.\n\nForget about old ones before continuing?" sly-stickers-forget sly-stickers-replay-refresh set-window-dedicated-p soft sly-stickers--replay-postch sly-buffer-package sly-buffer-connection lisp-mode-syntax-table] 12 (#$ . 42682) nil]) #@783 Refresh the current sticker replay session. N and COMMAND are passed to the Slynk server and instruct what recording to fetch: If COMMAND is nil, navigate to Nth next sticker recording, skipping ignored stickers. If COMMAND is a number, navigate to the Nth next sticker recording for the sticker with that numeric sticker id. If COMMAND is any other value, jump directly to the recording index N. Interactively, N is 0 and and COMMAND is nil, meaning that the playhead should stay put and the buffer should be refreshed. Non-interactively signal an error if no recording was fetched and INTERACTIVE is the symbol `sly-error'. Non-interactively, set the `:recording' slot of `sly-stickers--replay-data' to nil if no recording was fetched. (fn N COMMAND &optional INTERACTIVE) (defalias 'sly-stickers-replay-refresh #[770 "\302\303\304\305\306 \307\"D\304\305\306 \310\"D\304\305\306 \311\"D\304\312 D\304 D\257!\313 \210\211@\203\344\211\211A\203;\211A\262\242\202B\314\315\316GD\"\211A\262\242\317!\305\306 \320\"\321 \206Z\322\323\306\"\324\306 \320#\325\306#\266\321 \206q\322\323\306\"\324\306 \326#\325\306#\266\321 \206\210\322\323\306\"\324\306 \327#\325\306#\266\211\203\272\211\330V\262\203\260\211V\203\272\331\332!\210\202\272\211W\203\272\331\333!\210\334!\203\306\335\336\"\210\203\337\337\340! >\204\332\314\341\342D\"\210\343H!\210\266\202\203\321 \206\361\322\323\306\"\325\306\344#\266\335=\203\335\345\303A@$\210\321 \206\322\323\306\"\324\306 \327\344#\325\306#\266\203%\346 \207\305\306 \327\"\207" [sly-stickers--replay-pop-to-stickers cl-struct-sly-stickers--recording-tags sly-eval slynk-stickers:search-for-recording quote cl-getf sly-stickers--replay-data :replay-key :ignored-ids :ignore-zombies-p sly-stickers--zombies sly-stickers--reset-zombies signal wrong-number-of-arguments (total index &rest sticker-description) sly-stickers--make-recording :index sly-current-connection error "Can't access prop %s for no connection" cl--set-getf process-put :total :recording 0 sly-message "Rolled over to start" "Rolled over to end" sly-stickers--recording-void-p sly-error "Attempt to visit a void recording described by %s" sly-stickers--find-and-flash type-of wrong-type-argument sly-stickers--recording 1 nil "%s for %s reported an error: %s" sly-stickers--replay-refresh-1] 16 (#$ . 44079) (list 0 nil t)]) #@75 Navigate to Nth next sticker recording, skipping ignored stickers (fn N) (defalias 'sly-stickers-replay-next #[257 "\300\301\302#\207" [sly-stickers-replay-refresh nil sly-error] 5 (#$ . 46497) "p"]) #@75 Navigate to Nth prev sticker recording, skipping ignored stickers (fn N) (defalias 'sly-stickers-replay-prev #[257 "\300[\301\302#\207" [sly-stickers-replay-refresh nil sly-error] 5 (#$ . 46705) "p"]) #@15 (fn PROMPT) (defalias 'sly-stickers-replay--current-sticker-interactive #[257 "\203 \302\303\304\"!\207\305\306 \307\"\310! >\204\311\312\313D\"\210\211\314H\207" [current-prefix-arg cl-struct-sly-stickers--recording-tags read-number format "[sly] %s " cl-getf sly-stickers--replay-data :recording type-of signal wrong-type-argument sly-stickers--recording 1] 6 (#$ . 46914)]) #@74 Navigate to Nth next sticker recording for STICKER-ID (fn N STICKER-ID) (defalias 'sly-stickers-replay-next-for-sticker #[514 "\300\301#\207" [sly-stickers-replay-refresh sly-error] 6 (#$ . 47306) (byte-code "\247\203 \202\n\301\302\303!D\207" [current-prefix-arg 1 sly-stickers-replay--current-sticker-interactive "Which sticker?"] 3)]) #@74 Navigate to Nth prev sticker recording for STICKER-ID (fn N STICKER-ID) (defalias 'sly-stickers-replay-prev-for-sticker #[514 "\300\301#\207" [sly-stickers-replay-refresh sly-error] 6 (#$ . 47657) (byte-code "\247\203 \202\n\301[\302\303!D\207" [current-prefix-arg 1 sly-stickers-replay--current-sticker-interactive "Which sticker?"] 3)]) #@49 Fetch and jump to Nth sticker recording (fn N) (defalias 'sly-stickers-replay-jump #[257 "\300\301\302#\207" [sly-stickers-replay-refresh absolute-p sly-error] 5 (#$ . 48009) (read-number "[sly] jump to which recording? ")]) #@47 Fetch and jump to the first sticker recording (defalias 'sly-stickers-replay-jump-to-beginning #[0 "\300\301\302\303#\207" [sly-stickers-replay-refresh 0 absolute-p sly-error] 4 (#$ . 48242) nil]) #@46 Fetch and jump to the last sticker recording (defalias 'sly-stickers-replay-jump-to-end #[0 "\300\301\302\303#\207" [sly-stickers-replay-refresh -1 absolute-p sly-error] 4 (#$ . 48445) nil]) #@72 Toggle ignoring recordings of sticker with STICKER-ID (fn STICKER-ID) (defalias 'sly-stickers-replay-toggle-ignore-sticker #[257 "\300\301 \302\">\211\203/\303A\"\304 \206\305\306\301\"\307\301 \302#\310\301#\266\311\312\"\210\202O\313B!\304 \206=\305\306\301\"\307\301 \302#\310\301#\266\311\314\"\210\315\203X\316\202Y\317\320\321#\207" [cl-getf sly-stickers--replay-data :ignored-ids delq sly-current-connection error "Can't access prop %s for no connection" cl--set-getf process-put sly-message "No longer ignoring sticker %s" delete-dups "Now ignoring sticker %s" sly-stickers-replay-refresh 0 1 nil t] 10 (#$ . 48642) (byte-code "\300\301!C\207" [sly-stickers-replay--current-sticker-interactive "Toggle ignoring which sticker id?"] 2)]) #@48 Toggle ignoring recordings of zombie stickers. (defalias 'sly-stickers-replay-toggle-ignore-zombies #[0 "\300\301 \302\"?\303 \206\304\305\301\"\306\301 \302#\307\301#\266\211\262\211\203+\310\311!\266\2020\310\312!\266\313\314\315\316#\207" [cl-getf sly-stickers--replay-data :ignore-zombies-p sly-current-connection error "Can't access prop %s for no connection" cl--set-getf process-put sly-message "Now ignoring zombie stickers" "No longer ignoring zombie stickers" sly-stickers-replay-refresh 0 nil t] 7 (#$ . 49417) nil]) #@49 Pop to sticker with STICKER-ID (fn STICKER-ID) (defalias 'sly-stickers-replay-pop-to-current-sticker #[257 "\300\301\302#\207" [sly-stickers--find-and-flash :otherwise sly-error] 5 (#$ . 49962) (byte-code "\300\301!C\207" [sly-stickers-replay--current-sticker-interactive "Pop to which sticker id?"] 2)]) #@63 Toggle popping to stickers when replaying sticker recordings. (defalias 'sly-stickers-replay-toggle-pop-to-stickers #[0 "\301\300!\210?\211\203\302\303!\207\302\304!\207" [sly-stickers--replay-pop-to-stickers make-local-variable sly-message "Auto-popping to stickers ON" "Auto-popping to stickers OFF"] 3 (#$ . 50275) nil]) #@32 Reset the sticker ignore specs (defalias 'sly-stickers-replay-reset-ignore-list #[0 "\300 \206 \301\302\303\"\304\303 \305\306#\307\303#\266\310\311\306\312#\207" [sly-current-connection error "Can't access prop %s for no connection" sly-stickers--replay-data cl--set-getf :ignored-ids nil process-put sly-stickers-replay-refresh 0 t] 6 (#$ . 50609) nil]) #@94 Fetch recordings from Slynk and update stickers accordingly. See also `sly-stickers-replay'. (defalias 'sly-stickers-fetch #[0 "\300\301\302\303 DD\304\305#\207" [sly-eval-async slynk-stickers:fetch quote sly-stickers--zombies #[257 "\301 \210\302\303G\"\304\211\211\211:\203E@\262\305!\262\306\307!>\204,\310\311\312D\"\210\313H!\262\203;\314\"\210A\262\304\262\202 \266\315!\207" [cl-struct-sly-stickers--recording-tags sly-stickers--reset-zombies format "Fetched recordings for %s armed stickers" nil sly-stickers--make-recording sly-stickers--sticker-by-id type-of signal wrong-type-argument sly-stickers--recording 1 sly-stickers--populate-sticker sly-message] 12 "\n\n(fn RESULT)"] "CL_USER"] 4 (#$ . 50975) nil]) #@266 Forget about sticker recordings in the Slynk side. If HOWMANY is non-nil it must be a number stating how many recordings to forget about. In this cases Because 0 is an index, in the `nth' sense, the HOWMANYth recording survives. (fn &optional HOWMANY INTERACTIVE) (defalias 'sly-stickers-forget #[512 "\211\203\n\301\302!\205V\303\304\305\306 DE!\210\307 \210\310 \206 \311\312\313\"\314\313 \315\316#\317\313#\266\310 \2066\311\312\313\"\314\313 \320\316#\317\313#\266\211\203K\321\322!\210\323=\205V\324\325\326\211#\207" [major-mode sly-y-or-n-p "Really forget about sticker recordings?" sly-eval slynk-stickers:forget quote sly-stickers--zombies sly-stickers--reset-zombies sly-current-connection error "Can't access prop %s for no connection" sly-stickers--replay-data cl--set-getf :rec nil process-put :old-total sly-message "Forgot all about sticker recordings." sly-stickers--replay-mode sly-stickers-replay-refresh 0 t] 8 (#$ . 51727) (byte-code "\247\205\301D\207" [current-prefix-arg t] 2)]) #@14 (fn EXTRA) (defalias 'sly-stickers--handle-break #[257 "\211\211@A\300\267\202K\211\211G\301U\203\211\242\202\302\303\304GD\"\211@\305!\306\307\310#\210\311\312!\261\207\211\211G\301U\203>\211\242\202E\302\303\313GD\"\306\307\310#\207\314\207" [#s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (:slynk-after-sticker 11 :slynk-before-sticker 49)) 1 signal wrong-number-of-arguments (description) sly-stickers--make-recording sly-stickers--find-and-flash :otherwise sly-message "\n\n" sly-stickers--pretty-describe-recording (sticker-id) nil] 12 (#$ . 52755)]) (defalias 'sly-stickers-toggle-break-on-stickers #[0 "\300\301!\302\303\203 \304\202\305\"\207" [sly-eval (slynk-stickers:toggle-break-on-stickers) sly-message "Breaking on stickers is %s" "ON" "OFF"] 4 nil nil]) (eval-after-load "sly-mrepl" #[0 "\300\301\302\303#\210\300\304\302\303#\207" [button-type-put sly-stickers-sticker sly-mrepl-copy-part-to-repl sly-stickers--copy-recording-to-repl sly-stickers--recording-part] 4]) #@50 (fn STICKER-ID RECORDING &optional (VINDEX 0)) (defalias 'sly-stickers--copy-recording-to-repl #[642 "\211\203 \211A\262\242\202\301\203\302\303\304\305G\\D\"\210\306!\210\307\310\311!>\2042\302\312\313D\"\210\305HE\314\315\316\311!>\204K\302\312\313\nD\"\210\305H\311 !>\204`\302\312\313 D\"\210\317H##\207" [cl-struct-sly-stickers--recording-tags 0 signal wrong-number-of-arguments sly-stickers--copy-recording-to-repl 3 check-recording sly-mrepl--save-and-copy-for-repl slynk-stickers:find-recording-or-lose type-of wrong-type-argument sly-stickers--recording :before format "Returning values of recording %s of sticker %s" 1] 14 (#$ . 53806)]) #@18 (fn RECORDING) (defalias 'check-recording #[257 "\211\204\301\302!\207\303!>\204\304\305\306D\"\210\211\307H\310 =?\2059\301\311\312\303!>\2044\304\305\306D\"\210\307H!\"\207" [cl-struct-sly-stickers--recording-tags sly-error "This sticker doesn't seem to have any recordings" type-of signal wrong-type-argument sly-stickers--recording 6 sly-current-connection "Recording is for a different connection (%s)" sly-connection-name] 8 (#$ . 54492)]) #@50 (fn STICKER-ID RECORDING &optional (VINDEX 0)) (defalias 'sly-stickers--inspect-recording #[642 "\211\203 \211A\262\242\202\301\203\302\303\304\305G\\D\"\210\306!\210\307\310\311!>\2042\302\312\313D\"\210\305HE!\207" [cl-struct-sly-stickers--recording-tags 0 signal wrong-number-of-arguments sly-stickers--inspect-recording 3 check-recording sly-eval-for-inspector slynk-stickers:inspect-sticker-recording type-of wrong-type-argument sly-stickers--recording] 10 (#$ . 54960)]) #@333 Compile from START to END considering stickers. After compilation call CALLBACK with the stickers and the compilation result. If SYNC, use `sly-eval' other wise use `sly-eval-async'. If FALLBACK, send the uninstrumneted region as a fallback. If FLASH, flash the compiled region. (fn START END CALLBACK &key SYNC FALLBACK FLASH) (defalias 'sly-stickers--compile-region-aware-of-stickers-1 #[899 "\306\307\"A@\306\310\"A@\306\311\"A@\211\203=\211@\312>\203&\211AA\262\202\313>A@\2034\314\262\202\315\316@\"\210\202\210\317\"\320\"p\203P\203\\\321\n\n\322\323$\210\314\210\314r\324\325\326\327\330#!q\210\330p\331 \210\332\333!\210\314\211\334;!\210\335\336\337ed\"\"\210c\210\314\211\211:\203\271@\262\340\341!SZ\342!SZ\"\262\343\344#\210A\262\314\262\202\216\266\337ed\"\314\211\211:\203\364@\262\345\344\"\262\346!\210\347!b\210\350\351\352!\"c\210\353!b\210\354c\210A\262\314\262\202\302\266\317ed\"\355\352\"rq\210\356\357D\357\360 D \205 \361 \357\362!D\363 \205#\364\363 !\357 \365!\"\210\366 \266\202J\367\370\371\n#\"\266)\266p,\207\372\n\n\"\207" [major-mode view-read-only standard-output inhibit-read-only sly-buffer-package sly-buffer-connection plist-member :sync :fallback :flash (:sync :fallback :flash :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:sync :fallback :flash)" buffer-substring-no-properties sly-stickers--stickers-between sly-flash-region :face sly-stickers-armed-face get-buffer-create sly-buffer-name :stickers :hidden t erase-buffer sly-popup-buffer-mode 1 set-syntax-table mapc delete-overlay overlays-in make-overlay button-start button-end overlay-put sly-stickers--sticker overlay-get sly-stickers--arm-sticker overlay-start format "(slynk-stickers:record %d " sly-stickers--sticker-id overlay-end ")" mapcar slynk-stickers:compile-for-stickers quote sly-stickers--zombies buffer-name sly-compilation-position buffer-file-name sly-to-lisp-filename sly-eval sly-stickers--reset-zombies sly-eval-async make-closure #[257 "\302 \210\300\301\"\207" [V0 V1 sly-stickers--reset-zombies] 4 "\n\n(fn RESULT)"] sly-compile-region-as-string lisp-mode-syntax-table sly-compilation-policy] 24 (#$ . 55463)]) #@124 Compile region from START to END aware of stickers. Intended to be placed in `sly-compile-region-function' (fn START END) (defalias 'sly-stickers-compile-region-aware-of-stickers #[514 "\300\301\302\303\304\303&\207" [sly-stickers--compile-region-aware-of-stickers-1 #[514 "\211\211\203\211A\262\242\202\300\301\302GD\"\211A\262\242\203*\300\301\302\303G\\D\"\210\211\2044\304\305\"\210\306\307\203D\310\311 G\"\202E\312#\207" [signal wrong-number-of-arguments (result &optional stuck-p) 2 mapc sly-stickers--disarm-sticker sly-compilation-finished nil format " (%d stickers armed)" " (stickers failed to stick)"] 11 "\n\n(fn STICKERS RESULT-AND-STUCK-P)"] :fallback t :flash] 10 (#$ . 57753)]) #@141 After compilation, compile regions with stickers. Intented to be placed in `sly-compilation-finished-hook' (fn SUCCESS NOTES BUFFER LOADP) (defalias 'sly-stickers-after-buffer-compilation #[1028 "\205\237\211\205\237\205\237\214~\210\300ed\"\3012J\211\302\211\211\211:\203B@\262\303\304!!\262\235\2048C\244\262A\262\302\262\202\305\301\"\266\3020\211\205\234\302C\302C\302C:\203{\211@\240\210\306\242@\242A@\307\310$\311\312%\210A\262\202U\313\314\211\315\316\317 \242\320\321$\242G\316\317\n\242\320\322$ \242G&\266\302\266\202)\207" [sly-stickers--stickers-between --cl-block-nil-- nil sly-region-for-defun-at-point overlay-start throw sly-stickers--compile-region-aware-of-stickers-1 make-closure #[514 "\211\203\300\302\242B\300\242B\240\207\303\304\"\210\301\302\242B\301\242B\240\207" [V0 V1 V2 mapc sly-stickers--disarm-sticker] 5 "\n\n(fn STICKERS RESULT)"] :sync t sly-temp-message 3 "%s stickers stuck in %s regions, %s disarmed in %s regions" cl-reduce + :key #[257 "\211AG\207" #1=[] 2 "\n\n(fn X)"] #[257 "\211AG\207" #1# 2 "\n\n(fn X)"]] 21 (#$ . 58480)]) #@42 Placing stickers in `lisp-mode' buffers. (defvar sly-stickers--shortcut-menu nil (#$ . 59610)) (byte-code "\302\301\303\304\305\306\307\310\311\312#\307\313\314\312#\307\315\316\312#\317\307\320\321#\307\322\323 #\307\324\325\n#\257\262$\210\326\303 \327$\210\330\331!\207" [sly-menu sly-stickers--shortcut-menu easy-menu-do-define nil "Placing stickers in `lisp-mode' buffers." (sly-connected-p) "Stickers" vector "Add or remove sticker at point" sly-stickers-dwim sly-stickers-mode "Delete stickers from top-level form" sly-stickers-clear-defun-stickers "Delete stickers from buffer" sly-stickers-clear-buffer-stickers "--" "Start sticker recording replay" sly-stickers-replay "Fetch most recent recordings" sly-stickers-fetch "Toggle breaking on stickers" sly-stickers-toggle-break-on-stickers easy-menu-add-item "Documentation" provide sly-stickers] 16)