Opened 15 years ago

Closed 14 years ago

Last modified 11 years ago

#721 closed enhancement (fixed)

Smilies displaying mid-word

Reported by: Owned by: evands
Milestone: Adium X 1.0 Component: Adium Core
Version: Severity: normal
Keywords: emoticon Cc:
Patch Status:


Smilies are showing up in the middle of words, and they probably shouldn't.




Smilies should only match when there is a space before them, after them, or both.

Change History (20)

comment:1 Changed 15 years ago by anonymous

While those of us who type properly put spaces before/after emoticons, a lot of people don't. What would be neat, however, is the disabling of emoticons as a temporary basis (view > emoticons on/off) or something.

comment:2 Changed 15 years ago by marshall@…

So it's better to cater to the people doing the wrong thing? I think it's more confusing to see an emoticon in the middle of a word than to see a bare ":)"

And maybe people would start typing better if their emoticons didn't work. There's no harm in that. :)

comment:3 Changed 15 years ago by marshall@…

Component: AIMCore Adium
Keywords: emoticon added
Owner: changed from nobody to anybody
Severity: normalenhancement

Bug #703 looks like another specific case of this problem.

comment:4 Changed 15 years ago by anonymous

How would somebody using another client know if it displays different on mine? If every other client is displaying mid-word, we'd be the odd man out doing something strange for no particular reason.

comment:5 Changed 15 years ago by adiumx@…

Putting spaces around our emoticons counts as "doing something strange"? Sounds like a reasonable thing to me! I don't care whether my buddies using other clients see emoticons at weird times. I just want them to show up at logical times on MY client.

comment:6 Changed 15 years ago by marshall@…

I see what anonymous is saying... people in other clients see smilies in mid-word, but you won't, so they'd continue doing the wrong thing and you'd see ":)" sometimes. Personally, I'd still rather see ":)" than a smiley mid-word.

AIM and (I assume) Gaim show the emoticon. iChat does not.

If people aren't going to go for this change, I'd at least settle for a preference.

comment:7 Changed 15 years ago by Evan Schoenberg

I'm with marshall. Emoticons should never be displayed inside links or inside words. An emoticon should display as an image if:

  • It is surrounded by spaces
  • It borders another emoticon
  • It ends a line

Marking #703 as a duplicate of this, as I like this discussion better.

comment:8 Changed 15 years ago by Evan Schoenberg

Owner: changed from anybody to nobody

Please don't assign tickets (especially not to the non-existant person anybody)

comment:9 Changed 14 years ago by john@…

I just hit this when pasting an FTP URL into Adium. s puts a wry smiley in the middle of the protocol! This doesn't happen with http://... so I'm guessing Adium's already checking for those. Could it be extended to any protocol? (\w+://)


comment:10 Changed 14 years ago by Zachary West

sftp isn't a recognized protocol in Adium. I suggest you make a separate ticket for it.

comment:11 Changed 14 years ago by Evan Schoenberg

Milestone: Adium X 1.0

comment:12 Changed 14 years ago by anon-ymous

this is an issue for times as well. 11:00 is displayed as 11"Some simlie"0. i don't see why this is even an arguable issue... don't we want things displayed correctly? who cares what every other client is doing? this is the BEST client, and as such, should not need to be "the same"... at version 0.86, as i am using, we haven't decided this argument yet? evands, i'm with you...

comment:13 Changed 14 years ago by Chris Forsythe

field_haspatch: 0
Owner: changed from nobody to Evan Schoenberg

Is this something we want to look into for 1.0?

comment:14 Changed 14 years ago by Evan Schoenberg

Resolution: fixed
Status: newclosed

(In [14454]) An emoticon now displays if and only if one of the following is true:

  • It begins or ends the string
  • It is bordered by spaces or line breaks on both sides
  • It is bordered by a period on the left and a space or line break the right
  • It is bordered by emoticons on both sides or by an emoticon on the left and a period, space, or line break on the right

No more "sad code!"

Fixes #721.

comment:15 Changed 14 years ago by David Munch

Just curious, does that mean that "hey dude:) " wont give you a smiley?

comment:16 Changed 14 years ago by anonymous

David Munch has a point. If there is only whitespace after the emoticon, it should still be shown. Anyway, that works just fine in 0.89, but I still get a smiley in the middle of URLs (http://).

comment:17 Changed 14 years ago by Colin Barrett

Should probably just run something like trim() on the string before examining it, or what not. I agree with the two above commenters.

comment:18 Changed 14 years ago by Evan Schoenberg

(In [15830]): Fixed an edge case with smiley parsing: If a smiley is at the beginning or end of the line after trimming whitespace it should be displayed graphically. This check is done last because -[NSString stringByTrimmingCharactersInSet:] is more expensive than other things done for the emoticon.

comment:19 Changed 14 years ago by Evan Schoenberg

anonymous, milestone on this ticket is Adium 1.0; you won't see any change until 1.0.

comment:20 Changed 11 years ago by Zachary West

Component: Core AdiumAdium Core
Note: See TracTickets for help on using tickets.