Gnus development mailing list
 help / color / mirror / Atom feed
From: Eric Abrahamsen <eric@ericabrahamsen.net>
To: "Adam Sjøgren" <asjo@koldfront.dk>
Cc: ding@gnus.org
Subject: Re: Help testing gnus-search fixups
Date: Mon, 28 Jun 2021 16:15:55 -0700	[thread overview]
Message-ID: <877didvavo.fsf@ericabrahamsen.net> (raw)
In-Reply-To: <87fsx1g98n.fsf@tullinup.koldfront.dk> ("Adam =?utf-8?Q?Sj?= =?utf-8?Q?=C3=B8gren=22's?= message of "Mon, 28 Jun 2021 20:00:24 +0200")

Adam Sjøgren <asjo@koldfront.dk> writes:

> Eric writes:
>
>> if you're using notmuch or namazu, please help me give this a whirl!
>
> Which version of Emacs is your patch against? I just tried applying it
> to master@2a33fc8d19 and got:

It applies to up-to-date master -- there's one other change that went
into this function since your current revision. The changes are confined
to the one function, so you could also just eval this definition:

(cl-defmethod gnus-search-indexed-parse-output ((engine gnus-search-indexed)
						server query &optional groups)
  (let ((prefix (or (slot-value engine 'remove-prefix)
                    ""))
	artlist article group)
    (goto-char (point-min))
    ;; Prep prefix, we want to at least be removing the root
    ;; filesystem separator.
    (when (stringp prefix)
      (setq prefix (file-name-as-directory
                    (expand-file-name prefix "/"))))
    (while (not (or (eobp)
                    (looking-at-p
                     "\\(?:[[:space:]\n]+\\)?Process .+ finished")))
      (pcase-let ((`(,f-name ,score) (gnus-search-indexed-extract engine)))
	(when (and f-name
                   (file-readable-p f-name)
		   (null (file-directory-p f-name)))
          (setq group
                (replace-regexp-in-string
	         "[/\\]" "."
	         (replace-regexp-in-string
	          "/?\\(cur\\|new\\|tmp\\)?/\\'" ""
	          (replace-regexp-in-string
	           "\\`\\." ""
	           (string-remove-prefix
                    prefix (file-name-directory f-name))
                   nil t)
	          nil t)
	         nil t))
          (setq article (file-name-nondirectory f-name)
                article
                ;; TODO: Provide a cleaner way of producing final
                ;; article numbers for the various backends.
                (if (string-match-p "\\`[[:digit:]]+\\'" article)
		    (string-to-number article)
		  (nnmaildir-base-name-to-article-number
		   (substring article 0 (string-match ":" article))
		   group (string-remove-prefix "nnmaildir:" server))))
          (when (and (numberp article)
                     (or (null groups)
                         (member group groups)))
	    (push (list f-name article group score)
                  artlist)))))
    ;; Are we running an additional grep query?
    (when-let ((grep-reg (alist-get 'grep query)))
      (setq artlist (gnus-search-grep-search engine artlist grep-reg)))
    ;; Munge into the list of vectors expected by nnselect.
    (mapcar (pcase-lambda (`(,_ ,article ,group ,score))
              (vector group article
                      (if (numberp score)
			  score
		        (string-to-number score))))
            artlist)))


  reply	other threads:[~2021-06-28 23:16 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-28 16:42 Eric Abrahamsen
2021-06-28 18:00 ` Adam Sjøgren
2021-06-28 23:15   ` Eric Abrahamsen [this message]
2021-06-29  6:04     ` Thomas Alexander Gerds
2021-06-29  9:30     ` Adam Sjøgren
2021-06-29  9:55       ` Adam Sjøgren
2021-06-29 11:03         ` Thomas Alexander Gerds
2021-06-29 11:13           ` Adam Sjøgren
2021-06-29 11:25             ` Adam Sjøgren
2021-06-30 16:58               ` Eric Abrahamsen
     [not found]                 ` <87bl6tuqcb.fsf@posteo.org>
2021-07-23 15:18                   ` Eric Abrahamsen
     [not found]                     ` <87bl6sual8.fsf@posteo.org>
2021-07-24 22:16                       ` Eric Abrahamsen
2021-07-25 11:17                         ` Alexandr Vityazev
2021-07-25 22:11                           ` Eric Abrahamsen
2021-07-30 18:17                           ` Joseph Mingrone
2021-07-30 18:22                             ` Joseph Mingrone
2021-07-30 18:47                               ` Eric Abrahamsen
2021-07-30 19:29                                 ` Joseph Mingrone
2021-07-30 20:23                                   ` Eric Abrahamsen
2021-07-30 19:34                             ` Alexandr Vityazev
2021-07-30 20:25                               ` Eric Abrahamsen
2021-08-05 17:15                                 ` Eric Abrahamsen
2021-08-05 19:54                                   ` Alexandr Vityazev
2021-08-05 20:19                                     ` Joseph Mingrone
2021-08-05 21:24                                       ` Eric Abrahamsen
2021-08-05 21:38                                         ` Joseph Mingrone
2021-08-07 16:07                                           ` Eric Abrahamsen
2021-08-10  7:32                                             ` Daniel Jensen
2021-08-13 16:50                                               ` Eric Abrahamsen
2021-08-13 19:30                                                 ` Daniel Jensen
2021-08-13 19:37                                                   ` Eric Abrahamsen
2021-06-29 11:27 ` Eric S Fraga
2021-09-11 13:29 Sergey Makarov
2021-09-11 15:04 ` Eric Abrahamsen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=877didvavo.fsf@ericabrahamsen.net \
    --to=eric@ericabrahamsen.net \
    --cc=asjo@koldfront.dk \
    --cc=ding@gnus.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).