* lisp/vc/pcvs.el (cvs-cleanup-collection): Keep entries that are currently

visited in a buffer.
(cvs-insert-visited-file): New function.
(find-file-hook): Use it.
* lisp/vc/pcvs-info.el (cvs-fileinfo-pp): Don't use non-existent faces.
This commit is contained in:
Stefan Monnier 2012-09-29 23:44:35 -04:00
parent 02661b3a81
commit e01c13fea4
3 changed files with 30 additions and 6 deletions

View file

@ -1,5 +1,12 @@
2012-09-30 Stefan Monnier <monnier@iro.umontreal.ca>
* vc/pcvs.el (cvs-cleanup-collection): Keep entries that are currently
visited in a buffer.
(cvs-insert-visited-file): New function.
(find-file-hook): Use it.
* vc/pcvs-info.el (cvs-fileinfo-pp): Don't use non-existent faces.
* vc/log-edit.el (log-edit-font-lock-keywords): Ignore case to
chose face.
(log-edit-empty-buffer-p): Don't require a space after a header.

View file

@ -124,7 +124,7 @@ to confuse some users sometimes."
(define-obsolete-face-alias 'cvs-marked-face 'cvs-marked "22.1")
(defface cvs-msg
'((t (:slant italic)))
'((t :slant italic))
"PCL-CVS face used to highlight CVS messages."
:group 'pcl-cvs)
(define-obsolete-face-alias 'cvs-msg-face 'cvs-msg "22.1")
@ -358,7 +358,7 @@ For use by the cookie package."
;;(MOD-CONFLICT "Not Removed")
(`DEAD "")
(_ (capitalize (symbol-name type)))))
(face (let ((sym (intern
(face (let ((sym (intern-soft
(concat "cvs-fi-"
(downcase (symbol-name type))
"-face"))))

View file

@ -60,8 +60,6 @@
;; - rework the displaying of error messages.
;; - allow to flush messages only
;; - allow to protect files like ChangeLog from flushing
;; - automatically cvs-mode-insert files from find-file-hook
;; (and don't flush them as long as they are visited)
;; - query the user for cvs-get-marked (for some cmds or if nothing's selected)
;; - don't return the first (resp last) FI if the cursor is before
;; (resp after) it.
@ -877,7 +875,10 @@ RM-MSGS if non-nil means remove messages."
;; remove entries
(`DEAD nil)
;; handled also?
(`UP-TO-DATE (not rm-handled))
(`UP-TO-DATE
(if (find-buffer-visiting (cvs-fileinfo->full-name fi))
t
(not rm-handled)))
;; keep the rest
(_ (not (run-hook-with-args-until-success
'cvs-cleanup-functions fi))))))
@ -1617,7 +1618,8 @@ With prefix argument, prompt for cvs flags."
(defun-cvs-mode (cvs-mode-diff . DOUBLE) (flags)
"Diff the selected files against the repository.
This command compares the files in your working area against the
revision which they are based upon."
revision which they are based upon.
See also `cvs-diff-ignore-marks'."
(interactive
(list (cvs-add-branch-prefix
(cvs-add-secondary-branch-prefix
@ -2435,6 +2437,21 @@ The exact behavior is determined also by `cvs-dired-use-hook'."
(add-hook 'after-save-hook 'cvs-mark-buffer-changed)
(defun cvs-insert-visited-file ()
(let* ((file (expand-file-name buffer-file-name))
(version (and (fboundp 'vc-backend)
(eq (vc-backend file) 'CVS)
(vc-working-revision file))))
(when version
(save-current-buffer
(dolist (cvs-buf (buffer-list))
(set-buffer cvs-buf)
;; look for a corresponding pcl-cvs buffer
(when (and (eq major-mode 'cvs-mode)
(string-prefix-p default-directory file))
(cvs-insert-file file)))))))
(add-hook 'find-file-hook 'cvs-insert-visited-file 'append)
(provide 'pcvs)