unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Drew Adams <drew.adams@oracle.com>
To: "rms@gnu.org" <rms@gnu.org>, Gregory Heytings <gregory@heytings.org>
Cc: "emacs-devel@gnu.org" <emacs-devel@gnu.org>
Subject: RE: [External] : Re: [PATCH v3] Allow applying filters to summary consecutively
Date: Tue, 15 Nov 2022 17:00:15 +0000	[thread overview]
Message-ID: <SJ0PR10MB54883CF54E8E4444224BEDE1F3049@SJ0PR10MB5488.namprd10.prod.outlook.com> (raw)
In-Reply-To: <E1ounPN-0005Hu-Bp@fencepost.gnu.org>

> Here's an idea.  Type & to do intersection with the following filter,
> and type | to do union with the following filter.  Both & and | are
> undefined in Rmail mode, so they are available for this.  They
> will be easy to remember, too.

FWIW, this is what you can do using Icicles - HTH.

The idea is that (1) you can narrow to a subset of
the current set of candidates, or (2) if you've
narrowed, you can widen to the current set plus
new matches against the last set from which you
narrowed.

IOW, you can widen if you've previously narrowed
- otherwise, widening is a no-op, as there's no
superset to match against.

It works like this:

1. When you complete, the original domain of
completion candidates is that used by (passed to)
`completing-read' (or similar) - an alist or whatever.

2. During completion you can use a key to narrow or
widen the set of candidates.

3. Each time you narrow, a recursive minibuffer is
used, completing with the result of narrowing, i.e.,
completing against the set of matches in the parent
minibuffer level.

4. `C-g' pops up one level of minibuffer, i.e., one
level of recursion (out of the minibuffer altogether
if already at the top-level minibuffer).

5. #4 means you can narrow, do something with some
candidates, then `C-g' to remove the last narrowing
filter, narrow again with a different filter, etc.

6. When you widen, the current set of candidates is
matched against a regexp that's an alternation (\|)
of the current match pattern and whatever widening
pattern you provide.  Instead of entering a recursive
minibuffer, you stay at the same level, but with the
match-pattern changed to the alternation.

Narrowing matches patterns independently - IOW it's
orderless.  This is possible because it uses a fresh
minibuffer with a different set of candidates (those
that matched the previous pattern of the new AND).

Widening just changes the current match-pattern to
an alternation regexp (OR).  It doesn't invoke a
recursive minibuffer.  It's not orderless.
____

`M-*' narrows without completing
`S-SPC' narrows and completes
`M-+' widens without completing
`S-<backspace>' widens and completes
`S-TAB' completes (`TAB' does also, but differently)

  parent reply	other threads:[~2022-11-15 17:00 UTC|newest]

