GNU bug report logs - #12375
Broken matching of regexps in fancy splitting

Previous Next

Packages: gnus, emacs;

Reported by: jathd <jathdr <at> gmail.com>

Date: Fri, 7 Sep 2012 05:31:02 UTC

Severity: normal

Tags: fixed

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


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

From: jathd <jathdr <at> gmail.com>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: 12375 <at> debbugs.gnu.org
Subject: Re: bug#12375: Broken matching of regexps in fancy splitting
Date: Mon, 12 Aug 2013 00:07:00 +0200
Lars Ingebrigtsen <larsi <at> gnus.org> writes:

> Hm.  Looking at the code, I can't see where it's re-matching against the
> original regexp.

It's around line 1470:

    (let ((value (nth 1 split)))
      (if (symbolp value)
        (setq value (cdr (assq value nnmail-split-abbrev-alist))))
      ;; Someone might want to do a \N sub on this match, so get the
      ;; correct match positions.
      (re-search-backward value start-of-value))

The `value' is the regexp I specified in `nnmail-split-fancy'. Before
that, to see whether a header matches, the function does

    (re-search-backward (cdr cached-pair) nil t)

where (cdr cached-pair) is a regexp it constructed the first time
around. Since it prepended a "\\<" to *that* regexp, the header is
correctly identified; but it didn't prepend anything to `value', so the
extraction goes wrong.

-- 
jathd




This bug report was last modified 8 years and 176 days ago.

Previous Next


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