Announcements and discussions for Gnus, the GNU Emacs Usenet newsreader
 help / color / mirror / Atom feed
From: xuqi <haoyang@expoundite.net>
To: info-gnus-english@gnu.org
Subject: Re: nnir with notmuch gives error; sort: Wrong type argument: number-or-marker-p, nil
Date: Sat, 14 Mar 2020 19:30:25 +0800	[thread overview]
Message-ID: <m1mu8jjhri.fsf@expoundite.net> (raw)
In-Reply-To: <87sgib8jat.fsf@googlemail.com>

physiculus <physiculus@gmail.com> writes:

> xuqi <haoyang@expoundite.net> writes:
>
> Hello,
> thank you for your info.
> Unfortunately i'm not a developer, so i don't understand all you wrote.
> As far as i understand, you mean, that the problem is with notmuch?
> But why is it working, if i call the command in terminal directly.
> Perhaps some parameters, that push gnus to notmuch?

While your notmuch runs all right in the terminal, nnir runs notmuch in
Emacs environments and then processes the results so they can be used by
Gnus. I suspect something went wrong there.

I didn't look closely. But for example if you haven't customized the
variable `nnir-notmuch-remove-prefix', it defaults to "$HOME/Mail", if
your Maildir is not ~/Mail (Gnus advices against using ~/Mail for
maildir, iirc), the processed results may point Gnus to a wrong
location.

Perhaps you can paste your nnmaildir config in your .gnus.el to the
list, or point to me where to find it if you have done so. And the value
of your `nnir-notmuch-remove-prefix', you can find that by pressing C-h
v RET nnir-notmuch-remove-prefix RET.

Then you can go to your *scratch* buffer -- sorry if it shows in bold
when you read this, but the buffer name has asterisks -- and input the
following, parentheses included:

    (nnir-run-notmuch "Hock" "nnmaildir:Lokal")

