commit 88e34405f8cc4ef3eb653eff5e3cd78e3898d881 from: Oliver Lowe date: Sun Aug 31 06:04:52 2025 UTC Remove more newsgroup special cases commit - f9285c5a86c512788f5ee2a5f916013d313ca303 commit + 88e34405f8cc4ef3eb653eff5e3cd78e3898d881 blob - 69cdf9baa22bf22a0b232bb36625ba1e0a5072dd blob + 86d11ab6bf219f775b3a27a684777483fa0534cd --- src/account.c +++ src/account.c @@ -292,11 +292,11 @@ PrefsAccount *account_find_from_smtp_server(const gcha * account_find_from_address: * @address: Email address string. * - * Find a mail (not news if newsgroups_ok is FALSE) account with the specified email address. + * Find a mail account with the specified email address. * * Return value: The found account, or NULL if not found. */ -PrefsAccount *account_find_from_address(const gchar *address, gboolean newsgroups_ok) +PrefsAccount *account_find_from_address(const gchar *address) { GList *cur; PrefsAccount *ac; @@ -305,8 +305,7 @@ PrefsAccount *account_find_from_address(const gchar *a for (cur = account_list; cur != NULL; cur = cur->next) { ac = (PrefsAccount *)cur->data; - if ((newsgroups_ok) && ac->address && - g_ascii_strcasecmp(address, ac->address) == 0) + if (ac->address && g_ascii_strcasecmp(address, ac->address) == 0) return ac; } @@ -1327,7 +1326,7 @@ PrefsAccount *account_get_reply_account(MsgInfo *msgin (msginfo, &from, "From:")) { gchar *buf = from + strlen("From:"); extract_address(buf); - account = account_find_from_address(buf, FALSE); + account = account_find_from_address(buf); g_free(from); } } @@ -1348,7 +1347,7 @@ PrefsAccount *account_get_reply_account(MsgInfo *msgin (*next) = 0; Xstrdup_a(to, cur, return NULL); extract_address(to); - account = account_find_from_address(to, FALSE); + account = account_find_from_address(to); if (next) cur = next + 1; else @@ -1364,7 +1363,7 @@ PrefsAccount *account_get_reply_account(MsgInfo *msgin (msginfo, &deliveredto, "Delivered-To:")) { gchar *buf = deliveredto + strlen("Delivered-To:"); extract_address(buf); - account = account_find_from_address(buf, FALSE); + account = account_find_from_address(buf); g_free(deliveredto); } } blob - d747337c17d12b9aa2279eb4e9fe8cb559b2d9b3 blob + 77a1295c2f5e38291070c49fa9e9174a9f493dd3 --- src/account.h +++ src/account.h @@ -14,7 +14,7 @@ * * You should have received a copy of the GNU General Public License * along with this program. If not, see . - * + * */ #ifndef __ACCOUNT_H__ @@ -51,7 +51,7 @@ GList *account_find_all_from_address (GList *a GList *account_find_all (void); PrefsAccount *account_find_from_smtp_server (const gchar *address, const gchar *smtp_server); -PrefsAccount *account_find_from_address (const gchar *address, gboolean newsgroups_ok); +PrefsAccount *account_find_from_address (const gchar *address); PrefsAccount *account_find_from_id (gint id); PrefsAccount *account_find_from_item (FolderItem *item); @@ -69,9 +69,9 @@ void account_set_missing_folder(void); FolderItem *account_get_special_folder(PrefsAccount *ac_prefs, SpecialFolderItemType type); -PrefsAccount *account_get_reply_account (MsgInfo *msginfo, +PrefsAccount *account_get_reply_account (MsgInfo *msginfo, gboolean reply_autosel); -void account_rename_path (const gchar *old_id, +void account_rename_path (const gchar *old_id, const gchar *new_id); gchar *account_get_signature_str(PrefsAccount *account); blob - e807f1b823152f54d1c217a0764f81e8f69d14aa blob + 2d563e43cf1381863dab4e9745dd21a9debbac58 --- src/advsearch.c +++ src/advsearch.c @@ -225,7 +225,6 @@ gchar *advsearch_expand_search_string(const gchar *sea { "i", "messageid", 1, TRUE, TRUE }, { "I", "inreplyto", 1, TRUE, TRUE }, { "L", "locked", 0, FALSE, FALSE }, - { "n", "newsgroups", 1, TRUE, TRUE }, { "N", "new", 0, FALSE, FALSE }, { "O", "~new", 0, FALSE, FALSE }, { "r", "replied", 0, FALSE, FALSE }, blob - 52e4fb8524cb83182a40d752971aa81fcad00fa8 blob + 0fbebf93c0bf0f2533df98aed37f878e77226513 --- src/compose.c +++ src/compose.c @@ -832,12 +832,12 @@ Compose *compose_generic_new(PrefsAccount *account, co if not, the account prefs will be guessed using other ways, but we'll keep the from anyway */ if (mailto_from) { - mailto_account = account_find_from_address(mailto_from, TRUE); + mailto_account = account_find_from_address(mailto_from); if (mailto_account == NULL) { gchar *tmp_from; Xstrdup_a(tmp_from, mailto_from, return NULL); extract_address(tmp_from); - mailto_account = account_find_from_address(tmp_from, TRUE); + mailto_account = account_find_from_address(tmp_from); } } if (mailto_account) @@ -1880,7 +1880,7 @@ Compose *compose_reedit(MsgInfo *msginfo, gboolean bat } if (!account && !procheader_get_header_from_msginfo(msginfo, &queueheader_buf, "S:")) { - account = account_find_from_address(queueheader_buf, FALSE); + account = account_find_from_address(queueheader_buf); g_free(queueheader_buf); } if (!procheader_get_header_from_msginfo(msginfo, &queueheader_buf, @@ -1975,7 +1975,7 @@ Compose *compose_reedit(MsgInfo *msginfo, gboolean bat gchar *from = NULL; if (!procheader_get_header_from_msginfo(msginfo, &from, "FROM:")) { extract_address(from); - account = account_find_from_address(from, FALSE); + account = account_find_from_address(from); } if (from) g_free(from); @@ -2548,10 +2548,6 @@ static gint compose_parse_header(Compose *compose, Msg g_free(hentry[H_BCC].body); hentry[H_BCC].body = NULL; } - if (hentry[H_NEWSGROUPS].body != NULL) { - compose->newsgroups = hentry[H_NEWSGROUPS].body; - hentry[H_NEWSGROUPS].body = NULL; - } if (hentry[H_FOLLOWUP_TO].body != NULL) { if (hentry[H_FOLLOWUP_TO].body[0] != '\0') { compose->followup_to = @@ -2960,7 +2956,7 @@ static void compose_reply_set_entry(Compose *compose, Xstrdup_a(tmp1, msginfo->from, return); extract_address(tmp1); compose_entry_append(compose, - (!account_find_from_address(tmp1, FALSE)) + (!account_find_from_address(tmp1)) ? msginfo->from : msginfo->to, COMPOSE_TO, PREF_NONE); @@ -3060,7 +3056,6 @@ static void compose_reedit_set_entry(Compose *compose, SET_ADDRESS(COMPOSE_CC, compose->cc); SET_ADDRESS(COMPOSE_BCC, compose->bcc); SET_ADDRESS(COMPOSE_REPLYTO, compose->replyto); - SET_ADDRESS(COMPOSE_NEWSGROUPS, compose->newsgroups); SET_ADDRESS(COMPOSE_FOLLOWUPTO, compose->followup_to); compose_update_privacy_system_menu_item(compose, FALSE); @@ -4574,7 +4569,7 @@ static gboolean compose_check_for_set_recipients(Compo if (compose->account->set_autocc && compose->account->auto_cc) { gboolean found_other = FALSE; GSList *list; - /* search header entries for to and newsgroup entries */ + /* search header entries for to */ for (list = compose->header_list; list; list = list->next) { gchar *entry; gchar *header; @@ -4610,7 +4605,7 @@ static gboolean compose_check_for_set_recipients(Compo if (compose->account->set_autobcc && compose->account->auto_bcc) { gboolean found_other = FALSE; GSList *list; - /* search header entries for to and newsgroup entries */ + /* search header entries for to */ for (list = compose->header_list; list; list = list->next) { gchar *entry; gchar *header; @@ -7765,7 +7760,6 @@ static void compose_destroy(Compose *compose) g_free(compose->replyto); g_free(compose->cc); g_free(compose->bcc); - g_free(compose->newsgroups); g_free(compose->followup_to); g_free(compose->ml_post); @@ -10480,7 +10474,7 @@ static PrefsAccount *compose_find_account(MsgInfo *msg gchar *to; Xstrdup_a(to, msginfo->to, return NULL); extract_address(to); - account = account_find_from_address(to, FALSE); + account = account_find_from_address(to); } if (!account && prefs_common.forward_account_autosel) { @@ -10489,7 +10483,7 @@ static PrefsAccount *compose_find_account(MsgInfo *msg (msginfo, &cc, "Cc:")) { gchar *buf = cc + strlen("Cc:"); extract_address(buf); - account = account_find_from_address(buf, FALSE); + account = account_find_from_address(buf); g_free(cc); } } @@ -10500,7 +10494,7 @@ static PrefsAccount *compose_find_account(MsgInfo *msg (msginfo, &deliveredto, "Delivered-To:")) { gchar *buf = deliveredto + strlen("Delivered-To:"); extract_address(buf); - account = account_find_from_address(buf, FALSE); + account = account_find_from_address(buf); g_free(deliveredto); } } @@ -10733,7 +10727,7 @@ static MsgInfo *compose_msginfo_new_from_compose(Compo if (compose->subject_entry) newmsginfo->subject = gtk_editable_get_chars(GTK_EDITABLE(compose->subject_entry), 0, -1); - /* to, cc, reply-to, newsgroups */ + /* to, cc, reply-to */ for (list = compose->header_list; list; list = list->next) { gchar *header = gtk_editable_get_chars( GTK_EDITABLE( @@ -10758,16 +10752,6 @@ static MsgInfo *compose_msginfo_new_from_compose(Compo g_free(newmsginfo->cc); newmsginfo->cc = tmp; } - } else - if ( strcasecmp(header, - prefs_common_translated_header_name("Newsgroups:")) == 0 ) { - if ( newmsginfo->newsgroups == NULL ) { - newmsginfo->newsgroups = g_strdup(entry); - } else if (entry && *entry) { - gchar *tmp = g_strconcat(newmsginfo->newsgroups, ", ", entry, NULL); - g_free(newmsginfo->newsgroups); - newmsginfo->newsgroups = tmp; - } } g_free(header); blob - 624a694e3067861eb0ac7bbd44adcaa1c2fe3593 blob + 826e0c7f12354d7b7f7c0e92cb517652de83c803 --- src/compose.h +++ src/compose.h @@ -45,7 +45,6 @@ typedef enum COMPOSE_CC, COMPOSE_BCC, COMPOSE_REPLYTO, - COMPOSE_NEWSGROUPS, COMPOSE_FOLLOWUPTO, COMPOSE_INREPLYTO } ComposeEntryType; @@ -166,7 +165,6 @@ struct _Compose gchar *replyto; gchar *cc; gchar *bcc; - gchar *newsgroups; gchar *followup_to; gchar *ml_post; @@ -183,7 +181,6 @@ struct _Compose gboolean use_cc; gboolean use_bcc; gboolean use_replyto; - gboolean use_newsgroups; gboolean use_followupto; gboolean use_attach; blob - b0cb66e00e072922d785b5cf61345a11706faa32 blob + c072697764a61d5a0bf74f4899f64cdcf10cb951 --- src/matcher.c +++ src/matcher.c @@ -108,8 +108,6 @@ static const MatchParser matchparser_tab[] = { {MATCHCRITERIA_AGE_LOWER_HOURS, "age_lower_hours"}, {MATCHCRITERIA_DATE_AFTER, "date_after"}, {MATCHCRITERIA_DATE_BEFORE, "date_before"}, - {MATCHCRITERIA_NEWSGROUPS, "newsgroups"}, - {MATCHCRITERIA_NOT_NEWSGROUPS, "~newsgroups"}, {MATCHCRITERIA_MESSAGEID, "messageid"}, {MATCHCRITERIA_NOT_MESSAGEID, "~messageid"}, {MATCHCRITERIA_INREPLYTO, "inreplyto"}, @@ -751,10 +749,6 @@ static gboolean matcherprop_match(MatcherProp *prop, case MATCHCRITERIA_NOT_PARTIAL: /* FIXME: info->size is a goffset */ return (info->total_size == 0 || info->size == (goffset)info->total_size); - case MATCHCRITERIA_NEWSGROUPS: - return matcherprop_string_match(prop, info->newsgroups, context_str[CONTEXT_NEWSGROUPS]); - case MATCHCRITERIA_NOT_NEWSGROUPS: - return !matcherprop_string_match(prop, info->newsgroups, context_str[CONTEXT_NEWSGROUPS]); case MATCHCRITERIA_MESSAGEID: return matcherprop_string_match(prop, info->msgid, context_str[CONTEXT_MESSAGEID]); case MATCHCRITERIA_NOT_MESSAGEID: @@ -1839,7 +1833,6 @@ gchar *matching_build_command(const gchar *cmd, MsgInf const gchar *const no_cc = _("(none)") ; const gchar *const no_date = _("(none)") ; const gchar *const no_msgid = _("(none)") ; - const gchar *const no_newsgroups = _("(none)") ; const gchar *const no_references = _("(none)") ; size = STRLEN_ZERO(cmd) + 1; @@ -1868,9 +1861,6 @@ gchar *matching_build_command(const gchar *cmd, MsgInf case 'i': /* message-id */ size += STRLEN_DEFAULT(info->msgid, no_msgid) - 2; break; - case 'n': /* newsgroups */ - size += STRLEN_DEFAULT(info->newsgroups, no_newsgroups) - 2; - break; case 'r': /* references */ /* FIXME: using the inreplyto header for reference */ size += STRLEN_DEFAULT(info->inreplyto, no_references) - 2; @@ -1932,10 +1922,6 @@ gchar *matching_build_command(const gchar *cmd, MsgInf add_str_default(&p, info->msgid, no_msgid); break; - case 'n': /* newsgroups */ - add_str_default(&p, info->newsgroups, - no_newsgroups); - break; case 'r': /* references */ /* FIXME: using the inreplyto header for references */ add_str_default(&p, info->inreplyto, no_references); blob - c413dc70195bfebc975c57c0db9a87292975b491 blob + b263a9c6d6a4888b677125a42dd4c4b3a43aa9fd --- src/msgcache.c +++ src/msgcache.c @@ -659,7 +659,6 @@ MsgCache *msgcache_read_cache(FolderItem *item, const GET_CACHE_DATA(msginfo->from, memusage); GET_CACHE_DATA(msginfo->to, memusage); GET_CACHE_DATA(msginfo->cc, memusage); - GET_CACHE_DATA(msginfo->newsgroups, memusage); GET_CACHE_DATA(msginfo->subject, memusage); GET_CACHE_DATA(msginfo->msgid, memusage); GET_CACHE_DATA(msginfo->inreplyto, memusage); @@ -715,7 +714,6 @@ MsgCache *msgcache_read_cache(FolderItem *item, const READ_CACHE_DATA(msginfo->from, fp, memusage); READ_CACHE_DATA(msginfo->to, fp, memusage); READ_CACHE_DATA(msginfo->cc, fp, memusage); - READ_CACHE_DATA(msginfo->newsgroups, fp, memusage); READ_CACHE_DATA(msginfo->subject, fp, memusage); READ_CACHE_DATA(msginfo->msgid, fp, memusage); READ_CACHE_DATA(msginfo->inreplyto, fp, memusage); @@ -871,7 +869,6 @@ static int msgcache_write_cache(MsgInfo *msginfo, FILE WRITE_CACHE_DATA(msginfo->from, fp); WRITE_CACHE_DATA(msginfo->to, fp); WRITE_CACHE_DATA(msginfo->cc, fp); - WRITE_CACHE_DATA(msginfo->newsgroups, fp); WRITE_CACHE_DATA(msginfo->subject, fp); WRITE_CACHE_DATA(msginfo->msgid, fp); WRITE_CACHE_DATA(msginfo->inreplyto, fp); blob - 1373ce3370f7cf0c5cf1ea9e2020ab5405be6f13 blob + 928d9a1b812ee74671940e1011d73dacdf8b58f6 --- src/prefs_template.c +++ src/prefs_template.c @@ -56,7 +56,6 @@ gboolean prefs_template_string_is_valid(gchar *string, dummyinfo.cc="John Doe "; dummyinfo.msgid="<1234john@example.com>"; dummyinfo.inreplyto="<1234john@example.com>"; - dummyinfo.newsgroups="alt.test"; dummyinfo.subject="subject"; quote_fmt_init(&dummyinfo, NULL, NULL, TRUE, account, FALSE); blob - a3575617dc7d6af498a52bb739f04b2d5af3c1b3 blob + d8c458cb07fa2ae7cad49dda1f3ac2dc18211149 --- src/procheader.c +++ src/procheader.c @@ -681,15 +681,6 @@ static MsgInfo *parse_stream(void *data, gboolean isst msginfo->cc = g_strdup(tmp); g_free(tmp); break; - case H_NEWSGROUPS: - if (msginfo->newsgroups) { - p = msginfo->newsgroups; - msginfo->newsgroups = - g_strconcat(p, ",", hp, NULL); - g_free(p); - } else - msginfo->newsgroups = g_strdup(hp); - break; case H_SUBJECT: if (msginfo->subject) break; msginfo->subject = conv_unmime_header(hp, NULL, FALSE); blob - b92e0bc9f331ec14e6a87fa2ab2374fdc358af1d blob + f68b30831839e7a1bde0e3194e333127aae2deb7 --- src/procmsg.c +++ src/procmsg.c @@ -1123,7 +1123,6 @@ MsgInfo *procmsg_msginfo_copy(MsgInfo *msginfo) MEMBDUP(from); MEMBDUP(to); MEMBDUP(cc); - MEMBDUP(newsgroups); MEMBDUP(subject); MEMBDUP(msgid); MEMBDUP(inreplyto); @@ -1269,7 +1268,6 @@ void procmsg_msginfo_free(MsgInfo **msginfo_ptr) FREENULL(msginfo->from); FREENULL(msginfo->to); FREENULL(msginfo->cc); - FREENULL(msginfo->newsgroups); FREENULL(msginfo->subject); FREENULL(msginfo->msgid); FREENULL(msginfo->inreplyto); @@ -1325,8 +1323,6 @@ guint procmsg_msginfo_memusage(MsgInfo *msginfo) memusage += strlen(msginfo->to); if (msginfo->cc) memusage += strlen(msginfo->cc); - if (msginfo->newsgroups) - memusage += strlen(msginfo->newsgroups); if (msginfo->subject) memusage += strlen(msginfo->subject); if (msginfo->msgid) blob - d2d6688f55cac2abf1c0cd561a1d568dc0043dbe blob + d3492e14e6665be5bcd5a74ae6460b8d75392dd3 --- src/procmsg.h +++ src/procmsg.h @@ -201,7 +201,6 @@ struct _MsgInfo gchar *from; gchar *to; gchar *cc; - gchar *newsgroups; gchar *subject; gchar *msgid; gchar *inreplyto; blob - 2766ac33d4f5462fbcf5840c61f5157b7f8b5337 blob + 0397a44e42f355a0c7f699dc0430a7082ba9f904 --- src/quote_fmt.c +++ src/quote_fmt.c @@ -55,7 +55,6 @@ static gchar *quote_desc_strings[] = { "%subject (%s)", N_("Subject"), /* subject */ "%to (%t)", N_("To"), /* to */ "%cc (%c)", N_("Cc"), /* cc */ - "%newsgroups (%n)", N_("Newsgroups"), /* newsgroups */ "%references (%r)", N_("References"), /* references */ "%messageid (%i)", N_("Message-ID"), /* message-id */ "%msg (%M)", N_("message body"), /* message */ blob - 89d7346c89b95fac812fefbf331392c354e7dfbc blob + ddc5e83d5d4065128535dd73976449867c36a4ae --- src/quote_fmt_lex.l +++ src/quote_fmt_lex.l @@ -82,7 +82,6 @@ int escaped_string = 0; ("%I"|"%initials") /* initial of sender */ return SHOW_SENDER_INITIAL; ("%m"|"%msg_no_sig") /* message with no signature */ return SHOW_MESSAGE_NO_SIGNATURE; ("%M"|"%msg") /* message */ return SHOW_MESSAGE; -("%n"|"%newsgroups") /* newsgroups */ return SHOW_NEWSGROUPS; ("%N"|"%fullname") /* full name */ return SHOW_FULLNAME; ("%L"|"%lastname") /* last name */ return SHOW_LAST_NAME; ("%r"|"%references") /* references */ return SHOW_REFERENCES; @@ -116,7 +115,6 @@ int escaped_string = 0; ("?s"|"?subject") /* query subject */ return QUERY_SUBJECT; ("?t"|"?to") /* query to */ return QUERY_TO; ("?c"|"?cc") /* query cc */ return QUERY_CC; -("?n"|"?newsgroups") /* query newsgroups */ return QUERY_NEWSGROUPS; ("?i"|"?messageid") /* query message-id */ return QUERY_MESSAGEID; ("?r"|"?references") /* query references */ return QUERY_REFERENCES; ("?af"|"?account_fullname") /* query full name in compose account */ return QUERY_ACCOUNT_FULL_NAME; @@ -132,7 +130,6 @@ int escaped_string = 0; ("!s"|"!subject") /* query not(subject) */ return QUERY_NOT_SUBJECT; ("!t"|"!to") /* query not(to) */ return QUERY_NOT_TO; ("!c"|"!cc") /* query not(cc) */ return QUERY_NOT_CC; -("!n"|"!newsgroups") /* query not(newsgroups) */ return QUERY_NOT_NEWSGROUPS; ("!i"|"!messageid") /* query not(message-id) */ return QUERY_NOT_MESSAGEID; ("!r"|"!references") /* query not(references) */ return QUERY_NOT_REFERENCES; ("!af"|"!account_fullname") /* query not(full name in compose account) */ return QUERY_NOT_ACCOUNT_FULL_NAME; blob - 7f7384991398b0e8fc37cfebfb40b8bfc830aba5 blob + e2ffe9eed119b172bbbbe4de04c4958cc64c992d --- src/quote_fmt_parse.y +++ src/quote_fmt_parse.y @@ -711,13 +711,8 @@ string: }; special: - SHOW_NEWSGROUPS + SHOW_DATE_EXPR OPARENT string CPARENT { - if (msginfo->newsgroups) - INSERT(msginfo->newsgroups); - } - | SHOW_DATE_EXPR OPARENT string CPARENT - { quote_fmt_show_date(msginfo, $3); } | SHOW_DATE @@ -941,14 +936,6 @@ query: { remove_visibility(); } - | QUERY_NEWSGROUPS - { - add_visibility(msginfo->newsgroups != NULL); - } - OPARENT quote_fmt CPARENT - { - remove_visibility(); - } | QUERY_MESSAGEID { add_visibility(msginfo->msgid != NULL); @@ -1087,14 +1074,6 @@ query_not: { remove_visibility(); } - | QUERY_NOT_NEWSGROUPS - { - add_visibility(msginfo->newsgroups == NULL); - } - OPARENT quote_fmt CPARENT - { - remove_visibility(); - } | QUERY_NOT_MESSAGEID { add_visibility(msginfo->msgid == NULL); blob - f647c8de150480bd8e974ad6d56e442232e73722 blob + 39ba2cd5535d15c7315c27c52d6c4cc72b83b273 --- src/summaryview.c +++ src/summaryview.c @@ -3034,7 +3034,7 @@ static inline void summary_set_header(SummaryView *sum if (addr) { extract_address(addr); - if (account_find_from_address(addr, FALSE)) { + if (account_find_from_address(addr)) { should_swap = TRUE; } g_free(addr); @@ -3074,10 +3074,7 @@ static inline void summary_set_header(SummaryView *sum } to_text = msginfo->to ? msginfo->to : - (msginfo->cc ? msginfo->cc : - (msginfo->newsgroups ? msginfo->newsgroups : NULL - ) - ); + (msginfo->cc ? msginfo->cc : NULL); if (!to_text) to_text = _("(No Recipient)"); blob - 989a26ab231879a8a5a74b3dc97fe1e99369da9f blob + 0373ba11db97c8fa59d0db0c4e7ffaddfb03ac56 --- src/toolbar.c +++ src/toolbar.c @@ -2019,7 +2019,6 @@ Toolbar *toolbar_create(ToolbarType type, GtkWidget *toolbar; GtkWidget *icon_wid = NULL; - GtkWidget *icon_news; GtkWidget *item; ToolbarClawsActions *action_item; GSList *cur;