[PATCH 3/3] NEWS: Insert markdown formatting commands

2012-04-26 Thread Tomi Ollila
To make updating the notmuchmail.org wiki 'news' section more
straightforward the content of the NEWS file has now been brought
to almost the same as the *.mdwn files in the wiki page.

The changes are basically insertion of mdwn formatting "commands".

More effort has been put into formatting the newer release entries
(0.12, 0.11 & 0.10) than older. Commit to format 0.13 entries will
be made available separately.
---
 NEWS |  271 +
 1 files changed, 138 insertions(+), 133 deletions(-)

diff --git a/NEWS b/NEWS
index fe4c3f0..d3f925d 100644
--- a/NEWS
+++ b/NEWS
@@ -81,16 +81,16 @@ Command-Line Interface

 Reply to sender

-  "notmuch reply" has gained the ability to create a reply template
+  `notmuch reply` has gained the ability to create a reply template
   for replying just to the sender of the message, in addition to reply
   to all. The feature is available through the new command line option
-  --reply-to=(all|sender).
+  `--reply-to=(all|sender)`.

 Mail store folder/file ignore

   A new configuration option, `new.ignore`, lets users specify a
   ;-separated list of file and directory names that will not be
-  searched for messages by "notmuch new".
+  searched for messages by `notmuch new`.

   NOTE: *Every* file/directory that goes by one of those names will
   be ignored, independent of its depth/location in the mail store.
@@ -119,14 +119,14 @@ Reply to sender

 More flexible and consistent tagging operations

-  All tagging operations ("+", "-", "*") now accept multiple tags with
-  "+" or "-" prefix, like "*" operation in notmuch-search view before.
+  All tagging operations ('+', '-', '*') now accept multiple tags with
+  '+' or '-' prefix, like '*' operation in notmuch-search view before.

