;ELC ;;; Compiled ;;; in Emacs version 26.3 ;;; 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\302\303\304\305%\210\306\307\310\311\312DD\313\314\315%\210\306\316\310\311\317DD\320\314\321%\207" [custom-declare-group smart-yank nil "A different approach of yank pointer handling." :group killing custom-declare-variable smart-yank-yank-pop-multikey-delay funcall function #[0 "\300\207" [0.2] 1] "Max delay between two \\[smart-yank-yank-pop] invocations revealing special behavior.\nSee `smart-yank-yank-pop' for details." :type number smart-yank-browse-kill-ring-command #[0 "\300\207" [nil] 1] "Command to invoke when hitting \\[smart-yank-yank-pop] twice (fast)." (choice (const :tag "None" nil) (const browse-kill-ring) (const helm-show-kill-ring) (function :tag "Other Function"))] 6) #@32 Map used by `smart-yank-mode'. (defvar smart-yank-mode-map (byte-code "\300 \301\302\303#\210\211\207" [make-sparse-keymap define-key [remap yank-pop] smart-yank-yank-pop] 5) (#$ . 1125)) #@201 Return a fresh stopwatch. This is a function accepting zero arguments that upon each call will return the time difference from its last call in seconds. When called the first time it will return nil. (defalias 'smart-yank--stopwatch #[0 "\300C\301\302\303\304\305!\306\"\307$\207" [nil make-byte-code 0 "\300\242\205 \301\302\303 \300\242\"!\300\303 \240\210\207" vconcat vector [time-to-seconds time-subtract current-time] 4] 7 (#$ . 1321)]) (defalias 'smart-yank-reset-yank-pointer #[0 "\303=?\205\n \211\207" [last-command kill-ring kill-ring-yank-pointer yank] 2]) #@166 Before advice function for `yank'. Reset `kill-ring-yank-pointer'. For yank-pop, move the really yanked text "to the beginning" of the kill ring. (fn &rest ARGS) (defalias 'smart-yank--before-ad #[128 " =?\205 @\211\205\211\302\"B\303 \262\207" [kill-ring kill-ring-yank-pointer delete smart-yank-reset-yank-pointer] 6 (#$ . 1902)]) (byte-code "\300\301\302 \303\304\305\306\307!\310\"\311\312\313&\262\"\210\314\315\316\317\320DD\321\322\323\324\325\326\327\330\331& \207" [defalias smart-yank-yank-pop smart-yank--stopwatch make-byte-code 256 "\300 \305=\204\203\306\n!\202=\307\310!\210\305 \202=\211\203%\211 V\203+\306\311!\202=\f\2060\312\313 \314 \"\210\n\205=\306\n!\207" vconcat vector [last-command smart-yank-browse-kill-ring-command smart-yank-yank-pop-multikey-delay yank-undo-function yank call-interactively rotate-yank-pointer 1 yank-pop delete-region region-beginning region-end] 5 "\"smart-yank\"'s private version of `yank-pop'.\n\nWhen called directly after a `yank' command (including itself),\ncall `yank-pop'.\n\nIf its key was hit two times in fast succession - i.e. with a\ndelay less than `smart-yank-yank-pop-multikey-delay' - delete any\nyanked text; in addition call\n`smart-yank-browse-kill-ring-command' when set.\n\nWhen not called after a yank, yank the next-to-the-last\n`kill-ring' entry; with prefix arg, call the\n`smart-yank-browse-kill-ring-command'.\n\n(fn &optional ARG)" "P" custom-declare-variable smart-yank-mode funcall function #[0 "\300\207" [nil] 1] "Non-nil if Smart-Yank mode is enabled.\nSee the `smart-yank-mode' command\nfor a description of this minor mode.\nSetting this variable directly does not take effect;\neither customize it (see the info node `Easy Customization')\nor call the function `smart-yank-mode'." :set custom-set-minor-mode :initialize custom-initialize-default :group smart-yank :type boolean] 12) #@583 Alter the behavior of yank commands in several ways. Turning on this mode has the following effects: - Makes any command except yank commands reset the `kill-ring-yank-pointer', instead of only killing commands. - Remaps `yank-pop' to `smart-yank-yank-pop'. - When yanking an older element from the `kill-ring' with \[smart-yank-yank-pop] (and not replacing it with a subsequent \[smart-yank-yank-pop]), the element is automatically "moved to the first position" of the `kill-ring' so that `yank' invoked later will again yank this element. (fn &optional ARG) (defalias 'smart-yank-mode #[256 "\301 \302\300\303=\203\304\300!?\202\305!\306V\"\210\203%\307\310\311\312#\210\202*\313\310\312\"\210\314\315\304\300!\2036\316\2027\317\"\210\320\321!\203a\322\300!\210\301 \203O\211\301 \232\203a\323\324\325\304\300!\203\\\326\202]\327#\266\210\330 \210\304\300!\207" [smart-yank-mode current-message set-default toggle default-value prefix-numeric-value 0 advice-add yank :before smart-yank--before-ad advice-remove run-hooks smart-yank-mode-hook smart-yank-mode-on-hook smart-yank-mode-off-hook called-interactively-p any customize-mark-as-set "" message "Smart-Yank mode %sabled%s" "en" "dis" force-mode-line-update] 7 (#$ . 3809) (byte-code "\206\301C\207" [current-prefix-arg toggle] 1)]) (defvar smart-yank-mode-hook nil) (byte-code "\301\302N\204\f\303\301\302\304#\210\305\306\307\310\300!\205\307\211%\210\311\312!\207" [smart-yank-mode-map smart-yank-mode-hook variable-documentation put "Hook run after entering or leaving `smart-yank-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" add-minor-mode smart-yank-mode nil boundp provide smart-yank] 6)