Return-Path: X-Original-To: notmuch@notmuchmail.org Delivered-To: notmuch@notmuchmail.org Received: from localhost (localhost [127.0.0.1]) by olra.theworths.org (Postfix) with ESMTP id 3CDE8431FBD for ; Tue, 14 Feb 2012 07:22:52 -0800 (PST) X-Virus-Scanned: Debian amavisd-new at olra.theworths.org X-Spam-Flag: NO X-Spam-Score: -0.7 X-Spam-Level: X-Spam-Status: No, score=-0.7 tagged_above=-999 required=5 tests=[RCVD_IN_DNSWL_LOW=-0.7] autolearn=disabled Received: from olra.theworths.org ([127.0.0.1]) by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7DY+618N+Dn2 for ; Tue, 14 Feb 2012 07:22:51 -0800 (PST) Received: from dmz-mailsec-scanner-6.mit.edu (DMZ-MAILSEC-SCANNER-6.MIT.EDU [18.7.68.35]) by olra.theworths.org (Postfix) with ESMTP id B8E9C431FBC for ; Tue, 14 Feb 2012 07:22:51 -0800 (PST) X-AuditID: 12074423-b7f9c6d0000008c3-7c-4f3a7c4b9fa5 Received: from mailhub-auth-1.mit.edu ( [18.9.21.35]) by dmz-mailsec-scanner-6.mit.edu (Symantec Messaging Gateway) with SMTP id 9E.0D.02243.B4C7A3F4; Tue, 14 Feb 2012 10:22:51 -0500 (EST) Received: from outgoing.mit.edu (OUTGOING-AUTH.MIT.EDU [18.7.22.103]) by mailhub-auth-1.mit.edu (8.13.8/8.9.2) with ESMTP id q1EFMoUk028383; Tue, 14 Feb 2012 10:22:51 -0500 Received: from awakening.csail.mit.edu (awakening.csail.mit.edu [18.26.4.91]) (authenticated bits=0) (User authenticated as amdragon@ATHENA.MIT.EDU) by outgoing.mit.edu (8.13.6/8.12.4) with ESMTP id q1EFMn0h008971 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=NOT); Tue, 14 Feb 2012 10:22:50 -0500 (EST) Received: from amthrax by awakening.csail.mit.edu with local (Exim 4.77) (envelope-from ) id 1RxKBu-0005j0-Ai; Tue, 14 Feb 2012 10:21:14 -0500 Date: Tue, 14 Feb 2012 10:21:14 -0500 From: Austin Clements To: Mark Walters Subject: Re: [RFC PATCH v3 00/11] notmuch-pick: an emacs threaded message view with split-pane Message-ID: <20120214152114.GQ27039@mit.edu> References: <1329072579-27340-1-git-send-email-markwalters1009@gmail.com> <1329096015-8078-1-git-send-email-markwalters1009@gmail.com> <87haytbnun.fsf@qmul.ac.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <87haytbnun.fsf@qmul.ac.uk> User-Agent: Mutt/1.5.21 (2010-09-15) X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFupnleLIzCtJLcpLzFFi42IR4hRV1vWusfI32PaP32L1XB6L6zdnMjsw eeycdZfd49mqW8wBTFFcNimpOZllqUX6dglcGXdnLGYpaOGo6Pq9hrWBcQ9bFyMnh4SAiUTf p73MELaYxIV764HiXBxCAvsYJe7ubGWHcDYwSkxqOg/lnGSSWL1oEZSzhFFi9uyt7CD9LAKq ElsWzmUCsdkENCS27V/OCGKLCOhI3D60AKyGWUBa4tvvZrAaYYEEiV3/74PZvEA1/Xf3g90h JLCMUWL6gwiIuKDEyZlPWCB6tSRu/HsJVM8BNmf5Pw6QMCfQqo03joK1igqoSEw5uY1tAqPQ LCTds5B0z0LoXsDIvIpRNiW3Sjc3MTOnODVZtzg5MS8vtUjXTC83s0QvNaV0EyMorNldlHcw /jmodIhRgINRiYfXwMLSX4g1say4MvcQoyQHk5Io771qK38hvqT8lMqMxOKM+KLSnNTiQ4wS HMxKIrx6MRb+QrwpiZVVqUX5MClpDhYlcV4NrXd+QgLpiSWp2ampBalFMFkZDg4lCd6PIEMF i1LTUyvSMnNKENJMHJwgw3mAhu8AqeEtLkjMLc5Mh8ifYtTlWPJ69QVGIZa8/LxUKXHe7SBF AiBFGaV5cHNg6egVozjQW8K850CqeICpDG7SK6AlTEBLtp8G+aC4JBEhJdXAGMbh/Oj5s9ve O+49ZcsNubHEuevTkS1Ki7dKfWEWk3q744KyYg9Dd+MNt9CL9puZjZdJ3UpNzp5qdPbuMbVe p8wWa+6PR2RP6136o2/cnzH57BGhB3dFrseErVxmGcDjeuLUMo/wziNfb7uu/+1WqHvyTOR2 lyf5DifzD0mfSrgXMj0l4sfcmUosxRmJhlrMRcWJADaMM0QiAwAA Cc: notmuch@notmuchmail.org X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Feb 2012 15:22:52 -0000 Quoth Mark Walters on Feb 14 at 12:28 pm: > Finally, if notmuch-pick were able to do work asynchronously (as > notmuch-search does now) then I think all the speed concerns would go > away. However, I am not sure how to do incremental json parsing. For JSON search, at least, I think we've concluded that it should put newlines at strategic places in the JSON output (and never anywhere else) so that it's easy for a consumer to know when it has a complete JSON object and hand it to the JSON parser. E.g., [{"thread":"X", timestamp: 42, ...} ,{"thread":"Y", timestamp: 24, ...} ] This "framed JSON" works really well for the flat output of search. It's obviously trickier to apply to show's hierarchical output. But, perhaps this will inspire you. (One possibility: we could rework show's output to be non-hierarchical and use the above framing; that is, it could be a sequence of message objects that each indicate which earlier message object they're a reply to, probably restricted to DFS order.)