Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: [zsh] ant completion broken



On Sun, 31 Aug 2008 11:23:34 +0200
David LE BOURGEOIS <david.lebourgeois@xxxxxxx> wrote:
> I wish to report a problem about zsh-4.3.6, concerning the _ant
> completion file. The zsh-workers/24129 fix breaks the ant completion for
> target name.
> 
> In fact, the regular expression used in sed contains two spaces. And
> since, in most of XML tags, the property separator is a single space,
> the completion fails for many of build.xml files.
> 
> As a fix, deleting one of the two spaces from the regular expression
> makes the ant completion working again. Also, replacing the remaining
> single space by the POSIX [[:blank:]] pattern might provide a safer
> parsing of the target name.

I'd prefer just deleting one of the spaces if that works OK, since zsh
has historically worked with some pretty ancient versions of sed.  I'm
not sure this is necessary, just can't prove it isn't, so if the
following works...

Index: Completion/Unix/Command/_ant
===================================================================
RCS file: /cvsroot/zsh/zsh/Completion/Unix/Command/_ant,v
retrieving revision 1.16
diff -u -r1.16 _ant
--- Completion/Unix/Command/_ant	29 Nov 2007 09:49:43 -0000	1.16
+++ Completion/Unix/Command/_ant	31 Aug 2008 13:28:06 -0000
@@ -10,7 +10,7 @@
     importedfiles=( $(sed -n "s/ *<import[^>]* file=[\"']\([^\"']*\)[\"'].*/\1/p" < $1) )
     # Tweaked to omit targets beginning with "-" that can't
     # be invoked from the command line; see zsh-workers/24129.
-    sed -n "s/ *<target[^>]*  name=[\"']\([^-][^\"']*\)[\"'].*/\1/p" $1
+    sed -n "s/ *<target[^>]* name=[\"']\([^-][^\"']*\)[\"'].*/\1/p" $1
     if (( $#importedfiles )) ; then
 	( cd $1:h
     	for file in $importedfiles ; do


-- 
Peter Stephenson <p.w.stephenson@xxxxxxxxxxxx>
Web page now at http://homepage.ntlworld.com/p.w.stephenson/



Messages sorted by: Reverse Date, Date, Thread, Author