;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (require 'evil-states) #@19 (fn &rest BODY) (defalias 'evil-without-repeat '(macro . #[128 "\300\301\302\303\"BB\207" [let ((pre-command-hook (remq 'evil-repeat-pre-hook pre-command-hook)) (post-command-hook (remq 'evil-repeat-post-hook post-command-hook))) append ((evil-repeat-abort))] 6 (#$ . 110)])) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put evil-without-repeat lisp-indent-function defun put edebug-form-spec t] 5) #@49 Returns non-nil iff a recording is in progress. (defalias 'evil-repeat-recording-p #[0 "\301=\207" [evil-recording-repeat t] 2 (#$ . 535)]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put evil-repeat-recording-p speed -1 put byte-optimizer byte-compile-inline-expand] 5) #@55 Start recording a new repeat into `evil-repeat-info'. (defalias 'evil-repeat-start #[0 "\301\302!\210\303 \210\304 \205U\305 \306!\307!S\310\"\311\312\267\202Q\313\314U\203.\2025\212b\210\315 )ZE\202R\316D\202R\317\320\321!\321!Z!E\202R\322!\266\204\207" [evil-visual-selection evil-repeat-reset t evil-repeat-record-buffer evil-visual-state-p evil-visual-range evil-range-beginning evil-range-end evil-count-lines evil-repeat-record #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (char 32 line 58 block 64)) evil-repeat-visual-char 0 line-beginning-position evil-repeat-visual-line evil-repeat-visual-block abs evil-column nil] 11 (#$ . 831)]) #@124 Stop recording a repeat. Update `evil-repeat-ring' with the accumulated changes in `evil-repeat-info' and clear variables. (defalias 'evil-repeat-stop #[0 "\303\216\304=\205\305 !\211\205\n\205\306\n \")\207" [evil-recording-repeat evil-repeat-info evil-repeat-ring #[0 "\300\301!\207" [evil-repeat-reset nil] 2] t evil-normalize-repeat-info ring-insert] 4 (#$ . 1545)]) #@26 Abort current repeation. (defalias 'evil-repeat-abort #[0 "\300\301!\207" [evil-repeat-reset abort] 2 (#$ . 1930)]) #@87 Clear all repeat recording variables. Set `evil-recording-repeat' to FLAG. (fn FLAG) (defalias 'evil-repeat-reset #[257 "\211\303\211\211\207" [evil-recording-repeat evil-repeat-info evil-repeat-buffer nil] 4 (#$ . 2052)]) #@60 Set `evil-repeat-pos' to POS or point. (fn &optional POS) (defalias 'evil-repeat-record-position #[256 "\211\206`\211\207" [evil-repeat-pos] 3 (#$ . 2285)]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put evil-repeat-record-position speed -1 put byte-optimizer byte-compile-inline-expand] 5) #@49 Set `evil-repeat-buffer' to the current buffer. (defalias 'evil-repeat-record-buffer #[0 "\301 ?\205 p\211\207" [evil-repeat-buffer minibufferp] 2 (#$ . 2605)]) #@75 Execute BODY, protecting the values of repeat variables. (fn &rest BODY) (defalias 'evil-save-repeat-info '(macro . #[128 "\300\301BB\207" [let (evil-repeat-ring evil-recording-repeat evil-recording-current-command evil-repeat-info evil-repeat-changes evil-repeat-pos evil-repeat-keys evil-repeat-buffer this-command last-command)] 4 (#$ . 2774)])) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put evil-save-repeat-info lisp-indent-function defun put edebug-form-spec t] 5) #@231 Whether the buffer has changed in a repeat. If STRICT is non-nil, returns t if the previous buffer is unknown; otherwise returns t only if the previous buffer is known and different from the current buffer. (fn &optional STRICT) (defalias 'evil-repeat-different-buffer-p #[256 "\301!\204\n\211\205\302 ?\205p=?\207" [evil-repeat-buffer buffer-live-p minibufferp] 3 (#$ . 3274)]) #@128 Return the :repeat property of COMMAND. If COMMAND doesn't have this property, return DEFAULT. (fn COMMAND &optional DEFAULT) (defalias 'evil-repeat-type #[513 "\301!\205\302\303#\211\236\211\203\211A\207\266\202\207" [evil-repeat-types functionp evil-get-command-property :repeat] 6 (#$ . 3668)]) #@109 Returns non-nil iff the current command should abort the recording of repeat information. (fn REPEAT-TYPE) (defalias 'evil-repeat-force-abort-p #[257 "\301 \206%\211\302=\206%\302=\206%\303 \206%\304\305 !\203#\211\306=\206%\307 \207" [evil-recording-repeat evil-repeat-different-buffer-p abort evil-emacs-state-p evil-mouse-events-p this-command-keys nil minibufferp] 3 (#$ . 3983)]) #@55 Add INFO to the end of `evil-repeat-info'. (fn INFO) (defalias 'evil-repeat-record #[257 "\302=\205\f C\244\211\207" [evil-recording-repeat evil-repeat-info t] 3 (#$ . 4382)]) #@122 Record a new repeat when exiting Normal state. Does not record in Emacs state or if the current command has :repeat nil. (defalias 'evil-repeat-start-hook #[0 "\301\302\"\302=\205\303 ?\205\304 \207" [this-command evil-repeat-type t evil-emacs-state-p evil-repeat-start] 3 (#$ . 4570)]) #@58 Prepare the current command for recording the repeation. (defalias 'evil-repeat-pre-hook #[0 "\2053\303 \304\"\305!\203\306 \2021\211?\2061\307\310 !\2061\311 \204)\312 \203,\313 \210\304\211\314!\262\207" [evil-local-mode this-command evil-recording-current-command evil-repeat-type t evil-repeat-force-abort-p evil-repeat-abort evil-mouse-events-p this-command-keys evil-normal-state-p evil-visual-state-p evil-repeat-start pre] 3 (#$ . 4868)]) (put 'evil-repeat-pre-hook 'permanent-local-hook t) #@65 Finish recording of repeat-information for the current-command. (defalias 'evil-repeat-post-hook #[0 "\2052 \2052\304\n\305\"\306!\203\307\310!\266\202/\211\203. \203.\211\311!\210\312 \203.\313 \210\210\310\211\207" [evil-local-mode evil-recording-repeat this-command evil-recording-current-command evil-repeat-type t evil-repeat-force-abort-p evil-repeat-reset nil post evil-normal-state-p evil-repeat-stop] 3 (#$ . 5385)]) (put 'evil-repeat-post-hook 'permanent-local-hook t) #@173 Clear `this-command-keys' and all information about the current command keys. Calling this function prevents further recording of the keys that invoked the current command (defalias 'evil-clear-command-keys #[0 "\301\302!\210\303\211\207" [evil-repeat-keys clear-this-command-keys t ""] 2 (#$ . 5883)]) #@94 Version of `this-command-keys' with finer control over prefix args. (fn &optional POST-CMD) (defalias 'evil-this-command-keys #[256 "\211\203\202 \303\247\205\n?\205\304!\303!\262\305 \"\207" [current-prefix-arg prefix-arg evil-repeat-info vconcat number-to-string this-single-command-keys] 6 (#$ . 6193)]) #@87 Repeation recording function for commands that are repeated by keystrokes. (fn FLAG) (defalias 'evil-repeat-keystrokes #[257 "\211\302\267\202,\203\303\304\300E!\210\305 \211\207\303\305\306!G\307U\203$ \202'\305\306!!\210\310 \207\311\207" [evil-this-register evil-repeat-keys #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (pre 6 post 22)) evil-repeat-record set evil-this-command-keys t 0 evil-clear-command-keys nil] 5 (#$ . 6520)]) #@95 Repeation for motions. Motions are recorded by keystroke but only in insert state. (fn FLAG) (defalias 'evil-repeat-motion #[257 "\301>\205 \302!\207" [evil-state (insert replace) evil-repeat-keystrokes] 3 (#$ . 7010)]) #@91 Repeation recording function for commands that are repeated by buffer changes. (fn FLAG) (defalias 'evil-repeat-changes #[257 "\211\300\267\202\301\302\303\304\305$\210\306 \207\307\302\303\305#\210\310 \207\304\207" [#s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (pre 6 post 16)) add-hook after-change-functions evil-repeat-change-hook nil t evil-repeat-start-record-changes remove-hook evil-repeat-finish-record-changes] 6 (#$ . 7240)]) #@69 Record change information for current command. (fn BEG END LENGTH) (defalias 'evil-repeat-change-hook #[771 "\304\305\" \305=\2053\211\306=\2053\307 ?\2053\310\305!?\2053\n\2053 \305=\204*\311 \210\312 Z{#\207" [this-command evil-recording-repeat evil-state evil-repeat-pos evil-repeat-type t evil-repeat-changes evil-emacs-state-p evil-repeat-different-buffer-p evil-repeat-start evil-repeat-record-change] 8 (#$ . 7727)]) (put 'evil-repeat-change-hook 'permanent-local-hook t) #@136 Record the current buffer changes during a repeat. If CHANGE is specified, it is added to `evil-repeat-changes'. (fn RELPOS INS NDEL) (defalias 'evil-repeat-record-change #[771 "\302=\205 EC\244\211\207" [evil-recording-repeat evil-repeat-changes t] 7 (#$ . 8225)]) #@54 Starts the recording of a new set of buffer changes. (defalias 'evil-repeat-start-record-changes #[0 "\302\211\211\206`\211\207" [evil-repeat-changes evil-repeat-pos nil] 4 (#$ . 8505)]) #@70 Finishes the recording of buffer changes and records them as repeat. (defalias 'evil-repeat-finish-record-changes #[0 "\303=\205\304\305 `\nZE!\210\306\211\207" [evil-recording-repeat evil-repeat-changes evil-repeat-pos t evil-repeat-record evil-execute-change nil] 5 (#$ . 8702)]) #@183 Repeation recording function for commands that insert text in region. This records text insertion when a command inserts some text in a buffer between (point) and (mark). (fn FLAG) (defalias 'evil-repeat-insert-at-point #[257 "\211\300\267\202\301\302\303\304\305$\207\306\302\303\305#\207\304\207" [#s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (pre 6 post 13)) add-hook after-change-functions evil-repeat-insert-at-point-hook nil t remove-hook] 6 (#$ . 8995)]) #@23 (fn BEG END LENGTH) (defalias 'evil-repeat-insert-at-point-hook #[771 "\304\305\" \305=\205*\211\306=\205*\307 ?\205*\310\305!?\205*\n\205*\311\312{D!\207" [this-command evil-recording-repeat evil-state evil-repeat-pos evil-repeat-type t evil-repeat-insert-at-point evil-emacs-state-p evil-repeat-different-buffer-p evil-repeat-record insert] 8 (#$ . 9506)]) (put 'evil-repeat-insert-at-point-hook 'permanent-local-hook t) #@90 Concatenate consecutive arrays in REPEAT-INFO. Returns a single array. (fn REPEAT-INFO) (defalias 'evil-normalize-repeat-info #[257 "\300C\211\300\211\211\203Y\211@\211\203R\301!\2035\302!\262\203+C\241\210A\262\202R\211C\262\262\202R\203I\303\304\"C\241\210A\262\300\262C\241\210A\262A\266\202\202\210\203f\303\304\"C\241\210A\207" [nil arrayp listify-key-sequence apply vconcat] 11 (#$ . 9947)]) #@344 Restores a character visual selection. If the selection is in a single line, the restored visual selection covers the same number of characters. If the selection covers several lines, the restored selection covers the same number of lines and the same number of characters in the last line as the original selection. (fn NFWDLINES NFWDCHARS) (defalias 'evil-repeat-visual-char #[514 "\300 \210\301V\203\fy\210\211u\207" [evil-visual-char 0] 4 (#$ . 10391)]) #@334 Restores a character visual selection. If the selection is in a single line, the restored visual selection covers the same number of characters. If the selection covers several lines, the restored selection covers the same number of lines and the same number of characters in the last line as the original selection. (fn NFWDLINES) (defalias 'evil-repeat-visual-line #[257 "\300 \210\211y\207" [evil-visual-line] 2 (#$ . 10860)]) #@344 Restores a character visual selection. If the selection is in a single line, the restored visual selection covers the same number of characters. If the selection covers several lines, the restored selection covers the same number of lines and the same number of characters in the last line as the original selection. (fn NFWDLINES NFWDCHARS) (defalias 'evil-repeat-visual-block #[514 "\300 \210iy\210\301\\\302\"\207" [evil-visual-block move-to-column t] 6 (#$ . 11298)]) #@437 Executes as list of changes. CHANGES is a list of triples (REL-BEG INSERT-TEXT NDEL). REL-BEG is the relative position (to point) where the change takes place. INSERT-TEXT is the text to be inserted at that position and NDEL the number of characters to be deleted at that position before insertion. REL-POINT is the relative position to point before the changed where point should be placed after all changes. (fn CHANGES REL-POINT) (defalias 'evil-execute-change #[514 "\306\211\211\211\211\211\211\211\211\211 \n \f`\211\2038\211@@\\b\210\307\3108!\210\211A@c\210A\266\202\202\210\211\\b\262.\n\207" [last-command this-command evil-repeat-buffer evil-repeat-keys evil-repeat-pos evil-repeat-changes nil delete-char 2 evil-repeat-info evil-recording-current-command evil-recording-repeat evil-repeat-ring] 12 (#$ . 11781)]) #@62 Executes a repeat-information REPEAT-INFO. (fn REPEAT-INFO) (defalias 'evil-execute-repeat-info #[257 "\306\211\211\211\211\211\211\211\211\211\211\211\205\212\211@\307!\204*\211;\203@\306\310 \210\311\312\"\216\313!\210*\210\202\203\211:\203~\211G\314U\203t\211@\315=\203t\211A@\316=\203t\3178\320Y\203t\3178\321W\203t\211AA\3178T\240\210\322@A\"\210\202\203\323\324\"\210A\266\202\202\262.\n\207" [last-command this-command evil-repeat-buffer evil-repeat-keys evil-repeat-pos evil-repeat-changes nil arrayp deactivate-input-method make-closure #[0 "\301\300!\207" [V0 activate-input-method] 2] execute-kbd-macro 3 set evil-this-register 2 48 57 apply error "Unexpected repeat-info: %S" evil-repeat-info evil-recording-current-command evil-recording-repeat evil-repeat-ring current-input-method evil-input-method] 11 (#$ . 12635)]) #@177 Repeat the repeat-information REPEAT-INFO with the count of the first command replaced by COUNT. The count is replaced if and only if COUNT is non-nil. (fn COUNT REPEAT-INFO) (defalias 'evil-execute-repeat-info-with-count #[514 "\306\211\211\211\211\211\211\211\211\211\203\"\307U\206d\203a\306\203X\310@!\203X\211\204X\311\211A\262\242!\312\313!\3148\3158#B\262\266\316\202+\317!)\266\202\202d\317!.\n\207" [last-command this-command evil-repeat-buffer evil-repeat-keys evil-repeat-pos evil-repeat-changes nil 0 arrayp evil-extract-count vconcat number-to-string 2 3 t evil-execute-repeat-info evil-repeat-info evil-recording-current-command evil-recording-repeat evil-repeat-ring evil-repeat-count] 12 (#$ . 13518)]) #@141 Repeat the last editing command with count replaced by COUNT. If SAVE-POINT is non-nil, do not move point. (fn COUNT &optional SAVE-POINT) (defalias 'evil-repeat #[513 "\204\306\307!\207\211\203\212\310!)\207\311\216\312\313 B\n\314\315\216\314\316\216\317\216\320 \210\312`E\321\322\323\"\".\266\203)\207" [evil-repeat-ring kill-buffer-hook buffer-undo-list confirm-kill-emacs evil-undo-list-pointer evil-in-single-undo error "Already executing repeat" evil-repeat #[0 "\300 \207" [evil-normal-state] 1] t #[0 "\300\301!\207" [user-error "Cannot delete buffer in repeat command"] 2] nil #[0 "\302=?\205 A\203 \244\202\303\211\207" [buffer-undo-list evil-temporary-undo t nil] 2] #[0 "\211\242\205\f\302 B\211\207" [buffer-undo-list evil-temporary-undo nil] 3] #[0 "\300 \207" [evil-end-undo-step] 1] evil-start-undo-step evil-execute-repeat-info-with-count ring-ref 0 evil-last-repeat] 10 (#$ . 14287) (byte-code " ?D\207" [current-prefix-arg evil-repeat-move-cursor] 2)]) (evil-set-command-properties 'evil-repeat :repeat 'ignore :suppress-operator t) #@352 Replace the just repeated command with a previously executed command. Only allowed after `evil-repeat', `evil-repeat-pop' or `evil-repeat-pop-next'. Uses the same repeat count that was used for the first repeat. The COUNT argument inserts the COUNT-th previous kill. If COUNT is negative, this is a more recent kill. (fn COUNT &optional SAVE-POINT) (defalias 'evil-repeat-pop #[513 "\305=\203\n \204\306\307\"\207\211\203\212\310!)\207\n\311 8=\204$\312 \210 @b\210\313V\203A \203:\314 \315 \313\"\"\210S\262\202(\313W\203Y \203R\316 \315 !\"\210T\262\202A\305\211 A@!\207" [last-command evil-last-repeat buffer-undo-list evil-repeat-ring this-command evil-repeat user-error "Previous command was not evil-repeat: %s" evil-repeat-pop 2 evil-undo-pop 0 ring-insert-at-beginning ring-remove ring-insert] 8 (#$ . 15385) (byte-code "\302! ?D\207" [current-prefix-arg evil-repeat-move-cursor prefix-numeric-value] 2)]) (evil-set-command-properties 'evil-repeat-pop :repeat nil :suppress-operator t) #@86 Same as `evil-repeat-pop', but with negative COUNT. (fn COUNT &optional SAVE-POINT) (defalias 'evil-repeat-pop-next #[513 "\300[\"\207" [evil-repeat-pop] 5 (#$ . 16410) (byte-code "\302! ?D\207" [current-prefix-arg evil-repeat-move-cursor prefix-numeric-value] 2)]) (byte-code "\300\301\302\303\304\305%\210\306\307\310\311\303$\210\312\307\303\"\210\313\314!\207" [evil-set-command-properties evil-repeat-pop-next :repeat nil :suppress-operator t ad-add-advice read-key-sequence (evil nil t (advice lambda nil "Record `this-command-keys' before it is reset." (when (and (evil-repeat-recording-p) evil-recording-current-command) (let ((repeat-type (evil-repeat-type this-command t))) (if (functionp repeat-type) (funcall repeat-type 'post)))))) before ad-activate provide evil-repeat] 6)