1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-08 16:52:40 -08:00

(vc-diff): Report an error if the buffer isn't registered.

(vc-registration-error): New function.
(vc-next-action, vc-diff, vc-print-log, vc-backend-diff): Use it to
make VC's error messages more uniform.

(vc-directory, vc-revert-buffer1): Quote lambdas with (function ...)
for Emacs 18.
(compilation-old-error-list): Set if undefined, for Emacs 18.
This commit is contained in:
Richard M. Stallman 1993-05-11 21:15:54 +00:00
parent bdda375433
commit 7ef84cf98f

View file

@ -45,6 +45,7 @@
;; This code depends on call-process passing back the subprocess exit
;; status. Thus, you need Emacs 18.58 or later to run it. For the
;; vc-directory command to work properly as documented, you need 19.
;; You also need Emacs 19's ring.el.
;;
;; The vc code maintains some internal state in order to reduce expensive
;; version-control operations to a minimum. Some names are only computed
@ -159,6 +160,11 @@ is sensitive to blank lines.")
(let ((name-and-type (vc-registered file)))
(and name-and-type (car name-and-type))))))
(defun vc-registration-error (file)
(if file
(error "File %s is not under version control." file)
(error "Buffer %s is not associated with a file." (buffer-name))))
(defvar vc-binary-assoc nil)
(defun vc-find-binary (name)
@ -276,7 +282,8 @@ the master name of FILE; this is appended to an optional list of FLAGS."
;; iff that buffer is a compilation output buffer
;; that contains markers into the current buffer.
(save-excursion
(mapcar (lambda (buffer)
(mapcar (function
(lambda (buffer)
(set-buffer buffer)
(let ((errors (or
compilation-old-error-list
@ -290,7 +297,7 @@ the master name of FILE; this is appended to an optional list of FLAGS."
(cdr (car errors))))
(setq buffer-error-marked-p t))
(setq errors (cdr errors)))
(if buffer-error-marked-p buffer)))
(if buffer-error-marked-p buffer))))
(buffer-list)))))))
;; the actual revisit
@ -454,7 +461,7 @@ lock steals will raise an error."
(pop-to-buffer vc-parent-buffer))
(if buffer-file-name
(vc-next-action-on-file buffer-file-name verbose)
(error "There is no file associated with buffer %s" (buffer-name)))))
(vc-registration-error nil))))
;;; These functions help the vc-next-action entry point
@ -710,6 +717,8 @@ and two version designators specifying which versions to compare."
(error "There is no version-control master associated with this buffer."))
(let ((file buffer-file-name)
unchanged)
(or (and file (vc-name file))
(vc-registration-error file))
(vc-buffer-sync)
(setq unchanged (vc-workfile-unchanged-p buffer-file-name))
(if unchanged
@ -885,10 +894,11 @@ on a buffer attached to the file named in the current Dired buffer line."
(setq buffer-read-only nil)
(forward-line 1) ;; Skip header line
(mapcar
(lambda (x)
(function
(lambda (x)
(forward-char 2) ;; skip dired's mark area
(vc-dired-reformat-line x)
(forward-line 1)) ;; go to next line
(forward-line 1))) ;; go to next line
(nreverse userlist))
(setq buffer-read-only t)
(goto-char (point-min))
@ -927,6 +937,10 @@ on a buffer attached to the file named in the current Dired buffer line."
(or (boundp 'minor-mode-map-alist)
(fset 'vc-directory 'vc-directory-18))
; Emacs 18 also lacks these.
(or (boundp 'compilation-old-error-list)
(setq compilation-old-error-list nil))
;; Named-configuration support for SCCS
(defun vc-add-triple (name file rev)
@ -1018,7 +1032,7 @@ levels in the snapshot."
(vc-shrink-to-fit)
(goto-char (point-min))
)
(error "There is no version-control master associated with this buffer")
(vc-registration-error buffer-file-name)
)
)
@ -1483,7 +1497,7 @@ Return nil if there is no such person."
(setq newvers (vc-lookup-triple file newvers)))
(apply 'vc-do-command 1
(or (vc-backend-dispatch file "vcdiff" "rcsdiff")
(error "File %s is not under version control." file))
(vc-registration-error file))
file
(and oldvers (concat "-r" oldvers))
(and newvers (concat "-r" newvers))