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

Re: strace completion (Re: grouping/joining _values)



On Sat, Jun 14, 2008 at 12:59:14AM +0100, Stephane Chazelas wrote:
> On Fri, Jun 13, 2008 at 08:19:06PM +0100, Stephane Chazelas wrote:
> > On Fri, Jun 13, 2008 at 05:04:58PM +0100, Stephane Chazelas wrote:
> > [...]
> > > > > > Are there any other useful strategies for extracting the real list of
> > > > > > syscalls at runtime, so that on systems which package up the same
> > > > > > version of zsh for N years the list doesn't grow stale?
> > [...]
> > > You could get the list from strace itself with:
> > > 
> > > ltrace -e strcmp strace -e xxx |& awk -F\" '
> > >   /xxx/&&/strcmp/{print $4}' | sort -u
> [...]
> 
> An other one that doesn't require ltrace:
> 
> zmodload zsh/mapfile
> tmp==(print -rn -- ${mapfile[/usr/bin/strace]//strcmp/printf})
> chmod u+x $tmp
> $tmp -e $'%s\n' 2> /dev/null | sort -u
> rm -f $tmp
[...]

Or to let zsh remove the temp file:

zmodload zsh/mapfile
eval 'tmp=(' =(
  print -rn -- ${mapfile[/usr/bin/strace]//strcmp/printf}) ')
  chmod u+x $tmp
  $tmp -e $'"'%s\n'"' 2> /dev/null | sort -u'

Assuming the temp file name generated by zsh won't have special
characters in it.

-- 
Stéphane



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