On Sun, 23 Nov 2003 about 18:23 +0100 UTC Adrian Aichner wrote:
>>>>> " " == robert delius royar
<xemacs(a)frinabulax.org> writes:
> In the file SRC/lisp/startup.el lines 549-557 the following code sets
> version-control based on the VERSION_CONTROL environment setting:
> 549-
> 550- (setq command-line-default-directory default-directory)
> 551-
> 552- ;; See if we should import version-control from the environment
> variable.
> 553: (let ((vc (getenv "VERSION_CONTROL")))
> 554- (cond ((eq vc nil)) ;don't do anything if not
set
> 555- ((or (string= vc "t")
> 556- (string= vc "numbered"))
> 557- (setq version-control t))
> The problem with this comes when running 'make install' and the
> system goes through a late iteration of dumping a working
> XEmacs. The program is in batch mode and does not expect to
> answer user input. But version-control expects to find out
> whether to delete excess copies of the generated autoload
> files. This triggers an assertion.
Hi Robert, the bad interaction is in
(defun backup-buffer ()
of files.el, right?
Yes, it is in this fragment:
(and targets
(or (eq delete-old-versions t)
(eq delete-old-versions nil))
(or delete-old-versions
(y-or-n-p (format "Delete excess backup versions of %s? "
real-file-name))))))
What about this there:
(defcustom delete-old-versions (if noninteractive 'leave)
Seems like a good defensive approach.
Please advise,
I believe this would solve the problem.
The only drawback is that the number of backup files could grow to a large
number; however, this happens only when the environment variable has turned
on numbered version control, so it may be that the potential problem of
dozens of backups not being pruned would not show up for many users. On the
other hand, without the change, a user with the variable set will not be
able to install.
Adrian
robert