From: | pgsql-hackers(at)thewrittenword(dot)com |
---|---|
To: | Jan Wieck <wieck(at)debis(dot)com> |
Cc: | Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us>, pgsql-hackers(at)thewrittenword(dot)com, pgsql-hackers(at)postgreSQL(dot)org |
Subject: | Re: [ADMIN] Re: [HACKERS] Problems with src/pl/tcl/mkMakefile.tcldefs.sh.in in 6.5 |
Date: | 1999-07-11 18:54:06 |
Message-ID: | 199907111858.NAA24126@postal.thewrittenword.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Sun, Jul 11, 1999 at 03:46:26PM +0200, Jan Wieck wrote:
> Bruce Momjian wrote:
>
> >
> > > On Sat, Jul 10, 1999 at 02:45:47AM -0400, Bruce Momjian wrote:
> > > > I didn't understand this the first time you sent it either.
> > > >
> > > > Send me a patch to review, please.
> > >
> > > --- src/pl/tcl/mkMakefile.tcldefs.sh.in.orig Fri Jul 9 08:29:09 1999
> > > +++ src/pl/tcl/mkMakefile.tcldefs.sh.in Fri Jul 9 08:29:49 1999
> > > @@ -8,9 +8,6 @@
> > >
> > > cat @TCL_CONFIG_SH@ |
> > > egrep '^TCL_|^TK_' |
> > > - while read inp
> > > - do
> > > - eval eval echo $inp
> > > - done >Makefile.tcldefs
> > > + sed -e "s/^\([^=]*\)='\(.*\)'$/\1=\2/" >Makefile.tcldefs
> > >
> >
> > I understand what your patch does, and it looks OK, but any idea why the
> > 'eval eval' was there, and is it safe to skip it? I can apply this to
> > 6.6.
>
> As far as I can recall, the first of all versions I've
> created did it mainly that way (with a simple sed(1) call).
> But since tclConfig.sh is a shell script, there have to be
> shell variable expansions done on some platforms and that
> resulted finally in the double eval. So I would consider the
> above a little step for a man, but a big leap backward for
> mankind.
>
> Instead, the result of the double eval must get special
> characters quoted in some way.
I just looked at the man for make on Solaris, Digital UNIX, HP-UX, and
IRIX and all support $() and ${} for variable expansion. BTW, I also
looked at the Makefile generated by Tk and it assumes make can handle
${}. It basically does one eval of tclConfig.sh and uses the result in
make variables. As Tk assumes make can handle ${}, can we safely
assume the same? With this, we'd do one eval rather than two before.
This is the same as the sed line I posted because everything in
tclConfig.sh is VAR='VAL' so the one eval would just strip the single
quotes (which sed did). But, if tclConfig.sh changes to some use of
double quotes in the future, we won't break.
> Jan
--
albert chin (china(at)thewrittenword(dot)com)
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 1999-07-11 19:37:32 | Overgenerous parsing of UPDATE targetlist |
Previous Message | pgsql-hackers | 1999-07-11 18:18:37 | Re: your mail |