;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\301\302!\210\303\304\305\306\307\310\311\312&\210\313\314\315\316\317DD\320\321\322\311\304\323\324& \210\313\325\315\316\326DD\327\321\330\311\304\323\331& \210\313\332\315\316\333DD\334\311\304\323\324&\210\313\335\315\316\336DD\337\321\340\311\304\323\341& \210\313\342\315\316\343DD\344\311\304\323\345&\210\313\346\315\316\347DD\350\311\304\323\351&\210\313\352\315\316\353DD\354\321\355\311\304\323\356\357\360\361\362& \210\363\364\365\366\367Y\205\217\370\371\"B\372\366\367Y\205\233\373\374\"BD\375\311\376%\210\363\377\201@\201A\311\376%\210\363\201B\201C\201D\311\376%\210\363\201E\201F\366\367Y\205\317\201G\201H\"BC\201I\311\376%\210\363\201J\305\201K\311\376%\210\363\201L\305\201M\311\376%\210\363\201N\305\201O\311\376%\210\363\201P\305\201Q\311\376%\210\201R\201S\201T\201U!\"\210\201R\201V\201W\201U!\"\210\201R\201X\201V\"\210\201Y\201X\201Z\201[#\210\201\\\201U\201]\201V#\201^\201U\305\201_\305$\207" [emacs-major-version require magit custom-declare-group magit-blame nil "Blame support for Magit." :link (info-link "(magit)Blaming") :group magit-modes custom-declare-variable magit-blame-styles funcall function #[0 "\300\207" [((headings (heading-format . "%-20a %C %s\n")) (margin (margin-format " %s%f" " %C %a" " %H") (margin-width . 42) (margin-face . magit-blame-margin) (margin-body-face magit-blame-dimmed)) (highlight (highlight-face . magit-blame-highlight)) (lines (show-lines . t) (show-message . t)))] 1] "List of styles used to visualize blame information.\n\nEach entry has the form (IDENT (KEY . VALUE)...). IDENT has\nto be a symbol uniquely identifying the style. The following\nKEYs are recognized:\n\n `show-lines'\n Whether to prefix each chunk of lines with a thin line.\n This has no effect if `heading-format' is non-nil.\n `show-message'\n Whether to display a commit's summary line in the echo area\n when crossing chunks.\n `highlight-face'\n Face used to highlight the first line of each chunk.\n If this is nil, then those lines are not highlighted.\n `heading-format'\n String specifying the information to be shown above each\n chunk of lines. It must end with a newline character.\n `margin-format'\n String specifying the information to be shown in the left\n buffer margin. It must NOT end with a newline character.\n This can also be a list of formats used for the lines at\n the same positions within the chunk. If the chunk has\n more lines than formats are specified, then the last is\n repeated.\n `margin-width'\n Width of the margin, provided `margin-format' is non-nil.\n `margin-face'\n Face used in the margin, provided `margin-format' is\n non-nil. This face is used in combination with the faces\n that are specific to the used %-specs. If this is nil,\n then `magit-blame-margin' is used.\n `margin-body-face'\n Face used in the margin for all but first line of a chunk.\n This face is used in combination with the faces that are\n specific to the used %-specs. This can also be a list of\n faces (usually one face), in which case only these faces\n are used and the %-spec faces are ignored. A good value\n might be `(magit-blame-dimmed)'. If this is nil, then\n the same face as for the first line is used.\n\nThe following %-specs can be used in `heading-format' and\n`margin-format':\n\n %H hash using face `magit-blame-hash'\n %s summary using face `magit-blame-summary'\n %a author using face `magit-blame-name'\n %A author time using face `magit-blame-date'\n %c committer using face `magit-blame-name'\n %C committer time using face `magit-blame-date'\n\nAdditionally if `margin-format' ends with %f, then the string\nthat is displayed in the margin is made at least `margin-width'\ncharacters wide, which may be desirable if the used face sets\nthe background color.\n\nThe style used in the current buffer can be cycled from the blame\npopup. Blame commands (except `magit-blame-echo') use the first\nstyle as the initial style when beginning to blame in a buffer." :package-version (magit . "2.13.0") :type string magit-blame-echo-style #[0 "\300\207" [lines] 1] "The blame visualization style used by `magit-blame-echo'.\nA symbol that has to be used as the identifier for one of the\nstyles defined in `magit-blame-styles'." (magit . "2.13.0") symbol magit-blame-time-format #[0 "\300\207" [#1="%F %H:%M"] 1 #1#] "Format for time strings in blame headings." magit-blame-read-only #[0 "\300\207" [t] 1] "Whether to initially make the blamed buffer read-only." (magit . "2.13.0") boolean magit-blame-disable-modes #[0 "\300\207" [(fci-mode yascroll-bar-mode)] 1] "List of modes not compatible with Magit-Blame mode.\nThis modes are turned off when Magit-Blame mode is turned on,\nand then turned on again when turning off the latter." (repeat (symbol :tag "Mode")) magit-blame-mode-lighter #[0 "\300\207" [#2=" Blame"] 1 #2#] "The mode-line lighter of the Magit-Blame mode." (choice (const :tag "No lighter" "") string) magit-blame-goto-chunk-hook #[0 "\300\207" [(magit-blame-maybe-update-revision-buffer magit-blame-maybe-show-message)] 1] "Hook run after point entered another chunk." (magit . "2.13.0") hook :get magit-hook-custom-get :options (magit-blame-maybe-update-revision-buffer magit-blame-maybe-show-message) custom-declare-face magit-blame-highlight ((class color) (background light)) append 27 (:extend t) (:background "grey80" :foreground "black") ((class color) (background dark)) (:extend t) (:background "grey25" :foreground "white") "Face used for highlighting when blaming.\nAlso see option `magit-blame-styles'." magit-faces magit-blame-margin ((t :inherit magit-blame-highlight :weight normal :slant normal)) "Face used for the blame margin by default when blaming.\nAlso see option `magit-blame-styles'." magit-blame-dimmed ((t :inherit magit-dimmed :weight normal :slant normal)) "Face used for the blame margin in some cases when blaming.\nAlso see option `magit-blame-styles'." magit-blame-heading t (:extend t) (:inherit magit-blame-highlight :weight normal :slant normal) "Face used for blame headings by default when blaming.\nAlso see option `magit-blame-styles'." magit-blame-summary "Face used for commit summaries when blaming." magit-blame-hash "Face used for commit hashes when blaming." magit-blame-name "Face used for author and committer names when blaming." magit-blame-date "Face used for dates when blaming." defalias magit-blame-chunk-p eieio-make-class-predicate magit-blame-chunk magit-blame-chunk--eieio-childp eieio-make-child-predicate magit-blame-chunk-child-p make-obsolete "use (cl-typep ... \\='magit-blame-chunk) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal ((orig-rev :initarg :orig-rev) (orig-line :initarg :orig-line) (final-line :initarg :final-line) (num-lines :initarg :num-lines) (prev-rev :initform nil) (prev-file :initform nil) (orig-file))] 14) #@74 Create a new object of class type `magit-blame-chunk'. (fn &rest SLOTS) (defalias 'magit-blame-chunk #[128 "\300\301\302#\207" [apply make-instance magit-blame-chunk] 5 (#$ . 7139)]) (byte-code "\300\301\302\303#\300\207" [function-put magit-blame-chunk compiler-macro magit-blame-chunk--anon-cmacro] 4) #@26 (fn WHOLE &rest SLOTS) (defalias 'magit-blame-chunk--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 (#$ . 7451)]) #@23 (fn &optional TYPE) (defalias 'magit-current-blame-chunk #[256 "\211\203\n\211=\203\305`!\206r\211\205r \206\n\306\307 ?\"\310\311\312 \"\204+\313\314!\210\315\316\317\"r\211q\210\320\321\"\216\322 \211\203i\211\323\324\325\326>\203P\327\330 B\202R\330 \331\n\332 &\210eb\210\333!@)\202k\334 \262*\262\266\203\207" [magit-blame-type magit-buffer-refname magit-buffer-revision magit-buffer-file-name default-directory magit-blame-chunk-at magit-file-relative-name nil format "%i,+1" line-number-at-pos error "Buffer does not visit a tracked file" generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] magit-toplevel magit-git-insert "blame" "--porcelain" (final removal) "--reverse" magit-blame-arguments "-L" "--" magit-blame--parse-chunk magit--not-inside-repository-error] 15 (#$ . 7686)]) #@12 (fn POS) (defalias 'magit-blame-chunk-at #[257 "\300\301!\302\300\211\211\2035\211A\262\242\262\262\211\262\2035\303\304\"\211\262\2045\262\262T\262\202\266\207" [nil overlays-at 0 overlay-get magit-blame-chunk] 10 (#$ . 8570)]) #@26 (fn &optional POS KEY) (defalias 'magit-blame--overlay-at #[512 "\204`\262\300\301!\302\211\"\244\303\300\211\211\203J\211A\262\242\262\262\211\262\203J\304\2062\305\"\203=\300\262\203J\262\262T\262\202\266\207" [nil overlays-at overlays-in 0 overlay-get magit-blame-chunk] 11 (#$ . 8830)]) #@125 Keymap for `magit-blame-mode'. Note that most blaming key bindings are defined in `magit-blame-read-only-mode-map' instead. (defvar magit-blame-mode-map (byte-code "\300 \301\302\303#\210\207" [make-sparse-keymap define-key "" magit-blame-quit] 5) (#$ . 9163)) #@42 Keymap for `magit-blame-read-only-mode'. (defvar magit-blame-read-only-mode-map (byte-code "\300 \301\302\303#\210\301\304\305#\210\301\306\307#\210\301\310\311#\210\301\312\313#\210\301\314\315#\210\301\316\317#\210\301\320\321#\210\301\322\323#\210\301\324\325#\210\301\326\327#\210\301\330\331#\210\301\332\333#\210\301\334\335#\210\301\336\335#\210\207" [make-sparse-keymap define-key " " magit-show-commit "p" magit-blame-previous-chunk "P" magit-blame-previous-chunk-same-commit "n" magit-blame-next-chunk "N" magit-blame-next-chunk-same-commit "b" magit-blame-addition "r" magit-blame-removal "f" magit-blame-reverse "B" magit-blame "c" magit-blame-cycle-style "q" magit-blame-quit [134217847] magit-blame-copy-hash " " magit-diff-show-or-scroll-up [33554464] magit-diff-show-or-scroll-down ""] 5) (#$ . 9433)) (defvar magit-blame-buffer-read-only nil nil) (make-variable-buffer-local 'magit-blame-buffer-read-only) (defvar magit-blame-cache nil nil) (make-variable-buffer-local 'magit-blame-cache) (defvar magit-blame-disabled-modes nil nil) (make-variable-buffer-local 'magit-blame-disabled-modes) (defvar magit-blame-process nil nil) (make-variable-buffer-local 'magit-blame-process) (defvar magit-blame-recursive-p nil nil) (make-variable-buffer-local 'magit-blame-recursive-p) (defvar magit-blame-type nil nil) (make-variable-buffer-local 'magit-blame-type) (defvar magit-blame-separator nil nil) (make-variable-buffer-local 'magit-blame-separator) (defvar magit-blame-previous-chunk nil nil) (make-variable-buffer-local 'magit-blame-previous-chunk) (defvar magit-blame--style nil nil) (make-variable-buffer-local 'magit-blame--style) #@12 (fn KEY) (defalias 'magit-blame--style-get #[257 "\301A\"A\207" [magit-blame--style assoc] 4 (#$ . 11102)]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put magit-blame--style-get speed -1 put byte-optimizer byte-compile-inline-expand] 5) #@101 Non-nil if Magit-Blame mode is enabled. Use the command `magit-blame-mode' to change this variable. (defvar magit-blame-mode nil (#$ . 11369)) (make-variable-buffer-local 'magit-blame-mode) #@591 Display blame information inline. This is a minor mode. If called interactively, toggle the `Magit-Blame mode' mode. If the prefix argument is positive, enable the mode, and if it is zero or negative, disable the mode. If called from Lisp, toggle the mode if ARG is `toggle'. Enable the mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, evaluate `magit-blame-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. (fn &optional ARG) (defalias 'magit-blame-mode #[256 "\306 \307=\203 ?\202\247\203\310W\203\311\202\312\313\301!\2031\314\300 \"\2031\300 B\203\253\315\316!\203A\311\317\320!\210\321\322\323\312\211$\210\321\324\325\312\211$\210\321\326\327\312\211$\210\321\330\323\312\211$\210\321\331\332\312\211$\210\n\f\204n \203r\333\310!\2103\211\203\226\211@\313!\203\217\211J\203\217\211\334!\210\211&B&A\266\202\202t\210\335 4(\204\2455@(\336 \210\202\3376!\203\303\3406!\2106\203\303\341\342!\210\202\267\343\322\323\312#\210\343\324\325\312#\210\343\326\327\312#\210\343\330\323\312#\210\343\331\332\312#\210 \204\351\333\334!\210\344\334!\210&\211\203\211@\211\310!\210A\266\202\202\357\210\345\346!\210\345\347!\210\345\350!\210\336 \210\327 \210\351\352\203\353\202\354\"\210\315\316!\203@\306 \2032\211\306 \232\203@\355\356\203<\357\202=\360\361#\210\210\362 \210\207" [magit-blame-mode local-minor-modes buffer-read-only magit-blame-buffer-read-only magit-blame-read-only magit-buffer-file-name current-message toggle 1 nil t boundp delq called-interactively-p any user-error "Don't call `magit-blame-mode' directly; instead use `magit-blame'" add-hook after-save-hook magit-blame--refresh post-command-hook magit-blame-goto-chunk-hook before-revert-hook magit-blame--remove-overlays after-revert-hook read-only-mode-hook magit-blame-toggle-read-only read-only-mode -1 magit-blame--format-separator magit-blame--update-margin process-live-p kill-process sit-for 0.01 remove-hook magit-blame-read-only-mode kill-local-variable magit-blame-disabled-modes magit-blame-type magit-blame--style run-hooks magit-blame-mode-hook magit-blame-mode-on-hook magit-blame-mode-off-hook message "Magit-Blame mode %sabled%s" "en" "dis" " in current buffer" force-mode-line-update magit-blame-disable-modes magit-blame-separator magit-blame-styles magit-blame-process] 7 (#$ . 11566) (byte-code "\203\n\301!\202 \302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)]) (defvar magit-blame-mode-hook nil) (byte-code "\301\302N\204\f\303\301\302\304#\210\303\301\305\306#\210\303\301\307\310C#\210\311\312\313\314\300!\205#\310\211%\207" [magit-blame-mode-map magit-blame-mode-hook variable-documentation put "Hook run after entering or leaving `magit-blame-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" custom-type hook standard-value nil add-minor-mode magit-blame-mode magit-blame-mode-lighter boundp] 6) (defalias 'magit-blame--refresh #[0 "\300\301 !\207" [magit-blame--run magit-blame-arguments] 2]) (defalias 'magit-blame-goto-chunk-hook #[0 "\301`!\302!\205\211=\204\303\304!\210\211\211\207" [magit-blame-previous-chunk magit-blame-chunk-at magit-blame-chunk--eieio-childp run-hooks magit-blame-goto-chunk-hook] 3]) (defalias 'magit-blame-toggle-read-only #[0 "\301\203 \302\202\n\303!\207" [buffer-read-only magit-blame-read-only-mode 1 -1] 2]) #@121 Non-nil if Magit-Blame-Read-Only mode is enabled. Use the command `magit-blame-read-only-mode' to change this variable. (defvar magit-blame-read-only-mode nil (#$ . 15161)) (make-variable-buffer-local 'magit-blame-read-only-mode) #@1039 Provide keybindings for Magit-Blame mode. This is a minor mode. If called interactively, toggle the `Magit-Blame-Read-Only mode' mode. If the prefix argument is positive, enable the mode, and if it is zero or negative, disable the mode. If called from Lisp, toggle the mode if ARG is `toggle'. Enable the mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, evaluate `magit-blame-read-only-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. This minor-mode provides the key bindings for Magit-Blame mode, but only when Read-Only mode is also enabled because these key bindings would otherwise conflict badly with regular bindings. When both Magit-Blame mode and Read-Only mode are enabled, then this mode gets automatically enabled too and when one of these modes is toggled, then this mode also gets toggled automatically. \{magit-blame-read-only-mode-map} (fn &optional ARG) (defalias 'magit-blame-read-only-mode #[256 "\302 \303=\203 ?\202\247\203\304W\203\305\202\306\307\301!\2031\310\300 \"\2031\300 B\311\312\203;\313\202<\314\"\210\315\316!\203^\302 \203P\211\302 \232\203^\317\320\203Z\321\202[\322\323#\210\210\324 \210\207" [magit-blame-read-only-mode local-minor-modes current-message toggle 1 nil t boundp delq run-hooks magit-blame-read-only-mode-hook magit-blame-read-only-mode-on-hook magit-blame-read-only-mode-off-hook called-interactively-p any message "Magit-Blame-Read-Only mode %sabled%s" "en" "dis" " in current buffer" force-mode-line-update] 6 (#$ . 15399) (byte-code "\203\n\301!\202 \302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)]) (defvar magit-blame-read-only-mode-hook nil) (byte-code "\301\302N\204\f\303\301\302\304#\210\303\301\305\306#\210\303\301\307\310C#\210\311\312\310\313\300!\205#\310\211%\207" [magit-blame-read-only-mode-map magit-blame-read-only-mode-hook variable-documentation put "Hook run after entering or leaving `magit-blame-read-only-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" custom-type hook standard-value nil add-minor-mode magit-blame-read-only-mode boundp] 6) #@82 Put `magit-blame-read-only-mode' ahead of `view-mode' in `minor-mode-map-alist'. (defalias 'magit-blame-put-keymap-before-view-mode #[0 "\301\302\303\304\305$\236\211\203\211\306\"B\210\307\310\311\"\207" [minor-mode-map-alist magit-blame-read-only-mode cl-member view-mode :key car delq remove-hook view-mode-hook magit-blame-put-keymap-before-view-mode] 6 (#$ . 17728)]) (add-hook 'view-mode-hook 'magit-blame-put-keymap-before-view-mode) #@13 (fn ARGS) (defalias 'magit-blame--run #[257 "\306 \211\203A\211 \204\301\307!\210\310\311!\210\312\n\206 \313\314\f?\" \315>\203+\316B\202,\317\320 !\317\321\314\322\"S!D$\210\323\324\")\207\325 \207" [default-directory magit-blame-mode magit-buffer-refname magit-buffer-revision magit-buffer-file-name magit-blame-type magit-toplevel 1 message "Blaming..." magit-blame-run-process magit-file-relative-name nil (final removal) "--reverse" line-number-at-pos window-start window-end t set-process-sentinel magit-blame-process-quickstart-sentinel magit--not-inside-repository-error magit-this-process] 11 (#$ . 18181)]) #@43 (fn REVISION FILE ARGS &optional LINES) (defalias 'magit-blame-run-process #[1027 "\302\303\304\205\305\306\307\310#D\311 &\312\313\"\210\314\315\"\210\316\317E#\210\320\321\322\"\211\211\207" [magit-blame-cache magit-blame-process magit-parse-git-async "blame" "--incremental" "-L" apply format "%s,%s" "--" set-process-filter magit-blame-process-filter set-process-sentinel magit-blame-process-sentinel process-put arguments make-hash-table :test equal] 13 (#$ . 18819)]) #@22 (fn PROCESS EVENT) (defalias 'magit-blame-process-quickstart-sentinel #[514 "\302!\303>\205)\304\305#\210\306!\210r\307\310\"q\210\205(\311 \312\313\307\314\"\"))\207" [magit-blame-mode default-directory process-status (exit signal) magit-blame-process-sentinel t magit-blame-assert-buffer process-get command-buf magit-toplevel apply magit-blame-run-process arguments] 7 (#$ . 19322)]) #@38 (fn PROCESS EVENT &optional QUIET) (defalias 'magit-blame-process-sentinel #[770 "\301!\211\302>\205J\303\304!!\210\211\305=\203(\306!\307U\203(\204G\310\311!\210\202G\312!\210r\313\314\"q\210\203B\300\315!\210\310\316!\210\202F\310\317!\210)\320\321!\207" [magit-blame-mode process-status (exit signal) kill-buffer process-buffer exit process-exit-status 0 message "Blaming...done" magit-blame-assert-buffer process-get command-buf -1 "Blaming...failed" "Blaming...aborted" kill-local-variable magit-blame-process] 7 (#$ . 19727)]) #@23 (fn PROCESS STRING) (defalias 'magit-blame-process-filter #[514 "\302\"\210\303\304\"\303\305\"\306!\307\211rq\210\262 \262)r\310!q\210b\210`W\205z\212\311\312\307\313#)\205z\314!\211\242\243\211\242\243\315\316\"\203V\317 #\210\202h\320\n\"\206f\317\321! #\262\322 #\266 \323\305`#\210\202')\207" [magit-blame-type magit-blame-cache internal-default-process-filter process-get command-buf parsed process-mark nil process-buffer re-search-forward "^filename .+\n" t magit-blame--parse-chunk eieio-oref orig-rev puthash gethash magit-blame--commit-alist magit-blame--make-overlays process-put] 19 (#$ . 20282)]) #@13 (fn TYPE) (defalias 'magit-blame--parse-chunk #[257 "\300\211\301\302!\204\303\304\305`\306 \"\"\210\307\310\311\312!\313\314\311\315!!\316\314\311\317!!\320\314\311\321!!&\211\262\300y\210\300\211\204\203\301\322!\203M\323\262\324\325\326\311\312!!#\266\202}\301\327!\203l\324\330\311\312!#\266\324\331\326\311\315!!#\266\202}\301\332!\203}\311\312!\311\315!BB\262\300y\210\2021\210\333=\203\302\334\330\"\203\302\211\324\335\334\330\"\324\330\334\n\335\"#\266#\266\211\324\325\334\331\"\324\331\334\n\325\"#\266#\266\300\262\210D\207" [nil looking-at "^\\(.\\{40\\}\\) \\([0-9]+\\) \\([0-9]+\\) \\([0-9]+\\)" error "Blaming failed due to unexpected output: %s" buffer-substring-no-properties line-end-position magit-blame-chunk :orig-rev match-string 1 :orig-line string-to-number 2 :final-line 3 :num-lines 4 "^filename \\(.+\\)" t eieio-oset orig-file magit-decode-git-path "^previous \\(.\\{40\\}\\) \\(.+\\)" prev-rev prev-file "^\\([^ ]+\\) \\(.+\\)" removal slot-value orig-rev] 16 (#$ . 20941)]) #@12 (fn REV) (defalias 'magit-blame--commit-alist #[257 "\300\301\302\303\304\305\306#\307\"#\207" [cl-mapcar cons ("summary" "author" "author-time" "author-tz" "committer" "committer-time" "committer-tz") split-string magit-rev-format "%s %an %ad %cn %cd" "--date=format:%s %z" " "] 9 (#$ . 21998)]) #@16 (fn PROCESS) (defalias 'magit-blame-assert-buffer #[257 "\300\301\302\"!?\205\303!\210\304\305!\207" [buffer-live-p process-get command-buf kill-process user-error "Buffer being blamed has been killed"] 5 (#$ . 22305)]) #@26 (fn BUF CHUNK REVINFO) (defalias 'magit-blame--make-overlays #[771 "rq\210\212\214~\210eb\210\300\301\"Sy\210`\212\300\302\"y\210`)\303\"\210\304$\210\305$\210\306\"\266\202+\207" [eieio-oref final-line num-lines magit-blame--remove-overlays magit-blame--make-margin-overlays magit-blame--make-heading-overlay magit-blame--make-highlight-overlay] 10 (#$ . 22537)]) #@30 (fn CHUNK REVINFO BEG END) (defalias 'magit-blame--make-margin-overlays #[1028 "\212\300`W\205\301#\210\302y\210\211T\262\202\262)\207" [0 magit-blame--make-margin-overlay nil] 9 (#$ . 22925)]) #@27 (fn CHUNK REVINFO LINE) (defalias 'magit-blame--make-margin-overlay #[771 "\300 \301 T^\302\"\303\304#\210\303\305#\210\303\306#\210\307!\207" [line-end-position line-beginning-position make-overlay overlay-put magit-blame-chunk magit-blame-revinfo magit-blame-margin magit-blame--update-margin-overlay] 10 (#$ . 23137)]) #@30 (fn CHUNK REVINFO BEG END) (defalias 'magit-blame--make-heading-overlay #[1028 "\300\"\301\302#\210\301\303#\210\301\304\305#\210\306!\207" [make-overlay overlay-put magit-blame-chunk magit-blame-revinfo magit-blame-heading t magit-blame--update-heading-overlay] 9 (#$ . 23480)]) #@18 (fn CHUNK BEG) (defalias 'magit-blame--make-highlight-overlay #[514 "\300\301 T\"\302\303#\210\302\304\305#\210\306!\207" [make-overlay line-end-position overlay-put magit-blame-chunk magit-blame-highlight t magit-blame--update-highlight-overlay] 7 (#$ . 23778)]) (defalias 'magit-blame--update-margin #[0 "\302\303A\"A\262\206 \304\305\306 p\"\207" [magit-blame--style left-margin-width margin-width assoc 0 set-window-buffer selected-window] 4]) (defalias 'magit-blame--update-overlays #[0 "\214~\210\300ed\"\211\205;\211@\301\302\"\203\303!\210\2024\301\304\"\203)\305!\210\2024\301\306\"\2034\307!\210A\266\202\202\262)\207" [overlays-in overlay-get magit-blame-heading magit-blame--update-heading-overlay magit-blame-margin magit-blame--update-margin-overlay magit-blame-highlight magit-blame--update-highlight-overlay] 5]) #@11 (fn OV) (defalias 'magit-blame--update-margin-overlay #[257 "\301\302\303\304A\"A\262\205^\305\306\307\310\311D\312\313\"\314\304A\"A\262\315\304A\"A\262\316 :\2048\206B8\206B\317!@\320U\204T\321\304A\"A\262\206Y\206Y\313#\266\203D##\207" [magit-blame--style overlay-put before-string margin-width assoc propertize "o" display margin left-margin overlay-get magit-blame-margin margin-format margin-face magit-blame--format-string last 0 margin-body-face] 18 (#$ . 24642)]) #@11 (fn OV) (defalias 'magit-blame--update-heading-overlay #[257 "\302\303\304\305A\"A\262\211\203\306\307#\202@\310\305A\"A\262\205@\311\305A\"A\262\203?\212\312!b\210`\313 U)?\205@ \262#\207" [magit-blame--style magit-blame-separator overlay-put before-string heading-format assoc magit-blame--format-string magit-blame-heading show-lines margin-format overlay-start line-end-position] 9 (#$ . 25153)]) #@11 (fn OV) (defalias 'magit-blame--update-highlight-overlay #[257 "\301\302\303\304A\"A\262#\207" [magit-blame--style overlay-put font-lock-face highlight-face assoc] 8 (#$ . 25582)]) #@23 (fn OV FORMAT FACE) (defalias 'magit-blame--format-string #[771 "\300\301\"\300\302\"D\303\"A\211\204,\205#\304\305\306\"$\262BC\244\210\207" [overlay-get magit-blame-chunk magit-blame-revinfo assoc magit-blame--format-string-1 eieio-oref orig-rev] 12 (#$ . 25775)]) #@32 (fn REV REVINFO FORMAT FACE) (defalias 'magit-blame--format-string-1 #[1028 "\301\232\203(\302\303\304\"\203\304\202\305\306\307\310\"\203 \310\202!\305Q\311#\202~\312\302\311#\313\314\"\315\316\317\n\320\"B\321\n\322\323$B\324 \325\326$B\327\f\330\326$B\331  \332\333\334%B\335\n\336\337\334%B\340BBBBBB\262\262\262\"\307\341\"\205\216\342\343A\"A\262\211\203\244\302\344\345GZ]\346\"\311#P\207\207" [magit-blame--style "0000000000000000000000000000000000000000" propertize string-prefix-p " " #1="" "Not Yet Committed" string-suffix-p "\n" font-lock-face magit--format-spec make-closure #[514 "\301\302\300\203\300<\203\300\202\300D\202#\207" [V0 propertize font-lock-face] 7 "\n\n(fn S F)"] #[1028 "\300\"A\"\207" [assoc] 8 "\n\n(fn REVINFO --CL-P0-- K F)"] #[1285 "\300\301\"A\301 \"A\"\"\207" [magit-blame--format-time-string assoc] 11 "\n\n(fn REVINFO --CL-P0-- K1 K2 F)"] 72 magit-blame-hash 115 "summary" magit-blame-summary 97 "author" magit-blame-name 99 "committer" 65 "author-time" "author-tz" magit-blame-date 67 "committer-time" "committer-tz" ((102 . #1#)) "%f" margin-width assoc make-string 0 32] 21 (#$ . 26069)]) (defalias 'magit-blame--format-separator #[0 "\301\211\302\303\304#\301\305\306\307#P\310\311\312\313\311\314\307$\315Y\205\316BB#\207" [emacs-major-version propertize " " display (space :height (2)) "\n" line-height t font-lock-face :background face-attribute magit-blame-heading nil 27 (:extend t)] 9]) #@16 (fn TIME TZ) (defalias 'magit-blame--format-time-string #[514 "\302\303A\"A\262\206 \304\305\"\205\306\307!!@\310\311\312!!#\207" [magit-blame--style magit-blame-time-format time-format assoc string-match "%z" last parse-time-string format-time-string seconds-to-time string-to-number] 9 (#$ . 27594)]) #@26 (fn &optional BEG END) (defalias 'magit-blame--remove-overlays #[512 "\214~\210\300\206 e\206d\"\211\205'\211@\301\302\"\203 \303!\210A\266\202\202\262)\207" [overlays-in overlay-get magit-blame-chunk delete-overlay] 7 (#$ . 27918)]) (defalias 'magit-blame-maybe-show-message #[0 "\303\304A\"A\262\2052\305\304\306\307\310\311 \312\"\n\"\"A\211\203,\313\305G\314$\210\315!\202/\315\316!\262)\207" [magit-blame--style message-log-max magit-blame-cache show-message assoc 0 "summary" gethash eieio-oref magit-current-blame-chunk orig-rev set-text-properties nil message "Commit data not available yet. Still blaming."] 6]) #@13 (fn ARGS) (defalias 'magit-blame-echo #[257 "\203\306\307!\210\310\303!\210 \n\236\310\304!\210\311\fB \204,\312\313\314!\210\315\314!\210\316!)\207\317\320!\210\321 \207" [magit-buffer-file-name magit-blame-echo-style magit-blame-styles magit-blame--style magit-blame-disable-modes magit-blame-mode user-error "Blob buffers aren't supported" make-local-variable eldoc-mode nil magit-blame--pre-blame-assert addition magit-blame--pre-blame-setup magit-blame--run read-only-mode -1 magit-blame--update-overlays magit-blame-read-only] 3 (#$ . 28572) (byte-code "\300 C\207" [magit-blame-arguments] 1)]) (byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\311\312$#\207" [put magit-blame-echo interactive-only t function-documentation "For each line show the revision in which it was added.\nShow the information about the chunk at point in the echo area\nwhen moving between chunks. Unlike other blaming commands, do\nnot turn on `read-only-mode'." transient--suffix transient-suffix :command :if #[0 "\205\n ?\206\n\n\207" [buffer-file-name magit-blame-mode buffer-read-only] 1]] 8) #@13 (fn ARGS) (defalias 'magit-blame-addition #[257 "\300\301!\210\302\301!\210\303!\207" [magit-blame--pre-blame-assert addition magit-blame--pre-blame-setup magit-blame--run] 3 (#$ . 29702) (byte-code "\300 C\207" [magit-blame-arguments] 1)]) (byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\"#\207" [put magit-blame-addition interactive-only t function-documentation "For each line show the revision in which it was added." transient--suffix transient-suffix :command] 6) #@13 (fn ARGS) (defalias 'magit-blame-removal #[257 "\204\301\302!\210\303\304!\210\305\304!\210\306!\207" [magit-buffer-file-name user-error "Only blob buffers can be blamed in reverse" magit-blame--pre-blame-assert removal magit-blame--pre-blame-setup magit-blame--run] 3 (#$ . 30212) (byte-code "\300 C\207" [magit-blame-arguments] 1)]) (byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\311\312$#\207" [put magit-blame-removal interactive-only t function-documentation "For each line show the revision in which it was removed." transient--suffix transient-suffix :command :if-nil buffer-file-name] 8) #@13 (fn ARGS) (defalias 'magit-blame-reverse #[257 "\204\301\302!\210\303\304!\210\305\304!\210\306!\207" [magit-buffer-file-name user-error "Only blob buffers can be blamed in reverse" magit-blame--pre-blame-assert final magit-blame--pre-blame-setup magit-blame--run] 3 (#$ . 30852) (byte-code "\300 C\207" [magit-blame-arguments] 1)]) (byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\311\312$#\207" [put magit-blame-reverse interactive-only t function-documentation "For each line show the last revision in which it still exists." transient--suffix transient-suffix :command :if-nil buffer-file-name] 8) #@13 (fn TYPE) (defalias 'magit-blame--pre-blame-assert #[257 "\304 \204\305 \210\203(\211 =\203(\306 \211\203$\307\310\"?\205'\311\312!\207\311\313!\207\314\315\n?\"?\205< \2039\311\316!\207\311\317!\207" [magit-blame-mode magit-blame-type magit-buffer-file-name buffer-file-name magit-toplevel magit--not-inside-repository-error magit-current-blame-chunk eieio-oref prev-rev user-error "Chunk has no further history" "Commit data not available yet. Still blaming." magit-file-relative-name nil "Buffer isn't visiting a tracked file" "Buffer isn't visiting a file"] 5 (#$ . 31496)]) #@13 (fn TYPE) (defalias 'magit-blame--pre-blame-setup #[257 "\203$\211 =\203!\n\304 \210\305\302!\210\211\305\303!\210\306\307 \266\202$\310 \210\211\211\207" [magit-blame-mode magit-blame-type magit-blame--style magit-blame-recursive-p magit-blame-visit-other-file make-local-variable t redisplay magit-blame--remove-overlays] 4 (#$ . 32094)]) #@50 Visit another blob related to the current chunk. (defalias 'magit-blame-visit-other-file #[0 "\301 \302\303\"\204 \304\305!\210\306 \211\203%\211\307\302\303\"\302\310\"\"\210)\210\202)\311 \266eb\210\302\312\"Sy\207" [default-directory magit-current-blame-chunk slot-value prev-rev user-error "Chunk has no further history" magit-toplevel magit-find-file prev-file magit--not-inside-repository-error orig-line] 7 (#$ . 32451) nil]) #@46 Visit the blob related to the current chunk. (defalias 'magit-blame-visit-file #[0 "\301 \302 \211\203\211\303\304\305\"\304\306\"\"\210)\210\202\307 \266eb\210\304\310\"Sy\207" [default-directory magit-current-blame-chunk magit-toplevel magit-find-file slot-value orig-rev orig-file magit--not-inside-repository-error orig-line] 7 (#$ . 32899) nil]) (defalias 'magit-blame-quit #[0 "\301\302!\210\205\n\303 \207" [magit-blame-recursive-p magit-blame-mode -1 kill-buffer] 2 nil nil]) (byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\311\312$#\207" [put magit-blame-quit interactive-only t function-documentation "Turn off Magit-Blame mode.\nIf the buffer was created during a recursive blame,\nthen also kill the buffer." transient--suffix transient-suffix :command :if-non-nil magit-blame-mode] 8) #@25 Move to the next chunk. (defalias 'magit-blame-next-chunk #[0 "\300`\301\"\211\203 \211b\207\302\303!\207" [next-single-char-property-change magit-blame-chunk user-error "No more chunks"] 3 (#$ . 33745) nil]) #@29 Move to the previous chunk. (defalias 'magit-blame-previous-chunk #[0 "\300`\301\"\211\203 \211b\207\302\303!\207" [previous-single-char-property-change magit-blame-chunk user-error "No more chunks"] 3 (#$ . 33961) nil]) #@52 Move to the next chunk from the same commit. (fn) (defalias 'magit-blame-next-chunk-same-commit #[256 "\300\301 \302\"\211\203W`\303\212\211\204I\203e\202dU\204I\203&\304\202'\305\306\"\211\262\203I\307!\211\203E\300\310!\302\"\232\203E\211\262\210\202\f)\211\203S\311!b\207\312\313!\207\312\314!\207" [eieio-oref magit-current-blame-chunk orig-rev nil previous-single-char-property-change next-single-char-property-change magit-blame-chunk magit-blame--overlay-at magit-blame-chunk-at overlay-start user-error "No more chunks from same commit" "This chunk hasn't been blamed yet"] 8 (#$ . 34189) nil]) #@50 Move to the previous chunk from the same commit. (defalias 'magit-blame-previous-chunk-same-commit #[0 "\300\301!\207" [magit-blame-next-chunk-same-commit previous-single-char-property-change] 2 (#$ . 34823) nil]) #@104 Change how blame information is visualized. Cycle through the elements of option `magit-blame-styles'. (defalias 'magit-blame-cycle-style #[0 "\302@ \303\304$A@\206 @\305 \210\306 \207" [magit-blame--style magit-blame-styles cl-member :key car magit-blame--update-margin magit-blame--update-overlays] 5 (#$ . 35044) nil]) #@168 Save hash of the current chunk's commit to the kill ring. When the region is active, then save the region's content instead of the hash, like `kill-ring-save' would. (defalias 'magit-blame-copy-hash #[0 "\300 \203 \301\302!\207\303\304\305\306\307 \310\"\"!\207" [use-region-p call-interactively copy-region-as-kill kill-new message "%s" eieio-oref magit-current-blame-chunk orig-rev] 6 (#$ . 35377) nil]) (defalias 'magit-blame #[0 "\300\301!\207" [transient-setup magit-blame] 2 nil nil]) (byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\311\312\313\314&#\210\300\301\315\316#\207" [put magit-blame interactive-only t function-documentation "Show the commits that added or removed lines in the visited file." transient--prefix transient-prefix :command :man-page "git-blame" :value ("-w") transient--layout ([1 transient-column (:description "Arguments") ((1 transient-switch (:key "-w" :description "Ignore whitespace" :shortarg "-w" :argument "-w" :command transient:magit-blame:-w)) (1 transient-switch (:key "-r" :description "Do not treat root commits as boundaries" :argument "--root" :command transient:magit-blame:--root)) (1 transient-suffix (:command magit-blame:-M)) (1 transient-suffix (:command magit-blame:-C)))] [1 transient-column (:description "Actions") ((1 transient-suffix (:key "b" :description "Show commits adding lines" :command magit-blame-addition)) (1 transient-suffix (:key "r" :description "Show commits removing lines" :command magit-blame-removal)) (1 transient-suffix (:key "f" :description "Show last commits that still have lines" :command magit-blame-reverse)) (1 transient-suffix (:key "m" :description "Blame echo" :command magit-blame-echo)) (1 transient-suffix (:key "q" :description "Quit blaming" :command magit-blame-quit)))] [1 transient-column (:description "Refresh" :if-non-nil magit-blame-mode) ((1 transient-suffix (:key "c" :description "Cycle style" :command magit-blame-cycle-style :transient t)))])] 10) (defalias 'magit-blame-arguments #[0 "\300\301!\207" [transient-args magit-blame] 2]) (defalias 'magit-blame:-M #[0 "\300 \301\302!\"\266\303 \207" [transient-suffix-object transient-infix-set transient-infix-read transient--show] 5 nil nil]) (byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\311\312\313\314\315\316&#\207" [put magit-blame:-M interactive-only t function-documentation nil transient--suffix transient-option :command :description "Detect lines moved or copied within a file" :argument "-M" :reader transient-read-number-N+] 12) (defalias 'magit-blame:-C #[0 "\300 \301\302!\"\266\303 \207" [transient-suffix-object transient-infix-set transient-infix-read transient--show] 5 nil nil]) (byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\311\312\313\314\315\316&#\207" [put magit-blame:-C interactive-only t function-documentation nil transient--suffix transient-option :command :description "Detect lines moved or copied between files" :argument "-C" :reader transient-read-number-N+] 12) (defalias 'magit-blame-maybe-update-revision-buffer #[0 "\302 \211\205\n\303\304\"\211\205\305\306\307\310#\211\205*\203!D\211\207D\311 \307\312#\207" [magit--update-revision-buffer magit-update-other-window-delay magit-current-blame-chunk eieio-oref orig-rev magit-get-mode-buffer magit-revision-mode nil t run-with-idle-timer #[0 "\210\242\243\211\242\243\302\303!\205\304\305\306\307\310!#)\207" [magit--update-revision-buffer magit-display-buffer-noselect nil buffer-live-p t apply magit-show-commit magit-diff-arguments magit-revision-mode] 11]] 7]) (provide 'magit-blame)