# [tex-live] path search

Olaf Weber olaf at infovore.xs4all.nl
Mon Jan 19 18:07:54 CET 2004

Hans Hagen writes:

> [...] I think that when one provides an explicit path, i.e. when the
> filename starts with one of

>   .
>   /
>   <char>:

> no path searching should take place. (unless maybe a filename end with // -)

I agree.  My in-development code handles this case by checking the
given name: if it is absolute or explicit relative ("./<name>") it
constructs a one-element path that will be used to search in.  (Some
kind of search is still necessary because several suffixes may be
possible.)

> Can someone shed some light on this (was it changed, when, how do i
> find out, how to prevent, etc)

It looks like the logic that ought to accomplish the same in
libkpathsea is broken.  :-(

> Btw, there are situations when one would like to be more specific in
> the path search; i fear the moment that files with the same names end
> up in context trees, which is possible when users have their own
> extensions (e.g. symbol definitions, typescripts, modules); currently
> i can handle that with a rigurous name scheme but ...; maybe there
> should be some option like

> \input [tex/context/private/]thisorthatfile

> (not an explicit path since it has [] which are not used by tex users
> for filenames i guess)

> i.e. [...] tells the kpse library that tex/context/private/thisorthat
> is to be searched (in the tree), not to be confused with an explicit
> path under the current directory.

Interesting.  It looks quite doable to fit something like this in the
new code, though I do believe some details would still have to be
sorted out.

> so:

>    \input thisorthat                           : search controlled by
>    kpse variables
>    \input ./thisorthat                         : search controlled by
>    user (first example)
>    \input ../figures/thisorthat                : search controlled by
>    user (second example)
>    \input [somewhere;somewhereelse]/thisorthat : a combination

> I can even imagine:

>    \input [*somewhere]/thisorthat              : with *somewhere being
>    \$somehwere, i.e. an env/kpse variable

> [ ] and * are not used in filenames normally so ...

--
Olaf Weber

(This space left blank for technical reasons.)