bug: notmuch-poll doesn't check return value
authorKetil Malde <ketil@malde.org>
Mon, 14 Sep 2015 12:18:14 +0000 (14:18 +0200)
committerW. Trevor King <wking@tremily.us>
Sat, 20 Aug 2016 21:49:34 +0000 (14:49 -0700)
ff/0197d9c02e9fa6e50eb8561a227430b3897be4 [new file with mode: 0644]

diff --git a/ff/0197d9c02e9fa6e50eb8561a227430b3897be4 b/ff/0197d9c02e9fa6e50eb8561a227430b3897be4
new file mode 100644 (file)
index 0000000..4e0e703
--- /dev/null
@@ -0,0 +1,99 @@
+Return-Path: <ketil@malde.org>\r
+X-Original-To: notmuch@notmuchmail.org\r
+Delivered-To: notmuch@notmuchmail.org\r
+Received: from localhost (localhost [127.0.0.1])\r
+ by arlo.cworth.org (Postfix) with ESMTP id D2B1E6DE0B25\r
+ for <notmuch@notmuchmail.org>; Mon, 14 Sep 2015 05:25:52 -0700 (PDT)\r
+X-Virus-Scanned: Debian amavisd-new at cworth.org\r
+X-Spam-Flag: NO\r
+X-Spam-Score: -0.001\r
+X-Spam-Level: \r
+X-Spam-Status: No, score=-0.001 tagged_above=-999 required=5\r
+ tests=[SPF_HELO_PASS=-0.001] autolearn=disabled\r
+Received: from arlo.cworth.org ([127.0.0.1])\r
+ by localhost (arlo.cworth.org [127.0.0.1]) (amavisd-new, port 10024)\r
+ with ESMTP id 1EhOafEO-ZQd for <notmuch@notmuchmail.org>;\r
+ Mon, 14 Sep 2015 05:25:50 -0700 (PDT)\r
+X-Greylist: delayed 451 seconds by postgrey-1.35 at arlo;\r
+ Mon, 14 Sep 2015 05:25:50 PDT\r
+Received: from engen.priv.no (engen.priv.no [64.22.125.231])\r
+ by arlo.cworth.org (Postfix) with ESMTP id B85AF6DE0A4A\r
+ for <notmuch@notmuchmail.org>; Mon, 14 Sep 2015 05:25:50 -0700 (PDT)\r
+Received: from localhost (localhost [127.0.0.1])\r
+ by engen.priv.no (Postfix) with ESMTP id 50A3B13292\r
+ for <notmuch@notmuchmail.org>; Mon, 14 Sep 2015 14:18:16 +0200 (CEST)\r
+X-Virus-Scanned: Debian amavisd-new at engen.priv.no\r
+Received: from engen.priv.no ([127.0.0.1])\r
+ by localhost (vegard.engen.priv.no [127.0.0.1]) (amavisd-new, port 10024)\r
+ with ESMTP id O5wmUXj9iriC for <notmuch@notmuchmail.org>;\r
+ Mon, 14 Sep 2015 14:18:16 +0200 (CEST)\r
+Received: from wespe.malde.org (localhost [127.0.0.1])\r
+ by engen.priv.no (Postfix) with ESMTPSA id B03A613290\r
+ for <notmuch@notmuchmail.org>; Mon, 14 Sep 2015 14:18:15 +0200 (CEST)\r
+From: Ketil Malde <ketil@malde.org>\r
+To: notmuch@notmuchmail.org\r
+Subject: bug: notmuch-poll doesn't check return value\r
+User-Agent: Notmuch/0.20.1 (http://notmuchmail.org) Emacs/24.5.1\r
+ (x86_64-pc-linux-gnu)\r
+Date: Mon, 14 Sep 2015 14:18:14 +0200\r
+Message-ID: <87bnd5qjnd.fsf@wespe.malde.org>\r
+MIME-Version: 1.0\r
+Content-Type: text/plain\r
+X-Mailman-Approved-At: Mon, 14 Sep 2015 09:02:42 -0700\r
+X-BeenThere: notmuch@notmuchmail.org\r
+X-Mailman-Version: 2.1.18\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: Mon, 14 Sep 2015 12:25:52 -0000\r
+\r
+\r
+Hi,\r
+\r
+I've been stumped occasionally when new mail fails to appear in notmuch,\r
+and then I suddenly discover it by some other means (web front end,\r
+mobile, etc).\r
+\r
+The problem is that notmuch-poll fails silently when it fails, which is\r
+usually due to broken symlinks in my mail directories, or some IMAP\r
+configuration mistake.  Easy to fix when you know about it.\r
+\r
+I've, uh, "fixed" this by redefining notmuch-poll like so:\r
+\r
+---8<-------------------------------------\r
+;;; Make notmuch-poll fail gracelessly when something goes wrong\r
+;;; Better than failing silently, in ancy case.\r
+(defun notmuch-poll ()\r
+  "Run \"notmuch new\" or an external script to import mail.\r
+\r
+Invokes `notmuch-poll-script', \"notmuch new\", or does nothing\r
+depending on the value of `notmuch-poll-script'."\r
+  (interactive)\r
+  (if (not (equal 0\r
+                 (if (stringp notmuch-poll-script)\r
+                     (unless (string= notmuch-poll-script "")\r
+                       (call-process notmuch-poll-script nil nil))\r
+                   (call-process notmuch-command nil nil nil "new"))))\r
+     (error "Notmuch: poll failed!")))\r
+---8<-------------------------------------\r
+\r
+Surely, somebody who knows lisp can do something far more elegant than\r
+this, but the point is to bug out when something doesn't work.\r
+\r
+In addtion, I had to fix my notmuch-poll-script, which contains\r
+'offlineimap', then 'notmuch new', followed by some tagging commands.\r
+As the tagging commands tend to work even if 'new' doesn't, this will\r
+often (pretend to) exit successfully.  A 'set -e' at the top of the\r
+script is probably a good idea, and should probably be mentioned in\r
+documentation somewhere.\r
+\r
+-k\r
+-- \r
+If I haven't seen further, it is by standing in the footprints of giants\r