[tex-live] kpsewhich
Hans Hagen
pragma at wxs.nl
Fri Mar 26 17:31:44 CET 2004
Hi Thomas,
> > When using kpsewhich, there is a dependency on the OS
>
>It is not kpsewhich which causes this, it is the call to execute a shell
>command and the underlying interpreter which causes these differences.
sure, but usage of kpsewhich should be similar on all platforms, i.e. for
all things that would cause such interpreter dependencies, there should be
escapes
>You could easily wrap the different $ of the shells by wrapping things
>in a quotevar function, so that you could write
> kpsewhich -expand-var quotevar('$SELFAUTOPARENT')
>everywhere.
>
> > portable. So, i wonder if it's possible to make kpsewhich in this respect
> > platform independent.
>
>kpsewhich *is* platform independent. The underlying shells are not...
indeed, which is why i gave the 4 examples
>If you write a C program which calls execl(), you'll see that there is
>no difference in parsing the $.
i'm aware of the differences in shell expansion (and taking care of it in
the process of keeping scripts multiplatform has messed up many scripts i
made) -)
the fact that kpsewhich uses this $ and that the $ is a platform related
feature, makes kpsewhich kind of platform dependent and just as tds aims ar
being as independent as possible (for instance in putting constraints on
filenames)
this is comparable to the & used for format loading in tex: the --fmt
provides a way out; so either expand-var should accept a NAME or there
should be something expand-var-assuming-a-dollar-in-front
(this expansion problem is one reason why in most cases i write ruby or
perl scripts instead of batch or shell scripts -)
Hans
More information about the tex-live
mailing list