unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
From: Jani Nikula <jani@nikula.org>
To: Carl Worth <cworth@cworth.org>,
	David Mazieres expires 2014-08-01 PDT
	<mazieres-m3ssd5tf29djdm7jf9qfi4atf2@temporary-address.scs.stanford.edu>,
	Mark Walters <markwalters1009@gmail.com>
Cc: notmuch@notmuchmail.org
Subject: Re: folder and path completely broken in HEAD?
Date: Tue, 06 May 2014 01:34:30 +0300	[thread overview]
Message-ID: <87bnvb4zyh.fsf@nikula.org> (raw)
In-Reply-To: <87mwewkjzu.fsf@yoom.home.cworth.org>


Hi Carl -

On Tue, 06 May 2014, Carl Worth <cworth@cworth.org> wrote:
> dm-list-email-notmuch@scs.stanford.edu writes:
>> However, currently it seems strange that there are *two* different
>> search terms (folder and path), and that neither one lets you search for
>> a portion of your folder name.
>
> For what it's worth, I totally agree. I'm guilty as far as sitting out
> of the detailed design discussions, (I don't use any sort of
> folder-based searching, so I don't care too much). I was aware of the
> problems of the original "folder:" code I wrote, and I was happy to hear
> that people were addressing those problems.
>
> But it's terribly strange to me that notmuch now has two different
> search terms that overlap so much in functionality. I know that I will
> never trust myself to be able to distinguish/describe the folder:
> vs. path: semantics without consulting the documentation. And that's
> discouraging.

The discussions about this were lengthy and tedious, and I was glad we
eventually reached some consensus about what we wanted. It's always
disappointing to find out one hasn't found the solution to satisfy
everyone, but in the end I think I'm happier we were able to reach a
decision, do something about the real issues people were facing with
folder: and move on, rather than just grind to a halt. I think we were
pretty close to everyone just dropping the ball and letting the folder:
prefix be, warts and all.

The idea of path: is that it's the exact filesystem directory, relative
from the maildir root, with an rsync like ** syntax for recursive
matching. Turns out people want folder: to hide maildir implementation
details like cur and new. These are not compatible, or you need to add a
syntax that's not easy or discoverable.

path: is now pretty much complete, and allows one to do robust scripting
that won't break in surprising ways. folder: is something we can still
add new functionality into, for example fancier interpretations of
maildir++, or anchoring if we ever get the custom query parser.

> I think the original "folder:" shortcomings could have been addressed
> without adding two terms, and also without losing some functionality,
> (as shown in David's use case).
>
> I would have liked to have seen some explicit syntax for anchoring the
> beginning and end of the directory name, (which could have then been
> re-used for anchoring subject: or even some future header: prefix).

As I understood it, that would have required writing a custom query
parser, a significant effort. At least nobody came up with a scheme to
do the anchoring without the parser while addressing the other issues
with the old folder: prefix.

> I've always thought that the "cur" and "new" directories were somewhere
> on the spectrum between pointless and annoying. The idea with the
> original "folder:" indexing was to implicitly ignore these, (when both
> existed).
>
> It seems that the new "folder:" continues this idea, while the new
> "path:" does not.

Correct.

> Meanwhile, the new "folder:" anchors the search to the beginning of
> the directory, while "path:" does not.

Incorrect (or I don't understand you).

> And finally, "path:" adds a magic syntax to do hierarchical matching
> while "folder:" does not.

Correct.

> That's an odd hodgepodge of non-orthogonal distinction in
> functionality.

I'm sorry to hear you think that way. One is verbatim filesystem path,
the other hides mail store folder implementation details as a
convenience.


BR,
Jani.

  parent reply	other threads:[~2014-05-05 22:34 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-03  4:57 folder and path completely broken in HEAD? dm-list-email-notmuch
2014-05-03  5:49 ` Suvayu Ali
2014-05-03  7:11 ` Mark Walters
2014-05-03 15:55   ` dm-list-email-notmuch
2014-05-03 17:53     ` Jani Nikula
2014-05-04  1:34       ` dm-list-email-notmuch
     [not found]         ` <87mwewkjzu.fsf@yoom.home.cworth.org>
2014-05-05 22:34           ` Jani Nikula [this message]
2014-05-06  7:44             ` Mark Walters
     [not found]               ` <87eh06jngf.fsf@yoom.home.cworth.org>
2014-05-07 19:24                 ` Mark Walters
2014-05-09 20:01         ` Jameson Graef Rollins
2014-05-03 18:57     ` Mark Walters
2014-05-03  7:29 ` Tomi Ollila
  -- strict thread matches above, loose matches on Subject: below --
2014-05-02 17:41 dm-list-email-notmuch
2014-05-02 18:10 ` Mark Walters
2014-05-02 21:16   ` David Mazieres expires 2014-07-31 PDT
2014-05-03  5:44     ` Suvayu Ali
2014-05-02 21:29 ` Jani Nikula

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://notmuchmail.org/

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

  git send-email \
    --in-reply-to=87bnvb4zyh.fsf@nikula.org \
    --to=jani@nikula.org \
    --cc=cworth@cworth.org \
    --cc=markwalters1009@gmail.com \
    --cc=mazieres-m3ssd5tf29djdm7jf9qfi4atf2@temporary-address.scs.stanford.edu \
    --cc=notmuch@notmuchmail.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://yhetil.org/notmuch.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).