-  "*" operation (`notmuch-show-tag-all') is now available in
+  '*' operation (`notmuch-show-tag-all`) is now available in
   notmuch-show view.

-  `Notmuch-show-{add,remove}-tag' functions no longer accept tag
-  argument, `notmuch-show-tag-message' should be used instead.  Custom
+  `notmuch-show-{add,remove}-tag` functions no longer accept tag
+  argument, `notmuch-show-tag-message` should be used instead.  Custom
   bindings using these functions should be updated, e.g.:

 (notmuch-show-remove-tag "unread")
@@ -138,7 +138,7 @@ More flexible and consistent tagging operations
 Refreshing the show view ('=' by default) no longer opens or closes messages

   To get the old behavior of putting messages back in their initial
-  opened/closed state, use a prefix argument, e.g., C-u =.
+  opened/closed state, use a prefix argument, e.g., 'C-u ='.

 Attachment buttons can be used to view or save attachments.

@@ -151,14 +151,14 @@ Attachment buttons can be used to view or save 
attachments.

 New functions

-  `notmuch-show-stash-mlarchive-link{,-and-go}' allow stashing and
+  `notmuch-show-stash-mlarchive-link{,-and-go}` allow stashing and
   optionally visiting a URI to the current message at one of a number
   of Mailing List Archives.

 Fix MML tag quoting in replies

   The MML tag quoting fix of 0.11.1 unintentionally quoted tags
-  inserted in `message-setup-hook'. Quoting is now limited to the
+  inserted in `message-setup-hook`. Quoting is now limited to the
   cited message.

 Show view archiving key binding changes
@@ -182,9 +182,9 @@ Generate inline patch fake attachment file names from 
message subject
   'git format-patch' instead of just "inline patch". See "Notmuch Show
   Insert Text/Plain Hook" in the notmuch customize interface.

-Enable `notmuch-search-line-faces' by default
+Enable `notmuch-search-line-faces` by default

-  Make the `notmuch-search-line-faces' functionality more discoverable
+  Make the `notmuch-search-line-faces` functionality more discoverable
   for new users by showing "unread" messages bold and "flagged"
   messages blue by default in the search view.

@@ -198,7 +198,7 @@ Library changes

 New functions

-  notmuch_query_add_tag_exclude supports the new tag exclusion
+  `notmuch_query_add_tag_exclude` supports the new tag exclusion
   feature.

 Python bindings changes
@@ -228,10 +228,10 @@ Compatibility with GMime 2.6
 Notmuch 0.11.1 (2012-02-03)
 ===

-Bug-fix release.
-
+Bug-fix release
+---

-Fix error handling in python bindings.
+Fix error handling in python bindings

   The python bindings in 0.11 failed to detect NULL pointers being
   returned from libnotmuch functions and thus failed to raise
@@ -258,13 +258,13 @@ Command-Line Interface
 Hooks

   Hooks have been introduced to notmuch. Hooks are scripts that notmuch
-  invokes before and after certain actions. Initially, "notmuch new"
-  supports "pre-new" and "post-new" hooks that are run before and after
+  invokes before and after certain actions. Initially, `notmuch new`
+  supports `pre-new` and `post-new` hooks that are run before and after
   importing new messages into the 

[PATCH 1/3] NEWS: untabified and added file local variables block

2012-04-26 Thread Tomi Ollila
Changed all tabs to 8 spaces (M-x untabify over region of the
whole file).

Now this looks uniformly on all viewers (using fixed-width font)
and the observed difference between this "source" file and markdown
generated html output on browser window is smaller. In markdown to
html conversions tab and 8 spaces indents differently.

Also the "Local variables:" block added to the end of this file
attempts to ensure tabs are always expanded; whether the used editor
is Emacs or Vi.
---
 NEWS |  134 +++--
 1 files changed, 72 insertions(+), 62 deletions(-)

diff --git a/NEWS b/NEWS
index c1704e0..a00f1c8 100644
--- a/NEWS
+++ b/NEWS
@@ -447,10 +447,10 @@ Search avoids opening and parsing message files
   improve search speed by as much as 10X, but taking advantage of this
   requires a database rebuild:

-   notmuch dump > notmuch.dump
-   # Backup, then remove notmuch database ($MAIL/.notmuch)
-   notmuch new
-   notmuch restore notmuch.dump
+notmuch dump > notmuch.dump
+# Backup, then remove notmuch database ($MAIL/.notmuch)
+notmuch new
+notmuch restore notmuch.dump

 New collection of add-on tools
 --
@@ -614,13 +614,13 @@ Folder-based searching
   directories in which mail files are stored (within the mail
   storage). The syntax is as follows:

-   folder:
+folder:

   For example, one might use things such as:

-   folder:spam
-   folder:2011-*
-   folder:work/todo
+folder:spam
+folder:2011-*
+folder:work/todo

   to match any path containing a directory "spam", "work/todo", or
   containing a directory starting with "2011-", respectively.
@@ -635,10 +635,10 @@ Folder-based searching
   this feature for all mail, the entire notmuch index will need to be
   rebuilt as follows:

-   notmuch dump > notmuch.dump
-   # Backup, then remove notmuch database ($MAIL/.notmuch)
-   notmuch new
-   notmuch restore notmuch.dump
+notmuch dump > notmuch.dump
+# Backup, then remove notmuch database ($MAIL/.notmuch)
+notmuch new
+notmuch restore notmuch.dump

 Support for PGP/MIME

@@ -770,7 +770,7 @@ Automatic detection and hiding of original message in 
top-posted message

   When a message contains a line looking something like:

-   - Original Message -
+- Original Message -

   emacs hides this and all subsequent lines as an "original message",
   (allowing the user to click or press enter on the "original message"
@@ -785,8 +785,8 @@ New hooks for running code when tags are modified
   tool. To facilitate this, two new hooks are added which can be
   modified in the following settings of the notmuch customize group:

-   Notmuch Before Tag Hook
-   Notmuch After Tag Hook
+Notmuch Before Tag Hook
+Notmuch After Tag Hook

 New optional support for hiding some multipart/alternative parts

@@ -794,7 +794,7 @@ New optional support for hiding some multipart/alternative 
parts
   multipart/alternative group (such as a text/plain part as well as a
   text/html part). Users can configure the setting:

-   Notmuch Show All Multipart/Alternative Parts
+Notmuch Show All Multipart/Alternative Parts

   to "off" in the notmuch customize group to have the interface
   automatically hide some part alternatives (such as text/html
@@ -841,13 +841,13 @@ Ruby bindings are now much more complete

   - Message().__cmp__() and __hash__()
   These allow, for example:
-   if msg1 == msg2: ...
+if msg1 == msg2: ...

   As well as set arithmetic on Messages():

-   s1, s2= set(msgs1), set(msgs2)
-   s1.union(s2)
-   s2 -= s1
+s1, s2= set(msgs1), set(msgs2)
+s1.union(s2)
+s2 -= s1

   Removed:
  - len(Messages()) as it exhausted the iterator.
@@ -863,10 +863,10 @@ Added support for building in a directory other than the 
source directory
   This can be used with the widely-supported idiom of simply running
   the configure script from some other directory:

-   mkdir build
-   cd build
-   ../configure
-   make
+mkdir build
+cd build
+../configure
+make

 Fix to save configure options for future, implicit runs of configure

@@ -916,11 +916,11 @@ Fixed spurious search results from "overlapped" indexing 
of addresses

   This fixed a bug where a search for:

-   to:user at elsewhere.com
+to:user at elsewhere.com

   would incorrectly match a message sent:

-   To: user at example,com, someone at elsewhere.com
+To: user at example,com, someone at elsewhere.com

 Fix --output=json when search has no results

@@ -982,13 +982,13 @@ Maildir-flag synchronization
   tags in the notmuch database. The following flag/tag mappings are
   supported:

-   Flag <-> Tag
-    -
-   'D'  draft
-   'F'  flagged
-

[Patch v3 0/2] Add filter to emacs show mode

2012-04-26 Thread Tomi Ollila
On Thu, Apr 26 2012, Mark Walters wrote:

> Version 3 of this patch set: previous version is at
> id:"1335373954-4578-1-git-send-email-markwalters1009 at gmail.com".
>
> This is updated to use Tomi's much cleaner version for the lisp.


LGTM, both patches

Tomi

>
>
> Mark Walters (2):
>   emacs: add a filter option to show
>   emacs: Bind filter in search to 'l'
>
>  emacs/notmuch-show.el |   10 ++
>  emacs/notmuch.el  |4 ++--
>  2 files changed, 12 insertions(+), 2 deletions(-)
>
> -- 
> 1.7.9.1
>
> ___
> notmuch mailing list
> notmuch at notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch


[PATCH v2 2/2] emacs: Bind filter in search to 'l'

2012-04-26 Thread Tomi Ollila
On Wed, Apr 25 2012, Mark Walters wrote:

> Change the key binding for filter (or "limit") in search-mode. This
> gives consistency with the new filter in show-mode, and frees 'f' for
> forward-thread in the future.
> ---

LGTM.

Tomi


>  emacs/notmuch.el |4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/emacs/notmuch.el b/emacs/notmuch.el
> index 736d00f..3df826c 100644
> --- a/emacs/notmuch.el
> +++ b/emacs/notmuch.el
> @@ -286,7 +286,7 @@ For a mouse binding, return nil."
>  (define-key map "=" 'notmuch-search-refresh-view)
>  (define-key map "G" 'notmuch-search-poll-and-refresh-view)
>  (define-key map "t" 'notmuch-search-filter-by-tag)
> -(define-key map "f" 'notmuch-search-filter)
> +(define-key map "l" 'notmuch-search-filter)
>  (define-key map [mouse-1] 'notmuch-search-show-thread)
>  (define-key map "*" 'notmuch-search-tag-all)
>  (define-key map "a" 'notmuch-search-archive-thread)
> @@ -1095,7 +1095,7 @@ search."
>(notmuch-search-refresh-view))
>  
>  (defun notmuch-search-filter (query)
> -  "Filter the current search results based on an additional query string.
> +  "Filter or LIMIT the current search results based on an additional query 
> string.
>  
>  Runs a new search matching only messages that match both the
>  current search results AND the additional query string provided."
> -- 
> 1.7.9.1
>
> ___
> notmuch mailing list
> notmuch at notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch


[PATCH v2 1/2] emacs: add a filter option to show

2012-04-26 Thread Tomi Ollila
On Wed, Apr 25 2012, Mark Walters  wrote:

> Show the current thread with a different filter (i.e., open messages
> in the thread matching the new query).
>
> Bound to 'l' for "limit".
>
> Note that it is not the same as filter in search mode as it replaces
> the existing query rather than ANDing with it (but it does keep the
> thread-id part of the query).
> ---

LGTM -- just one question -- to be analogous with 'notmuch-search-filter'
'notmuch-show-filter-thread' could look something like:

(defun notmuch-show-filter-thread (query)
  "Filter or LIMIT the current thread based on a new query string.

Reshows the current thread with matches defined by the new query-string."
  (interactive (list (notmuch-read-query "Filter thread: ")))
  (setq notmuch-show-query-context (if (string= query "") nil query))
  (notmuch-show-refresh-view t))

?

Tomi

>  emacs/notmuch-show.el |   12 
>  1 files changed, 12 insertions(+), 0 deletions(-)
>
> diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el
> index 30b26d1..4b4d663 100644
> --- a/emacs/notmuch-show.el
> +++ b/emacs/notmuch-show.el
> @@ -42,6 +42,7 @@
>  (declare-function notmuch-search-next-thread "notmuch" nil)
>  (declare-function notmuch-search-show-thread "notmuch" nil)
>  (declare-function notmuch-update-tags "notmuch" (current-tags tag-changes))
> +(declare-function notmuch-read-query "notmuch" (prompt))
>  
>  (defcustom notmuch-message-headers '("Subject" "To" "Cc" "Date")
>"Headers that should be shown in a message, in this order.
> @@ -1157,6 +1158,7 @@ reset based on the original query."
>   (define-key map "s" 'notmuch-search)
>   (define-key map "m" 'notmuch-mua-new-mail)
>   (define-key map "f" 'notmuch-show-forward-message)
> + (define-key map "l" 'notmuch-show-filter-thread)
>   (define-key map "r" 'notmuch-show-reply-sender)
>   (define-key map "R" 'notmuch-show-reply)
>   (define-key map "|" 'notmuch-show-pipe-message)
> @@ -1399,6 +1401,16 @@ current thread."
>"Mark the current message as read."
>(notmuch-show-tag-message "-unread"))
>  
> +(defun notmuch-show-filter-thread ()
> +  "Filter or LIMIT the current thread based on a new query string.
> +
> +Reshows the current thread with matches defined by the new query-string."
> +  (interactive)
> +  (setq notmuch-show-query-context (notmuch-read-query "Filter thread: "))
> +  (when (string= notmuch-show-query-context "")
> +(setq notmuch-show-query-context nil))
> +  (notmuch-show-refresh-view t))
> +
>  ;; Functions for getting attributes of several messages in the current
>  ;; thread.
>  
> -- 
> 1.7.9.1
>
> ___
> notmuch mailing list
> notmuch at notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch


[Patch v3 2/2] emacs: Bind filter in search to 'l'

2012-04-26 Thread Mark Walters
Change the key binding for filter (or "limit") in search-mode. This
gives consistency with the new filter in show-mode, and frees 'f' for
forward-thread in the future.
---
 emacs/notmuch.el |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/emacs/notmuch.el b/emacs/notmuch.el
index 736d00f..3df826c 100644
--- a/emacs/notmuch.el
+++ b/emacs/notmuch.el
@@ -286,7 +286,7 @@ For a mouse binding, return nil."
 (define-key map "=" 'notmuch-search-refresh-view)
 (define-key map "G" 'notmuch-search-poll-and-refresh-view)
 (define-key map "t" 'notmuch-search-filter-by-tag)
-(define-key map "f" 'notmuch-search-filter)
+(define-key map "l" 'notmuch-search-filter)
 (define-key map [mouse-1] 'notmuch-search-show-thread)
 (define-key map "*" 'notmuch-search-tag-all)
 (define-key map "a" 'notmuch-search-archive-thread)
@@ -1095,7 +1095,7 @@ search."
   (notmuch-search-refresh-view))

 (defun notmuch-search-filter (query)
-  "Filter the current search results based on an additional query string.
+  "Filter or LIMIT the current search results based on an additional query 
string.

 Runs a new search matching only messages that match both the
 current search results AND the additional query string provided."
-- 
1.7.9.1



[Patch v3 1/2] emacs: add a filter option to show

2012-04-26 Thread Mark Walters
Show the current thread with a different filter (i.e., open messages
in the thread matching the new query).

Bound to 'l' for "limit".

Note that it is not the same as filter in search mode as it replaces
the existing query rather than ANDing with it (but it does keep the
thread-id part of the query).
---
 emacs/notmuch-show.el |   10 ++
 1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el
index 30b26d1..492da72 100644
--- a/emacs/notmuch-show.el
+++ b/emacs/notmuch-show.el
@@ -42,6 +42,7 @@
 (declare-function notmuch-search-next-thread "notmuch" nil)
 (declare-function notmuch-search-show-thread "notmuch" nil)
 (declare-function notmuch-update-tags "notmuch" (current-tags tag-changes))
+(declare-function notmuch-read-query "notmuch" (prompt))

 (defcustom notmuch-message-headers '("Subject" "To" "Cc" "Date")
   "Headers that should be shown in a message, in this order.
@@ -1157,6 +1158,7 @@ reset based on the original query."
(define-key map "s" 'notmuch-search)
(define-key map "m" 'notmuch-mua-new-mail)
(define-key map "f" 'notmuch-show-forward-message)
+   (define-key map "l" 'notmuch-show-filter-thread)
(define-key map "r" 'notmuch-show-reply-sender)
(define-key map "R" 'notmuch-show-reply)
(define-key map "|" 'notmuch-show-pipe-message)
@@ -1399,6 +1401,14 @@ current thread."
   "Mark the current message as read."
   (notmuch-show-tag-message "-unread"))

+(defun notmuch-show-filter-thread (query)
+  "Filter or LIMIT the current thread based on a new query string.
+
+Reshows the current thread with matches defined by the new query-string."
+  (interactive (list (notmuch-read-query "Filter thread: ")))
+  (setq notmuch-show-query-context (if (string= query "") nil query))
+  (notmuch-show-refresh-view t))
+
 ;; Functions for getting attributes of several messages in the current
 ;; thread.

-- 
1.7.9.1



[Patch v3 0/2] Add filter to emacs show mode

2012-04-26 Thread Mark Walters
Version 3 of this patch set: previous version is at
id:"1335373954-4578-1-git-send-email-markwalters1009 at gmail.com".

This is updated to use Tomi's much cleaner version for the lisp.


Mark Walters (2):
  emacs: add a filter option to show
  emacs: Bind filter in search to 'l'

 emacs/notmuch-show.el |   10 ++
 emacs/notmuch.el  |4 ++--
 2 files changed, 12 insertions(+), 2 deletions(-)

-- 
1.7.9.1



[PATCH v2 1/2] emacs: add a filter option to show

2012-04-26 Thread Mark Walters
On Thu, 26 Apr 2012, Tomi Ollila  wrote:
> On Wed, Apr 25 2012, Mark Walters  wrote:
>
>> Show the current thread with a different filter (i.e., open messages
>> in the thread matching the new query).
>>
>> Bound to 'l' for "limit".
>>
>> Note that it is not the same as filter in search mode as it replaces
>> the existing query rather than ANDing with it (but it does keep the
>> thread-id part of the query).
>> ---
>
> LGTM -- just one question -- to be analogous with 'notmuch-search-filter'
> 'notmuch-show-filter-thread' could look something like:
>
> (defun notmuch-show-filter-thread (query)
>   "Filter or LIMIT the current thread based on a new query string.
>
> Reshows the current thread with matches defined by the new query-string."
>   (interactive (list (notmuch-read-query "Filter thread: ")))
>   (setq notmuch-show-query-context (if (string= query "") nil query))
>   (notmuch-show-refresh-view t))
>

Oh that looks much nicer! I will resubmit.

Best wishes

Mark



Possible bug with notmuch search & --limit --offset

2012-04-26 Thread Mark Walters
On Thu, 26 Apr 2012, jake  wrote:
> Hello, 
>
> I'm finding that when I use the --limit option with the output=files and
> offset=N that the returned list of files is of variable length.
>
> For instance when:
>
> notmuch search --output=files --offset=6 --limit=2 steve
>
> it returns
>
> /var/spool/mail/virtual/archive/sl/.Sent/cur/1335243985.M765351P23366V00
> 000801I00820E9C_5.archive,S=275069:2,S
> /var/spool/mail/virtual/archive/sl/.Sent/cur/1335243986.M749883P23366V00
> 000801I00820E9D_6.archive,S=275069:2,S
> /var/spool/mail/virtual/archive/sl/.Sent/cur/1335243987.M926961P23366V00
> 000801I00820EA0_9.archive,S=111888:2,S
> /var/spool/mail/virtual/archive/sl/.Sent/cur/1335243988.M718230P23366V00
> 000801I00820EA1_10.archive,S=111888:2,S

Hi 

You might have duplicate copies of the messages: that is different files
with the same message. (I think the search returns all the filenames
but am not sure.) Notmuch uses the messageid so you would just need to
check if some of these files have the same message-id header.

Best wishes

Mark






>
> Which is two more results than required. If I choose different offset values
> then the number of returned results will vary too. 
>
> If I issue:
>
> notmuch search --offset=6 --limit=2 steve
>
> It returns two results as expected, if I change the output type to anything
> other than files (summary/threads/messages/tags) then the correctly limited
> list is returned. So it only seems to happen with the files output type.
> Both json and text format types exhibit the same behaviour.
>
> Am I using this correctly ? I expect only two results to be returned but
> being new to notmuch gives me doubts that what I am doing may be incorrect.
>
> My apologies if the mailing list is not the place for this sort of report,
> please direct me to a more appropriate place.
>
> Many Thanks
> Jake
>
>
>
> ___
> notmuch mailing list
> notmuch at notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch


[PATCH 3/3] NEWS: Insert markdown formatting commands

2012-04-26 Thread Jameson Graef Rollins
On Thu, Apr 26 2012, Tomi Ollila  wrote:
> To make updating the notmuchmail.org wiki 'news' section more
> straightforward the content of the NEWS file has now been brought
> to almost the same as the *.mdwn files in the wiki page.
>
> The changes are basically insertion of mdwn formatting "commands".
>
> More effort has been put into formatting the newer release entries
> (0.12, 0.11 & 0.10) than older. Commit to format 0.13 entries will
> be made available separately.

Can we please just make NEWS a directory, which each release getting
it's own file?  That would obviously make porting to the wiki trivial.

jamie.
-- next part --
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 835 bytes
Desc: not available
URL: 
<http://notmuchmail.org/pipermail/notmuch/attachments/20120426/dcd41258/attachment.pgp>


[ANN] New awesome vim plug-in using Ruby bindings

2012-04-26 Thread Felipe Contreras
2012/4/23 Felipe Contreras :
> So, since I'm a big fan of Ruby, I decided to try my luck writing a
> plug-in from scratch. It took me one weekend, but I'm pretty happy
> with the result. This plug-in has already essentially all the
> functionality of the current one, but it's much, *much* simpler (only
> 600) lines of code.
>
> And in addition has many more features:
>
> ?* Gradual searches; you don't have to wait for the whole search to finish,
> ? sort of like the 'less' command
> ?* Proper multi-part handling; finds out if there's text/plain, or if
> ? text/html, converts it using elinks
> ?* Extract all attachments
> ?* Open message with mutt (or any external application that can open an mbox)
> ?* More proper UTF-8 handling
> ?* Configurable key mappings
> ?* Much simpler, cleaner, beautiful, and extensible code (only 600 lines!)

In case anybody is interested, here's a screencast showing some of the
features :)
http://youtu.be/JGD7IbZmnIs

Cheers.

-- 
Felipe Contreras


[PATCH] ruby: make sure the database is closed

2012-04-26 Thread Ali Polatel
2012/4/24 Felipe Contreras :
> On Tue, Apr 24, 2012 at 4:15 AM, Austin Clements  wrote:
>> Quoth Felipe Contreras on Apr 24 at ?3:45 am:
>>> On Tue, Apr 24, 2012 at 2:46 AM, Ali Polatel  wrote:
>>> > 2012/4/24 Felipe Contreras :
>>>
>>> >> Personally I don't see why an object, like say a query would remain
>>> >> working correctly after the database is gone, either by calling
>>> >> .close() directly, or just loosing the pointer to the original object.
>>> >> I don't think users would expect that, or, even if they somehow found
>>> >> it useful, that most likely would be very seldom, and hardly worth
>>> >> worrying about it.
>>> >
>>> > Working correctly is not expected but wouldn't it be more appropriate
>>> > to throw an exception rather than dumping core or printing on standard 
>>> > error?
>>>
>>> Sure, if that was possible.
>>>
>>> > I wonder whether we can make both work somehow.
>>> > Maybe by using talloc explicitly and keeping reference pointers?
>>> > I don't know whether it's worth bothering.
>>>
>>> Maybe, I don't see how, that's just not how C works. Maybe talloc does
>>> have some way to figure out if a pointer has been freed, but I doubt
>>> that, and I can't find it by grepping through the API.
>>>
>>> Another option would be hook into talloc's destructor so we know when
>>> an object is freed and taint it, but then we would be overriding
>>> notmuch's destructor, and there's no way around that (unless we tap
>>> into talloc's internal structures). A way to workaround that would be
>>> to modify notmuch's API so that we can specify a destructor for
>>> notmuch objects, but that would be tedious, and I doubt a lof people
>>> beside us would benefit from that.
>>
>> I believe (though I might be wrong) that bindings could simply
>> maintain their own talloc references to C objects returned by
>> libnotmuch to prevent them from being freed until the wrapper object
>> is garbage collected. ?This would require modifying all of the
>> library's _destroy functions to use talloc_find_parent_bytype and
>> talloc_unlink instead of simply calling talloc_free, but I don't think
>> this change would be particularly invasive and it certainly wouldn't
>> affect the library interface.
>
> That might work, but still, I don't see why this patch can't be applied.

I don't have anything against applying this patch.
If this fix has a kind of urgency -and I doubt it does- please get
someone to push the patch.
Below is my confirmation to accept the consequences:
LGTM

Otherwise, I'd rather we fix it properly most probably using the
method described in Austin's previous mail.

> Cheers.
>
> --
> Felipe Contreras

-alip


Possible bug with notmuch search --limit --offset

2012-04-26 Thread jake
Hello, 

I'm finding that when I use the --limit option with the output=files and
offset=N that the returned list of files is of variable length.

For instance when:

notmuch search --output=files --offset=6 --limit=2 steve

it returns

/var/spool/mail/virtual/archive/sl/.Sent/cur/1335243985.M765351P23366V00
000801I00820E9C_5.archive,S=275069:2,S
/var/spool/mail/virtual/archive/sl/.Sent/cur/1335243986.M749883P23366V00
000801I00820E9D_6.archive,S=275069:2,S
/var/spool/mail/virtual/archive/sl/.Sent/cur/1335243987.M926961P23366V00
000801I00820EA0_9.archive,S=111888:2,S
/var/spool/mail/virtual/archive/sl/.Sent/cur/1335243988.M718230P23366V00
000801I00820EA1_10.archive,S=111888:2,S

Which is two more results than required. If I choose different offset values
then the number of returned results will vary too. 

If I issue:

notmuch search --offset=6 --limit=2 steve

It returns two results as expected, if I change the output type to anything
other than files (summary/threads/messages/tags) then the correctly limited
list is returned. So it only seems to happen with the files output type.
Both json and text format types exhibit the same behaviour.

Am I using this correctly ? I expect only two results to be returned but
being new to notmuch gives me doubts that what I am doing may be incorrect.

My apologies if the mailing list is not the place for this sort of report,
please direct me to a more appropriate place.

Many Thanks
Jake



___
notmuch mailing list
notmuch@notmuchmail.org
http://notmuchmail.org/mailman/listinfo/notmuch


Re: Possible bug with notmuch search --limit --offset

2012-04-26 Thread Mark Walters
On Thu, 26 Apr 2012, jake j...@mgap.ru wrote:
 Hello, 

 I'm finding that when I use the --limit option with the output=files and
 offset=N that the returned list of files is of variable length.

 For instance when:

 notmuch search --output=files --offset=6 --limit=2 steve

 it returns

 /var/spool/mail/virtual/archive/sl/.Sent/cur/1335243985.M765351P23366V00
 000801I00820E9C_5.archive,S=275069:2,S
 /var/spool/mail/virtual/archive/sl/.Sent/cur/1335243986.M749883P23366V00
 000801I00820E9D_6.archive,S=275069:2,S
 /var/spool/mail/virtual/archive/sl/.Sent/cur/1335243987.M926961P23366V00
 000801I00820EA0_9.archive,S=111888:2,S
 /var/spool/mail/virtual/archive/sl/.Sent/cur/1335243988.M718230P23366V00
 000801I00820EA1_10.archive,S=111888:2,S

Hi 

You might have duplicate copies of the messages: that is different files
with the same message. (I think the search returns all the filenames
but am not sure.) Notmuch uses the messageid so you would just need to
check if some of these files have the same message-id header.

Best wishes

Mark







 Which is two more results than required. If I choose different offset values
 then the number of returned results will vary too. 

 If I issue:

 notmuch search --offset=6 --limit=2 steve

 It returns two results as expected, if I change the output type to anything
 other than files (summary/threads/messages/tags) then the correctly limited
 list is returned. So it only seems to happen with the files output type.
 Both json and text format types exhibit the same behaviour.

 Am I using this correctly ? I expect only two results to be returned but
 being new to notmuch gives me doubts that what I am doing may be incorrect.

 My apologies if the mailing list is not the place for this sort of report,
 please direct me to a more appropriate place.

 Many Thanks
 Jake



 ___
 notmuch mailing list
 notmuch@notmuchmail.org
 http://notmuchmail.org/mailman/listinfo/notmuch
___
notmuch mailing list
notmuch@notmuchmail.org
http://notmuchmail.org/mailman/listinfo/notmuch


Re: [PATCH v2 1/2] emacs: add a filter option to show

2012-04-26 Thread Tomi Ollila
On Wed, Apr 25 2012, Mark Walters markwalters1...@gmail.com wrote:

 Show the current thread with a different filter (i.e., open messages
 in the thread matching the new query).

 Bound to 'l' for limit.

 Note that it is not the same as filter in search mode as it replaces
 the existing query rather than ANDing with it (but it does keep the
 thread-id part of the query).
 ---

LGTM -- just one question -- to be analogous with 'notmuch-search-filter'
'notmuch-show-filter-thread' could look something like:

(defun notmuch-show-filter-thread (query)
  Filter or LIMIT the current thread based on a new query string.

Reshows the current thread with matches defined by the new query-string.
  (interactive (list (notmuch-read-query Filter thread: )))
  (setq notmuch-show-query-context (if (string= query ) nil query))
  (notmuch-show-refresh-view t))

?

Tomi

  emacs/notmuch-show.el |   12 
  1 files changed, 12 insertions(+), 0 deletions(-)

 diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el
 index 30b26d1..4b4d663 100644
 --- a/emacs/notmuch-show.el
 +++ b/emacs/notmuch-show.el
 @@ -42,6 +42,7 @@
  (declare-function notmuch-search-next-thread notmuch nil)
  (declare-function notmuch-search-show-thread notmuch nil)
  (declare-function notmuch-update-tags notmuch (current-tags tag-changes))
 +(declare-function notmuch-read-query notmuch (prompt))
  
  (defcustom notmuch-message-headers '(Subject To Cc Date)
Headers that should be shown in a message, in this order.
 @@ -1157,6 +1158,7 @@ reset based on the original query.
   (define-key map s 'notmuch-search)
   (define-key map m 'notmuch-mua-new-mail)
   (define-key map f 'notmuch-show-forward-message)
 + (define-key map l 'notmuch-show-filter-thread)
   (define-key map r 'notmuch-show-reply-sender)
   (define-key map R 'notmuch-show-reply)
   (define-key map | 'notmuch-show-pipe-message)
 @@ -1399,6 +1401,16 @@ current thread.
Mark the current message as read.
(notmuch-show-tag-message -unread))
  
 +(defun notmuch-show-filter-thread ()
 +  Filter or LIMIT the current thread based on a new query string.
 +
 +Reshows the current thread with matches defined by the new query-string.
 +  (interactive)
 +  (setq notmuch-show-query-context (notmuch-read-query Filter thread: ))
 +  (when (string= notmuch-show-query-context )
 +(setq notmuch-show-query-context nil))
 +  (notmuch-show-refresh-view t))
 +
  ;; Functions for getting attributes of several messages in the current
  ;; thread.
  
 -- 
 1.7.9.1

 ___
 notmuch mailing list
 notmuch@notmuchmail.org
 http://notmuchmail.org/mailman/listinfo/notmuch
___
notmuch mailing list
notmuch@notmuchmail.org
http://notmuchmail.org/mailman/listinfo/notmuch


Re: [PATCH v2 2/2] emacs: Bind filter in search to 'l'

2012-04-26 Thread Tomi Ollila
On Wed, Apr 25 2012, Mark Walters wrote:

 Change the key binding for filter (or limit) in search-mode. This
 gives consistency with the new filter in show-mode, and frees 'f' for
 forward-thread in the future.
 ---

LGTM.

Tomi


  emacs/notmuch.el |4 ++--
  1 files changed, 2 insertions(+), 2 deletions(-)

 diff --git a/emacs/notmuch.el b/emacs/notmuch.el
 index 736d00f..3df826c 100644
 --- a/emacs/notmuch.el
 +++ b/emacs/notmuch.el
 @@ -286,7 +286,7 @@ For a mouse binding, return nil.
  (define-key map = 'notmuch-search-refresh-view)
  (define-key map G 'notmuch-search-poll-and-refresh-view)
  (define-key map t 'notmuch-search-filter-by-tag)
 -(define-key map f 'notmuch-search-filter)
 +(define-key map l 'notmuch-search-filter)
  (define-key map [mouse-1] 'notmuch-search-show-thread)
  (define-key map * 'notmuch-search-tag-all)
  (define-key map a 'notmuch-search-archive-thread)
 @@ -1095,7 +1095,7 @@ search.
(notmuch-search-refresh-view))
  
  (defun notmuch-search-filter (query)
 -  Filter the current search results based on an additional query string.
 +  Filter or LIMIT the current search results based on an additional query 
 string.
  
  Runs a new search matching only messages that match both the
  current search results AND the additional query string provided.
 -- 
 1.7.9.1

 ___
 notmuch mailing list
 notmuch@notmuchmail.org
 http://notmuchmail.org/mailman/listinfo/notmuch
___
notmuch mailing list
notmuch@notmuchmail.org
http://notmuchmail.org/mailman/listinfo/notmuch


Re: [PATCH v2 1/2] emacs: add a filter option to show

2012-04-26 Thread Mark Walters
On Thu, 26 Apr 2012, Tomi Ollila tomi.oll...@iki.fi wrote:
 On Wed, Apr 25 2012, Mark Walters markwalters1...@gmail.com wrote:

 Show the current thread with a different filter (i.e., open messages
 in the thread matching the new query).

 Bound to 'l' for limit.

 Note that it is not the same as filter in search mode as it replaces
 the existing query rather than ANDing with it (but it does keep the
 thread-id part of the query).
 ---

 LGTM -- just one question -- to be analogous with 'notmuch-search-filter'
 'notmuch-show-filter-thread' could look something like:

 (defun notmuch-show-filter-thread (query)
   Filter or LIMIT the current thread based on a new query string.

 Reshows the current thread with matches defined by the new query-string.
   (interactive (list (notmuch-read-query Filter thread: )))
   (setq notmuch-show-query-context (if (string= query ) nil query))
   (notmuch-show-refresh-view t))


Oh that looks much nicer! I will resubmit.

Best wishes

Mark

___
notmuch mailing list
notmuch@notmuchmail.org
http://notmuchmail.org/mailman/listinfo/notmuch


[Patch v3 0/2] Add filter to emacs show mode

2012-04-26 Thread Mark Walters
Version 3 of this patch set: previous version is at
id:1335373954-4578-1-git-send-email-markwalters1...@gmail.com.

This is updated to use Tomi's much cleaner version for the lisp.


Mark Walters (2):
  emacs: add a filter option to show
  emacs: Bind filter in search to 'l'

 emacs/notmuch-show.el |   10 ++
 emacs/notmuch.el  |4 ++--
 2 files changed, 12 insertions(+), 2 deletions(-)

-- 
1.7.9.1

___
notmuch mailing list
notmuch@notmuchmail.org
http://notmuchmail.org/mailman/listinfo/notmuch


Re: [Patch v3 0/2] Add filter to emacs show mode

2012-04-26 Thread Tomi Ollila
On Thu, Apr 26 2012, Mark Walters wrote:

 Version 3 of this patch set: previous version is at
 id:1335373954-4578-1-git-send-email-markwalters1...@gmail.com.

 This is updated to use Tomi's much cleaner version for the lisp.


LGTM, both patches

Tomi



 Mark Walters (2):
   emacs: add a filter option to show
   emacs: Bind filter in search to 'l'

  emacs/notmuch-show.el |   10 ++
  emacs/notmuch.el  |4 ++--
  2 files changed, 12 insertions(+), 2 deletions(-)

 -- 
 1.7.9.1

 ___
 notmuch mailing list
 notmuch@notmuchmail.org
 http://notmuchmail.org/mailman/listinfo/notmuch
___
notmuch mailing list
notmuch@notmuchmail.org
http://notmuchmail.org/mailman/listinfo/notmuch


Re: [PATCH 3/3] NEWS: Insert markdown formatting commands

2012-04-26 Thread Jameson Graef Rollins
On Thu, Apr 26 2012, Tomi Ollila tomi.oll...@iki.fi wrote:
 To make updating the notmuchmail.org wiki 'news' section more
 straightforward the content of the NEWS file has now been brought
 to almost the same as the *.mdwn files in the wiki page.

 The changes are basically insertion of mdwn formatting commands.

 More effort has been put into formatting the newer release entries
 (0.12, 0.11  0.10) than older. Commit to format 0.13 entries will
 be made available separately.

Can we please just make NEWS a directory, which each release getting
it's own file?  That would obviously make porting to the wiki trivial.

jamie.


pgpseTdJmT2O4.pgp
Description: PGP signature
___
notmuch mailing list
notmuch@notmuchmail.org
http://notmuchmail.org/mailman/listinfo/notmuch