Thread overview: 83+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-05 18:31 Summary by thread in rmail Andrea Monaco
2022-10-05 18:49 ` Eli Zaretskii
2022-10-05 23:40 ` Emanuel Berg
2022-10-06 22:04 ` Richard Stallman
2022-10-07 10:17   ` Andrea Monaco
2022-10-07 11:24     ` Emanuel Berg
2022-10-09 20:33   ` [PATCH] Allow applying filters to summary consecutively (was: Summary by thread in rmail) Andrea Monaco
2022-10-10  7:31     ` Eli Zaretskii
2022-10-10  8:38       ` Andrea Monaco
2022-10-10  8:57         ` Eli Zaretskii
2022-10-11  7:16           ` [PATCH v2] " Andrea Monaco
2022-10-11  8:13             ` [PATCH v2] Allow applying filters to summary consecutively Robert Pluim
2022-10-12  9:35               ` Andrea Monaco
2022-10-12 11:03                 ` Robert Pluim
2022-10-12 12:56                 ` Eli Zaretskii
2022-10-12 18:13                   ` Andrea Monaco
2022-10-12 18:22                     ` Eli Zaretskii
2022-10-12 22:02                 ` Richard Stallman
2022-10-19 14:23                   ` [PATCH v3] " Andrea Monaco
2022-10-19 14:55                     ` Robert Pluim
2022-10-20 15:45                       ` Andrea Monaco
2022-10-20 16:02                         ` Robert Pluim
2022-10-20 19:00                           ` Andrea Monaco
2022-10-21 19:42                             ` Richard Stallman
2022-10-21 19:38                     ` Richard Stallman
2022-10-27 14:27                     ` Eli Zaretskii
2022-10-27 15:22                       ` Andrea Monaco
2022-10-28 13:26                       ` Andrea Monaco
2022-11-06  7:34                         ` Eli Zaretskii
2022-11-07 14:13                           ` Andrea Monaco
2022-11-08  5:02                             ` Richard Stallman
2022-11-08  8:04                               ` Andrea Monaco
2022-11-14  3:13                                 ` Richard Stallman
2022-11-10  4:04                             ` Richard Stallman
2022-11-10  8:06                               ` Eli Zaretskii
2022-11-10  8:53                                 ` Robert Pluim
2022-11-11  4:36                                 ` Richard Stallman
2022-11-11  8:06                                   ` Eli Zaretskii
2022-11-11 14:59                                     ` Juanma Barranquero
2022-11-11 17:23                                       ` Eli Zaretskii
2022-11-11 17:32                                       ` [External] : " Drew Adams
2022-11-11 18:00                                     ` Gregory Heytings
2022-11-11 18:19                                       ` Eli Zaretskii
2022-11-11 18:52                                         ` Gregory Heytings
2022-11-11 18:54                                           ` Gregory Heytings
2022-11-11 19:34                                             ` Eli Zaretskii
2022-11-11 19:33                                           ` Eli Zaretskii
2022-11-11 20:50                                             ` Gregory Heytings
2022-11-12  3:37                                               ` Richard Stallman
2022-11-12  7:52                                                 ` Eli Zaretskii
2022-11-12  6:57                                               ` Eli Zaretskii
2022-11-12 16:30                                                 ` Gregory Heytings
2022-11-12 17:44                                                   ` Andrea Monaco
2022-11-12 18:13                                                     ` Gregory Heytings
2022-11-14  3:13                                                       ` Richard Stallman
2022-11-14  8:39                                                         ` Gregory Heytings
2022-11-15  4:18                                                           ` Richard Stallman
2022-11-15  9:56                                                             ` Gregory Heytings
2022-11-16  3:15                                                               ` Richard Stallman
2022-11-16  3:15                                                               ` Richard Stallman
2022-11-24 18:25                                                                 ` Andrea Monaco
2022-11-28 21:38                                                                   ` Richard Stallman
2022-11-15 17:00                                                             ` Drew Adams [this message]
2022-11-14  3:13                                                     ` Richard Stallman
2022-11-15  9:35                                                       ` Gregory Heytings
2022-11-16  3:15                                                         ` Richard Stallman
2022-11-19 14:47                                                           ` Gregory Heytings
2022-11-20 17:37                                                             ` Richard Stallman
2022-11-20 19:36                                                               ` Gregory Heytings
2022-11-22 12:14                                                                 ` Richard Stallman
2022-11-22 12:58                                                                   ` Gregory Heytings
2022-11-28 21:38                                                                     ` Richard Stallman
2022-11-23 20:57                                                               ` chad
2022-11-24  6:39                                                                 ` Eli Zaretskii
2022-11-28 21:38                                                                   ` Richard Stallman
2022-11-26  0:51                                                                 ` Richard Stallman
2022-11-11 18:22                                       ` [External] : " Drew Adams
2022-11-12  3:35                                     ` Richard Stallman
2022-11-12  7:47                                       ` Eli Zaretskii
2022-11-14  3:13                                         ` Richard Stallman
2022-11-17 13:34                             ` Eli Zaretskii
2022-10-27 13:58             ` [PATCH v2] Allow applying filters to summary consecutively (was: Summary by thread in rmail) Eli Zaretskii
2022-10-10 22:03     ` [PATCH] " Richard Stallman

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

  List information: https://www.gnu.org/software/emacs/

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

  git send-email \
    --in-reply-to=SJ0PR10MB54883CF54E8E4444224BEDE1F3049@SJ0PR10MB5488.namprd10.prod.outlook.com \
    --to=drew.adams@oracle.com \
    --cc=emacs-devel@gnu.org \
    --cc=gregory@heytings.org \
    --cc=rms@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.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).