> plumb start 9 cat /home/ruda/CALC/manu/$1_source | plumb -i -d edit -a
> action=showdata
>
> I am getting this message when it is used
>
> /home/ruda/CALC/systems/ni4ni4ni4_264_fcc001_2/rotxy/Cxy.eps
> /home/ruda/CALC/systems/ni4ni4ni4_264_fcc001_2/rotzx/Czx.eps
why are you executing a rule instead of directly plumbing to edit?
i'm not sure all of the wheres and whys of what you're doing, but
it smells too complicated. also, using annoying characters like
'[' and '] in filenames is complicating matters.
> Also, as I am using p9p now, I don't know who interprets the part
> after the 'plumb start'. I first, believing that rc does the job, had
> e.g.
> cat /home/ruda/CALC/manu/^$1^_source
> there (note the ^s), but then those ^s stayed intact in the name
> (which wasn't naturally found).
both the plumber and rc get a crack at it. it's like `` in the
bourne shell.
so, for example, if i want to quote something in rc because i've
got a globbing character or other problem, i'd need a rule like
this:
type is text
data matches '\* x \*'
plumb start rc -c 'echo '''$0''' >> /tmp/junk'
3 's are needed. two to generate a character-stuffed quote and
one to terminate or start quoting. $0 must be interpreted by
plumber.
by the way, there's a (mostly harmless) bug in plumb's
basic rules:
/n/sources/plan9//sys/lib/plumb/basic:92,98 - basic:92,98
# man index entries are synthesized
type is text
data matches '([a-zA-Z¡-�0-9_\-./]+)\(([1-8])\)'
- plumb start rc -c 'man -b '$2' '$1'
+ plumb start rc -c 'man -b '$2' '$1
# start rule for images without known suffixes
dst is image
the reason this extra ' at the end is not flagged is
because the plumber doesn't check for unterminated
quotes. this change to plumb's source would need
to be made to enable checking:
/n/sources/plan9//sys/src/cmd/plumb/rules.c:330,335 - rules.c:331,339
if(ends)
*ends = s;
*p = '\0';
+ /* disabled due to default plumbing having broken rule */
+ if(0 && quoting)
+ return "eof-in-quoted-string";
return ebuf;
}
- erik