Mercurial > pidgin-twitter
changeset 340:2b79bad516e6
- removed the evil hack
- twitter no longer requires preceding white space on a hash tag
author | Yoshiki Yazawa <yaz@honeyplanet.jp> |
---|---|
date | Sun, 18 Oct 2009 16:55:57 +0900 |
parents | 6ee1ed15688c |
children | b41f1bf69cba |
files | main.c pidgin-twitter.h |
diffstat | 2 files changed, 5 insertions(+), 16 deletions(-) [+] |
line wrap: on
line diff
--- a/main.c Sun Oct 18 13:30:48 2009 +0900 +++ b/main.c Sun Oct 18 16:55:57 2009 +0900 @@ -228,7 +228,6 @@ else if(which == SENDER_FFEED) { gchar *match1 = g_match_info_fetch(match_info, 1); /* preceding CR|LF */ gchar *match2 = g_match_info_fetch(match_info, 2); /* sender */ - g_snprintf(sub, SUBST_BUF_SIZE, SENDER_FORMAT_FFEED, match1 ? match1: "", match2, match2); g_free(match1); @@ -237,25 +236,15 @@ else if(which == CHANNEL_WASSR && service == wassr_service) { gchar *match1 = g_match_info_fetch(match_info, 1); /* before channel */ gchar *match2 = g_match_info_fetch(match_info, 2); /* channel */ - g_snprintf(sub, SUBST_BUF_SIZE, CHANNEL_FORMAT_WASSR, match1 ? match1: "", match2, match2); g_free(match1); g_free(match2); } else if(which == TAG_TWITTER && service == twitter_service) { - gchar *match1 = g_match_info_fetch(match_info, 1); /* white space */ - gchar *match2 = g_match_info_fetch(match_info, 2); /* search tag */ - - /* search tag ambiguity hack */ - gchar *last; - last = match2 + strlen(match2) - 1; - if(g_ascii_ispunct(*last)) - *last = '\0'; - - g_snprintf(sub, SUBST_BUF_SIZE, TAG_FORMAT_TWITTER, match1 ? match1: "", match2, match2); - g_free(match1); - g_free(match2); + gchar *match = g_match_info_fetch(match_info, 1); /* search tag */ + g_snprintf(sub, SUBST_BUF_SIZE, TAG_FORMAT_TWITTER, match, match); + g_free(match); } else if(which == TAG_IDENTICA && service == identica_service) { gchar *match = g_match_info_fetch(match_info, 1);
--- a/pidgin-twitter.h Sun Oct 18 13:30:48 2009 +0900 +++ b/pidgin-twitter.h Sun Oct 18 16:55:57 2009 +0900 @@ -169,7 +169,7 @@ #define SENDER_FORMAT_FFEED "%s<a href='http://friendfeed.com/%s'>%s</a>: " #define CHANNEL_FORMAT_WASSR "%s<a href='http://wassr.jp/channel/%s'>%s</a> " #define CHANNEL_FORMAT_IDENTICA "%s<a href='http://identi.ca/tag/%s'>%s</a> " -#define TAG_FORMAT_TWITTER "%s<a href='http://twitter.com/search?q=%%23%s'>#%s</a>" +#define TAG_FORMAT_TWITTER "<a href='http://twitter.com/search?q=%%23%s'>#%s</a>" #define TAG_FORMAT_IDENTICA "#<a href='http://identi.ca/tag/%s'>%s</a>" #define GROUP_FORMAT_IDENTICA "!<a href='http://identi.ca/group/%s'>%s</a>" #define LINK_FORMAT_TWITTER " <a href='PT://reply-twitter/?id=%s&user=%s'>R</a> <a href='PT://fav-twitter/?id=%s'>F</a> <a href='PT://retweet-twitter/?id=%s&user=%s&msg=%s'>RT</a>" @@ -186,7 +186,7 @@ #define P_PSEUDO "^\\s*(?:[\"#$%&'()*+,\\-./:;<=>?\\[\\\\\\]_`{|}~]|[^\\s\\x21-\\x7E])*([dDfFgGlLmMnNtTwW]{1})(?:\\Z|\\s+|[^\\x21-\\x7E]+\\Z)" #define P_USER "^.*?(?:<a .+?>)?([-A-Za-z0-9_]+)(?:</a>)?:" #define P_CHANNEL "^(.*?(?:<a .+?>)?[-A-Za-z0-9_]+(?:</a>)?: \\r?\\n?#)([A-Za-z0-9_]+) " -#define P_TAG_TWITTER "(^|\\s+)#([^-A-Za-z0-9_]*[-A-Za-z0-9_]+\\S*)" +#define P_TAG_TWITTER "#([^-A-Za-z0-9_]*[-A-Za-z0-9_]+[^\\s[:punct:]]*)" #define P_TAG_IDENTICA "#([-A-Za-z0-9_]+)" #define P_GROUP_IDENTICA "!([-A-Za-z0-9_]+)" #define P_IMAGE_TWITTER "<profile_image_url>(https?://.+?)</profile_image_url>"