David Ellement on Sun 7/03 10:21 -0800:
> > --- configure.in Thu Mar 4 18:21:48 1999
> > +++ configure.in.new Fri Mar 5 06:38:19 1999
> > @@ -30,7 +30,8 @@
> > ;;
> > esac
> >
> > -AC_PATH_PROG(SENDMAIL, sendmail, no, $PATH:/usr/sbin:/usr/lib)
> > +ac_aux_path_sendmail=":/usr/sbin:/usr/lib"
> > +AC_PATH_PROG(SENDMAIL, sendmail, no, $PATH$ax_aux_path_sendmail)
> > AC_DEFINE_UNQUOTED(SENDMAIL, "$ac_cv_path_SENDMAIL")
> >
> > OPS='$(srcdir)/OPS'
>
> After applying this patch on HP-UX 10.20, configure could not find
> sendmail.
I assume that you rebuilt configure?
In that case, I guess whatever HP-UX uses as /bin/sh is not strictly
compliant with the standards. I spent a long evening ensuring that this
bug was not in the shell parsing code from the new bash: it is SUS2
compliant; I followed the source and concurrently in a debugger. I do
not know if SUS2 has changed how it does feild splitting from previous
versions, or the exact source of this (ie, is it POSIX specified), but I
can cite some text:
(susv2/xbd/glossary.html#tag_004_000_104)
field
In the shell, a unit of text that is the result of parameter
expansion, arithmetic expansion, command substitution, or field
splitting. During command processing, the resulting fields are
used as the command name and its arguments.
(susv2/xcu/chap2.html#tag_001_006_005)
Field Splitting
After parameter expansion, command substitution, and arithmetic
expansion the shell will scan the results of expansions and
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
substitutions that did not occur in double-quotes for field
splitting and multiple fields can result.
The shell will treat each character of the IFS as a delimiter
and use the delimiters to split the results of parameter
expansion and command substitution into fields.
The non-parameter part of
$PATH:/usr/sbin:/usr/lib
is not expanded by anything, and is therefore not subject to field
splitting.
--
Scott