From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-Status: No, score=-4.0 required=3.0 tests=ALL_TRUSTED,BAYES_00 shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id D98381F5AE for ; Tue, 16 Jun 2020 05:05:40 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Subject: [PATCH 0/2] imap: search improvements Date: Tue, 16 Jun 2020 05:05:38 +0000 Message-Id: <20200616050540.13357-1-e@yhbt.net> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: Non-UID SEARCH could be useful to someone, somewhere; now that we have the memory-efficient uo2m mapping to satisfy mutt users. I also decided to replace the janky IMAP search parser with a more proper one based on Parse::RecDescent: https://public-inbox.org/meta/20200615062114.GA19510@dcvr/ Learning P::RD was fairly straightforward for an old dog like me and I may use it more in the future for this and other projects. Eric Wong (2): imap: reinstate non-UID SEARCH imap: *SEARCH: use Parse::RecDescent MANIFEST | 2 + lib/PublicInbox/IMAP.pm | 132 +++++---------- lib/PublicInbox/IMAPsearchqp.pm | 276 ++++++++++++++++++++++++++++++++ t/imap.t | 18 +-- t/imap_searchqp.t | 105 ++++++++++++ t/imapd-tls.t | 2 +- t/imapd.t | 48 +++++- xt/mem-imapd-tls.t | 3 +- 8 files changed, 474 insertions(+), 112 deletions(-) create mode 100644 lib/PublicInbox/IMAPsearchqp.pm create mode 100644 t/imap_searchqp.t