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 16910431FBC for ; Fri, 8 Jan 2010 11:35:13 -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 upD-0NqdsceN for ; Fri, 8 Jan 2010 11:35:12 -0800 (PST) Received: from mail-yx0-f187.google.com (mail-yx0-f187.google.com [209.85.210.187]) by olra.theworths.org (Postfix) with ESMTP id 7EAB4431FAE for ; Fri, 8 Jan 2010 11:35:12 -0800 (PST) Received: by yxe17 with SMTP id 17so18753332yxe.33 for ; Fri, 08 Jan 2010 11:35:12 -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=clqukBFrXgb4PuKJhiYrM8J5HOcpwOfVI6+1rLCwGdlJfvzFcCPIox3oXEAjOQQLQ2 3djDF/72IXlYd0QLKSmg0pGY09we+vjTF8N+pgXDodFWXhrWvwJuNinqX+gFtbuI5vGk UP5WyasuE60ktjPZ4ZYjuvJN3g/iN8I81VfOE= 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=Uk4GU+Y4HsIxOvA2NJSeAyBvGSyW7Q6mQD11mtFxEWJRI+WWnGESXQMH7A2713iess 9LaVJeyzkicYjDvNH4WbjGa+IDQzKe/zk+V96Hxl6KtrPKZ3U/y0MsinyTtbri3czJyX xu3Fqw4VC8EijF4O03QPEaeVXEEnahnbt/OOM= Received: by 10.101.137.31 with SMTP id p31mr143858ann.27.1262979308027; Fri, 08 Jan 2010 11:35:08 -0800 (PST) Received: from localhost (amherst597.amherstma.gov [204.213.244.97]) by mx.google.com with ESMTPS id 5sm8072554ywd.23.2010.01.08.11.35.06 (version=TLSv1/SSLv3 cipher=RC4-MD5); Fri, 08 Jan 2010 11:35:07 -0800 (PST) Content-Type: text/plain; charset=UTF-8 From: Ben Gamari To: vim-dev , notmuch , Marc Weber , Bart Trojanowski Date: Fri, 08 Jan 2010 14:35:05 -0500 Message-Id: <1262979289-sup-6397@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:35:13 -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