On 05/25/13 05:40, Stuart Cassoff wrote:
> On 05/25/13 05:12, Stuart Henderson wrote:
>> On 2013/05/25 03:47, Stuart Cassoff wrote:
>>>>     instead of "#!/usr/bin/env ..." trick;
>>>
>>> It's not a trick, it's a perfectly cromulent way to start a script
>>> and some people write their scripts like that.
>>
>> Using the full path protects against certain cases of blundering
>> numbskullery where PATH might have been dangerously embiggened..
>>
> 
> Decreased flexibility makes it harder to experiment, which is why I resisted 
> the change.
> 
> * full-pathed the env
> * removed leading / from bin
> * voted for kang
> 

Hmm. Should've votes for Kodos.
Removing the leading / was not a good idea.
Now it's back, along with non-capturing parens.


Index: tcl.port.mk
===================================================================
RCS file: /cvs/ports/lang/tcl/tcl.port.mk,v
retrieving revision 1.14
diff -u -p -u -p -r1.14 tcl.port.mk
--- tcl.port.mk 2 Feb 2013 11:15:33 -0000       1.14
+++ tcl.port.mk 25 May 2013 10:35:29 -0000
@@ -34,9 +34,10 @@ MODTCL_WANTLIB ?=    ${MODTCL_LIB}

 # Set 'tclsh' for executable scripts (in-place modification).
 MODTCL_TCLSH_ADJ =     perl -pi \
-                       -e '$$. == 1 && s!env (tclsh|wish).*$$!env 
tclsh${MODTCL_VERSION}!;' \
-                       -e '$$. >= 3 && $$. <= 30 && s!exec 
(tclsh|wish).*$$!exec tclsh${MODTCL_VERSION} "\$$0" \$${1+"\$$@"}!;' \
-                       -e 'close ARGV if eof;'
+       -e '$$. == 1 && s!/\S*/env\s+(?:tclsh|wish)\S*(\s+.+)?$$!/usr/bin/env 
${MODTCL_BIN}$$1!;' \
+       -e '$$. == 1 && 
s!/\S*bin/(?:tclsh|wish)\S*(\s+.+)?$$!${MODTCL_BIN}$$1!;' \
+       -e '$$. >= 3 && $$. <= 30 && s!exec\s+(?:tclsh|wish).*$$!exec 
${MODTCL_BIN} "\$$0" \$${1+"\$$@"}!;' \
+       -e 'close ARGV if eof;'

 # Set 'wish' for executable scripts (in-place modification).
 MODTCL_WISH_ADJ =      
${MODTCL_TCLSH_ADJ:S/tclsh${MODTCL_VERSION}/wish${MODTCL_VERSION}/}



Reply via email to