[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#46271: 28.0.50; [PATCH] Properly quote group names for gnus-search
From: |
Eric Abrahamsen |
Subject: |
bug#46271: 28.0.50; [PATCH] Properly quote group names for gnus-search |
Date: |
Wed, 03 Feb 2021 15:01:31 -0800 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) |
jflack--- via "Bug reports for GNU Emacs, the Swiss army knife of text
editors" <bug-gnu-emacs@gnu.org> writes:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA512
>
> - --=-=-=
> Content-Type: text/plain
> Content-Transfer-Encoding: quoted-printable
>
>
> The new gnus-search-indexed-parse-output doesn't properly quote group
> names before using them as regexes meaning a group name containing
> meta-characters (other than . or \ because of the current replacement)
> won't be properly matched in the search results later.
>
> I have attached a diff that fixes this by first quoting the group name
> before performing the replacement; which is now constructed with RX
> to save \\ soup.
>
> =2D-=20
> Thanks,
> Jai
>
> - --=-=-=
> Content-Type: text/x-diff
> Content-Disposition: attachment; filename=gnus-search-regex.diff
> Content-Transfer-Encoding: quoted-printable
>
> diff --git a/lisp/gnus/gnus-search.el b/lisp/gnus/gnus-search.el
> index 44f43b073c..54603d8792 100644
> =2D-- a/lisp/gnus/gnus-search.el
> +++ b/lisp/gnus/gnus-search.el
> @@ -82,6 +82,7 @@
> (require 'gnus-util)
> (require 'eieio)
> (eval-when-compile (require 'cl-lib))
> +(eval-when-compile (require 'rx))
> (autoload 'eieio-build-class-alist "eieio-opt")
> (autoload 'nnmaildir-base-name-to-article-number "nnmaildir")
> =20
> @@ -1380,8 +1381,8 @@ gnus-search-indexed-parse-output
> (lambda (x)
> (replace-regexp-in-string
> ;; Accept any of [.\/] as path separators.
> =2D "[.\\/]" "[.\\\\/]"
> =2D (gnus-group-real-name x)))
> + (rx (or "\\." "\\\\" "/")) "[.\\\\/]"
> + (regexp-quote (gnus-group-real-name x))))
> groups "\\|")))
> artlist vectors article group)
> (goto-char (point-min))
Thanks very much for the patch! Let me do some local testing over the
next couple of days, but at first glance this looks like it will do the
trick.
Thanks,
Eric