--- /dev/null
+Return-Path: <too@guru-group.fi>\r
+X-Original-To: notmuch@notmuchmail.org\r
+Delivered-To: notmuch@notmuchmail.org\r
+Received: from localhost (localhost [127.0.0.1])\r
+ by olra.theworths.org (Postfix) with ESMTP id 623B7431FC0\r
+ for <notmuch@notmuchmail.org>; Wed, 17 Jul 2013 12:53:20 -0700 (PDT)\r
+X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
+X-Spam-Flag: NO\r
+X-Spam-Score: 0\r
+X-Spam-Level: \r
+X-Spam-Status: No, score=0 tagged_above=-999 required=5 tests=[none]\r
+ autolearn=disabled\r
+Received: from olra.theworths.org ([127.0.0.1])\r
+ by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)\r
+ with ESMTP id 6HJRZq5UTnET for <notmuch@notmuchmail.org>;\r
+ Wed, 17 Jul 2013 12:53:12 -0700 (PDT)\r
+Received: from guru.guru-group.fi (guru.guru-group.fi [46.183.73.34])\r
+ by olra.theworths.org (Postfix) with ESMTP id CB5E5431FBF\r
+ for <notmuch@notmuchmail.org>; Wed, 17 Jul 2013 12:53:11 -0700 (PDT)\r
+Received: by guru.guru-group.fi (Postfix, from userid 501)\r
+ id 5478F1000F4; Wed, 17 Jul 2013 22:53:04 +0300 (EEST)\r
+From: Tomi Ollila <tomi.ollila@iki.fi>\r
+To: notmuch@notmuchmail.org\r
+Subject: [DRAFT PATCH] emacs: notmuch-version and version comparison with CLI\r
+Date: Wed, 17 Jul 2013 22:53:02 +0300\r
+Message-Id: <1374090782-10273-1-git-send-email-tomi.ollila@iki.fi>\r
+X-Mailer: git-send-email 1.8.0\r
+Cc: tomi.ollila@iki.fi\r
+X-BeenThere: notmuch@notmuchmail.org\r
+X-Mailman-Version: 2.1.13\r
+Precedence: list\r
+List-Id: "Use and development of the notmuch mail system."\r
+ <notmuch.notmuchmail.org>\r
+List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
+ <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
+List-Archive: <http://notmuchmail.org/pipermail/notmuch>\r
+List-Post: <mailto:notmuch@notmuchmail.org>\r
+List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
+List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
+ <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
+X-List-Received-Date: Wed, 17 Jul 2013 19:53:20 -0000\r
+\r
+---\r
+\r
+This is continuation of id:m2y59ag9yj.fsf@guru.guru-group.fi\r
+\r
+This is draft of code which could be used to do exact version comparison\r
+between notmuch cli and notmuch Emacs MUA.\r
+\r
+In case the versions aren't exactly same a warning message is shown\r
+to the user before notmuch-hello window is filled the first time.\r
+\r
+If this approach gets support I'll write more prepared patches\r
+(in addition to make fully working patch...).\r
+\r
+Tomi\r
+\r
+ emacs/Makefile.local | 4 +++-\r
+ emacs/notmuch-hello.el | 26 +++++++++++++++++++++++++-\r
+ 2 files changed, 28 insertions(+), 2 deletions(-)\r
+\r
+diff --git a/emacs/Makefile.local b/emacs/Makefile.local\r
+index a910aff..fd45d4a 100644\r
+--- a/emacs/Makefile.local\r
++++ b/emacs/Makefile.local\r
+@@ -36,7 +36,9 @@ $(dir)/.eldeps: $(dir)/Makefile.local $(dir)/make-deps.el $(emacs_sources)\r
+ CLEAN+=$(dir)/.eldeps $(dir)/.eldeps.tmp\r
+ \r
+ %.elc: %.el $(global_deps)\r
+- $(call quiet,EMACS) --directory emacs -batch -f batch-byte-compile $<\r
++ $(call quiet,EMACS) --directory emacs \\r
++ --eval "(setq notmuch--version \"$(VERSION)\")" \\r
++ -batch -f batch-byte-compile $<\r
+ \r
+ ifeq ($(WITH_EMACS),1)\r
+ ifeq ($(HAVE_EMACS),1)\r
+diff --git a/emacs/notmuch-hello.el b/emacs/notmuch-hello.el\r
+index 147c08c..d97aee3 100644\r
+--- a/emacs/notmuch-hello.el\r
++++ b/emacs/notmuch-hello.el\r
+@@ -29,6 +29,18 @@\r
+ (declare-function notmuch-search "notmuch" (&optional query oldest-first target-thread target-line continuation))\r
+ (declare-function notmuch-poll "notmuch" ())\r
+ \r
++;; defconst notmuch-version to a value during build-time byte compilation...\r
++;; the compiled output will only contain the defconst definition\r
++(eval-when-compile\r
++ (defmacro expand-defconst-notmuch-version ()\r
++ `(if ,(boundp 'notmuch--version)\r
++ (defconst notmuch-version ,notmuch--version\r
++ "Version string for this version of Notmuch.")\r
++ (defconst notmuch-version "unknown"\r
++ "Placeholder for Notmuch version string. Set during build process.")))\r
++)\r
++(expand-defconst-notmuch-version)\r
++\r
+ (defcustom notmuch-hello-recent-searches-max 10\r
+ "The number of recent searches to display."\r
+ :type 'integer\r
+@@ -762,7 +774,19 @@ following:\r
+ \r
+ (if no-display\r
+ (set-buffer "*notmuch-hello*")\r
+- (switch-to-buffer "*notmuch-hello*"))\r
++ (switch-to-buffer "*notmuch-hello*")\r
++ (if notmuch-hello-first-run\r
++ (let ((v (replace-regexp-in-string "^notmuch " ""\r
++ (car (process-lines notmuch-command\r
++ "--version")))))\r
++ (unless (string= v notmuch-version)\r
++ (save-excursion\r
++ (erase-buffer)\r
++ (insert "\r
++Notmuch CLI version: " v "\r
++Notmuch Emacs version: " notmuch-version "\r
++\r
++XXX") (y-or-n-p "Press y or n to continue"))))))\r
+ \r
+ (let ((target-line (line-number-at-pos))\r
+ (target-column (current-column))\r
+-- \r
+1.8.1.4\r
+\r