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 A4DA5431FBC for ; Fri, 8 Jan 2010 11:12:12 -0800 (PST) X-Virus-Scanned: Debian amavisd-new at olra.theworths.org 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 Qdngk6flHujZ for ; Fri, 8 Jan 2010 11:12:11 -0800 (PST) Received: from mail-yw0-f191.google.com (mail-yw0-f191.google.com [209.85.211.191]) by olra.theworths.org (Postfix) with ESMTP id C9474431FAE for ; Fri, 8 Jan 2010 11:12:11 -0800 (PST) Received: by ywh29 with SMTP id 29so23298439ywh.32 for ; Fri, 08 Jan 2010 11:12:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:content-type:subject:from:to :date:message-id:user-agent:content-transfer-encoding; bh=+gHthLPf/STBkEKiPOk6kmB0evtFng6365U3oGwvMj4=; b=iMtNEyNe7Iy5/i+9UluN2LeQD90ioL01sHFoq3GgVqPGA7V/sgAItVFwBgoc4ElAm9 GnEUbT1tSQaGqTEjMH9Ls4LEl/KMHikFz1h83SQgSXgKaLLOHDj0eSfvJi+095N3dTz3 N6DOiIZV6rkNsDShOXLnTNKz0EgSVL8dijE3w= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=content-type:subject:from:to:date:message-id:user-agent :content-transfer-encoding; b=wJe43dNivdujgo+Y2CP9jCK+MsqvnLbdlHtXAHI/mcHbOgB1rPtOIKF4bVxF+oAdNA ZNcEdEvWm3a6oXlYcXMZ+tJkK+Y7c4NFy/85Gbgb7WlTUTnGL8zK1HONElzmiuyWY+P0 YVGzTO5xH44rEH5Lf161Yq8/OgcvxQwj3slnY= Received: by 10.150.239.15 with SMTP id m15mr4795560ybh.336.1262977931443; Fri, 08 Jan 2010 11:12:11 -0800 (PST) Received: from localhost (amherst597.amherstma.gov [204.213.244.97]) by mx.google.com with ESMTPS id 5sm8059636ywd.53.2010.01.08.11.12.10 (version=TLSv1/SSLv3 cipher=RC4-MD5); Fri, 08 Jan 2010 11:12:10 -0800 (PST) Content-Type: text/plain; charset=UTF-8 From: Ben Gamari To: vim-devel , notmuch , Marc Weber Date: Fri, 08 Jan 2010 14:12:09 -0500 Message-Id: <1262976744-sup-7437@ben-laptop> User-Agent: Sup/git Content-Transfer-Encoding: 8bit Subject: [notmuch] Streaming data from process into buffer 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: Fri, 08 Jan 2010 19:12:12 -0000 Hey all, I have recently been working on bringing Carl Worth's excellent notmuch[1] mail indexing application into a state where I can rely on it for everyday use. While most of the Intel folks developing notmuch use emacs for both development and using notmuch, I prefer to avoid carpal tunnel whenever possible and thus use vim. While there exists an excellent notmuch frontend for vim, it suffers from the incredibly annoying limitation of being unable to asynchronously stream data from its notmuch subprocess. This can result in extremely long periods of hanging during large searches. Looking at the emacs frontend, it seems that emacs provides an excellent subprocess interface, where one can supply a callback to be called when data is available from the process. This interface, amazingly enough, resembles an interface proposed on this list only a few hours ago.[2] Has anyone examined what would be necessary to implement such an interface in vim? Has anyone perhaps started work on such an interface? Would this be a reasonable task for an experienced programmer unfamiliar with the vi codebase to take on? I'll take a look at the code later today. I hope things are going well. Cheers, - Ben [1] http://www.notmuch-mail.org/ [2] http://article.gmane.org/gmane.editors.vim.devel/25108