bug-texinfo
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

makeinfo removes info file without necessity


From: Bruno Haible
Subject: makeinfo removes info file without necessity
Date: Thu, 2 May 2002 15:03:09 +0200 (CEST)

Hi,

This occurred to me while writing some documentation:

$ makeinfo --version | head -1
makeinfo (GNU texinfo) 4.0
$ make
...
cd . \
  && env LANG= LANGUAGE= /bin/sh 
/packages/gettext/gettext-cvs/gettext-1/missing --run makeinfo   \
       `echo gettext.texi | sed 's,.*/,,'`
./gettextize.texi:180: Cross reference to nonexistent node `autopoint 
Invocation'.
makeinfo: Removing output file 
`/packages/gettext/gettext-cvs/gettext-1/doc/gettext.info' due to errors; use 
--force to preserve.
make: *** [gettext.info] Fehler 1

This removal of the info file is annoying. I was writing two documentation
sections and wanted to check the first of them after writing it. I can
easily afford to wait for this check until the second section is complete.
But I need the browse the info file while writing every section - in order
to meet the style of other material on the documentation, avoid redundancies
etc.

This removal makes things worse. Instead of being faced with a simple
problem, the unability to proofread new things, I am faced with a more
severe one: the info file is gone.

This removal of the info file is also unnecessary. The "make" program
already has logic to remove unsuccessful targets, which one can customize
through the .PRECIOUS target. You don't need to duplicate this logic
(or more precisely, half of it) in every program that produces an output
file. And for people that use makeinfo directly, without "make", all
makeinfo needs is to output an error message of the kind
  makeinfo: *** output file not remade due to errors

For comparison, when gcc compiles a file, "gcc -c foobar.c", it does not
remove foobar.o when there are syntax errors in foobar.c or one of its
included files. Yet, this does not pose a problem in practice because
"make" knows how to distinguish successful and failed gcc invocations by
their exit status and by the modification date of the target files.

                          Bruno



reply via email to

[Prev in Thread] Current Thread [Next in Thread]