Re: [ADMIN] Re: [HACKERS] Problems with src/pl/tcl/mkMakefile.tcldefs.sh.in in 6.5
От | pgsql-hackers@thewrittenword.com |
---|---|
Тема | Re: [ADMIN] Re: [HACKERS] Problems with src/pl/tcl/mkMakefile.tcldefs.sh.in in 6.5 |
Дата | |
Msg-id | 199907111858.NAA24126@postal.thewrittenword.com обсуждение исходный текст |
Ответ на | Re: [ADMIN] Re: [HACKERS] Problems with src/pl/tcl/mkMakefile.tcldefs.sh.in in 6.5 (wieck@debis.com (Jan Wieck)) |
Список | 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@thewrittenword.com)
В списке pgsql-hackers по дате отправления: