;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\210\300\306!\210\307\310\311\312\313DD\314\315\316\317\320&\210\307\321\311\312\322DD\323\324\325\315\316\317\326& \210\307\327\311\312\330DD\331\315\316\317\332&\210\307\333\311\312\334DD\335\324\336\315\316\317\337& \207" [require magit-utils magit-section magit-git magit-mode ansi-color with-editor custom-declare-variable magit-process-connection-type funcall function #[0 "\301=?\207" [system-type cygwin] 2] "Connection type used for the Git process.\n\nIf nil, use pipes: this is usually more efficient, and works on Cygwin.\nIf t, use ptys: this enables Magit to prompt for passphrases when needed." :group magit-process :type (choice (const :tag "pipe" nil) (const :tag "pty" t)) magit-need-cygwin-noglob #[0 "\304=\205<\305\306\307\"r\211q\210\310\311\"\216\312 \n\"\3131,\314 \315p\315\316\317\320\321&0\210\2024\322\323\324\325$\266)\326 \327\232*\262\207" [system-type magit-git-environment process-environment magit-git-executable windows-nt generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] append (file-error) process-file nil "-c" "alias.echo=!echo" "echo" "x{0}" lwarn magit-process :warning "Could not run Git: %S" buffer-string "x0\n"] 10] "Whether to use a workaround for Cygwin's globbing behavior.\n\nIf non-nil, add environment variables to `process-environment' to\nprevent the git.exe distributed by Cygwin and MSYS2 from\nattempting to perform glob expansion when called from a native\nWindows build of Emacs. See #2246." :package-version (magit . "2.3.0") (choice (const :tag "Yes" t) (const :tag "No" nil)) magit-process-popup-time #[0 "\300\207" [-1] 1] "Popup the process buffer if a command takes longer than this many seconds." (choice (const :tag "Never" -1) (const :tag "Immediately" 0) (integer :tag "After this many seconds")) magit-process-log-max #[0 "\300\207" [32] 1] "Maximum number of sections to keep in a process log buffer.\nWhen adding a new section would go beyond the limit set here,\nthen the older half of the sections are remove. Sections that\nbelong to processes that are still running are never removed.\nWhen this is nil, no sections are ever removed." (magit . "2.1.0") (choice (const :tag "Never remove old sections" nil) integer)] 10) #@284 Whether `magit-process-file' logs to *Messages* buffer. Only intended for temporary use when you try to figure out how Magit uses Git behind the scene. Output that normally goes to the magit-process buffer continues to go there. Not all output goes to either of these two buffers. (defvar magit-process-extreme-logging nil (#$ . 2434)) (byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313& \210\300\314\302\303\315DD\316\306\317\310\311\312\320& \210\300\321\302\303\322DD\323\306\324\310\311\312\325& \210\300\326\302\303\327DD\330\306\331\310\311\312\332& \210\300\333\302\303\334DD\335\306\336\310\311\312\337\340\341& \210\300\342\302\303\343DD\344\306\345\310\311\312\346& \210\300\347\302\303\350DD\351\306\352\310\311\312\337& \210\300\353\302\303\354DD\355\306\356\310\311\312\357& \210\300\360\302\303\361DD\362\306\363\310\311\312\357& \210\364\365\366\367\310\370%\210\364\371\372\373\310\370%\210\364\374\375\376\310\370%\210\364\377\201@\201A\310\370%\207" [custom-declare-variable magit-process-error-tooltip-max-lines funcall function #[0 "\300\207" [20] 1] "The number of lines for `magit-process-error-lines' to return.\n\nThese are displayed in a tooltip for `mode-line-process' errors.\n\nIf `magit-process-error-tooltip-max-lines' is nil, the tooltip\ndisplays the text of `magit-process-error-summary' instead." :package-version (magit . "2.12.0") :group magit-process :type (choice (const :tag "Use summary line" nil) integer) magit-credential-cache-daemon-socket #[0 "\304\3051\306 \"\307\n\310\311\312$)0\202\210\304\313\304\211\211\203\242\211A\262\242\262\262\211\262\203\242\314!\211\242\243\205\213\315\304\316\317#)\266\203\205\213\211\304\211\211\211\211:\203\203\262\211A\262\242\262@\262\320\230\203x\262\304\211\262\202y\316\203\203A\262\202T\266\205\206\213\321\322!\266\204\262\211\262\204\242\262\262T\262\202\266\207" [magit-git-environment process-environment magit-git-executable inhibit-changing-match-data nil (error) append process-lines "config" "--get-all" "credential.helper" 0 split-string "\\`\\(?:\\(?:/.*/\\)?git-credential-\\)?cache\\'" t string-match "--socket" expand-file-name "~/.git-credential-cache/socket"] 19] "If non-nil, start a credential cache daemon using this socket.\n\nWhen using Git's cache credential helper in the normal way, Emacs\nsends a SIGHUP to the credential daemon after the git subprocess\nhas exited, causing the daemon to also quit. This can be avoided\nby starting the `git-credential-cache--daemon' process directly\nfrom Emacs.\n\nThe function `magit-maybe-start-credential-cache-daemon' takes\ncare of starting the daemon if necessary, using the value of this\noption as the socket. If this option is nil, then it does not\nstart any daemon. Likewise if another daemon is already running,\nthen it starts no new daemon. This function has to be a member\nof the hook variable `magit-credential-hook' for this to work.\nIf an error occurs while starting the daemon, most likely because\nthe necessary executable is missing, then the function removes\nitself from the hook, to avoid further futile attempts." (magit . "2.3.0") (choice (file :tag "Socket") (const :tag "Don't start a cache daemon" nil)) magit-process-yes-or-no-prompt-regexp #[0 "\300\207" [" [[(]\\([Yy]\\(?:es\\)?\\)[/|]\\([Nn]o?\\)\\(?:/\\[fingerprint\\]\\)?[])] ?[?:]? ?$"] 1] "Regexp matching Yes-or-No prompts of Git and its subprocesses." (magit . "2.1.0") regexp magit-process-password-prompt-regexps #[0 "\300\207" [("^\\(Enter \\)?[Pp]assphrase\\( for \\(RSA \\)?key '.*'\\)?: ?$" "^\\(Enter \\)?[Pp]assword\\( for '?\\(https?://\\)?\\(?99:[^']*\\)'?\\)?: ?$" "Please enter the passphrase for the ssh key" "Please enter the passphrase to unlock the OpenPGP secret key" "^.*'s password: ?$" "^Token: $" "^Yubikey for .*: ?$" "^Enter PIN for .*: ?$")] 1] "List of regexps matching password prompts of Git and its subprocesses.\nAlso see `magit-process-find-password-functions'." (magit . "3.0.0") (repeat (regexp)) magit-process-find-password-functions #[0 "\300\207" [nil] 1] "List of functions to try in sequence to get a password.\n\nThese functions may be called when git asks for a password, which\nis detected using `magit-process-password-prompt-regexps'. They\nare called if and only if matching the prompt resulted in the\nvalue of the 99th submatch to be non-nil. Therefore users can\ncontrol for which prompts these functions should be called by\nputting the host name in the 99th submatch, or not.\n\nIf the functions are called, then they are called in the order\ngiven, with the host name as only argument, until one of them\nreturns non-nil. If they are not called or none of them returns\nnon-nil, then the password is read from the user instead." (magit . "2.3.0") hook :options (magit-process-password-auth-source) magit-process-username-prompt-regexps #[0 "\300\207" [("^Username for '.*': ?$")] 1] "List of regexps matching username prompts of Git and its subprocesses." (magit . "2.1.0") (repeat (regexp)) magit-process-prompt-functions #[0 "\300\207" [nil] 1] "List of functions used to forward arbitrary questions to the user.\n\nMagit has dedicated support for forwarding username and password\nprompts and Yes-or-No questions asked by Git and its subprocesses\nto the user. This can be customized using other options in the\n`magit-process' customization group.\n\nIf you encounter a new question that isn't handled by default,\nthen those options should be used instead of this hook.\n\nHowever subprocesses may also ask questions that differ too much\nfrom what the code related to the above options assume, and this\nhook allows users to deal with such questions explicitly.\n\nEach function is called with the process and the output string\nas arguments until one of the functions returns non-nil. The\nfunction is responsible for asking the user the appropriate\nquestion using e.g. `read-char-choice' and then forwarding the\nanswer to the process using `process-send-string'.\n\nWhile functions such as `magit-process-yes-or-no-prompt' may not\nbe sufficient to handle some prompt, it may still be of benefit\nto look at the implementations to gain some insights on how to\nimplement such functions." (magit . "3.0.0") magit-process-ensure-unix-line-ending #[0 "\300\207" [t] 1] "Whether Magit should ensure a unix coding system when talking to Git." (magit . "2.6.0") boolean magit-process-display-mode-line-error #[0 "\300\207" [t] 1] "Whether Magit should retain and highlight process errors in the mode line." (magit . "2.12.0") custom-declare-face magit-process-ok ((t :inherit magit-section-heading :foreground "green")) "Face for zero exit-status." magit-faces magit-process-ng ((t :inherit magit-section-heading :foreground "red")) "Face for non-zero exit-status." magit-mode-line-process ((t :inherit mode-line-emphasis)) "Face for `mode-line-process' status when Git is running for side-effects." magit-mode-line-process-error ((t :inherit error)) "Face for `mode-line-process' error status.\n\nUsed when `magit-process-display-mode-line-error' is non-nil."] 12) #@34 Keymap for `magit-process-mode'. (defvar magit-process-mode-map (byte-code "\301 \302\"\210\207" [magit-mode-map make-sparse-keymap set-keymap-parent] 4) (#$ . 9583)) (defvar magit-process-mode-hook nil) (byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [magit-process-mode-hook variable-documentation put "Hook run after entering Magit Process mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" boundp magit-process-mode-map definition-name magit-process-mode] 4) (defvar magit-process-mode-map (make-sparse-keymap)) (byte-code "\301\302N\204\303\301\302\304\305!#\210\306\307!\204\303\307\310\311#\210\312\313 !\210\307\302N\204-\303\307\302\304\314!#\210\306\300!\204B\303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P\303\300\302\304\320!#\210\303\311\321\322#\210\303\311\323\324#\207" [magit-process-mode-abbrev-table magit-process-mode-map variable-documentation put purecopy "Keymap for `magit-process-mode'." boundp magit-process-mode-syntax-table definition-name magit-process-mode (lambda (def-tmp-var) (defvar magit-process-mode-syntax-table def-tmp-var)) make-syntax-table "Syntax table for `magit-process-mode'." (lambda (def-tmp-var) (defvar magit-process-mode-abbrev-table def-tmp-var)) define-abbrev-table nil "Abbrev table for `magit-process-mode'." derived-mode-parent magit-mode custom-mode-group magit-process] 5) #@246 Mode for looking at Git process output. In addition to any hooks its parent mode `magit-mode' might have run, this mode runs the hook `magit-process-mode-hook', as the final or penultimate step during initialization. \{magit-process-mode-map} (defalias 'magit-process-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315 !\204'\316 \317 \"\210\320\f!\211\2035\211\321 =\203;\322\f\323 \"\210\210\324 \325\"\204R =\204R\326 \325C#\210\327 !\210\330\f!\210 \331 \210\332\333 )\334\335!\207" [delay-mode-hooks major-mode mode-name magit-process-mode-map magit-process-mode-syntax-table magit-process-mode-abbrev-table make-local-variable t magit-mode magit-process-mode "Magit Process" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table hack-dir-local-variables-non-file-buffer magit-imenu--process-prev-index-position-function magit-imenu--process-extract-index-name-function run-mode-hooks magit-process-mode-hook local-abbrev-table imenu-prev-index-position-function imenu-extract-index-name-function] 5 (#$ . 11075) nil]) #@221 Display the current repository's process buffer. If that buffer doesn't exist yet, then create it. Non-interactively return the buffer and unless optional NODISPLAY is non-nil also display it. (fn &optional NODISPLAY) (defalias 'magit-process-buffer #[256 "\306 \211\204'\307\310!\211\203&\262\310\232\204%\262\311\312!!\262\202\210)\310\313 \314\310\211\211\203j\211A\262\242\262\262\211\262\203jrq\210 \315=\205R\232)\203]\310\262\203j\262\262T\262\202.\266\211\262\206x\211\316\315!)r\211q\210\n\203\212 \203\320\317 \210\202\320\315 \210\320\310\211=\321\322!\210\323\324!\203\242\324\202\253\324>\236A\206\253\325\326\323\324!\203\273\327\324>\"@\206\274\324\330\310\331\332 \333 &\334\335\336\337\"\211\203\326\211\340=\202 \f\205\341\341\342!\f\"\211\203\354\343\335\"\202\344?\"\211\205\345!\203\211!\262\211\340=\262\262\262#\210\211\f\206 ?\205\n@\3462\314\347c\210\350\351!\210\352!\210\353\343\354\"\320\"\210\334\355\332 #\356\357\"\360\361\362\343\363\"\"!\360\361\364\343\363\"\"!\203]J\206p\365!\203hJ\206p\365!\205p\211J\212\343\354\"b\210`W\203\247\366`\325\"\206\206\367`\325\"\204\240\370`\325\n$\210\203\240\370`\357$\210\211b\266\202x)\266\211\n=\203\272\310A\371!)\202\313\334\343\372\"\373\343\211\372\"\373\"C\244#0\210+\210+)\204\331\374!\210\207" [default-directory major-mode magit-root-section magit-process-log-max magit-insert-section--oldroot magit-insert-section--parent magit-toplevel magit--safe-default-directory nil file-name-directory directory-file-name buffer-list 0 magit-process-mode magit-generate-new-buffer magit-process-truncate-log t make-local-variable text-property-default-nonsticky class-p processbuf magit-section :type rassq :value :start point-marker :parent eieio-oset hidden run-hook-with-args-until-success magit-section-set-visibility-hook hide magit-get-section magit-section-ident eieio-oref magit-section-match-assoc functionp cancel-section "\n" run-hooks magit-insert-section-hook magit-insert-child-count set-marker-insertion-type start end eieio-oref-default keymap intern format "magit-%s-section-map" type "forge-%s-section-map" boundp next-single-property-change get-text-property put-text-property magit-section-show parent children magit-display-buffer inhibit-read-only magit--section-type-alist magit-section-initial-visibility-alist magit-insert-section--current magit-section-cache-visibility] 16 (#$ . 12324) nil]) #@28 Kill the process at point. (defalias 'magit-process-kill #[0 "\300\301!\211\205\302!\303=\204\304\305!\210\306\307!\210\307!\207" [magit-section-value-if process process-status run user-error "Process isn't running" magit-confirm kill-process] 3 (#$ . 14860) nil]) (defvar magit-process-raise-error nil) #@368 Call Git synchronously in a separate process, for side-effects. Option `magit-git-executable' specifies the Git executable. The arguments ARGS specify arguments to Git, they are flattened before use. Process output goes into a new section in the buffer returned by `magit-process-buffer'. If Git exits with a non-zero status, then raise an error. (fn &rest ARGS) (defalias 'magit-git #[128 "\301\302!)\207" [magit-process-raise-error t magit-call-git] 3 (#$ . 15177)]) #@503 Call Git synchronously in a separate process, and refresh. Option `magit-git-executable' specifies the Git executable and option `magit-git-global-arguments' specifies constant arguments. The arguments ARGS specify arguments to Git, they are flattened before use. After Git returns, the current buffer (if it is a Magit buffer) as well as the current repository's status buffer are refreshed. Process output goes into a new section in the buffer returned by `magit-process-buffer'. (fn &rest ARGS) (defalias 'magit-run-git #[128 "\301\211BC\302!\210\211@\303\235\203\304\305 )\207" [magit--refresh-cache 0 magit-call-git ("init" "clone") nil magit-refresh] 3 (#$ . 15659)]) (defvar magit-pre-call-git-hook nil) #@360 Call Git synchronously in a separate process. Option `magit-git-executable' specifies the Git executable and option `magit-git-global-arguments' specifies constant arguments. The arguments ARGS specify arguments to Git, they are flattened before use. Process output goes into a new section in the buffer returned by `magit-process-buffer'. (fn &rest ARGS) (defalias 'magit-call-git #[128 "\302\303!\210\304 \305\306 \307!#)\207" [default-process-coding-system magit-git-executable run-hooks magit-pre-call-git-hook magit--process-coding-system apply magit-call-process magit-process-git-arguments] 6 (#$ . 16386)]) #@165 Call PROGRAM synchronously in a separate process. Process output goes into a new section in the buffer returned by `magit-process-buffer'. (fn PROGRAM &rest ARGS) (defalias 'magit-call-process #[385 "\302\"\211\242\243\303\304\305\306 \307\307\f&)p %\207" [inhibit-read-only default-directory magit-process-setup magit-process-finish t apply magit-process-file nil] 15 (#$ . 17013)]) #@233 Process files synchronously in a separate process. Identical to `process-file' but temporarily enable Cygwin's "noglob" option during the call and ensure unix eol conversion. (fn PROCESS &optional INFILE BUFFER DISPLAY &rest ARGS) (defalias 'magit-process-file #[1153 "\203\304\305\306\307\"\"\210)\310 \311 \312\313&*\207" [magit-process-extreme-logging inhibit-message default-process-coding-system process-environment t message "$ %s" magit-process--format-arguments magit-process-environment magit--process-coding-system apply process-file] 12 (#$ . 17418)]) (defalias 'magit-process-environment #[0 "\306!?\307 \205\310\n \"A\205\f\205\311\312\313\" $\207" [default-directory magit-git-environment magit-git-executable magit-git-w32-path-hack magit-need-cygwin-noglob process-environment file-remote-p append assoc mapcar #[257 "\211\300\301!\211\203\211\302P\202\303\262Q\207" ["=" getenv " noglob" "noglob"] 6 "\n\n(fn VAR)"] ("CYGWIN" "MSYS")] 7]) (defvar magit-this-process nil) #@452 Call Git in a separate process. ARGS is flattened and then used as arguments to Git. The current buffer's content is used as the process's standard input. The buffer is assumed to be temporary and thus OK to modify. Option `magit-git-executable' specifies the Git executable and option `magit-git-global-arguments' specifies constant arguments. The remaining arguments ARGS specify arguments to Git, they are flattened before use. (fn &rest ARGS) (defalias 'magit-run-git-with-input #[128 "\306=\203\f\307ed\310#\210\311 !\203+\312p\"\210\n\205*\313\n!\314=\205^\315\316!\210\202\207\317\320!\210\321 \322 \323!\324 \"\211\242\243\325\326\327\330ed \331\331&\331 %)\266\204*\266\202\207" [system-type default-directory magit-this-process process-environment default-process-coding-system magit-git-executable windows-nt encode-coding-region utf-8-unix file-remote-p magit-start-git process-status run sleep-for 0.005 run-hooks magit-pre-call-git-hook magit-process-environment magit--process-coding-system magit-process-git-arguments magit-process-setup t magit-process-finish apply call-process-region nil inhibit-read-only] 17 (#$ . 18449)]) #@432 Start Git, prepare for refresh, and return the process object. ARGS is flattened and then used as arguments to Git. Display the command line arguments in the echo area. After Git returns some buffers are refreshed: the buffer that was current when this function was called (if it is a Magit buffer and still alive), as well as the respective Magit status buffer. See `magit-start-process' for more information. (fn &rest ARGS) (defalias 'magit-run-git-async #[128 "\301\302\303\304\305!\306#\307\310G\311$\210\211\262#\210\312\313\"\207" [magit-git-executable message "Running %s %s" mapconcat identity -flatten " " remove-list-of-text-properties 0 (face) magit-start-git nil] 10 (#$ . 19628)]) #@476 Export GIT_EDITOR and start Git. Also prepare for refresh and return the process object. ARGS is flattened and then used as arguments to Git. Display the command line arguments in the echo area. After Git returns some buffers are refreshed: the buffer that was current when this function was called (if it is a Magit buffer and still alive), as well as the respective Magit status buffer. See `magit-start-process' and `with-editor' for more information. (fn &rest ARGS) (defalias 'magit-run-git-with-editor #[128 "\306 \210\307\310=\203 \204\311\202\n\f \f\312 \210\313!,\207" [system-type magit-cygwin-mount-points shell-file-name magit-process-popup-time magit-with-editor-envvar process-environment magit--record-separated-gitdir -1 windows-nt "cmdproxy" with-editor--setup magit-run-git-async with-editor--envvar] 4 (#$ . 20341)]) #@598 Export GIT_EDITOR and start Git. Also prepare for refresh and return the process object. ARGS is flattened and then used as arguments to Git. Display the command line arguments in the echo area. After Git returns some buffers are refreshed: the buffer that was current when this function was called (if it is a Magit buffer and still alive), as well as the respective Magit status buffer. If the sequence stops at a commit, make the section representing that commit the current section by moving `point' there. See `magit-start-process' and `with-editor' for more information. (fn &rest ARGS) (defalias 'magit-run-git-sequencer #[128 "\301\302\"\210\303\304\"\210\207" [magit-this-process apply magit-run-git-with-editor set-process-sentinel magit-sequencer-process-sentinel] 4 (#$ . 21200)]) (defvar magit-pre-start-git-hook nil) #@684 Start Git, prepare for refresh, and return the process object. If INPUT is non-nil, it has to be a buffer or the name of an existing buffer. The buffer content becomes the processes standard input. Option `magit-git-executable' specifies the Git executable and option `magit-git-global-arguments' specifies constant arguments. The remaining arguments ARGS specify arguments to Git, they are flattened before use. After Git returns some buffers are refreshed: the buffer that was current when this function was called (if it is a Magit buffer and still alive), as well as the respective Magit status buffer. See `magit-start-process' for more information. (fn INPUT &rest ARGS) (defalias 'magit-start-git #[385 "\302\303!\210\304 \305\306 \307!$)\207" [default-process-coding-system magit-git-executable run-hooks magit-pre-start-git-hook magit--process-coding-system apply magit-start-process magit-process-git-arguments] 8 (#$ . 22045)]) #@829 Start PROGRAM, prepare for refresh, and return the process object. If optional argument INPUT is non-nil, it has to be a buffer or the name of an existing buffer. The buffer content becomes the processes standard input. The process is started using `start-file-process' and then setup to use the sentinel `magit-process-sentinel' and the filter `magit-process-filter'. Information required by these functions is stored in the process object. When this function returns the process has not started to run yet so it is possible to override the sentinel and filter. After the process returns, `magit-process-sentinel' refreshes the buffer that was current when `magit-start-process' was called (if it is a Magit buffer and still alive), as well as the respective Magit status buffer. (fn PROGRAM &optional INPUT &rest ARGS) (defalias 'magit-start-process #[641 "\306\"\211\242\243?\205\307 \310 \311\312\313\n! \n%+\314\315\"\210\316\317\"\210\320\"\210\f\321=\203@\322\323\324#\210\325\326#\210\325\327p#\210\325\330 #\210\"\203]\325\331\332#\210\333\334#\210rq\210\335!`\323\223\210)\203\204rq\210\336ed#\210\337!\210)\211#\333\340#\210\341!\210\207" [magit-process-connection-type default-process-coding-system process-environment process-connection-type system-type default-directory magit-process-setup magit-process-environment magit--process-coding-system apply start-file-process file-name-nondirectory with-editor-set-process-filter magit-process-filter set-process-sentinel magit-process-sentinel set-process-buffer windows-nt set-process-coding-system nil utf-8-unix process-put section command-buf default-dir inhibit-refresh t eieio-oset process process-mark process-send-region process-send-eof value magit-process-display-buffer magit-inhibit-refresh magit-this-process] 14 (#$ . 23000)]) #@19 (fn &rest ARGS) (defalias 'magit-parse-git-async #[128 "\306!\262p\307\310!\311 rq\210\211\312\313 \314 \315\316\317\f%+\320\321#\210\320\322`#\210\211\211\262)\207" [default-directory default-process-coding-system process-environment process-connection-type magit-git-executable magit-this-process magit-process-git-arguments generate-new-buffer " *temp*" magit-toplevel nil magit-process-environment magit--process-coding-system apply start-file-process "git" process-put command-buf parsed] 10 (#$ . 24859)]) #@21 (fn PROGRAM ARGS) (defalias 'magit-process-setup #[514 "\301\"\210\302\303!\211rq\210\304\305\211%\306u\210)B\207" [default-directory magit-process-set-mode-line magit-process-buffer t magit-process-insert-section nil -1] 11 (#$ . 25395)]) #@50 (fn PWD PROGRAM ARGS &optional ERRCODE ERRLOG) (defalias 'magit-process-insert-section #[1283 "\306\307dSb\210\310\311!\203\311\202\311\f\236A\206\312\313\310\311!\203+\314\311\f\"@\206,\311\315\307\316\317 \320\n&\321\322\323\324\"\211\203F\211\325=\202x \205Q\326\327! \"\211\203\\\330\322\"\202v\331 \"\211\205t\332!\203q\211!\262\211\325=\262\262\262#\210\211 \206\212\n?\205\212?\3332\217\203\244\334\335\336\337!\340\341#\"\202\245\342c\210\343!\343@!\232\204\275\344@\"\345\261\210\346\"c\210\347 \210\203\346\350!\203\336rq\210\351ed\")c\210\202\346\352!\210dSb\210\353c\210\354\355!\210\356!\210\357\330\360\"\306\"\210\321\361\317 #\362\363\"\364\334\365\330\366\"\"!\364\334\367\330\366\"\"!\203 J\2063\370!\203+J\2063\370!\2053\211J\212\330\360\"b\210`W\203j\371`\312\"\206I\372`\312\"\204c\373`\312\n$\210\203c\373`\363$\210\211b\266\202;)\266\211=\203}\307A\374!)\202\216\321\330\375\"\376\330\211\375\"\376\"C\244#0\210+\211\262+\207" [magit-root-section magit-insert-section--oldroot magit-insert-section--parent inhibit-read-only magit--section-type-alist magit-section-initial-visibility-alist t nil class-p process magit-section :type rassq :value :start point-marker :parent eieio-oset hidden run-hook-with-args-until-success magit-section-set-visibility-hook hide magit-get-section magit-section-ident eieio-oref magit-section-match-assoc functionp cancel-section format "%3s " propertize number-to-string font-lock-face magit-process-ng "run " expand-file-name file-relative-name 32 magit-process--format-arguments magit-insert-heading bufferp buffer-substring-no-properties insert-file-contents "\n" run-hooks magit-insert-section-hook magit-insert-child-count set-marker-insertion-type start end eieio-oref-default keymap intern "magit-%s-section-map" type "forge-%s-section-map" boundp next-single-property-change get-text-property put-text-property magit-section-show parent children magit-insert-section--current default-directory magit-section-cache-visibility] 17 (#$ . 25652)]) #@21 (fn PROGRAM ARGS) (defalias 'magit-process--format-arguments #[514 "\211\203A\232\203A\304 G\"\262\305\306!\307\310#\311\305\n;\203#\n\202&\312\n!\307\310\313\314\315 @\311#%\311\305\314\316A@\311#\307\310#\260\207\211\203S \232\203S\305A@\307\310#\207\305\306!\307\310#\311\305\314\316\311#\307\310#Q\207" [magit-git-executable magit-git-global-arguments magit-ellipsis shell-file-name -split-at propertize file-name-nondirectory font-lock-face magit-section-heading " " char-to-string help-echo mapconcat identity shell-quote-argument] 13 (#$ . 27777)]) (defalias 'magit-process-truncate-log #[0 "\303\304\305\"\211G\211T V\205ZA\203P\211 \306\245V\203P\307@\304\310\"\211\203F\311!\312>\203A\304\313\"\304\314\"T|\210S\262\202FB\262)\266A\262\202\315\305\316!\244#\207" [magit-root-section magit-process-log-max inhibit-read-only nil eieio-oref children 2 t process process-status (exit signal) start end eieio-oset reverse] 9]) #@69 Default sentinel used by `magit-start-process'. (fn PROCESS EVENT) (defalias 'magit-process-sentinel #[514 "\302!\303>\205`\211\304\305O\262\306\307\"\203\310\311\312!!\313P!\210\314!\210=\203+\315\316\317\"?\205`\316\320\"\321!\203Gr\211q\210\322 )\202^\323\324\325\"r\211q\210\326\327\"\216\316\330\"\322 *\262\262\207" [magit-this-process default-directory process-status (exit signal) 0 -1 string-match "^finished" message capitalize process-name " finished" magit-process-finish nil process-get inhibit-refresh command-buf buffer-live-p magit-refresh generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] default-dir] 7 (#$ . 28764)]) #@73 Special sentinel used by `magit-run-git-sequencer'. (fn PROCESS EVENT) (defalias 'magit-sequencer-process-sentinel #[514 "\301!\302>\205e\303\"\210\304!\211\205c\305!\205cr\211q\210\306\307!)\211\205ar\211q\210\310\311\312\313!B\314GT\315!\"A@@\211\316\267\202J\317\202K\320\202K\321\262C\322BB!\211\205^\323\324\"b\210\325 \262)\262\262\207" [magit-git-global-arguments process-status (exit signal) magit-process-sentinel process-buffer buffer-live-p magit-get-mode-buffer magit-status-mode magit-get-section commit magit-rev-parse "HEAD" -split-at process-command #s(hash-table size 4 test equal rehash-size 1.5 rehash-threshold 0.8125 purecopy t data ("am" 66 "rebase" 66 "revert" 70 "cherry-pick" 70)) rebase-sequence sequence nil ((status)) eieio-oref start magit-section-update-highlight] 10 (#$ . 29492)]) #@65 Default filter used by `magit-start-process'. (fn PROC STRING) (defalias 'magit-process-filter #[514 "r\301!q\210\302\303!b\210\304\305\306\302$\211\203#T\307O\262\310 `|\210\210\311\312\313\314\"#c\210\303!`\307\223\210\315\"\210\316\"\210\317\"\210\320\321#*\207" [inhibit-read-only process-buffer t process-mark cl-position 13 :from-end nil line-beginning-position propertize magit-section process-get section magit-process-yes-or-no-prompt magit-process-username-prompt magit-process-password-prompt run-hook-with-args-until-success magit-process-prompt-functions] 8 (#$ . 30333)]) #@24 (fn PROC &rest BODY) (defalias 'magit-process-kill-on-abort '(macro . #[385 "\300 \301\302BC\303\304BB\305\306\307\310\311\312\313 DD\314BBBBF\301\315DCBB\257\207" [cl-gensym let ((make-sparse-keymap)) set-keymap-parent (minibuffer-local-map) define-key "" lambda nil (interactive) ignore-errors kill-process ((abort-recursive-edit)) minibuffer-local-map] 15 (#$ . 30945)])) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put magit-process-kill-on-abort lisp-indent-function 1 put edebug-form-spec (form body)] 5) #@61 Forward Yes-or-No prompts to the user. (fn PROCESS STRING) (defalias 'magit-process-yes-or-no-prompt #[514 "\303\"\211\205D\304\305\306\307 \310\311\"\216\312 \313\n\"\210\314\315\310\316\f\"#\210\211\317\320O!)\262)\262\203<\321\202=\322\"\323P\227\")\207" [magit-process-yes-or-no-prompt-regexp max-mini-window-height minibuffer-local-map string-match 30 process-send-string match-string match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] make-sparse-keymap set-keymap-parent define-key "" #[0 "\3011\f\302\300!0\210\202 \210\303 \207" [V0 (error) kill-process abort-recursive-edit] 2 nil nil] yes-or-no-p 0 1 2 "\n"] 14 (#$ . 31492)]) #@1444 Use `auth-source-search' to get a password. If found, return the password. Otherwise, return nil. To use this function add it to the appropriate hook (add-hook 'magit-process-find-password-functions 'magit-process-password-auth-source) KEY typically derives from a prompt such as: Password for 'https://yourname@github.com' in which case it would be the string yourname@github.com which matches the ~/.authinfo.gpg entry machine github.com login yourname password 12345 or iff that is undefined, for backward compatibility machine yourname@github.com password 12345 On github.com you should not use your password but a personal access token, see [1]. For information about the peculiarities of other forges, please consult the respective documentation. After manually editing ~/.authinfo.gpg you must reset the cache using M-x auth-source-forget-all-cached RET The above will save you from having to repeatedly type your token or password, but you might still repeatedly be asked for your username. To prevent that, change an URL like https://github.com/foo/bar.git to https://yourname@github.com/foo/bar.git Instead of changing all such URLs manually, they can be translated on the fly by doing this once git config --global url.https://yourname@github.com.insteadOf https://github.com [1]: https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token. (fn KEY) (defalias 'magit-process-password-auth-source #[257 "\300\301!\210\302\303\"\2057\304\305\"\304\306\"\307\310\311\305\312\313&\206(\310\311\305\312$@\314\"\315!\2034\211 \207\211\266\203\207" [require auth-source string-match "\\`\\(.+\\)@\\([^@]+\\)\\'" match-string 1 2 plist-get auth-source-search :max :host :user :secret functionp] 11 (#$ . 32192)]) #@225 Authenticate using `git-credential-manager-core'. To use this function add it to the appropriate hook (add-hook 'magit-process-prompt-functions 'magit-process-git-credential-manager-core) (fn PROCESS STRING) (defalias 'magit-process-git-credential-manager-core #[514 "\300\301\"\205\302 \210\303\304\305\306\307\"\"\310!\210\311\"\262\207" [string-match "^option (enter for default): $" magit-process-buffer format "%c\n" read-char-choice "Option: " (13 106 49 50) insert-before-markers-and-inherit process-send-string] 7 (#$ . 34010)]) #@349 Find a password based on prompt STRING and send it to git. Use `magit-process-password-prompt-regexps' to find a known prompt. If and only if one is found, then call functions in `magit-process-find-password-functions' until one of them returns the password. If all function return nil, then read the password from the user. (fn PROCESS STRING) (defalias 'magit-process-password-prompt #[514 "\302\"\211\2058\303\304 \305 \"\210\306\307\310\311\n\"#\210\211\312\313\"\211\205*\314\315\"\262\2062\316!\317P)\262\"\207" [magit-process-password-prompt-regexps minibuffer-local-map magit-process-match-prompt process-send-string make-sparse-keymap set-keymap-parent define-key "" make-closure #[0 "\3011\f\302\300!0\210\202 \210\303 \207" [V0 (error) kill-process abort-recursive-edit] 2 nil nil] match-string 99 run-hook-with-args-until-success magit-process-find-password-functions read-passwd "\n"] 12 (#$ . 34577)]) #@60 Forward username prompts to the user. (fn PROCESS STRING) (defalias 'magit-process-username-prompt #[514 "\302\"\211\205*\303\304 \305 \"\210\306\307\310\311\n\"#\210\211\312\313\211\314 $\315P)\262\"\207" [magit-process-username-prompt-regexps minibuffer-local-map magit-process-match-prompt process-send-string make-sparse-keymap set-keymap-parent define-key "" make-closure #[0 "\3011\f\302\300!0\210\202 \210\303 \207" [V0 (error) kill-process abort-recursive-edit] 2 nil nil] read-string nil user-login-name "\n"] 12 (#$ . 35521)]) #@128 Match STRING against PROMPTS and set match data. Return the matched string suffixed with ": ", if needed. (fn PROMPTS STRING) (defalias 'magit-process-match-prompt #[514 "\300\301\300\211\211\2034\211A\262\242\262\262\211\262\2034\302\"\211\262\2044\262\262T\262\202\266\211\262\205]\303\301\"\304\305\"\203K\211\202[\304\306\"\203X\211\307P\202[\211\305P\262\207" [nil 0 string-match match-string string-suffix-p ": " ":" " "] 11 (#$ . 36079)]) (defalias 'magit--process-coding-system #[0 "\206 @ A\n\203\303\304\"\303\304\"B\207B\207" [magit-git-output-coding-system default-process-coding-system magit-process-ensure-unix-line-ending coding-system-change-eol-conversion unix] 6]) #@40 Hook run before Git needs credentials. (defvar magit-credential-hook nil (#$ . 36813)) (defvar magit-credential-cache-daemon-process nil) #@258 Maybe start a `git-credential-cache--daemon' process. If such a process is already running or if the value of option `magit-credential-cache-daemon-socket' is nil, then do nothing. Otherwise start the process passing the value of that options as argument. (defalias 'magit-maybe-start-credential-cache-daemon #[0 "?\206\304 !\206 \305 >?\205{\306\305 \307\306\211\211\203]\211A\262\242\262\262\211\262\203]\310!\311\236A\312\236A\313\230\205D\211\n\230\266\203\203P\306\262\203]\262\262T\262\202\266\211\262\206y\3141t\315\313\316 \317%0\202y\210\320\321\322\"\211\207" [magit-credential-cache-daemon-socket magit-credential-cache-daemon-process user-login-name magit-git-executable process-live-p list-system-processes nil 0 process-attributes comm user "git-credential-cache--daemon" (debug error) start-process " *git-credential-cache--daemon*" "credential-cache--daemon" remove-hook magit-credential-hook magit-maybe-start-credential-cache-daemon] 11 (#$ . 36958)]) (add-hook 'magit-credential-hook 'magit-maybe-start-credential-cache-daemon) #@42 (fn FN NAME BUFFER PROGRAM &rest ARGS) (defalias 'tramp-sh-handle-start-file-process--magit-tramp-process-environment #[1156 "\203\301@\302AB\"%\207\301%\207" [magit-tramp-process-environment apply append] 14 (#$ . 38052)]) (advice-add 'tramp-sh-handle-start-file-process :around 'tramp-sh-handle-start-file-process--magit-tramp-process-environment) #@67 (fn FN PROGRAM &optional INFILE DESTINATION DISPLAY &rest ARGS) (defalias 'tramp-sh-handle-process-file--magit-tramp-process-environment #[1410 "\203\301\302\303\f B\"&\207\301&\207" [magit-tramp-process-environment apply "env" append] 16 (#$ . 38427)]) (advice-add 'tramp-sh-handle-process-file :around 'tramp-sh-handle-process-file--magit-tramp-process-environment) #@33 Keymap for `mode-line-process'. (defvar magit-mode-line-process-map (byte-code "\300 \301\302\303#\210\207" [make-sparse-keymap define-key [mode-line mouse-1] magit-process-buffer] 5) (#$ . 38831)) #@79 Display the git command (sans arguments) in the mode line. (fn PROGRAM ARGS) (defalias 'magit-process-set-mode-line #[514 "\232\203\f G\233\262\304\305\306!\205\304@PP\307\310\311\n\312\313\314\315& P\316\303\"\210\317 \211\203@\211@r\211q\210)A\266\202\202,\210\320\321!\207" [magit-git-executable magit-git-global-arguments magit-mode-line-process-map mode-line-process " " propertize file-name-nondirectory mouse-face highlight keymap help-echo "mouse-1: Show process buffer" font-lock-face magit-mode-line-process magit-repository-local-set magit-mode-get-buffers force-mode-line-update t] 13 (#$ . 39036)]) #@232 Apply an error face to the string set by `magit-process-set-mode-line'. If ERROR is supplied, include it in the `mode-line-process' tooltip. If STR is supplied, it replaces the `mode-line-process' text. (fn &optional ERROR STR) (defalias 'magit-process-set-mode-line-error-status #[512 "\211\206\302\301!\262\211\205m\303\304;\203\305P\202\306\"\262\307\310\311\312\"\313\314\315\316 \317\320& P\262\321\301\"\210\322 \211\203M\211@r\211q\210)A\266\202\2029\210\323\324!\210\325 \326C\211\327\330#\240\210\321\331\324#\210\332\333\242\"\262\262\207" [magit-mode-line-process-map mode-line-process magit-repository-local-get format "%smouse-1: Show process buffer" "\n\n" "" " " propertize substring-no-properties 1 mouse-face highlight keymap help-echo font-lock-face magit-mode-line-process-error magit-repository-local-set magit-mode-get-buffers force-mode-line-update t magit-repository-local-repository nil make-closure #[0 "\302\303\301\242\"\210\304\305\306\300#\207" [V0 V1 remove-hook pre-command-hook magit-repository-local-set inhibit-magit-process-unset-mode-line nil] 4] inhibit-magit-process-unset-mode-line add-hook pre-command-hook] 13 (#$ . 39672)]) #@53 Remove any current error status from the mode line. (defalias 'magit-process-unset-mode-line-error-status #[0 "\206\301\300!\211\205\302\303\304#\305=\205\306 \207" [mode-line-process magit-repository-local-get get-text-property 1 font-lock-face magit-mode-line-process-error magit-process-unset-mode-line] 5 (#$ . 40874)]) #@70 Remove the git command from the mode line. (fn &optional DIRECTORY) (defalias 'magit-process-unset-mode-line #[256 "\211\206\302\303!?\205,\304\301\305\"\210\306 \211\203(\211@r\211q\210\305)A\266\202\202\210\307\310!)\207" [default-directory mode-line-process magit-repository-local-get inhibit-magit-process-unset-mode-line magit-repository-local-set nil magit-mode-get-buffers force-mode-line-update t] 4 (#$ . 41212)]) (defvar magit-process-error-message-regexps (list "^\\*ERROR\\*: Canceled by user$" "^\\(?:error\\|fatal\\|git\\): \\(.*\\)$" "^\\(Cannot rebase:.*\\)$")) (define-error 'magit-git-error "Git error") #@76 A one-line error summary from the given SECTION. (fn PROCESS-BUF SECTION) (defalias 'magit-process-error-summary #[514 "\300!\203$rq\210\301\302\"\205 \212\301\303\"b\210\304\305\306\307\"\"))\206%\310\207" [buffer-live-p eieio-oref content end run-hook-wrapped magit-process-error-message-regexps make-closure #[257 "\212\302\303\300\304\"\305#\205\306\307!\206 ?\205\310)\207" [V0 magit-process-raise-error re-search-backward eieio-oref start t match-string-no-properties 1 suppressed] 6 "\n\n(fn RE)"] "Git failed"] 7 (#$ . 41851)]) #@137 Returns the text from SECTION of the PROCESS-BUF buffer. Limited by `magit-process-error-tooltip-max-lines'. (fn PROCESS-BUF SECTION) (defalias 'magit-process-error-tooltip #[514 "\250\205N\301V\205N\302!\205Nrq\210\212\303\304\"\206!\303\305\"b\210\306`\212y\210`\303\307\"V\2039\303\307\"\202:`b\210\310\311\303\305\"\312#\203J\313u\210`)\"*\207" [magit-process-error-tooltip-max-lines 0 buffer-live-p eieio-oref content start buffer-substring-no-properties end re-search-backward "[^[:space:]\n]" t 1] 9 (#$ . 42410)]) (defvar magit-this-error nil nil) (make-variable-buffer-local 'magit-this-error) (defvar magit-process-finish-apply-ansi-colors nil) #@66 (fn ARG &optional PROCESS-BUF COMMAND-BUF DEFAULT-DIR SECTION) (defalias 'magit-process-finish #[1281 "\250\204!\305!\262\306\307\"\262\306\310\"\262\306\311\"\262\312!\262\313\314!\203+\314!\210\315!\203\353rq\210\316\317\320\"\211b\210\212\321\322!\210\323\324\"\210\325\326\327 \"\330\331 \332U\203]\333\202^\334%c\210\323\316\"\210) \203v\335\317\336\"\317\337\"\"\210\317\337\"\340 \341\\U\203\226\212\340 Tb\210\321\342!\210\343\336\324#\210)\202\347\344\316!\332U\203\346\324\345 \332\324\211\211\203\326\211A\262\242\262\262\211\262\203\326\346!=\211\262\204\326\262\262T\262\202\247\266\211\262\203\342\210\202\347\347!\210\210)\266)\332U\203\370\350!\210\202q\351\"\n\203\352\353\"\206\n!\210\202\350!\210 \203&\354\355\326\356#C\"\266\202q\211\357=\204p\315!\203Frq\210\360\361!\211\203Dr\211q\210)\210)\362\363\315!\205Zrq\210\364\344!@)\211\203g\326\365\366!\"\202h\367\262\370 !$\210\210\207" [inhibit-read-only magit-process-finish-apply-ansi-colors magit-process-display-mode-line-error magit-process-raise-error magit-this-error process-buffer process-get command-buf default-dir section process-exit-status fboundp dired-uncache buffer-live-p t eieio-oref start delete-char 3 set-marker-insertion-type nil propertize format "%3s" magit-section font-lock-face 0 magit-process-ok magit-process-ng ansi-color-apply-on-region content end line-end-position 2 -1 eieio-oset magit-process-buffer window-list window-buffer magit-section-hide magit-process-unset-mode-line magit-process-error-summary magit-process-set-mode-line-error-status magit-process-error-tooltip signal magit-git-error "%s (in %s)" suppressed magit-get-mode-buffer magit-status-mode message "%s ... [%s buffer %s for details]" where-is-internal "Hit %s to see" key-description "See" buffer-name] 16 (#$ . 43090)]) #@16 (fn PROCESS) (defalias 'magit-process-display-buffer #[257 "\301!\2055\302!\303!?\2063\304U\203'\305 \203!\306!\2023\307!\2023\304V\2053\310\311\312$\262\207" [magit-process-popup-time process-live-p process-buffer buffer-live-p 0 minibufferp switch-to-buffer-other-window pop-to-buffer run-with-timer nil #[257 "\300!\301=\205!\302!\303!\205\304 \203\305!\202\306!\262\207" [process-status run process-buffer buffer-live-p minibufferp switch-to-buffer-other-window pop-to-buffer] 4 "\n\n(fn P)"]] 7 (#$ . 45001)]) #@26 (fn SUMMARY LINE LIST) (defalias 'magit--log-action #[771 "\306\211A\203!\262\307\"\262\202@!\262r\310\311!q\210dSb\210\311\312\313!\2031\313\2029\313 \236A\2069\314\315\312\313!\203H\316\313 \"@\206I\313\317\306\320\321 \322\n&\323\324\325\326\"\211\203c\211\327=\202\225 \205n\330\331! \"\211\203y\332\324\"\202\223\333\f\"\211\205\221\334!\203\216\211!\262\211\327=\262\262\262#\210\211 \206\247\n?\205\247 7\3352v\336\337P!\210\203\320\211\203\314\211@\211\340\261\210A\266\202\202\272\210\340c\210\341\342!\210\343!\210\344\332\345\"\311\"\210\323\346\321 #\347\350\"\351\352\353\332\354\"\"!\351\352\355\332\354\"\"!\203J\206\356!\203J\206\356!\205\211J\212\332\345\"b\210`W\203Q\357`\314\"\2060\360`\314\"\204J\361`\314\n$\210\203J\361`\350$\210\211b\266\202\")\266\211 =\203d\3068\362!)\202u\323\332\363\"\364\332\211\363\"\364\"C\244#0\210+\210)\3119\203\206B\262\313\365\366\340#!*\207" [inhibit-read-only magit--section-type-alist magit-insert-section--parent magit-insert-section--oldroot magit-section-initial-visibility-alist magit-root-section nil mapcar magit-process-buffer t class-p message magit-section :type rassq :value :start point-marker :parent eieio-oset hidden run-hook-with-args-until-success magit-section-set-visibility-hook hide magit-get-section magit-section-ident eieio-oref magit-section-match-assoc functionp cancel-section magit-insert-heading " * " "\n" run-hooks magit-insert-section-hook magit-insert-child-count set-marker-insertion-type start end eieio-oref-default keymap intern format "magit-%s-section-map" type "forge-%s-section-map" boundp next-single-property-change get-text-property put-text-property magit-section-show parent children mapconcat identity magit-insert-section--current magit-section-cache-visibility inhibit-message] 17 (#$ . 45554)]) (provide 'magit-process)