David Balazic wrote: > Jo-Erlend Schinstad wrote : > >> 2009/5/25 David Balazic <[email protected]>: >>> Ethan Blanton wrote> >>> >>>> David Balazic spake unto us the following wisdom: >>>>> - "/say /me foo" is not sent to channel, but interpreted >>>> as a regular >>>>> "/me foo" command >>>> Not exactly. Pidgin interprets any incoming message of >> the form "/me >>>> foo" as an emote. You're actually sending "/me foo" to >> the channel, >>>> your Pidgin is simply displaying it the same as it would a CTCP >>>> ACTION. >>> Why would it do that ? >>> >>> Regards, >>> David >> This sounds strange. There will never be any incoming commands in the >> form "/me description". /me is simply a CTCP ACTION message, which is >> a PRIVMSG message. So, if I would send a /me to a channel, >> then everyone >> in the channel -- except me, the sender -- would receive >> >> :mynick!myu...@myhost PRIVMSG #ourChannel :<ascii 1>ACTION some >> description<ascii 1> >> >> If I used "/say /me foo", then the channel should receive: >> >> :mynick!myu...@myhost PRIVMSG #outChannel :/me foo > > It seems Pidgin takes this and displays it as if it were a CTCP ACTION, > intead as a regular text. Even if someome with a different client would send > it. > So if some sends "...PRIVMSG #outChannel :/me foo", all people would see > <someone> /me foo > While Pidgin users would see ***someone foo. > > This is IMO a bug. >
It's not a bug from the standpoint of how it's been used. Trillian implemented this similarly. On all protocols, any message starting with the text /me is shown as an action. Trillian, initially as an IRC client, did this so that long-time IRC users could just go ahead and use /me commands in AIM, ICQ, etc, and have messages shown as actions. Pidgin, as Gaim then, was primary an AIM client and this was a form of compatibility with that behavior. For a lot of third party clients, this was relatively normal. I'm unsure if many or even any others still do it, but I don't expect there was much need to change, so they probably still do. When we wrote the command system to allow protocols to supply commands for their prpls to libpurple, we grandfathered /me as a special global command in Pidgin. It simply passes through the text as a normal message. However, IRC has /me handling, so it implements a replacement /me command which converts the /me to the appropriate IRC CTCP ACTION. If you actually send a message starting with /me directly to the channel using /say, Pidgin treats its special case as an action even though it's not one that conforms to the protocol for IRC. It still sends the literal "/me" on the wire and the end would see it that way unless using a client with the special case. This is how /say is intended to work, so there is no bug there. What I think perhaps you're advocating is that Pidgin should not have special casing for /me. I can see this point as valid, as we do tend to try not to send anything any given protocol doesn't support over that protocol, but this is basically harmless, ancient behavior that doesn't really hurt anything unless you actually do send /me via /say routinely and want it to show up as a literal "/me" which is a case I cannot see as likely. You shouldn't be trying to send commands with /say as /say is explicitly designed to bypass the command system. Kevin
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Support mailing list [email protected] http://pidgin.im/cgi-bin/mailman/listinfo/support
