From c0f1d3884566485b9d5d84298b66d11a450611a0 Mon Sep 17 00:00:00 2001 From: Andreas Gerler Date: Thu, 30 Jan 2020 14:34:33 +0100 Subject: [PATCH] update magit and magit-todos --- elpa/magit-20191030.1315/magit.info | 189 ------- .../AUTHORS.md | 6 + .../LICENSE | 0 .../dir | 0 .../git-rebase.el | 38 +- .../magit-apply.el | 2 +- .../magit-autoloads.el | 268 +++++++--- .../magit-autorevert.el | 13 +- .../magit-bisect.el | 2 +- .../magit-blame.el | 53 +- .../magit-bookmark.el | 2 +- .../magit-branch.el | 2 +- .../magit-clone.el | 8 +- .../magit-commit.el | 2 +- .../magit-core.el | 17 +- .../magit-diff.el | 208 ++++++-- .../magit-ediff.el | 4 +- .../magit-extras.el | 30 +- .../magit-fetch.el | 8 +- .../magit-files.el | 19 +- .../magit-git.el | 20 +- .../magit-gitignore.el | 4 +- .../magit-imenu.el | 2 +- .../magit-log.el | 26 +- .../magit-margin.el | 2 +- .../magit-merge.el | 4 +- .../magit-mode.el | 225 ++------ .../magit-notes.el | 2 +- .../magit-obsolete.el | 21 +- .../magit-patch.el | 4 +- .../magit-pkg.el | 2 +- .../magit-process.el | 6 +- .../magit-pull.el | 13 +- .../magit-push.el | 16 +- .../magit-reflog.el | 6 +- .../magit-refs.el | 4 +- .../magit-remote.el | 4 +- .../magit-repos.el | 9 +- .../magit-reset.el | 2 +- .../magit-section.el | 492 ++++++++++-------- .../magit-sequence.el | 15 +- .../magit-stash.el | 9 +- .../magit-status.el | 48 +- .../magit-submodule.el | 7 +- .../magit-subtree.el | 2 +- .../magit-tag.el | 2 +- .../magit-transient.el | 2 +- .../magit-utils.el | 12 +- .../magit-wip.el | 2 +- .../magit-worktree.el | 4 +- .../magit.el | 2 +- elpa/magit-20200126.1750/magit.info | 193 +++++++ .../magit.info-1 | 310 +++++------ .../magit.info-2 | 381 ++++++++------ .../magit-todos-pkg.el | 2 - .../magit-todos-autoloads.el | 11 +- .../magit-todos-pkg.el | 2 + .../magit-todos.el | 86 ++- 58 files changed, 1593 insertions(+), 1232 deletions(-) delete mode 100644 elpa/magit-20191030.1315/magit.info rename elpa/{magit-20191030.1315 => magit-20200126.1750}/AUTHORS.md (97%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/LICENSE (100%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/dir (100%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/git-rebase.el (95%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/magit-apply.el (99%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/magit-autoloads.el (89%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/magit-autorevert.el (94%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/magit-bisect.el (99%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/magit-blame.el (95%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/magit-bookmark.el (99%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/magit-branch.el (99%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/magit-clone.el (98%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/magit-commit.el (99%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/magit-core.el (87%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/magit-diff.el (94%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/magit-ediff.el (99%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/magit-extras.el (96%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/magit-fetch.el (96%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/magit-files.el (97%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/magit-git.el (99%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/magit-gitignore.el (98%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/magit-imenu.el (99%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/magit-log.el (99%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/magit-margin.el (99%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/magit-merge.el (98%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/magit-mode.el (86%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/magit-notes.el (99%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/magit-obsolete.el (87%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/magit-patch.el (98%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/magit-pkg.el (79%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/magit-process.el (99%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/magit-pull.el (94%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/magit-push.el (96%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/magit-reflog.el (98%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/magit-refs.el (99%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/magit-remote.el (99%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/magit-repos.el (98%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/magit-reset.el (98%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/magit-section.el (83%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/magit-sequence.el (98%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/magit-stash.el (98%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/magit-status.el (94%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/magit-submodule.el (99%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/magit-subtree.el (99%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/magit-tag.el (99%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/magit-transient.el (99%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/magit-utils.el (99%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/magit-wip.el (99%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/magit-worktree.el (98%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/magit.el (99%) create mode 100644 elpa/magit-20200126.1750/magit.info rename elpa/{magit-20191030.1315 => magit-20200126.1750}/magit.info-1 (97%) rename elpa/{magit-20191030.1315 => magit-20200126.1750}/magit.info-2 (96%) delete mode 100644 elpa/magit-todos-20190907.1321/magit-todos-pkg.el rename elpa/{magit-todos-20190907.1321 => magit-todos-20200128.828}/magit-todos-autoloads.el (78%) create mode 100644 elpa/magit-todos-20200128.828/magit-todos-pkg.el rename elpa/{magit-todos-20190907.1321 => magit-todos-20200128.828}/magit-todos.el (95%) diff --git a/elpa/magit-20191030.1315/magit.info b/elpa/magit-20191030.1315/magit.info deleted file mode 100644 index 2bfc779c..00000000 --- a/elpa/magit-20191030.1315/magit.info +++ /dev/null @@ -1,189 +0,0 @@ -This is magit.info, produced by makeinfo version 6.5 from magit.texi. - - Copyright (C) 2015-2019 Jonas Bernoulli - - You can redistribute this document and/or modify it under the terms - of the GNU General Public License as published by the Free Software - Foundation, either version 3 of the License, or (at your option) - any later version. - - This document is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - -INFO-DIR-SECTION Emacs -START-INFO-DIR-ENTRY -* Magit: (magit). Using Git from Emacs with Magit. -END-INFO-DIR-ENTRY - - -Indirect: -magit.info-1: 754 -magit.info-2: 302342 - -Tag Table: -(Indirect) -Node: Top754 -Node: Introduction6474 -Node: Installation11197 -Node: Installing from Melpa11527 -Node: Installing from the Git Repository12600 -Node: Post-Installation Tasks14948 -Node: Getting Started16233 -Node: Interface Concepts21682 -Node: Modes and Buffers22043 -Node: Switching Buffers23792 -Node: Naming Buffers28562 -Node: Quitting Windows31869 -Node: Automatic Refreshing of Magit Buffers33615 -Node: Automatic Saving of File-Visiting Buffers36467 -Node: Automatic Reverting of File-Visiting Buffers37652 -Node: Risk of Reverting Automatically42647 -Node: Sections45029 -Node: Section Movement45955 -Node: Section Visibility50516 -Node: Section Hooks56593 -Node: Section Types and Values59000 -Node: Section Options60303 -Node: Transient Commands60775 -Node: Transient Arguments and Buffer Variables62012 -Node: Completion Confirmation and the Selection69030 -Node: Action Confirmation69474 -Node: Completion and Confirmation76824 -Node: The Selection80010 -Node: The hunk-internal region82909 -Node: Support for Completion Frameworks83998 -Node: Additional Completion Options88905 -Node: Running Git89504 -Node: Viewing Git Output89777 -Node: Git Process Status90910 -Node: Running Git Manually91875 -Node: Git Executable94345 -Node: Global Git Arguments96627 -Node: Inspecting97433 -Node: Status Buffer98590 -Node: Status Sections102580 -Node: Status Header Sections108132 -Node: Status Module Sections110762 -Node: Status Options113267 -Node: Repository List115142 -Node: Logging118180 -Node: Refreshing Logs120743 -Node: Log Buffer122189 -Node: Log Margin126045 -Node: Select from Log129224 -Node: Reflog131449 -Node: Cherries133106 -Node: Diffing134954 -Node: Refreshing Diffs138035 -Node: Commands Available in Diffs141614 -Node: Diff Options144149 -Node: Revision Buffer149186 -Node: Ediffing152516 -Node: References Buffer156164 -Node: References Sections166684 -Node: Bisecting167545 -Node: Visiting Files and Blobs169358 -Node: General-Purpose Visit Commands169828 -Node: Visiting Files and Blobs from a Diff170784 -Node: Blaming174243 -Node: Manipulating180806 -Node: Creating Repository181148 -Node: Cloning Repository181703 -Node: Staging and Unstaging186946 -Node: Staging from File-Visiting Buffers191029 -Node: Applying192197 -Node: Committing194090 -Node: Initiating a Commit194673 -Node: Editing Commit Messages198058 -Node: Branching208450 -Node: The Two Remotes208676 -Node: Branch Commands211329 -Node: Branch Git Variables223713 -Node: Auxiliary Branch Commands229104 -Node: Merging230222 -Node: Resolving Conflicts234230 -Node: Rebasing239231 -Node: Editing Rebase Sequences244241 -Node: Information About In-Progress Rebase248569 -Ref: Information About In-Progress Rebase-Footnote-1257451 -Node: Cherry Picking258047 -Node: Reverting262378 -Node: Resetting263827 -Node: Stashing265481 -Node: Transferring270182 -Node: Remotes270404 -Node: Remote Commands270556 -Node: Remote Git Variables274637 -Node: Fetching277016 -Node: Pulling279370 -Node: Pushing280563 -Node: Plain Patches284171 -Node: Maildir Patches285662 -Node: Miscellaneous287176 -Node: Tagging287492 -Node: Notes289420 -Node: Submodules291792 -Node: Listing Submodules292010 -Node: Submodule Transient293938 -Node: Subtree296460 -Node: Worktree298436 -Node: Common Commands299541 -Node: Wip Modes302342 -Node: Wip Graph307275 -Node: Legacy Wip Modes309589 -Node: Minor Mode for Buffers Visiting Files312484 -Node: Minor Mode for Buffers Visiting Blobs319585 -Node: Customizing320398 -Node: Per-Repository Configuration321994 -Node: Essential Settings323643 -Node: Safety323967 -Node: Performance325732 -Node: Microsoft Windows Performance332449 -Node: MacOS Performance333640 -Ref: MacOS Performance-Footnote-1334345 -Node: Plumbing334427 -Node: Calling Git335256 -Node: Getting a Value from Git336781 -Node: Calling Git for Effect339867 -Node: Section Plumbing346387 -Node: Creating Sections346615 -Node: Section Selection350515 -Node: Matching Sections352314 -Node: Refreshing Buffers358287 -Node: Conventions361435 -Node: Theming Faces361627 -Node: FAQ369742 -Node: FAQ - How to ...?370184 -Node: How to show git's output?370544 -Node: How to install the gitman info manual?371298 -Node: How to show diffs for gpg-encrypted files?372268 -Node: How does branching and pushing work?372864 -Node: Can Magit be used as ediff-version-control-package?373227 -Node: FAQ - Issues and Errors375216 -Node: Magit is slow376148 -Node: I changed several thousand files at once and now Magit is unusable376362 -Node: I am having problems committing377091 -Node: I am using MS Windows and cannot push with Magit377572 -Node: I am using OS X and SOMETHING works in shell but not in Magit378189 -Node: Diffs contain control sequences378995 -Node: Expanding a file to show the diff causes it to disappear380108 -Node: Point is wrong in the COMMIT_EDITMSG buffer380659 -Node: The mode-line information isn't always up-to-date381705 -Node: A branch and tag sharing the same name breaks SOMETHING382787 -Node: My Git hooks work on the command-line but not inside Magit383675 -Node: git-commit-mode isn't used when committing from the command-line384521 -Node: Point ends up inside invisible text when jumping to a file-visiting buffer386788 -Node: Debugging Tools387586 -Node: Keystroke Index389473 -Node: Command Index423260 -Node: Function Index460088 -Node: Variable Index476307 - -End Tag Table - - -Local Variables: -coding: utf-8 -End: diff --git a/elpa/magit-20191030.1315/AUTHORS.md b/elpa/magit-20200126.1750/AUTHORS.md similarity index 97% rename from elpa/magit-20191030.1315/AUTHORS.md rename to elpa/magit-20200126.1750/AUTHORS.md index 52a4e4da..84141597 100644 --- a/elpa/magit-20191030.1315/AUTHORS.md +++ b/elpa/magit-20200126.1750/AUTHORS.md @@ -42,6 +42,7 @@ Contributors - Aaron Madlon-Kay - Abdo Roig-Maranges - Adam Benanti <0entropy@protonmail.com> +- Adam Kruszewski - Adam Porter - Adam Spiers - Adeodato Simó @@ -70,6 +71,7 @@ Contributors - Andy Sawyer - Aria Edmonds - Arialdo Martini +- Arnau Roig Ninerola - Barak A. Pearlmutter - Bar Magal - Bart Bakker @@ -96,6 +98,7 @@ Contributors - Christian Kluge - Christophe Junke - Christopher Monsanto +- Clément Pit-Claudel - Cornelius Mika - Craig Andera - Dale Hagglund @@ -202,6 +205,7 @@ Contributors - Louis Roché - Luís Oliveira - Luke Amdor +- Magnus Malm - Mak Kolybabi - Manuel Vázquez Acosta - Marcel Wolf @@ -273,6 +277,7 @@ Contributors - Richard Kim - Robert Boone - Robin Green +- Roey Darwish Dror - Roger Crew - Romain Francoise - Ron Parker @@ -320,6 +325,7 @@ Contributors - Tom Feist - Topi Miettinen - Troy Hinckley +- Tsuyoshi Kitamoto - Tunc Uzlu - Vineet Naik - Vitaly Ostashov diff --git a/elpa/magit-20191030.1315/LICENSE b/elpa/magit-20200126.1750/LICENSE similarity index 100% rename from elpa/magit-20191030.1315/LICENSE rename to elpa/magit-20200126.1750/LICENSE diff --git a/elpa/magit-20191030.1315/dir b/elpa/magit-20200126.1750/dir similarity index 100% rename from elpa/magit-20191030.1315/dir rename to elpa/magit-20200126.1750/dir diff --git a/elpa/magit-20191030.1315/git-rebase.el b/elpa/magit-20200126.1750/git-rebase.el similarity index 95% rename from elpa/magit-20191030.1315/git-rebase.el rename to elpa/magit-20200126.1750/git-rebase.el index af3824e3..4ca8e9b5 100644 --- a/elpa/magit-20191030.1315/git-rebase.el +++ b/elpa/magit-20200126.1750/git-rebase.el @@ -1,6 +1,6 @@ ;;; git-rebase.el --- Edit Git rebase files -*- lexical-binding: t -*- -;; Copyright (C) 2010-2019 The Magit Project Contributors +;; Copyright (C) 2010-2020 The Magit Project Contributors ;; ;; You should have received a copy of the AUTHORS.md file which ;; lists all contributors. If not, see http://magit.vc/authors. @@ -152,23 +152,14 @@ (defvar git-rebase-mode-map (let ((map (make-sparse-keymap))) (set-keymap-parent map special-mode-map) - (cond ((featurep 'jkl) - (define-key map [return] 'git-rebase-show-commit) - (define-key map (kbd "i") 'git-rebase-backward-line) - (define-key map (kbd "k") 'forward-line) - (define-key map (kbd "M-i") 'git-rebase-move-line-up) - (define-key map (kbd "M-k") 'git-rebase-move-line-down) - (define-key map (kbd "p") 'git-rebase-pick) - (define-key map (kbd ",") 'git-rebase-kill-line)) - (t - (define-key map (kbd "C-m") 'git-rebase-show-commit) - (define-key map (kbd "p") 'git-rebase-backward-line) - (define-key map (kbd "n") 'forward-line) - (define-key map (kbd "M-p") 'git-rebase-move-line-up) - (define-key map (kbd "M-n") 'git-rebase-move-line-down) - (define-key map (kbd "c") 'git-rebase-pick) - (define-key map (kbd "k") 'git-rebase-kill-line) - (define-key map (kbd "C-k") 'git-rebase-kill-line))) + (define-key map (kbd "C-m") 'git-rebase-show-commit) + (define-key map (kbd "p") 'git-rebase-backward-line) + (define-key map (kbd "n") 'forward-line) + (define-key map (kbd "M-p") 'git-rebase-move-line-up) + (define-key map (kbd "M-n") 'git-rebase-move-line-down) + (define-key map (kbd "c") 'git-rebase-pick) + (define-key map (kbd "k") 'git-rebase-kill-line) + (define-key map (kbd "C-k") 'git-rebase-kill-line) (define-key map (kbd "b") 'git-rebase-break) (define-key map (kbd "e") 'git-rebase-edit) (define-key map (kbd "l") 'git-rebase-label) @@ -193,14 +184,9 @@ map) "Keymap for Git-Rebase mode.") -(cond ((featurep 'jkl) - (put 'git-rebase-reword :advertised-binding "r") - (put 'git-rebase-move-line-up :advertised-binding (kbd "M-i")) - (put 'git-rebase-kill-line :advertised-binding ",")) - (t - (put 'git-rebase-reword :advertised-binding "r") - (put 'git-rebase-move-line-up :advertised-binding (kbd "M-p")) - (put 'git-rebase-kill-line :advertised-binding "k"))) +(put 'git-rebase-reword :advertised-binding (kbd "r")) +(put 'git-rebase-move-line-up :advertised-binding (kbd "M-p")) +(put 'git-rebase-kill-line :advertised-binding (kbd "k")) (easy-menu-define git-rebase-mode-menu git-rebase-mode-map "Git-Rebase mode menu" diff --git a/elpa/magit-20191030.1315/magit-apply.el b/elpa/magit-20200126.1750/magit-apply.el similarity index 99% rename from elpa/magit-20191030.1315/magit-apply.el rename to elpa/magit-20200126.1750/magit-apply.el index 1a7ca97d..766a3ccc 100644 --- a/elpa/magit-20191030.1315/magit-apply.el +++ b/elpa/magit-20200126.1750/magit-apply.el @@ -1,6 +1,6 @@ ;;; magit-apply.el --- apply Git diffs -*- lexical-binding: t -*- -;; Copyright (C) 2010-2019 The Magit Project Contributors +;; Copyright (C) 2010-2020 The Magit Project Contributors ;; ;; You should have received a copy of the AUTHORS.md file which ;; lists all contributors. If not, see http://magit.vc/authors. diff --git a/elpa/magit-20191030.1315/magit-autoloads.el b/elpa/magit-20200126.1750/magit-autoloads.el similarity index 89% rename from elpa/magit-20191030.1315/magit-autoloads.el rename to elpa/magit-20200126.1750/magit-autoloads.el index e6a30df9..4689dfa2 100644 --- a/elpa/magit-20191030.1315/magit-autoloads.el +++ b/elpa/magit-20200126.1750/magit-autoloads.el @@ -1,10 +1,12 @@ ;;; magit-autoloads.el --- automatically extracted autoloads ;; ;;; Code: -(add-to-list 'load-path (directory-file-name (or (file-name-directory #$) (car load-path)))) + +(add-to-list 'load-path (directory-file-name + (or (file-name-directory #$) (car load-path)))) + -;;;### (autoloads nil "git-rebase" "git-rebase.el" (23994 42055 875058 -;;;;;; 195000)) +;;;### (autoloads nil "git-rebase" "git-rebase.el" (0 0 0 0)) ;;; Generated autoloads from git-rebase.el (autoload 'git-rebase-current-line "git-rebase" "\ @@ -28,9 +30,11 @@ running 'man git-rebase' at the command line) for details. (add-to-list 'auto-mode-alist (cons git-rebase-filename-regexp 'git-rebase-mode)) +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "git-rebase" '("git-rebase-"))) + ;;;*** -;;;### (autoloads nil "magit" "magit.el" (23994 42055 938776 22000)) +;;;### (autoloads nil "magit" "magit.el" (0 0 0 0)) ;;; Generated autoloads from magit.el (autoload 'magit-dispatch "magit" nil t) (autoload 'magit-run "magit" nil t) @@ -83,10 +87,11 @@ and Emacs to it. \(fn &optional PRINT-DEST)" t nil) +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "magit" '("magit-"))) + ;;;*** -;;;### (autoloads nil "magit-apply" "magit-apply.el" (23994 42055 -;;;;;; 903978 135000)) +;;;### (autoloads nil "magit-apply" "magit-apply.el" (0 0 0 0)) ;;; Generated autoloads from magit-apply.el (autoload 'magit-stage-file "magit-apply" "\ @@ -119,10 +124,12 @@ Remove all changes from the staging area. \(fn)" t nil) +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "magit-apply" '("magit-"))) + ;;;*** -;;;### (autoloads nil "magit-autorevert" "magit-autorevert.el" (23994 -;;;;;; 42055 902226 43000)) +;;;### (autoloads nil "magit-autorevert" "magit-autorevert.el" (0 +;;;;;; 0 0 0)) ;;; Generated autoloads from magit-autorevert.el (defvar magit-auto-revert-mode (not (or global-auto-revert-mode noninteractive)) "\ @@ -147,10 +154,11 @@ See `auto-revert-mode' for more information on Auto-Revert mode. \(fn &optional ARG)" t nil) +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "magit-autorevert" '("auto-revert-buffer" "magit-"))) + ;;;*** -;;;### (autoloads nil "magit-bisect" "magit-bisect.el" (23994 42055 -;;;;;; 942592 357000)) +;;;### (autoloads nil "magit-bisect" "magit-bisect.el" (0 0 0 0)) ;;; Generated autoloads from magit-bisect.el (autoload 'magit-bisect "magit-bisect" nil t) @@ -199,10 +207,11 @@ bisect run'. \(fn CMDLINE &optional BAD GOOD)" t nil) +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "magit-bisect" '("magit-"))) + ;;;*** -;;;### (autoloads nil "magit-blame" "magit-blame.el" (23994 42055 -;;;;;; 927164 119000)) +;;;### (autoloads nil "magit-blame" "magit-blame.el" (0 0 0 0)) ;;; Generated autoloads from magit-blame.el (autoload 'magit-blame-echo "magit-blame" nil t) (autoload 'magit-blame-addition "magit-blame" nil t) @@ -210,10 +219,12 @@ bisect run'. (autoload 'magit-blame-reverse "magit-blame" nil t) (autoload 'magit-blame "magit-blame" nil t) +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "magit-blame" '("magit-"))) + ;;;*** -;;;### (autoloads nil "magit-bookmark" "magit-bookmark.el" (23994 -;;;;;; 42055 957116 341000)) +;;;### (autoloads nil "magit-bookmark" "magit-bookmark.el" (0 0 0 +;;;;;; 0)) ;;; Generated autoloads from magit-bookmark.el (autoload 'magit--handle-bookmark "magit-bookmark" "\ @@ -224,10 +235,11 @@ with the variables' values as arguments, which were recorded by \(fn BOOKMARK)" nil nil) +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "magit-bookmark" '("magit--make-bookmark"))) + ;;;*** -;;;### (autoloads nil "magit-branch" "magit-branch.el" (23994 42055 -;;;;;; 914682 63000)) +;;;### (autoloads nil "magit-branch" "magit-branch.el" (0 0 0 0)) ;;; Generated autoloads from magit-branch.el (autoload 'magit-branch "magit" nil t) @@ -389,10 +401,11 @@ and also rename the respective reflog file. \(fn BRANCH)" t nil) (autoload 'magit-branch-configure "magit-branch" nil t) +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "magit-branch" '("magit-"))) + ;;;*** -;;;### (autoloads nil "magit-clone" "magit-clone.el" (23994 42055 -;;;;;; 898547 337000)) +;;;### (autoloads nil "magit-clone" "magit-clone.el" (0 0 0 0)) ;;; Generated autoloads from magit-clone.el (autoload 'magit-clone "magit-clone" nil t) @@ -438,10 +451,11 @@ Then show the status buffer for the new repository. \(fn REPOSITORY DIRECTORY ARGS)" t nil) +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "magit-clone" '("magit-clone"))) + ;;;*** -;;;### (autoloads nil "magit-commit" "magit-commit.el" (23994 42055 -;;;;;; 933603 364000)) +;;;### (autoloads nil "magit-commit" "magit-commit.el" (0 0 0 0)) ;;; Generated autoloads from magit-commit.el (autoload 'magit-commit "magit-commit" nil t) @@ -534,10 +548,11 @@ history element. \(fn DATE)" t nil) (autoload 'magit-commit-absorb "magit-commit" nil t) +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "magit-commit" '("magit"))) + ;;;*** -;;;### (autoloads nil "magit-diff" "magit-diff.el" (23994 42055 873815 -;;;;;; 93000)) +;;;### (autoloads nil "magit-diff" "magit-diff.el" (0 0 0 0)) ;;; Generated autoloads from magit-diff.el (autoload 'magit-diff "magit-diff" nil t) (autoload 'magit-diff-refresh "magit-diff" nil t) @@ -617,10 +632,11 @@ for a revision. \(fn REV &optional ARGS FILES MODULE)" t nil) +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "magit-diff" '("magit"))) + ;;;*** -;;;### (autoloads nil "magit-ediff" "magit-ediff.el" (23994 42055 -;;;;;; 945124 412000)) +;;;### (autoloads nil "magit-ediff" "magit-ediff.el" (0 0 0 0)) ;;; Generated autoloads from magit-ediff.el (autoload 'magit-ediff "magit-ediff" nil) @@ -706,10 +722,11 @@ stash that were staged. \(fn STASH)" t nil) +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "magit-ediff" '("magit-ediff"))) + ;;;*** -;;;### (autoloads nil "magit-extras" "magit-extras.el" (23994 42055 -;;;;;; 932313 407000)) +;;;### (autoloads nil "magit-extras" "magit-extras.el" (0 0 0 0)) ;;; Generated autoloads from magit-extras.el (autoload 'magit-run-git-gui "magit-extras" "\ @@ -916,6 +933,10 @@ the current section is a commit, branch, or tag section, push the (referenced) revision to the `magit-revision-stack' for use with `magit-pop-revision-stack'. +When `magit-copy-revision-abbreviated' is non-nil, save the +abbreviated revision to the `kill-ring' and the +`magit-revision-stack'. + When the current section is a branch or a tag, and a prefix argument is used, then save the revision at its tip to the `kill-ring' instead of the reference name. @@ -949,6 +970,10 @@ When the region is active, then save that to the `kill-ring', like `kill-ring-save' would, instead of behaving as described above. +When `magit-copy-revision-abbreviated' is non-nil, save the +abbreviated revision to the `kill-ring' and the +`magit-revision-stack'. + \(fn)" t nil) (autoload 'magit-abort-dwim "magit-extras" "\ @@ -958,10 +983,11 @@ patch application, a cherry-pick, a revert, or a bisect. \(fn)" t nil) +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "magit-extras" '("magit-"))) + ;;;*** -;;;### (autoloads nil "magit-fetch" "magit-fetch.el" (23994 42055 -;;;;;; 934847 34000)) +;;;### (autoloads nil "magit-fetch" "magit-fetch.el" (0 0 0 0)) ;;; Generated autoloads from magit-fetch.el (autoload 'magit-fetch "magit-fetch" nil t) (autoload 'magit-fetch-from-pushremote "magit-fetch" nil t) @@ -1009,10 +1035,11 @@ prefix argument fetch all remotes. \(fn &optional ALL)" t nil) +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "magit-fetch" '("magit-"))) + ;;;*** -;;;### (autoloads nil "magit-files" "magit-files.el" (23994 42055 -;;;;;; 946790 277000)) +;;;### (autoloads nil "magit-files" "magit-files.el" (0 0 0 0)) ;;; Generated autoloads from magit-files.el (autoload 'magit-find-file "magit-files" "\ @@ -1077,10 +1104,19 @@ Checkout FILE from REV. \(fn REV FILE)" t nil) +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "magit-files" '("magit-"))) + +;;;*** + +;;;### (autoloads nil "magit-git" "magit-git.el" (0 0 0 0)) +;;; Generated autoloads from magit-git.el + +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "magit-git" '("magit-"))) + ;;;*** -;;;### (autoloads nil "magit-gitignore" "magit-gitignore.el" (23994 -;;;;;; 42055 910383 233000)) +;;;### (autoloads nil "magit-gitignore" "magit-gitignore.el" (0 0 +;;;;;; 0 0)) ;;; Generated autoloads from magit-gitignore.el (autoload 'magit-gitignore "magit-gitignore" nil t) @@ -1132,10 +1168,11 @@ Call \"git update-index --no-assume-unchanged -- FILE\". \(fn FILE)" t nil) +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "magit-gitignore" '("magit-"))) + ;;;*** -;;;### (autoloads nil "magit-imenu" "magit-imenu.el" (23994 42055 -;;;;;; 919576 194000)) +;;;### (autoloads nil "magit-imenu" "magit-imenu.el" (0 0 0 0)) ;;; Generated autoloads from magit-imenu.el (autoload 'magit-imenu--log-prev-index-position-function "magit-imenu" "\ @@ -1249,10 +1286,11 @@ beginning of the line. \(fn)" nil nil) +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "magit-imenu" '("magit-imenu--index-function"))) + ;;;*** -;;;### (autoloads nil "magit-log" "magit-log.el" (23994 42055 952976 -;;;;;; 752000)) +;;;### (autoloads nil "magit-log" "magit-log.el" (0 0 0 0)) ;;; Generated autoloads from magit-log.el (autoload 'magit-log "magit-log" nil t) (autoload 'magit-log-refresh "magit-log" nil t) @@ -1339,10 +1377,18 @@ Show commits in a branch that are not merged in the upstream branch. \(fn HEAD UPSTREAM)" t nil) +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "magit-log" '("magit"))) + +;;;*** + +;;;### (autoloads nil "magit-margin" "magit-margin.el" (0 0 0 0)) +;;; Generated autoloads from magit-margin.el + +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "magit-margin" '("magit-"))) + ;;;*** -;;;### (autoloads nil "magit-merge" "magit-merge.el" (23994 42055 -;;;;;; 911653 486000)) +;;;### (autoloads nil "magit-merge" "magit-merge.el" (0 0 0 0)) ;;; Generated autoloads from magit-merge.el (autoload 'magit-merge "magit" nil t) @@ -1420,17 +1466,34 @@ Abort the current merge operation. \(fn)" t nil) +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "magit-merge" '("magit-"))) + ;;;*** -;;;### (autoloads nil "magit-notes" "magit-notes.el" (23994 42055 -;;;;;; 871433 510000)) +;;;### (autoloads nil "magit-mode" "magit-mode.el" (0 0 0 0)) +;;; Generated autoloads from magit-mode.el + +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "magit-mode" '("magit-" "disable-magit-save-buffers" "inhibit-magit-refresh"))) + +;;;*** + +;;;### (autoloads nil "magit-notes" "magit-notes.el" (0 0 0 0)) ;;; Generated autoloads from magit-notes.el (autoload 'magit-notes "magit" nil t) +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "magit-notes" '("magit-"))) + ;;;*** -;;;### (autoloads nil "magit-patch" "magit-patch.el" (23994 42055 -;;;;;; 896352 339000)) +;;;### (autoloads nil "magit-obsolete" "magit-obsolete.el" (0 0 0 +;;;;;; 0)) +;;; Generated autoloads from magit-obsolete.el + +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "magit-obsolete" '("magit--magit-popup-warning"))) + +;;;*** + +;;;### (autoloads nil "magit-patch" "magit-patch.el" (0 0 0 0)) ;;; Generated autoloads from magit-patch.el (autoload 'magit-patch "magit-patch" nil t) (autoload 'magit-patch-create "magit-patch" nil t) @@ -1464,17 +1527,25 @@ same differences as those shown in the buffer are always used. (autoload 'magit-request-pull "magit-patch" "\ Request upstream to pull from you public repository. -URL is the url of your publically accessible repository. +URL is the url of your publicly accessible repository. START is a commit that already is in the upstream repository. END is the last commit, usually a branch name, which upstream is asked to pull. START has to be reachable from that commit. \(fn URL START END)" t nil) +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "magit-patch" '("magit-"))) + +;;;*** + +;;;### (autoloads nil "magit-process" "magit-process.el" (0 0 0 0)) +;;; Generated autoloads from magit-process.el + +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "magit-process" '("magit-" "tramp-sh-handle-"))) + ;;;*** -;;;### (autoloads nil "magit-pull" "magit-pull.el" (23994 42055 936098 -;;;;;; 926000)) +;;;### (autoloads nil "magit-pull" "magit-pull.el" (0 0 0 0)) ;;; Generated autoloads from magit-pull.el (autoload 'magit-pull "magit-pull" nil t) (autoload 'magit-pull-from-pushremote "magit-pull" nil t) @@ -1485,10 +1556,11 @@ Pull from a branch read in the minibuffer. \(fn SOURCE ARGS)" t nil) +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "magit-pull" '("magit-pull"))) + ;;;*** -;;;### (autoloads nil "magit-push" "magit-push.el" (23994 42055 900951 -;;;;;; 174000)) +;;;### (autoloads nil "magit-push" "magit-push.el" (0 0 0 0)) ;;; Generated autoloads from magit-push.el (autoload 'magit-push "magit-push" nil t) (autoload 'magit-push-current-to-pushremote "magit-push" nil t) @@ -1534,6 +1606,11 @@ Push a tag to another repository. \(fn TAG REMOTE &optional ARGS)" t nil) +(autoload 'magit-push-notes-ref "magit-push" "\ +Push a notes ref to another repository. + +\(fn REF REMOTE &optional ARGS)" t nil) + (autoload 'magit-push-implicitly "magit-push" "\ Push somewhere without using an explicit refspec. @@ -1563,10 +1640,11 @@ these Git variables: `push.default', `remote.pushDefault', \(fn REMOTE ARGS)" t nil) +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "magit-push" '("magit-"))) + ;;;*** -;;;### (autoloads nil "magit-reflog" "magit-reflog.el" (23994 42055 -;;;;;; 876131 412000)) +;;;### (autoloads nil "magit-reflog" "magit-reflog.el" (0 0 0 0)) ;;; Generated autoloads from magit-reflog.el (autoload 'magit-reflog-current "magit-reflog" "\ @@ -1585,10 +1663,11 @@ Display the `HEAD' reflog. \(fn)" t nil) +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "magit-reflog" '("magit-reflog-"))) + ;;;*** -;;;### (autoloads nil "magit-refs" "magit-refs.el" (23994 42055 948068 -;;;;;; 341000)) +;;;### (autoloads nil "magit-refs" "magit-refs.el" (0 0 0 0)) ;;; Generated autoloads from magit-refs.el (autoload 'magit-show-refs "magit-refs" nil t) @@ -1610,10 +1689,11 @@ Compared with a branch read from the user. \(fn &optional REF ARGS)" t nil) +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "magit-refs" '("magit-"))) + ;;;*** -;;;### (autoloads nil "magit-remote" "magit-remote.el" (23994 42055 -;;;;;; 943799 422000)) +;;;### (autoloads nil "magit-remote" "magit-remote.el" (0 0 0 0)) ;;; Generated autoloads from magit-remote.el (autoload 'magit-remote "magit-remote" nil t) @@ -1669,10 +1749,11 @@ Delete the symbolic-ref \"refs/remotes//HEAD\". \(fn REMOTE)" t nil) (autoload 'magit-remote-configure "magit-remote" nil t) +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "magit-remote" '("magit-"))) + ;;;*** -;;;### (autoloads nil "magit-repos" "magit-repos.el" (23994 42055 -;;;;;; 909145 496000)) +;;;### (autoloads nil "magit-repos" "magit-repos.el" (0 0 0 0)) ;;; Generated autoloads from magit-repos.el (autoload 'magit-list-repositories "magit-repos" "\ @@ -1683,10 +1764,11 @@ repositories are displayed. \(fn)" t nil) +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "magit-repos" '("magit-"))) + ;;;*** -;;;### (autoloads nil "magit-reset" "magit-reset.el" (23994 42055 -;;;;;; 929835 257000)) +;;;### (autoloads nil "magit-reset" "magit-reset.el" (0 0 0 0)) ;;; Generated autoloads from magit-reset.el (autoload 'magit-reset "magit" nil t) @@ -1734,10 +1816,19 @@ With a prefix argument reset the working tree otherwise don't. \(fn COMMIT &optional HARD)" t nil) +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "magit-reset" '("magit-reset"))) + ;;;*** -;;;### (autoloads nil "magit-sequence" "magit-sequence.el" (23994 -;;;;;; 42055 924982 969000)) +;;;### (autoloads nil "magit-section" "magit-section.el" (0 0 0 0)) +;;; Generated autoloads from magit-section.el + +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "magit-section" '("magit-"))) + +;;;*** + +;;;### (autoloads nil "magit-sequence" "magit-sequence.el" (0 0 0 +;;;;;; 0)) ;;; Generated autoloads from magit-sequence.el (autoload 'magit-sequencer-continue "magit-sequence" "\ @@ -1913,10 +2004,11 @@ Abort the current rebase operation, restoring the original branch. \(fn)" t nil) +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "magit-sequence" '("magit-"))) + ;;;*** -;;;### (autoloads nil "magit-stash" "magit-stash.el" (23994 42055 -;;;;;; 916082 778000)) +;;;### (autoloads nil "magit-stash" "magit-stash.el" (0 0 0 0)) ;;; Generated autoloads from magit-stash.el (autoload 'magit-stash "magit-stash" nil t) @@ -2020,10 +2112,11 @@ Show all diffs of a stash in a buffer. \(fn STASH &optional ARGS FILES)" t nil) +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "magit-stash" '("magit-"))) + ;;;*** -;;;### (autoloads nil "magit-status" "magit-status.el" (23994 42055 -;;;;;; 906727 778000)) +;;;### (autoloads nil "magit-status" "magit-status.el" (0 0 0 0)) ;;; Generated autoloads from magit-status.el (autoload 'magit-init "magit-status" "\ @@ -2091,10 +2184,12 @@ Like `magit-status' but with non-nil `magit-status-goto-file-position'. \(fn &optional DIRECTORY)" nil nil) +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "magit-status" '("magit-"))) + ;;;*** -;;;### (autoloads nil "magit-submodule" "magit-submodule.el" (23994 -;;;;;; 42055 877342 320000)) +;;;### (autoloads nil "magit-submodule" "magit-submodule.el" (0 0 +;;;;;; 0 0)) ;;; Generated autoloads from magit-submodule.el (autoload 'magit-submodule "magit-submodule" nil t) (autoload 'magit-submodule-add "magit-submodule" nil t) @@ -2169,10 +2264,11 @@ Display a list of the current repository's submodules. \(fn)" t nil) +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "magit-submodule" '("magit-"))) + ;;;*** -;;;### (autoloads nil "magit-subtree" "magit-subtree.el" (23994 42055 -;;;;;; 882016 538000)) +;;;### (autoloads nil "magit-subtree" "magit-subtree.el" (0 0 0 0)) ;;; Generated autoloads from magit-subtree.el (autoload 'magit-subtree "magit-subtree" nil t) (autoload 'magit-subtree-import "magit-subtree" nil t) @@ -2208,10 +2304,11 @@ Extract the history of the subtree PREFIX. \(fn PREFIX COMMIT ARGS)" t nil) +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "magit-subtree" '("magit-"))) + ;;;*** -;;;### (autoloads nil "magit-tag" "magit-tag.el" (23994 42055 899723 -;;;;;; 626000)) +;;;### (autoloads nil "magit-tag" "magit-tag.el" (0 0 0 0)) ;;; Generated autoloads from magit-tag.el (autoload 'magit-tag "magit" nil t) @@ -2261,10 +2358,19 @@ review the result. \(fn TAG MSG)" t nil) +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "magit-tag" '("magit-"))) + +;;;*** + +;;;### (autoloads nil "magit-transient" "magit-transient.el" (0 0 +;;;;;; 0 0)) +;;; Generated autoloads from magit-transient.el + +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "magit-transient" '("magit-"))) + ;;;*** -;;;### (autoloads nil "magit-utils" "magit-utils.el" (23994 42055 -;;;;;; 880689 9000)) +;;;### (autoloads nil "magit-utils" "magit-utils.el" (0 0 0 0)) ;;; Generated autoloads from magit-utils.el (autoload 'magit-emacs-Q-command "magit-utils" "\ @@ -2287,10 +2393,11 @@ See info node `(magit)Debugging Tools' for more information. (advice-add 'org-man-export :around 'org-man-export--magit-gitman) +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "magit-utils" '("magit-"))) + ;;;*** -;;;### (autoloads nil "magit-wip" "magit-wip.el" (23994 42055 939957 -;;;;;; 690000)) +;;;### (autoloads nil "magit-wip" "magit-wip.el" (0 0 0 0)) ;;; Generated autoloads from magit-wip.el (defvar magit-wip-after-save-mode nil "\ @@ -2374,10 +2481,12 @@ a Git repository. \(fn)" nil nil) +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "magit-wip" '("magit-"))) + ;;;*** -;;;### (autoloads nil "magit-worktree" "magit-worktree.el" (23994 -;;;;;; 42055 885627 612000)) +;;;### (autoloads nil "magit-worktree" "magit-worktree.el" (0 0 0 +;;;;;; 0)) ;;; Generated autoloads from magit-worktree.el (autoload 'magit-worktree "magit-worktree" nil t) @@ -2396,12 +2505,12 @@ Move WORKTREE to PATH. \(fn WORKTREE PATH)" t nil) +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "magit-worktree" '("magit-"))) + ;;;*** -;;;### (autoloads nil nil ("magit-core.el" "magit-git.el" "magit-margin.el" -;;;;;; "magit-mode.el" "magit-obsolete.el" "magit-pkg.el" "magit-process.el" -;;;;;; "magit-section.el" "magit-transient.el") (23994 42055 950443 -;;;;;; 799000)) +;;;### (autoloads nil nil ("magit-core.el" "magit-pkg.el") (0 0 0 +;;;;;; 0)) ;;;*** @@ -2409,5 +2518,6 @@ Move WORKTREE to PATH. ;; version-control: never ;; no-byte-compile: t ;; no-update-autoloads: t +;; coding: utf-8 ;; End: ;;; magit-autoloads.el ends here diff --git a/elpa/magit-20191030.1315/magit-autorevert.el b/elpa/magit-20200126.1750/magit-autorevert.el similarity index 94% rename from elpa/magit-20191030.1315/magit-autorevert.el rename to elpa/magit-20200126.1750/magit-autorevert.el index 215864c4..41ccbfea 100644 --- a/elpa/magit-20191030.1315/magit-autorevert.el +++ b/elpa/magit-20200126.1750/magit-autorevert.el @@ -1,6 +1,6 @@ ;;; magit-autorevert.el --- revert buffers when files in repository change -*- lexical-binding: t -*- -;; Copyright (C) 2010-2019 The Magit Project Contributors +;; Copyright (C) 2010-2020 The Magit Project Contributors ;; ;; You should have received a copy of the AUTHORS.md file which ;; lists all contributors. If not, see http://magit.vc/authors. @@ -108,6 +108,9 @@ seconds of user inactivity. That is not desirable." (magit-turn-on-auto-revert-mode-if-desired))) (when (and buffer-file-name (file-readable-p buffer-file-name) + (or (< emacs-major-version 27) + (with-no-warnings + (executable-find magit-git-executable t))) ; see #3684 (magit-toplevel) (or (not magit-auto-revert-tracked-only) (magit-file-tracked-p buffer-file-name)) @@ -194,7 +197,13 @@ buffers that are not visiting files. The behavior of this mode can be customized using the options in the `autorevert' and `magit-autorevert' groups. -This function calls the hook `magit-auto-revert-mode-hook'.") +This function calls the hook `magit-auto-revert-mode-hook'. + +Like nearly every mode, this mode should be enabled or disabled +by calling the respective mode function, the reason being that +changing the state of a mode involves more than merely toggling +a single switch, so setting the mode variable is not enough. +Also, you should not use `after-init-hook' to disable this mode.") (defun magit-auto-revert-buffers () (when (and magit-auto-revert-immediately diff --git a/elpa/magit-20191030.1315/magit-bisect.el b/elpa/magit-20200126.1750/magit-bisect.el similarity index 99% rename from elpa/magit-20191030.1315/magit-bisect.el rename to elpa/magit-20200126.1750/magit-bisect.el index 3e54c1c2..451914e0 100644 --- a/elpa/magit-20191030.1315/magit-bisect.el +++ b/elpa/magit-20200126.1750/magit-bisect.el @@ -1,6 +1,6 @@ ;;; magit-bisect.el --- bisect support for Magit -*- lexical-binding: t -*- -;; Copyright (C) 2011-2019 The Magit Project Contributors +;; Copyright (C) 2011-2020 The Magit Project Contributors ;; ;; You should have received a copy of the AUTHORS.md file which ;; lists all contributors. If not, see http://magit.vc/authors. diff --git a/elpa/magit-20191030.1315/magit-blame.el b/elpa/magit-20200126.1750/magit-blame.el similarity index 95% rename from elpa/magit-20191030.1315/magit-blame.el rename to elpa/magit-20200126.1750/magit-blame.el index cbc77653..50657034 100644 --- a/elpa/magit-20191030.1315/magit-blame.el +++ b/elpa/magit-20200126.1750/magit-blame.el @@ -1,6 +1,6 @@ ;;; magit-blame.el --- blame support for Magit -*- lexical-binding: t -*- -;; Copyright (C) 2012-2019 The Magit Project Contributors +;; Copyright (C) 2012-2020 The Magit Project Contributors ;; ;; You should have received a copy of the AUTHORS.md file which ;; lists all contributors. If not, see http://magit.vc/authors. @@ -161,10 +161,12 @@ and then turned on again when turning off the latter." ;;; Faces (defface magit-blame-highlight - '((((class color) (background light)) + `((((class color) (background light)) + ,@(and (>= emacs-major-version 27) '(:extend t)) :background "grey80" :foreground "black") (((class color) (background dark)) + ,@(and (>= emacs-major-version 27) '(:extend t)) :background "grey25" :foreground "white")) "Face used for highlighting when blaming. @@ -188,7 +190,8 @@ Also see option `magit-blame-styles'." :group 'magit-faces) (defface magit-blame-heading - '((t :inherit magit-blame-highlight + `((t ,@(and (>= emacs-major-version 27) '(:extend t)) + :inherit magit-blame-highlight :weight normal :slant normal)) "Face used for blame headings by default when blaming. @@ -268,26 +271,15 @@ in `magit-blame-read-only-mode-map' instead.") (defvar magit-blame-read-only-mode-map (let ((map (make-sparse-keymap))) - (cond ((featurep 'jkl) - (define-key map [return] 'magit-show-commit) - (define-key map (kbd "i") 'magit-blame-previous-chunk) - (define-key map (kbd "I") 'magit-blame-previous-chunk-same-commit) - (define-key map (kbd "k") 'magit-blame-next-chunk) - (define-key map (kbd "K") 'magit-blame-next-chunk-same-commit) - (define-key map (kbd "j") 'magit-blame-addition) - (define-key map (kbd "l") 'magit-blame-removal) - (define-key map (kbd "f") 'magit-blame-reverse) - (define-key map (kbd "b") 'magit-blame)) - (t - (define-key map (kbd "C-m") 'magit-show-commit) - (define-key map (kbd "p") 'magit-blame-previous-chunk) - (define-key map (kbd "P") 'magit-blame-previous-chunk-same-commit) - (define-key map (kbd "n") 'magit-blame-next-chunk) - (define-key map (kbd "N") 'magit-blame-next-chunk-same-commit) - (define-key map (kbd "b") 'magit-blame-addition) - (define-key map (kbd "r") 'magit-blame-removal) - (define-key map (kbd "f") 'magit-blame-reverse) - (define-key map (kbd "B") 'magit-blame))) + (define-key map (kbd "C-m") 'magit-show-commit) + (define-key map (kbd "p") 'magit-blame-previous-chunk) + (define-key map (kbd "P") 'magit-blame-previous-chunk-same-commit) + (define-key map (kbd "n") 'magit-blame-next-chunk) + (define-key map (kbd "N") 'magit-blame-next-chunk-same-commit) + (define-key map (kbd "b") 'magit-blame-addition) + (define-key map (kbd "r") 'magit-blame-removal) + (define-key map (kbd "f") 'magit-blame-reverse) + (define-key map (kbd "B") 'magit-blame) (define-key map (kbd "c") 'magit-blame-cycle-style) (define-key map (kbd "q") 'magit-blame-quit) (define-key map (kbd "M-w") 'magit-blame-copy-hash) @@ -324,10 +316,10 @@ in `magit-blame-read-only-mode-map' instead.") (user-error (concat "Don't call `magit-blame-mode' directly; " "instead use `magit-blame'"))) - (add-hook 'after-save-hook 'magit-blame--run t t) + (add-hook 'after-save-hook 'magit-blame--refresh t t) (add-hook 'post-command-hook 'magit-blame-goto-chunk-hook t t) (add-hook 'before-revert-hook 'magit-blame--remove-overlays t t) - (add-hook 'after-revert-hook 'magit-blame--run t t) + (add-hook 'after-revert-hook 'magit-blame--refresh t t) (add-hook 'read-only-mode-hook 'magit-blame-toggle-read-only t t) (setq magit-blame-buffer-read-only buffer-read-only) (when (or magit-blame-read-only magit-buffer-file-name) @@ -344,11 +336,11 @@ in `magit-blame-read-only-mode-map' instead.") (when (process-live-p magit-blame-process) (kill-process magit-blame-process) (while magit-blame-process - (sit-for 0.01))) ; avoid racing the sentinal - (remove-hook 'after-save-hook 'magit-blame--run t) + (sit-for 0.01))) ; avoid racing the sentinel + (remove-hook 'after-save-hook 'magit-blame--refresh t) (remove-hook 'post-command-hook 'magit-blame-goto-chunk-hook t) (remove-hook 'before-revert-hook 'magit-blame--remove-overlays t) - (remove-hook 'after-revert-hook 'magit-blame--run t) + (remove-hook 'after-revert-hook 'magit-blame--refresh t) (remove-hook 'read-only-mode-hook 'magit-blame-toggle-read-only t) (unless magit-blame-buffer-read-only (read-only-mode -1)) @@ -361,6 +353,9 @@ in `magit-blame-read-only-mode-map' instead.") (magit-blame--update-margin) (magit-blame--remove-overlays)))) +(defun magit-blame--refresh () + (magit-blame--run (magit-blame-arguments))) + (defun magit-blame-goto-chunk-hook () (let ((chunk (magit-blame-chunk-at (point)))) (when (cl-typep chunk 'magit-blame-chunk) @@ -884,7 +879,7 @@ When the region is active, then save the region's content instead of the hash, like `kill-ring-save' would." (interactive) (if (use-region-p) - (copy-region-as-kill nil nil 'region) + (call-interactively #'copy-region-as-kill) (kill-new (message "%s" (oref (magit-current-blame-chunk) orig-rev))))) ;;; Popup diff --git a/elpa/magit-20191030.1315/magit-bookmark.el b/elpa/magit-20200126.1750/magit-bookmark.el similarity index 99% rename from elpa/magit-20191030.1315/magit-bookmark.el rename to elpa/magit-20200126.1750/magit-bookmark.el index 49ba9c70..bd6c6838 100644 --- a/elpa/magit-20191030.1315/magit-bookmark.el +++ b/elpa/magit-20200126.1750/magit-bookmark.el @@ -1,6 +1,6 @@ ;;; magit-bookmark.el --- bookmark support for Magit -*- lexical-binding: t -*- -;; Copyright (C) 2010-2019 The Magit Project Contributors +;; Copyright (C) 2010-2020 The Magit Project Contributors ;; ;; You should have received a copy of the AUTHORS.md file which ;; lists all contributors. If not, see http://magit.vc/authors. diff --git a/elpa/magit-20191030.1315/magit-branch.el b/elpa/magit-20200126.1750/magit-branch.el similarity index 99% rename from elpa/magit-20191030.1315/magit-branch.el rename to elpa/magit-20200126.1750/magit-branch.el index 9d7dc251..a7ac1b54 100644 --- a/elpa/magit-20191030.1315/magit-branch.el +++ b/elpa/magit-20200126.1750/magit-branch.el @@ -1,6 +1,6 @@ ;;; magit-branch.el --- branch support -*- lexical-binding: t -*- -;; Copyright (C) 2010-2019 The Magit Project Contributors +;; Copyright (C) 2010-2020 The Magit Project Contributors ;; ;; You should have received a copy of the AUTHORS.md file which ;; lists all contributors. If not, see http://magit.vc/authors. diff --git a/elpa/magit-20191030.1315/magit-clone.el b/elpa/magit-20200126.1750/magit-clone.el similarity index 98% rename from elpa/magit-20191030.1315/magit-clone.el rename to elpa/magit-20200126.1750/magit-clone.el index a4128940..e2b3f695 100644 --- a/elpa/magit-20191030.1315/magit-clone.el +++ b/elpa/magit-20200126.1750/magit-clone.el @@ -1,6 +1,6 @@ ;;; magit-clone.el --- clone a repository -*- lexical-binding: t -*- -;; Copyright (C) 2008-2019 The Magit Project Contributors +;; Copyright (C) 2008-2020 The Magit Project Contributors ;; ;; You should have received a copy of the AUTHORS.md file which ;; lists all contributors. If not, see http://magit.vc/authors. @@ -64,7 +64,7 @@ with the remote url as only argument and use the returned value." If nil, then a prefix argument has to be used to show the transient popup instead of invoking the default suffix `magit-clone-regular' directly." - :package-version '(magit . "2.91.0") + :package-version '(magit . "3.0.0") :group 'magit-commands :type 'boolean) @@ -87,7 +87,7 @@ default user specified in the matched entry is used. If USER contains a dot, then it is treated as a Git variable and the value of that is used as the username. Otherwise it is used as the username itself." - :package-version '(magit . "2.91.0") + :package-version '(magit . "3.0.0") :group 'magit-commands :type '(repeat (list regexp (string :tag "hostname") @@ -97,7 +97,7 @@ as the username itself." "Format used when turning repository names into urls. %h is the hostname and %n is the repository name, including the name of the owner. Also see `magit-clone-name-alist'." - :package-version '(magit . "2.91.0") + :package-version '(magit . "3.0.0") :group 'magit-commands :type 'regexp) diff --git a/elpa/magit-20191030.1315/magit-commit.el b/elpa/magit-20200126.1750/magit-commit.el similarity index 99% rename from elpa/magit-20191030.1315/magit-commit.el rename to elpa/magit-20200126.1750/magit-commit.el index 6a560560..d7572cec 100644 --- a/elpa/magit-20191030.1315/magit-commit.el +++ b/elpa/magit-20200126.1750/magit-commit.el @@ -1,6 +1,6 @@ ;;; magit-commit.el --- create Git commits -*- lexical-binding: t -*- -;; Copyright (C) 2008-2019 The Magit Project Contributors +;; Copyright (C) 2008-2020 The Magit Project Contributors ;; ;; You should have received a copy of the AUTHORS.md file which ;; lists all contributors. If not, see http://magit.vc/authors. diff --git a/elpa/magit-20191030.1315/magit-core.el b/elpa/magit-20200126.1750/magit-core.el similarity index 87% rename from elpa/magit-20191030.1315/magit-core.el rename to elpa/magit-20200126.1750/magit-core.el index f790dce2..900f2c54 100644 --- a/elpa/magit-20191030.1315/magit-core.el +++ b/elpa/magit-20200126.1750/magit-core.el @@ -1,6 +1,6 @@ ;;; magit-core.el --- core functionality -*- lexical-binding: t -*- -;; Copyright (C) 2010-2019 The Magit Project Contributors +;; Copyright (C) 2010-2020 The Magit Project Contributors ;; ;; You should have received a copy of the AUTHORS.md file which ;; lists all contributors. If not, see http://magit.vc/authors. @@ -74,19 +74,6 @@ Each of these options falls into one or more of these categories: "Options controlling behavior of certain commands." :group 'magit) -(defgroup magit-git-arguments nil - "Options controlling what arguments are passed to Git. - -Most of these options can be set using the respective popup, -and it is recommended that you do that because then you can -be certain that Magit supports the arguments that you select. - -An option `magit-NAME-argument' specifies the arguments that -are enabled by default by the popup `magit-NAME-popup'." - :link '(info-link "(magit-popup)Customizing Existing Popups") - :link '(info-link "(magit-popup)Usage") - :group 'magit-commands) - (defgroup magit-modes nil "Modes used or provided by Magit." :group 'magit) @@ -115,6 +102,8 @@ are enabled by default by the popup `magit-NAME-popup'." (custom-add-to-group 'magit-faces 'git-commit-faces 'custom-group) (custom-add-to-group 'magit-modes 'git-rebase 'custom-group) (custom-add-to-group 'magit-faces 'git-rebase-faces 'custom-group) +(custom-add-to-group 'magit 'magit-section 'custom-group) +(custom-add-to-group 'magit-faces 'magit-section-faces 'custom-group) (custom-add-to-group 'magit-process 'with-editor 'custom-group) (defgroup magit-related nil diff --git a/elpa/magit-20191030.1315/magit-diff.el b/elpa/magit-20200126.1750/magit-diff.el similarity index 94% rename from elpa/magit-20191030.1315/magit-diff.el rename to elpa/magit-20200126.1750/magit-diff.el index c45a9194..75031626 100644 --- a/elpa/magit-20191030.1315/magit-diff.el +++ b/elpa/magit-20200126.1750/magit-diff.el @@ -1,6 +1,6 @@ ;;; magit-diff.el --- inspect Git diffs -*- lexical-binding: t -*- -;; Copyright (C) 2010-2019 The Magit Project Contributors +;; Copyright (C) 2010-2020 The Magit Project Contributors ;; ;; You should have received a copy of the AUTHORS.md file which ;; lists all contributors. If not, see http://magit.vc/authors. @@ -127,7 +127,7 @@ This function should not be removed from the value of this option. `magit-diff-highlight-hunk-region-using-overlays' and `magit-diff-highlight-hunk-region-using-underline' emphasize the -region by placing delimiting horizonal lines before and after it. +region by placing delimiting horizontal lines before and after it. The underline variant was implemented because Eli said that is how we should do it. However the overlay variant actually works better. Also see https://github.com/magit/magit/issues/2758. @@ -171,7 +171,7 @@ t Show fine differences for the current diff hunk only. (defcustom magit-diff-refine-ignore-whitespace smerge-refine-ignore-whitespace "Whether to ignore whitespace changes in word-granularity differences." - :package-version '(magit . "2.91.0") + :package-version '(magit . "3.0.0") :set-after '(smerge-refine-ignore-whitespace) :group 'magit-diff :safe 'booleanp @@ -236,7 +236,7 @@ whitespace errors are highlighted." t Highlight only in added lines. `both' Highlight in added and removed lines. `all' Highlight in added, removed and context lines." - :package-version '(magit . "2.91.0") + :package-version '(magit . "3.0.0") :group 'magit-diff :safe (lambda (val) (memq val '(t both all))) :type '(choice (const :tag "in added lines" t) @@ -446,7 +446,7 @@ for commits before the rename event. When this option is nil, the revision buffer ignores the log's filter if the log arguments include --follow. If non-nil, the log's file filter is always honored." - :package-version '(magit . "2.91.0") + :package-version '(magit . "3.0.0") :group 'magit-revision :type 'boolean) @@ -482,71 +482,83 @@ Previously this function used to visit the worktree file not only for added lines but also for such removed lines. If you prefer the old behaviors, then set this to t." - :package-version '(magit . "2.91.0") + :package-version '(magit . "3.0.0") :group 'magit-diff :type 'boolean) ;;; Faces (defface magit-diff-file-heading - '((t :weight bold)) + `((t ,@(and (>= emacs-major-version 27) '(:extend t)) + :weight bold)) "Face for diff file headings." :group 'magit-faces) (defface magit-diff-file-heading-highlight - '((t :inherit (magit-section-highlight))) + `((t ,@(and (>= emacs-major-version 27) '(:extend t)) + :inherit magit-section-highlight)) "Face for current diff file headings." :group 'magit-faces) (defface magit-diff-file-heading-selection - '((((class color) (background light)) + `((((class color) (background light)) + ,@(and (>= emacs-major-version 27) '(:extend t)) :inherit magit-diff-file-heading-highlight :foreground "salmon4") (((class color) (background dark)) + ,@(and (>= emacs-major-version 27) '(:extend t)) :inherit magit-diff-file-heading-highlight :foreground "LightSalmon3")) "Face for selected diff file headings." :group 'magit-faces) (defface magit-diff-hunk-heading - '((((class color) (background light)) + `((((class color) (background light)) + ,@(and (>= emacs-major-version 27) '(:extend t)) :background "grey80" :foreground "grey30") (((class color) (background dark)) + ,@(and (>= emacs-major-version 27) '(:extend t)) :background "grey25" :foreground "grey70")) "Face for diff hunk headings." :group 'magit-faces) (defface magit-diff-hunk-heading-highlight - '((((class color) (background light)) + `((((class color) (background light)) + ,@(and (>= emacs-major-version 27) '(:extend t)) :background "grey75" :foreground "grey30") (((class color) (background dark)) + ,@(and (>= emacs-major-version 27) '(:extend t)) :background "grey35" :foreground "grey70")) "Face for current diff hunk headings." :group 'magit-faces) (defface magit-diff-hunk-heading-selection - '((((class color) (background light)) + `((((class color) (background light)) + ,@(and (>= emacs-major-version 27) '(:extend t)) :inherit magit-diff-hunk-heading-highlight :foreground "salmon4") (((class color) (background dark)) + ,@(and (>= emacs-major-version 27) '(:extend t)) :inherit magit-diff-hunk-heading-highlight :foreground "LightSalmon3")) "Face for selected diff hunk headings." :group 'magit-faces) (defface magit-diff-hunk-region - '((t :inherit bold)) + `((t :inherit bold + ,@(and (>= emacs-major-version 27) + (list :extend (ignore-errors (face-attribute 'region :extend)))))) "Face used by `magit-diff-highlight-hunk-region-using-face'. -This face is overlayed over text that uses other hunk faces, +This face is overlaid over text that uses other hunk faces, and those normally set the foreground and background colors. The `:foreground' and especially the `:background' properties should be avoided here. Setting the latter would cause the -lose of information. Good properties to set here are `:weight' +loss of information. Good properties to set here are `:weight' and `:slant'." :group 'magit-faces) @@ -561,10 +573,12 @@ and `:slant'." :group 'magit-faces) (defface magit-diff-lines-heading - '((((class color) (background light)) + `((((class color) (background light)) + ,@(and (>= emacs-major-version 27) '(:extend t)) :inherit magit-diff-hunk-heading-highlight :background "LightSalmon3") (((class color) (background dark)) + ,@(and (>= emacs-major-version 27) '(:extend t)) :inherit magit-diff-hunk-heading-highlight :foreground "grey80" :background "salmon4")) @@ -572,7 +586,8 @@ and `:slant'." :group 'magit-faces) (defface magit-diff-lines-boundary - '((t :inherit magit-diff-lines-heading)) + `((t ,@(and (>= emacs-major-version 27) '(:extend t)) ; !important + :inherit magit-diff-lines-heading)) "Face for boundary of marked lines in diff hunk." :group 'magit-faces) @@ -582,22 +597,26 @@ and `:slant'." :group 'magit-faces) (defface magit-diff-added - '((((class color) (background light)) + `((((class color) (background light)) + ,@(and (>= emacs-major-version 27) '(:extend t)) :background "#ddffdd" :foreground "#22aa22") (((class color) (background dark)) + ,@(and (>= emacs-major-version 27) '(:extend t)) :background "#335533" :foreground "#ddffdd")) "Face for lines in a diff that have been added." :group 'magit-faces) (defface magit-diff-removed - '((((class color) (background light)) - :background "#ffdddd" - :foreground "#aa2222") - (((class color) (background dark)) - :background "#553333" - :foreground "#ffdddd")) + `((((class color) (background light)) + ,@(and (>= emacs-major-version 27) '(:extend t)) + :background "#ffdddd" + :foreground "#aa2222") + (((class color) (background dark)) + ,@(and (>= emacs-major-version 27) '(:extend t)) + :background "#553333" + :foreground "#ffdddd")) "Face for lines in a diff that have been removed." :group 'magit-faces) @@ -607,10 +626,12 @@ and `:slant'." :group 'magit-faces) (defface magit-diff-base - '((((class color) (background light)) + `((((class color) (background light)) + ,@(and (>= emacs-major-version 27) '(:extend t)) :background "#ffffcc" :foreground "#aaaa11") (((class color) (background dark)) + ,@(and (>= emacs-major-version 27) '(:extend t)) :background "#555522" :foreground "#ffffcc")) "Face for lines in a diff for the base side in a conflict." @@ -622,26 +643,34 @@ and `:slant'." :group 'magit-faces) (defface magit-diff-context - '((((class color) (background light)) :foreground "grey50") - (((class color) (background dark)) :foreground "grey70")) + `((((class color) (background light)) + ,@(and (>= emacs-major-version 27) '(:extend t)) + :foreground "grey50") + (((class color) (background dark)) + ,@(and (>= emacs-major-version 27) '(:extend t)) + :foreground "grey70")) "Face for lines in a diff that are unchanged." :group 'magit-faces) (defface magit-diff-added-highlight - '((((class color) (background light)) + `((((class color) (background light)) + ,@(and (>= emacs-major-version 27) '(:extend t)) :background "#cceecc" :foreground "#22aa22") (((class color) (background dark)) + ,@(and (>= emacs-major-version 27) '(:extend t)) :background "#336633" :foreground "#cceecc")) "Face for lines in a diff that have been added." :group 'magit-faces) (defface magit-diff-removed-highlight - '((((class color) (background light)) + `((((class color) (background light)) + ,@(and (>= emacs-major-version 27) '(:extend t)) :background "#eecccc" :foreground "#aa2222") (((class color) (background dark)) + ,@(and (>= emacs-major-version 27) '(:extend t)) :background "#663333" :foreground "#eecccc")) "Face for lines in a diff that have been removed." @@ -653,10 +682,12 @@ and `:slant'." :group 'magit-faces) (defface magit-diff-base-highlight - '((((class color) (background light)) + `((((class color) (background light)) + ,@(and (>= emacs-major-version 27) '(:extend t)) :background "#eeeebb" :foreground "#aaaa11") (((class color) (background dark)) + ,@(and (>= emacs-major-version 27) '(:extend t)) :background "#666622" :foreground "#eeeebb")) "Face for lines in a diff for the base side in a conflict." @@ -668,10 +699,12 @@ and `:slant'." :group 'magit-faces) (defface magit-diff-context-highlight - '((((class color) (background light)) + `((((class color) (background light)) + ,@(and (>= emacs-major-version 27) '(:extend t)) :background "grey95" :foreground "grey50") (((class color) (background dark)) + ,@(and (>= emacs-major-version 27) '(:extend t)) :background "grey20" :foreground "grey70")) "Face for lines in the current context in a diff." @@ -780,6 +813,27 @@ and `:slant'." (setq magit-buffer-diff-files files) (magit-refresh))) +;;; Section Classes + +(defclass magit-file-section (magit-section) + ((source :initform nil) + (header :initform nil))) + +(defclass magit-module-section (magit-file-section) + ()) + +(defclass magit-hunk-section (magit-section) + ((refined :initform nil) + (combined :initform nil) + (from-range :initform nil) + (from-ranges :initform nil) + (to-range :initform nil) + (about :initform nil))) + +(setf (alist-get 'hunk magit--section-type-alist) 'magit-hunk-section) +(setf (alist-get 'module magit--section-type-alist) 'magit-module-section) +(setf (alist-get 'file magit--section-type-alist) 'magit-file-section) + ;;; Commands ;;;; Prefix Commands @@ -1747,6 +1801,36 @@ commit or stash at point, then prompt for a commit." (funcall cmd rev)))) (call-interactively #'magit-show-commit)))) +;;;; Section Commands + +(defun magit-section-cycle-diffs () + "Cycle visibility of diff-related sections in the current buffer." + (interactive) + (when-let ((sections + (cond ((derived-mode-p 'magit-status-mode) + (--mapcat + (when it + (when (oref it hidden) + (magit-section-show it)) + (oref it children)) + (list (magit-get-section '((staged) (status))) + (magit-get-section '((unstaged) (status)))))) + ((derived-mode-p 'magit-diff-mode) + (-filter #'magit-file-section-p + (oref magit-root-section children)))))) + (if (--any-p (oref it hidden) sections) + (dolist (s sections) + (magit-section-show s) + (magit-section-hide-children s)) + (let ((children (--mapcat (oref it children) sections))) + (cond ((and (--any-p (oref it hidden) children) + (--any-p (oref it children) children)) + (mapc 'magit-section-show-headings sections)) + ((-any-p 'magit-section-hidden-body children) + (mapc 'magit-section-show-children sections)) + (t + (mapc 'magit-section-hide sections))))))) + ;;; Diff Mode (defvar magit-diff-mode-map @@ -1835,9 +1919,8 @@ Staging and applying changes is documented in info node (defvar magit-file-section-map (let ((map (make-sparse-keymap))) - (unless (featurep 'jkl) - (define-key map (kbd "C-j") 'magit-diff-visit-worktree-file)) - (define-key map [C-return] 'magit-diff-visit-worktree-file) + (define-key map (kbd "C-j") 'magit-diff-visit-worktree-file) + (define-key map [C-return] 'magit-diff-visit-worktree-file) (define-key map [remap magit-visit-thing] 'magit-diff-visit-file) (define-key map [remap magit-delete-thing] 'magit-discard) (define-key map [remap magit-revert-no-commit] 'magit-reverse) @@ -1853,8 +1936,7 @@ Staging and applying changes is documented in info node (defvar magit-hunk-section-map (let ((map (make-sparse-keymap))) - (unless (featurep 'jkl) - (define-key map (kbd "C-j") 'magit-diff-visit-worktree-file)) + (define-key map (kbd "C-j") 'magit-diff-visit-worktree-file) (define-key map [C-return] 'magit-diff-visit-worktree-file) (define-key map [remap magit-visit-thing] 'magit-diff-visit-file) (define-key map [remap magit-delete-thing] 'magit-discard) @@ -1912,6 +1994,17 @@ Staging and applying changes is documented in info node (let ((magit-git-global-arguments (remove "--literal-pathspecs" magit-git-global-arguments))) (setq args (-flatten args)) + ;; As of Git 2.19.0, we need to generate diffs with + ;; --ita-visible-in-index so that `magit-stage' can work with + ;; intent-to-add files (see #4026). Cache the result for each + ;; repo to avoid a `git version' call for every diff insertion. + (when (pcase (magit-repository-local-get 'diff-ita-kludge-p 'unset) + (`unset + (let ((val (version<= "2.19.0" (magit-git-version)))) + (magit-repository-local-set 'diff-ita-kludge-p val) + val)) + (val val)) + (push "--ita-visible-in-index" (cdr args))) (when (cl-member-if (lambda (arg) (string-prefix-p "--color-moved" arg)) args) (push "--color=always" (cdr args)) (setq magit-git-global-arguments @@ -2202,6 +2295,8 @@ section or a child thereof." magit-diff-expansion-threshold) 'hide)) +(add-hook 'magit-section-set-visibility-hook #'magit-diff-expansion-threshold) + ;;; Revision Mode (define-derived-mode magit-revision-mode magit-diff-mode "Magit Rev" @@ -2563,6 +2658,39 @@ or a ref which is not a branch, then it inserts nothing." ;;; Diff Sections +(defun magit-hunk-set-window-start (section) + "When SECTION is a `hunk', ensure that its beginning is visible. +It the SECTION has a different type, then do nothing." + (when (magit-hunk-section-p section) + (magit-section-set-window-start section))) + +(add-hook 'magit-section-movement-hook #'magit-hunk-set-window-start) + +(defun magit-hunk-goto-successor (section arg) + (and (magit-hunk-section-p section) + (when-let ((parent (magit-get-section + (magit-section-ident + (oref section parent))))) + (let* ((children (oref parent children)) + (siblings (magit-section-siblings section 'prev)) + (previous (nth (length siblings) children))) + (if (not arg) + (--when-let (or previous (car (last children))) + (magit-section-goto it) + t) + (when previous + (magit-section-goto previous)) + (if (and (stringp arg) + (re-search-forward arg (oref parent end) t)) + (goto-char (match-beginning 0)) + (goto-char (oref (car (last children)) end)) + (forward-line -1) + (while (looking-at "^ ") (forward-line -1)) + (while (looking-at "^[-+]") (forward-line -1)) + (forward-line))))))) + +(add-hook 'magit-section-goto-successor-hook #'magit-hunk-goto-successor) + (defvar magit-unstaged-section-map (let ((map (make-sparse-keymap))) (define-key map [remap magit-visit-thing] 'magit-diff-unstaged) @@ -2726,6 +2854,9 @@ actually a `diff' but a `diffstat' section." ;;; Diff Highlight +(add-hook 'magit-section-unhighlight-hook #'magit-diff-unhighlight) +(add-hook 'magit-section-highlight-hook #'magit-diff-highlight) + (defun magit-diff-unhighlight (section selection) "Remove the highlighting of the diff-related SECTION." (when (magit-hunk-section-p section) @@ -3002,7 +3133,8 @@ for added and removed lines as for context lines." 'magit-diff-context-highlight 'magit-diff-context))) (when magit-diff-unmarked-lines-keep-foreground - (setq face (list :background (face-attribute face :background)))) + (setq face `(,@(and (>= emacs-major-version 27) '(:extend t)) + :background ,(face-attribute face :background)))) (magit-diff--make-hunk-overlay (oref section content) (magit-diff-hunk-region-beginning) 'font-lock-face face @@ -3063,7 +3195,7 @@ last (visual) lines of the region." (let ((ov (make-overlay start end nil t))) (overlay-put ov 'evaporate t) (while args (overlay-put ov (pop args) (pop args))) - (push ov magit-region-overlays) + (push ov magit-section--region-overlays) ov)) (defun magit-diff--hunk-after-string (face) diff --git a/elpa/magit-20191030.1315/magit-ediff.el b/elpa/magit-20200126.1750/magit-ediff.el similarity index 99% rename from elpa/magit-20191030.1315/magit-ediff.el rename to elpa/magit-20200126.1750/magit-ediff.el index fdcb0133..058dd882 100644 --- a/elpa/magit-20191030.1315/magit-ediff.el +++ b/elpa/magit-20200126.1750/magit-ediff.el @@ -1,6 +1,6 @@ ;;; magit-ediff.el --- Ediff extension for Magit -*- lexical-binding: t -*- -;; Copyright (C) 2010-2019 The Magit Project Contributors +;; Copyright (C) 2010-2020 The Magit Project Contributors ;; ;; You should have received a copy of the AUTHORS.md file which ;; lists all contributors. If not, see http://magit.vc/authors. @@ -497,8 +497,6 @@ stash that were staged." (delete-frame ctl-frm)) ((window-live-p ctl-win) (delete-window ctl-win))) - (unless (ediff-multiframe-setup-p) - (ediff-kill-bottom-toolbar)) (ediff-kill-buffer-carefully ctl-buf) (when (frame-live-p main-frame) (select-frame main-frame)))) diff --git a/elpa/magit-20191030.1315/magit-extras.el b/elpa/magit-20200126.1750/magit-extras.el similarity index 96% rename from elpa/magit-20191030.1315/magit-extras.el rename to elpa/magit-20200126.1750/magit-extras.el index 6414681e..fe47d290 100644 --- a/elpa/magit-20191030.1315/magit-extras.el +++ b/elpa/magit-20200126.1750/magit-extras.el @@ -1,6 +1,6 @@ ;;; magit-extras.el --- additional functionality for Magit -*- lexical-binding: t -*- -;; Copyright (C) 2008-2019 The Magit Project Contributors +;; Copyright (C) 2008-2020 The Magit Project Contributors ;; ;; You should have received a copy of the AUTHORS.md file which ;; lists all contributors. If not, see http://magit.vc/authors. @@ -463,6 +463,12 @@ that)." (choice (regexp :tag "Find index regexp") (const :tag "Don't number entries" nil)))) +(defcustom magit-copy-revision-abbreviated nil + "Whether to save abbreviated revision to `kill-ring' and `magit-revision-stack'." + :package-version '(magit . "3.0.0") + :group 'magit-miscellaneous + :type 'boolean) + ;;;###autoload (defun magit-pop-revision-stack (rev toplevel) "Insert a representation of a revision into the current buffer. @@ -552,6 +558,10 @@ the current section is a commit, branch, or tag section, push the (referenced) revision to the `magit-revision-stack' for use with `magit-pop-revision-stack'. +When `magit-copy-revision-abbreviated' is non-nil, save the +abbreviated revision to the `kill-ring' and the +`magit-revision-stack'. + When the current section is a branch or a tag, and a prefix argument is used, then save the revision at its tip to the `kill-ring' instead of the reference name. @@ -571,7 +581,7 @@ hunk, strip the outer diff marker column." (buffer-substring-no-properties (region-beginning) (region-end))))) ((use-region-p) - (copy-region-as-kill nil nil 'region)) + (call-interactively #'copy-region-as-kill)) (t (when-let ((section (magit-current-section)) (value (oref section value))) @@ -586,7 +596,9 @@ hunk, strip the outer diff marker column." (file-name-as-directory (expand-file-name (magit-section-parent-value section) (magit-toplevel)))))) - (setq value (magit-rev-parse value)) + (setq value (magit-rev-parse + (and magit-copy-revision-abbreviated "--short") + value)) (push (list value default-directory) magit-revision-stack) (kill-new (message "%s" (or (and current-prefix-arg ref) value))))) @@ -613,10 +625,14 @@ the current section instead, using `magit-copy-section-value'. When the region is active, then save that to the `kill-ring', like `kill-ring-save' would, instead of behaving as described -above." +above. + +When `magit-copy-revision-abbreviated' is non-nil, save the +abbreviated revision to the `kill-ring' and the +`magit-revision-stack'." (interactive) (if (use-region-p) - (copy-region-as-kill nil nil 'region) + (call-interactively #'copy-region-as-kill) (when-let ((rev (or magit-buffer-revision (cl-case major-mode (magit-diff-mode @@ -626,7 +642,9 @@ above." magit-buffer-range)) (magit-status-mode "HEAD"))))) (when (magit-commit-p rev) - (setq rev (magit-rev-parse rev)) + (setq rev (magit-rev-parse + (and magit-copy-revision-abbreviated "--short") + rev)) (push (list rev default-directory) magit-revision-stack) (kill-new (message "%s" rev)))))) diff --git a/elpa/magit-20191030.1315/magit-fetch.el b/elpa/magit-20200126.1750/magit-fetch.el similarity index 96% rename from elpa/magit-20191030.1315/magit-fetch.el rename to elpa/magit-20200126.1750/magit-fetch.el index 4a1676ec..a3a0cc65 100644 --- a/elpa/magit-20191030.1315/magit-fetch.el +++ b/elpa/magit-20200126.1750/magit-fetch.el @@ -1,6 +1,6 @@ ;;; magit-fetch.el --- download objects and refs -*- lexical-binding: t -*- -;; Copyright (C) 2008-2019 The Magit Project Contributors +;; Copyright (C) 2008-2020 The Magit Project Contributors ;; ;; You should have received a copy of the AUTHORS.md file which ;; lists all contributors. If not, see http://magit.vc/authors. @@ -70,9 +70,9 @@ Ignored for Git versions before v2.8.0." (define-suffix-command magit-fetch-from-pushremote (args) "Fetch from the current push-remote. -When the push-remote is not configured, then read the push-remote -from the user, set it, and then fetch from it. With a prefix -argument the push-remote can be changed before fetching from it." +With a prefix argument or when the push-remote is either not +configured or unusable, then let the user first configure the +push-remote." :description 'magit-fetch--pushremote-description (interactive (list (magit-fetch-arguments))) (let ((remote (magit-get-push-remote))) diff --git a/elpa/magit-20191030.1315/magit-files.el b/elpa/magit-20200126.1750/magit-files.el similarity index 97% rename from elpa/magit-20191030.1315/magit-files.el rename to elpa/magit-20200126.1750/magit-files.el index 20ec596b..3f0758d2 100644 --- a/elpa/magit-20191030.1315/magit-files.el +++ b/elpa/magit-20200126.1750/magit-files.el @@ -1,6 +1,6 @@ ;;; magit-files.el --- finding files -*- lexical-binding: t -*- -;; Copyright (C) 2010-2019 The Magit Project Contributors +;; Copyright (C) 2010-2020 The Magit Project Contributors ;; ;; You should have received a copy of the AUTHORS.md file which ;; lists all contributors. If not, see http://magit.vc/authors. @@ -355,18 +355,11 @@ Currently this only adds the following key bindings. (defvar magit-blob-mode-map (let ((map (make-sparse-keymap))) - (cond ((featurep 'jkl) - (define-key map "i" 'magit-blob-previous) - (define-key map "k" 'magit-blob-next) - (define-key map "j" 'magit-blame-addition) - (define-key map "l" 'magit-blame-removal) - (define-key map "f" 'magit-blame-reverse)) - (t - (define-key map "p" 'magit-blob-previous) - (define-key map "n" 'magit-blob-next) - (define-key map "b" 'magit-blame-addition) - (define-key map "r" 'magit-blame-removal) - (define-key map "f" 'magit-blame-reverse))) + (define-key map "p" 'magit-blob-previous) + (define-key map "n" 'magit-blob-next) + (define-key map "b" 'magit-blame-addition) + (define-key map "r" 'magit-blame-removal) + (define-key map "f" 'magit-blame-reverse) (define-key map "q" 'magit-kill-this-buffer) map) "Keymap for `magit-blob-mode'.") diff --git a/elpa/magit-20191030.1315/magit-git.el b/elpa/magit-20200126.1750/magit-git.el similarity index 99% rename from elpa/magit-20191030.1315/magit-git.el rename to elpa/magit-20200126.1750/magit-git.el index f1554376..ebd56103 100644 --- a/elpa/magit-20191030.1315/magit-git.el +++ b/elpa/magit-20200126.1750/magit-git.el @@ -1,6 +1,6 @@ ;;; magit-git.el --- Git functionality -*- lexical-binding: t -*- -;; Copyright (C) 2010-2019 The Magit Project Contributors +;; Copyright (C) 2010-2020 The Magit Project Contributors ;; ;; You should have received a copy of the AUTHORS.md file which ;; lists all contributors. If not, see http://magit.vc/authors. @@ -187,7 +187,7 @@ know what you are doing. And think very hard before adding something; it will be used every time Magit runs Git for any purpose." :package-version '(magit . "2.9.0") - :group 'magit-git-arguments + :group 'magit-commands :group 'magit-process :type '(repeat string)) @@ -1023,10 +1023,14 @@ are considered." (defun magit-module-no-worktree-p (module) (not (magit-module-worktree-p module))) -(defun magit-ignore-submodules-p () - (cl-find-if (lambda (arg) - (string-prefix-p "--ignore-submodules" arg)) - magit-buffer-diff-args)) +(defun magit-ignore-submodules-p (&optional return-argument) + (or (cl-find-if (lambda (arg) + (string-prefix-p "--ignore-submodules" arg)) + magit-buffer-diff-args) + (when-let ((value (magit-get "diff.ignoreSubmodules"))) + (if return-argument + (concat "--ignore-submodules=" value) + (concat "diff.ignoreSubmodules=" value))))) ;;; Revisions and References @@ -1175,7 +1179,7 @@ Git." (substring it 5)))) (defun magit-ref-abbrev (refname) - "Return an unambigious abbreviation of REFNAME." + "Return an unambiguous abbreviation of REFNAME." (magit-rev-parse "--verify" "--abbrev-ref" refname)) (defun magit-ref-fullname (refname) @@ -1191,7 +1195,7 @@ If REFNAME is ambiguous, return nil." (defun magit-ref-maybe-qualify (refname &optional prefix) "If REFNAME is ambiguous, try to disambiguate it by prepend PREFIX to it. -Return an unambigious refname, either REFNAME or that prefixed +Return an unambiguous refname, either REFNAME or that prefixed with PREFIX, nil otherwise. If REFNAME has an offset suffix such as \"~1\", then that is preserved. If optional PREFIX is nil, then use \"heads/\". " diff --git a/elpa/magit-20191030.1315/magit-gitignore.el b/elpa/magit-20200126.1750/magit-gitignore.el similarity index 98% rename from elpa/magit-20191030.1315/magit-gitignore.el rename to elpa/magit-20200126.1750/magit-gitignore.el index d54d56b7..ad1ac91d 100644 --- a/elpa/magit-20191030.1315/magit-gitignore.el +++ b/elpa/magit-20200126.1750/magit-gitignore.el @@ -1,6 +1,6 @@ ;;; magit-gitignore.el --- intentionally untracked files -*- lexical-binding: t -*- -;; Copyright (C) 2008-2019 The Magit Project Contributors +;; Copyright (C) 2008-2020 The Magit Project Contributors ;; ;; You should have received a copy of the AUTHORS.md file which ;; lists all contributors. If not, see http://magit.vc/authors. @@ -81,7 +81,7 @@ Also stage the file." (magit-with-toplevel (let ((file (expand-file-name ".gitignore" directory))) (magit--gitignore rule file) - (magit-run-git "add" ".gitignore")))) + (magit-run-git "add" file)))) ;;;###autoload (defun magit-gitignore-in-gitdir (rule) diff --git a/elpa/magit-20191030.1315/magit-imenu.el b/elpa/magit-20200126.1750/magit-imenu.el similarity index 99% rename from elpa/magit-20191030.1315/magit-imenu.el rename to elpa/magit-20200126.1750/magit-imenu.el index 5125e8a8..bba7eed5 100644 --- a/elpa/magit-20191030.1315/magit-imenu.el +++ b/elpa/magit-20200126.1750/magit-imenu.el @@ -1,6 +1,6 @@ ;;; magit-imenu.el --- Integrate Imenu in magit major modes -*- lexical-binding: t -*- -;; Copyright (C) 2010-2019 The Magit Project Contributors +;; Copyright (C) 2010-2020 The Magit Project Contributors ;; ;; You should have received a copy of the AUTHORS.md file which ;; lists all contributors. If not, see http://magit.vc/authors. diff --git a/elpa/magit-20191030.1315/magit-log.el b/elpa/magit-20200126.1750/magit-log.el similarity index 99% rename from elpa/magit-20191030.1315/magit-log.el rename to elpa/magit-20200126.1750/magit-log.el index b6b0e858..39b8fe9b 100644 --- a/elpa/magit-20191030.1315/magit-log.el +++ b/elpa/magit-20200126.1750/magit-log.el @@ -1,6 +1,6 @@ ;;; magit-log.el --- inspect Git history -*- lexical-binding: t -*- -;; Copyright (C) 2010-2019 The Magit Project Contributors +;; Copyright (C) 2010-2020 The Magit Project Contributors ;; ;; You should have received a copy of the AUTHORS.md file which ;; lists all contributors. If not, see http://magit.vc/authors. @@ -124,7 +124,7 @@ This option only controls whether the committer date is displayed instead of the author date. Whether some date is displayed in the margin and whether the margin is displayed at all is controlled by other options." - :package-version '(magit . "2.91.0") + :package-version '(magit . "3.0.0") :group 'magit-log :group 'magit-margin :type 'boolean) @@ -155,7 +155,7 @@ This is useful if you use really long branch names." This is used by the command `magit-log-trace-definition'. You should prefer `magit-which-function' over `which-function' because the latter may make use of Imenu's outdated cache." - :package-version '(magit . "2.91.0") + :package-version '(magit . "3.0.0") :group 'magit-log :type '(choice (function-item magit-which-function) (function-item which-function) @@ -1261,15 +1261,15 @@ Do not add this to a hook variable." t) (defun magit-log-propertize-keywords (_rev msg) - (let ((start 0)) - (when (string-match "^\\(squash\\|fixup\\)! " msg start) - (setq start (match-end 0)) - (magit--put-face (match-beginning 0) (match-end 0) + (let ((boundary 0)) + (when (string-match "^\\(?:squash\\|fixup\\)! " msg boundary) + (setq boundary (match-end 0)) + (magit--put-face (match-beginning 0) (1- boundary) 'magit-keyword-squash msg)) - (while (string-match "\\[[^[]*\\]" msg start) - (setq start (match-end 0)) - (when magit-log-highlight-keywords - (magit--put-face (match-beginning 0) (match-end 0) + (when magit-log-highlight-keywords + (while (string-match "\\[[^[]*?]" msg boundary) + (setq boundary (match-end 0)) + (magit--put-face (match-beginning 0) boundary 'magit-keyword msg)))) msg) @@ -1289,6 +1289,8 @@ exists mostly for backward compatibility reasons." (forward-line -1) (magit-section-forward))) +(add-hook 'magit-section-movement-hook #'magit-log-maybe-show-more-commits) + (defvar magit--update-revision-buffer nil) (defun magit-log-maybe-update-revision-buffer (&optional _) @@ -1297,6 +1299,8 @@ If there is no revision buffer in the same frame, then do nothing." (when (derived-mode-p 'magit-log-mode 'magit-cherry-mode 'magit-reflog-mode) (magit--maybe-update-revision-buffer))) +(add-hook 'magit-section-movement-hook #'magit-log-maybe-update-revision-buffer) + (defun magit--maybe-update-revision-buffer () (when-let ((commit (magit-section-value-if 'commit)) (buffer (magit-get-mode-buffer 'magit-revision-mode nil t))) diff --git a/elpa/magit-20191030.1315/magit-margin.el b/elpa/magit-20200126.1750/magit-margin.el similarity index 99% rename from elpa/magit-20191030.1315/magit-margin.el rename to elpa/magit-20200126.1750/magit-margin.el index b3137c68..af85389c 100644 --- a/elpa/magit-20191030.1315/magit-margin.el +++ b/elpa/magit-20200126.1750/magit-margin.el @@ -1,6 +1,6 @@ ;;; magit-margin.el --- margins in Magit buffers -*- lexical-binding: t -*- -;; Copyright (C) 2010-2019 The Magit Project Contributors +;; Copyright (C) 2010-2020 The Magit Project Contributors ;; ;; You should have received a copy of the AUTHORS.md file which ;; lists all contributors. If not, see http://magit.vc/authors. diff --git a/elpa/magit-20191030.1315/magit-merge.el b/elpa/magit-20200126.1750/magit-merge.el similarity index 98% rename from elpa/magit-20191030.1315/magit-merge.el rename to elpa/magit-20200126.1750/magit-merge.el index 5a8486ef..18de7a57 100644 --- a/elpa/magit-20191030.1315/magit-merge.el +++ b/elpa/magit-20200126.1750/magit-merge.el @@ -1,6 +1,6 @@ ;;; magit-merge.el --- merge functionality -*- lexical-binding: t -*- -;; Copyright (C) 2010-2019 The Magit Project Contributors +;; Copyright (C) 2010-2020 The Magit Project Contributors ;; ;; You should have received a copy of the AUTHORS.md file which ;; lists all contributors. If not, see http://magit.vc/authors. @@ -31,6 +31,7 @@ (require 'subr-x)) (require 'magit) +(require 'magit-diff) (declare-function magit-git-push "magit-push" (branch target args)) @@ -46,6 +47,7 @@ ("-f" "Fast-forward only" "--ff-only") ("-n" "No fast-forward" "--no-ff") (magit-merge:--strategy) + (5 magit-diff:--diff-algorithm :argument "--Xdiff-algorithm=") (5 magit:--gpg-sign)] ["Actions" :if-not magit-merge-in-progress-p diff --git a/elpa/magit-20191030.1315/magit-mode.el b/elpa/magit-20200126.1750/magit-mode.el similarity index 86% rename from elpa/magit-20191030.1315/magit-mode.el rename to elpa/magit-20200126.1750/magit-mode.el index b82ab50a..6c8b4a76 100644 --- a/elpa/magit-20191030.1315/magit-mode.el +++ b/elpa/magit-20200126.1750/magit-mode.el @@ -1,6 +1,6 @@ ;;; magit-mode.el --- create and refresh Magit buffers -*- lexical-binding: t -*- -;; Copyright (C) 2010-2019 The Magit Project Contributors +;; Copyright (C) 2010-2020 The Magit Project Contributors ;; ;; You should have received a copy of the AUTHORS.md file which ;; lists all contributors. If not, see http://magit.vc/authors. @@ -50,6 +50,8 @@ (declare-function magit-auto-revert-buffers "magit-autorevert" ()) ;; For `magit-refresh-buffer' (declare-function magit-process-unset-mode-line-error-status "magit-process" ()) +;; For `magit-refresh-get-relative-position' +(declare-function magit-hunk-section-p "magit-diff" (obj)) ;; For `magit-mode-setup-internal' (declare-function magit-status-goto-initial-section "magit-status" ()) ;; For `magit-mode' from `bookmark' @@ -63,7 +65,7 @@ (defcustom magit-mode-hook '(magit-load-config-extensions) "Hook run when entering a mode derived from Magit mode." - :package-version '(magit . "2.91.0") + :package-version '(magit . "3.0.0") :group 'magit-modes :type 'hook :options '(magit-load-config-extensions @@ -230,7 +232,7 @@ Valid values are: For more information see info node `(magit)Transient Arguments and Buffer Arguments'." - :package-version '(magit . "2.91.0") + :package-version '(magit . "3.0.0") :group 'magit-buffers :group 'magit-commands :type '(choice (const :tag "always use args from buffer" always) @@ -259,15 +261,14 @@ Valid values are: For more information see info node `(magit)Transient Arguments and Buffer Arguments'." - :package-version '(magit . "2.91.0") + :package-version '(magit . "3.0.0") :group 'magit-buffers :group 'magit-commands :type '(choice (const :tag "always use args from buffer" always) (const :tag "use args from buffer if it is current" current) (const :tag "never use args from buffer" never))) -(defcustom magit-region-highlight-hook - '(magit-section-update-region magit-diff-update-hunk-region) +(defcustom magit-region-highlight-hook '(magit-diff-update-hunk-region) "Functions used to highlight the region. Each function is run with the current section as only argument @@ -276,7 +277,7 @@ then fall back to regular region highlighting." :package-version '(magit . "2.1.0") :group 'magit-refresh :type 'hook - :options '(magit-section-update-region magit-diff-update-hunk-region)) + :options '(magit-diff-update-hunk-region)) (defcustom magit-create-buffer-hook nil "Normal hook run after creating a new `magit-mode' buffer." @@ -327,119 +328,25 @@ recommended value." (const :tag "Ask" t) (const :tag "Save without asking" dontask))) -(defcustom magit-keep-region-overlay nil - "Whether to keep the region overlay when there is a valid selection. - -By default Magit removes the regular region overlay if, and only -if, that region constitutes a valid selection as understood by -Magit commands. Otherwise it does not remove that overlay, and -the region looks like it would in other buffers. - -There are two types of such valid selections: hunk-internal -regions and regions that select two or more sibling sections. -In such cases Magit removes the region overlay and instead -highlights a slightly larger range. All text (for hunk-internal -regions) or the headings of all sections (for sibling selections) -that are inside that range (not just inside the region) are acted -on by commands such as the staging command. This buffer range -begins at the beginning of the line on which the region begins -and ends at the end of the line on which the region ends. - -Because Magit acts on this larger range and not the region, it is -actually quite important to visualize that larger range. If we -don't do that, then one might think that these commands act on -the region instead. If you want to *also* visualize the region, -then set this option to t. But please note that when the region -does *not* constitute a valid selection, then the region is -*always* visualized as usual, and that it is usually under such -circumstances that you want to use a non-magit command to act on -the region. - -Besides keeping the region overlay, setting this option to t also -causes all face properties, except for `:foreground', to be -ignored for the faces used to highlight headings of selected -sections. This avoids the worst conflicts that result from -displaying the region and the selection overlays at the same -time. We are not interested in dealing with other conflicts. -In fact we *already* provide a way to avoid all of these -conflicts: *not* changing the value of this option. - -It should be clear by now that we consider it a mistake to set -this to display the region when the Magit selection is also -visualized, but since it has been requested a few times and -because it doesn't cost much to offer this option we do so. -However that might change. If the existence of this option -starts complicating other things, then it will be removed." - :package-version '(magit . "2.3.0") - :group 'magit-miscellaneous - :type 'boolean) - -(defcustom magit-disable-line-numbers t - "In Magit buffers, whether to disable modes that display line numbers. - -Some users who turn on `global-disable-line-numbers-mode' (or -`global-nlinum-mode' or `global-linum-mode') expect line numbers -to be displayed everywhere except in Magit buffers. Other users do -not expect Magit buffers to be treated differently. At least in -theory users in the first group should not use the global mode, -but that ship has sailed, thus this option." - :package-version '(magit . "2.91.0") - :group 'magit-miscellaneous - :type 'boolean) - ;;; Key Bindings (defvar magit-mode-map - (let ((map (make-keymap))) - (suppress-keymap map t) - (cond ((featurep 'jkl) - (define-key map [return] 'magit-visit-thing) - (define-key map [C-return] 'magit-dired-jump) - (define-key map [tab] 'magit-section-toggle) - (define-key map [C-tab] 'magit-section-cycle) - (define-key map [M-tab] 'magit-section-cycle-diffs) - (define-key map [S-tab] 'magit-section-cycle-global) - (define-key map (kbd "M-o") 'magit-section-up) - (define-key map (kbd "i") 'magit-section-backward) - (define-key map (kbd "k") 'magit-section-forward) - (define-key map (kbd "M-i") 'magit-section-backward-sibling) - (define-key map (kbd "M-k") 'magit-section-forward-sibling) - (define-key map (kbd "p") 'magit-push) - (define-key map (kbd ",") 'magit-delete-thing) - (define-key map (kbd ";") 'magit-file-untrack) - (define-key map (kbd "C-c C-i") 'magit-gitignore)) - (t - (define-key map [C-return] 'magit-visit-thing) - (define-key map (kbd "C-m") 'magit-visit-thing) - (define-key map (kbd "C-M-i") 'magit-dired-jump) - (define-key map (kbd "C-i") 'magit-section-toggle) - (define-key map [C-tab] 'magit-section-cycle) - (define-key map [M-tab] 'magit-section-cycle-diffs) - ;; [backtab] is the most portable binding for Shift+Tab. - (define-key map [backtab] 'magit-section-cycle-global) - (define-key map (kbd "^") 'magit-section-up) - (define-key map (kbd "p") 'magit-section-backward) - (define-key map (kbd "n") 'magit-section-forward) - (define-key map (kbd "M-p") 'magit-section-backward-sibling) - (define-key map (kbd "M-n") 'magit-section-forward-sibling) - (define-key map (kbd "P") 'magit-push) - (define-key map (kbd "k") 'magit-delete-thing) - (define-key map (kbd "K") 'magit-file-untrack) - (define-key map (kbd "i") 'magit-gitignore) - (define-key map (kbd "I") 'magit-gitignore))) + (let ((map (make-sparse-keymap))) + (set-keymap-parent map magit-section-mode-map) + (define-key map [C-return] 'magit-visit-thing) + (define-key map (kbd "C-m") 'magit-visit-thing) + (define-key map (kbd "C-M-i") 'magit-dired-jump) + (define-key map [M-tab] 'magit-section-cycle-diffs) + (define-key map (kbd "P") 'magit-push) + (define-key map (kbd "k") 'magit-delete-thing) + (define-key map (kbd "K") 'magit-file-untrack) + (define-key map (kbd "i") 'magit-gitignore) + (define-key map (kbd "I") 'magit-gitignore) (define-key map (kbd "SPC") 'magit-diff-show-or-scroll-up) (define-key map (kbd "DEL") 'magit-diff-show-or-scroll-down) (define-key map "+" 'magit-diff-more-context) (define-key map "-" 'magit-diff-less-context) (define-key map "0" 'magit-diff-default-context) - (define-key map "1" 'magit-section-show-level-1) - (define-key map "2" 'magit-section-show-level-2) - (define-key map "3" 'magit-section-show-level-3) - (define-key map "4" 'magit-section-show-level-4) - (define-key map (kbd "M-1") 'magit-section-show-level-1-all) - (define-key map (kbd "M-2") 'magit-section-show-level-2-all) - (define-key map (kbd "M-3") 'magit-section-show-level-3-all) - (define-key map (kbd "M-4") 'magit-section-show-level-4-all) (define-key map "$" 'magit-process-buffer) (define-key map "%" 'magit-worktree) (define-key map "a" 'magit-cherry-apply) @@ -467,10 +374,10 @@ but that ship has sailed, thus this option." (define-key map "q" 'magit-mode-bury-buffer) (define-key map "r" 'magit-rebase) (define-key map "R" 'magit-file-rename) - (define-key map "t" 'magit-tag) - (define-key map "T" 'magit-notes) (define-key map "s" 'magit-stage-file) (define-key map "S" 'magit-stage-modified) + (define-key map "t" 'magit-tag) + (define-key map "T" 'magit-notes) (define-key map "u" 'magit-unstage-file) (define-key map "U" 'magit-unstage-all) (define-key map "v" 'magit-revert-no-commit) @@ -596,67 +503,17 @@ which visits the thing at point using `browse-url'." (when (fboundp sym) (funcall sym 1))))) -(define-derived-mode magit-mode special-mode "Magit" +(define-derived-mode magit-mode magit-section-mode "Magit" "Parent major mode from which Magit major modes inherit. Magit is documented in info node `(magit)'." - :group 'magit-modes - (buffer-disable-undo) - (setq truncate-lines t) - (setq buffer-read-only t) - (setq-local line-move-visual t) ; see #1771 - ;; Turn off syntactic font locking, but not by setting - ;; `font-lock-defaults' because that would enable font locking, and - ;; not all magit plugins may be ready for that (see #3950). - (setq-local font-lock-syntactic-face-function #'ignore) - (setq show-trailing-whitespace nil) - (setq list-buffers-directory (abbreviate-file-name default-directory)) + :group 'magit (hack-dir-local-variables-non-file-buffer) - (make-local-variable 'text-property-default-nonsticky) - (push (cons 'keymap t) text-property-default-nonsticky) - (add-hook 'post-command-hook #'magit-section-update-highlight t t) - (add-hook 'deactivate-mark-hook #'magit-section-update-highlight t t) - (setq-local redisplay-highlight-region-function 'magit-highlight-region) - (setq-local redisplay-unhighlight-region-function 'magit-unhighlight-region) (setq mode-line-process (magit-repository-local-get 'mode-line-process)) - (when magit-disable-line-numbers - (when (bound-and-true-p global-linum-mode) - (linum-mode -1)) - (when (and (fboundp 'nlinum-mode) - (bound-and-true-p global-nlinum-mode)) - (nlinum-mode -1)) - (when (and (fboundp 'display-line-numbers-mode) - (bound-and-true-p global-display-line-numbers-mode)) - (display-line-numbers-mode -1))) - (add-hook 'kill-buffer-hook 'magit-preserve-section-visibility-cache) (setq-local bookmark-make-record-function 'magit--make-bookmark)) ;;; Highlighting -(defvar-local magit-region-overlays nil) - -(defun magit-delete-region-overlays () - (mapc #'delete-overlay magit-region-overlays) - (setq magit-region-overlays nil)) - -(defun magit-highlight-region (start end window rol) - (magit-delete-region-overlays) - (if (and (run-hook-with-args-until-success 'magit-region-highlight-hook - (magit-current-section)) - (not magit-keep-region-overlay) - (not (= (line-number-at-pos start) - (line-number-at-pos end))) - ;; (not (eq (car-safe last-command-event) 'mouse-movement)) - ) - (funcall (default-value 'redisplay-unhighlight-region-function) rol) - (funcall (default-value 'redisplay-highlight-region-function) - start end window rol))) - -(defun magit-unhighlight-region (rol) - (setq magit-section-highlighted-section nil) - (magit-delete-region-overlays) - (funcall (default-value 'redisplay-unhighlight-region-function) rol)) - ;;; Local Variables (defvar-local magit-buffer-arguments nil) @@ -688,13 +545,13 @@ Magit is documented in info node `(magit)'." "Obsolete. Possibly the arguments used to refresh the current buffer. Some third-party packages might still use this, but Magit does not.") (put 'magit-refresh-args 'permanent-local t) -(make-obsolete-variable 'magit-refresh-args nil "Magit 2.91.0") +(make-obsolete-variable 'magit-refresh-args nil "Magit 3.0.0") (defvar magit-buffer-lock-functions nil "Obsolete buffer-locking support for third-party modes. Implement the generic function `magit-buffer-value' for your mode instead of adding an entry to this variable.") -(make-obsolete-variable 'magit-buffer-lock-functions nil "Magit 2.91.0") +(make-obsolete-variable 'magit-buffer-lock-functions nil "Magit 3.0.0") (cl-defgeneric magit-buffer-value () (when-let ((fn (cdr (assq major-mode magit-buffer-lock-functions)))) @@ -743,7 +600,7 @@ your mode instead of adding an entry to this variable.") (defun magit-mode-setup (mode &rest args) "Setup up a MODE buffer using ARGS to generate its content." - (declare (obsolete magit-setup-buffer "Magit 2.91.0")) + (declare (obsolete magit-setup-buffer "Magit 3.0.0")) (with-no-warnings (magit-mode-setup-internal mode args))) @@ -751,7 +608,7 @@ your mode instead of adding an entry to this variable.") "Setup up a MODE buffer using ARGS to generate its content. When optional LOCKED is non-nil, then create a buffer that is locked to its value, which is derived from MODE and ARGS." - (declare (obsolete magit-setup-buffer "Magit 2.91.0")) + (declare (obsolete magit-setup-buffer "Magit 3.0.0")) (let* ((value (and locked (with-temp-buffer (with-no-warnings @@ -994,7 +851,7 @@ If a frame, then only consider buffers on that frame." (magit--not-inside-repository-error))) (defun magit-mode-get-buffer (mode &optional create frame value) - (declare (obsolete magit-get-mode-buffer "Magit 2.91.0")) + (declare (obsolete magit-get-mode-buffer "Magit 3.0.0")) (when create (error "`magit-mode-get-buffer's CREATE argument is obsolete")) (if-let ((topdir (magit-toplevel))) @@ -1222,10 +1079,10 @@ Run hooks `magit-pre-refresh-hook' and `magit-post-refresh-hook'." (erase-buffer) (save-excursion (apply refresh (with-no-warnings magit-refresh-args)))) - (dolist (window windows) - (with-selected-window (car window) + (pcase-dolist (`(,window . ,args) windows) + (with-selected-window window (with-current-buffer buffer - (apply #'magit-section-goto-successor (cdr window))))) + (apply #'magit-section-goto-successor args)))) (run-hooks 'magit-refresh-buffer-hook) (magit-section-update-highlight) (set-buffer-modified-p nil)) @@ -1513,6 +1370,17 @@ Unless specified, REPOSITORY is the current buffer's repository." (setf (cdr cache) (cl-delete key (cdr cache) :key #'car :test #'equal))))) +(defun magit-preserve-section-visibility-cache () + (when (derived-mode-p 'magit-status-mode 'magit-refs-mode) + (magit-repository-local-set + (cons major-mode 'magit-section-visibility-cache) + magit-section-visibility-cache))) + +(defun magit-restore-section-visibility-cache (mode) + (setq magit-section-visibility-cache + (magit-repository-local-get + (cons mode 'magit-section-visibility-cache)))) + (defun magit-zap-caches () "Zap caches for the current repository. Remove the repository's entry from `magit-repository-local-cache' @@ -1531,6 +1399,15 @@ repository's Magit buffers." ;;; Utilities +(defun magit-toggle-verbose-refresh () + "Toggle whether Magit refreshes buffers verbosely. +Enabling this helps figuring out which sections are bottlenecks. +The additional output can be found in the *Messages* buffer." + (interactive) + (setq magit-refresh-verbose (not magit-refresh-verbose)) + (message "%s verbose refreshing" + (if magit-refresh-verbose "Enabled" "Disabled"))) + (defun magit-run-hook-with-benchmark (hook) (when hook (if magit-refresh-verbose diff --git a/elpa/magit-20191030.1315/magit-notes.el b/elpa/magit-20200126.1750/magit-notes.el similarity index 99% rename from elpa/magit-20191030.1315/magit-notes.el rename to elpa/magit-20200126.1750/magit-notes.el index 1bd1fd34..99196089 100644 --- a/elpa/magit-20191030.1315/magit-notes.el +++ b/elpa/magit-20200126.1750/magit-notes.el @@ -1,6 +1,6 @@ ;;; magit-notes.el --- notes support -*- lexical-binding: t -*- -;; Copyright (C) 2010-2019 The Magit Project Contributors +;; Copyright (C) 2010-2020 The Magit Project Contributors ;; ;; You should have received a copy of the AUTHORS.md file which ;; lists all contributors. If not, see http://magit.vc/authors. diff --git a/elpa/magit-20191030.1315/magit-obsolete.el b/elpa/magit-20200126.1750/magit-obsolete.el similarity index 87% rename from elpa/magit-20191030.1315/magit-obsolete.el rename to elpa/magit-20200126.1750/magit-obsolete.el index 7fb2141c..d7c2f1b9 100644 --- a/elpa/magit-20191030.1315/magit-obsolete.el +++ b/elpa/magit-20200126.1750/magit-obsolete.el @@ -1,6 +1,6 @@ ;;; magit-obsolete.el --- obsolete definitions -*- lexical-binding: t -*- -;; Copyright (C) 2010-2019 The Magit Project Contributors +;; Copyright (C) 2010-2020 The Magit Project Contributors ;; ;; You should have received a copy of the AUTHORS.md file which ;; lists all contributors. If not, see http://magit.vc/authors. @@ -29,25 +29,28 @@ (require 'magit) -;;; Obsolete since v2.91.0 +;;; Obsolete since v3.0.0 (define-obsolete-function-alias 'magit-diff-visit-file-worktree - 'magit-diff-visit-worktree-file "Magit 2.91.0") + 'magit-diff-visit-worktree-file "Magit 3.0.0") (define-obsolete-function-alias 'magit-status-internal - 'magit-status-setup-buffer "Magit 2.91.0") + 'magit-status-setup-buffer "Magit 3.0.0") (define-obsolete-variable-alias 'magit-mode-setup-hook - 'magit-setup-buffer-hook "Magit 2.91.0") + 'magit-setup-buffer-hook "Magit 3.0.0") (define-obsolete-variable-alias 'magit-branch-popup-show-variables - 'magit-branch-direct-configure "Magit 2.91.0") + 'magit-branch-direct-configure "Magit 3.0.0") (define-obsolete-function-alias 'magit-dispatch-popup - 'magit-dispatch "Magit 2.91.0") + 'magit-dispatch "Magit 3.0.0") (define-obsolete-function-alias 'magit-repolist-column-dirty - 'magit-repolist-column-flag "Magit 2.91.0") + 'magit-repolist-column-flag "Magit 3.0.0") + +(define-obsolete-variable-alias 'magit-disable-line-numbers + 'magit-section-disable-line-numbers "Magit 3.0.0") (defun magit--magit-popup-warning () (display-warning 'magit "\ @@ -81,7 +84,7 @@ Converting-popup-modifications-to-transient-modifications To find installed packages that still use `magit-popup' you can use e.g. \"M-x rgrep RET magit-popup RET RET ~/.emacs.d/ RET\".")) (cl-eval-when (eval load) - (unless (require 'magit-popup nil t) + (unless (require (quote magit-popup) nil t) (defun magit-define-popup-switch (&rest _) (magit--magit-popup-warning)) (defun magit-define-popup-option (&rest _) diff --git a/elpa/magit-20191030.1315/magit-patch.el b/elpa/magit-20200126.1750/magit-patch.el similarity index 98% rename from elpa/magit-20191030.1315/magit-patch.el rename to elpa/magit-20200126.1750/magit-patch.el index 95e3e569..713a2d6a 100644 --- a/elpa/magit-20191030.1315/magit-patch.el +++ b/elpa/magit-20200126.1750/magit-patch.el @@ -1,6 +1,6 @@ ;;; magit-patch.el --- creating and applying patches -*- lexical-binding: t -*- -;; Copyright (C) 2008-2019 The Magit Project Contributors +;; Copyright (C) 2008-2020 The Magit Project Contributors ;; ;; You should have received a copy of the AUTHORS.md file which ;; lists all contributors. If not, see http://magit.vc/authors. @@ -246,7 +246,7 @@ same differences as those shown in the buffer are always used." (defun magit-request-pull (url start end) "Request upstream to pull from you public repository. -URL is the url of your publically accessible repository. +URL is the url of your publicly accessible repository. START is a commit that already is in the upstream repository. END is the last commit, usually a branch name, which upstream is asked to pull. START has to be reachable from that commit." diff --git a/elpa/magit-20191030.1315/magit-pkg.el b/elpa/magit-20200126.1750/magit-pkg.el similarity index 79% rename from elpa/magit-20191030.1315/magit-pkg.el rename to elpa/magit-20200126.1750/magit-pkg.el index 917b9ef3..352f1413 100644 --- a/elpa/magit-20191030.1315/magit-pkg.el +++ b/elpa/magit-20200126.1750/magit-pkg.el @@ -1,4 +1,4 @@ -(define-package "magit" "20191030.1315" "A Git porcelain inside Emacs." +(define-package "magit" "20200126.1750" "A Git porcelain inside Emacs." '((emacs "25.1") (async "20180527") (dash "20180910") diff --git a/elpa/magit-20191030.1315/magit-process.el b/elpa/magit-20200126.1750/magit-process.el similarity index 99% rename from elpa/magit-20191030.1315/magit-process.el rename to elpa/magit-20200126.1750/magit-process.el index 75fa9d1d..c7780b07 100644 --- a/elpa/magit-20191030.1315/magit-process.el +++ b/elpa/magit-20200126.1750/magit-process.el @@ -1,6 +1,6 @@ ;;; magit-process.el --- process functionality -*- lexical-binding: t -*- -;; Copyright (C) 2010-2019 The Magit Project Contributors +;; Copyright (C) 2010-2020 The Magit Project Contributors ;; ;; You should have received a copy of the AUTHORS.md file which ;; lists all contributors. If not, see http://magit.vc/authors. @@ -165,7 +165,7 @@ itself from the hook, to avoid further futile attempts." (defcustom magit-process-password-prompt-regexps '("^\\(Enter \\)?[Pp]assphrase\\( for \\(RSA \\)?key '.*'\\)?: ?$" ;; Match-group 99 is used to identify the "user@host" part. - "^\\(Enter \\)?[Pp]assword\\( for '\\(https?://\\)?\\(?99:.*\\)'\\)?: ?$" + "^\\(Enter \\)?[Pp]assword\\( for '?\\(https?://\\)?\\(?99:[^']*\\)'?\\)?: ?$" "^.*'s password: ?$" "^Yubikey for .*: ?$" "^Enter PIN for .*: ?$") @@ -226,7 +226,7 @@ While functions such as `magit-process-yes-or-no-prompt' may not be sufficient to handle some prompt, it may still be of benefit to look at the implementations to gain some insights on how to implement such functions." - :package-version '(magit . "2.91.0") + :package-version '(magit . "3.0.0") :group 'magit-process :type 'hook) diff --git a/elpa/magit-20191030.1315/magit-pull.el b/elpa/magit-20200126.1750/magit-pull.el similarity index 94% rename from elpa/magit-20191030.1315/magit-pull.el rename to elpa/magit-20200126.1750/magit-pull.el index 6aff89f7..33b2bf9f 100644 --- a/elpa/magit-20191030.1315/magit-pull.el +++ b/elpa/magit-20200126.1750/magit-pull.el @@ -1,6 +1,6 @@ ;;; magit-pull.el --- update local objects and refs -*- lexical-binding: t -*- -;; Copyright (C) 2008-2019 The Magit Project Contributors +;; Copyright (C) 2008-2020 The Magit Project Contributors ;; ;; You should have received a copy of the AUTHORS.md file which ;; lists all contributors. If not, see http://magit.vc/authors. @@ -33,7 +33,7 @@ (defcustom magit-pull-or-fetch nil "Whether `magit-pull' also offers some fetch suffixes." - :package-version '(magit . "2.91.0") + :package-version '(magit . "3.0.0") :group 'magit-commands :type 'boolean) @@ -45,7 +45,8 @@ :man-page "git-pull" [:description (lambda () (if magit-pull-or-fetch "Pull arguments" "Arguments")) - ("-r" "Rebase local commits" ("-r" "--rebase"))] + ("-r" "Rebase local commits" ("-r" "--rebase")) + ("-A" "Autostash" "--autostash" :level 7)] [:description (lambda () (if-let ((branch (magit-get-current-branch))) @@ -79,9 +80,9 @@ (define-suffix-command magit-pull-from-pushremote (args) "Pull from the push-remote of the current branch. -When the push-remote is not configured, then read the push-remote -from the user, set it, and then pull from it. With a prefix -argument the push-remote can be changed before pulling from it." +With a prefix argument or when the push-remote is either not +configured or unusable, then let the user first configure the +push-remote." :if 'magit-get-current-branch :description 'magit-pull--pushbranch-description (interactive (list (magit-pull-arguments))) diff --git a/elpa/magit-20191030.1315/magit-push.el b/elpa/magit-20200126.1750/magit-push.el similarity index 96% rename from elpa/magit-20191030.1315/magit-push.el rename to elpa/magit-20200126.1750/magit-push.el index 3b5733c6..910c5141 100644 --- a/elpa/magit-20191030.1315/magit-push.el +++ b/elpa/magit-20200126.1750/magit-push.el @@ -1,6 +1,6 @@ ;;; magit-push.el --- update remote objects and refs -*- lexical-binding: t -*- -;; Copyright (C) 2008-2019 The Magit Project Contributors +;; Copyright (C) 2008-2020 The Magit Project Contributors ;; ;; You should have received a copy of the AUTHORS.md file which ;; lists all contributors. If not, see http://magit.vc/authors. @@ -58,7 +58,8 @@ ("r" "explicit refspecs" magit-push-refspecs) ("m" "matching branches" magit-push-matching)] [("T" "a tag" magit-push-tag) - ("t" "all tags" magit-push-tags)]] + ("t" "all tags" magit-push-tags) + (6 "n" "a note ref" magit-push-notes-ref)]] ["Configure" ("C" "Set variables..." magit-branch-configure)]) @@ -250,6 +251,17 @@ branch as default." (run-hooks 'magit-credential-hook) (magit-run-git-async "push" remote tag args)) +;;;###autoload +(defun magit-push-notes-ref (ref remote &optional args) + "Push a notes ref to another repository." + (interactive + (let ((note (magit-notes-read-ref "Push notes" nil nil))) + (list note + (magit-read-remote (format "Push %s to remote" note) nil t) + (magit-push-arguments)))) + (run-hooks 'magit-credential-hook) + (magit-run-git-async "push" remote ref args)) + ;;;###autoload (defun magit-push-implicitly (args) "Push somewhere without using an explicit refspec. diff --git a/elpa/magit-20191030.1315/magit-reflog.el b/elpa/magit-20200126.1750/magit-reflog.el similarity index 98% rename from elpa/magit-20191030.1315/magit-reflog.el rename to elpa/magit-20200126.1750/magit-reflog.el index 1fc13aff..5576cdc9 100644 --- a/elpa/magit-20191030.1315/magit-reflog.el +++ b/elpa/magit-20200126.1750/magit-reflog.el @@ -1,6 +1,6 @@ ;;; magit-reflog.el --- inspect ref history -*- lexical-binding: t -*- -;; Copyright (C) 2010-2019 The Magit Project Contributors +;; Copyright (C) 2010-2020 The Magit Project Contributors ;; ;; You should have received a copy of the AUTHORS.md file which ;; lists all contributors. If not, see http://magit.vc/authors. @@ -39,8 +39,8 @@ "Maximal number of entries initially shown in reflog buffers. The limit in the current buffer can be changed using \"+\" and \"-\"." - :package-version '(magit . "2.91.0") - :group 'magit-git-arguments + :package-version '(magit . "3.0.0") + :group 'magit-commands :type 'number) (defcustom magit-reflog-margin diff --git a/elpa/magit-20191030.1315/magit-refs.el b/elpa/magit-20200126.1750/magit-refs.el similarity index 99% rename from elpa/magit-20191030.1315/magit-refs.el rename to elpa/magit-20200126.1750/magit-refs.el index ddb55fe9..1d090f0a 100644 --- a/elpa/magit-20191030.1315/magit-refs.el +++ b/elpa/magit-20200126.1750/magit-refs.el @@ -1,6 +1,6 @@ ;;; magit-refs.el --- listing references -*- lexical-binding: t -*- -;; Copyright (C) 2010-2019 The Magit Project Contributors +;; Copyright (C) 2010-2020 The Magit Project Contributors ;; ;; You should have received a copy of the AUTHORS.md file which ;; lists all contributors. If not, see http://magit.vc/authors. @@ -99,7 +99,7 @@ shown), so this isn't enabled yet.") "Whether to show the remote prefix in lists of remote branches. This is redundant because the name of the remote is already shown -in the heading preceeding the list of its branches." +in the heading preceding the list of its branches." :package-version '(magit . "2.12.0") :group 'magit-refs :type 'boolean) diff --git a/elpa/magit-20191030.1315/magit-remote.el b/elpa/magit-20200126.1750/magit-remote.el similarity index 99% rename from elpa/magit-20191030.1315/magit-remote.el rename to elpa/magit-20200126.1750/magit-remote.el index 0e6a82fd..ab74ac81 100644 --- a/elpa/magit-20191030.1315/magit-remote.el +++ b/elpa/magit-20200126.1750/magit-remote.el @@ -1,6 +1,6 @@ ;;; magit-remote.el --- transfer Git commits -*- lexical-binding: t -*- -;; Copyright (C) 2008-2019 The Magit Project Contributors +;; Copyright (C) 2008-2020 The Magit Project Contributors ;; ;; You should have received a copy of the AUTHORS.md file which ;; lists all contributors. If not, see http://magit.vc/authors. @@ -57,7 +57,7 @@ has to be used to view and change remote related variables." (defcustom magit-prefer-push-default nil "Whether to prefer `remote.pushDefault' over per-branch variables." - :package-version '(magit . "2.91.0") + :package-version '(magit . "3.0.0") :group 'magit-commands :type 'boolean) diff --git a/elpa/magit-20191030.1315/magit-repos.el b/elpa/magit-20200126.1750/magit-repos.el similarity index 98% rename from elpa/magit-20191030.1315/magit-repos.el rename to elpa/magit-20200126.1750/magit-repos.el index c51a956d..b59de628 100644 --- a/elpa/magit-20191030.1315/magit-repos.el +++ b/elpa/magit-20200126.1750/magit-repos.el @@ -1,6 +1,6 @@ ;;; magit-repos.el --- listing repositories -*- lexical-binding: t -*- -;; Copyright (C) 2010-2019 The Magit Project Contributors +;; Copyright (C) 2010-2020 The Magit Project Contributors ;; ;; You should have received a copy of the AUTHORS.md file which ;; lists all contributors. If not, see http://magit.vc/authors. @@ -51,7 +51,7 @@ repositories. If it is 0, then only add DIRECTORY itself. This option controls which repositories are being listed by `magit-list-repositories'. It also affects `magit-status' \(which see) in potentially surprising ways." - :package-version '(magit . "2.91.0") + :package-version '(magit . "3.0.0") :group 'magit-essentials :type '(repeat (cons directory (integer :tag "Depth")))) @@ -114,7 +114,7 @@ called with no arguments, with `default-directory' bound to the top level of a repository working tree, until one of them returns a non-nil value. FLAG corresponding to that function is returned as the value of `magit-repolist-column-flag'." - :package-version '(magit . "2.91.0") + :package-version '(magit . "3.0.0") :group 'magit-repolist :type '(alist :key-type (function :tag "Predicate Function") :value-type (string :tag "Flag"))) @@ -142,8 +142,7 @@ repositories are displayed." (defvar magit-repolist-mode-map (let ((map (make-sparse-keymap))) (set-keymap-parent map tabulated-list-mode-map) - (define-key map (if (featurep 'jkl) [return] (kbd "C-m")) - 'magit-repolist-status) + (define-key map (kbd "C-m") 'magit-repolist-status) map) "Local keymap for Magit-Repolist mode buffers.") diff --git a/elpa/magit-20191030.1315/magit-reset.el b/elpa/magit-20200126.1750/magit-reset.el similarity index 98% rename from elpa/magit-20191030.1315/magit-reset.el rename to elpa/magit-20200126.1750/magit-reset.el index e16e9b20..823a6753 100644 --- a/elpa/magit-20191030.1315/magit-reset.el +++ b/elpa/magit-20200126.1750/magit-reset.el @@ -1,6 +1,6 @@ ;;; magit-reset.el --- reset fuctionality -*- lexical-binding: t -*- -;; Copyright (C) 2010-2019 The Magit Project Contributors +;; Copyright (C) 2010-2020 The Magit Project Contributors ;; ;; You should have received a copy of the AUTHORS.md file which ;; lists all contributors. If not, see http://magit.vc/authors. diff --git a/elpa/magit-20191030.1315/magit-section.el b/elpa/magit-20200126.1750/magit-section.el similarity index 83% rename from elpa/magit-20191030.1315/magit-section.el rename to elpa/magit-20200126.1750/magit-section.el index bc361b2a..2216a120 100644 --- a/elpa/magit-20191030.1315/magit-section.el +++ b/elpa/magit-20200126.1750/magit-section.el @@ -1,6 +1,6 @@ -;;; magit-section.el --- section functionality -*- lexical-binding: t -*- +;;; magit-section.el --- Sections for read-only buffers -*- lexical-binding: t -*- -;; Copyright (C) 2010-2019 The Magit Project Contributors +;; Copyright (C) 2010-2020 The Magit Project Contributors ;; ;; You should have received a copy of the AUTHORS.md file which ;; lists all contributors. If not, see http://magit.vc/authors. @@ -8,24 +8,29 @@ ;; Author: Jonas Bernoulli ;; Maintainer: Jonas Bernoulli -;; Magit is free software; you can redistribute it and/or modify it -;; under the terms of the GNU General Public License as published by +;; Package-Requires: ((emacs "25.1") (dash "20180910")) +;; Keywords: tools +;; Homepage: https://github.com/magit/magit + +;; Magit-Section is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 3, or (at your option) ;; any later version. ;; -;; Magit is distributed in the hope that it will be useful, but WITHOUT -;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -;; or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public -;; License for more details. +;; Magit-Section is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. ;; ;; You should have received a copy of the GNU General Public License ;; along with Magit. If not, see http://www.gnu.org/licenses. ;;; Commentary: -;; This library implements "sections" as used in all Magit buffers. -;; If you have used Magit before, then you probably know what that -;; means, otherwise think "read-only Org-Mode for Git", kinda. +;; This package implements the main user interface of Magit — the +;; collapsible sections that make up its buffers. This package used +;; to be distributed as part of Magit but now it can also be used by +;; other packages that have nothing to do with Magit or Git. ;;; Code: @@ -37,87 +42,52 @@ (require 'benchmark) (require 'subr-x)) -(require 'magit-utils) - -(declare-function magit-maybe-make-margin-overlay "magit-margin" ()) -(declare-function magit-repository-local-get "magit-mode" - (key &optional default repository)) -(declare-function magit-repository-local-set "magit-mode" - (key value &optional repository)) -(defvar magit-keep-region-overlay) -(defvar magit-refresh-verbose) - -;;; Options - -(defgroup magit-section nil - "Expandable sections." - :link '(info-link "(magit)Sections") - :group 'magit) - -(defcustom magit-section-show-child-count t - "Whether to append the number of children to section headings. -This only applies to sections for which doing so makes sense." - :package-version '(magit . "2.1.0") - :group 'magit-section - :type 'boolean) +;;; Hooks -(defcustom magit-section-movement-hook - '(magit-hunk-set-window-start - magit-log-maybe-update-revision-buffer - magit-log-maybe-show-more-commits) +(defvar magit-section-movement-hook nil "Hook run by `magit-section-goto'. -That function in turn is used by all section movement commands." - :package-version '(magit . "2.3.0") - :group 'magit-section - :type 'hook - :options '(magit-hunk-set-window-start - magit-status-maybe-update-revision-buffer - magit-status-maybe-update-stash-buffer - magit-status-maybe-update-blob-buffer - magit-log-maybe-update-revision-buffer - magit-log-maybe-update-blob-buffer - magit-log-maybe-show-more-commits - magit-stashes-maybe-update-stash-buffer)) - -(defcustom magit-section-highlight-hook - '(magit-diff-highlight - magit-section-highlight +That function in turn is used by all section movement commands.") + +(defvar magit-section-highlight-hook + '(magit-section-highlight magit-section-highlight-selection) "Functions used to highlight the current section. Each function is run with the current section as only argument -until one of them returns non-nil." - :package-version '(magit . "2.1.0") - :group 'magit-section - :type 'hook - :options '(magit-diff-highlight - magit-section-highlight - magit-section-highlight-selection)) +until one of them returns non-nil.") -(defcustom magit-section-unhighlight-hook - '(magit-diff-unhighlight) +(defvar magit-section-unhighlight-hook nil "Functions used to unhighlight the previously current section. Each function is run with the current section as only argument until one of them returns non-nil. Most sections are properly unhighlighted without requiring a specialized unhighlighter, -diff-related sections being the only exception." - :package-version '(magit . "2.1.0") - :group 'magit-section - :type 'hook - :options '(magit-diff-unhighlight)) +diff-related sections being the only exception.") -(defcustom magit-section-set-visibility-hook - '(magit-diff-expansion-threshold - magit-section-cached-visibility) +(defvar magit-section-set-visibility-hook + '(magit-section-cached-visibility) "Hook used to set the initial visibility of a section. Stop at the first function that returns non-nil. The returned value should be `show', `hide' or nil. If no function returns non-nil, determine the visibility as usual, i.e. use the -hardcoded section specific default (see `magit-insert-section')." - :package-version '(magit . "2.4.0") +hardcoded section specific default (see `magit-insert-section').") + +(defvar magit-section-goto-successor-hook nil + "Hook used to go to the same section as was current before a refresh. +This is only used if the standard mechanism for doing so did not +succeed.") + +;;; Options + +(defgroup magit-section nil + "Expandable sections." + :link '(info-link "(magit)Sections") + :group 'extensions) + +(defcustom magit-section-show-child-count t + "Whether to append the number of children to section headings. +This only applies to sections for which doing so makes sense." + :package-version '(magit . "2.1.0") :group 'magit-section - :type 'hook - :options '(magit-diff-expansion-threshold - magit-section-cached-visibility)) + :type 'boolean) (defcustom magit-section-cache-visibility t "Whether to cache visibility of sections. @@ -173,7 +143,7 @@ entries of this alist." If nil, then don't show any indicators. Otherwise the value has to have one of these two forms: -(EXPANDABLE-BITMAP . COLLAPSIBLE-BITMAP) +\(EXPANDABLE-BITMAP . COLLAPSIBLE-BITMAP) Both values have to be variables whose values are fringe bitmaps. In this case every section that can be expanded or @@ -182,7 +152,7 @@ Otherwise the value has to have one of these two forms: To provide extra padding around the indicator, set `left-fringe-width' in `magit-mode-hook'. -(STRING . BOOLEAN) +\(STRING . BOOLEAN) In this case STRING (usually an ellipsis) is shown at the end of the heading of every collapsed section. Expanded sections @@ -190,7 +160,7 @@ Otherwise the value has to have one of these two forms: these ellipsis take section highlighting into account. Doing so might potentially have an impact on performance, while not doing so is kinda ugly." - :package-version '(magit . "2.91.0") + :package-version '(magit . "3.0.0") :group 'magit-section :type '(choice (const :tag "No indicators" nil) (cons :tag "Use +- fringe indicators" @@ -204,46 +174,124 @@ Otherwise the value has to have one of these two forms: (const magit-fringe-bitmap-boldv)) (cons :tag "Use custom fringe indicators" (variable :tag "Expandable bitmap variable") - (variable :tag "Collapsable bitmap variable")) + (variable :tag "Collapsible bitmap variable")) (cons :tag "Use ellipses at end of headings" (string :tag "Ellipsis" "…") (choice :tag "Use face kludge" (const :tag "Yes (potentially slow)" t) (const :tag "No (kinda ugly)" nil))))) +(defcustom magit-keep-region-overlay nil + "Whether to keep the region overlay when there is a valid selection. + +By default Magit removes the regular region overlay if, and only +if, that region constitutes a valid selection as understood by +Magit commands. Otherwise it does not remove that overlay, and +the region looks like it would in other buffers. + +There are two types of such valid selections: hunk-internal +regions and regions that select two or more sibling sections. +In such cases Magit removes the region overlay and instead +highlights a slightly larger range. All text (for hunk-internal +regions) or the headings of all sections (for sibling selections) +that are inside that range (not just inside the region) are acted +on by commands such as the staging command. This buffer range +begins at the beginning of the line on which the region begins +and ends at the end of the line on which the region ends. + +Because Magit acts on this larger range and not the region, it is +actually quite important to visualize that larger range. If we +don't do that, then one might think that these commands act on +the region instead. If you want to *also* visualize the region, +then set this option to t. But please note that when the region +does *not* constitute a valid selection, then the region is +*always* visualized as usual, and that it is usually under such +circumstances that you want to use a non-magit command to act on +the region. + +Besides keeping the region overlay, setting this option to t also +causes all face properties, except for `:foreground', to be +ignored for the faces used to highlight headings of selected +sections. This avoids the worst conflicts that result from +displaying the region and the selection overlays at the same +time. We are not interested in dealing with other conflicts. +In fact we *already* provide a way to avoid all of these +conflicts: *not* changing the value of this option. + +It should be clear by now that we consider it a mistake to set +this to display the region when the Magit selection is also +visualized, but since it has been requested a few times and +because it doesn't cost much to offer this option we do so. +However that might change. If the existence of this option +starts complicating other things, then it will be removed." + :package-version '(magit . "2.3.0") + :group 'magit-section + :type 'boolean) + +(defcustom magit-section-disable-line-numbers t + "In Magit buffers, whether to disable modes that display line numbers. + +Some users who turn on `global-display-line-numbers-mode' (or +`global-nlinum-mode' or `global-linum-mode') expect line numbers +to be displayed everywhere except in Magit buffers. Other users +do not expect Magit buffers to be treated differently. At least +in theory users in the first group should not use the global mode, +but that ship has sailed, thus this option." + :package-version '(magit . "3.0.0") + :group 'magit-section + :type 'boolean) + +;;; Faces + +(defgroup magit-section-faces nil + "Faces used by Magit-Section." + :group 'magit-section + :group 'faces) + (defface magit-section-highlight - '((((class color) (background light)) :background "grey95") - (((class color) (background dark)) :background "grey20")) + `((((class color) (background light)) + ,@(and (>= emacs-major-version 27) '(:extend t)) + :background "grey95") + (((class color) (background dark)) + ,@(and (>= emacs-major-version 27) '(:extend t)) + :background "grey20")) "Face for highlighting the current section." - :group 'magit-faces) + :group 'magit-section-faces) (defface magit-section-heading - '((((class color) (background light)) :foreground "DarkGoldenrod4" :weight bold) - (((class color) (background dark)) :foreground "LightGoldenrod2" :weight bold)) + `((((class color) (background light)) + ,@(and (>= emacs-major-version 27) '(:extend t)) + :foreground "DarkGoldenrod4" + :weight bold) + (((class color) (background dark)) + ,@(and (>= emacs-major-version 27) '(:extend t)) + :foreground "LightGoldenrod2" + :weight bold)) "Face for section headings." - :group 'magit-faces) + :group 'magit-section-faces) -(defface magit-section-secondary-heading '((t :weight bold)) +(defface magit-section-secondary-heading + `((t ,@(and (>= emacs-major-version 27) '(:extend t)) + :weight bold)) "Face for section headings of some secondary headings." - :group 'magit-faces) + :group 'magit-section-faces) (defface magit-section-heading-selection - '((((class color) (background light)) :foreground "salmon4") - (((class color) (background dark)) :foreground "LightSalmon3")) + `((((class color) (background light)) + ,@(and (>= emacs-major-version 27) '(:extend t)) + :foreground "salmon4") + (((class color) (background dark)) + ,@(and (>= emacs-major-version 27) '(:extend t)) + :foreground "LightSalmon3")) "Face for selected section headings." - :group 'magit-faces) + :group 'magit-section-faces) ;;; Classes (defvar magit--current-section-hook nil - "Internal variable used for `magit-explain-section'.") + "Internal variable used for `magit-describe-section'.") -(defvar magit--section-type-alist - '( - (file . magit-file-section) - (hunk . magit-hunk-section) - (module . magit-module-section) - )) +(defvar magit--section-type-alist nil) (defclass magit-section () ((keymap :initform nil :allocation :class) @@ -260,20 +308,68 @@ Otherwise the value has to have one of these two forms: (parent :initform nil :initarg :parent) (children :initform nil))) -(defclass magit-file-section (magit-section) - ((source :initform nil) - (header :initform nil))) - -(defclass magit-hunk-section (magit-section) - ((refined :initform nil) - (combined :initform nil) - (from-range :initform nil) - (from-ranges :initform nil) - (to-range :initform nil) - (about :initform nil))) - -(defclass magit-module-section (magit-file-section) - ()) +;;; Mode + +(defvar symbol-overlay-inhibit-map) + +(defvar magit-section-mode-map + (let ((map (make-keymap))) + (suppress-keymap map t) + (define-key map (kbd "C-i") 'magit-section-toggle) + (define-key map [C-tab] 'magit-section-cycle) + (define-key map [M-tab] 'magit-section-cycle) + ;; [backtab] is the most portable binding for Shift+Tab. + (define-key map [backtab] 'magit-section-cycle-global) + (define-key map (kbd "^") 'magit-section-up) + (define-key map (kbd "p") 'magit-section-backward) + (define-key map (kbd "n") 'magit-section-forward) + (define-key map (kbd "M-p") 'magit-section-backward-sibling) + (define-key map (kbd "M-n") 'magit-section-forward-sibling) + (define-key map "1" 'magit-section-show-level-1) + (define-key map "2" 'magit-section-show-level-2) + (define-key map "3" 'magit-section-show-level-3) + (define-key map "4" 'magit-section-show-level-4) + (define-key map (kbd "M-1") 'magit-section-show-level-1-all) + (define-key map (kbd "M-2") 'magit-section-show-level-2-all) + (define-key map (kbd "M-3") 'magit-section-show-level-3-all) + (define-key map (kbd "M-4") 'magit-section-show-level-4-all) + map)) + +(define-derived-mode magit-section-mode special-mode "Magit-Sections" + "Parent major mode from which major modes with Magit-like sections inherit. + +Magit-Section is documented in info node `(magit-section)'." + :group 'magit-section + (buffer-disable-undo) + (setq truncate-lines t) + (setq buffer-read-only t) + (setq-local line-move-visual t) ; see #1771 + ;; Turn off syntactic font locking, but not by setting + ;; `font-lock-defaults' because that would enable font locking, and + ;; not all magit plugins may be ready for that (see #3950). + (setq-local font-lock-syntactic-face-function #'ignore) + (setq show-trailing-whitespace nil) + (setq-local symbol-overlay-inhibit-map t) + (setq list-buffers-directory (abbreviate-file-name default-directory)) + ;; (hack-dir-local-variables-non-file-buffer) + (make-local-variable 'text-property-default-nonsticky) + (push (cons 'keymap t) text-property-default-nonsticky) + (add-hook 'post-command-hook #'magit-section-update-highlight t t) + (add-hook 'deactivate-mark-hook #'magit-section-update-highlight t t) + (setq-local redisplay-highlight-region-function + 'magit-section--highlight-region) + (setq-local redisplay-unhighlight-region-function + 'magit-section--unhighlight-region) + (when magit-section-disable-line-numbers + (when (bound-and-true-p global-linum-mode) + (linum-mode -1)) + (when (and (fboundp 'nlinum-mode) + (bound-and-true-p global-nlinum-mode)) + (nlinum-mode -1)) + (when (and (fboundp 'display-line-numbers-mode) + (bound-and-true-p global-display-line-numbers-mode)) + (display-line-numbers-mode -1))) + (add-hook 'kill-buffer-hook 'magit-preserve-section-visibility-cache)) ;;; Core @@ -309,7 +405,7 @@ The return value has the form ((TYPE . VALUE)...)." (and parent (magit-section-ident parent))))) -(cl-defgeneric magit-section-ident-value (VALUE) +(cl-defgeneric magit-section-ident-value (value) "Return a constant representation of VALUE. VALUE is the value of a `magit-section' object. If that is an object itself, then that is not suitable to be used to identify @@ -323,7 +419,9 @@ itself.") (defun magit-get-section (ident &optional root) "Return the section identified by IDENT. -IDENT has to be a list as returned by `magit-section-ident'." +IDENT has to be a list as returned by `magit-section-ident'. +If optional ROOT is non-nil, then search in that section tree +instead of in the one whose root `magit-root-section' is." (setq ident (reverse ident)) (let ((section (or root magit-root-section))) (when (eq (car (pop ident)) @@ -453,12 +551,6 @@ If there is no previous sibling section, then move to the parent." (unless (pos-visible-in-window-p (oref section end)) (set-window-start (selected-window) (oref section start)))) -(defun magit-hunk-set-window-start (section) - "When SECTION is a `hunk', ensure that its beginning is visible. -It the SECTION has a different type, then do nothing." - (when (magit-hunk-section-p section) - (magit-section-set-window-start section))) - (defmacro magit-define-section-jumper (name heading type &optional value) "Define an interactive function to go some section. Together TYPE and VALUE identify the section. @@ -608,34 +700,6 @@ hidden." (t (mapc 'magit-section-hide children))))) -(defun magit-section-cycle-diffs () - "Cycle visibility of diff-related sections in the current buffer." - (interactive) - (when-let ((sections - (cond ((derived-mode-p 'magit-status-mode) - (--mapcat - (when it - (when (oref it hidden) - (magit-section-show it)) - (oref it children)) - (list (magit-get-section '((staged) (status))) - (magit-get-section '((unstaged) (status)))))) - ((derived-mode-p 'magit-diff-mode) - (-filter #'magit-file-section-p - (oref magit-root-section children)))))) - (if (--any-p (oref it hidden) sections) - (dolist (s sections) - (magit-section-show s) - (magit-section-hide-children s)) - (let ((children (--mapcat (oref it children) sections))) - (cond ((and (--any-p (oref it hidden) children) - (--any-p (oref it children) children)) - (mapc 'magit-section-show-headings sections)) - ((-any-p 'magit-section-hidden-body children) - (mapc 'magit-section-show-children sections)) - (t - (mapc 'magit-section-hide sections))))))) - (defun magit-section-hidden-body (section &optional pred) (--if-let (oref section children) (funcall (or pred '-any-p) 'magit-section-hidden-body it) @@ -920,13 +984,11 @@ what you are doing and are sure there is no other way.") (defmacro magit-insert-section (&rest args) "Insert a section at point. -TYPE is the section type, a symbol. Many commands that act on -the current section behave differently depending on that type. -Also if a variable `magit-TYPE-section-map' exists, then use -that as the text-property `keymap' of all text belonging to the -section (but this may be overwritten in subsections). TYPE can -also have the form `(eval FORM)' in which case FORM is evaluated -at runtime. +TYPE is the section type, a symbol which is prefixed with the +name of the package. (For historic reasons the types used by +Magit and Forge do not use a package prefix.) Many commands +that act on the current section behave differently depending +on its type. Optional VALUE is the value of the section, usually a string that is required when acting on the section. @@ -941,7 +1003,7 @@ still honored). BODY is any number of forms that actually insert the section's heading and body. Optional NAME, if specified, has to be a -symbol, which is then bound to the struct of the section being +symbol, which is then bound to the object of the section being inserted. Before BODY is evaluated the `start' of the section object is set @@ -955,6 +1017,12 @@ of the partially inserted section. This can happen when creating a section by washing Git's output and Git didn't actually output anything this time around. +For historic reasons, if a variable `magit-TYPE-section-map' +or `forge-TYPE-section-map' exists, then use that as the +text-property `keymap' of all text belonging to the section (but +this may be overwritten in subsections). TYPE can also have the +form `(eval FORM)' in which case FORM is evaluated at runtime. + \(fn [NAME] (TYPE &optional VALUE HIDE) &rest BODY)" (declare (indent defun) (debug ([&optional symbolp] @@ -1045,6 +1113,8 @@ anything this time around. ,s)))) (defun magit-cancel-section () + "Cancel inserting the section that is currently being inserted. +Remove all traces of that section." (when magit-insert-section--current (if (not (oref magit-insert-section--current parent)) (insert "(empty)\n") @@ -1071,7 +1141,7 @@ anywhere inside any of these strings, then insert all of them unchanged. Otherwise use the `magit-section-heading' face for all inserted text. -The `content' property of the section struct is the end of the +The `content' property of the section object is the end of the heading (which lasts from `start' to `content') and the beginning of the the body (which lasts from `content' to `end'). If the value of `content' is nil, then the section has no heading and @@ -1091,7 +1161,8 @@ insert a newline character if necessary." (propertize heading 'font-lock-face 'magit-section-heading))))) (unless (bolp) (insert ?\n)) - (magit-maybe-make-margin-overlay) + (when (fboundp 'magit-maybe-make-margin-overlay) + (magit-maybe-make-margin-overlay)) (oset magit-insert-section--current content (point-marker))) (defmacro magit-insert-section-body (&rest body) @@ -1156,21 +1227,12 @@ evaluated its BODY. Admittedly that's a bit of a hack." (insert (format " (%s)" count)) (delete-char 1))))) -;;; Update +;;; Highlight (defvar-local magit-section-highlight-overlays nil) (defvar-local magit-section-highlighted-section nil) (defvar-local magit-section-highlighted-sections nil) (defvar-local magit-section-unhighlight-sections nil) - -(defun magit-section-update-region (_) - "When the region is a valid section-selection, highlight them all." - ;; At least that's what it does conceptually. In actuality it just - ;; returns a list of those sections, and it doesn't even matter if - ;; this is a member of `magit-region-highlight-hook'. It probably - ;; should be removed, but I want to make sure before removing it. - (magit-region-sections)) - (defun magit-section-update-highlight () (let ((section (magit-current-section))) (unless (eq section magit-section-highlighted-section) @@ -1265,27 +1327,8 @@ invisible." (forward-char char)) (unless (eq (magit-current-section) it) (goto-char start)))) - (or (and (magit-hunk-section-p section) - (when-let ((parent (magit-get-section - (magit-section-ident - (oref section parent))))) - (let* ((children (oref parent children)) - (siblings (magit-section-siblings section 'prev)) - (previous (nth (length siblings) children))) - (if (not arg) - (--when-let (or previous (car (last children))) - (magit-section-goto it) - t) - (when previous - (magit-section-goto previous)) - (if (and (stringp arg) - (re-search-forward arg (oref parent end) t)) - (goto-char (match-beginning 0)) - (goto-char (oref (car (last children)) end)) - (forward-line -1) - (while (looking-at "^ ") (forward-line -1)) - (while (looking-at "^[-+]") (forward-line -1)) - (forward-line)))))) + (or (run-hook-with-args-until-success + 'magit-section-goto-successor-hook section arg) (goto-char (--if-let (magit-section-goto-successor-1 section) (if (eq (oref it type) 'button) (point-min) @@ -1307,6 +1350,33 @@ invisible." (or (magit-get-section (magit-section-ident it)) (magit-section-goto-successor-1 it))))) +;;; Region + +(defvar-local magit-section--region-overlays nil) + +(defun magit-section--delete-region-overlays () + (mapc #'delete-overlay magit-section--region-overlays) + (setq magit-section--region-overlays nil)) + +(defun magit-section--highlight-region (start end window rol) + (magit-section--delete-region-overlays) + (if (and (not magit-keep-region-overlay) + (or (magit-region-sections) + (run-hook-with-args-until-success 'magit-region-highlight-hook + (magit-current-section))) + (not (= (line-number-at-pos start) + (line-number-at-pos end))) + ;; (not (eq (car-safe last-command-event) 'mouse-movement)) + ) + (funcall (default-value 'redisplay-unhighlight-region-function) rol) + (funcall (default-value 'redisplay-highlight-region-function) + start end window rol))) + +(defun magit-section--unhighlight-region (rol) + (setq magit-section-highlighted-section nil) + (magit-section--delete-region-overlays) + (funcall (default-value 'redisplay-unhighlight-region-function) rol)) + ;;; Visibility (defvar-local magit-section-visibility-cache nil) @@ -1334,17 +1404,6 @@ invisible." magit-section-cache-visibility)) (magit-section-cache-visibility section))) -(defun magit-preserve-section-visibility-cache () - (when (derived-mode-p 'magit-status-mode 'magit-refs-mode) - (magit-repository-local-set - (cons major-mode 'magit-section-visibility-cache) - magit-section-visibility-cache))) - -(defun magit-restore-section-visibility-cache (mode) - (setq magit-section-visibility-cache - (magit-repository-local-get - (cons mode 'magit-section-visibility-cache)))) - (defun magit-section-maybe-update-visibility-indicator (section) (when magit-section-visibility-indicator (let ((beg (oref section start)) @@ -1596,7 +1655,8 @@ should not be abused for other side-effects. To remove FUNCTION again use `remove-hook'." (unless (boundp hook) (error "Cannot add function to undefined hook variable %s" hook)) - (or (default-boundp hook) (set-default hook nil)) + (unless (default-boundp hook) + (set-default hook nil)) (let ((value (if local (if (local-variable-p hook) (symbol-value hook) @@ -1625,6 +1685,17 @@ again use `remove-hook'." (set hook value) (set-default hook value)))) +(defvar-local magit-disabled-section-inserters nil) + +(defun magit-disable-section-inserter (fn) + "Disable the section inserter FN in the current repository. +It is only intended for use in \".dir-locals.el\" and +\".dir-locals-2.el\". Also see info node `(magit)Per-Repository +Configuration'." + (cl-pushnew fn magit-disabled-section-inserters)) + +(put 'magit-disable-section-inserter 'safe-local-eval-function t) + (defun magit-run-section-hook (hook &rest args) "Run HOOK with ARGS, warning about invalid entries." (let ((entries (symbol-value hook))) @@ -1640,10 +1711,21 @@ again use `remove-hook'." (dolist (entry entries) (let ((magit--current-section-hook (cons (list hook entry) magit--current-section-hook))) - (if magit-refresh-verbose - (message " %-50s %s" entry - (benchmark-elapse (apply entry args))) - (apply entry args)))))) + (unless (memq entry magit-disabled-section-inserters) + (if (bound-and-true-p magit-refresh-verbose) + (message " %-50s %s" entry + (benchmark-elapse (apply entry args))) + (apply entry args))))))) + +(cl-defun magit--overlay-at (pos prop &optional (val nil sval) testfn) + (cl-find-if (lambda (o) + (let ((p (overlay-properties o))) + (and (plist-member p prop) + (or (not sval) + (funcall (or testfn #'eql) + (plist-get p prop) + val))))) + (overlays-at pos t))) ;;; _ (provide 'magit-section) diff --git a/elpa/magit-20191030.1315/magit-sequence.el b/elpa/magit-20200126.1750/magit-sequence.el similarity index 98% rename from elpa/magit-20191030.1315/magit-sequence.el rename to elpa/magit-20200126.1750/magit-sequence.el index fb7ff892..e5b82cb3 100644 --- a/elpa/magit-20191030.1315/magit-sequence.el +++ b/elpa/magit-20200126.1750/magit-sequence.el @@ -1,6 +1,6 @@ ;;; magit-sequence.el --- history manipulation in Magit -*- lexical-binding: t -*- -;; Copyright (C) 2011-2019 The Magit Project Contributors +;; Copyright (C) 2011-2020 The Magit Project Contributors ;; ;; You should have received a copy of the AUTHORS.md file which ;; lists all contributors. If not, see http://magit.vc/authors. @@ -548,10 +548,9 @@ This discards all changes made since the sequence started." (define-suffix-command magit-rebase-onto-pushremote (args) "Rebase the current branch onto its push-remote branch. -When the push-remote is not configured, then read the push-remote -from the user, set it, and then rebase onto it. With a prefix -argument the push-remote can be changed before rebasing onto to -it." +With a prefix argument or when the push-remote is either not +configured or unusable, then let the user first configure the +push-remote." :if 'magit-get-current-branch :description 'magit-pull--pushbranch-description (interactive (list (magit-rebase-arguments))) @@ -626,6 +625,8 @@ START has to be selected from a list of recent commits." (concat "Type %p on a commit to rebase it " "and commits above it onto " newbase ",")))) +(defvar magit-rebase-interactive-include-selected t) + (defun magit-rebase-interactive-1 (commit args message &optional editor delay-edit-confirm noassert confirm) (declare (indent 2)) @@ -637,7 +638,9 @@ START has to be selected from a list of recent commits." (unless (magit-rev-ancestor-p commit "HEAD") (user-error "%s isn't an ancestor of HEAD" commit)) (if (magit-commit-parents commit) - (setq commit (concat commit "^")) + (when (or (not (eq this-command 'magit-rebase-interactive)) + magit-rebase-interactive-include-selected) + (setq commit (concat commit "^"))) (setq args (cons "--root" args))))) (when (and commit (not noassert)) (setq commit (magit-rebase-interactive-assert diff --git a/elpa/magit-20191030.1315/magit-stash.el b/elpa/magit-20200126.1750/magit-stash.el similarity index 98% rename from elpa/magit-20191030.1315/magit-stash.el rename to elpa/magit-20200126.1750/magit-stash.el index 2f94de1b..7ac1b29c 100644 --- a/elpa/magit-20191030.1315/magit-stash.el +++ b/elpa/magit-20200126.1750/magit-stash.el @@ -1,6 +1,6 @@ ;;; magit-stash.el --- stash support for Magit -*- lexical-binding: t -*- -;; Copyright (C) 2008-2019 The Magit Project Contributors +;; Copyright (C) 2008-2020 The Magit Project Contributors ;; ;; You should have received a copy of the AUTHORS.md file which ;; lists all contributors. If not, see http://magit.vc/authors. @@ -228,9 +228,10 @@ and forgo removing the stash." (defun magit-stash-drop (stash) "Remove a stash from the stash list. When the region is active offer to drop all contained stashes." - (interactive (list (--if-let (magit-region-values 'stash) - (magit-confirm t nil "Drop %i stashes" nil it) - (magit-read-stash "Drop stash")))) + (interactive + (list (--if-let (magit-region-values 'stash) + (magit-confirm 'drop-stashes nil "Drop %i stashes" nil it) + (magit-read-stash "Drop stash")))) (dolist (stash (if (listp stash) (nreverse (prog1 stash (setq stash (car stash)))) (list stash))) diff --git a/elpa/magit-20191030.1315/magit-status.el b/elpa/magit-20200126.1750/magit-status.el similarity index 94% rename from elpa/magit-20191030.1315/magit-status.el rename to elpa/magit-20200126.1750/magit-status.el index 1b880dc1..90e8980d 100644 --- a/elpa/magit-20191030.1315/magit-status.el +++ b/elpa/magit-20200126.1750/magit-status.el @@ -1,6 +1,6 @@ ;;; magit-status.el --- the grand overview -*- lexical-binding: t -*- -;; Copyright (C) 2010-2019 The Magit Project Contributors +;; Copyright (C) 2010-2020 The Magit Project Contributors ;; ;; You should have received a copy of the AUTHORS.md file which ;; lists all contributors. If not, see http://magit.vc/authors. @@ -132,7 +132,7 @@ no effect. The command `magit-status-here' tries to go to that position, regardless of the value of this option." - :package-version '(magit . "2.91.0") + :package-version '(magit . "3.0.0") :group 'magit-status :type 'boolean) @@ -322,21 +322,39 @@ doesn't find the executable, then consult the info node (defvar magit-status-mode-map (let ((map (make-sparse-keymap))) (set-keymap-parent map magit-mode-map) - (define-key map "jz" 'magit-jump-to-stashes) - (define-key map "jt" 'magit-jump-to-tracked) - (define-key map "jn" 'magit-jump-to-untracked) - (define-key map "ju" 'magit-jump-to-unstaged) - (define-key map "js" 'magit-jump-to-staged) - (define-key map "jfu" 'magit-jump-to-unpulled-from-upstream) - (define-key map "jfp" 'magit-jump-to-unpulled-from-pushremote) - (define-key map "jpu" 'magit-jump-to-unpushed-to-upstream) - (define-key map "jpp" 'magit-jump-to-unpushed-to-pushremote) - (define-key map "ja" 'magit-jump-to-assume-unchanged) - (define-key map "jw" 'magit-jump-to-skip-worktree) + (define-key map "j" 'magit-status-jump) (define-key map [remap dired-jump] 'magit-dired-jump) map) "Keymap for `magit-status-mode'.") +(define-transient-command magit-status-jump () + "In a Magit-Status buffer, jump to a section." + ["Jump to" + [("z " "Stashes" magit-jump-to-stashes + :if (lambda () (memq 'magit-insert-stashes magit-status-sections-hook))) + ("t " "Tracked" magit-jump-to-tracked + :if (lambda () (memq 'magit-insert-tracked-files magit-status-sections-hook))) + ("n " "Untracked" magit-jump-to-untracked + :if (lambda () (memq 'magit-insert-untracked-files magit-status-sections-hook))) + ("u " "Unstaged" magit-jump-to-unstaged + :if (lambda () (memq 'magit-insert-unstaged-changes magit-status-sections-hook))) + ("s " "Staged" magit-jump-to-staged + :if (lambda () (memq 'magit-insert-staged-changes magit-status-sections-hook)))] + [("fu" "Unpulled from upstream" magit-jump-to-unpulled-from-upstream + :if (lambda () (memq 'magit-insert-unpulled-from-upstream magit-status-sections-hook))) + ("fp" "Unpulled from pushremote" magit-jump-to-unpulled-from-pushremote + :if (lambda () (memq 'magit-insert-unpulled-from-pushremote magit-status-sections-hook))) + ("pu" "Unpushed to upstream" magit-jump-to-unpushed-to-upstream + :if (lambda () + (or (memq 'magit-insert-unpushed-to-upstream-or-recent magit-status-sections-hook) + (memq 'magit-insert-unpushed-to-upstream magit-status-sections-hook)))) + ("pp" "Unpushed to pushremote" magit-jump-to-unpushed-to-pushremote + :if (lambda () (memq 'magit-insert-unpushed-to-pushremote magit-status-sections-hook))) + ("a " "Assumed unstaged" magit-jump-to-assume-unchanged + :if (lambda () (memq 'magit-insert-assume-unchanged-files magit-status-sections-hook))) + ("w " "Skip worktree" magit-jump-to-skip-worktree + :if (lambda () (memq 'magit-insert-skip-worktree-files magit-status-sections-hook)))]]) + (define-derived-mode magit-status-mode magit-mode "Magit" "Mode for looking at Git status. @@ -474,7 +492,7 @@ The sections are inserted by running the functions on the hook "Keymap for `error' sections.") (defun magit-insert-error-header () - "Insert the message about the Git error that just occured. + "Insert the message about the Git error that just occurred. This function is only aware of the last error that occur when Git was run for side-effects. If, for example, an error occurs while @@ -704,7 +722,7 @@ value of that variable can be set using \"D -- DIRECTORY RET g\"." (--mapcat (and (eq (aref it 0) ??) (list (substring it 3))) (magit-git-items "status" "-z" "--porcelain" - (magit-ignore-submodules-p) + (magit-ignore-submodules-p t) "--" base)))) (magit-insert-section (untracked) (magit-insert-heading "Untracked files:") diff --git a/elpa/magit-20191030.1315/magit-submodule.el b/elpa/magit-20200126.1750/magit-submodule.el similarity index 99% rename from elpa/magit-20191030.1315/magit-submodule.el rename to elpa/magit-20200126.1750/magit-submodule.el index 8bc787bf..3f201631 100644 --- a/elpa/magit-20191030.1315/magit-submodule.el +++ b/elpa/magit-20200126.1750/magit-submodule.el @@ -1,6 +1,6 @@ ;;; magit-submodule.el --- submodule support for Magit -*- lexical-binding: t -*- -;; Copyright (C) 2011-2019 The Magit Project Contributors +;; Copyright (C) 2011-2020 The Magit Project Contributors ;; ;; You should have received a copy of the AUTHORS.md file which ;; lists all contributors. If not, see http://magit.vc/authors. @@ -477,9 +477,8 @@ or, failing that, the abbreviated HEAD commit hash." (defvar magit-module-section-map (let ((map (make-sparse-keymap))) (set-keymap-parent map magit-file-section-map) - (unless (featurep 'jkl) - (define-key map "\C-j" 'magit-submodule-visit)) - (define-key map [C-return] 'magit-submodule-visit) + (define-key map (kbd "C-j") 'magit-submodule-visit) + (define-key map [C-return] 'magit-submodule-visit) (define-key map [remap magit-visit-thing] 'magit-submodule-visit) (define-key map [remap magit-delete-thing] 'magit-submodule-unpopulate) (define-key map "K" 'magit-file-untrack) diff --git a/elpa/magit-20191030.1315/magit-subtree.el b/elpa/magit-20200126.1750/magit-subtree.el similarity index 99% rename from elpa/magit-20191030.1315/magit-subtree.el rename to elpa/magit-20200126.1750/magit-subtree.el index b8375f71..1ea3bbe0 100644 --- a/elpa/magit-20191030.1315/magit-subtree.el +++ b/elpa/magit-20200126.1750/magit-subtree.el @@ -1,6 +1,6 @@ ;;; magit-subtree.el --- subtree support for Magit -*- lexical-binding: t -*- -;; Copyright (C) 2011-2019 The Magit Project Contributors +;; Copyright (C) 2011-2020 The Magit Project Contributors ;; ;; You should have received a copy of the AUTHORS.md file which ;; lists all contributors. If not, see http://magit.vc/authors. diff --git a/elpa/magit-20191030.1315/magit-tag.el b/elpa/magit-20200126.1750/magit-tag.el similarity index 99% rename from elpa/magit-20191030.1315/magit-tag.el rename to elpa/magit-20200126.1750/magit-tag.el index 9a4859c6..c11dae8b 100644 --- a/elpa/magit-20191030.1315/magit-tag.el +++ b/elpa/magit-20200126.1750/magit-tag.el @@ -1,6 +1,6 @@ ;;; magit-tag.el --- tag functionality -*- lexical-binding: t -*- -;; Copyright (C) 2010-2019 The Magit Project Contributors +;; Copyright (C) 2010-2020 The Magit Project Contributors ;; ;; You should have received a copy of the AUTHORS.md file which ;; lists all contributors. If not, see http://magit.vc/authors. diff --git a/elpa/magit-20191030.1315/magit-transient.el b/elpa/magit-20200126.1750/magit-transient.el similarity index 99% rename from elpa/magit-20191030.1315/magit-transient.el rename to elpa/magit-20200126.1750/magit-transient.el index 5fa683fa..830eb507 100644 --- a/elpa/magit-20191030.1315/magit-transient.el +++ b/elpa/magit-20200126.1750/magit-transient.el @@ -1,6 +1,6 @@ ;;; magit-transient.el --- support for transients -*- lexical-binding: t -*- -;; Copyright (C) 2008-2019 The Magit Project Contributors +;; Copyright (C) 2008-2020 The Magit Project Contributors ;; ;; You should have received a copy of the AUTHORS.md file which ;; lists all contributors. If not, see http://magit.vc/authors. diff --git a/elpa/magit-20191030.1315/magit-utils.el b/elpa/magit-20200126.1750/magit-utils.el similarity index 99% rename from elpa/magit-20191030.1315/magit-utils.el rename to elpa/magit-20200126.1750/magit-utils.el index 81b83b3b..8177a7e2 100644 --- a/elpa/magit-20191030.1315/magit-utils.el +++ b/elpa/magit-20200126.1750/magit-utils.el @@ -1,6 +1,6 @@ ;;; magit-utils.el --- various utilities -*- lexical-binding: t; coding: utf-8 -*- -;; Copyright (C) 2010-2019 The Magit Project Contributors +;; Copyright (C) 2010-2020 The Magit Project Contributors ;; ;; You should have received a copy of the AUTHORS.md file which ;; lists all contributors. If not, see http://magit.vc/authors. @@ -932,16 +932,6 @@ one trailing newline is added." (and (eq trim ?\n) "\n")) str))) -(cl-defun magit--overlay-at (pos prop &optional (val nil sval) testfn) - (cl-find-if (lambda (o) - (let ((p (overlay-properties o))) - (and (plist-member p prop) - (or (not sval) - (funcall (or testfn #'eql) - (plist-get p prop) - val))))) - (overlays-at pos t))) - ;;; Kludges for Emacs Bugs (defun magit-file-accessible-directory-p (filename) diff --git a/elpa/magit-20191030.1315/magit-wip.el b/elpa/magit-20200126.1750/magit-wip.el similarity index 99% rename from elpa/magit-20191030.1315/magit-wip.el rename to elpa/magit-20200126.1750/magit-wip.el index 6f6ab3be..6fcdf19b 100644 --- a/elpa/magit-20191030.1315/magit-wip.el +++ b/elpa/magit-20200126.1750/magit-wip.el @@ -1,6 +1,6 @@ ;;; magit-wip.el --- commit snapshots to work-in-progress refs -*- lexical-binding: t -*- -;; Copyright (C) 2010-2019 The Magit Project Contributors +;; Copyright (C) 2010-2020 The Magit Project Contributors ;; ;; You should have received a copy of the AUTHORS.md file which ;; lists all contributors. If not, see http://magit.vc/authors. diff --git a/elpa/magit-20191030.1315/magit-worktree.el b/elpa/magit-20200126.1750/magit-worktree.el similarity index 98% rename from elpa/magit-20191030.1315/magit-worktree.el rename to elpa/magit-20200126.1750/magit-worktree.el index a8ea3c7b..609a4a32 100644 --- a/elpa/magit-20191030.1315/magit-worktree.el +++ b/elpa/magit-20200126.1750/magit-worktree.el @@ -1,6 +1,6 @@ ;;; magit-worktree.el --- worktree support -*- lexical-binding: t -*- -;; Copyright (C) 2010-2019 The Magit Project Contributors +;; Copyright (C) 2010-2020 The Magit Project Contributors ;; ;; You should have received a copy of the AUTHORS.md file which ;; lists all contributors. If not, see http://magit.vc/authors. @@ -36,7 +36,7 @@ This is called with one argument, the prompt, and can be used to e.g. use a base directory other than `default-directory'. Used by `magit-worktree-checkout' and `magit-worktree-branch'." - :package-version '(magit . "2.91.0") + :package-version '(magit . "3.0.0") :group 'magit-commands :type 'function) diff --git a/elpa/magit-20191030.1315/magit.el b/elpa/magit-20200126.1750/magit.el similarity index 99% rename from elpa/magit-20191030.1315/magit.el rename to elpa/magit-20200126.1750/magit.el index 9f26c71f..6af8b22e 100644 --- a/elpa/magit-20191030.1315/magit.el +++ b/elpa/magit-20200126.1750/magit.el @@ -1,6 +1,6 @@ ;;; magit.el --- A Git porcelain inside Emacs -*- lexical-binding: t; coding: utf-8 -*- -;; Copyright (C) 2008-2019 The Magit Project Contributors +;; Copyright (C) 2008-2020 The Magit Project Contributors ;; ;; You should have received a copy of the AUTHORS.md file which ;; lists all contributors. If not, see http://magit.vc/authors. diff --git a/elpa/magit-20200126.1750/magit.info b/elpa/magit-20200126.1750/magit.info new file mode 100644 index 00000000..0b515dd9 --- /dev/null +++ b/elpa/magit-20200126.1750/magit.info @@ -0,0 +1,193 @@ +This is magit.info, produced by makeinfo version 6.5 from magit.texi. + + Copyright (C) 2015-2020 Jonas Bernoulli + + You can redistribute this document and/or modify it under the terms + of the GNU General Public License as published by the Free Software + Foundation, either version 3 of the License, or (at your option) + any later version. + + This document is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + +INFO-DIR-SECTION Emacs +START-INFO-DIR-ENTRY +* Magit: (magit). Using Git from Emacs with Magit. +END-INFO-DIR-ENTRY + + +Indirect: +magit.info-1: 754 +magit.info-2: 301088 + +Tag Table: +(Indirect) +Node: Top754 +Node: Introduction6475 +Node: Installation11198 +Node: Installing from Melpa11528 +Node: Installing from the Git Repository12601 +Node: Post-Installation Tasks14949 +Node: Getting Started16234 +Node: Interface Concepts21683 +Node: Modes and Buffers22044 +Node: Switching Buffers23793 +Node: Naming Buffers28544 +Node: Quitting Windows31851 +Node: Automatic Refreshing of Magit Buffers33597 +Node: Automatic Saving of File-Visiting Buffers36449 +Node: Automatic Reverting of File-Visiting Buffers37634 +Node: Risk of Reverting Automatically42629 +Node: Sections45011 +Node: Section Movement45937 +Node: Section Visibility50847 +Node: Section Hooks56924 +Node: Section Types and Values59331 +Node: Section Options60634 +Node: Transient Commands61106 +Node: Transient Arguments and Buffer Variables62343 +Node: Completion Confirmation and the Selection69361 +Node: Action Confirmation69805 +Node: Completion and Confirmation77155 +Node: The Selection80341 +Node: The hunk-internal region83240 +Node: Support for Completion Frameworks84329 +Node: Additional Completion Options89236 +Node: Running Git89835 +Node: Viewing Git Output90108 +Node: Git Process Status91241 +Node: Running Git Manually92206 +Node: Git Executable94676 +Node: Global Git Arguments96958 +Node: Inspecting97764 +Node: Status Buffer98921 +Node: Status Sections102911 +Node: Status Header Sections108463 +Node: Status Module Sections111093 +Node: Status Options113598 +Node: Repository List115473 +Node: Logging118511 +Node: Refreshing Logs121074 +Node: Log Buffer122520 +Node: Log Margin126376 +Node: Select from Log129555 +Node: Reflog131780 +Node: Cherries133437 +Node: Diffing135285 +Node: Refreshing Diffs138366 +Node: Commands Available in Diffs141945 +Node: Diff Options144481 +Node: Revision Buffer149519 +Node: Ediffing152849 +Node: References Buffer156497 +Node: References Sections167017 +Node: Bisecting167878 +Node: Visiting Files and Blobs169691 +Node: General-Purpose Visit Commands170161 +Node: Visiting Files and Blobs from a Diff171117 +Node: Blaming174576 +Node: Manipulating181139 +Node: Creating Repository181481 +Node: Cloning Repository182036 +Node: Staging and Unstaging187279 +Node: Staging from File-Visiting Buffers191362 +Node: Applying192530 +Node: Committing194423 +Node: Initiating a Commit195006 +Node: Editing Commit Messages198391 +Node: Using the Revision Stack201194 +Node: Commit Pseudo Headers204245 +Node: Commit Mode and Hooks205581 +Node: Commit Message Conventions208519 +Node: Branching210647 +Node: The Two Remotes210873 +Node: Branch Commands213526 +Node: Branch Git Variables225909 +Node: Auxiliary Branch Commands231300 +Node: Merging232418 +Node: Resolving Conflicts236426 +Node: Rebasing241427 +Node: Editing Rebase Sequences246286 +Node: Information About In-Progress Rebase250614 +Ref: Information About In-Progress Rebase-Footnote-1259496 +Node: Cherry Picking260092 +Node: Reverting264423 +Node: Resetting265872 +Node: Stashing267526 +Node: Transferring272227 +Node: Remotes272449 +Node: Remote Commands272601 +Node: Remote Git Variables276682 +Node: Fetching277961 +Node: Pulling280448 +Node: Pushing281494 +Node: Plain Patches284964 +Node: Maildir Patches286455 +Node: Miscellaneous287969 +Node: Tagging288285 +Node: Notes290213 +Node: Submodules292585 +Node: Listing Submodules292803 +Node: Submodule Transient294731 +Node: Subtree297253 +Node: Worktree299229 +Node: Common Commands301088 +Node: Wip Modes303135 +Node: Wip Graph308068 +Node: Legacy Wip Modes310382 +Node: Minor Mode for Buffers Visiting Files313277 +Node: Minor Mode for Buffers Visiting Blobs320378 +Node: Customizing321191 +Node: Per-Repository Configuration322787 +Node: Essential Settings325042 +Node: Safety325366 +Node: Performance327127 +Node: Microsoft Windows Performance334188 +Node: MacOS Performance335379 +Ref: MacOS Performance-Footnote-1336084 +Node: Plumbing336166 +Node: Calling Git336995 +Node: Getting a Value from Git338520 +Node: Calling Git for Effect341606 +Node: Section Plumbing348126 +Node: Creating Sections348354 +Node: Section Selection352254 +Node: Matching Sections354053 +Node: Refreshing Buffers360026 +Node: Conventions363174 +Node: Theming Faces363366 +Node: FAQ371481 +Node: FAQ - How to ...?371923 +Node: How to show git's output?372283 +Node: How to install the gitman info manual?373037 +Node: How to show diffs for gpg-encrypted files?374007 +Node: How does branching and pushing work?374603 +Node: Can Magit be used as ediff-version-control-package?374966 +Node: FAQ - Issues and Errors376955 +Node: Magit is slow377887 +Node: I changed several thousand files at once and now Magit is unusable378101 +Node: I am having problems committing378830 +Node: I am using MS Windows and cannot push with Magit379311 +Node: I am using OS X and SOMETHING works in shell but not in Magit379928 +Node: Diffs contain control sequences380734 +Node: Expanding a file to show the diff causes it to disappear381847 +Node: Point is wrong in the COMMIT_EDITMSG buffer382398 +Node: The mode-line information isn't always up-to-date383444 +Node: A branch and tag sharing the same name breaks SOMETHING384526 +Node: My Git hooks work on the command-line but not inside Magit385414 +Node: git-commit-mode isn't used when committing from the command-line386260 +Node: Point ends up inside invisible text when jumping to a file-visiting buffer388527 +Node: Debugging Tools389325 +Node: Keystroke Index391504 +Node: Command Index425488 +Node: Function Index462513 +Node: Variable Index478865 + +End Tag Table + + +Local Variables: +coding: utf-8 +End: diff --git a/elpa/magit-20191030.1315/magit.info-1 b/elpa/magit-20200126.1750/magit.info-1 similarity index 97% rename from elpa/magit-20191030.1315/magit.info-1 rename to elpa/magit-20200126.1750/magit.info-1 index 66b90f7f..f6f7de09 100644 --- a/elpa/magit-20191030.1315/magit.info-1 +++ b/elpa/magit-20200126.1750/magit.info-1 @@ -1,6 +1,6 @@ This is magit.info, produced by makeinfo version 6.5 from magit.texi. - Copyright (C) 2015-2019 Jonas Bernoulli + Copyright (C) 2015-2020 Jonas Bernoulli You can redistribute this document and/or modify it under the terms of the GNU General Public License as published by the Free Software @@ -31,9 +31,9 @@ to perform almost all of their daily version control tasks directly from within Emacs. While many fine Git clients exist, only Magit and Git itself deserve to be called porcelains. -This manual is for Magit version 2.90.1 (v2.90.1-791-g62dad50a+1). +This manual is for Magit version 2.90.1 (v2.90.1-900-g14c70a5ac+1). - Copyright (C) 2015-2019 Jonas Bernoulli + Copyright (C) 2015-2020 Jonas Bernoulli You can redistribute this document and/or modify it under the terms of the GNU General Public License as published by the Free Software @@ -763,8 +763,7 @@ File: magit.info, Node: Switching Buffers, Next: Naming Buffers, Up: Modes an itself can be used here, in which case the display actions have to be specified by adding them to ‘display-buffer-alist’ instead. - To learn about display actions, see *note (elisp)Choosing a Window - for Display::. + To learn about display actions, see *note (elisp)Choosing Window::. -- Function: magit-display-buffer-traditional buffer @@ -1279,6 +1278,14 @@ section use the following commands. The above commands all call the hook ‘magit-section-movement-hook’. Any of the functions listed below can be used as members of this hook. + You might want to remove some of the functions that Magit adds using +‘add-hook’. In doing so you have to make sure you do not attempt to +remove function that haven’t even been added yet, for example: + + (with-eval-after-load 'magit-diff + (remove-hook 'magit-section-movement-hook + 'magit-hunk-set-window-start)) + -- Variable: magit-section-movement-hook This hook is run by all of the above movement commands, after @@ -1288,8 +1295,9 @@ Any of the functions listed below can be used as members of this hook. This hook function ensures that the beginning of the current section is visible, provided it is a ‘hunk’ section. Otherwise, it - does nothing. This function is a member of the hook’s default - value. + does nothing. + + Loading ‘magit-diff’ adds this function to the hook. -- Function: magit-section-set-window-start @@ -1302,15 +1310,17 @@ Any of the functions listed below can be used as members of this hook. This hook function only has an effect in log buffers, and ‘point’ is on the "show more" section. If that is the case, then it - doubles the number of commits that are being shown. This function - is a member of the hook’s default value. + doubles the number of commits that are being shown. + + Loading ‘magit-log’ adds this function to the hook. -- Function: magit-log-maybe-update-revision-buffer When moving inside a log buffer, then this function updates the revision buffer, provided it is already being displayed in another - window of the same frame. This function is a member of the hook’s - default value. + window of the same frame. + + Loading ‘magit-log’ adds this function to the hook. -- Function: magit-log-maybe-update-blob-buffer @@ -3672,7 +3682,7 @@ Files and Blobs from a Diff:: for more information and the key bindings. -- User Option: magit-log-trace-definition-function - The function specfied by this option is used by + The function specified by this option is used by ‘magit-log-trace-definition’ to determine the function at point. For major-modes that have special needs, you could set the local value using the mode’s hook. @@ -3793,8 +3803,8 @@ File: magit.info, Node: Diff Options, Next: Revision Buffer, Prev: Commands A -- User Option: magit-diff-highlight-indentation - This option controls whether to highlight the indentaion in case it - used the "wrong" indentation style. Indentation is only + This option controls whether to highlight the indentation in case + it used the "wrong" indentation style. Indentation is only highlighted if ‘magit-diff-paint-whitespace’ is also non-nil. The value is an alist of the form ‘((REGEXP . INDENT)...)’. The @@ -5139,15 +5149,13 @@ File: magit.info, Node: Editing Commit Messages, Prev: Initiating a Commit, U ----------------------------- After initiating a commit as described in the previous section, two new -buffers appear. One shows the changes that are about to committed, -while the other is used to write the message. All regular editing -commands are available in the commit message buffer. This section only -describes the additional commands. +buffers appear. One shows the changes that are about to be committed, +while the other is used to write the message. - Commit messages are edited in an edit session - in the background Git -is waiting for the editor, in our case the Emacsclient, to save the + Commit messages are edited in an edit session - in the background +‘git’ is waiting for the editor, in our case ‘emacsclient’, to save the commit message in a file (in most cases ‘.git/COMMIT_EDITMSG’) and then -return. If the Emacsclient returns with a non-zero exit status then Git +return. If the editor returns with a non-zero exit status then ‘git’ does not create the commit. So the most important commands are those for finishing and aborting the commit. @@ -5161,11 +5169,12 @@ for finishing and aborting the commit. Cancel the current editing session by returning with exit code 1. Git then cancels the commit, but leaves the file untouched. - In addition to being used by Git, these messages may also be stored -in a ring that persists until Emacs is closed. By default the message -is stored at the beginning and the end of an edit session (regardless of -whether the session is finished successfully or was canceled). It is -sometimes useful to bring back messages from that ring. + In addition to being used by ‘git commit’, messages may also be +stored in a ring that persists until Emacs is closed. By default the +message is stored at the beginning and the end of an edit session +(regardless of whether the session is finished successfully or was +canceled). It is sometimes useful to bring back messages from that +ring. ‘C-c M-s’ (‘git-commit-save-message’) @@ -5184,10 +5193,12 @@ sometimes useful to bring back messages from that ring. ARG comments. By default the diff for the changes that are about to be committed -are automatically shown when invoking the commit. When amending to an -existing commit it may be useful to show either the changes that are -about to be added to that commit or to show those changes together with -those that are already committed. +are automatically shown when invoking the commit. To prevent that, +remove ‘magit-commit-diff’ from ‘server-switch-hook’. + + When amending to an existing commit it may be useful to show either +the changes that are about to be added to that commit or to show those +changes alongside those that have already been committed. ‘C-c C-d’ (‘magit-diff-while-committing’) @@ -5195,6 +5206,19 @@ those that are already committed. While amending, invoking the command again toggles between showing just the new changes or all the changes that will be committed. +* Menu: + +* Using the Revision Stack:: +* Commit Pseudo Headers:: +* Commit Mode and Hooks:: +* Commit Message Conventions:: + + +File: magit.info, Node: Using the Revision Stack, Next: Commit Pseudo Headers, Up: Editing Commit Messages + +Using the Revision Stack +........................ + ‘C-c C-w’ (‘magit-pop-revision-stack’) This command inserts a representation of a revision into the @@ -5246,20 +5270,30 @@ those that are already committed. determined in the previous step. Both formats, if non-nil and after removing %N, are then expanded - using ‘git show –format=FORMAT ...’ inside TOPLEVEL. + using ‘git show --format=FORMAT ...’ inside TOPLEVEL. The expansion of POINT-FORMAT is inserted at point, and the expansion of EOB-FORMAT is inserted at the end of the buffer (if the buffer ends with a comment, then it is inserted right before that). - Some projects use pseudo headers in commit messages. Magit colorizes + +File: magit.info, Node: Commit Pseudo Headers, Next: Commit Mode and Hooks, Prev: Using the Revision Stack, Up: Editing Commit Messages + +Commit Pseudo Headers +..................... + +Some projects use pseudo headers in commit messages. Magit colorizes such headers and provides some commands to insert such headers. -- User Option: git-commit-known-pseudo-headers A list of Git pseudo headers to be highlighted. +‘C-c C-i’ (‘git-commit-insert-pseudo-header’) + + Insert a commit message pseudo header. + ‘C-c C-a’ (‘git-commit-ack’) Insert a header acknowledging that you have looked at the commit. @@ -5285,15 +5319,21 @@ such headers and provides some commands to insert such headers. Insert a header mentioning the person who reported the issue being fixed by the commit. -‘C-c C-i’ (‘git-commit-suggested’) +‘C-c M-i’ (‘git-commit-suggested’) Insert a header mentioning the person who suggested the change. - ‘git-commit-mode’ is a minor mode that is only used to establish the -above key bindings. This allows using an arbitrary major mode when -editing the commit message. It’s even possible to use a different major -mode in different repositories, which is useful when different projects -impose different commit message conventions. + +File: magit.info, Node: Commit Mode and Hooks, Next: Commit Message Conventions, Prev: Commit Pseudo Headers, Up: Editing Commit Messages + +Commit Mode and Hooks +..................... + +‘git-commit-mode’ is a minor mode that is only used to establish certain +key bindings. This makes it possible to use an arbitrary major mode in +buffers used to edit commit messages. It is even possible to use +different major modes in different repositories, which is useful when +different projects impose different commit message conventions. -- User Option: git-commit-major-mode @@ -5303,21 +5343,13 @@ impose different commit message conventions. Because ‘git-commit-mode’ is a minor mode, we don’t use its mode hook to setup the buffer, except for the key bindings. All other setup happens in the function ‘git-commit-setup’, which among other things -runs the hook ‘git-commit-setup-hook’. The following functions are -suitable for that hook. +runs the hook ‘git-commit-setup-hook’. -- User Option: git-commit-setup-hook Hook run at the end of ‘git-commit-setup’. - -- Function: magit-revert-buffers &optional force - - Revert unmodified file-visiting buffers of the current repository. - - If either ‘magit-revert-buffers’ is non-nil and - ‘inhibit-magit-revert’ is nil, or if optional FORCE is non-nil, - then revert all unmodified buffers that visit files being tracked - in the current repository. +The following functions are suitable for this hook: -- Function: git-commit-save-message @@ -5347,12 +5379,43 @@ suitable for that hook. buffer is more useful. But some users disagree, which is why this function exists. + -- Function: bug-reference-mode + + Hyperlink bug references in the buffer. + -- Function: with-editor-usage-message Show usage information in the echo area. - Magit also helps with writing *good* commit messages by complaining -when certain rules are violated. + -- User Option: git-commit-setup-hook + + Hook run after the user finished writing a commit message. + + This hook is only run after pressing ‘C-c C-c’ in a buffer used to + edit a commit message. If a commit is created without the user + typing a message into a buffer, then this hook is not run. + + This hook is not run until the new commit has been created. If + doing so takes Git longer than one second, then this hook isn’t run + at all. For certain commands such as ‘magit-rebase-continue’ this + hook is never run because doing so would lead to a race condition. + + This hook is only run if ‘magit’ is available. + + Also see ‘magit-post-commit-hook’. + + +File: magit.info, Node: Commit Message Conventions, Prev: Commit Mode and Hooks, Up: Editing Commit Messages + +Commit Message Conventions +.......................... + +Git-Commit highlights certain violations of commonly accepted commit +message conventions. Certain violations even cause Git-Commit to ask +you to confirm that you really want to do that. This nagging can of +course be turned off, but the result of doing that usually is that +instead of some code it’s now the human who is reviewing your commits +who has to waste some time telling you to fix your commits. -- User Option: git-commit-summary-max-length @@ -5379,15 +5442,20 @@ when certain rules are violated. finishing the session despite issues. Functions should usually honor this wish and return non-nil. + By default the only member is ‘git-commit-check-style-conventions’. + -- Function: git-commit-check-style-conventions - Check for violations of certain basic style conventions. For each - violation ask the user if she wants to proceed anyway. This makes - sure the summary line isn’t too long and that the second line is - empty. + This function checks for violations of certain basic style + conventions. For each violation it asks users if they want to + proceed anyway. - To show no diff while committing remove ‘magit-commit-diff’ from -‘server-switch-hook’. + -- User Option: git-commit-style-convention-checks + + This option controls what conventions the function by the same name + tries to enforce. The value is a list of self-explanatory symbols + identifying certain conventions; ‘non-empty-second-line’ and + ‘overlong-summary-line’.  File: magit.info, Node: Branching, Next: Merging, Prev: Committing, Up: Manipulating @@ -5646,8 +5714,8 @@ them. Those features are available from separate transient command. trigger interpretation as a regexp are "*" and "^". Some other characters which you might expect to be invalid, actually are not, e.g. ".+$" are all perfectly valid. More precisely, if ‘git - check-ref-format –branch STRING’ exits with a non-zero status, then - treat STRING as a regexp. + check-ref-format --branch STRING’ exits with a non-zero status, + then treat STRING as a regexp. Assuming the chosen branch matches these conditions you would end up with with e.g.: @@ -6135,18 +6203,17 @@ Two Remotes::. This command rebases the current branch onto its push-remote. - When ‘magit-remote-set-if-missing’ is non-nil and the push-remote - is not configured, then configure it before rebasing. With a - prefix argument let the user change the push-remote before rebasing - onto it. + With a prefix argument or when the push-remote is either not + configured or unusable, then let the user first configure the + push-remote. ‘r u’ (‘magit-rebase-onto-upstream’) This command rebases the current branch onto its upstream branch. - When ‘magit-remote-set-if-missing’ is non-nil and the upstream is - not configured, then configure it before rebasing. With a prefix - argument let the user change the upstream before rebasing onto it. + With a prefix argument or when the upstream is either not + configured or unusable, then let the user first configure the + upstream. ‘r e’ (‘magit-rebase-branch’) @@ -7059,28 +7126,6 @@ These variables can be set from the transient prefix command value, then only tags are fetched that are reachable from fetched branches. - -- User Option: magit-remote-set-if-missing - - This option controls whether missing remotes are configured before - fetching, pulling, pushing and rebasing. - - When ‘nil’, then commands such as ‘magit-pull-from-upstream’ and - ‘magit-rebase-onto-uptream’ are not available as suffix commands if - the push-remote or upstream is not configured. - - When ‘non-nil’, then these commands are always available in their - respective transient, but if the required configuration is missing, - then they do appear in a way that indicates that this is the case. - If the user invokes such a command, then it asks for the necessary - configuration, stores the configuration, and only then performs the - action. - - This option also affects whether the argument ‘--set-upstream’ is - available in ‘magit-push’. If the value is ‘non-nil’, then that - argument would be redundant. But note that changing the value of - this option does not take affect immediately, the argument will - only be added or removed after restarting Emacs. -  File: magit.info, Node: Fetching, Next: Pulling, Prev: Remotes, Up: Transferring @@ -7098,20 +7143,24 @@ and the push-remote, see *note The Two Remotes::. ‘f p’ (‘magit-fetch-from-pushremote’) - This command fetches from the push-remote of the current branch. + This command fetches from the current push-remote. - When ‘magit-remote-set-if-missing’ is non-nil and the push-remote - is not configured, then configure it before fetching. With a - prefix argument let the user change the push-remote before fetching - from it. + With a prefix argument or when the push-remote is either not + configured or unusable, then let the user first configure the + push-remote. ‘f u’ (‘magit-fetch-from-upstream’) This command fetch from the upstream of the current branch. - When ‘magit-remote-set-if-missing’ is non-nil and the upstream is - not configured, then configure it before fetching. With a prefix - argument let the user change the upstream before fetching from it. + If the upstream is configured for the current branch and names an + existing remote, then use that. Otherwise try to use another + remote: If only a single remote is configured, then use that. + Otherwise if a remote named "origin" exists, then use that. + + If no remote can be determined, then this command is not available + from the ‘magit-fetch’ transient prefix and invoking it directly + results in an error. ‘f e’ (‘magit-fetch-other’) @@ -7167,18 +7216,17 @@ and the push-remote, see *note The Two Remotes::. This command pulls from the push-remote of the current branch. - When ‘magit-remote-set-if-missing’ is non-nil and the push-remote - is not configured, then configure it before pulling. With a prefix - argument let the user change the push-remote before pulling from - it. + With a prefix argument or when the push-remote is either not + configured or unusable, then let the user first configure the + push-remote. ‘F u’ (‘magit-pull-from-upstream’) This command pulls from the upstream of the current branch. - When ‘magit-remote-set-if-missing’ is non-nil and the upstream is - not configured, then configure it before pulling. With a prefix - argument let the user change the upstream before pulling from it. + With a prefix argument or when the upstream is either not + configured or unusable, then let the user first configure the + upstream. ‘F e’ (‘magit-pull-branch’) @@ -7203,17 +7251,17 @@ and the push-remote, see *note The Two Remotes::. This command pushes the current branch to its push-remote. - When ‘magit-remote-set-if-missing’ is non-nil and the push-remote - is not configured, then configure it before pushing. With a prefix - argument let the user change the push-remote before pushing to it. + With a prefix argument or when the push-remote is either not + configured or unusable, then let the user first configure the + push-remote. ‘P u’ (‘magit-push-current-to-upstream’) This command pushes the current branch to its upstream branch. - When ‘magit-remote-set-if-missing’ is non-nil and the upstream is - not configured, then configure it before pushing. With a prefix - argument let the user change the upstream before pushing to it. + With a prefix argument or when the upstream is either not + configured or unusable, then let the user first configure the + upstream. ‘P e’ (‘magit-push-current’) @@ -7736,49 +7784,3 @@ Also see *note (gitman)git-worktree::. If the worktree at point is the one whose status is already being displayed in the current buffer, then show it in Dired instead. - -File: magit.info, Node: Common Commands, Next: Wip Modes, Prev: Worktree, Up: Miscellaneous - -8.6 Common Commands -=================== - -These are some of the commands that can be used in all buffers whose -major-modes derive from ‘magit-mode’. There are other common commands -beside the ones below, but these didn’t fit well anywhere else. - -‘M-w’ (‘magit-copy-section-value’) - - This command saves the value of the current section to the - ‘kill-ring’, and, provided that the current section is a commit, - branch, or tag section, it also pushes the (referenced) revision to - the ‘magit-revision-stack’. - - When the current section is a branch or a tag, and a prefix - argument is used, then it saves the revision at its tip to the - ‘kill-ring’ instead of the reference name. - - When the region is active, this command saves that to the - ‘kill-ring’, like ‘kill-ring-save’ would, instead of behaving as - described above. If a prefix argument is used and the region is - within a hunk, it strips the outer diff marker column before saving - the text. - -‘C-w’ (‘magit-copy-buffer-revision’) - - This command saves the revision being displayed in the current - buffer to the ‘kill-ring’ and also pushes it to the - ‘magit-revision-stack’. It is mainly intended for use in - ‘magit-revision-mode’ buffers, the only buffers where it is always - unambiguous exactly which revision should be saved. - - Most other Magit buffers usually show more than one revision, in - some way or another, so this command has to select one of them, and - that choice might not always be the one you think would have been - the best pick. - - Outside of Magit ‘M-w’ and ‘C-w’ are usually bound to -‘kill-ring-save’ and ‘kill-region’, and these commands would also be -useful in Magit buffers. Therefore when the region is active, then both -of these commands behave like ‘kill-ring-save’ instead of as described -above. - diff --git a/elpa/magit-20191030.1315/magit.info-2 b/elpa/magit-20200126.1750/magit.info-2 similarity index 96% rename from elpa/magit-20191030.1315/magit.info-2 rename to elpa/magit-20200126.1750/magit.info-2 index cbdd174a..326359e8 100644 --- a/elpa/magit-20191030.1315/magit.info-2 +++ b/elpa/magit-20200126.1750/magit.info-2 @@ -1,6 +1,6 @@ This is magit.info, produced by makeinfo version 6.5 from magit.texi. - Copyright (C) 2015-2019 Jonas Bernoulli + Copyright (C) 2015-2020 Jonas Bernoulli You can redistribute this document and/or modify it under the terms of the GNU General Public License as published by the Free Software @@ -17,6 +17,52 @@ START-INFO-DIR-ENTRY * Magit: (magit). Using Git from Emacs with Magit. END-INFO-DIR-ENTRY + +File: magit.info, Node: Common Commands, Next: Wip Modes, Prev: Worktree, Up: Miscellaneous + +8.6 Common Commands +=================== + +These are some of the commands that can be used in all buffers whose +major-modes derive from ‘magit-mode’. There are other common commands +beside the ones below, but these didn’t fit well anywhere else. + +‘M-w’ (‘magit-copy-section-value’) + + This command saves the value of the current section to the + ‘kill-ring’, and, provided that the current section is a commit, + branch, or tag section, it also pushes the (referenced) revision to + the ‘magit-revision-stack’. + + When the current section is a branch or a tag, and a prefix + argument is used, then it saves the revision at its tip to the + ‘kill-ring’ instead of the reference name. + + When the region is active, this command saves that to the + ‘kill-ring’, like ‘kill-ring-save’ would, instead of behaving as + described above. If a prefix argument is used and the region is + within a hunk, it strips the outer diff marker column before saving + the text. + +‘C-w’ (‘magit-copy-buffer-revision’) + + This command saves the revision being displayed in the current + buffer to the ‘kill-ring’ and also pushes it to the + ‘magit-revision-stack’. It is mainly intended for use in + ‘magit-revision-mode’ buffers, the only buffers where it is always + unambiguous exactly which revision should be saved. + + Most other Magit buffers usually show more than one revision, in + some way or another, so this command has to select one of them, and + that choice might not always be the one you think would have been + the best pick. + + Outside of Magit ‘M-w’ and ‘C-w’ are usually bound to +‘kill-ring-save’ and ‘kill-region’, and these commands would also be +useful in Magit buffers. Therefore when the region is active, then both +of these commands behave like ‘kill-ring-save’ instead of as described +above. +  File: magit.info, Node: Wip Modes, Next: Minor Mode for Buffers Visiting Files, Prev: Common Commands, Up: Miscellaneous @@ -521,6 +567,21 @@ file-visiting buffers in just one huge repository use this: ((nil . ((magit-refresh-buffers . nil)))) + It might only be costly to insert certain information into Magit +buffers for repositories that are exceptionally large, in which case you +can disable the respective section inserters just for that repository: + + • ‘/path/to/tag/invested/repo/.dir-locals.el’ + + ((magit-status-mode + . ((eval . (magit-disable-section-inserter 'magit-insert-tags-header))))) + + -- Function: magit-disable-section-inserter fn + + This function disables the section inserter FN in the current + repository. It is only intended for use in ‘.dir-locals.el’ and + ‘.dir-locals-2.el’. + If you want to apply the same settings to several, but not all, repositories then keeping the repository-local config files in sync would quickly become annoying. To avoid that you can create config @@ -587,7 +648,7 @@ should add ‘safe-with-wip’ to this list. Similarly it isn’t necessary to require confirmation before moving a file to the system trash - if you trashed a file by mistake then you can -recover it from the there. Option ‘magit-delete-by-moving-to-trash’ +recover it from there. Option ‘magit-delete-by-moving-to-trash’ controls whether the system trash is used, which is the case by default. Nevertheless, ‘trash’ isn’t a member of ‘magit-no-confirm’ - you might want to change that. @@ -626,9 +687,12 @@ buffer. You should also check whether any third-party packages have added anything to ‘magit-refresh-buffer-hook’, ‘magit-status-refresh-hook’, ‘magit-pre-refresh-hook’, and ‘magit-post-refresh-hook’. If so, then -check whether those additions impact performance significantly. Setting -‘magit-refresh-verbose’ and then inspecting the output in the -‘*Messages*’ buffer, should help doing so. +check whether those additions impact performance significantly. + + Magit can be told to refresh buffers verbosely using ‘M-x +magit-toggle-verbose-refresh’. Enabling this helps figuring out which +sections are bottlenecks. The additional output can be found in the +‘*Messages*’ buffer. Magit also reverts buffers for visited files located inside the current repository when the visited file changes on disk. That is @@ -652,7 +716,10 @@ they reduce performance at least in large repositories. If performance is only slow inside certain unusually large repositories, then you might want to disable certain features on a per-repository or per-repository-class basis only. See *note -Per-Repository Configuration::. +Per-Repository Configuration::. For example it takes a long time to +determine the next and current tag in repository with exceptional +numbers of tags. It would therefore be a good idea to disable +‘magit-insert-tags-headers’, as explained at the mentioned node. * Menu: @@ -1694,7 +1761,7 @@ A.1.4 How does branching and pushing work? ------------------------------------------ Please see *note Branching:: and - +  File: magit.info, Node: Can Magit be used as ediff-version-control-package?, Prev: How does branching and pushing work?, Up: FAQ - How to ...? @@ -2022,6 +2089,12 @@ issue. Please include all relevant output when reporting an issue. If you run Magit from its Git repository, then you should be able to use ‘make emacs-Q’ instead of the output of this command. +‘M-x magit-toggle-verbose-refresh’ (‘magit-toggle-verbose-refresh’) + + This command toggles whether Magit refreshes buffers verbosely. + Enabling this helps figuring out which sections are bottlenecks. + The additional output can be found in the ‘*Messages*’ buffer. + ‘M-x magit-debug-git-executable’ (‘magit-debug-git-executable’) This command displays a buffer containing information about the @@ -2033,7 +2106,7 @@ issue. Please include all relevant output when reporting an issue. ‘M-x with-editor-debug’ (‘with-editor-debug’) This command displays a buffer containing information about the - available and used ‘~emacsclient’ executable(s), and can be useful + available and used ‘emacsclient’ executable(s), and can be useful when investigating why Magit (or rather ‘with-editor’) cannot find an appropriate ‘emacsclient’ executable. @@ -2141,45 +2214,45 @@ Appendix C Keystroke Index * C-: Visiting Files and Blobs from a Diff. (line 51) * C-: Section Visibility. (line 13) -* C-c C-a: Editing Commit Messages. - (line 128) +* C-c C-a: Commit Pseudo Headers. + (line 17) * C-c C-b: Log Buffer. (line 21) * C-c C-b <1>: Refreshing Diffs. (line 91) * C-c C-c: Transient Commands. (line 18) * C-c C-c <1>: Select from Log. (line 20) * C-c C-c <2>: Editing Commit Messages. - (line 19) + (line 17) * C-c C-c <3>: Editing Rebase Sequences. (line 6) * C-c C-d: Refreshing Diffs. (line 81) * C-c C-d <1>: Editing Commit Messages. - (line 57) + (line 58) * C-c C-e: Commands Available in Diffs. (line 25) * C-c C-f: Log Buffer. (line 25) * C-c C-f <1>: Refreshing Diffs. (line 95) -* C-c C-i: Editing Commit Messages. - (line 153) +* C-c C-i: Commit Pseudo Headers. + (line 13) * C-c C-k: Select from Log. (line 26) * C-c C-k <1>: Editing Commit Messages. - (line 24) + (line 22) * C-c C-k <2>: Editing Rebase Sequences. (line 11) * C-c C-n: Log Buffer. (line 29) -* C-c C-o: Editing Commit Messages. - (line 144) -* C-c C-p: Editing Commit Messages. - (line 148) -* C-c C-r: Editing Commit Messages. - (line 132) -* C-c C-s: Editing Commit Messages. - (line 136) +* C-c C-o: Commit Pseudo Headers. + (line 33) +* C-c C-p: Commit Pseudo Headers. + (line 37) +* C-c C-r: Commit Pseudo Headers. + (line 21) +* C-c C-s: Commit Pseudo Headers. + (line 25) * C-c C-t: Commands Available in Diffs. (line 14) -* C-c C-t <1>: Editing Commit Messages. - (line 140) -* C-c C-w: Editing Commit Messages. - (line 63) +* C-c C-t <1>: Commit Pseudo Headers. + (line 29) +* C-c C-w: Using the Revision Stack. + (line 6) * C-c M-g: Minor Mode for Buffers Visiting Files. (line 54) * C-c M-g B: Blaming. (line 21) @@ -2213,8 +2286,10 @@ Appendix C Keystroke Index (line 114) * C-c M-g u: Minor Mode for Buffers Visiting Files. (line 63) +* C-c M-i: Commit Pseudo Headers. + (line 42) * C-c M-s: Editing Commit Messages. - (line 35) + (line 34) * C-w: Common Commands. (line 27) * C-x g: Status Buffer. (line 22) * C-x u: Editing Rebase Sequences. @@ -2258,18 +2333,18 @@ Appendix C Keystroke Index (line 63) * f <1>: Fetching. (line 9) * F: Pulling. (line 9) -* f a: Fetching. (line 46) +* f a: Fetching. (line 50) * f C: Branch Commands. (line 30) * F C: Branch Commands. (line 31) -* f e: Fetching. (line 32) -* F e: Pulling. (line 31) -* f m: Fetching. (line 50) -* f o: Fetching. (line 36) +* f e: Fetching. (line 36) +* F e: Pulling. (line 30) +* f m: Fetching. (line 54) +* f o: Fetching. (line 40) * f p: Fetching. (line 15) * F p: Pulling. (line 14) -* f r: Fetching. (line 41) -* f u: Fetching. (line 24) -* F u: Pulling. (line 23) +* f r: Fetching. (line 45) +* f u: Fetching. (line 23) +* F u: Pulling. (line 22) * g: Automatic Refreshing of Magit Buffers. (line 24) * G: Automatic Refreshing of Magit Buffers. @@ -2328,18 +2403,18 @@ Appendix C Keystroke Index * M-: Section Visibility. (line 17) * M-n: Section Movement. (line 26) * M-n <1>: Editing Commit Messages. - (line 45) + (line 44) * M-n <2>: Editing Rebase Sequences. (line 47) * M-p: Section Movement. (line 20) * M-p <1>: Editing Commit Messages. - (line 39) + (line 38) * M-p <2>: Editing Rebase Sequences. (line 43) * M-w: Blaming. (line 130) * M-w <1>: Common Commands. (line 10) * M-x magit-debug-git-executable: Git Executable. (line 45) -* M-x magit-debug-git-executable <1>: Debugging Tools. (line 30) +* M-x magit-debug-git-executable <1>: Debugging Tools. (line 36) * M-x magit-describe-section-briefly: Section Types and Values. (line 13) * M-x magit-describe-section-briefly <1>: Matching Sections. (line 6) @@ -2352,12 +2427,13 @@ Appendix C Keystroke Index * M-x magit-stage-file: Staging from File-Visiting Buffers. (line 10) * M-x magit-toggle-buffer-lock: Modes and Buffers. (line 17) +* M-x magit-toggle-verbose-refresh: Debugging Tools. (line 30) * M-x magit-unstage-file: Staging from File-Visiting Buffers. (line 18) * M-x magit-version: Git Executable. (line 17) * M-x magit-version <1>: Debugging Tools. (line 10) * M-x magit-wip-commit: Wip Modes. (line 88) -* M-x with-editor-debug: Debugging Tools. (line 38) +* M-x with-editor-debug: Debugging Tools. (line 44) * MM: Editing Rebase Sequences. (line 125) * Mt: Editing Rebase Sequences. @@ -2412,19 +2488,19 @@ Appendix C Keystroke Index * r: Rebasing. (line 9) * r <1>: Editing Rebase Sequences. (line 51) -* r a: Rebasing. (line 124) -* r e: Rebasing. (line 45) -* r e <1>: Rebasing. (line 119) -* r f: Rebasing. (line 85) -* r i: Rebasing. (line 81) -* r k: Rebasing. (line 100) -* r m: Rebasing. (line 90) +* r a: Rebasing. (line 123) +* r e: Rebasing. (line 44) +* r e <1>: Rebasing. (line 118) +* r f: Rebasing. (line 84) +* r i: Rebasing. (line 80) +* r k: Rebasing. (line 99) +* r m: Rebasing. (line 89) * r p: Rebasing. (line 28) -* r r: Rebasing. (line 107) -* r s: Rebasing. (line 51) -* r s <1>: Rebasing. (line 114) -* r u: Rebasing. (line 37) -* r w: Rebasing. (line 95) +* r r: Rebasing. (line 106) +* r s: Rebasing. (line 50) +* r s <1>: Rebasing. (line 113) +* r u: Rebasing. (line 36) +* r w: Rebasing. (line 94) * RET: References Buffer. (line 181) * RET <1>: Visiting Files and Blobs from a Diff. (line 8) @@ -2526,26 +2602,28 @@ Appendix D Command Index * forward-line: Editing Rebase Sequences. (line 39) -* git-commit-ack: Editing Commit Messages. - (line 128) -* git-commit-cc: Editing Commit Messages. - (line 144) +* git-commit-ack: Commit Pseudo Headers. + (line 17) +* git-commit-cc: Commit Pseudo Headers. + (line 33) +* git-commit-insert-pseudo-header: Commit Pseudo Headers. + (line 13) * git-commit-next-message: Editing Commit Messages. - (line 45) + (line 44) * git-commit-prev-message: Editing Commit Messages. - (line 39) -* git-commit-reported: Editing Commit Messages. - (line 148) -* git-commit-review: Editing Commit Messages. - (line 132) + (line 38) +* git-commit-reported: Commit Pseudo Headers. + (line 37) +* git-commit-review: Commit Pseudo Headers. + (line 21) * git-commit-save-message: Editing Commit Messages. - (line 35) -* git-commit-signoff: Editing Commit Messages. - (line 136) -* git-commit-suggested: Editing Commit Messages. - (line 153) -* git-commit-test: Editing Commit Messages. - (line 140) + (line 34) +* git-commit-signoff: Commit Pseudo Headers. + (line 25) +* git-commit-suggested: Commit Pseudo Headers. + (line 42) +* git-commit-test: Commit Pseudo Headers. + (line 29) * git-rebase-backward-line: Editing Rebase Sequences. (line 35) * git-rebase-break: Editing Rebase Sequences. @@ -2677,7 +2755,7 @@ Appendix D Command Index * magit-copy-section-value: Common Commands. (line 10) * magit-cycle-margin-style: Log Margin. (line 70) * magit-debug-git-executable: Git Executable. (line 45) -* magit-debug-git-executable <1>: Debugging Tools. (line 30) +* magit-debug-git-executable <1>: Debugging Tools. (line 36) * magit-describe-section-briefly: Section Types and Values. (line 13) * magit-describe-section-briefly <1>: Matching Sections. (line 6) @@ -2724,7 +2802,7 @@ Appendix D Command Index (line 75) * magit-diff-while-committing: Refreshing Diffs. (line 81) * magit-diff-while-committing <1>: Editing Commit Messages. - (line 57) + (line 58) * magit-diff-working-tree: Diffing. (line 45) * magit-discard: Applying. (line 40) * magit-dispatch: Transient Commands. (line 18) @@ -2742,13 +2820,13 @@ Appendix D Command Index (line 136) * magit-emacs-Q-command: Debugging Tools. (line 16) * magit-fetch: Fetching. (line 9) -* magit-fetch-all: Fetching. (line 46) -* magit-fetch-branch: Fetching. (line 36) +* magit-fetch-all: Fetching. (line 50) +* magit-fetch-branch: Fetching. (line 40) * magit-fetch-from-pushremote: Fetching. (line 15) -* magit-fetch-from-upstream: Fetching. (line 24) +* magit-fetch-from-upstream: Fetching. (line 23) * magit-fetch-modules: Submodule Transient. (line 58) -* magit-fetch-other: Fetching. (line 32) -* magit-fetch-refspec: Fetching. (line 41) +* magit-fetch-other: Fetching. (line 36) +* magit-fetch-refspec: Fetching. (line 45) * magit-file-checkout: Resetting. (line 44) * magit-file-checkout <1>: Minor Mode for Buffers Visiting Files. (line 165) @@ -2831,14 +2909,14 @@ Appendix D Command Index * magit-patch-apply <1>: Maildir Patches. (line 25) * magit-patch-create: Plain Patches. (line 12) * magit-patch-save: Plain Patches. (line 28) -* magit-pop-revision-stack: Editing Commit Messages. - (line 63) +* magit-pop-revision-stack: Using the Revision Stack. + (line 6) * magit-process: Viewing Git Output. (line 16) * magit-process-kill: Viewing Git Output. (line 24) * magit-pull: Pulling. (line 9) -* magit-pull-branch: Pulling. (line 31) +* magit-pull-branch: Pulling. (line 30) * magit-pull-from-pushremote: Pulling. (line 14) -* magit-pull-from-upstream: Pulling. (line 23) +* magit-pull-from-upstream: Pulling. (line 22) * magit-push: Pushing. (line 9) * magit-push-current: Pushing. (line 31) * magit-push-current-to-pushremote: Pushing. (line 15) @@ -2851,19 +2929,19 @@ Appendix D Command Index * magit-push-tags: Pushing. (line 58) * magit-push-to-remote remote args: Pushing. (line 85) * magit-rebase: Rebasing. (line 9) -* magit-rebase-abort: Rebasing. (line 124) -* magit-rebase-autosquash: Rebasing. (line 85) -* magit-rebase-branch: Rebasing. (line 45) -* magit-rebase-continue: Rebasing. (line 107) -* magit-rebase-edit: Rebasing. (line 119) -* magit-rebase-edit-commit: Rebasing. (line 90) -* magit-rebase-interactive: Rebasing. (line 81) +* magit-rebase-abort: Rebasing. (line 123) +* magit-rebase-autosquash: Rebasing. (line 84) +* magit-rebase-branch: Rebasing. (line 44) +* magit-rebase-continue: Rebasing. (line 106) +* magit-rebase-edit: Rebasing. (line 118) +* magit-rebase-edit-commit: Rebasing. (line 89) +* magit-rebase-interactive: Rebasing. (line 80) * magit-rebase-onto-pushremote: Rebasing. (line 28) -* magit-rebase-onto-upstream: Rebasing. (line 37) -* magit-rebase-remove-commit: Rebasing. (line 100) -* magit-rebase-reword-commit: Rebasing. (line 95) -* magit-rebase-skip: Rebasing. (line 114) -* magit-rebase-subset: Rebasing. (line 51) +* magit-rebase-onto-upstream: Rebasing. (line 36) +* magit-rebase-remove-commit: Rebasing. (line 99) +* magit-rebase-reword-commit: Rebasing. (line 94) +* magit-rebase-skip: Rebasing. (line 113) +* magit-rebase-subset: Rebasing. (line 50) * magit-reflog-current: Reflog. (line 11) * magit-reflog-head: Reflog. (line 19) * magit-reflog-other: Reflog. (line 15) @@ -2972,7 +3050,7 @@ Appendix D Command Index * magit-status: Status Buffer. (line 22) * magit-submodule: Submodule Transient. (line 6) * magit-submodule-add: Submodule Transient. (line 20) -* magit-submodule-fetch: Fetching. (line 50) +* magit-submodule-fetch: Fetching. (line 54) * magit-submodule-populate: Submodule Transient. (line 34) * magit-submodule-register: Submodule Transient. (line 27) * magit-submodule-synchronize: Submodule Transient. (line 44) @@ -2996,6 +3074,7 @@ Appendix D Command Index * magit-toggle-margin: Refreshing Logs. (line 37) * magit-toggle-margin <1>: Log Margin. (line 66) * magit-toggle-margin-details: Log Margin. (line 74) +* magit-toggle-verbose-refresh: Debugging Tools. (line 30) * magit-unstage: Staging and Unstaging. (line 43) * magit-unstage-all: Staging and Unstaging. @@ -3021,12 +3100,12 @@ Appendix D Command Index * scroll-up: Commands Available in Diffs. (line 56) * with-editor-cancel: Editing Commit Messages. - (line 24) + (line 22) * with-editor-cancel <1>: Editing Rebase Sequences. (line 11) -* with-editor-debug: Debugging Tools. (line 38) +* with-editor-debug: Debugging Tools. (line 44) * with-editor-finish: Editing Commit Messages. - (line 19) + (line 17) * with-editor-finish <1>: Editing Rebase Sequences. (line 6) @@ -3039,18 +3118,20 @@ Appendix E Function Index [index] * Menu: -* git-commit-check-style-conventions: Editing Commit Messages. - (line 247) -* git-commit-propertize-diff: Editing Commit Messages. - (line 206) -* git-commit-save-message: Editing Commit Messages. - (line 187) -* git-commit-setup-changelog-support: Editing Commit Messages. - (line 191) -* git-commit-turn-on-auto-fill: Editing Commit Messages. - (line 196) -* git-commit-turn-on-flyspell: Editing Commit Messages. - (line 201) +* bug-reference-mode: Commit Mode and Hooks. + (line 56) +* git-commit-check-style-conventions: Commit Message Conventions. + (line 40) +* git-commit-propertize-diff: Commit Mode and Hooks. + (line 47) +* git-commit-save-message: Commit Mode and Hooks. + (line 28) +* git-commit-setup-changelog-support: Commit Mode and Hooks. + (line 32) +* git-commit-turn-on-auto-fill: Commit Mode and Hooks. + (line 37) +* git-commit-turn-on-flyspell: Commit Mode and Hooks. + (line 42) * ido-enter-magit-status: Status Buffer. (line 72) * magit-add-section-hook: Section Hooks. (line 20) * magit-after-save-refresh-status: Automatic Refreshing of Magit Buffers. @@ -3082,15 +3163,17 @@ Appendix E Function Index (line 76) * magit-diff-visit-worktree-file-other-window: Visiting Files and Blobs from a Diff. (line 75) +* magit-disable-section-inserter: Per-Repository Configuration. + (line 31) * magit-display-buffer: Switching Buffers. (line 6) -* magit-display-buffer-fullcolumn-most-v1: Switching Buffers. (line 76) +* magit-display-buffer-fullcolumn-most-v1: Switching Buffers. (line 75) * magit-display-buffer-fullframe-status-topleft-v1: Switching Buffers. - (line 66) + (line 65) * magit-display-buffer-fullframe-status-v1: Switching Buffers. - (line 60) + (line 59) * magit-display-buffer-same-window-except-diff-v1: Switching Buffers. - (line 54) -* magit-display-buffer-traditional: Switching Buffers. (line 46) + (line 53) +* magit-display-buffer-traditional: Switching Buffers. (line 45) * magit-file-checkout: Minor Mode for Buffers Visiting Files. (line 165) * magit-file-delete: Minor Mode for Buffers Visiting Files. @@ -3132,7 +3215,7 @@ Appendix E Function Index (line 24) * magit-git-wash: Calling Git for Effect. (line 70) -* magit-hunk-set-window-start: Section Movement. (line 43) +* magit-hunk-set-window-start: Section Movement. (line 51) * magit-ido-completing-read: Support for Completion Frameworks. (line 48) * magit-insert-am-sequence: Status Sections. (line 28) @@ -3198,10 +3281,10 @@ Appendix E Function Index (line 75) * magit-list-repositories: Repository List. (line 6) * magit-list-submodules: Listing Submodules. (line 13) -* magit-log-maybe-show-more-commits: Section Movement. (line 57) -* magit-log-maybe-update-blob-buffer: Section Movement. (line 71) -* magit-log-maybe-update-revision-buffer: Section Movement. (line 64) -* magit-maybe-set-dedicated: Switching Buffers. (line 101) +* magit-log-maybe-show-more-commits: Section Movement. (line 66) +* magit-log-maybe-update-blob-buffer: Section Movement. (line 82) +* magit-log-maybe-update-revision-buffer: Section Movement. (line 74) +* magit-maybe-set-dedicated: Switching Buffers. (line 100) * magit-mode-display-buffer: Refreshing Buffers. (line 33) * magit-mode-quit-window: Quitting Windows. (line 34) * magit-mode-setup: Refreshing Buffers. (line 17) @@ -3226,8 +3309,6 @@ Appendix E Function Index * magit-repolist-column-upstream: Repository List. (line 48) * magit-repolist-column-version: Repository List. (line 39) * magit-restore-window-configuration: Quitting Windows. (line 23) -* magit-revert-buffers: Editing Commit Messages. - (line 178) * magit-run-git: Calling Git for Effect. (line 36) * magit-run-git-async: Calling Git for Effect. @@ -3238,13 +3319,13 @@ Appendix E Function Index (line 40) * magit-run-git-with-logfile: Calling Git for Effect. (line 56) -* magit-save-window-configuration: Switching Buffers. (line 90) +* magit-save-window-configuration: Switching Buffers. (line 89) * magit-section-case: Matching Sections. (line 71) * magit-section-hide: Section Visibility. (line 49) * magit-section-hide-children: Section Visibility. (line 64) * magit-section-ident: Matching Sections. (line 11) * magit-section-match: Matching Sections. (line 21) -* magit-section-set-window-start: Section Movement. (line 50) +* magit-section-set-window-start: Section Movement. (line 59) * magit-section-show: Section Visibility. (line 45) * magit-section-show-children: Section Visibility. (line 58) * magit-section-show-headings: Section Visibility. (line 53) @@ -3254,15 +3335,15 @@ Appendix E Function Index (line 105) * magit-start-process: Calling Git for Effect. (line 124) -* magit-stashes-maybe-update-stash-buffer: Section Movement. (line 95) -* magit-status-maybe-update-blob-buffer: Section Movement. (line 89) +* magit-stashes-maybe-update-stash-buffer: Section Movement. (line 106) +* magit-status-maybe-update-blob-buffer: Section Movement. (line 100) * magit-status-maybe-update-revision-buffer: Section Movement. - (line 77) -* magit-status-maybe-update-stash-buffer: Section Movement. (line 83) + (line 88) +* magit-status-maybe-update-stash-buffer: Section Movement. (line 94) * magit-wip-log: Wip Modes. (line 48) * magit-wip-log-current: Wip Modes. (line 57) -* with-editor-usage-message: Editing Commit Messages. - (line 215) +* with-editor-usage-message: Commit Mode and Hooks. + (line 60)  File: magit.info, Node: Variable Index, Prev: Function Index, Up: Top @@ -3300,18 +3381,22 @@ Appendix F Variable Index * branch.NAME.remote: Branch Git Variables. (line 16) * core.notesRef: Notes. (line 60) -* git-commit-fill-column: Editing Commit Messages. - (line 228) -* git-commit-finish-query-functions: Editing Commit Messages. - (line 233) -* git-commit-known-pseudo-headers: Editing Commit Messages. - (line 124) -* git-commit-major-mode: Editing Commit Messages. - (line 163) -* git-commit-setup-hook: Editing Commit Messages. - (line 174) -* git-commit-summary-max-length: Editing Commit Messages. - (line 222) +* git-commit-fill-column: Commit Message Conventions. + (line 19) +* git-commit-finish-query-functions: Commit Message Conventions. + (line 24) +* git-commit-known-pseudo-headers: Commit Pseudo Headers. + (line 9) +* git-commit-major-mode: Commit Mode and Hooks. + (line 12) +* git-commit-setup-hook: Commit Mode and Hooks. + (line 22) +* git-commit-setup-hook <1>: Commit Mode and Hooks. + (line 64) +* git-commit-style-convention-checks: Commit Message Conventions. + (line 46) +* git-commit-summary-max-length: Commit Message Conventions. + (line 13) * git-rebase-auto-advance: Editing Rebase Sequences. (line 99) * git-rebase-confirm-cancel: Editing Rebase Sequences. @@ -3405,17 +3490,17 @@ Appendix F Variable Index * magit-module-sections-nested: Status Module Sections. (line 24) * magit-no-confirm: Action Confirmation. (line 18) -* magit-pop-revision-stack-format: Editing Commit Messages. - (line 92) -* magit-post-display-buffer-hook: Switching Buffers. (line 96) -* magit-pre-display-buffer-hook: Switching Buffers. (line 85) +* magit-pop-revision-stack-format: Using the Revision Stack. + (line 35) +* magit-post-display-buffer-hook: Switching Buffers. (line 95) +* magit-pre-display-buffer-hook: Switching Buffers. (line 84) * magit-prefer-remote-upstream: Branch Git Variables. (line 126) * magit-prefix-use-buffer-arguments: Transient Arguments and Buffer Variables. (line 64) * magit-process-raise-error: Calling Git for Effect. (line 151) -* magit-pull-or-fetch: Fetching. (line 55) +* magit-pull-or-fetch: Fetching. (line 59) * magit-reflog-margin: Reflog. (line 23) * magit-refresh-args: Refreshing Buffers. (line 55) * magit-refresh-buffer-hook: Automatic Refreshing of Magit Buffers. @@ -3434,8 +3519,6 @@ Appendix F Variable Index * magit-refs-show-remote-prefix: References Buffer. (line 62) * magit-remote-add-set-remote.pushDefault: Remote Commands. (line 92) * magit-remote-direct-configure: Remote Commands. (line 21) -* magit-remote-set-if-missing: Remote Git Variables. - (line 39) * magit-repolist-columns: Repository List. (line 14) * magit-repository-directories: Status Buffer. (line 58) * magit-revision-filter-files-on-follow: Revision Buffer. (line 64) @@ -3447,7 +3530,7 @@ Appendix F Variable Index (line 13) * magit-section-cache-visibility: Section Visibility. (line 95) * magit-section-initial-visibility-alist: Section Visibility. (line 78) -* magit-section-movement-hook: Section Movement. (line 38) +* magit-section-movement-hook: Section Movement. (line 46) * magit-section-set-visibility-hook: Section Visibility. (line 106) * magit-section-show-child-count: Section Options. (line 9) * magit-section-visibility-indicator: Section Visibility. (line 124) @@ -3465,7 +3548,7 @@ Appendix F Variable Index * magit-uniquify-buffer-names: Naming Buffers. (line 74) * magit-unstage-committed: Staging and Unstaging. (line 56) -* magit-update-other-window-delay: Section Movement. (line 101) +* magit-update-other-window-delay: Section Movement. (line 112) * magit-visit-ref-behavior: References Buffer. (line 192) * magit-wip-after-apply-mode: Legacy Wip Modes. (line 19) * magit-wip-after-apply-mode-lighter: Legacy Wip Modes. (line 59) diff --git a/elpa/magit-todos-20190907.1321/magit-todos-pkg.el b/elpa/magit-todos-20190907.1321/magit-todos-pkg.el deleted file mode 100644 index 6c12c3ef..00000000 --- a/elpa/magit-todos-20190907.1321/magit-todos-pkg.el +++ /dev/null @@ -1,2 +0,0 @@ -;;; -*- no-byte-compile: t -*- -(define-package "magit-todos" "20190907.1321" "Show source file TODOs in Magit" '((emacs "25.2") (async "1.9.2") (dash "2.13.0") (f "0.17.2") (hl-todo "1.9.0") (magit "2.13.0") (pcre2el "1.8") (s "1.12.0")) :commit "a80dace2bf8bf3e697e3e8421189996adcecc900" :keywords '("magit" "vc") :authors '(("Adam Porter" . "adam@alphapapa.net")) :maintainer '("Adam Porter" . "adam@alphapapa.net") :url "http://github.com/alphapapa/magit-todos") diff --git a/elpa/magit-todos-20190907.1321/magit-todos-autoloads.el b/elpa/magit-todos-20200128.828/magit-todos-autoloads.el similarity index 78% rename from elpa/magit-todos-20190907.1321/magit-todos-autoloads.el rename to elpa/magit-todos-20200128.828/magit-todos-autoloads.el index 98263093..ac45b3e8 100644 --- a/elpa/magit-todos-20190907.1321/magit-todos-autoloads.el +++ b/elpa/magit-todos-20200128.828/magit-todos-autoloads.el @@ -1,10 +1,12 @@ ;;; magit-todos-autoloads.el --- automatically extracted autoloads ;; ;;; Code: -(add-to-list 'load-path (directory-file-name (or (file-name-directory #$) (car load-path)))) + +(add-to-list 'load-path (directory-file-name + (or (file-name-directory #$) (car load-path)))) + -;;;### (autoloads nil "magit-todos" "magit-todos.el" (23994 46458 -;;;;;; 782116 843000)) +;;;### (autoloads nil "magit-todos" "magit-todos.el" (0 0 0 0)) ;;; Generated autoloads from magit-todos.el (defvar magit-todos-mode nil "\ @@ -33,11 +35,14 @@ Open buffer showing to-do list of repository at DIRECTORY. \(fn DIRECTORY)" nil nil) +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "magit-todos" '("magit-todos-"))) + ;;;*** ;; Local Variables: ;; version-control: never ;; no-byte-compile: t ;; no-update-autoloads: t +;; coding: utf-8 ;; End: ;;; magit-todos-autoloads.el ends here diff --git a/elpa/magit-todos-20200128.828/magit-todos-pkg.el b/elpa/magit-todos-20200128.828/magit-todos-pkg.el new file mode 100644 index 00000000..189b1043 --- /dev/null +++ b/elpa/magit-todos-20200128.828/magit-todos-pkg.el @@ -0,0 +1,2 @@ +;;; -*- no-byte-compile: t -*- +(define-package "magit-todos" "20200128.828" "Show source file TODOs in Magit" '((emacs "25.2") (async "1.9.2") (dash "2.13.0") (f "0.17.2") (hl-todo "1.9.0") (magit "2.13.0") (pcre2el "1.8") (s "1.12.0")) :commit "5d42e20b47daf844ac42d4d5aa93d3a75958eee7" :keywords '("magit" "vc") :authors '(("Adam Porter" . "adam@alphapapa.net")) :maintainer '("Adam Porter" . "adam@alphapapa.net") :url "http://github.com/alphapapa/magit-todos") diff --git a/elpa/magit-todos-20190907.1321/magit-todos.el b/elpa/magit-todos-20200128.828/magit-todos.el similarity index 95% rename from elpa/magit-todos-20190907.1321/magit-todos.el rename to elpa/magit-todos-20200128.828/magit-todos.el index 0d99205e..dda0b418 100644 --- a/elpa/magit-todos-20190907.1321/magit-todos.el +++ b/elpa/magit-todos-20200128.828/magit-todos.el @@ -4,8 +4,8 @@ ;; Author: Adam Porter ;; URL: http://github.com/alphapapa/magit-todos -;; Package-Version: 20190907.1321 -;; Version: 1.5-pre +;; Package-Version: 20200128.828 +;; Version: 1.5 ;; Package-Requires: ((emacs "25.2") (async "1.9.2") (dash "2.13.0") (f "0.17.2") (hl-todo "1.9.0") (magit "2.13.0") (pcre2el "1.8") (s "1.12.0")) ;; Keywords: magit, vc @@ -123,12 +123,13 @@ magit-status buffer.") (define-key map "jT" #'magit-todos-jump-to-todos) (define-key map "jl" #'magit-todos-list) (define-key map "b" #'magit-todos-branch-list-toggle) - (define-key map (kbd "RET") #'magit-todos-list) + (define-key map "B" #'magit-todos-branch-list-set-commit) + (define-key map [remap magit-visit-thing] #'magit-todos-list) map) "Keymap for `magit-todos' top-level section.") (defvar magit-todos-item-section-map - (let ((map (make-sparse-keymap))) + (let ((map (copy-keymap magit-todos-section-map))) (define-key map [remap magit-visit-thing] #'magit-todos-jump-to-item) (define-key map [remap magit-diff-show-or-scroll-up] #'magit-todos-peek-at-item) map) @@ -328,8 +329,6 @@ used." (defcustom magit-todos-branch-list 'branch "Show branch diff to-do list. -In the master branch, this shows whatever items are listed by -\"git diff `magit-todos-branch-list-commit-ref'\". This can be toggled locally in Magit buffers with command `magit-todos-branch-list-toggle'." @@ -337,8 +336,23 @@ This can be toggled locally in Magit buffers with command (const :tag "In non-master branches" branch) (const :tag "Always" t))) -(defcustom magit-todos-branch-list-commit-ref '"HEAD^" - "Commit ref passed to \"git diff\" command used to make branch diff list." +(defcustom magit-todos-branch-list-merge-base-ref "master" + "Commit ref passed to command \"git merge-base HEAD\". +Determines the ancestor commit from which the current branch's +todos should be searched for. May be overridden in the case that +a branch is branched off another branch rather than master. For +example, consider the following commit graph: + +---A1---A2---A3 (master) + \ + B1---B2---B3 (topic) + \ + C1---C2---C3 (topic2, HEAD) + +By default, the branch todo list would show todos from both the +\"topic\" branch and the \"topic2\" branch. To show only todos +from the \"topic2\" branch, this option could be set to +\"topic\"." :type 'string) ;;;; Commands @@ -386,6 +400,12 @@ Only necessary when option `magit-todos-update' is nil." (setq-local magit-todos-branch-list (not magit-todos-branch-list)) (magit-todos-update)) +(defun magit-todos-branch-list-set-commit (ref) + "Set commit ref used in branch to-do list." + (interactive (list (completing-read "Refname: " (magit-list-refnames)))) + (setq-local magit-todos-branch-list-merge-base-ref ref) + (magit-todos-update)) + (cl-defun magit-todos-jump-to-item (&key peek (item (oref (magit-current-section) value))) "Show current item. If PEEK is non-nil, keep focus in status buffer window." @@ -461,7 +481,8 @@ Type \\[magit-diff-show-or-scroll-up] to peek at the item at point." (defun magit-todos-list-refresh-buffer () "Refresh the current `magit-todos-list-mode' buffer." (setq-local magit-todos-max-items (* magit-todos-max-items magit-todos-buffer-item-factor)) - (setq-local magit-todos-auto-group-items (* magit-todos-auto-group-items magit-todos-buffer-item-factor)) + (when (numberp magit-todos-auto-group-items) + (setq-local magit-todos-auto-group-items (* magit-todos-auto-group-items magit-todos-buffer-item-factor))) (magit-section-show (magit-insert-section (type magit-root-section) (magit-insert-status-headers) (magit-todos--insert-todos)))) @@ -579,7 +600,7 @@ Match items are a list of `magit-todos-item' found in PROCESS's buffer for RESUL (push item items))) (cl-incf line-number))))) (let ((magit-todos-section-heading heading)) - (magit-todos--insert-items magit-status-buffer items)))))) + (magit-todos--insert-items magit-status-buffer items :branch-p t)))))) (defun magit-todos--delete-section (condition) "Delete the section specified by CONDITION from the Magit status buffer. @@ -664,10 +685,12 @@ This function should be called from inside a ‘magit-status’ buffer." (magit-todos--scan-with-git-diff :magit-status-buffer (current-buffer) :directory default-directory :depth magit-todos-depth - :heading "TODOs (branch)"))) + :heading (format "TODOs (branched from %s)" magit-todos-branch-list-merge-base-ref)))) -(defun magit-todos--insert-items (magit-status-buffer items) - "Insert to-do ITEMS into MAGIT-STATUS-BUFFER." +(cl-defun magit-todos--insert-items (magit-status-buffer items &key branch-p) + "Insert to-do ITEMS into MAGIT-STATUS-BUFFER. +If BRANCH-P is non-nil, do not update `magit-todos-item-cache', +`magit-todos-last-update-time', and `magit-todos-updating'." (declare (indent defun)) ;; NOTE: This could be factored out into some kind of `magit-insert-section-async' macro if necessary. ;; MAYBE: Use `magit-insert-section-body'. @@ -689,14 +712,16 @@ This function should be called from inside a ‘magit-status’ buffer." (when (buffer-live-p magit-status-buffer) ;; Don't try to select a killed status buffer (with-current-buffer magit-status-buffer - (when magit-todos-updating - (when (or (null magit-todos-update) ; Manual updates - (integerp magit-todos-update)) ; Caching - (setq magit-todos-item-cache items) - (setq magit-todos-last-update-time (current-time))) - ;; HACK: I don't like setting this special var, but it works. See other comment where - ;; it's set t. - (setq magit-todos-updating nil)) + (unless branch-p + ;; Don't do any of this for the branch-diff scanner. + (when magit-todos-updating + (when (or (null magit-todos-update) ; Manual updates + (integerp magit-todos-update)) ; Caching + (setq magit-todos-item-cache items) + (setq magit-todos-last-update-time (current-time))) + ;; HACK: I don't like setting this special var, but it works. See other comment where + ;; it's set t. + (setq magit-todos-updating nil))) (save-excursion ;; Insert items (goto-char (point-min)) @@ -705,7 +730,7 @@ This function should be called from inside a ‘magit-status’ buffer." ('top (cl-loop for ((this-section . _) . _) = (magit-section-ident (magit-current-section)) until (not (member this-section '(branch tags))) do (magit-section-forward))) - ('bottom (goto-char (point-max))) + ('bottom (goto-char (oref (-last-item (oref magit-root-section children)) end))) (_ (magit-todos--skip-section (vector '* magit-todos-insert-at)))) ;; Insert section (let ((reminder (if magit-todos-update @@ -1243,7 +1268,7 @@ When SYNC is non-nil, match items are returned." extra-args search-regexp-pcre directory)) (magit-todos-defscanner "git grep" - :test (string-match "--perl-regexp" (shell-command-to-string "git grep --help")) + :test (string-match "--perl-regexp" (shell-command-to-string "git grep --magit-todos-testing-git-grep")) :command (list "git" "--no-pager" "grep" "--full-name" "--no-color" "-n" (when depth @@ -1264,7 +1289,11 @@ When SYNC is non-nil, match items are returned." :command (progn ;; Silence byte-compiler warnings about these vars we don't use in this scanner. (ignore search-regexp-elisp search-regexp-pcre extra-args directory depth) - (list "git" "--no-pager" "diff" "--no-color" "-U0" magit-todos-branch-list-commit-ref)) + (list "git" "--no-pager" "diff" "--no-color" "-U0" + (-> "git merge-base HEAD " + (concat magit-todos-branch-list-merge-base-ref) + shell-command-to-string + string-trim))) :callback 'magit-todos--git-diff-callback) (magit-todos-defscanner "find|grep" @@ -1355,7 +1384,12 @@ the cache is not updated from this command." (interactive) (helm :sources '(helm-magit-todos-source)))) +(declare-function ivy-read "ext:ivy") + (with-eval-after-load 'ivy + (defvar ivy-magit-todos-history nil + "History for `ivy-magit-todos'.") + (defun ivy-magit-todos () "Display `magit-todos' items with Ivy. Note that this uses `magit-todos-items-cache' when a Magit status @@ -1364,7 +1398,9 @@ the cache is not updated from this command." (interactive) (ivy-read "TODOs: " (magit-todos-candidates) :action (lambda (item) - (magit-todos-jump-to-item :item (cdr item)))))) + (magit-todos-jump-to-item :item (cdr item))) + :history 'ivy-magit-todos-history + :caller 'ivy-magit-todos))) ;;;;; Support -- 2.47.3