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

Re: Bug#416441: Patch



On Mar 31,  1:01pm, Clint Adams wrote:
} Subject: Re: Bug#416441: Patch
}
} On Sat, Mar 31, 2007 at 06:41:27PM +0200, Erik Johansson wrote:
} > The attached patch fixes the problem for me.
} 
} Thanks.
} 
} > --- _module.ORG	2007-03-31 17:47:42.000000000 +0200
} > +++ _module	2007-03-31 17:55:08.000000000 +0200
} > @@ -83,7 +83,7 @@
} >  # Fills the available modules cache
} >  _module_available_modules()
} >  {
} > -  if (( [[ -n "$MODULEPATH" ]] && [[ ${+_available_modules} -eq 0 ]] ));
} > +  if (( [[ -n $MODULEPATH ]] && [[ ${+_available_modules} -eq 0 ]] ));
} >    then
} >      _available_modules=($(find ${(e)=MODULEPATH//:/ } -xtype f -print 2>/dev/null | grep -v \.version | sed -e 's,\('${${(e)=MODULEPATH//:/\/\\\|}%\\\|}'\),,g' -e 's,^/*,,g'))
} >    fi
} 
} Why would this break zcompile?

What's up with the double parens?

    if (( ... this is parsed as a math expression ... ))

I don't know why zcompile chokes on that when the regular interpreter
does not, but it almost certainly ought to be a syntax error long before
the unmatched double-quote error that zcompile coughs up.

    if [[ -n $MODULEPATH ]] && [[ ${+_available_modules} -eq 0 ]]

without the excess parens and trailing semicolon, ought to be sufficient.



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