Re: Including files from parent dir

Patrice Dumas <[email protected]>
Newsgroups gmane.comp.tex.texinfo.general
Message-ID <YyFpHVEv8tOmK/[email protected]>
On Tue, Sep 13, 2022 at 08:14:48PM -0400, Stefan Monnier wrote:
> 
> There's something I don't understand about @include:
> 
> Say, I have:
> 
>     doc/foo.texi
>     doc/gpl.texi
>     bar.texi
> 
> if my `foo.texi` has
> 
>     @include gpl.texi
>     @include ../bar.texi
> 
> I will be able to use successfully both
> 
>     cd doc; makeinfo --no-split foo.texi -o ../foo.info
> 
> will work fine, but
> 
>     makeinfo --no-split doc/foo.texi -o foo.info
> 
> will signal an error that it can't find `../bar.texi`
> (note: it *did* find `gpl.texi`).
> 
> Why are the two includes treated differently?

It is because includes with leading . or .. in their paths in or include
that are absolute paths are treated differently from other includes:
they are not searched for in include directories.

Also, when you call

 makeinfo --no-split doc/foo.texi -o foo.info

the doc/ directory is included in the @include search path in addition
to the current directory, therefore gpl.texi is found.  The ../bar.texi
include file is still only searched for relative to the working directory.

Unless I missed something, none of these two information is documented.

> How can I convince `makeinfo` to find the `bar.texi` file in both cases?

Right now, I can't think of a way to make this happen.  The only
thing I can think of would be to change the code to consider that
only paths with leading . are considered differently.

-- 
Pat
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.