Visuwesh writes: > [சனி ஏப்ரல் 12, 2025] Daniel Cerqueira wrote: > >> Visuwesh writes: >> >>> [வெள்ளி ஏப்ரல் 11, 2025] Daniel Cerqueira wrote: >>> >>>> A bit related: >>>> >>>> Can you give an overview how to make search queries with find-grep? >>>> >>>> For example, I am trying to make a query with "grep:"happy birthday" >>>> subject:friend" and it is not working. Should I prepend a "grep:" after >>>> each space (on the search keywords)? >>> >>> AFAIU the code, you can't have space in the grep part. See how >>> gnus-search parses these "meta keywords" in gnus-search-prepare-query. >>> Having two grep: selects the last one. Give the patch below a try, I >>> don't think it is a good idea to reuse gnus-search-query-next-expr since >>> it does more than just go over "": >>> >>> diff --git a/lisp/gnus/gnus-search.el b/lisp/gnus/gnus-search.el >>> index 41915a0e3c0..7ca67e2134b 100644 >>> --- a/lisp/gnus/gnus-search.el >>> +++ b/lisp/gnus/gnus-search.el >>> @@ -2110,20 +2140,28 @@ gnus-search-prepare-query >> >> [...] >> >> The patch did not work. I haven't recorded the message error, but it >> was something to do with the something-generate-artlist having the wrong >> number of arguments. >> >> You don't need to fix it, if you don't want to, have too much work, or >> don't have time. > > I can give a shot at debugging, when I have time, if you provide the > backtrace. Getting the find-grep backend to work was a goal for me, you > gave me a good excuse to procrastinate from working on my thesis. ;-) Ahaha! Now it is giving no error. But it is also not resulting a result (from a search query that I know it has matches). The message that I get is: Group nnselect:nnselect-87tt6taade.fsf contains no messages I also have changed this variable: (set 'gnus-search-default-engines '((nnimap . gnus-search-imap) (nnmaildir . gnus-search-find-grep) (nnselect . gnus-search-nnselect) ;; (nnselect . gnus-search-find-grep) )) Maybe this variable is incorrect? What I want is for the nnmaildir back-end to use find-grep. Also, in listing all buffers, I have this variable (which comes from doing a search): "*gnus-search-" . It seems to be missing a name in the end, and also an "*". >>>> How to search in the subject or by date? >>> >>> You can't, the find-grep search backend simply runs grep. If you don't >>> want to use mu or notmuch, you could try writing a backend for mblaze. >> >> Okay. Regarding subject, I understand grep not doing it; but regarding >> time, something can be done with find (it is find-grep after all). No >> need or no pressure in doing it, though. > > I don't think we can exploit the various time statistics attached with a > file to achieve what you want. A message from 2019 reports: > > % stat ~/mail/XXX/inbox/cur/1641645812.328064_1.astatine,U=1:2,S > File: ~/mail/XXX/inbox/cur/1641645812.328064_1.astatine,U=1:2,S > Size: 8420 Blocks: 24 IO Block: 4096 regular file > Device: 8,4 Inode: 5774494 Links: 1 > Access: (0600/-rw-------) Uid: ( 1000/ viz) Gid: ( 1000/ viz) > Access: 2025-04-12 13:46:05.575388637 +0530 > Modify: 2022-01-08 18:13:32.297967005 +0530 > Change: 2022-06-05 07:44:16.919565297 +0530 > Birth: 2022-01-08 18:13:32.297967005 +0530 > % grep ^Date: ~/mail/XXX/inbox/cur/1641645812.328064_1.astatine,U=1:2,S > Date: Mon, 21 Jan 2019 02:14:48 -0800 What I was thinking is using the arguments of the executable find, such as atime, ctime, mtime (which one fits best?), when using a query for time, such as since:3d (I believe the keyword for other queries is "since:", but I am not sure of this). > My first impressions of mblaze tells me writing a gnus-search backend > for it is going to be a formidable task since there's no easy way to > compose multi-header queries (we can use mpick but I don't think it can > act on message body text). I am not willing to install more executables on my system. That is why I am wanting to use find-grep.