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>