Regarding codes used for Pidgin

Kevin Stange kevin at simguy.net
Tue May 26 01:07:57 EDT 2009


David Balazic wrote:
> Jo-Erlend Schinstad wrote :
> 
>> 2009/5/25 David Balazic <David.Balazic at hermes-softlab.com>:
>>> 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!myuser at myhost PRIVMSG #ourChannel :<ascii 1>ACTION some
>> description<ascii 1>
>>
>> If I used "/say /me foo", then the channel should receive:
>>
>> :mynick!myuser at 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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 261 bytes
Desc: OpenPGP digital signature
URL: <http://pidgin.im/pipermail/support/attachments/20090526/4a274a8b/attachment.sig>


More information about the Support mailing list