and press C-x C-e with your cursor after the closing parenthesis, this
will run the command `nnir-run-notmuch', the results would be in the
messages. Post those as well.

>
> Regards
> Poul
>
>
>> physiculus <physiculus@gmail.com> writes:
>>
>>> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>>>
>>> Hello,
>>>
>>> here is the output from the debugger.
>>> I dont know, what it mean, but i think you do :-)
>>>
>>> Hope it helps!
>>>
>>>
>>> Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p nil)
>>>   <(nil nil)
>>>   sort((nil) <)
>>>   nnir-retrieve-headers((1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
>>> 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
>>> 42 43 44 45 46 47 48 49 50 ...) "nnir-87zhckegiv.fsf" "nnir-ephemeral"
>>> nil)
>>
>> A look at the source code of function `nnir-retrieve-headers' would
>> help. You can find the code by pressing C-h f RET nnir-retrieve-headers
>> and click `nnir.el' in the help buffer.
>>
>> At the front of this function you will see a call to the function
>> `sort':
>>
>> 	(let* ((group-articles (pop articles-by-group))
>> 	       (artgroup (car group-articles))
>> 	       (articleids (cadr group-articles))
>> 	       (artlist (sort (mapcar 'cdr articleids) '<))
>>                          ~~~~
>> 	       (server (gnus-group-server artgroup))
>>                ...
>>
>> The error message tells us that the 1st argument of `sort', (mapcar 'cdr
>> articleids) returns a list of nils. This involves a bunch of variables
>> and list operations, but by the documentation of `nnir-categorize' we
>> can infer that the structure of `group-articles' look like this:
>>
>>     '((group1
>>         ((nnir-article-ids article11)
>>          (nnir-article-ids article12)
>>          ...))
>>       (group2
>>         ((nnir-article-ids article21)
>>          (nnir-article-ids article22)
>>          ...))
>>       (group3
>>         ...))
>>
>> So `articleids' are this part: (nnir-article-ids article11)
>>
>> and `artlist' should be a list like this '(article11 article12 article21
>> ...)
>>
>> In this case, the first argument to `nnir-categorize' may be nil, thus
>> article11 ... are all nils, so you get a list of nils.
>>
>> The most likely reason therefore is that notmuch can't produce a list of
>> articles with your search conditions. I haven't used notmuch with gnus
>> so I can only provide a guess.
>>
>>>   gnus-retrieve-headers((1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
>>> 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
>>> 42 43 44 45 46 47 48 49 50 ...) "nnir:nnir-87zhckegiv.fsf" nil)
>>>   gnus-cache-retrieve-headers((1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
>>> 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
>>> 40 41 42 43 44 45 46 47 48 49 50 ...) "nnir:nnir-87zhckegiv.fsf" nil)
>>>   gnus-retrieve-headers((1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
>>> 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
>>> 42 43 44 45 46 47 48 49 50 ...) "nnir:nnir-87zhckegiv.fsf" nil)
>>>   gnus-fetch-headers((1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
>>>   19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
>>>   41 42 43 44 45 46 47 48 49 50 ...))
>>>   gnus-select-newsgroup("nnir:nnir-87zhckegiv.fsf" t nil)
>>>   gnus-summary-read-group-1("nnir:nnir-87zhckegiv.fsf" t t nil nil nil)
>>>   gnus-summary-read-group("nnir:nnir-87zhckegiv.fsf" t t nil nil nil nil)
>>>   gnus-group-read-group(t t "nnir:nnir-87zhckegiv.fsf" nil)
>>>   gnus-group-read-ephemeral-group("nnir-87zhckegiv.fsf" (nnir "nnir")
>>> nil nil nil nil ((nnir-specs (nnir-query-spec (query . "hock"))
>>> (nnir-group-spec ("nnmaildir:Lokal")))))
>>>   gnus-group-make-nnir-group(nil)
>>>   funcall-interactively(gnus-group-make-nnir-group nil)
>>>   call-interactively(gnus-group-make-nnir-group nil nil)
>>>   command-execute(gnus-group-make-nnir-group)
>>>
>>>> physiculus <physiculus@gmail.com> writes:
>>>>
>>>>> Hello,
>>>>> if i try to use search with notmuch my nnmaildir, i get the error above.
>>>>> here are the lines from messages:
>>>>> Opening nnir server on nnir-ephemeral...done
>>>>> Retrieving newsgroup: nnir:nnir-877dzp783m.fsf...
>>>>> Doing notmuch query Hock...
>>>>> notmuch args: search --format=text --output=files Hock
>>>>> Massaging notmuch output...done
>>>>> Fetching headers for nnir:nnir-877dzp783m.fsf...
>>>>> sort: Wrong type argument: number-or-marker-p, nil
>>>>
>>>> Can you run M-x toggle-debug-on-error, then trigger this error again,
>>>> and send the backtrace to the list?
>>>>
>>>> Thanks,
>>>> Eric
>>>>
>>>>
>>>> _______________________________________________
>>>> info-gnus-english mailing list
>>>> info-gnus-english@gnu.org
>>>> https://lists.gnu.org/mailman/listinfo/info-gnus-english
>>>
>>> _______________________________________________
>>> info-gnus-english mailing list
>>> info-gnus-english@gnu.org
>>> https://lists.gnu.org/mailman/listinfo/info-gnus-english
>>
>>
>> _______________________________________________
>> info-gnus-english mailing list
>> info-gnus-english@gnu.org
>> https://lists.gnu.org/mailman/listinfo/info-gnus-english
>
> _______________________________________________
> info-gnus-english mailing list
> info-gnus-english@gnu.org
> https://lists.gnu.org/mailman/listinfo/info-gnus-english


_______________________________________________
info-gnus-english mailing list
info-gnus-english@gnu.org
https://lists.gnu.org/mailman/listinfo/info-gnus-english

  reply	other threads:[~2020-03-14 11:33 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-12 18:27 physiculus
2020-03-12 19:09 ` Eric Abrahamsen
2020-03-13  9:46   ` physiculus
2020-03-13 17:04     ` xuqi
2020-03-14  7:52       ` physiculus
2020-03-14 11:30         ` xuqi [this message]
2020-03-14 15:31           ` physiculus
2020-03-14 16:11             ` Eric Abrahamsen
2020-03-14 16:23               ` physiculus
2020-03-14 16:47                 ` Eric Abrahamsen
2020-03-15 11:45                   ` physiculus
2020-03-15 18:50                     ` xuqi
2020-03-16 18:42                       ` physiculus
2020-03-16 19:42                         ` Eric Abrahamsen
2020-03-17  8:50                           ` physiculus
2020-03-17 14:22                             ` physiculus
2020-03-18  1:27                               ` xuqi
2020-03-18 18:02                                 ` physiculus
2020-03-19 22:56                                   ` Eric Abrahamsen
2020-03-25 19:05                           ` nnir with notmuch gives error; Possible solution! physiculus
2020-03-25 19:19                             ` Eric Abrahamsen
2020-03-26 19:16                               ` Helmut Waitzmann
2020-03-15 22:09                     ` nnir with notmuch gives error; sort: Wrong type argument: number-or-marker-p, nil Eric Abrahamsen
2020-03-13 18:51     ` Eric Abrahamsen
2020-03-14  7:54       ` physiculus

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=m1mu8jjhri.fsf@expoundite.net \
    --to=haoyang@expoundite.net \
    --cc=info-gnus-english@gnu.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).