Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Kpathsea bug (Definitely - please read)

1 view
Skip to first unread message

Randy Yates

unread,
Apr 24, 2000, 3:00:00 AM4/24/00
to te...@tug.org
[Forwarding --karl]

[yates@gauss noisepower]$ kpsewhich --version
kpathsea version 3.3.1
Copyright (C) 1997 K. Berry.
There is NO warranty. You may redistribute this software
under the terms of the GNU General Public License.
For more information about these matters, see the files named COPYING.


Hey K. Berry,

My TeX installation has a directory

/usr/share/texmf/tex/plain/misc

There are files in there, like

[yates@gauss noisepower]$ ls /usr/share/texmf/tex/plain/misc
arrow.tex fontchart.tex list.tex mimulcol.tex scrload.tex verbatim.tex wlist.tex
btxmac.tex idxmac.tex llist.tex mproof.tex techpaper.tex wasyfont.tex xepsf.tex
[yates@gauss noisepower]$

How come I can't get a match, then, when I execute the following:

[yates@gauss noisepower]$ kpsewhich --path="/usr/share/texmf/tex/{plain,generic}//" techpaper.tex
[yates@gauss noisepower]$

If I am more explicit, I get a match:

[yates@gauss noisepower]$ kpsewhich --path="/usr/share/texmf/tex/plain//" techpaper.tex
/usr/share/texmf/tex/plain/misc/techpaper.tex
[yates@gauss noisepower]$

What's wrong? I'm running RH 6.1 Linux 2.2.12-20 on a 200 MHz Pentium Pro.
If I'm wrong about this one, I'll buy you lunch!
--
% Randy Yates % "Though you ride on the wheels of tomorrow,
%% DIGITAL SOUND LABS % you still wander the fields of your
%%% Digital Audio Sig. Proc. % sorrow."
%%%% <ya...@ieee.org> % '21st Century Man', *Time*, ELO
http://207.87.184.178/

Tom Kacvinsky

unread,
Apr 24, 2000, 3:00:00 AM4/24/00
to Randy Yates
What is your shell? If you using csh/tcsh, the brace expansion is
done by the shell and not by kpathsea. If you are using Bourne shell
(sh) or bash, this should not be a problem.

Tom

Sebastian Rahtz

unread,
Apr 24, 2000, 3:00:00 AM4/24/00
to ya...@ieee.org
Randy Yates writes:
> How come I can't get a match, then, when I execute the following:
>
> [yates@gauss noisepower]$ kpsewhich --path="/usr/share/texmf/tex/{plain,generic}//" techpaper.tex
> [yates@gauss noisepower]$
>

I tend to agree, the documentation for -path
says "all the usual expansions are supported ", so what you tried
should have worked.

I have long wished that kpsewhich would return *multiple* hits...

sebastian


Karl Berry

unread,
Apr 24, 2000, 3:00:00 AM4/24/00
to t...@ams.org
What is your shell? If you using csh/tcsh, the brace expansion is
done by the shell and not by kpathsea. If you are using Bourne shell
(sh) or bash, this should not be a problem.

Randy is quoting the argument. The shell being used is not an issue.

(Bash supports brace expansion, BTW.)

Tom Kacvinsky

unread,
Apr 24, 2000, 3:00:00 AM4/24/00
to Karl Berry
I stand corrected. Bourne shell also exhibits the problem
Randy wrote about.

Tom

Fabrice Popineau

unread,
Apr 24, 2000, 3:00:00 AM4/24/00
to Tom Kacvinsky, Karl Berry, ya...@ieee.org, te...@tug.org

Seems to be a misfeature of kpsewhich : only the paths
found in texmf.cnf are brace-expanded. Kpsewhich should
expand braces on the `user_path' variable. Right now, the argument
given is not a directory, so the search aborts immediately.

--
Fabrice Popineau


Randy Yates

unread,
Apr 24, 2000, 3:00:00 AM4/24/00
to Sebastian Rahtz

Dear Sebastian and others,

Thank you all for your responses.

Actually, after playing around a bit more, what it appears is that
kpathsea (and kpsewhich) do not perform dynamic searches as they
should. It appears kpathsea searches first in the ls-R database
and that if part of the path name can be found there, it will not
subsequently try looking in the directory dynamically if the file
isn't found in ls-R. This doesn't seem to make sense since the "!!"
notation is provided to explicitly instruct kpathsea to look only
in the database, i.e., so why would it only look there if the
"!!" is not specified (as it is not in my case)? In any case,
I got around the problem by simply removing (actually, renaming)
the ls-R database, thus forcing dynamic searches in all cases.

0 new messages