--- /dev/null
+Return-Path: <beheerder@tekenbeetziekten.nl>\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 50100431FB6\r
+ for <notmuch@notmuchmail.org>; Sat, 2 Feb 2013 16:07:27 -0800 (PST)\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 tcCSguf1Ipw5 for <notmuch@notmuchmail.org>;\r
+ Sat, 2 Feb 2013 16:07:24 -0800 (PST)\r
+Received: from srv047132.webreus.nl (srv047132.webreus.nl [46.235.47.132])\r
+ (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))\r
+ (No client certificate requested)\r
+ by olra.theworths.org (Postfix) with ESMTPS id BE94E431FAE\r
+ for <notmuch@notmuchmail.org>; Sat, 2 Feb 2013 16:07:23 -0800 (PST)\r
+Received: (qmail 19805 invoked from network); 3 Feb 2013 01:07:20 +0100\r
+Received: from ip73-109-210-87.adsl2.static.versatel.nl (HELO PCvangebruike)\r
+ (87.210.109.73)\r
+ by srv047132.webreus.nl with SMTP; 3 Feb 2013 01:07:11 +0100\r
+From: "Robert Mast" <beheerder@tekenbeetziekten.nl>\r
+To: "'David Bremner'" <david@tethera.net>\r
+References: <000001cdfcd9$82500f00$86f02d00$@nl>\r
+ <CA+pa1O0mTxkj_FMQH_jXWajmUAKHWbMsB4Yhp_4UX7hnhwgBrg@mail.gmail.com>\r
+ <000001ce0161$5da40990$18ec1cb0$@nl>\r
+ <87a9rml9pm.fsf@zancas.localnet>\r
+In-Reply-To: <87a9rml9pm.fsf@zancas.localnet>\r
+Subject: RE: [Spam-verdenking][english 100%] RE: Reply all - issue\r
+Date: Sun, 3 Feb 2013 01:06:58 +0100\r
+Message-ID: <005401ce01a2$62293300$267b9900$@nl>\r
+MIME-Version: 1.0\r
+Content-Type: text/plain;\r
+ charset="utf-8"\r
+Content-Transfer-Encoding: quoted-printable\r
+X-Mailer: Microsoft Office Outlook 12.0\r
+Thread-Index: Ac4Bh0PMAEUftH8lRH6w+fV5DvJa7QABgqoQ\r
+Content-Language: nl\r
+Cc: notmuch@notmuchmail.org\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: Sun, 03 Feb 2013 00:07:27 -0000\r
+\r
+Thanks for the guidelines!\r
+\r
+One answer I couldn't find under coding: Do you all develop with =\r
+emacs/GDB or is there a more visual and intuitive IDE to code with and =\r
+load/show the dependency-tree? I only debugged some C-code with emacs 15 =\r
+years ago and feel quite clumsy to get emacs to function like a proper =\r
+wysywig-IDE.\r
+\r
+#4) naturally.\r
+\r
+I like your last suggestion at #5) of the header-regexp and agree to =\r
+first work on the design-issues left before coding:\r
+\r
+@#6): I doubt whether I should tamper with threading heuristics at =\r
+all at the level of /lib/database.cc. Does anyone know whether the MUA's =\r
+using notmuch depend on thread-id's at the level of database.cc, or will =\r
+MUA's respect the different threads coming from seeding =\r
+lib/thread.cc/_notmuch_thread_create with all known messages except =\r
+already processed messages as is done with notmuch_query_search_threads?\r
+\r
+If I let lib/thread.cc/_notmuch_thread_create only 'eat' everything from =\r
+'match_set' for a stripped subject the 'seed'-message of another subject =\r
+within the same thread will then lead to another created thread within =\r
+the result set.\r
+\r
+If I start coding this I can try the result with mutt-kz/notmuch and =\r
+notmuch/emacs.\r
+\r
+My aim with getting notmuch working well will be providing a base for =\r
+reviving something like mail2forum for phpBB3 with =\r
+mailcompression-capabilities to prevent for mailthreads to be copied in =\r
+again and again with every mailed answer.\r
+\r
+I think that can be accomplished by keeping the original mails as well =\r
+and compress the forum-threads to sup-like threads (by hiding quoted =\r
+e-mail).\r
+\r
+\r
+-----Oorspronkelijk bericht-----\r
+Van: David Bremner [mailto:david@tethera.net]=20\r
+Verzonden: zaterdag 2 februari 2013 21:53\r
+Aan: Robert Mast\r
+CC: notmuch@notmuchmail.org\r
+Onderwerp: [Spam-verdenking][english 100%] RE: Reply all - issue\r
+\r
+Robert Mast <beheerder@tekenbeetziekten.nl> writes:\r
+\r
+>\r
+> Anyone interested in me patching Notmuch, or shall I keep the changes=20\r
+> to myself?\r
+>\r
+\r
+Hi Robert;\r
+\r
+If you have patches, and you want feedback on them, then you are of =\r
+course welcome to send them to the list. Previous experience suggests =\r
+us that it is often faster in the long run (in terms of actually getting =\r
+code into notmuch) to take time to work out the design issues before =\r
+starting coding. Some suggestions/comments:\r
+\r
+1) See http://notmuchmail.org/contributing/ for some general hints on\r
+ contributing code to notmuch.\r
+ =20\r
+2) Make sure whatever threading heuristic you use is deterministic, and\r
+ robust in the face of messages arriving in different orders, and\r
+ munging of headers by mailing lists (subjects in particular get\r
+ munged fairly often). =20\r
+\r
+3) In particular, it seems important that "notmuch dump" followed by\r
+ "notmuch restore" (possibly followed by notmuch new?) yields =\r
+unchanged\r
+ or equivalent thread structure\r
+\r
+4) Since threading heuristics are a matter of taste (i.e. not everyone\r
+ is convinced that the way Gmail does it is the way notmuch should),\r
+ you'll need to make this configurable. One constraint is that the\r
+ library itself (under ./lib) is should not read configuration files\r
+ (or environment variables, although it violates this for debugging).\r
+ This just means you will have to change the API to pass configuration\r
+ information in to certain routines.\r
+\r
+5) I'd say it's more important that you can shut off the heuristic\r
+ completely than have special handling for git (or other version\r
+ control system) patch series. If you do decide to add some special\r
+ handling for patch series, I'd suggest making it as generic as\r
+ possible, perhaps a configurable list of (header, regex) values that\r
+ disable the thread splitting heuristics.\r
+\r
+6) Decide how, if at all your design will support manually joining\r
+ threads together. I think an acceptable answer would probably be\r
+ "disable all thread splitting heuristics and rebuild the\r
+ database". I'm not sure if it's feasible to do anything nicer than\r
+ that.\r
+\r
+d\r
+\r
+\r
+\r
+\r
+.\r
+\r