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 8AEF1431FAF for ; Thu, 31 Jul 2014 16:44:41 -0700 (PDT) X-Virus-Scanned: Debian amavisd-new at olra.theworths.org X-Spam-Flag: NO X-Spam-Score: 0 X-Spam-Level: X-Spam-Status: No, score=0 tagged_above=-999 required=5 tests=[none] 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 S7JXx92cAhGI for ; Thu, 31 Jul 2014 16:44:34 -0700 (PDT) Received: from yantan.tethera.net (yantan.tethera.net [199.188.72.155]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by olra.theworths.org (Postfix) with ESMTPS id 5B35B431FAE for ; Thu, 31 Jul 2014 16:44:34 -0700 (PDT) Received: from remotemail by yantan.tethera.net with local (Exim 4.80) (envelope-from ) id 1XD01P-0002IE-Pj; Thu, 31 Jul 2014 20:44:31 -0300 Received: (nullmailer pid 10461 invoked by uid 1000); Thu, 31 Jul 2014 23:44:27 -0000 From: David Bremner To: Michal Sojka , notmuch@notmuchmail.org Subject: Re: [PATCH RFC] Emacs: Add address completion mechanism implemented in elisp In-Reply-To: <1406653070-13174-1-git-send-email-sojkam1@fel.cvut.cz> References: <87bns8f6hi.fsf@steelpick.2x.cz> <1406653070-13174-1-git-send-email-sojkam1@fel.cvut.cz> User-Agent: Notmuch/0.18.1+45~gf47eeac (http://notmuchmail.org) Emacs/24.3.1 (x86_64-pc-linux-gnu) Date: Thu, 31 Jul 2014 20:44:27 -0300 Message-ID: <87r411f604.fsf@maritornes.cs.unb.ca> MIME-Version: 1.0 Content-Type: text/plain 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: Thu, 31 Jul 2014 23:44:41 -0000 Michal Sojka writes: > notmuch-company.el hooks itself into message-mode and uses > company-mode to offer the completion to the user. The file is put into > the contrib directory which means that the use has to install it > himself. This is because company-mode is not a part of Emacs and > bytecompiling notmuch-company.el fails due to used --quick option that > causes user installed packages to be ignored. what about for now just putting ;; -*-no-byte-compile: t; -*- at the top of the file? It seems usable uncompiled to me. Then somebody who really wants it compiled can figure out how to do the conditional compilation. > It would probably make sense to implement another completion frontend > based only on Emacs built-in functionality and integrate it with > notmuch-addresses.el. Agreed. > + "`company-mode' completion back-end for `nevermore (nm)'." missed "nevermore" ;) > > +(defun notmuch-flatten-thread-set (thread-set) > + "Convert the result of 'notmuch show' to the plain list of messages." > +(defun notmuch-flatten-thread (thread) > + > +(defun notmuch-flatten-thread-node (thread-node) what about putting those functions in notmuch-query.el? > +(defun notmuch-async-harvest () > + "Collect possible addresses for completion. It queries the logically it seems like this might belong in notmuch-address.el, even if none of the functions in in it currently use d