Currently the procedure ::IRCActions::ParseWordHook (IRCActions.tcl) checks if each word in a string matches "/me". Words are passed to this procedure by ::Text::ParseMsg (Utils.tcl). This function strips leading spaces which is why #3 goes wrong. #7 goes wrong because all words are parsed in a string.
Maybe ::Text::ParseMsg should be rewritten so that it only checks the word defined by the first character in a string until the next space. I don't think there is a need to check every word, do we? Alternatively (maybe better), we can use textPreParseHook which is not yet defined. The second option may also make it easier to set the "-slant italic" font option on the whole string (incread of only the word).
Currently the procedure ::IRCActions: :ParseWordHook (IRCActions.tcl) checks if each word in a string matches "/me". Words are passed to this procedure by ::Text::ParseMsg (Utils.tcl). This function strips leading spaces which is why #3 goes wrong. #7 goes wrong because all words are parsed in a string.
Maybe ::Text::ParseMsg should be rewritten so that it only checks the word defined by the first character in a string until the next space. I don't think there is a need to check every word, do we? Alternatively (maybe better), we can use textPreParseHook which is not yet defined. The second option may also make it easier to set the "-slant italic" font option on the whole string (incread of only the word).
What do you think?