bug-texinfo
[Top][All Lists]
Advanced

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

Re: [PATCH] Warn user when 2 files conflict on a case insensitive fs


From: Eli Zaretskii
Subject: Re: [PATCH] Warn user when 2 files conflict on a case insensitive fs
Date: Sat, 07 Jan 2023 13:06:41 +0200

> Date: Sat, 7 Jan 2023 11:21:29 +0100
> From: pertusus@free.fr
> Cc: gavinsmith0123@gmail.com, torbjorn.svensson@foss.st.com,
>       bug-texinfo@gnu.org
> 
> On Sat, Jan 07, 2023 at 11:54:03AM +0200, Eli Zaretskii wrote:
> > > Date: Sat, 7 Jan 2023 10:38:57 +0100
> > > From: pertusus@free.fr
> > > Cc: Gavin Smith <gavinsmith0123@gmail.com>, torbjorn.svensson@foss.st.com,
> > >   bug-texinfo@gnu.org
> > > 
> > > No, what I would like to know is whether nodes are concatenated when
> > > split, or there is only one node in the output.
> > 
> > Only one node is in the output, AFAICT.  I attach an archive of the
> > directory created by the command "makeinfo --html split-test.texi",
> > where split-test.texi is the text you sent with the two lines
> > 
> >   \input texinfo @c -*-texinfo-*-
> > 
> >   @setfilename split-test.info
> > 
> > prepended.
> 
> Unfortunate, but expected.  And, as expected the file content
> corresponds to the second node, as it is the last file written according
> to the code.  With the current code, at least it should not be possible
> to have garbled files as Akim described in 2006, but this is not so good
> either.

How do you "set" the CASE_INSENSITIVE_FILENAMES from the command line?
It looks like the Texinfo manual says VAR=VALUE, but what VALUE should
be used in this case?  And what will that do in terms of the output
produced for the simple source you posted?

> Any idea on what could be done?  My only idea would be, if there file
> names that differ only by case to be output, before doing the actual
> output do a runtime test to test if the filesystem is case-insensitive,
> and if so set CASE_INSENSITIVE_FILENAMES if CASE_INSENSITIVE_FILENAMES
> is undef (would be the default).  It would penalize all the runs,
> though.

AFAIR, makeinfo 4.x avoided the problem completely by _always_
behaving as if the filesystem were case-insensitive.  It produced a
single file for all the nodes whose names clashed, and used the node
name in the cross-references to direct to the correct node.  Can't we
do something like this in texi2any?

An alternative would be to disambiguate by encoding upper-case
characters in the file names as hex escapes or something.



reply via email to

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