Don't move point in vc-dir on vc-register/vc-checkin (bug#43188)

* lisp/vc/vc-dir.el (vc-dir-update):
  Save and restore point on 'ewoc-invalidate'.
* lisp/vc/vc-dispatcher.el (vc-finish-logentry):
  Don't call 'vc-dir-move-to-goal-column'.
* lisp/vc/vc.el (vc-register): Don't call 'vc-dir-move-to-goal-column'.
This commit is contained in:
Andrii Kolomoiets 2020-09-03 22:13:36 +03:00 committed by Dmitry Gutov
parent 9e5fd29bed
commit f450798cb0
3 changed files with 5 additions and 8 deletions

View file

@ -451,7 +451,11 @@ If NOINSERT, ignore elements on ENTRIES which are not in the ewoc."
(setf (vc-dir-fileinfo->state (ewoc-data node)) (nth 1 entry))
(setf (vc-dir-fileinfo->extra (ewoc-data node)) (nth 2 entry))
(setf (vc-dir-fileinfo->needs-update (ewoc-data node)) nil)
(ewoc-invalidate vc-ewoc node))
;; `ewoc-invalidate' will kill line and insert new text,
;; let's keep point column.
(let ((p (point)))
(ewoc-invalidate vc-ewoc node)
(goto-char p)))
;; If the state is nil, the file does not exist
;; anymore, so remember the entry so we can remove
;; it after we are done inserting all ENTRIES.

View file

@ -691,7 +691,6 @@ BACKEND, if non-nil, specifies a VC backend for the Log Edit buffer."
(message "%s Type C-c C-c when done" msg)
(vc-finish-logentry (eq comment t)))))
(declare-function vc-dir-move-to-goal-column "vc-dir" ())
;; vc-finish-logentry is typically called from a log-edit buffer (see
;; vc-start-logentry).
(defun vc-finish-logentry (&optional nocomment)
@ -740,8 +739,6 @@ the buffer contents as a comment."
(mapc
(lambda (file) (vc-resynch-buffer file t t))
log-fileset))
(when (vc-dispatcher-browsing)
(vc-dir-move-to-goal-column))
(run-hooks after-hook 'vc-finish-logentry-hook)))
(defun vc-dispatcher-browsing ()

View file

@ -1346,8 +1346,6 @@ For old-style locking-based version control systems, like RCS:
nil t)))))
(vc-call-backend backend 'create-repo))
(declare-function vc-dir-move-to-goal-column "vc-dir" ())
;;;###autoload
(defun vc-register (&optional vc-fileset comment)
"Register into a version control system.
@ -1398,8 +1396,6 @@ first backend that could register the file is used."
(vc-resynch-buffer file t t))
files)
(when (derived-mode-p 'vc-dir-mode)
(vc-dir-move-to-goal-column))
(message "Registering %s... done" files)))
(defun vc-register-with (backend)