Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 28 Oct 2002 18:36:28 GMT
From:      Mark Valentine <mark@thuvia.demon.co.uk>
To:        Garrett Wollman <wollman@lcs.mit.edu>
Cc:        cvs-committers@freebsd.org, cvs-all@freebsd.org
Subject:   Re: cvs commit: src/bin/expr expr.1 expr.y src/include unistd.h src/lib/libc/gen Makefile.inc check_utility_compat.3 check_utility_compat.c
Message-ID:  <200210281836.g9SIaSDW071723@dotar.thuvia.org>
In-Reply-To: <200210281630.g9SGUnMb040700@khavrinen.lcs.mit.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
> From: Garrett Wollman <wollman@lcs.mit.edu>
> Date: Mon 28 Oct, 2002
> Subject: Re: cvs commit: src/bin/expr expr.1 expr.y src/include unistd.h src/lib/libc/gen Makefile.inc check_utility_compat.3 check_utility_compat.c

> <<On Mon, 28 Oct 2002 09:53:51 GMT, Mark Valentine <mark@thuvia.demon.co.uk> said:
> 
> > The /etc/compat-FreeBSD-4-util symlink feature of this function is too
> > dangerous - it will break any scripts run anywhere on the system which
> > expect the default behaviour.
> 
> No, it will only break those scripts which *require* the POSIX
> behavior.

Uh, I thought that's what I said.  Sorry if my language was imprecise.

> As I have told you about ten times now, the intersection of
> the two (in the case of `expr' in particular) is large enough, and the
> syntax of `expr' so restricted, that most scripts should not care.

If you need to use this compatibility feature, you've already wandered
outside of that intersection.

If nothing's going to use the POSIX functionality, why is it implemented,
and why is it the default, unnecessarily breaking legacy scripts?

This utility function changes nothing with respect to supporting legacy
scripts.  I've asked how I can use the current compatibility functionality
to actually make legacy scripts work again, as I don't see a practical way
to do so.

I've implemented a scheme which I think does work, and addresses the sort(1)
issue which is still unresolved.

You've seen with sort(1) that moving to incompatible POSIX behaviour by
default is just too painful.  Sort(1) and expr(1) aren't going to be the
end of the story either.

My scheme (inspired by a proven implementation in Solaris) addresses both
the legacy script issue and allows the introduction of full-blown POSIX.1
functionality.  Your objection is that it means you have to take special
steps to get a POSIX environment.  That's regrettable, but I think necessary,
and I am willing to put work in to document and encourage the use of the
POSIX environment over the legacy environment.

		Cheers,

		Mark.

-- 
Mark Valentine, Thuvia Labs <mark@thuvia.co.uk>       <http://www.thuvia.co.uk>;
"Tigers will do ANYTHING for a tuna fish sandwich."       Mark Valentine uses
"We're kind of stupid that way."   *munch* *munch*        and endorses FreeBSD
  -- <http://www.calvinandhobbes.com>;                  <http://www.freebsd.org>;

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200210281836.g9SIaSDW071723>