Subject: Re: bin/3138: [dM] mkdep(1) always uses /usr/bin/gcc
To: None <netbsd-bugs@NetBSD.ORG>
From: Mike Long <mike.long@analog.com>
List: netbsd-bugs
Date: 02/05/1997 18:40:04
>Date: Tue, 4 Feb 1997 14:34:28 -0500 (EST)
>From: der Mouse <mouse@Rodents.Montreal.QC.CA>
>
>>>> This would work without the -f; note that which(1) is required to
>>>> use the user's .cshrc.
>
>(Required by what? Is there any standard for which?)
Actually, there isn't. I found a draft of POSIX 1003.2; it says
nothing about which (nor csh).
>> Of course csh's builtin doesn't source .cshrc; csh has already *done*
>> that.
>
>But it may have done more than that. If you set path in your .cshrc,
>the path used by historic (and tree-current NetBSD) shell-script which
>is the one set in your .cshrc, not the current one. csh-builtin which
>uses the current one.
>
>These two paths are not necessarily the same. You seem to be assuming
>they are.
That makes sense; but this desired behavior requires that a shell
builtin be used. Only a builtin has access to both the current path
and all current shell aliases/functions.
We need to add a 'type' builtin to /bin/sh to comply with POSIX 1003.2
in any case. Since mkdep(1) (the original subject of this thread) is
a sh script it should use 'type', not /usr/bin/which.
>Why not? Essentially, what we ("we" = the people who want to replace
>/usr/bin/which with something like Arne's C program) are proposing is
>to redefine /usr/bin/which as a tool to locate a binary on $PATH. This
>is not identical to what the csh's builtin which works, but neither is
>the current shellscript. I, and apparently others, feel the historical
>semantics of the shellscript are an accident of the first
>implementation rather than being specifically desirable behavior, and
>as such feel no particular need to preserve them.
After thinking about your arguments I now agree with you that the
current behavior of /usr/bin/which is broken. I still think Arne's C
program is overkill, however; something like:
#! /bin/csh -f
# ($NetBSD$, copyright, &c.)
which $*
should be sufficient.
--
Mike Long <mike.long@analog.com> <URL:http://www.shore.net/~mikel>
VLSI Design Engineer finger mikel@shore.net for PGP public key
Analog Devices, CPD Division CCBF225E7D3F7ECB2C8F7ABB15D9BE7B
Norwood, MA 02062 USA (eq (opinion 'ADI) (opinion 'mike)) -> nil