Files
emacsd/elpa/transient-20191017.1115/transient.elc

866 lines
120 KiB
Plaintext
Raw Normal View History

;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!\210\300\302!\210\300\303!\210\300\304!\210\305\306\307\310\311\312%\210\313\314\315\316\317DD\320\321\322\311\306\323\324& \210\313\325\315\316\326DD\327\321\330\311\306\323\331& \210\313\332\315\316\333DD\334\321\335\311\306\323\336& \210\313\337\315\316\340DD\341\321\342\311\306\323\343& \210\313\344\315\316\345DD\346\321\347\311\306\323\331& \210\313\350\315\316\351DD\352\321\353\311\306\323\331& \210\313\354\315\316\355DD\356\321\357\311\306\323\331& \210\313\360\315\316\361DD\362\321\363\311\306\323\364& \210\313\365\315\316\366DD\367\321\370\311\306\323\331& \210\313\371\315\316\372DD\373\321\374\311\306\323\375& \210\313\376\315\316\377DD\201@\321\201A\311\306\323\201B& \210\313\201C\315\316\201DDD\201E\321\201F\311\306\323\201B& \210\313\201G\315\316\201HDD\201I\321\201J\311\306\323\201B& \210\313\201K\315\316\201LDD\201M\321\201N\311\306\323\201O& \210\313\201P\315\316\201QDD\201R\321\201S\311\306\323\331& \210\305\201T\307\201U\311\306%\210\201V\201W\201X\201Y\311\201T%\210\201V\201Z\201[\201\\\311\201T%\210\201V\201]\201^\201_\311\201T%\210\201V\201`\201a\201b\311\201T%\210\201V\201c\201d\201e\311\201T%\210\201V\201f\201g\201h\311\201T%\210\201V\201i\201j\201k\311\201T%\210\201V\201l\201m\201n\311\201T%\210\201V\201o\201p\201q\311\201T%\210\201V\201r\201s\201t\311\201T%\210\201V\201u\201v\201w\311\201T%\210\201V\201x\201y\201z\311\201T%\210\201V\201{\201|\201}\311\201T%\210\201V\201~\201\201\200\311\201T%\207" [require cl-lib dash eieio format-spec custom-declare-group transient nil "Transient commands." :group bindings custom-declare-variable transient-show-popup funcall function #[0 "\300\207" [t] 1] "Whether to show the current transient in a popup buffer.\n\n- If t, then show the popup as soon as a transient prefix command\n is invoked.\n\n- If nil, then do not show the popup unless the user explicitly\n requests it, by pressing an incomplete prefix key sequence.\n\n- If a number, then delay displaying the popup and instead show\n a brief one-line summary. If zero or negative, then suppress\n even showing that summary and display the pressed key only.\n\n Show the popup when the user explicitly requests it by pressing\n an incomplete prefix key sequence. Unless zero, then also show\n the popup after that many seconds of inactivity (using the\n absolute value)." :package-version (transient . "0.1.0") :type (choice (const :tag "instantly" t) (const :tag "on demand" nil) (const :tag "on demand (no summary)" 0) (number :tag "after delay" 1)) transient-enable-popup-navigation #[0 "\300\207" [nil] 1] "Whether navigation commands are enabled in the transient popup.\n\nWhile a transient is active the transient popup buffer is not the\ncurrent buffer, making it necesary to use dedicated commands to\nact on that buffer itself. If this non-nil, then the following\nfeatures are available:\n\n- \"<up>\" moves the cursor to the previous suffix.\n \"<down>\" moves the cursor to the next suffix.\n \"RET\" invokes the suffix the cursor is on.\n- \"<mouse-1>\" invokes the clicked on suffix.\n- \"C-s\" and \"C-r\" start isearch in the popup buffer." (transient . "0.2.0") boolean transient-display-buffer-action #[0 "\300\207" [(display-buffer-in-side-window (side . bottom))] 1] "The action used to display the transient popup buffer.\n\nThe transient popup buffer is displayed in a window using\n\n (display-buffer buf transient-display-buffer-action)\n\nThe value of this option has the form (FUNCTION . ALIST),\nwhere FUNCTION is a function or a list of functions. Each such\nfunction should accept two arguments: a buffer to display and\nan alist of the same form as ALIST. See `display-buffer' for\ndetails.\n\nThe default is (display-buffer-in-side-window (side . bottom)).\nThis displays the window at the bottom of the selected frame.\nAnother useful value is (display-buffer-below-selected). This\nis what `magit-popup' used by default. For more alternatives\nsee info node `(elisp)Display Action F
#@13
(fn FILE)
(defalias 'transient--read-file-contents #[257 "\3001)\301!\205'\302\303!r\211q\210\304\305\306\307\310!\311\"\312$\216\313!\210\314p!*\2620\207\315\316\"\210\317\207" [(debug error) file-exists-p generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205 \302\300!\207" vconcat vector [buffer-name kill-buffer] 2 insert-file-contents read message "Transient error: %S" nil] 8 (#$ . 12131)])
#@20
(fn OBJECT FILE)
(defalias 'transient--pp-to-file #[514 "\302\303!\304\"\210\305\306\307\310$\262\211\311\312\313!!\314\315\316\317\320!\321\"\322$\216r\211q\210\323\211\324p\"+rq\210\325\323\211\323\315%\210*\207" [print-length print-level make-directory file-name-directory t cl-sort string< :key car get-buffer-create generate-new-buffer-name " *temp file*" make-byte-code 0 "\301\300!\205 \302\300!\207" vconcat vector [buffer-name kill-buffer] 2 nil pp write-region] 11 (#$ . 12552)])
#@137 Values of transient commands.
The value of this variable persists between Emacs sessions
and you usually should not change it manually.
(defvar transient-values (transient--read-file-contents transient-values-file) (#$ . 13061))
(defalias 'transient-save-values #[0 "\302 \"\207" [transient-values transient-values-file transient--pp-to-file] 3])
#@137 Levels of transient commands.
The value of this variable persists between Emacs sessions
and you usually should not change it manually.
(defvar transient-levels (transient--read-file-contents transient-levels-file) (#$ . 13416))
(defalias 'transient-save-levels #[0 "\302 \"\207" [transient-levels transient-levels-file transient--pp-to-file] 3])
#@199 History of transient commands and infix arguments.
The value of this variable persists between Emacs sessions
(unless `transient-save-history' is nil) and you usually
should not change it manually.
(defvar transient-history (transient--read-file-contents transient-history-file) (#$ . 13771))
(defalias 'transient-save-history #[0 "\302\303\304\"\305\306\307$\310 \"\207" [transient-history transient-history-file cl-sort mapcar #[257 "\211@A\211\211\301\302!\"B\266\202\207" [transient-history-limit -take delete-dups] 10 "\n\n(fn ARG0)"] string< :key car transient--pp-to-file] 5])
#@93 Save the value of `transient-history'.
If `transient-save-history' is nil, then do nothing.
(defalias 'transient-maybe-save-history #[0 "\205\300 \207" [transient-save-history] 1 (#$ . 14368)])
(byte-code "\204 \301\302\303\"\210\304\305\306\307!\"\210\304\310\311\307!\"\210\304\312\310\"\210\313\312\314\315#\210\316\307\317\310#\320\307\321\322\323$\207" [noninteractive add-hook kill-emacs-hook transient-maybe-save-history defalias transient-prefix-p eieio-make-class-predicate transient-prefix transient-prefix--eieio-childp eieio-make-child-predicate transient-prefix-child-p make-obsolete "use (cl-typep ... \\='transient-prefix) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal nil ((prototype :initarg :prototype) (command :initarg :command) (level :initarg :level) (variable :initarg :variable :initform nil) (value :initarg :value) (scope :initarg :scope :initform nil) (history :initarg :history :initform nil) (history-pos :initarg :history-pos :initform 0) (history-key :initarg :history-key :initform nil) (man-page :initarg :man-page :initform nil) (info-manual :initarg :info-manual :initform nil) (transient-suffix :initarg :transient-suffix :initform nil) (transient-non-suffix :initarg :transient-non-suffix :initform nil) (incompatible :initarg :incompatible :initform nil)) (:documentation "Transient prefix command.\n\nEach transient prefix command consists of a command, which is\nstored in a symbol's function slot and an object, which is\nstored in the `transient--prefix' property of the same symbol.\n\nWhen a transient prefix command is invoked, then a clone of that\nobject is stored in the global variable `transient--prefix' and\nthe prototype is stored in the clone's `prototype' slot.")] 6)
#@73 Create a new object of class type `transient-prefix'.
(fn &rest SLOTS)
(defalias 'transient-prefix #[128 "\300\301\302#\207" [apply make-instance transient-prefix] 5 (#$ . 16136)])
(byte-code "\300\301\302\303#\300\207" [function-put transient-prefix compiler-macro transient-prefix--anon-cmacro] 4)
#@26
(fn WHOLE &rest SLOTS)
(defalias 'transient-prefix--anon-cmacro #[385 "\211@;\204\207\300\301\302@@#@\303@DABB\"\207" [macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 7 (#$ . 16444)])
(byte-code "\300\301\302\303!\"\210\300\304\305\303!\"\210\300\306\304\"\210\307\306\310\311#\210\312\303\313\304#\314\303\315\316\317$\207" [defalias transient-child-p eieio-make-class-predicate transient-child transient-child--eieio-childp eieio-make-child-predicate transient-child-child-p make-obsolete "use (cl-typep ... \\='transient-child) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal nil ((level :initarg :level :initform 1 :documentation "Enable if level of prefix is equal or greater.") (if :initarg :if :initform nil :documentation "Enable if predicate returns non-nil.") (if-not :initarg :if-not :initform nil :documentation "Enable if predicate returns nil.") (if-non-nil :initarg :if-non-nil :initform nil :documentation "Enable if variable's value is non-nil.") (if-nil :initarg :if-nil :initform nil :documentation "Enable if variable's value is nil.") (if-mode :initarg :if-mode :initform nil :documentation "Enable if major-mode matches value.") (if-not-mode :initarg :if-not-mode :initform nil :documentation "Enable if major-mode does not match value.") (if-derived :initarg :if-derived :initform nil :documentation "Enable if major-mode derives from value.") (if-not-derived :initarg :if-not-derived :initform nil :documentation "Enable if major-mode does not derive from value.")) (:documentation "Abstract superclass for group and and suffix classes.\n\nIt is undefined what happens if more than one `if*' predicate\nslot is non-nil." :abstract t)] 6)
#@73 You cannot create a new object of type `transient-child'.
(fn &rest _)
(defalias 'transient-child #[128 "\300\301!\207" [error "Class transient-child is abstract"] 3 (#$ . 18190)])
(byte-code "\300\301\302\303!\"\210\300\304\305\303!\"\210\300\306\304\"\210\307\306\310\311#\210\312\303\313\304#\314\303\315\316\317$\207" [defalias transient-suffix-p eieio-make-class-predicate transient-suffix transient-suffix--eieio-childp eieio-make-child-predicate transient-suffix-child-p make-obsolete "use (cl-typep ... \\='transient-suffix) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (transient-child) ((key :initarg :key) (command :initarg :command) (transient :initarg :transient) (format :initarg :format :initform " %k %d") (description :initarg :description :initform nil)) (:documentation "Superclass for suffix command.")] 6)
#@73 Create a new object of class type `transient-suffix'.
(fn &rest SLOTS)
(defalias 'transient-suffix #[128 "\300\301\302#\207" [apply make-instance transient-suffix] 5 (#$ . 19059)])
(byte-code "\300\301\302\303#\300\207" [function-put transient-suffix compiler-macro transient-suffix--anon-cmacro] 4)
#@26
(fn WHOLE &rest SLOTS)
(defalias 'transient-suffix--anon-cmacro #[385 "\211@;\204\207\300\301\302@@#@\303@DABB\"\207" [macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 7 (#$ . 19367)])
(byte-code "\300\301\302\303!\"\210\300\304\305\303!\"\210\300\306\304\"\210\307\306\310\311#\210\312\303\313\304#\314\303\315\316\317$\207" [defalias transient-infix-p eieio-make-class-predicate transient-infix transient-infix--eieio-childp eieio-make-child-predicate transient-infix-child-p make-obsolete "use (cl-typep ... \\='transient-infix) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (transient-suffix) ((transient :initform t) (argument :initarg :argument) (shortarg :initarg :shortarg) (value :initform nil) (multi-value :initarg :multi-value :initform nil) (allow-empty :initarg :allow-empty :initform nil) (history-key :initarg :history-key :initform nil) (reader :initarg :reader :initform nil) (prompt :initarg :prompt :initform nil) (choices :initarg :choices :initform nil) (format :initform " %k %d (%v)")) (:documentation "Transient infix command." :abstract t)] 6)
#@73 You cannot create a new object of type `transient-infix'.
(fn &rest _)
(defalias 'transient-infix #[128 "\300\301!\207" [error "Class transient-infix is abstract"] 3 (#$ . 20522)])
(byte-code "\300\301\302\303!\"\210\300\304\305\303!\"\210\300\306\304\"\210\307\306\310\311#\210\312\303\313\304#\314\303\315\316\317$\207" [defalias transient-argument-p eieio-make-class-predicate transient-argument transient-argument--eieio-childp eieio-make-child-predicate transient-argument-child-p make-obsolete "use (cl-typep ... \\='transient-argument) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (transient-infix) nil (:documentation "Abstract superclass for infix arguments." :abstract t)] 6)
#@76 You cannot create a new object of type `transient-argument'.
(fn &rest _)
(defalias 'transient-argument #[128 "\300\301!\207" [error "Class transient-argument is abstract"] 3 (#$ . 21250)])
(byte-code "\300\301\302\303!\"\210\300\304\305\303!\"\210\300\306\304\"\210\307\306\310\311#\210\312\303\313\304#\314\303\315\316\317$\207" [defalias transient-switch-p eieio-make-class-predicate transient-switch transient-switch--eieio-childp eieio-make-child-predicate transient-switch-child-p make-obsolete "use (cl-typep ... \\='transient-switch) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (transient-argument) nil (:documentation "Class used for command-line argument that can be turned on and off.")] 6)
#@73 Create a new object of class type `transient-switch'.
(fn &rest SLOTS)
(defalias 'transient-switch #[128 "\300\301\302#\207" [apply make-instance transient-switch] 5 (#$ . 21995)])
(byte-code "\300\301\302\303#\300\207" [function-put transient-switch compiler-macro transient-switch--anon-cmacro] 4)
#@26
(fn WHOLE &rest SLOTS)
(defalias 'transient-switch--anon-cmacro #[385 "\211@;\204\207\300\301\302@@#@\303@DABB\"\207" [macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 7 (#$ . 22303)])
(byte-code "\300\301\302\303!\"\210\300\304\305\303!\"\210\300\306\304\"\210\307\306\310\311#\210\312\303\313\304#\314\303\315\316\317$\207" [defalias transient-option-p eieio-make-class-predicate transient-option transient-option--eieio-childp eieio-make-child-predicate transient-option-child-p make-obsolete "use (cl-typep ... \\='transient-option) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (transient-argument) nil (:documentation "Class used for command-line argument that can take a value.")] 6)
#@73 Create a new object of class type `transient-option'.
(fn &rest SLOTS)
(defalias 'transient-option #[128 "\300\301\302#\207" [apply make-instance transient-option] 5 (#$ . 23079)])
(byte-code "\300\301\302\303#\300\207" [function-put transient-option compiler-macro transient-option--anon-cmacro] 4)
#@26
(fn WHOLE &rest SLOTS)
(defalias 'transient-option--anon-cmacro #[385 "\211@;\204\207\300\301\302@@#@\303@DABB\"\207" [macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 7 (#$ . 23387)])
(byte-code "\300\301\302\303!\"\210\300\304\305\303!\"\210\300\306\304\"\210\307\306\310\311#\210\312\303\313\304#\314\303\315\316\317$\207" [defalias transient-variable-p eieio-make-class-predicate transient-variable transient-variable--eieio-childp eieio-make-child-predicate transient-variable-child-p make-obsolete "use (cl-typep ... \\='transient-variable) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (transient-infix) ((variable :initarg :variable) (format :initform " %k %d %v")) (:documentation "Abstract superclass for infix commands that set a variable." :abstract t)] 6)
#@76 You cannot create a new object of type `transient-variable'.
(fn &rest _)
(defalias 'transient-variable #[128 "\300\301!\207" [error "Class transient-variable is abstract"] 3 (#$ . 24241)])
(byte-code "\300\301\302\303!\"\210\300\304\305\303!\"\210\300\306\304\"\210\307\306\310\311#\210\312\303\313\304#\314\303\315\316\317$\207" [defalias transient-switches-p eieio-make-class-predicate transient-switches transient-switches--eieio-childp eieio-make-child-predicate transient-switches-child-p make-obsolete "use (cl-typep ... \\='transient-switches) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (transient-argument) ((argument-format :initarg :argument-format) (argument-regexp :initarg :argument-regexp)) (:documentation "Class used for sets of mutually exclusive command-line switches.")] 6)
#@75 Create a new object of class type `transient-switches'.
(fn &rest SLOTS)
(defalias 'transient-switches #[128 "\300\301\302#\207" [apply make-instance transient-switches] 5 (#$ . 25079)])
(byte-code "\300\301\302\303#\300\207" [function-put transient-switches compiler-macro transient-switches--anon-cmacro] 4)
#@26
(fn WHOLE &rest SLOTS)
(defalias 'transient-switches--anon-cmacro #[385 "\211@;\204\207\300\301\302@@#@\303@DABB\"\207" [macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 7 (#$ . 25397)])
(byte-code "\300\301\302\303!\"\210\300\304\305\303!\"\210\300\306\304\"\210\307\306\310\311#\210\312\303\313\304#\314\303\315\316\317$\207" [defalias transient-files-p eieio-make-class-predicate transient-files transient-files--eieio-childp eieio-make-child-predicate transient-files-child-p make-obsolete "use (cl-typep ... \\='transient-files) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (transient-infix) nil (:documentation "Class used for the \"--\" argument.\nAll remaining arguments are treated as files.\nThey become the value of this this argument.")] 6)
#@72 Create a new object of class type `transient-files'.
(fn &rest SLOTS)
(defalias 'transient-files #[128 "\300\301\302#\207" [apply make-instance transient-files] 5 (#$ . 26236)])
(byte-code "\300\301\302\303#\300\207" [function-put transient-files compiler-macro transient-files--anon-cmacro] 4)
#@26
(fn WHOLE &rest SLOTS)
(defalias 'transient-files--anon-cmacro #[385 "\211@;\204\207\300\301\302@@#@\303@DABB\"\207" [macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 7 (#$ . 26539)])
(byte-code "\300\301\302\303!\"\210\300\304\305\303!\"\210\300\306\304\"\210\307\306\310\311#\210\312\303\313\304#\314\303\315\316\317$\207" [defalias transient-group-p eieio-make-class-predicate transient-group transient-group--eieio-childp eieio-make-child-predicate transient-group-child-p make-obsolete "use (cl-typep ... \\='transient-group) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (transient-child) ((suffixes :initarg :suffixes :initform nil) (hide :initarg :hide :initform nil) (description :initarg :description :initform nil)) (:documentation "Abstract superclass of all group classes." :abstract t)] 6)
#@73 You cannot create a new object of type `transient-group'.
(fn &rest _)
(defalias 'transient-group #[128 "\300\301!\207" [error "Class transient-group is abstract"] 3 (#$ . 27428)])
(byte-code "\300\301\302\303!\"\210\300\304\305\303!\"\210\300\306\304\"\210\307\306\310\311#\210\312\303\313\304#\314\303\315\316\317$\207" [defalias transient-column-p eieio-make-class-predicate transient-column transient-column--eieio-childp eieio-make-child-predicate transient-column-child-p make-obsolete "use (cl-typep ... \\='transient-column) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (transient-group) nil (:documentation "Group class that displays each element on a separate line.")] 6)
#@73 Create a new object of class type `transient-column'.
(fn &rest SLOTS)
(defalias 'transient-column #[128 "\300\301\302#\207" [apply make-instance transient-column] 5 (#$ . 28152)])
(byte-code "\300\301\302\303#\300\207" [function-put transient-column compiler-macro transient-column--anon-cmacro] 4)
#@26
(fn WHOLE &rest SLOTS)
(defalias 'transient-column--anon-cmacro #[385 "\211@;\204\207\300\301\302@@#@\303@DABB\"\207" [macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 7 (#$ . 28460)])
(byte-code "\300\301\302\303!\"\210\300\304\305\303!\"\210\300\306\304\"\210\307\306\310\311#\210\312\303\313\304#\314\303\315\316\317$\207" [defalias transient-row-p eieio-make-class-predicate transient-row transient-row--eieio-childp eieio-make-child-predicate transient-row-child-p make-obsolete "use (cl-typep ... \\='transient-row) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (transient-group) nil (:documentation "Group class that displays all elements on a single line.")] 6)
#@70 Create a new object of class type `transient-row'.
(fn &rest SLOTS)
(defalias 'transient-row #[128 "\300\301\302#\207" [apply make-instance transient-row] 5 (#$ . 29215)])
(byte-code "\300\301\302\303#\300\207" [function-put transient-row compiler-macro transient-row--anon-cmacro] 4)
#@26
(fn WHOLE &rest SLOTS)
(defalias 'transient-row--anon-cmacro #[385 "\211@;\204\207\300\301\302@@#@\303@DABB\"\207" [macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 7 (#$ . 29508)])
(byte-code "\300\301\302\303!\"\210\300\304\305\303!\"\210\300\306\304\"\210\307\306\310\311#\210\312\303\313\304#\314\303\315\316\317$\207" [defalias transient-columns-p eieio-make-class-predicate transient-columns transient-columns--eieio-childp eieio-make-child-predicate transient-columns-child-p make-obsolete "use (cl-typep ... \\='transient-columns) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (transient-group) nil (:documentation "Group class that displays elements organized in columns.\nDirect elements have to be groups whose elements have to be\ncommands or string. Each subgroup represents a column. This\nclass takes care of inserting the subgroups' elements.")] 6)
#@74 Create a new object of class type `transient-columns'.
(fn &rest SLOTS)
(defalias 'transient-columns #[128 "\300\301\302#\207" [apply make-instance transient-columns] 5 (#$ . 30460)])
(byte-code "\300\301\302\303#\300\207" [function-put transient-columns compiler-macro transient-columns--anon-cmacro] 4)
#@26
(fn WHOLE &rest SLOTS)
(defalias 'transient-columns--anon-cmacro #[385 "\211@;\204\207\300\301\302@@#@\303@DABB\"\207" [macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 7 (#$ . 30773)])
(byte-code "\300\301\302\303!\"\210\300\304\305\303!\"\210\300\306\304\"\210\307\306\310\311#\210\312\303\313\304#\314\303\315\316\317$\207" [defalias transient-subgroups-p eieio-make-class-predicate transient-subgroups transient-subgroups--eieio-childp eieio-make-child-predicate transient-subgroups-child-p make-obsolete "use (cl-typep ... \\='transient-subgroups) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (transient-group) nil (:documentation "Group class that wraps other groups.\n\nDirect elements have to be groups whose elements have to be\ncommands or strings. This group inserts an empty line between\nsubgroups. The subgroups are responsible for displaying their\nelements themselves.")] 6)
#@76 Create a new object of class type `transient-subgroups'.
(fn &rest SLOTS)
(defalias 'transient-subgroups #[128 "\300\301\302#\207" [apply make-instance transient-subgroups] 5 (#$ . 31752)])
(byte-code "\300\301\302\303#\300\207" [function-put transient-subgroups compiler-macro transient-subgroups--anon-cmacro] 4)
#@26
(fn WHOLE &rest SLOTS)
(defalias 'transient-subgroups--anon-cmacro #[385 "\211@;\204\207\300\301\302@@#@\303@DABB\"\207" [macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 7 (#$ . 32075)])
#@1535 Define NAME as a transient prefix command.
ARGLIST are the arguments that command takes.
DOCSTRING is the documentation string and is optional.
These arguments can optionally be followed by key-value pairs.
Each key has to be a keyword symbol, either `:class' or a keyword
argument supported by the constructor of that class. The
`transient-prefix' class is used if the class is not specified
explicitly.
GROUPs add key bindings for infix and suffix commands and specify
how these bindings are presented in the popup buffer. At least
one GROUP has to be specified. See info node `(transient)Binding
Suffix and Infix Commands'.
The BODY is optional. If it is omitted, then ARGLIST is also
ignored and the function definition becomes:
(lambda ()
(interactive)
(transient-setup \='NAME))
If BODY is specified, then it must begin with an `interactive'
form that matches ARGLIST, and it must call `transient-setup'.
It may however call that function only when some condition is
satisfied; that is one of the reason why you might want to use
an explicit BODY.
All transients have a (possibly nil) value, which is exported
when suffix commands are called, so that they can consume that
value. For some transients it might be necessary to have a sort
of secondary value, called a scope. Such a scope would usually
be set in the commands `interactive' form and has to be passed
to the setup function:
(transient-setup \='NAME nil nil :scope SCOPE)
(fn NAME ARGLIST [DOCSTRING] [KEYWORD VALUE]... GROUP... [BODY...])
(defalias 'define-transient-command '(macro . #[642 "\300!\211@A\211@A\211@A\211@A\211@A\n \301\302\303D\2034\304 BB\202>\304\305\306\307\303DDFE\310\303D\311BB\310\303D\312 F\310\303D\313\206\\\314\315\303D BBBF\310\303D\316\303\317\320\321\322\323\324!!\325\"\326\327% \"DF\257\266\205\207" [transient--expand-define-args progn defalias quote lambda nil (interactive) transient-setup put ('interactive-only t) 'function-documentation 'transient--prefix transient-prefix :command 'transient--layout cl-mapcan make-byte-code 257 "\301\300\"\207" vconcat vector [transient--parse-child] 4 "\n\n(fn S)"] 35 (#$ . 32316)]))
(put 'define-transient-command 'edebug-form-spec '(&define name lambda-list [&optional lambda-doc] [&rest keywordp sexp] [&rest vectorp] [&optional ("interactive" interactive) def-body]))
#@630 Define NAME as a transient suffix command.
ARGLIST are the arguments that the command takes.
DOCSTRING is the documentation string and is optional.
These arguments can optionally be followed by key-value pairs.
Each key has to be a keyword symbol, either `:class' or a
keyword argument supported by the constructor of that class.
The `transient-suffix' class is used if the class is not
specified explicitly.
The BODY must begin with an `interactive' form that matches
ARGLIST. The infix arguments are usually accessed by using
`transient-args' inside `interactive'.
(fn NAME ARGLIST [DOCSTRING] [KEYWORD VALUE]... BODY...)
(defalias 'define-suffix-command '(macro . #[642 "\300!\211@A\211@A\211A\211@A\211@A \301\302\303D\304BBE\305\303D\306BB\305\303D\307F\305\303D\310\206F\311\312\303D BBBF\257\266\204\207" [transient--expand-define-args progn defalias quote lambda put ('interactive-only t) 'function-documentation 'transient--suffix transient-suffix :command] 28 (#$ . 34708)]))
(put 'define-suffix-command 'edebug-form-spec '(&define name lambda-list [&optional lambda-doc] [&rest keywordp sexp] ("interactive" interactive) def-body))
#@1342 Define NAME as a transient infix command.
ARGLIST is always ignored and reserved for future use.
DOCSTRING is the documentation string and is optional.
The key-value pairs are mandatory. All transient infix commands
are equal to each other (but not eq), so it is meaningless to
define an infix command without also setting at least `:class'
and one other keyword (which it is depends on the used class,
usually `:argument' or `:variable').
Each key has to be a keyword symbol, either `:class' or a keyword
argument supported by the constructor of that class. The
`transient-switch' class is used if the class is not specified
explicitly.
The function definitions is always:
(lambda ()
(interactive)
(let ((obj (transient-suffix-object)))
(transient-infix-set obj (transient-infix-read obj)))
(transient--show))
`transient-infix-read' and `transient-infix-set' are generic
functions. Different infix commands behave differently because
the concrete methods are different for different infix command
classes. In rare case the above command function might not be
suitable, even if you define your own infix command class. In
that case you have to use `transient-suffix-command' to define
the infix command and use t as the value of the `:transient'
keyword.
(fn NAME ARGLIST [DOCSTRING] [KEYWORD VALUE]...)
(defalias 'define-infix-command '(macro . #[642 "\300!\211@A\211@A\211A\211@A\211A \301\302\303D\304 E\305\303D\306BB\305\303D\307F\305\303D\310\206>\311\312\303D BBBF\257\266\203\207" [transient--expand-define-args progn defalias quote transient--default-infix-command put ('interactive-only t) 'function-documentation 'transient--suffix transient-switch :command] 26 (#$ . 35895)]))
(byte-code "\300\301\302\303#\210\304\305\301\306#\207" [put define-infix-command edebug-form-spec (&define name lambda-list [&optional lambda-doc] [&rest keywordp sexp]) defalias define-infix-argument "Define NAME as a transient infix command.\n\nOnly use this alias to define an infix command that actually\nsets an infix argument. To define a infix command that, for\nexample, sets a variable use `define-infix-command' instead.\n\n(fn NAME ARGLIST [DOCSTRING] [KEYWORD VALUE]...)"] 4)
#@13
(fn ARGS)
(defalias 'transient--expand-define-args #[257 "\300\211\211\211@;\203\211A\262\242\262\301@!\203@\211A\262\242\211A\262\242\302=\2031\211\262\202;B\262\211B\262\266\202\303@!\203T\211A\262\242B\262\202@\242\304=\203aA@\202b\237\237\257\207" [nil keywordp :class vectorp quote] 10 (#$ . 38142)])
#@20
(fn PREFIX SPEC)
(defalias 'transient--parse-child #[514 "\300!\203\301\"\211\205\211C\207\211<\203!\302\"\211\205 \211C\207\211;\203)\211C\207\303\304\305#\2052\306\207" [vectorp transient--parse-group transient--parse-suffix error "cl-etypecase failed: %s, %s" (vector list string) nil] 6 (#$ . 38498)])
#@20
(fn PREFIX SPEC)
(defalias 'transient--parse-group #[514 "\300\301\"\262\301\211\211@\250\203\211A\262\242\262@;\203*\302\303\211A\262\242#\262\304@!\203Y\211A\262\242\211\305=\203H\211A\262\242\262\202U\302\211A\262 \242#\262\210\202*\306\206b\307\310\311\"\206s\312@!\203r\313\202s\314\315\316\317\320\321\306!\322\"\323\324% \"$\207" [append nil plist-put :description keywordp :class vector eieio-oref-default transient-child level vectorp transient-columns transient-column cl-mapcan make-byte-code 257 "\301\300\"\207" vconcat [transient--parse-child] 4 "\n\n(fn S)"] 16 (#$ . 38826)])
#@20
(fn PREFIX SPEC)
(defalias 'transient--parse-suffix #[514 "\300\211\211@\250\203\211A\262\242\262@;\204\301@!\203+\302\303\211A\262\242#\262@;\204N@\242\304=\204N@9\203[\305@!\204[\305A@!\203[\302\306\211A\262\242#\262\307@!\203k\310\311@\"\210\202 @9\203\201\302\312\211A\262\242#\262\202 @;\204\222@\203@<\203\211A\262\242\211<\203\266\302\313@#\262\302\314A@#\262\211A@\262\202\321\211;\203\321\315!\211\203\311\302\313#\262\210\302\314#\262\302\312\316\317\320 #!#\262@\203\377\307@!\204\377\321\262\302\322\211A\262 \242#\262\202\323\324\"\204\f\325\262\202\321\262\302\322\326#\262\210\202 \310\327@\"\210\307@!\203b\211A\262\242\330\331\"\203?\211A\262\242\262\202^\330\332\"\203Q\211A\262\242\262\202^\302\211A\262 \242#\262\210\202 \333\303\"\204y\333\313\"\211\203x\302\303#\262\210\206\201\334\335\336\"\206\206\337E\207" [nil vectorp plist-put :key lambda commandp :description keywordp error "Need command, got %S" :command :shortarg :argument transient--derive-shortarg intern format "transient:%s:%s" transient-option :reader string-suffix-p "=" transient-switch read-string "Needed command or argument, got %S" eql :class :level plist-get eieio-oref-default transient-child level transient-suffix] 14 (#$ . 39469)])
(defalias 'transient--default-infix-command #[0 "\300\301B\207" [lambda (nil (interactive) (let ((obj (transient-suffix-object))) (transient-infix-set obj (transient-infix-read obj))) (transient--show))] 2])
#@12
(fn OBJ)
(defalias 'transient--ensure-infix-command #[257 "\300\301\"\302!\206 \211\303N?\205*\304!\204\305!\203&\306\303\307 #\202*\310\311\"\207" [eieio-oref command commandp transient--infix-command transient-switch--eieio-childp transient-option--eieio-childp put transient--default-infix-command error "Suffix %s is not defined or autoloaded as a command"] 6 (#$ . 41048)])
#@12
(fn ARG)
(defalias 'transient--derive-shortarg #[257 "\300 \301\302\303\304\305!\306\"\307$\216\310\311\"\205\312\313\")\207" [match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 string-match "\\`\\(-[a-zA-Z]\\)\\(\\'\\|=\\)" match-string 1] 8 (#$ . 41447)])
#@33
(fn PREFIX LOC SUFFIX ACTION)
(defalias 'transient--insert-suffix #[1028 "\300!\203 \301\"\202+<\203\302\"\202+;\203\"\202+\303\304\305#\205+\306\307\"\211@\204B\310\311  $\202\336\300!\203N\300!\203d<\203Y\300!\204d;\203q\300!\203q\310\312  \313%\202\336<\203\244\211<\203\244\314\315\"\206\210\316\314\317\"!\320!\320\314\3218\315\"!\232\203\235\322\262\202\243\323\"\210\210\324\325\"\203\270AB\241\210\240\202\336\324\326\"\203\310AB\241\202\336\324\322\"\203\325\240\202\336\303\327\330#\205\336\306\207" [vectorp transient--parse-group transient--parse-suffix error "cl-etypecase failed: %s, %s" (vector list string) nil transient--layout-member message "Cannot insert %S into %s; %s not found" "Cannot place %S into %s at %s; %s" "suffixes and groups cannot be siblings" plist-get :key transient--command-key :command transient--kbd 2 replace transient-remove-suffix eql insert append "cl-ecase failed: %s, %s" (insert append replace)] 13 (#$ . 41760)])
#@451 Insert a SUFFIX into PREFIX before LOC.
PREFIX is a prefix command, a symbol.
SUFFIX is a suffix command or a group specification (of
the same forms as expected by `define-transient-command').
LOC is a command, a key vector, a key description (a string
as returned by `key-description'), or a coordination list
(whose last element may also be a command or key).
See info node `(transient)Modifying Existing Transients'.
(fn PREFIX LOC SUFFIX)
(defalias 'transient-insert-suffix #[771 "\300\301$\207" [transient--insert-suffix insert] 8 (#$ . 42809)])
(byte-code "\300\301\302\303#\300\207" [function-put transient-insert-suffix lisp-indent-function defun] 4)
#@450 Insert a SUFFIX into PREFIX after LOC.
PREFIX is a prefix command, a symbol.
SUFFIX is a suffix command or a group specification (of
the same forms as expected by `define-transient-command').
LOC is a command, a key vector, a key description (a string
as returned by `key-description'), or a coordination list
(whose last element may also be a command or key).
See info node `(transient)Modifying Existing Transients'.
(fn PREFIX LOC SUFFIX)
(defalias 'transient-append-suffix #[771 "\300\301$\207" [transient--insert-suffix append] 8 (#$ . 43485)])
(byte-code "\300\301\302\303#\300\207" [function-put transient-append-suffix lisp-indent-function defun] 4)
#@460 Replace the suffix at LOC in PREFIX with SUFFIX.
PREFIX is a prefix command, a symbol.
SUFFIX is a suffix command or a group specification (of
the same forms as expected by `define-transient-command').
LOC is a command, a key vector, a key description (a string
as returned by `key-description'), or a coordination list
(whose last element may also be a command or key).
See info node `(transient)Modifying Existing Transients'.
(fn PREFIX LOC SUFFIX)
(defalias 'transient-replace-suffix #[771 "\300\301$\207" [transient--insert-suffix replace] 8 (#$ . 44160)])
(byte-code "\300\301\302\303#\300\207" [function-put transient-replace-suffix lisp-indent-function defun] 4)
#@332 Remove the suffix or group at LOC in PREFIX.
PREFIX is a prefix command, a symbol.
LOC is a command, a key vector, a key description (a string
as returned by `key-description'), or a coordination list
(whose last element may also be a command or key).
See info node `(transient)Modifying Existing Transients'.
(fn PREFIX LOC)
(defalias 'transient-remove-suffix #[514 "\300\301#\207" [transient--layout-member remove] 6 (#$ . 44848)])
(byte-code "\300\301\302\303#\300\207" [function-put transient-remove-suffix lisp-indent-function defun] 4)
#@332 Return the suffix or group at LOC in PREFIX.
PREFIX is a prefix command, a symbol.
LOC is a command, a key vector, a key description (a string
as returned by `key-description'), or a coordination list
(whose last element may also be a command or key).
See info node `(transient)Modifying Existing Transients'.
(fn PREFIX LOC)
(defalias 'transient-get-suffix #[514 "\300\"\211\203 \211@\202\301\302#\207" [transient--layout-member error "%s not found in %s"] 7 (#$ . 45404)])
#@472 Edit the suffix at LOC in PREFIX, setting PROP to VALUE.
PREFIX is a prefix command, a symbol.
SUFFIX is a suffix command or a group specification (of
the same forms as expected by `define-transient-command').
LOC is a command, a key vector, a key description (a string
as returned by `key-description'), or a coordination list
(whose last element may also be a command or key).
See info node `(transient)Modifying Existing Transients'.
(fn PREFIX LOC PROP VALUE)
(defalias 'transient-suffix-put #[1028 "\300\"\211\211<\203\211AA\301\302\234#\240\202&\211\302\301\302\234#I\262\207" [transient-get-suffix plist-put 2] 12 (#$ . 45898)])
#@36
(fn LOC PREFIX &optional REMOVE)
(defalias 'transient--layout-member #[770 "\300N\206\n\301\302\"<\203i@\250\203e\303!\203!\211\304H\202\"\211\305\211A\262\242\"\203T\204T\306@\"\303!\203F\304I\210\202M\307\300#\210\310\262\210\202`\203]\211@\202^\211\262\266\202@\262\203w\311\312!#\202x\211\207" [transient--layout error "%s is not a transient command" vectorp 3 transient--nthcdr delq put nil transient--layout-member-1 transient--kbd] 11 (#$ . 46563)])
#@26
(fn LOC LAYOUT REMOVE)
(defalias 'transient--layout-member-1 #[771 "<\2036\300\301\302\2032\2032@\203\300\262\202&\303#\262\210\211T\262A\262\202 \266\211\207\304\305H@!\203r\300\305H\301\302\203n\203n@\203Y\300\262\202b\303#\262\210\211T\262A\262\202E\266\211\207\211\203\210\305\306\307\"@\305H\"I\210\300\207\307\"\207" [nil t 0 transient--layout-member-1 vectorp 3 delq transient--group-member] 12 (#$ . 47072)])
#@18
(fn LOC GROUP)
(defalias 'transient--group-member #[514 "\300\301\302\303\304\305!\306\"\307\310%\311H\"\207" [cl-member-if make-byte-code 257 "\211<\205'\3018\302\303\"\3009\203\211\300=\202%\304\302\305\"\206\"\306!!\300\232\266\202\207" vconcat vector [2 plist-get :command transient--kbd :key transient--command-key] 7 "\n\n(fn SUFFIX)" 3] 9 (#$ . 47553)])
#@13
(fn KEYS)
(defalias 'transient--kbd #[257 "\300!\203 \301!\262\211;\203\302!\262\207" [vectorp key-description kbd] 3 (#$ . 47934)])
#@12
(fn CMD)
(defalias 'transient--command-key #[257 "\211\300N\211\2050\301\302\"\203\303\302\"\2020\304\305\"\2050\301\305\"\203*\303\305\"\2020\306\303\307\"!\207" [transient--suffix slot-boundp key eieio-oref slot-exists-p shortarg transient--derive-shortarg argument] 6 (#$ . 48083)])
#@15
(fn N LIST)
(defalias 'transient--nthcdr #[514 "\300W\203\211G\301!Z\202\233\207" [0 abs] 5 (#$ . 48390)])
#@169 The transient from which this suffix command was invoked.
This is an object representing that transient, use
`current-transient-command' to get the respective command.
(defvar current-transient-prefix nil (#$ . 48514))
#@166 The transient from which this suffix command was invoked.
This is a symbol representing that transient, use
`current-transient-object' to get the respective object.
(defvar current-transient-command nil (#$ . 48740))
#@276 The suffixes of the transient from which this suffix command was invoked.
This is a list of objects. Usually it is sufficient to instead
use the function `transient-args', which returns a list of
values. In complex cases it might be necessary to use this
variable instead.
(defvar current-transient-suffixes nil (#$ . 48964))
#@37 Hook run after exiting a transient.
(defvar post-transient-hook nil (#$ . 49298))
(defvar transient--prefix nil)
(defvar transient--layout nil)
(defvar transient--suffixes nil)
#@29 Do not exist the transient.
(defconst transient--stay t (#$ . 49481))
#@24 Do exit the transient.
(defconst transient--exit nil (#$ . 49557))
#@32 Whether to exit the transient.
(defvar transient--exitp nil (#$ . 49630))
#@50 Whether the transient is show in a popup buffer.
(defvar transient--showp nil (#$ . 49710))
#@30 Whether help-mode is active.
(defvar transient--helpp nil (#$ . 49808))
#@30 Whether edit-mode is active.
(defvar transient--editp nil (#$ . 49886))
#@39 The active infix awaiting user input.
(defvar transient--active-infix nil (#$ . 49964))
(defvar transient--timer nil)
(defvar transient--stack nil)
#@31 Name of the transient buffer.
(defvar transient--buffer-name " *transient*" (#$ . 50118))
#@49 The window used to display the transient popup.
(defvar transient--window nil (#$ . 50214))
#@123 The window that was selected before the transient was invoked.
Usually it remains selected while the transient is active.
(defvar transient--original-window nil (#$ . 50313))
(byte-code "\300\301\302\303#\210\304\211\203(\211@\301N\203!\302N\204!\305\302\301N#\210A\266\202\202\210\306\301\302\307#\207" [defvaralias transient--source-buffer transient--original-buffer nil (saved-value saved-variable-comment) put make-obsolete-variable "Transient 0.2.0"] 7)
#@121 The buffer that was current before the transient was invoked.
Usually it remains current while the transient is active.
(defvar transient--original-buffer nil (#$ . 50789))
#@48 Whether put debug information into *Messages*.
(defvar transient--debug nil (#$ . 50968))
(defvar transient--history nil)
#@1513 Return the object associated with the current suffix command.
Each suffix commands is associated with an object, which holds
additional information about the suffix, such as its value (in
the case of an infix command, which is a kind of suffix command).
This function is intended to be called by infix commands, whose
command definition usually (at least when defined using
`define-infix-command') is this:
(lambda ()
(interactive)
(let ((obj (transient-suffix-object)))
(transient-infix-set obj (transient-infix-read obj)))
(transient--show))
(User input is read outside of `interactive' to prevent the
command from being added to `command-history'. See #23.)
Such commands need to be able to access their associated object
to guide how `transient-infix-read' reads the new value and to
store the read value. Other suffix commands (including non-infix
commands) may also need the object to guide their behavior.
This function attempts to return the object associated with the
current suffix command even if the suffix command was not invoked
from a transient. (For some suffix command that is a valid thing
to do, for others it is not.) In that case nil may be returned
if the command was not defined using one of the macros intended
to define such commands.
The optional argument COMMAND is intended for internal use. If
you are contemplating using it in your own code, then you should
probably use this instead:
(get COMMAND 'transient--suffix)
(fn &optional COMMAND)
(defalias 'transient-suffix-object #[256 "\203\303\304\305\306\307\310!\311\"\312\313% \"\207\211\206\n\314N\211\205#\315!\211\2050\316!\210\317!\210\211\207" [transient--prefix transient--suffixes this-command cl-find-if make-byte-code 257 "\302!\300\206 =\207" vconcat vector [this-original-command transient--suffix-command] 3 "\n\n(fn OBJ)" transient--suffix clone transient-init-scope transient-init-value] 8 (#$ . 51098)])
#@2050 Return the command specified by ARG.
Given a suffix specified by ARG, this function returns the
respective command or a symbol that represents it. It could
therefore be considered the inverse of `transient-suffix-object'.
Unlike that function it is only intended for internal use though,
and it is more complicated to describe because of some internal
tricks it has to account for. You do not actually have to know
any of this.
ARG can be a `transient-suffix' object, a symbol representing a
command, or a command (which can be either a fbound symbol or a
lambda expression).
If it is an object, then the value of its `command' slot is used
as follows. If ARG satisfies `commandp', then that is returned.
Otherwise it is assumed to be a symbol that merely represents the
command. In that case the lambda expression that is stored in
the symbols `transient--infix-command' property is returned.
Therefore, if ARG is an object, then this function always returns
something that is callable as a command.
ARG can also be something that is callable as a function. If it
is a symbol, then that is returned. Otherwise it is a lambda
expression and a symbol that merely representing that command is
returned.
Therefore, if ARG is something that is callable as a command,
then this function always returns a symbol that is, or merely
represents that command.
The reason that there are "symbols that merely represent a
command" is that by avoiding binding a symbol as a command we
can prevent it from being offered as a completion candidate for
`execute-extended-command'. That is useful for infix arguments,
which usually do not work correctly unless called from a
transient. Unfortunately this only works for infix arguments
that are defined inline in the definition of a transient prefix
command; explicitly defined infix arguments continue to pollute
the command namespace. It would be better if all this were made
unnecessary by a `execute-extended-command-ignore' symbol property
but unfortunately that does not exist (yet?).
(fn ARG)
(defalias 'transient--suffix-command #[257 "\300!\203\301\302\"\303!\203\211\202\211\304N\207\2119\203\207\301\305 \302\"\207" [transient-suffix--eieio-childp eieio-oref command commandp transient--infix-command transient-suffix-object] 4 (#$ . 53062)])
#@498 Parent of other keymaps used by Transient.
This is the parent keymap of all the keymaps that are used in
all transients: `transient-map' (which in turn is the parent
of the transient-specific keymaps), `transient-edit-map' and
`transient-sticky-map'.
If you change a binding here, then you might also have to edit
`transient-sticky-map' and `transient-common-commands'. While
the latter isn't a proper transient prefix command, it can be
edited using the same functions as used for transients.
(defvar transient-base-map (byte-code "\300 \301\302\303#\210\301\304\305#\210\301\306\303#\210\301\307\310#\210\301\311\312#\210\301\313\314#\210\301\315\312#\210\301\316\314#\210\211\207" [make-sparse-keymap define-key "" transient-quit-all "" transient-quit-one "" "" transient-suspend "" transient-scroll-up [134217846] transient-scroll-down [next] [prior]] 5) (#$ . 55383))
#@42 Top-level keymap used by all transients.
(defvar transient-map (byte-code "\301 \302\"\210\303\304\305#\210\303\306\307#\210\303\310\311#\210\303\312\313#\210\303\314\313#\210\303\315\316#\210\303\317\320#\210\211\207" [transient-base-map make-sparse-keymap set-keymap-parent define-key "" universal-argument [67108909] negative-argument "" transient-show "?" transient-help "" [134217840] transient-history-prev [134217838] transient-history-next] 5) (#$ . 56280))
#@63 Keymap that is active while a transient in is in "edit mode".
(defvar transient-edit-map (byte-code "\301 \302\"\210\303\304\305#\210\303\306\305#\210\303\307\310#\210\211\207" [transient-base-map make-sparse-keymap set-keymap-parent define-key "?" transient-help "" "l" transient-set-level] 5) (#$ . 56764))
#@67 Keymap that is active while an incomplete key sequence is active.
(defvar transient-sticky-map (byte-code "\301 \302\"\210\303\304\305#\210\211\207" [transient-base-map make-sparse-keymap set-keymap-parent define-key "" transient-quit-seq] 5) (#$ . 57086))
(defvar transient--common-command-prefixes '(24))
(byte-code "\300\301\302\303\304\305\"#\207" [put transient-common-commands transient--layout cl-mapcan #[257 "\300\301\"\207" [transient--parse-child transient-common-commands] 4 "\n\n(fn S)"] ([:hide (lambda nil (and (not (memq (car transient--redisplay-key) transient--common-command-prefixes)) (not transient-show-common-commands))) ["Value commands" ("C-x s " "Set" transient-set) ("C-x C-s" "Save" transient-save) ("M-p " "Previous value" transient-history-prev) ("M-n " "Next value" transient-history-next)] ["Sticky commands" ("C-g" "Quit prefix or transient" transient-quit-one) ("C-q" "Quit transient stack" transient-quit-all) ("C-z" "Suspend transient stack" transient-suspend)] ["Customize" ("C-x t" transient-toggle-common :description (lambda nil (if transient-show-common-commands "Hide common commands" "Show common permanently"))) ("C-x l" "Show/hide suffixes" transient-set-level)]])] 6)
#@710 Base keymap used to map common commands to their transient behavior.
The "transient behavior" of a command controls, among other
things, whether invoking the command causes the transient to be
exited or not and whether infix arguments are exported before
doing so.
Each "key" is a command that is common to all transients and
that is bound in `transient-map', `transient-edit-map',
`transient-sticky-map' and/or `transient-common-command'.
Each binding is a "pre-command", a function that controls the
transient behavior of the respective command.
For transient commands that are bound in individual transients,
the transient behavior is specified using the `:transient' slot
of the corresponding object.
(defvar transient-predicate-map (byte-code "\300 \301\302\303#\210\301\304\303#\210\301\305\306#\210\301\307\306#\210\301\310\306#\210\301\311\306#\210\301\312\306#\210\301\313\306#\210\301\314\306#\210\301\315\316#\210\301\317\320#\210\301\321\306#\210\301\322\306#\210\301\323\306#\210\301\324\306#\210\301\325\326#\210\301\327\326#\210\301\330\306#\210\301\331\306#\210\301\332\306#\210\301\333\306#\210\301\334\306#\210\301\335\336#\210\301\337\340#\210\301\341\340#\210\301\342\340#\210\301\343\340#\210\301\344\340#\210\301\345\340#\210\211\207" [make-sparse-keymap define-key [handle-switch-frame] transient--do-suspend [transient-suspend] [transient-help] transient--do-stay [transient-set-level] [transient-history-prev] [transient-history-next] [universal-argument] [negative-argument] [digit-argument] [transient-quit-all] transient--do-quit-all [transient-quit-one] transient--do-quit-one [transient-quit-seq] [transient-show] [transient-update] [transient-toggle-common] [transient-set] transient--do-call [transient-save] [describe-key-briefly] [describe-key] [transient-scroll-up] [transient-scroll-down] [mwheel-scroll] [transient-noop] transient--do-noop [transient-mouse-push-button] transient--do-move [transient-push-button] [transient-backward-button] [transient-forward-button] [transient-isearch-backward] [transient-isearch-forward]] 5) (#$ . 58319))
(defvar transient--transient-map nil)
(defvar transient--predicate-map nil)
(defvar transient--redisplay-map nil)
(defvar transient--redisplay-key nil)
#@12
(fn MAP)
(defalias 'transient--push-keymap #[257 "\300\301\211J\203\f\302\202 \303#\210\3041\305J\306\"0\207\307\310\"\210\311\207" [transient--debug " push %s%s" "" " VOID" (debug error) internal-push-keymap overriding-terminal-local-map message "transient--push-keymap: %S" nil] 5 (#$ . 60590)])
#@12
(fn MAP)
(defalias 'transient--pop-keymap #[257 "\300\301\211J\203\f\302\202 \303#\210\3041\305J\306\"0\207\307\310\"\210\311\207" [transient--debug " pop %s%s" "" " VOID" (debug error) internal-pop-keymap overriding-terminal-local-map message "transient--pop-keymap: %S" nil] 5 (#$ . 60905)])
(defalias 'transient--make-transient-map #[0 "\306 \307\203\f \202 \n\"\210 \211\203\270\211@\310\311\"\312!\203+\313!\262\314\311#\210\f\203K\315 \316\317\320\321\322!\323\"\324$\216\f!)\262\262\314\311#\210\325!\326! \205Z\327\"\211\203\250=\204\250\330\331\332\211\333\334\206r\335\336Q\"\203\204\337\340\341\211$\266\202\202\207\266\202\333\342\206\217\335\343Q\"\203\241\337\340\341\211$\266\205\202\244\266\205$\210\210\344#\266A\266\202\202\210&\203\306\345'D!\262\211\207" [transient--editp transient-edit-map transient-map transient--suffixes transient-substitute-key-function transient-detect-key-conflicts make-sparse-keymap set-keymap-parent eieio-oref key vectorp key-description eieio-oset match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 kbd transient--suffix-command transient--lookup-key error "Cannot bind %S to %s and also %s" nil string-match "\\(?:" "[ \n ]+" "\\)\\'" replace-match "" t "\\`\\(?:" "\\)" define-key make-composed-keymap transient-enable-popup-navigation transient-popup-navigation-map] 19])
(defalias 'transient--make-predicate-map #[0 "\303 \304\"\210 \211\203u\211@\305!\2119\205\211\302N\306\307\"\203L\310\311!\312\307\"\211\313=\203<\2038\314\202E\315\202E\211\204D\316\202E\211\262#\210\202l\317\311!\"\204l\310\311!\203b\314\202j\312\n\320\"\206j\316#\210\266A\266\202\202\210\211\207" [transient-predicate-map transient--suffixes transient--prefix make-sparse-keymap set-keymap-parent transient--suffix-command slot-boundp transient define-key vector eieio-oref t transient--do-replace transient--do-stay transient--do-exit lookup-key transient-suffix] 11])
(defalias 'transient--make-redisplay-map #[0 "\306\307\"\203\310\311\312 !\211\202(\306\313\"\203'\314\311\312 !\315\"\314 !\202(\316\317 \317 \203>\320\321 !#\210\322\f\"\210\323\324\325\326\321\327!\330\"\331\332% \203Y\333 \321 !\"\202Z \"\210\207" [this-command transient--showp unread-command-events transient--redisplay-key transient-sticky-map transient--transient-map eql transient-update t listify-key-sequence this-single-command-raw-keys transient-quit-seq butlast 2 nil make-sparse-keymap define-key vconcat set-keymap-parent map-keymap-internal make-byte-code 514 "\302=?\205\211<\205\303!\205\304\300\305 C\"\306#\207" vector [transient--redisplay-key 27 keymapp define-key vconcat transient-update] 7 "\n\n(fn KEY DEF)" lookup-key] 9])
#@430 Setup the transient specified by NAME.
This function is called by transient prefix commands to setup the
transient. In that case NAME is mandatory, LAYOUT and EDIT must
be nil and PARAMS may be (but usually is not) used to set e.g. the
"scope" of the transient (see `transient-define-prefix').
This function is also called internally in which case LAYOUT and
EDIT may be non-nil.
(fn &optional NAME LAYOUT EDIT &rest PARAMS)
(defalias 'transient-setup #[896 "\306\307!\210\204!\310\304!\210\310\305!\210\311\312\"\262\313\311\314\"D\262\2025\204/ \204/\315 \210\2025\2035\316\317#\210\320!\210\321 \322 \323 \324 p\325 \210\326 \210\327 \207" [transient--prefix current-transient-command transient--editp transient--predicate-map transient--transient-map transient--redisplay-map transient--debug setup transient--pop-keymap eieio-oref command :scope scope transient--stack-zap t transient--init-objects transient--history-init transient--make-predicate-map transient--make-transient-map transient--make-redisplay-map selected-window transient--redisplay transient--init-transient transient--suspend-which-key-mode transient--original-window transient--original-buffer] 8 (#$ . 63744)])
#@27
(fn NAME LAYOUT PARAMS)
(defalias 'transient--init-objects #[771 "\302N\306\307\310\311\312\313\312\f\"\"\206 &\262\314\n!\210\206G\312\"\315\316\317\320\321\322!\323\"\324\325%\326\304N ?\205C\327\304N\"\"\262\330C\211\316\317\331\321\322!\332\"\333\334%\240\210\315\242\f\"\262\211\207" [transient-levels transient-default-level transient--prefix transient--editp transient--layout transient--suffixes apply clone :prototype :level alist-get t transient-init-value cl-mapcan make-byte-code 257 "\301\300\"\207" vconcat vector [transient--init-child] 4 "\n\n(fn C)" append transient-common-commands nil "\211;\203\301\207\211<\203\302\300\242\"\207\303!\203!\302\300\242\304\305\"\"\207\306!\205)\211C\207" [nil cl-mapcan transient-group--eieio-childp eieio-oref suffixes transient-suffix--eieio-childp] 6 "\n\n(fn DEF)"] 15 (#$ . 64966)])
#@20
(fn LEVELS SPEC)
(defalias 'transient--init-child #[514 "\300!\203 \301\"\207\211<\203\302\"\207\211;\203\211C\207\303\304\305#\205&\306\207" [vectorp transient--init-group transient--init-suffix error "cl-etypecase failed: %s, %s" (vector list string) nil] 6 (#$ . 65854)])
#@20
(fn LEVELS SPEC)
(defalias 'transient--init-group #[514 "\300\301\"\211@A\211@A\211@A\211@A\n\302!\205N\303\304$\305!\205L\306\307\310\311\312\313!\314\"\315\316%\"\211\205J\317\320#\210C\262\262\266\204\207" [append nil transient--use-level-p apply :level transient--use-suffix-p cl-mapcan make-byte-code 257 "\301\300\"\207" vconcat vector [transient--init-child] 4 "\n\n(fn C)" eieio-oset suffixes] 23 (#$ . 66149)])
#@20
(fn LEVELS SPEC)
(defalias 'transient--init-suffix #[514 "\211@A\211@A\211@A\300\301\"\302\303! \"\2069\205&K\211\211\242\304=\262\2039\305\306\"\210\307!\210\210\310!\205~\205L9\205L\311N\211\203[\312\313\314\n%\202b\312\314 $\262\315!\210\316!\210\317!\205|\320!\210\321!\210\211C\262\266\202\266\203\207" [plist-get :command alist-get transient--suffix-command autoload transient--debug " autoload %s" autoload-do-load transient--use-level-p transient--suffix apply clone :level transient--init-suffix-key transient--ensure-infix-command transient--use-suffix-p transient-init-scope transient-init-value] 20 (#$ . 66606)])
(byte-code "\300\301\302\303\302\304%\210\300\301\302\305\306\307%\207" [cl-generic-define-method transient--init-suffix-key nil ((obj transient-suffix)) #[257 "\300\301\"?\205\302\303\304\305\"\"\207" [slot-boundp key error "No key for %s" eieio-oref command] 6 "\n\n(fn OBJ)"] ((obj transient-argument)) t #[514 "\300!\203\n!\207\301\302\"\204\"\303\304\305\"!\211\203!\306\302#\210\210\301\307\"?\205A\301\302\"\203:\306\307\304\302\"#\207\310\311\304\312\"\"\207" [transient-switches--eieio-childp slot-boundp shortarg transient--derive-shortarg eieio-oref argument eieio-oset key error "No key for %s" command] 8 "\n\n(fn CL--CNM OBJ)"]] 6)
#@29
(fn LEVEL &optional EDIT)
(defalias 'transient--use-level-p #[513 "\203 \211?\206\302Y\205\303 \304\"X\207" [transient--editp transient--prefix 1 eieio-oref level] 6 (#$ . 67952)])
#@12
(fn OBJ)
(defalias 'transient--use-suffix-p #[257 "\211\301\302\"\203\301\302\" \202\310\301\303\"\203 \301\303\" ?\202\310\301\304\"\203/\301\304\"J\202\310\301\305\"\203?\301\305\"J?\202\310\301\306\"\203`\301\306\":\204W\301\306\"=\202\310\301\306\">\202\310\301\307\"\203\202\301\307\":\204x\301\307\"=\202~\301\307\">?\202\310\301\310\"\203\244\301\310\":\204\232\311\301\310\"!\202\310\312\311\301\310\"\"\202\310\301\313\"\203\307\301\313\":\204\274\311\301\313\"!\202\303\312\311\301\313\"\"?\202\310\314\207" [major-mode slot-value if if-not if-non-nil if-nil if-mode if-not-mode if-derived derived-mode-p apply if-not-derived t] 7 (#$ . 68149)])
(defalias 'transient--init-transient #[0 "\301\302!\210\303\304!\210\303\305!\210\306\307\310\"\210\306\311\312\"\210\306\313\314\"\210\306\315\316\"\210\317\320\321\314#\210\205-\322\211\207" [transient--exitp transient--debug init-transient transient--push-keymap transient--transient-map transient--redisplay-map add-hook pre-command-hook transient--pre-command minibuffer-setup-hook transient--minibuffer-setup minibuffer-exit-hook transient--minibuffer-exit post-command-hook transient--post-command advice-add abort-recursive-edit :after replace] 4])
(defalias 'transient--pre-command #[0 "\306\307!\210\310>\203\311\312!\207 \203)\313>\204)\314 \203%\315 \210\316\317 \207\320\211\207\n\203<\321 \203<\322>\204<\323\211\207\324\325\f\326 !\"\206L\327\330\"\211\203e\211 \211=\203_ \206^\331\211\262\202{\332 \211GSH\333=\203u\334\202v\320\262\262=\205\205\317 \207" [this-command transient--helpp transient--editp transient--exitp transient--predicate-map this-original-command transient--debug pre-command (transient-update transient-quit-seq) transient--pop-keymap transient--redisplay-map (transient-quit-one transient-quit-all) transient-help transient--do-suspend transient-suspend transient--pre-exit transient-undefined transient-suffix-object (transient-quit-one transient-quit-all transient-help) transient-set-level nil lookup-key vector eieio-oref transient-non-suffix t this-command-keys-vector 7 transient-noop transient--prefix transient--exit transient--stay] 4])
(defalias 'transient--pre-exit #[0 "\306\307!\210\310 \210\311 \210\312\301!\210\312\303!\210\313\314\315\"\210\204\316\317!\210\320\211\320\211\320\211\320\211\320\211\320\211\320\211\207" [transient--showp transient--transient-map transient--predicate-map transient--redisplay-map transient--redisplay-key transient--helpp transient--debug pre-exit transient--delete-window transient--timer-cancel transient--pop-keymap remove-hook pre-command-hook transient--pre-command message "" nil transient--editp transient--prefix transient--layout transient--suffixes transient--original-window transient--original-buffer transient--window] 4])
(defalias 'transient--delete-window #[0 "\301!\205 \302!\3031\304!0\202\305\306\"\262\210\307!\262\207" [transient--window window-live-p window-buffer (debug error) delete-window message "Error while exiting transient: %S" kill-buffer] 5])
(defalias 'transient--export #[0 "\305\306\" \307!\207" [transient--prefix current-transient-prefix current-transient-command transient--suffixes current-transient-suffixes eieio-oref command transient--history-push] 3])
(defalias 'transient--minibuffer-setup #[0 "\301\302!\210\303 \304V?\205!\204\305\306!\210\305\307!\210\310\311\312\"\210\310\313\314\"\207" [transient--exitp transient--debug minibuffer-setup minibuffer-depth 1 transient--pop-keymap transient--transient-map transient--redisplay-map remove-hook pre-command-hook transient--pre-command post-command-hook transient--post-command] 3])
(defalias 'transient--minibuffer-exit #[0 "\301\302!\210\303 \304V?\205!\204\305\306!\210\305\307!\210\310\311\312\"\210\310\313\314\"\207" [transient--exitp transient--debug minibuffer-exit minibuffer-depth 1 transient--push-keymap transient--transient-map transient--redisplay-map add-hook pre-command-hook transient--pre-command post-command-hook transient--post-command] 3])
(defalias 'transient--post-command #[0 "\306\307!\210\203N\310=\203 \204-\311\312 \210\204-\313\314\315\"\210\313\316\317\"\210\320\321\317\"\210\313\322\323\"\210\311\211\311 \205;\324>?\311\211\311 \325\326!\210\211\205M\327 \207\330\331!\210\332 \333\331!\210!\334 \335\"=?\205g\336 \207" [transient--exitp transient--prefix current-transient-prefix current-transient-command current-transient-suffixes transient--stack transient--debug post-command replace nil transient--stack-zap remove-hook minibuffer-setup-hook transient--minibuffer-setup minibuffer-exit-hook transient--minibuffer-exit advice-remove abort-recursive-edit post-command-hook transient--post-command (replace suspend) run-hooks post-transient-hook transient--stack-pop transient--pop-keymap transient--redisplay-map transient--make-redisplay-map transient--push-keymap eieio-oref command transient--redisplay transient--helpp transient--editp this-command] 5])
(defalias 'transient--stack-push #[0 "\304\305!\210\306\307\" \n\310\306\311\"\257 B\211\207" [transient--prefix transient--layout transient--editp transient--stack transient--debug stack-push eieio-oref command :scope scope] 7])
(defalias 'transient--stack-pop #[0 "\301\302!\210\205\303\304\305\211A\242\"\210\207" [transient--stack transient--debug stack-pop t apply transient-setup] 5])
(defalias 'transient--stack-zap #[0 "\301\302!\210\303\211\207" [transient--stack transient--debug stack-zap nil] 2])
(defalias 'transient--redisplay #[0 "\304=\204\n \203\n\305>?\205(\306 \207\247\203&\307U\204& \204&\310 \210\311 \207" [transient-show-popup transient--showp this-command transient--timer t (transient-scroll-up transient-scroll-down mwheel-scroll) transient--show 0 transient--timer-start transient--show-brief] 2])
(defalias 'transient--timer-start #[0 "\302\303!\304\305#\211\207" [transient-show-popup transient--timer run-at-time abs nil #[0 "\301 \210\302 \210\303\304\305!)\207" [message-log-max transient--timer-cancel transient--show nil message ""] 2]] 4])
(defalias 'transient--timer-cancel #[0 "\205 \301!\210\302\211\207" [transient--timer cancel-timer nil] 2])
#@23
(fn ARG &rest ARGS)
(defalias 'transient--debug #[385 "\2059\203\303\304 \n$\207\305\303#\207" [transient--debug this-command transient--exitp message "-- %-16s (cmd: %s, exit: %s)" apply] 7 (#$ . 74469)])
#@353 Exit the current transient command after an error occured.
Beside being used with `condition-case', this function also has
to be a member of `debugger-mode-hook', else the debugger would
be unusable and exiting it by pressing "q" would fail because
the transient command would still be active and that key would
either be unbound or do something else.
(defalias 'transient--emergency-exit #[0 "\205 \303\304\305 \210\306 \207" [transient--prefix transient--stack transient--exitp nil t transient--pre-exit transient--post-command] 1 (#$ . 74693)])
(add-hook 'debugger-mode-hook 'transient--emergency-exit)
#@19
(fn &rest BODY)
(defalias 'transient--with-emergency-exit '(macro . #[128 "\300\301\302!\303BBB\207" [condition-case nil macroexp-progn ((error (transient--emergency-exit)))] 5 (#$ . 75309)]))
(byte-code "\300\301\302\303#\300\207" [function-put transient--with-emergency-exit lisp-indent-function defun] 4)
#@66 Call the command without exporting variables and stay transient.
(defalias 'transient--do-stay #[0 "\207" [transient--stay] 1 (#$ . 75626)])
#@43 Call `transient-noop' and stay transient.
(defalias 'transient--do-noop #[0 "\302 \207" [this-command transient--stay transient-noop] 1 (#$ . 75774)])
#@48 Call `transient-undefined' and stay transient.
(defalias 'transient--do-warn #[0 "\302 \207" [this-command transient--stay transient-undefined] 1 (#$ . 75932)])
#@64 Call the command after exporting variables and stay transient.
(defalias 'transient--do-call #[0 "\301 \210\207" [transient--stay transient--export] 1 (#$ . 76100)])
#@68 Call the command after exporting variables and exit the transient.
(defalias 'transient--do-exit #[0 "\301 \210\302 \210\207" [transient--exit transient--export transient--stack-zap] 1 (#$ . 76273)])
#@68 Call the transient prefix command, replacing the active transient.
(defalias 'transient--do-replace #[0 "\302 \210\303 \210\304 \207" [transient--exitp transient--exit transient--export transient--stack-push replace] 1 (#$ . 76480)])
#@59 Suspend the active transient, saving the transient stack.
(defalias 'transient--do-suspend #[0 "\302 \210\303 \207" [transient--exitp transient--exit transient--stack-push suspend] 1 (#$ . 76721)])
#@68 If active, quit help or edit mode, else exit the active transient.
(defalias 'transient--do-quit-one #[0 "\203\304 \207\n\203\304\305 \210 \207 \207" [transient--helpp transient--stay transient--editp transient--exit nil transient-setup] 1 (#$ . 76926)])
#@57 Exit all transients without saving the transient stack.
(defalias 'transient--do-quit-all #[0 "\301 \210\207" [transient--exit transient--stack-zap] 1 (#$ . 77194)])
#@159 Call the command if `transient-enable-popup-navigation' is non-nil.
In that case behave like `transient--do-stay', otherwise similar
to `transient--do-warn'.
(defalias 'transient--do-move #[0 "\204\303\n\207" [transient-enable-popup-navigation this-command transient--stay transient-popup-navigation-help] 1 (#$ . 77368)])
#@20 Do nothing at all.
(defalias 'transient-noop #[0 "\300\207" [nil] 1 (#$ . 77701) nil])
#@64 Warn the user that the pressed key is not bound to any suffix.
(defalias 'transient-undefined #[0 "\300 \210\301\302\303\304\305 !\306\307#\303\310\306\311#\303\312\306\311#$\207" [ding message "Unbound suffix: `%s' (Use `%s' to abort, `%s' for help)" propertize key-description this-single-command-keys face font-lock-warning-face "C-g" transient-key "?"] 8 (#$ . 77794) nil])
#@50 Toggle whether common commands are always shown.
(defalias 'transient-toggle-common #[0 "?\211\207" [transient-show-common-commands] 2 (#$ . 78178) nil])
#@117 Suspend the current transient.
It can later be resumed using `transient-resume' while no other
transient is active.
(defalias 'transient-suspend #[0 "\300\207" [nil] 1 (#$ . 78341) nil])
#@57 Exit all transients without saving the transient stack.
(defalias 'transient-quit-all #[0 "\300\207" [nil] 1 (#$ . 78534) nil])
#@66 Exit the current transients, possibly returning to the previous.
(defalias 'transient-quit-one #[0 "\300\207" [nil] 1 (#$ . 78668) nil])
#@44 Abort the current incomplete key sequence.
(defalias 'transient-quit-seq #[0 "\300\207" [nil] 1 (#$ . 78811) nil])
#@51 Redraw the transient's state in the popup buffer.
(defalias 'transient-update #[0 "\300\207" [nil] 1 (#$ . 78932) nil])
#@49 Show the transient's state in the popup buffer.
(defalias 'transient-show #[0 "\301\211\207" [transient--showp t] 2 (#$ . 79058) nil])
(defvar transient--restore-winconf nil nil)
(make-variable-buffer-local 'transient--restore-winconf)
#@60 Show help for the active transient or one of its suffixes.
(defalias 'transient-help #[0 "\305\306!\203\n\307\211\207\3101@\311 \312 \"\205>\313\314 \315\n\316=\203% \202+\317 \206+\n!\210\320\313\321 \322 #\210\323 \210\324\325!\210\3070\207\324\326\"\210\313\207" [transient--helpp transient--transient-map this-original-command transient--prefix transient--restore-winconf called-interactively-p any t (debug error) lookup-key this-single-command-raw-keys nil current-window-configuration transient-show-help transient-help transient-suffix-object fit-window-to-buffer frame-height window-height transient-resume-mode message "Type \"q\" to resume transient command." "transient-help: %S"] 4 (#$ . 79301) nil])
#@93 Set the level of the transient or one of its suffix commands.
(fn &optional COMMAND LEVEL)
(defalias 'transient-set-level #[512 "\204 \303\304 \207\211\203m\305 \306\"\307\n\"\310!=\203+\311 \312#\210\303\262\2025\311\313!\312#\210\211\236\203D\241\210\202NB\211\262B\262\266\n\236\203_\241\210\202hB\211\262\nB\266\314 \207\315 \207" [transient--editp transient--prefix transient-levels t transient-setup eieio-oref command alist-get transient--suffix-command eieio-oset level transient-suffix-object transient-save-levels transient-undefined] 9 (#$ . 80031) (byte-code "\304 \305\"\306=\203\n\2056\211\211\262\2056\307 \310 \"\2053\311\312\313\314\315!\"\316\211=?$!\262D\207" [this-original-command transient--prefix transient--editp transient--transient-map eieio-oref command transient-set-level this-single-command-raw-keys lookup-key string-to-number transient--read-number-N format "Set level for `%s': " transient--suffix-command nil] 11)])
#@64 Save the value of the active transient for this Emacs session.
(defalias 'transient-set #[0 "\302\206 !\207" [transient--prefix current-transient-prefix transient-set-value] 2 (#$ . 81047) nil])
#@75 Save the value of the active transient persistenly across Emacs sessions.
(defalias 'transient-save #[0 "\302\206 !\207" [transient--prefix current-transient-prefix transient-save-value] 2 (#$ . 81251) nil])
#@57 Switch to the next value used for the active transient.
(defalias 'transient-history-next #[0 "\302\303\"S\302\304\"\305W\203\306\307!\202(\310\303#\210\310\3118#\210\312\313 \"\207" [transient--prefix transient--suffixes eieio-oref history-pos history 0 user-error "End of history" eieio-oset value mapc transient-init-value] 8 (#$ . 81468) nil])
#@61 Switch to the previous value used for the active transient.
(defalias 'transient-history-prev #[0 "\302\303\"T\302\304\"\211GSV\203\305\306!\202+\307\303#\210\307\3108#\210\311\312 \"\207" [transient--prefix transient--suffixes eieio-oref history-pos history user-error "End of history" eieio-oset value mapc transient-init-value] 9 (#$ . 81834) nil])
#@175 Scroll text of transient popup window upward ARG lines.
If ARG is nil scroll near full screen. This is a wrapper
around `scroll-up-command' (which see).
(fn &optional ARG)
(defalias 'transient-scroll-up #[256 "\301!r\302\303\304\305\306!\307\"\310$\216\311@\312\"\210\313!*\207" [transient--window internal--before-with-selected-window make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-with-selected-window] 2 select-window norecord scroll-up-command] 8 (#$ . 82206) "^P"])
#@175 Scroll text of transient popup window down ARG lines.
If ARG is nil scroll near full screen. This is a wrapper
around `scroll-down-command' (which see).
(fn &optional ARG)
(defalias 'transient-scroll-down #[256 "\301!r\302\303\304\305\306!\307\"\310$\216\311@\312\"\210\313!*\207" [transient--window internal--before-with-selected-window make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-with-selected-window] 2 select-window norecord scroll-down-command] 8 (#$ . 82708) "^P"])
#@52 Resume a previously suspended stack of transients.
(defalias 'transient-resume #[0 "\203 \303\301!\210\n\203\302\304!\210\305 \210\211\203\306!\210\210\307 \207\n\203/\303\301!\210\302\304!\210\305 \207\310\311!\207" [transient--stack transient--restore-winconf transient-resume-mode kill-local-variable -1 quit-window set-window-configuration transient--stack-pop message "No suspended transient command"] 3 (#$ . 83213) nil])
(byte-code "\300\301\302\301\303\304#\305#\210\306\301\304\307\304\310%\210\300\311\302\311\312\304#\313#\210\306\311\304\312\304\314%\210\306\311\304\315\304\316%\210\306\311\304\317\304\320%\210\306\311\304\321\304\322%\210\306\311\304\323\304\324%\207" [defalias transient-init-scope cl-generic-define (obj) nil "Set the scope of the suffix object OBJ.\n\nThe scope is actually a property of the transient prefix, not of\nindividual suffixes. However it is possible to invoke a suffix\ncommand directly instead of from a transient. In that case, if\nthe suffix expects a scope, then it has to determine that itself\nand store it in its `scope' slot.\n\nThis function is called for all suffix commands, but unless a\nconcrete method is implemented this falls through to the default\nimplementation, which is a noop.\n\n(fn OBJ)" cl-generic-define-method ((_ transient-suffix)) #[257 "\300\207" [nil] 2 "Noop.\n\n(fn _)"] transient-init-value (_) "Set the initial value of the object OBJ.\n\nThis function is called for all prefix and suffix commands.\n\nFor suffix commands (including infix argument commands) the\ndefault implementation is a noop. Classes derived from the\nabstract `transient-infix' class must implement this function.\nNon-infix suffix commands usually don't have a value.\n\n(fn _)" #[257 "\300\207" [nil] 2 "\n\n(fn _)"] ((obj transient-prefix)) #[257 "\301\302\"\203\303\302\"\304!\205\305\302 #\207\305\302\303\306\"\236\211\205'\211A\262#\207" [transient-values slot-boundp value eieio-oref functionp eieio-oset command] 7 "\n\n(fn OBJ)"] ((obj transient-switch)) #[257 "\301\302\303\304\"\303\302\"\235@#\207" [transient--prefix eieio-oset value eieio-oref argument] 8 "\n\n(fn OBJ)"] ((obj transient-option)) #[257 "\300\301\302\303\304\305\306\"\"!#\207" [eieio-oset value transient--value-match format "\\`%s\\(.*\\)" eieio-oref argument] 10 "\n\n(fn OBJ)"] ((obj transient-switches)) #[257 "\300\301\302\303\304\"!#\207" [eieio-oset value transient--value-match eieio-oref argument-regexp] 8 "\n\n(fn OBJ)"]] 6)
#@11
(fn RE)
(defalias 'transient--value-match #[257 "\301\302\303\304\305\306!\307\"\310\311%\312\313\"\"\211\205\314\315\"\207" [transient--prefix cl-find-if make-byte-code 257 "\211;\205 \301\300\"\207" vconcat vector [string-match] 4 "\n\n(fn V)" eieio-oref value match-string 1] 8 (#$ . 85725)])
(byte-code "\300\301\302\303\302\304%\210\305\306\307\306\310\302#\311#\210\300\306\312\313\314\315%\210\300\306\302\316\302\317%\210\300\306\302\320\302\321%\210\300\306\302\322\302\323%\207" [cl-generic-define-method transient-init-value nil ((obj transient-files)) #[257 "\301\302\303\304\305\302\"\"A#\207" [transient--prefix eieio-oset value assoc "--" eieio-oref] 9 "\n\n(fn OBJ)"] defalias transient-infix-read cl-generic-define (obj) "Determine the new value of the infix object OBJ.\n\nThis function merely determines the value; `transient-infix-set'\nis used to actually store the new value in the object.\n\nFor most infix classes this is done by reading a value from the\nuser using the reader specified by the `reader' slot (using the\n`transient-infix' method described below).\n\nFor some infix classes the value is changed without reading\nanything in the minibuffer, i.e. the mere act of invoking the\ninfix command determines what the new value should be, based\non the previous value.\n\n(fn OBJ)" (:around) ((obj transient-infix)) t #[514 "\211\301 \210)\3021!0\207\210\303 \207" [transient--active-infix transient--show (error) transient--emergency-exit] 4 "Highlight the infix in the popup buffer.\n\nAlso arrange for the transient to be exited in case of an error\nbecause otherwise Emacs would get stuck in an inconsistent state,\nwhich might make it necessary to kill it from the outside.\n\n(fn CL--CNM OBJ)"] ((obj transient-infix)) #[257 "\211\305\306\"\203\305\307\"\204\203\310\306\311#\202r\311\312\313\"\314!\305\307\"\2038\315\316\305\306\"\317#\202<\305\306\"\312\306\"\320\321\322\323\324\"\325\"\326$\216\310\306#\210\312\327\"\206b\312\330\"\331\n\"\305\306\"\203z\305\306\" @=\203~ \202\205\305\306\" B\f\205\214 @\303\203\225\332\202\226\321B\203\250#\202\344\305\n\307\"\203\303\333\305\f\334\"\311\211&\202\344\305\n\334\"\203\336\335\305\f\334\"\311\336&\202\344\337#\312\306\"\320\321\322\323\324\"\340\"\326$\216\310\306#\210\305\f\306\"\341\232\203\305\f\342\"\204 \310\306\311#\266\2026\305\f\306\"\343\232\2036\305\f\342\"\2036 \310\306\341#\266\305\f\306\"\203[\n\236\344 !\203O\241\210\202YB\211\262\nB\266\305\f\306\")\266\203\262\262*\262)\266\203\262\262)\207" [transient--prefix overriding-terminal-local-map transient-history transient--history transient-read-with-initial-input slot-value value multi-value eieio-oset nil eieio-oref reader transient-prompt mapconcat identity "," make-byte-code 0 "\302\300\303\301#\207" vconcat vector [eieio-oset value] 4 history-key command alist-get 1 completing-read-multiple choices completing-read t read-string [eieio-oset value] "" allow-empty "\"\"" delete-dups] 20 "Read a value while taking care of history.\n\nThis method is suitable for a wide variety of infix commands,\nincluding but not limitted to inline arguments and variables.\n\nIf you do not use this method for your own infix class, then\nyou should likely replicate a lot of the behavior of this\nmethod. If you fail to do so, then users might not appreciate\nthe lack of history, for example.\n\nOnly for very simple classes that toggle or cycle through a very\nlimited number of possible values should you replace this with a\nsimple method that does not handle history. (E.g. for a command\nline switch the only possible values are \"use it\" and \"don't use\nit\", in which case it is pointless to preserve history.)\n\n(fn OBJ)"] ((obj transient-switch)) #[257 "\300\301\"?\205\f\300\302\"\207" [eieio-oref value argument] 4 "Toggle the switch on or off.\n\n(fn OBJ)"] ((obj transient-switches)) #[257 "\300\301\302\303\304\"\"\303\305\"\"\303\306\"\211\203\211\235A@\202@\262\207" [mapcar apply-partially format eieio-oref argument-format choices value] 7 "Cycle through the mutually exclusive switches.\nThe last value is \"don't use any of these switches\".\n\n(fn OBJ)"]] 6)
#@54 Read a directory.
(fn PROMPT INITIAL-INPUT HISTORY)
(defalias 'transient-read-directory #[771 "\300\301!!\207" [expand-file-name read-directory-name] 6 (#$ . 90037)])
#@64 Read an existing directory.
(fn PROMPT INITIAL-INPUT HISTORY)
(defalias 'transient-read-existing-directory #[771 "\300\301\302\211\303$!\207" [expand-file-name read-directory-name nil t] 9 (#$ . 90212)])
#@102 Read a natural number (including zero) and return it as a string.
(fn PROMPT INITIAL-INPUT HISTORY)
(defalias 'transient-read-number-N0 #[771 "\300\301$\207" [transient--read-number-N t] 8 (#$ . 90425)])
#@102 Read a natural number (excluding zero) and return it as a string.
(fn PROMPT INITIAL-INPUT HISTORY)
(defalias 'transient-read-number-N+ #[771 "\300\301$\207" [transient--read-number-N nil] 8 (#$ . 90640)])
#@50
(fn PROMPT INITIAL-INPUT HISTORY INCLUDE-ZERO)
(defalias 'transient--read-number-N #[1028 "\301 \302\303\304\305\306!\307\"\310$\216\3112Z\312\313\211%\211\314\230\203(\315\311\313\"\210\202E\2030\316\2021\317\313\320\321#)\266\203\203E\315\311\"\210\210\322\323\203P\324\202Q\325\"\210\326\327!\210\202)\207" [inhibit-changing-match-data match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 --cl-block-nil-- read-from-minibuffer nil "" throw "\\`\\(0\\|[1-9][0-9]*\\)\\'" "\\`[1-9][0-9]*\\'" t string-match message "Please enter a natural number (%s zero)." "including" "excluding" sit-for 1] 13 (#$ . 90856)])
#@82 Read a date using `org-read-date' (which see).
(fn PROMPT DEFAULT-TIME HISTORY)
(defalias 'transient-read-date #[771 "\300\301!\210\302\303!\205\303\304\305\211%\207" [require org fboundp org-read-date with-time nil] 9 (#$ . 91539)])
(byte-code "\300\301\302\301\303\304#\305#\210\306\301\304\307\304\310%\207" [defalias transient-prompt cl-generic-define (obj) nil "Return the prompt to be used to read infix object OBJ's value.\n\n(fn OBJ)" cl-generic-define-method ((obj transient-infix)) #[257 "\300\301\"\211\203$\302!\203\211!\202\211\211;\203\211\202\303\262\202h\304\305\"\205/\300\305\"\211\205F\211;\203C\306\307\"\203C\211\202F\211\310P\262\206h\304\311\"\205V\300\311\"\211\205b\211;\205b\211\310P\262\206h\303\207" [eieio-oref prompt functionp "(BUG: no prompt): " slot-boundp argument string-suffix-p "=" ": " variable] 6 "Return the prompt to be used to read infix object OBJ's value.\n\nThis implementation should be suitable for almost all infix\ncommands.\n\nIf the value of OBJ's `prompt' slot is non-nil, then it must be\na string or a function. If it is a string, then use that. If\nit is a function, then call that with OBJ as the only argument.\nThat function must return a string, which is then used as the\nprompt.\n\nOtherwise, if the value of either the `argument' or `variable'\nslot of OBJ is a string, then base the prompt on that (prefering\nthe former), appending either \"=\" (if it appears to be a\ncommand-line option) or \": \".\n\nFinally fall through to using \"(BUG: no prompt): \" as the\nprompt.\n\n(fn OBJ)"]] 6)
(defvar transient--unset-incompatible t)
(byte-code "\300\301\302\301\303\304#\305#\210\306\301\304\307\304\310%\210\306\301\311\312\313\314%\210\306\315\304\316\304\317%\210\306\320\304\321\304\322%\207" [defalias transient-infix-set cl-generic-define (obj value) nil "Set the value of infix object OBJ to value.\n\n(fn OBJ VALUE)" cl-generic-define-method ((obj transient-infix) value) #[514 "\300\301#\207" [eieio-oset value] 6 "Set the value of infix object OBJ to value.\n\nThis implementation should be suitable for almost all infix\ncommands.\n\n(fn OBJ VALUE)"] (:around) ((obj transient-argument) value) t #[771 "\303\304\"\203\305\304\"\202\305\306\"\205\211\205\211\205#\305 \307\"\211\205:\310\311\312\313\314\315\316\n!\317\"\320\321%\"\"\211\203v\"\210\211\211\205q\211@\311\312\313\322\315\316!\323\"\324\325%\n\"\211\203i\326\327\326\"\210)\210A\266\202\202G\262\202}\"\266\203\207" [transient--unset-incompatible transient--prefix transient--suffixes slot-boundp argument eieio-oref argument-regexp incompatible remove cl-find-if make-byte-code 257 "\300\235\207" vconcat vector [] 3 "\n\n(fn ELT)" "\301\302\"\205 \303\302\"\300\232\207" [slot-boundp argument eieio-oref] 4 "\n\n(fn OBJ)" nil transient-infix-set] 16 "Unset incompatible infix arguments.\n\n(fn CL--CNM OBJ VALUE)"] transient-set-value ((obj transient-prefix)) #[257 "\300\301\302\"\303\304 #\210\305!\207" [eieio-oset eieio-oref prototype value transient-get-value transient--history-push] 5 "\n\n(fn OBJ)"] transient-save-value ((obj transient-prefix)) #[257 "\301 \302\303\304\"\305#\210\303\306\"\211\236\203\241\210\202'B\211\262B\266\307 \266\310!\207" [transient-values transient-get-value eieio-oset eieio-oref prototype value command transient-save-values transient--history-push] 7 "\n\n(fn OBJ)"]] 6)
#@297 Return the value of the transient prefix command PREFIX.
If the current command was invoked from the transient prefix
command PREFIX, then return the active infix arguments. If
the current command was not invoked from PREFIX, then return
the set, saved or default value for PREFIX.
(fn PREFIX)
(defalias 'transient-args #[257 "=\203\305\306\307\310 \"\"\207\306\211\211\311\306\211#\210\305\306\307\310\n\"\"+\207" [current-transient-command current-transient-suffixes transient--suffixes transient--layout transient--prefix delq nil mapcar transient-infix-value transient--init-objects] 6 (#$ . 95005)])
(defalias 'transient-get-value #[0 "\301\302\303\304\"\"\207" [current-transient-suffixes delq nil mapcar transient-infix-value] 5])
(byte-code "\300\301\302\301\303\304#\305#\210\306\301\304\307\304\310%\210\306\301\304\311\304\312%\210\306\301\304\313\304\314%\210\306\301\304\315\304\316%\210\306\301\304\317\304\320%\210\300\321\302\321\322\304#\323#\210\306\321\304\322\304\324%\210\300\325\302\325\326\304#\327#\210\306\325\304\326\304\330%\210\300\331\302\331\332\304#\333#\210\306\331\304\334\304\335%\207" [defalias transient-infix-value cl-generic-define (obj) nil "Return the value of the suffix object OBJ.\n\nThis function is called by `transient-args' (which see), meaning\nthis function is how the value of a transient is determined so\nthat the invoked suffix command can use it.\n\nCurrently most values are strings, but that is not set in stone.\nNil is not a value, it means \"no value\".\n\nUsually only infixes have a value, but see the method for\n`transient-suffix'.\n\n(fn OBJ)" cl-generic-define-method ((_ transient-suffix)) #[257 "\300\207" [nil] 2 "Return nil, which means \"no value\".\n\nInfix arguments contribute the the transient's value while suffix\ncommands consume it. This function is called for suffixes anyway\nbecause a command that both contributes to the transient's value\nand also consumes it is not completely unconceivable.\n\nIf you define such a command, then you must define a derived\nclass and implement this function because this default method\ndoes nothing.\n\n(fn _)"] ((obj transient-infix)) #[257 "\300\301\"\207" [eieio-oref value] 4 "Return the value of OBJ's `value' slot.\n\n(fn OBJ)"] ((obj transient-option)) #[257 "\300\301\"\211\205\300\302\"P\207" [eieio-oref value argument] 5 "Return (concat ARGUMENT VALUE) or nil.\n\nARGUMENT and VALUE are the values of the respective slots of OBJ.\nIf VALUE is nil, then return nil. VALUE may be the empty string,\nwhich is not the same as nil.\n\n(fn OBJ)"] ((_ transient-variable)) #[257 "\300\207" [nil] 2 "Return nil, which means \"no value\".\n\nSetting the value of a variable is done by, well, setting the\nvalue of the variable. I.e. this is a side-effect and does not\ncontribute to the value of the transient.\n\n(fn _)"] ((obj transient-files)) #[257 "\300\301\"\211\205\300\302\"B\207" [eieio-oref value argument] 5 "Return (concat ARGUMENT VALUE) or nil.\n\nARGUMENT and VALUE are the values of the respective slots of OBJ.\nIf VALUE is nil, then return nil. VALUE may be the empty string,\nwhich is not the same as nil.\n\n(fn OBJ)"] transient--history-key (obj) "Return OBJ's history key.\nIf the value of the `history-key' slot is non-nil, then return\nthat. Otherwise return the value of the `command' slot.\n\n(fn OBJ)" #[257 "\300\301\"\206 \300\302\"\207" [eieio-oref history-key command] 4 "\n\n(fn OBJ)"] transient--history-push (obj) "Push the current value of OBJ to its entry in `transient-history'.\n\n(fn OBJ)" #[257 "\301!\211\236\302 \211\303\304\"\"B\262\203\241\202(B\211\262B\211\266\202\207" [transient-history transient--history-key transient-get-value delete alist-get] 10 "\n\n(fn OBJ)"] transient--history-init (obj) "Initialize OBJ's `history' slot.\nThis is the transient-wide history; many individual infixes also\nhave a history of their own.\n\n(fn OBJ)" ((obj transient-prefix)) #[257 "\301\302\"\303\304\305\306\307 !\"\"B#\207" [transient-history eieio-oref value eieio-oset history delete alist-get transient--history-key] 11 "Initialize OBJ's `history' slot from the variable `transient-history'.\n\n(fn OBJ)"]] 6)
(defalias 'transient--show-brief #[0 "\304 \203 \305X\203\306\307\310\311 !\"\2020\306\312\310\311 !\313\n\314\"\315\316\317\320\321 \"\322\"\323\324\325\326##$)\207" [message-log-max transient-show-popup transient--prefix transient--suffixes nil 0 message "%s-" key-description this-command-keys "%s- [%s] %s" eieio-oref command mapconcat identity sort cl-mapcan #[257 "\302\303\304\"!\303\305\"\306\"\306 \"\307BB>?\205#\310\303\304\"\311\312#C\207" [transient-map transient-sticky-map kbd eieio-oref key command lookup-key (transient-set transient-save transient-history-prev transient-history-next transient-quit-one transient-toggle-common transient-set-level) propertize face transient-key] 7 "\n\n(fn SUFFIX)"] string< propertize "|" face transient-unreachable-key] 11])
(defalias 'transient--show #[0 "\306 \210\307\310 !\311\312\n!\204\313 \"\314\n!r\315\316\317\320\321!\322\"\323$\216\324@\325\"\210\f\2034\326`\327\"\262\330 \210\331\n\316\"\210\332\n\307\"\210\333\n\334\307#\210\307\335\336!\203W\203W\3112\337=?\205a23\340\3414\327\"!5\f\203z\342\343!\210\344#\202}\3116\311\21178\345 \2109\204\220:\203\223\346 \2102\337=\203\254\347\350\351\352\353\354%c\210\347\355\351\352\356\307%c\210\307\311;\357\311\211\360#\210*eb\210\f\205\302\361!*\262\207" [transient--showp transient--buffer-name transient--window transient-display-buffer-action transient-enable-popup-navigation window-size-fixed transient--timer-cancel t get-buffer-create nil window-live-p display-buffer internal--before-with-selected-window make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-with-selected-window] 2 select-window norecord button-get command erase-buffer set-window-hscroll set-window-dedicated-p set-window-parameter no-other-window boundp tab-line-format line symbol-name eieio-oref make-local-variable cursor-in-non-selected-windows box transient--insert-groups transient--insert-help propertize "__" face transient-separator display (space :height (1)) "\n" line-height fit-window-to-buffer 1 transient--goto-button transient-mode-line-format mode-line-format transient--prefix mode-line-buffer-identification cursor-type display-line-numbers show-trailing-whitespace transient--helpp transient--editp window-resize-pixelwise] 10])
(defalias 'transient--insert-groups #[0 "\301\302\"\303\211A\262\242\211\262\205\304!\210\203\305c\210\202\207" [transient--layout cl-mapcan #[257 "\300\301\"\302!\205\f\211 ?\205C\207" [eieio-oref hide functionp] 4 "\n\n(fn GROUP)"] nil transient--insert-group 10] 4])
(byte-code "\300\301\302\301\303\304#\305#\210\306\301\307\310\304\311%\210\306\301\304\312\304\313%\210\306\301\304\314\304\315%\210\306\301\304\316\304\317%\210\306\301\304\320\304\321%\210\300\322\302\322\323\304#\324#\210\306\322\304\325\304\326%\210\306\322\304\327\304\330%\210\306\322\304\331\304\332%\210\306\322\333\334\335\336%\210\306\322\337\340\335\341%\210\306\322\304\342\304\343%\210\306\322\304\344\304\345%\210\300\346\302\346\347\304#\350#\210\306\346\304\351\304\352%\210\306\346\353\354\335\355%\210\300\356\302\356\357\304#\360#\210\306\356\304\361\304\362%\210\306\356\304\363\335\364%\210\306\356\365\366\335\367%\210\300\370\302\370\371\304#\372#\210\306\370\304\373\304\374%\210\306\370\304\375\304\376%\210\306\370\304\377\304\201@%\210\306\370\304\201A\304\201B%\207" [defalias transient--insert-group cl-generic-define (group) nil "Format GROUP and its elements and insert the result.\n\n(fn GROUP)" cl-generic-define-method (:before) ((group transient-group)) #[257 "\300!\211\205 \211\301\261\207" [transient-format-description 10] 4 "Insert GROUP's description, if any.\n\n(fn GROUP)"] ((group transient-row)) #[257 "\300\301\"\211\203\211@\302!c\210\303c\210A\266\202\202\210\304c\207" [eieio-oref suffixes transient-format " " 10] 5 "\n\n(fn GROUP)"] ((group transient-column)) #[257 "\301\302\"\211\205+\211@\303!\211c\210\304\305\306\307#)\266\203\204#\310c\210\210A\266\202\202\207" [inhibit-changing-match-data eieio-oref suffixes transient-format ".\n\\'" nil t string-match 10] 11 "\n\n(fn GROUP)"] ((group transient-columns)) #[257 "\300\301\302\303\"\"\304\305\300\306\"\"G\300\307\"\310\311\312\313\"\314#\314\211W\205c\211\314\211W\203Z\211\3158iZ\316\"c\210\f88\211\203F\211c\210\210\211 SU\203R\317c\210\210\211T\262\202'\266\211T\262\202\266\202\207" [mapcar #[257 "\300\301\302\303\"\"\304!\211\203\211B\262\210\211\207" [mapcar transient-format eieio-oref suffixes transient-format-description] 6 "\n\n(fn COLUMN)"] eieio-oref suffixes apply max length #[257 "\300\301\302\303\"\"\207" [apply max mapcar length] 6 "\n\n(fn IT)"] -reductions-from apply-partially + 3 0 make-string 32 10] 15 "\n\n(fn GROUP)"] ((group transient-subgroups)) #[257 "\300\301\"\211G\211\302\211W\205(\211\3038!\210\211SW\203 \304c\210\210\211T\262\202\266\202\207" [eieio-oref suffixes 0 transient--insert-group 10] 9 "\n\n(fn GROUP)"] transient-format (obj) "Format and return OBJ for display.\n\nWhen this function is called, then the current buffer is some\ntemporary buffer. If you need the buffer from which the prefix\ncommand was invoked to be current, then do so by temporarily\nmaking `transient--original-buffer' current.\n\n(fn OBJ)" ((arg string)) #[257 "\300\301\302#\207" [propertize face transient-heading] 5 "Return the string ARG after applying the `transient-heading' face.\n\n(fn ARG)"] ((_ null)) #[257 "\300\207" ["\n"] 2 "Return a string containing just the newline character.\n\n(fn _)"] ((arg integer)) #[257 "\300!\207" [char-to-string] 3 "Return a string containing just the ARG character.\n\n(fn ARG)"] (:around) ((obj transient-infix)) t #[514 "!=\203\211\301P\262\302\303G\304\305%\210\211\207" [transient--active-infix "\n" add-face-text-property 0 transient-active-infix nil] 9 "When reading user input for this infix, then highlight it.\n\n(fn CL--CNM OBJ)"] (:around) ((obj transient-suffix)) #[514 "\205\302\303\"\304\305\306\"\307\310\311\"\203\312\202\313#\262!P \2034\314\315\316\317\320\321!&\2025\211\207" [transient--editp transient-enable-popup-navigation eieio-oref level propertize format " %s " face transient--use-level-p t transient-enabled-suffix transient-disabled-suffix make-text-button nil type transient-button command transient--suffix-command] 11 "When edit-mode is enabled, then prepend the level information.\nOptional support for popup buttons is also implemented here.\n\n(fn CL--CNM OBJ)"] ((obj transient-infix)) #[257 "\300\301\302\"\303\304!B\305\306!B\307\310!BE\"\207" [format-spec eieio-oref form
#@12
(fn OBJ)
(defalias 'transient--key-unreachable-p #[257 "\205!\302\303\"\304G\305\306\307\"\310\"\"\232\206\311 \312!\"?\262\207" [transient--redisplay-key transient-sticky-map eieio-oref key -take cl-coerce edmacro-parse-keys t list transient--lookup-key kbd] 8 (#$ . 110627)])
#@19
(fn KEYMAP KEY)
(defalias 'transient--lookup-key #[514 "\300\"\211\205\211\250?\205\211\207" [lookup-key] 5 (#$ . 110923)])
(byte-code "\300\301\302\301\303\304#\305#\210\306\301\304\307\304\310%\210\306\301\304\311\304\312%\210\306\301\304\313\304\314%\210\306\301\304\315\304\316%\207" [defalias transient-show-help cl-generic-define (obj) nil "Show help for OBJ's command.\n\n(fn OBJ)" cl-generic-define-method ((obj transient-prefix)) #[257 "\300\301\"\211\203\302!\202$\300\303\"\211\203\304!\202\"\305\300\306\"!\262\207" [eieio-oref info-manual info man-page transient--show-manpage transient--describe-function command] 7 "Show the info manual, manpage or command doc-string.\nShow the first one that is specified.\n\n(fn OBJ)"] ((_ transient-suffix)) #[257 "\302=\203\303 \304\"\211\203\305!\202\306\303 \307\"!\207\306!\207" [this-original-command transient--prefix transient-help eieio-oref man-page transient--show-manpage transient--describe-function command] 6 "Show the command doc-string.\n\n(fn _)"] ((obj transient-infix)) #[257 "\302\303\"\211\203\304\3051\302\306\"0\202\210\307\"\202\310 !\207" [transient--prefix this-original-command eieio-oref man-page transient--show-manpage (error) argument nil transient--describe-function] 7 "Show the manpage if defined or the command doc-string.\nIf the manpage is specified, then try to jump to the correct\nlocation.\n\n(fn OBJ)"] (cmd) #[257 "\300!\207" [transient--describe-function] 3 "Show the command doc-string.\n\n(fn CMD)"]] 6)
#@35
(fn MANPAGE &optional ARGUMENT)
(defalias 'transient--show-manpage #[513 "\301\302!\210\303\304!\305!\211\203\306!\307=\203\310!\210\202\f\311!\210\205*\312!)\207" [Man-notify-method require man meek Man-getpage-in-background get-buffer-process process-status run accept-process-output switch-to-buffer transient--goto-argument-description] 6 (#$ . 112472)])
#@11
(fn FN)
(defalias 'transient--describe-function #[257 "\300!\210\301\302\303 !!\207" [describe-function select-window get-buffer-window help-buffer] 4 (#$ . 112853)])
#@12
(fn ARG)
(defalias 'transient--goto-argument-description #[257 "eb\210\301\302\303\304\232\203\305\202>\306\307\310\311\"\203,\211\312GGZO\266\202\202.\262\311\310 \"\203:\313\202;\314%\301\315#\205G\316\224b)\207" [case-fold-search nil "-\\(?:. \\|-[^[:space:]]+ \\)?[^[:space:]]+" re-search-forward "--" "^[ ]+\\(--\\(?: \\|$\\)\\|\\[--\\]\\)" format "^[ ]+\\(?:%s, \\)*?\\(?1:%s\\)%s\\(?:, %s\\)*$" "=" string-suffix-p 0 "\\(?: \\|\\[?=\\)[^[:space:]]*[^.[:space:]]" "\\(?:\\(?: \\| ?[\\[<:]\\)[^[:space:]]*[^.[:space:]]\\)?" t 1] 13 (#$ . 113029)])
(defalias 'transient--insert-help #[0 "\303\304\305\"\204\n\306c\210\203&\307\310\311\312\313#\310\314\312\315#\310\316\312\315#\310\317\312\315#$c\210 \205j\204A\307\310\320\312\313#\310\314\312\315#\310\321\312\315##c\210\n\307\310\322\312\313#\310\307\323\324\325\"\"\312\326#\310\327\312\330#\310\307\331\324\325\"T\"\312\330#$c\262\207" [transient--helpp transient--editp transient--prefix looking-back "\n\n" 2 "\n" format propertize "Type a %s to show help for that suffix command, or %s to show manual.\nType %s to exit help.\n" face transient-heading "<KEY>" transient-key "?" "C-g" "Type a %s to set level for that suffix command.\nType %s to set what levels are available for this prefix command.\n" "C-x l" "\nSuffixes on levels %s are available.\nSuffixes on levels %s and %s are unavailable.\n" "1-%s" slot-value level transient-enabled-suffix " 0 " transient-disabled-suffix ">=%s"] 11])
#@200 Keymap for `transient-resume-mode'.
This keymap remaps every command that would usually just quit the
documentation buffer to `transient-resume', which additionally
resumes the suspended transient.
(defvar transient-resume-mode-map (byte-code "\300 \301\302\303#\210\301\304\303#\210\301\305\303#\210\211\207" [make-sparse-keymap define-key [remap Man-quit] transient-resume [remap Info-exit] [remap quit-window]] 5) (#$ . 114529))
#@111 Non-nil if Transient-Resume mode is enabled.
Use the command `transient-resume-mode' to change this variable.
(defvar transient-resume-mode nil (#$ . 114972))
(make-variable-buffer-local 'transient-resume-mode)
#@89 Auxiliary minor-mode used to resume a transient after viewing help.
(fn &optional ARG)
(defalias 'transient-resume-mode #[256 "\301 \302=\203 ?\202\303!\304V\305\306\203\307\202\310\"\210\311\312!\203B\301 \2032\211\301 \232\203B\313\314\315\203=\316\202>\317#\266\210\320 \210\207" [transient-resume-mode current-message toggle prefix-numeric-value 0 run-hooks transient-resume-mode-hook transient-resume-mode-on-hook transient-resume-mode-off-hook called-interactively-p any " in current buffer" message "Transient-Resume mode %sabled%s" "en" "dis" force-mode-line-update] 7 (#$ . 115189) (byte-code "\206\301C\207" [current-prefix-arg toggle] 1)])
(defvar transient-resume-mode-hook nil)
(byte-code "\301\302N\204\f\303\301\302\304#\210\305\306\307\310\300!\205\307\211%\207" [transient-resume-mode-map transient-resume-mode-hook variable-documentation put "Hook run after entering or leaving `transient-resume-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 transient-resume-mode nil boundp] 6)
#@58 Inform the user how to enable popup navigation commands.
(defalias 'transient-popup-navigation-help #[0 "\300\301\302\"\207" [message "This command is only available if `%s' is non-nil" transient-enable-popup-navigation] 3 (#$ . 116325) nil])
(define-button-type 'transient-button 'face nil 'action #[257 "\301\302\"\211\303!\207" [this-original-command button-get command call-interactively] 4 "\n\n(fn BUTTON)"])
(defvar transient-popup-navigation-map (byte-code "\300 \301\302\303#\210\301\304\305#\210\301\306\307#\210\301\310\311#\210\301\312\311#\210\301\313\314#\210\301\315\314#\210\301\316\317#\210\301\320\321#\210\211\207" [make-sparse-keymap define-key [down-mouse-1] transient-noop [mouse-1] transient-mouse-push-button " " transient-push-button [up] transient-backward-button "" [down] transient-forward-button "" "" transient-isearch-backward "" transient-isearch-forward] 5))
#@59 Invoke the suffix the user clicks on.
(fn &optional POS)
(defalias 'transient-mouse-push-button #[256 "\300!\207" [push-button] 3 (#$ . 117239) (list last-command-event)])
#@37 Invoke the selected suffix command.
(defalias 'transient-push-button #[0 "\301!r\302\303\304\305\306!\307\"\310$\216\311@\312\"\210\313 *\207" [transient--window internal--before-with-selected-window make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-with-selected-window] 2 select-window norecord push-button] 7 (#$ . 117419) nil])
#@115 Move to the previous button in the transient popup buffer.
See `backward-button' for information about N.
(fn N)
(defalias 'transient-backward-button #[257 "\301!r\302\303\304\305\306!\307\"\310$\216\311@\312\"\210\313\314\"*\207" [transient--window internal--before-with-selected-window make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-with-selected-window] 2 select-window norecord backward-button t] 8 (#$ . 117776) "p"])
#@110 Move to the next button in the transient popup buffer.
See `forward-button' for information about N.
(fn N)
(defalias 'transient-forward-button #[257 "\301!r\302\303\304\305\306!\307\"\310$\216\311@\312\"\210\313\314\"*\207" [transient--window internal--before-with-selected-window make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-with-selected-window] 2 select-window norecord forward-button t] 8 (#$ . 118229) "p"])
#@16
(fn COMMAND)
(defalias 'transient--goto-button #[257 "\211\204\300\301!\207\3021\300\301!0\202\210\202%\203%\303\304`!\305\"=\203\303\304`!\305\"=?\2057eb\210\300\301!\207" [forward-button 1 (error) button-get button-at command] 4 (#$ . 118674)])
(defvar transient--isearch-mode-map (byte-code "\301 \302\"\210\303\304\305#\210\303\306\307#\210\303\310\311#\210\211\207" [isearch-mode-map make-sparse-keymap set-keymap-parent define-key [remap isearch-exit] transient-isearch-exit [remap isearch-cancel] transient-isearch-cancel [remap isearch-abort] transient-isearch-abort] 5))
#@135 Do incremental search backward.
With a prefix argument, do an incremental regular expression
search instead.
(fn &optional REGEXP-P)
(defalias 'transient-isearch-backward #[256 "\302 \210\303\304\")\207" [transient--isearch-mode-map isearch-mode-map transient--isearch-setup isearch-mode nil] 4 (#$ . 119281) "P"])
#@134 Do incremental search forward.
With a prefix argument, do an incremental regular expression
search instead.
(fn &optional REGEXP-P)
(defalias 'transient-isearch-forward #[256 "\302 \210\303\304\")\207" [transient--isearch-mode-map isearch-mode-map transient--isearch-setup isearch-mode t] 4 (#$ . 119607) "P"])
#@50 Like `isearch-exit' but adapted for `transient'.
(defalias 'transient-isearch-exit #[0 "\300 \210\301 \207" [isearch-exit transient--isearch-exit] 1 (#$ . 119928) nil])
#@52 Like `isearch-cancel' but adapted for `transient'.
(defalias 'transient-isearch-cancel #[0 "\3001\n\301 0\202\210\202\210\302 \207" [(quit) isearch-cancel transient--isearch-exit] 1 (#$ . 120103) nil])
#@51 Like `isearch-abort' but adapted for `transient'.
(defalias 'transient-isearch-abort #[0 "\3001\n\301 0\202\210\202\210\302 \207" [(quit) isearch-abort transient--isearch-exit] 1 (#$ . 120316) nil])
(defalias 'transient--isearch-setup #[0 "\301!\210\302\303!\210\302\304!\210\305\306\307\"\210\305\310\311\"\207" [transient--window select-window transient--pop-keymap transient--transient-map transient--redisplay-map remove-hook pre-command-hook transient--pre-command post-command-hook transient--post-command] 3])
(defalias 'transient--isearch-exit #[0 "\301!\210\302\303!\210\302\304!\210\305\306\307\"\210\305\310\311\"\207" [transient--original-window select-window transient--push-keymap transient--transient-map transient--redisplay-map add-hook pre-command-hook transient--pre-command post-command-hook transient--post-command] 3])
(defalias 'transient--suspend-which-key-mode #[0 "\301\300!\205\205\300\302!\210\303\304\305\"\207" [which-key-mode boundp -1 add-hook post-transient-hook transient--resume-which-key-mode] 3])
(defalias 'transient--resume-which-key-mode #[0 "?\205 \301\302!\210\303\304\305\"\207" [transient--prefix which-key-mode 1 remove-hook post-transient-hook transient--resume-which-key-mode] 3])
#@796 Modify some keymaps to bind "q" to the appropriate quit command.
"C-g" is the default binding for such commands now, but Transient's
predecessor Magit-Popup used "q" instead. If you would like to get
that binding back, then call this function in your init file like so:
(with-eval-after-load \='transient
(transient-bind-q-to-quit))
Individual transients may already bind "q" to something else
and such a binding would shadow the quit binding. If that is the
case then "Q" is bound to whatever "q" would have been bound
to by setting `transient-substitute-key-function' to a function
that does that. Of course "Q" may already be bound to something
else, so that function binds "M-q" to that command instead.
Of course "M-q" may already be bound to something else, but
we stop there.
(defalias 'transient-bind-q-to-quit #[0 "\303\304\305#\210\303 \304\306#\210\307\211\207" [transient-base-map transient-sticky-map transient-substitute-key-function define-key "q" transient-quit-one transient-quit-seq transient-rebind-quit-commands] 4 (#$ . 121565)])
#@43 See `transient-bind-q-to-quit'.
(fn OBJ)
(defalias 'transient-rebind-quit-commands #[257 "\300\301\"\211\302\230\203\303\202\211\303\230\203\304\202\211\207" [eieio-oref key "q" "Q" "M-q"] 4 (#$ . 122636)])
(defconst transient-font-lock-keywords '(("(\\(define-\\(?:infix-\\(?:argument\\|command\\)\\|\\(?:suffix\\|transient\\)-command\\)\\)\\_>[ '(]*\\(\\(?:\\sw\\|\\s_\\)+\\)?" (1 'font-lock-keyword-face) (2 'font-lock-function-name-face nil t))))
(byte-code "\301\302\"\210\303\304!\207" [transient-font-lock-keywords font-lock-add-keywords emacs-lisp-mode provide transient] 3)