summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles A. Roelli <charles@aurox.ch>2018-10-08 21:49:41 +0200
committerCharles A. Roelli <charles@aurox.ch>2018-10-08 21:49:41 +0200
commit763721613bd478396dec11c8ccf145927ae70a48 (patch)
tree8851252dcb6ab27a0b9867909022d5b791715d56
parenta0605d96187bc4103a982cededcd12e2628aba66 (diff)
downloademacs-763721613bd478396dec11c8ccf145927ae70a48.tar.gz
New hook 'vc-retrieve-tag-hook' (Bug#32754)
* etc/NEWS: Mention the new variable. * lisp/vc/vc.el (vc-retrieve-tag-hook): New hook. (vc-retrieve-tag): Run the new hook and update its documentation string.
-rw-r--r--etc/NEWS2
-rw-r--r--lisp/vc/vc.el11
2 files changed, 12 insertions, 1 deletions
diff --git a/etc/NEWS b/etc/NEWS
index 020450c9570..ee74e86f40f 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -329,6 +329,8 @@ git-grep when 'vc-git-grep' is used.
When some files are marked, only those are stashed.
When no files are marked, all modified files are stashed, as before.
+*** The new hook 'vc-retrieve-tag-hook' runs after retrieving a tag.
+
** diff-mode
*** Hunks are now automatically refined by default.
To disable it, set the new defcustom 'diff-font-lock-refine' to nil.
diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el
index 6962664d59f..7707999636a 100644
--- a/lisp/vc/vc.el
+++ b/lisp/vc/vc.el
@@ -834,6 +834,13 @@ See `run-hooks'."
:type 'hook
:group 'vc)
+;;;###autoload
+(defcustom vc-retrieve-tag-hook nil
+ "Normal hook (list of functions) run after retrieving a tag."
+ :type 'hook
+ :group 'vc
+ :version "27.1")
+
(defcustom vc-revert-show-diff t
"If non-nil, `vc-revert' shows a `vc-diff' buffer before querying."
:type 'boolean
@@ -2153,7 +2160,8 @@ otherwise use the repository root of the current buffer.
If NAME is empty, it refers to the latest revisions of the current branch.
If locking is used for the files in DIR, then there must not be any
locked files at or below DIR (but if NAME is empty, locked files are
-allowed and simply skipped)."
+allowed and simply skipped).
+This function runs the hook `vc-retrieve-tag-hook' when finished."
(interactive
(let* ((granularity
(vc-call-backend (vc-responsible-backend default-directory)
@@ -2180,6 +2188,7 @@ allowed and simply skipped)."
(vc-call-backend (vc-responsible-backend dir)
'retrieve-tag dir name update)
(vc-resynch-buffer dir t t t)
+ (run-hooks 'vc-retrieve-tag-hook)
(message "%s" (concat msg "done"))))