Re: bison-1.29c 'configure' problems on Solaris 8.

2001-10-19 Thread Akim Demaille

 Gary == Gary V Vaughan [EMAIL PROTECTED] writes:

Gary As far as shell functions are concerned, it seems to me that
Gary m4sh could provide shell function wrapper macros which expand to
Gary a function/function call if that is supported by the shell, or
Gary else an inline function if not... 

Something which creates satellites executables (small sh scripts
instead of functions) when functions are not supported?  I often
thought about that.

Gary Then again, perhaps I am the only one who finds symbolic
Gary debugging of shell scripts to be useful ;-)

I think it's a cute idea.  Never used it yet though.




Re: bison-1.29c 'configure' problems on Solaris 8.

2001-10-19 Thread Gary V. Vaughan

On Fri, Oct 19, 2001 at 06:00:38PM +0200, Akim Demaille wrote:
  Gary == Gary V Vaughan [EMAIL PROTECTED] writes:
 
 Gary As far as shell functions are concerned, it seems to me that
 Gary m4sh could provide shell function wrapper macros which expand to
 Gary a function/function call if that is supported by the shell, or
 Gary else an inline function if not... 
 
 Something which creates satellites executables (small sh scripts
 instead of functions) when functions are not supported?  I often
 thought about that.

I am sure it would work, and perhaps it would encourage people with
broken shells to install bash... but somehow adding a couple of hundred
little scripts to the libtool run time fills me with fear!

 Gary Then again, perhaps I am the only one who finds symbolic
 Gary debugging of shell scripts to be useful ;-)
 
 I think it's a cute idea.  Never used it yet though.

I had ambitions to integrate it into ddd (which already handles perl for
example).  Unfortunately bash's implementation of the DEBUG trap is not
powerful enough to support full debugging written in shell, so I plan to
add some better support for symbolic debugging directly into bash one
day.

Cheers.
Gary.
-- 
  ())_. Gary V. Vaughan gary@(oranda.demon.co.uk|gnu.org)
  ( '/  Research Scientist  http://www.oranda.demon.co.uk   ,_())
  / )=  GNU Hacker  http://www.gnu.org/software/libtool  \'  `
`(_~)_  Tech' Authorhttp://sources.redhat.com/autobook   =`---d__/




Re: bison-1.29c 'configure' problems on Solaris 8.

2001-10-05 Thread Akim Demaille

 Paul == Paul Eggert [EMAIL PROTECTED] writes:

 From: Akim Demaille [EMAIL PROTECTED] Date: 04 Oct 2001 17:31:18
 +0200

 First let's find a portable LINENO, *then* move to another shell.

Paul But the attempt to find a portable LINENO is not cost-free.  
Paul It is broken now, and it will take time to fix it, and this is
Paul time that will be almost entirely wasted in practice once we
Paul execute configure with a portable shell.  

So am I understanding that LINENO is a POSIX feature?

The current implementation in CVS Autoconf might be broken, but
really, I fail to understand what makes you fear the LINENO stuff that
much.  Why do you say it is broken?  What is the *current* problem?
Raja says it works fine on Solaris 8.  I'm referring to CVS Autoconf,
of course.

Paul These days, almost nobody runs on systems that lack portable
Paul shells.  I wouldn't spend a lot of time worrying about these
Paul rare, ancient systems, particularly as the LINENO feature is not
Paul essential for proper operation of configure.

I definitely agree!!!  That's exactly what I'm doing!  I'm moving at
getting more and more new shell features into Autoconf, but I can't
see that LINENO stuff being that bad.

If you do think we should drop it, and I'm not strictly against that
decision, but very reluctant, then I would really like to have the
opinion of the comaintainers.

People, the question is:

If we look for a reasonable shell and re-exec configure once
we found one, are you OK with keeping $LINENO used in
configure, even if the shell does not treat $LINENO specially?

*And*, keep in mind the decision involves M4sh too (i.e., Autotest
scripts, M4sh-AdHoC scripts and so on).




Re: bison-1.29c 'configure' problems on Solaris 8.

2001-10-05 Thread Gary V. Vaughan


