Gnus development mailing list
 help / color / mirror / Atom feed
From: Simon Josefsson <jas@extundo.com>
Cc: ding@gnus.org
Subject: Re: specifying the charset of the query string with nnir/imap
Date: Sun, 23 Sep 2001 12:05:00 +0200	[thread overview]
Message-ID: <ilubsk2uss3.fsf@barbar.josefsson.org> (raw)
In-Reply-To: <m2y9n6k4gh.fsf@deisui.bug.org> (Daiki Ueno's message of "Sun, 23 Sep 2001 11:48:14 +0900")

Daiki Ueno <ueno@unixuser.org> writes:

> I'm using nnir 1.72.

Maybe it would be nice to have search functionality built into Gnus.

How about using a backend interface for the interface?  Then you don't
need to specify the backend to search with nnir, which I found a bit
cumbersome and inflexible.

We could keep the current simple interface -- press `G G' to search
the current group, or the currently processed marked groups for a
simple string -- but also add a fancy "advanced query" form using all
kind of weird widgets.

What about the following backend interface?  IMAP can implement this,
and I guess nnfolder could implement at least the `text' primitive
easily using `search-forward', and nnml could implement it using
`grep'.  Of course, nnml and nnfolder could use Glimpse, Swish++ etc
as well if so configured.

`(nnchoke-request-search-capability &optional GROUP SERVER)'
     This function should return the list of search functions which the
     server (or group, if GROUP is non-nil) supports.  The search
     functions include `and', `or', `not', `text', `to', `from',
     `subject', `cc', `head', `header', `body' and `charset'.  If
     searching is not supported, the empty list should be returned.  It
     is sufficient to implement the `text' search function to get a
     useful search interface, the other functions are only used by the
     advanced query interface.

     There should be no result data returned.

`(nnchoke-request-search-group GROUP QUERY &optional SERVER)'
     This function should search the group for articles matching QUERY,
     returning a range of articles that match the query (or nil if no
     articles match).  The QUERY is a flexible expression looking
     something like:

          (and (subject "Something")
               (text "Something else"))

     The meaning of the primitives is hopefully obvious, however some
     details:

    `header'
          The `header' primitive takes two arguments, one string
          indicating the header to search and one to indicate the
          string to search for.  E.g. `(header "bcc" "myself")'.

    `head'
          On other other hand, the `head' primitive only takes one
          argument and searches the entire header.

    `charset'
          This is a pseduo-primitive, used to wrap other search
          primitives that should search using a certain character set.
          E.g. `(charset "iso-8859-1" (subject "räksmörgås"))'.

     There should be no result data returned.

`(nnchoke-request-search-server QUERY &optional SERVER)'
     This function should search all groups in the server, returning a
     alist containing `group range' elements where GROUP is the
     non-fully qualified name of the group where the RANGE articles
     match the search query (or nil if no articles match).  See
     `nnchoke-request-search-group' for the syntax of QUERY.  This
     function is typically only implemented if the backend can
     efficiently search all groups.

     There should be no result data returned.



  reply	other threads:[~2001-09-23 10:05 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-09-23  2:48 Daiki Ueno
2001-09-23 10:05 ` Simon Josefsson [this message]
2001-09-23 12:19   ` Kai Großjohann

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=ilubsk2uss3.fsf@barbar.josefsson.org \
    --to=jas@extundo.com \
    --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).