Mercurial > emacs
diff lisp/vc.el @ 94576:7de38dedf0a6
Move the command-closure machinery to vc-dispatcher.el.
author | Eric S. Raymond <esr@snark.thyrsus.com> |
---|---|
date | Sat, 03 May 2008 09:45:20 +0000 |
parents | ce09c5078ae7 |
children | dca2377770e7 |
line wrap: on
line diff
--- a/lisp/vc.el Sat May 03 09:33:21 2008 +0000 +++ b/lisp/vc.el Sat May 03 09:45:20 2008 +0000 @@ -851,13 +851,6 @@ :type 'hook :group 'vc) -(defcustom vc-logentry-check-hook nil - "Normal hook run by `vc-finish-logentry'. -Use this to impose your own rules on the entry in addition to any the -version control backend imposes itself." - :type 'hook - :group 'vc) - (defcustom vc-dir-mode-hook nil "Normal hook run by `vc-dir-mode'. See `run-hooks'." @@ -990,26 +983,13 @@ "21.1") -;; Variables the user doesn't need to know about. -(defvar vc-log-operation nil) -(defvar vc-log-after-operation-hook nil) - -;; In a log entry buffer, this is a local variable -;; that points to the buffer for which it was made -;; (either a file, or a VC dired buffer). -(defvar vc-parent-buffer nil) -(put 'vc-parent-buffer 'permanent-local t) -(defvar vc-parent-buffer-name nil) -(put 'vc-parent-buffer-name 'permanent-local t) +;; Variables users don't need to see (defvar vc-disable-async-diff nil "VC sets this to t locally to disable some async diff operations. Backends that offer asynchronous diffs should respect this variable in their implementation of vc-BACKEND-diff.") -(defvar vc-log-fileset) -(defvar vc-log-revision) - (defvar vc-dired-mode nil) (make-variable-buffer-local 'vc-dired-mode) @@ -1630,7 +1610,7 @@ (not (file-exists-p buffer-file-name))) (set-buffer-modified-p t)) (vc-buffer-sync))) - (vc-start-entry (list fname) + (vc-start-logentry (list fname) (if set-revision (read-string (format "Initial revision level for %s: " fname)) @@ -1699,51 +1679,6 @@ (let ((buffer (get-file-buffer file))) (vc-dir-mark-buffer-changed file)))) - -(defun vc-start-entry (files rev comment initial-contents msg action &optional after-hook) - "Accept a comment for an operation on FILES revision REV. -If COMMENT is nil, pop up a VC-log buffer, emit MSG, and set the -action on close to ACTION. If COMMENT is a string and -INITIAL-CONTENTS is non-nil, then COMMENT is used as the initial -contents of the log entry buffer. If COMMENT is a string and -INITIAL-CONTENTS is nil, do action immediately as if the user had -entered COMMENT. If COMMENT is t, also do action immediately with an -empty comment. Remember the file's buffer in `vc-parent-buffer' -\(current one if no file). AFTER-HOOK specifies the local value -for `vc-log-after-operation-hook'." - (let ((parent - (if (or (eq major-mode 'vc-dired-mode) (eq major-mode 'vc-dir-mode)) - ;; If we are called from VC dired, the parent buffer is - ;; the current buffer. - (current-buffer) - (if (and files (equal (length files) 1)) - (get-file-buffer (car files)) - (current-buffer))))) - (when vc-before-checkin-hook - (if files - (with-current-buffer parent - (run-hooks 'vc-before-checkin-hook)) - (run-hooks 'vc-before-checkin-hook))) - (if (and comment (not initial-contents)) - (set-buffer (get-buffer-create "*VC-log*")) - (pop-to-buffer (get-buffer-create "*VC-log*"))) - (set (make-local-variable 'vc-parent-buffer) parent) - (set (make-local-variable 'vc-parent-buffer-name) - (concat " from " (buffer-name vc-parent-buffer))) - ;;(if file (vc-mode-line file)) - (vc-log-edit files) - (make-local-variable 'vc-log-after-operation-hook) - (when after-hook - (setq vc-log-after-operation-hook after-hook)) - (setq vc-log-operation action) - (setq vc-log-revision rev) - (when comment - (erase-buffer) - (when (stringp comment) (insert comment))) - (if (or (not comment) initial-contents) - (message "%s Type C-c C-c when done" msg) - (vc-finish-logentry (eq comment t))))) - (defun vc-checkout (file &optional writable rev) "Retrieve a copy of the revision REV of FILE. If WRITABLE is non-nil, make sure the retrieved file is writable. @@ -1821,7 +1756,7 @@ that the version control system supports this mode of operation. Runs the normal hook `vc-checkin-hook'." - (vc-start-entry + (vc-start-logentry files rev comment initial-contents "Enter a change comment." (lambda (files rev comment) @@ -2214,7 +2149,7 @@ (defun vc-modify-change-comment (files rev oldcomment) "Edit the comment associated with the given files and revision." - (vc-start-entry + (vc-start-logentry files rev oldcomment t "Enter a replacement change comment." (lambda (files rev comment)