GNU bug report logs - #79167
[PATCH] nnmbox-read-mbox: fix Xref header parsing

Previous Next

Package: emacs;

Reported by: Jakub Ječmínek <kuba <at> kubajecminek.cz>

Date: Sun, 3 Aug 2025 13:50:02 UTC

Severity: normal

Tags: patch

Full log


Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Jakub Ječmínek <kuba <at> kubajecminek.cz>
To: bug-gnu-emacs <at> gnu.org
Subject: [PATCH] nnmbox-read-mbox: fix Xref header parsing
Date: Sun, 03 Aug 2025 15:48:37 +0200
[Message part 1 (text/plain, inline)]
Tags: patch

When opening an mbox file using the nnmbox backend, the `nnmbox-read-mbox'
function parses it and, if the article is new, adds an 'X-Gnus-Newsgroup'
header. This header is populated from the Xref header if the article includes
one.

However, the search for Xref is broken. Steps to reproduce:

0. Save the attached mbox file named '2016-11'
1. emacs -Q
2. (setq gnus-select-method '(nnmbox "" (nnmbox-mbox-file "/path/to/2016-11")))
3. M-x gnus RET
4. M-: (switch-to-buffer nnmbox-mbox-buffer) RET
5. Search for message with ID
<36adb56e-5a51-4b07-9db2-188d4ce06abe <at> googlegroups.com>

You'll see this article contains two 'X-Gnus-Newsgroup' headers:

X-Gnus-Newsgroup: Wed, 02 Nov 2016 17:25   Sun Aug  3 15:15:26 2025  
X-Gnus-Newsgroup: gnu.emacs.help:219001   Sun Aug  3 15:15:26 2025

The first line shouldn't be there because the Xref header contains just one
group:

Xref: usenet.stanford.edu gnu.emacs.help:219001

The attached patch fixes this issue.


In GNU Emacs 31.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.48,
 cairo version 1.18.4) of 2025-05-04 built on localhost
Repository revision: 815dea7b59392d83ca8f9e98d1569484aea605ad
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12401008
System Description: Gentoo Linux

Configured using:
 'configure --prefix=/usr --build=x86_64-pc-linux-gnu
 --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info
 --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib
 --datarootdir=/usr/share --disable-silent-rules
 --docdir=/usr/share/doc/emacs-31.0.9999
 --htmldir=/usr/share/doc/emacs-31.0.9999/html --libdir=/usr/lib64
 --program-suffix=-emacs-31-vcs --includedir=/usr/include/emacs-31-vcs
 --infodir=/usr/share/info/emacs-31-vcs --localstatedir=/var
 --enable-locallisppath=/etc/emacs:/usr/share/emacs/site-lisp
 --without-compress-install --without-hesiod --without-pop
 --without-systemduserunitdir --with-file-notification=inotify --with-pdumper
 --enable-acl --enable-xattr --with-dbus --without-modules --without-gameuser
 --with-libgmp --with-gpm --without-native-compilation --without-kerberos
 --without-kerberos5 --with-lcms2 --with-xml2 --with-mailutils
 --without-selinux --with-sqlite3 --with-gnutls --with-libsystemd
 --with-threads --with-tree-sitter --without-wide-int --with-sound=alsa
 --with-zlib --with-x --without-pgtk --without-ns --without-gconf
 --without-gsettings --without-toolkit-scroll-bars --with-xpm --with-xft
 --with-cairo --without-harfbuzz --without-libotf --without-m17n-flt
 --with-x-toolkit=gtk3 --without-xwidgets --with-gif --with-jpeg --with-png
 --with-rsvg --with-tiff --without-webp --with-imagemagick
 --with-dumping=pdumper 'CFLAGS=-march=native -O2 -pipe -fno-fast-math
 -ffp-contract=off' CPPFLAGS= 'LDFLAGS=-Wl,-O1 -Wl,--as-needed
 -Wl,-z,pack-relative-relocs''

[0001-nnmbox-read-mbox-fix-Xref-header-parsing.patch (text/patch, attachment)]
[2016-11 (application/octet-stream, attachment)]

This bug report was last modified today.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.