From d875d363e75ea19d8332053f61a0651822998ce0 Mon Sep 17 00:00:00 2001 From: Tomi Ollila Date: Thu, 26 Jul 2012 05:54:11 +0300 Subject: [PATCH] Re: [PATCH 1/5] emacs: compile and load notmuch-pick.el if present. --- fb/52765ffa5ef0d04a93f77fb0ecb30a82c7625d | 159 ++++++++++++++++++++++ 1 file changed, 159 insertions(+) create mode 100644 fb/52765ffa5ef0d04a93f77fb0ecb30a82c7625d diff --git a/fb/52765ffa5ef0d04a93f77fb0ecb30a82c7625d b/fb/52765ffa5ef0d04a93f77fb0ecb30a82c7625d new file mode 100644 index 000000000..a6c6d6d0b --- /dev/null +++ b/fb/52765ffa5ef0d04a93f77fb0ecb30a82c7625d @@ -0,0 +1,159 @@ +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 798EC431FAE + for ; Wed, 25 Jul 2012 19:54:03 -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 DMwRbje0+5qm for ; + Wed, 25 Jul 2012 19:54:02 -0700 (PDT) +Received: from guru.guru-group.fi (guru.guru-group.fi [46.183.73.34]) + by olra.theworths.org (Postfix) with ESMTP id 38393431FB6 + for ; Wed, 25 Jul 2012 19:54:02 -0700 (PDT) +Received: by guru.guru-group.fi (Postfix, from userid 501) + id 70EFA10014E; Thu, 26 Jul 2012 05:54:11 +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: <87fw8fsfyc.fsf@qmul.ac.uk> +References: <1343164911-31589-1-git-send-email-markwalters1009@gmail.com> + <1343164911-31589-2-git-send-email-markwalters1009@gmail.com> + <87fw8fsfyc.fsf@qmul.ac.uk> +User-Agent: Notmuch/0.13.2+103~g9610d35 (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: Thu, 26 Jul 2012 02:54:03 -0000 + +On Thu, Jul 26 2012, Mark Walters wrote: + +> On Wed, 25 Jul 2012, Tomi Ollila wrote: +>> 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... +> +> Thanks for these: I think they are all clear improvements. +> +>> +>>> --- +>>> 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). +>> +> +> I have now done this: I actually use a Makefile so that I can pick up +> the config from notmuch: in particular the install directory +> for the notmuch-pick.elc file. Does that seem reasonable? + +I believe so.. I can say for sure when I see the code -- but anything +that makes the brave user's live in the bleeding edge easier is good. + +> +>>> 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) +> +> This works very nicely. And if we want a transitional period the +> notmuch-pick could be in (dir) but not loaded automatically. + +Yes. + +> +> Many thanks for the excellent suggestions. + +Np. Thank you. + +> Mark + +Tomi -- 2.26.2