branch: elpa/magit
commit b172fa0c33cc37c763676399670aad81ab34aca2
Author: Jonas Bernoulli <[email protected]>
Commit: Jonas Bernoulli <[email protected]>
magit--minibuf-default-add-commit: Call using minibuffer-with-setup-hook
---
lisp/magit-git.el | 64 +++++++++++++++++++++++++++++--------------------------
1 file changed, 34 insertions(+), 30 deletions(-)
diff --git a/lisp/magit-git.el b/lisp/magit-git.el
index 1571ee1bcad..7dd26a225bc 100644
--- a/lisp/magit-git.el
+++ b/lisp/magit-git.el
@@ -2602,17 +2602,19 @@ and this option only controls what face is used.")
(defun magit--minibuf-default-add-commit ()
(let ((fn minibuffer-default-add-function))
- (lambda ()
- (let ((rest (and (functionp fn) (funcall fn))))
- (if-let ((commit (with-selected-window (minibuffer-selected-window)
- (or (magit-thing-at-point 'git-revision-range t)
- (magit-commit-at-point)))))
- (let ((rest (cons commit (delete commit rest)))
- (def minibuffer-default))
- (if (listp def)
- (append def rest)
- (cons def (delete def rest))))
- rest)))))
+ (setq-local
+ minibuffer-default-add-function
+ (lambda ()
+ (let ((rest (and (functionp fn) (funcall fn))))
+ (if-let ((commit (with-selected-window (minibuffer-selected-window)
+ (or (magit-thing-at-point 'git-revision-range t)
+ (magit-commit-at-point)))))
+ (let ((rest (cons commit (delete commit rest)))
+ (def minibuffer-default))
+ (if (listp def)
+ (append def rest)
+ (cons def (delete def rest))))
+ rest))))))
(defun magit-read-branch (prompt &optional secondary-default)
(magit-completing-read prompt (magit-list-branch-names)
@@ -2625,18 +2627,18 @@ and this option only controls what face is used.")
(let ((current (magit-get-current-branch))
(branch-at-point (magit-branch-at-point))
(commit-at-point (magit-commit-at-point))
- (choices (delete exclude (magit-list-refnames nil t)))
- (minibuffer-default-add-function (magit--minibuf-default-add-commit)))
+ (choices (delete exclude (magit-list-refnames nil t))))
(when (equal current exclude)
(setq current nil))
(when (equal branch-at-point exclude)
(setq branch-at-point nil))
(when (and commit-at-point (not branch-at-point))
(setq choices (cons commit-at-point choices)))
- (or (magit-completing-read
- prompt choices nil nil nil 'magit-revision-history
- (or branch-at-point commit-at-point secondary-default current))
- (user-error "Nothing selected"))))
+ (minibuffer-with-setup-hook #'magit--minibuf-default-add-commit
+ (or (magit-completing-read
+ prompt choices nil nil nil 'magit-revision-history
+ (or branch-at-point commit-at-point secondary-default current))
+ (user-error "Nothing selected")))))
(defun magit-read-range-or-commit (prompt &optional secondary-default)
(magit-read-range
@@ -2650,8 +2652,10 @@ and this option only controls what face is used.")
(magit-get-current-branch))))
(defun magit-read-range (prompt &optional default)
- (let ((minibuffer-default-add-function (magit--minibuf-default-add-commit))
- (crm-separator "\\.\\.\\.?"))
+ (minibuffer-with-setup-hook
+ (lambda ()
+ (magit--minibuf-default-add-commit)
+ (setq-local crm-separator "\\.\\.\\.?"))
(magit-completing-read-multiple
(concat prompt ": ")
(magit-list-refnames)
@@ -2687,16 +2691,16 @@ and this option only controls what face is used.")
(magit-get-current-branch))))
(defun magit-read-local-branch-or-commit (prompt)
- (let ((minibuffer-default-add-function (magit--minibuf-default-add-commit))
- (choices (nconc (magit-list-local-branch-names)
+ (let ((choices (nconc (magit-list-local-branch-names)
(magit-list-special-refnames)))
(commit (magit-commit-at-point)))
(when commit
(push commit choices))
- (or (magit-completing-read prompt choices
- nil nil nil 'magit-revision-history
- (or (magit-local-branch-at-point) commit))
- (user-error "Nothing selected"))))
+ (minibuffer-with-setup-hook #'magit--minibuf-default-add-commit
+ (or (magit-completing-read prompt choices
+ nil nil nil 'magit-revision-history
+ (or (magit-local-branch-at-point) commit))
+ (user-error "Nothing selected")))))
(defun magit-read-local-branch-or-ref (prompt &optional secondary-default)
(magit-completing-read prompt (nconc (magit-list-local-branch-names)
@@ -2721,8 +2725,7 @@ and this option only controls what face is used.")
(defun magit-read-other-branch-or-commit
(prompt &optional exclude secondary-default)
- (let* ((minibuffer-default-add-function (magit--minibuf-default-add-commit))
- (current (magit-get-current-branch))
+ (let* ((current (magit-get-current-branch))
(atpoint (magit-branch-or-commit-at-point))
(exclude (or exclude current))
(default (or (and (not (equal atpoint exclude))
@@ -2732,9 +2735,10 @@ and this option only controls what face is used.")
(and (not (equal current exclude)) current)
secondary-default
(magit-get-previous-branch))))
- (or (magit-completing-read prompt (delete exclude (magit-list-refnames))
- nil nil nil 'magit-revision-history default)
- (user-error "Nothing selected"))))
+ (minibuffer-with-setup-hook #'magit--minibuf-default-add-commit
+ (or (magit-completing-read prompt (delete exclude (magit-list-refnames))
+ nil nil nil 'magit-revision-history default)
+ (user-error "Nothing selected")))))
(defun magit-read-other-local-branch
(prompt &optional exclude secondary-default no-require-match)