> {
>       echo noscroll
>       if(~ $#args 0){
>               cat > /tmp/$pid^'.'aispell0; i = /tmp/$pid^'.'aispell0; winname 
> = `{cat /mnt/acme/$winid/tag | awk '{print $1}'}; for(j in `{cat $i | 
> $home/local/bin/ispell -a $spellflags | awk '/^[&#]/{gsub(/ /,"_"); 
> print}'}){$home/local/bin/acme/spout $i | grep `{echo $j | awk -F_ '{print 
> $2}'} | awk -F: '{OFS=":";$1 = "'$winname'"; print}' >> /tmp/$pid^'.'aispell 
> } ; sort -u /tmp/$pid^'.'aispell > $dir/$id/body; rm -f /tmp/$pid^'.'aispell*
>       }
>       if not for(i in $args){
>               for(j in `{cat $i | $home/local/bin/ispell -a $spellflags | awk 
> '/^[&#]/{gsub(/ /,"_"); print}'}){$home/local/bin/acme/spout $i | grep `{echo 
> $j | awk -F_ '{print $2}'} >> /tmp/$pid^'.'aispell } ; sort -u 
> /tmp/$pid^'.'aispell > $dir/$id/body; rm -f /tmp/$pid^'.'aispell
>       }
>       echo clean
> }> $dir/$id/ctl

the rest of the script is nicely formatted.  but it looks
like this bit could use some formatting.  remember, you
get a free newline after { and |.

there is some opportunity to simplify, too.  for example
        cat /mnt/acme/$winid/tag | awk '{print $1}'
is more simply
        sed 's/ .*//g' < /mnt/acme/$winid/tag
i see several places one could replace awk with sed and cat with
redirection.

and i think further simplification is possible by using
{} instead of the temporary file dance.  and i'd imagine
that that's where the bug is.

- erik

Reply via email to