>> -(defun vc-find-revision-no-save (file revision &optional backend) >> - "Read REVISION of FILE into a buffer and return the buffer. >> +(defun vc-find-revision-no-save (file revision &optional backend buffer) >> + "Read REVISION of FILE into a BUFFER and return the buffer. > > Since you use BUFFER, please drop the "a" part. > > Also, the doc string should tell what BUFFER defaults to if omitted or > nil. Updated. >> + (let ((filebuf (or buffer (get-file-buffer file) (current-buffer))) > ^^^^^^^^^ > I would use bufferp here. What if someone calls the function with > something that is not a buffer? Added buffer-live-p. > And, btw, are buffer names allowed? I see that most VC functions work with buffer objects only. So buffer names could be allowed only when really necessary. > Similarly with other places where you make the same test (why not make > it once and bind some local variable to the result, btw?). Done: