From: Tomi Ollila Date: Wed, 25 Jul 2012 09:17:48 +0000 (+0300) Subject: Re: [PATCH 1/5] emacs: compile and load notmuch-pick.el if present. X-Git-Url: http://git.tremily.us/gitweb.cgi?a=commitdiff_plain;h=6de9bc40d85de71d4b79762cadff356e8d0892a7;p=notmuch-archives.git Re: [PATCH 1/5] emacs: compile and load notmuch-pick.el if present. --- diff --git a/47/91687c473841d9575e95a1465f51ee119d6097 b/47/91687c473841d9575e95a1465f51ee119d6097 new file mode 100644 index 000000000..78daa35a3 --- /dev/null +++ b/47/91687c473841d9575e95a1465f51ee119d6097 @@ -0,0 +1,137 @@ +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 22012431FBD + for ; Wed, 25 Jul 2012 02:17:40 -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 T1W6oG05hfJE for ; + Wed, 25 Jul 2012 02:17:39 -0700 (PDT) +Received: from guru.guru-group.fi (guru.guru-group.fi [46.183.73.34]) + by olra.theworths.org (Postfix) with ESMTP id 1B9F5431FAF + for ; Wed, 25 Jul 2012 02:17:39 -0700 (PDT) +Received: by guru.guru-group.fi (Postfix, from userid 501) + id 7B0DE1000E5; Wed, 25 Jul 2012 12:17:48 +0300 (EEST) +From: Tomi Ollila +To: Mark Walters , notmuch@notmuchmail.org +Subject: Re: [PATCH 1/5] emacs: compile and load notmuch-pick.el if present. +In-Reply-To: <1343164911-31589-2-git-send-email-markwalters1009@gmail.com> +References: <1343164911-31589-1-git-send-email-markwalters1009@gmail.com> + <1343164911-31589-2-git-send-email-markwalters1009@gmail.com> +User-Agent: Notmuch/0.13.2+97~g7dcb4ce (http://notmuchmail.org) Emacs/23.1.1 + (x86_64-redhat-linux-gnu) +X-Face: HhBM'cA~ +MIME-Version: 1.0 +Content-Type: text/plain; charset=us-ascii +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: Wed, 25 Jul 2012 09:17:40 -0000 + +On Wed, Jul 25 2012, Mark Walters wrote: + +> Compile and load notmuch-pick.el if present. +> +> All the actual setup of pick is done in the function notmuch-pick-init +> so we call that in the notmuch init function if it is bound. This +> function will setup all extra keybinding etc. + +Great stuff! See a few thoughts below... + +> --- +> emacs/Makefile.local | 3 ++- +> emacs/notmuch.el | 5 +++++ +> 2 files changed, 7 insertions(+), 1 deletions(-) +> +> diff --git a/emacs/Makefile.local b/emacs/Makefile.local +> index fb82247..9f4dba6 100644 +> --- a/emacs/Makefile.local +> +++ b/emacs/Makefile.local +> @@ -15,7 +15,8 @@ emacs_sources := \ +> $(dir)/notmuch-crypto.el \ +> $(dir)/notmuch-tag.el \ +> $(dir)/coolj.el \ +> - $(dir)/notmuch-print.el +> + $(dir)/notmuch-print.el \ +> + $(wildcard $(dir)/notmuch-pick.el) + +I wonder whether having this conditional is good idea. What if +someone copies (or (sym)links) notmuch-pick.el there and then +compiles and takes to use. Next time he takes clean tree and +forgets to do this copying and installs to the same destination. +Now there is old notmuch-pick.elc which might be out of sync. + +I think it would be better to provide a shell script in +notmuch-pick directory which byte-compiles and installs notmuch-pick +in case user wants to install/update notmuch-pick. Whenever notmuch-pick +is good enough to be shipped inside $(dir) above then the aboce conditional +is not needed (at all). + + +> emacs_images := \ +> $(srcdir)/$(dir)/notmuch-logo.png +> diff --git a/emacs/notmuch.el b/emacs/notmuch.el +> index fd1836f..4f3da4f 100644 +> --- a/emacs/notmuch.el +> +++ b/emacs/notmuch.el +> @@ -59,6 +59,9 @@ +> (require 'notmuch-maildir-fcc) +> (require 'notmuch-message) +> +> +;; Load notmuch-pick if available (but do not error if not present). +> +(load "notmuch-pick" t) +> + +> (defcustom notmuch-search-result-format +> `(("date" . "%12s ") +> ("count" . "%-7s ") +> @@ -1088,6 +1091,8 @@ current search results AND that are tagged with the given tag." +> (defun notmuch () +> "Run notmuch and display saved searches, known tags, etc." +> (interactive) +> + (when (fboundp 'notmuch-pick-init) +> + (notmuch-pick-init)) +> (notmuch-hello)) + +Instead of this could notmuch-pick.el contain: + +In the beginning: + +(require 'notmuch-hello) +(require 'notmuch-show) +(require 'notmuch) ;; XXX ATM, as notmuch-search-mode-map is defined here + +And, at the end, before (provide 'notmuch-pick), execute the lines +what currenty are contained in (notmuch-pick-init). + +Then, those who want to start using notmuch-pick at this time +can (just) write the following in their .emacs: + +(require 'notmuch) +(require 'notmuch-pick) + +> +> (defun notmuch-interesting-buffer (b) +> -- +> 1.7.9.1 + +Tomi