On Fri, Oct 05, 2001 at 10:56:04AM +0200, Akim Demaille wrote:
 
 People, the question is:
 
 If we look for a reasonable shell and re-exec configure once
 we found one, are you OK with keeping $LINENO used in
 configure, even if the shell does not treat $LINENO specially?
 
 *And*, keep in mind the decision involves M4sh too (i.e., Autotest
 scripts, M4sh-AdHoC scripts and so on).

There might be problems with re-execing to get a shell that has a
feature that you want... invariably, the shell that you use will be
*lacking* a feature that someone else wants.

I wrote a section about finding a shell that supports functions for
the Goat Book:

  http://sources.redhat.com/autobook/autobook/autobook_214.html#SEC214

But when I tried to add this to libtool, it conflicted with libtool's
requirement for a shell that doesn;t mangle backslash escapes.  ISTR
that there were several systems that couldn;t provide a shell that
supplied both :-(  In this instance I could have fallen back on using
libtool's --fallback-echo, but it felt as though this was moving in
the wrong direction...

As far as shell functions are concerned, it seems to me that m4sh
could provide shell function wrapper macros which expand to a
function/function call if that is supported by the shell, or else an
inline function if not... although `trap DEBUG' doesn't work very well
for functions, so my bashdb debugger will be considerably less
effective if shell functions come into common use for configury.  Then
again, perhaps I am the only one who finds symbolic debugging of shell
scripts to be useful ;-)

Cheers,
Gary.
-- 
  ())_. Gary V. Vaughan gary@(oranda.demon.co.uk|gnu.org)
  ( '/  Research Scientist  http://www.oranda.demon.co.uk   ,_())
  / )=  GNU Hacker  http://www.gnu.org/software/libtool  \'  `
`(_~)_  Tech' Authorhttp://sources.redhat.com/autobook   =`---d__/




Re: bison-1.29c 'configure' problems on Solaris 8.

2001-10-05 Thread Pavel Roskin

Hi, Akim!

 People, the question is:

 If we look for a reasonable shell and re-exec configure once
 we found one, are you OK with keeping $LINENO used in
 configure, even if the shell does not treat $LINENO specially?

 *And*, keep in mind the decision involves M4sh too (i.e., Autotest
 scripts, M4sh-AdHoC scripts and so on).

Fine with me as long as the testsuite doesn't break.  I understand that it
doesn't.

-- 
Regards,
Pavel Roskin





Re: bison-1.29c 'configure' problems on Solaris 8.

2001-10-05 Thread Paul Eggert

 From: Akim Demaille [EMAIL PROTECTED]
 Date: 05 Oct 2001 10:56:04 +0200
 
 So am I understanding that LINENO is a POSIX feature?

Yes.

 The current implementation in CVS Autoconf might be broken, but
 really, I fail to understand what makes you fear the LINENO stuff that
 much.  Why do you say it is broken?  What is the *current* problem?

The latest problem is what happens when you type control-C when you
are generating configure.lineno.  My guess is that there will be more
problems.

 Raja says it works fine on Solaris 8.  I'm referring to CVS Autoconf,
 of course.

After I checked in a regenerated 'configure', I think it probably
works on Solaris 8 if your environment is OK.  But I suspect we'll run
into more problems later, as people run it with different environment
variables, or on different hosts.

 People, the question is:
 
 If we look for a reasonable shell and re-exec configure once
 we found one, are you OK with keeping $LINENO used in
 configure, even if the shell does not treat $LINENO specially?

I don't quite understand the question as worded.  Here's how I would
word the question:

   Suppose we change configure so that, if invoked with a shell that
   does not support LINENO, it first looks for a shell that supports
   LINENO and re-executes configure with that shell.  This should
   avoid the LINENO problem on all major operating systems shipped in
   the last seven years or so.  (SunOS 4.1.4, the last major holdout,
   shipped in November 1994.)

   If we do this, is it still worth the aggravation of maintaining
   code to substitute LINENO ourselves, for older hosts like SunOS
   4.1.4 that have no shell that supports LINENO?

   The advantage of substituting for LINENO is that configure
   failures will have nice-looking line numbers even on older hosts.
   This advantage applies only when configure fails.

   The disadvantage is that the LINENO-substituting code does not work
   in all cases now, will hardly ever be exercised, and will probably
   continue to have bugs indefinitely.