Updated again... I finally tweaked it so \\
doesn't show up on +repose. I might have went overkill, but it now eats every \
. I can't really think of any negatives except that, obviously, you cannot use \
in the displayed text of your pose. Does anyone use that, anyways? Just use a /
right?
If you're already using my reposer, you should be able to put this into Muxify and dump it in.
&f.capture.pose [v( d.rr )]=
strcat(
setq( l, loc( %# ) ),
if( cor(
match( u( d.exclude.rooms ), %ql ),
// check exclude room list
match( get( %ql/_REPOSE ), off ),
// check setting on local room
), @@( If on the no list do nothing else process rest of this ),
strcat(
setq( u, u( f.secure.pose, objeval( %#, s( %0 )) ) ),
// Using objeval will eval the string as if by %# (ie, the invoker).
// This should filter out MOST nonsense people might try
// f.secure.pose boggles up [] so that should handle the rest
setq( c, strtrunc( %0, 1) ),
setq( f, first( %0 ) ),
setq( e, switch( %qc,
:, u( f.format.repose, rest( %qu, : ), pose ),
;, u( f.format.repose, trim( %qu ) , pose.ns ),
", u( f.format.repose, rest( %qu, " ), say ),
\, u( f.format.repose, rest( %qu, lit( \ ) ), emit ),
switch( 1,
strmatch( %qf, po* ), u( f.format.repose, rest( %qu ), pose ),
strmatch( %qf, sa* ), u( f.format.repose, rest( %qu ), say ),
strmatch( %qf, @em* ), u( f.format.repose, rest( %qu ), emit ),
strmatch( %qf, @re* ), u( f.format.repose, rest( %qu ), emit ),
u( f.format.repose, edit( trim( %qu ), %\, ), emit ) ) ) ),
// This long nasty bit tries to figure out how you posed. Ie, " or @em or etc
set( %ql,
u( f.format.repose.attribute, %# ):
[u( f.format.repose.data, %qe )] )
// add that you posed
)
)
)