From: Glenn Morris Date: Wed, 6 Jun 2012 01:28:08 +0000 (-0400) Subject: Find rcs2log in the source-directory when running uninstalled X-Git-Tag: emacs-24.2.90~1199^2~474^2~118 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=f7dd4e98e4c50f9d058d49218d1ef7abc7cb553f;p=emacs.git Find rcs2log in the source-directory when running uninstalled This is preparation for getting rid of lib-src's "stamp-*" files. * lisp/vc/vc-rcs.el (vc-rcs-rcs2log-program): New. (vc-rcs-update-changelog): Use it. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 59039e19ab2..211ea180ec4 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,8 @@ 2012-06-06 Glenn Morris + * vc/vc-rcs.el (vc-rcs-rcs2log-program): New. + (vc-rcs-update-changelog): Use it. + * emacs-lisp/authors.el (authors-fixed-entries): Remove vcdiff * vc/vc-sccs.el (vc-sccs-write-revision): New function. diff --git a/lisp/vc/vc-rcs.el b/lisp/vc/vc-rcs.el index 7e10372f362..104e6fd59e3 100644 --- a/lisp/vc/vc-rcs.el +++ b/lisp/vc/vc-rcs.el @@ -1,6 +1,6 @@ ;;; vc-rcs.el --- support for RCS version-control -;; Copyright (C) 1992-2012 Free Software Foundation, Inc. +;; Copyright (C) 1992-2012 Free Software Foundation, Inc. ;; Author: FSF (see vc.el for full credits) ;; Maintainer: Andre Spiegel @@ -868,6 +868,23 @@ and CVS." (minor-num (string-to-number (vc-rcs-minor-part rev)))) (concat branch "." (number-to-string (1+ minor-num)))))) +;; Note that most GNU/Linux distributions seem to supply rcs2log in a +;; standard bin directory. Eg both Red Hat and Debian include it in +;; their cvs packages. It's not obvious why Emacs still needs to +;; provide it as well... +(defvar vc-rcs-rcs2log-program + (let (exe) + (cond ((file-executable-p + (setq exe (expand-file-name "rcs2log" exec-directory))) + exe) + ;; In the unlikely event that someone is running an + ;; uninstalled Emacs and wants to do something RCS-related. + ((file-executable-p + (setq exe (expand-file-name "lib-src/rcs2log" source-directory))) + exe) + (t "rcs2log"))) + "Path to the `rcs2log' program (normally in `exec-directory').") + (defun vc-rcs-update-changelog (files) "Default implementation of update-changelog. Uses `rcs2log' which only works for RCS and CVS." @@ -898,9 +915,7 @@ Uses `rcs2log' which only works for RCS and CVS." (unwind-protect (progn (setq default-directory odefault) - (if (eq 0 (apply 'call-process - (expand-file-name "rcs2log" - exec-directory) + (if (eq 0 (apply 'call-process vc-rcs-rcs2log-program nil (list t tempfile) nil "-c" changelog "-u" (concat login-name