The main problem with this approach is that it uses too many ^B pairs. Here's a test script to see what I mean:
Code:
alias text var %a | !.echo -q $regsub($right($rawmsg,- $+ $pos($rawmsg,:,2)),/(?<= )(?= )/g,,%a) | return %a
on *:text:*:?:{
  tokenize 32 $replace($right($rawmsg,$+(-,$pos($rawmsg,:,2))),$chr(32),$+(,$chr(32),))
  echo 2 -s $1-
  echo 2 -s $replace($1-,$chr(2),<B>)
  tokenize 32 $text
  echo 3 -s $1-
  echo 3 -s $replace($1-,$chr(2),<B>)
}
Open a query window to yourself and type "hello<space><space><space><space>world" (and make sure there isn't any on *:input:?: interfering). Status will print:
Code:
[color:blue]hello    world
hello&lt;B&gt;&lt;B&gt; &lt;B&gt;&lt;B&gt;&lt;B&gt;&lt;B&gt; &lt;B&gt;&lt;B&gt;&lt;B&gt;&lt;B&gt; &lt;B&gt;&lt;B&gt;&lt;B&gt;&lt;B&gt; &lt;B&gt;&lt;B&gt;world[/color][color:green]
hello    world
hello &lt;B&gt;&lt;B&gt; &lt;B&gt;&lt;B&gt; &lt;B&gt;&lt;B&gt; world[/color]
Ie, the first method uses 16 ^B characters, while the second only 6. Apart from this, $text has the advantage that if you /tokenize it, the $* tokens will either contain the original words or the ^B pairs. In the above example, $1 will be "hello<B><B>" in the first case and "hello" in the second. This looks a lot cleaner and easier for scripts to handle.


/.timerQ 1 0 echo /.timerQ 1 0 $timer(Q).com