My repository is moving once again...

2010-06-04 Thread Carl Worth
After a (much-too-long) hiatus, I just pushed a batch of changes to my
notmuch repository.

This includes the several changes that I recently reviewed on the
mailing list and said that I had committed locally and would push soon.

Additionally, I've pushed a few of bug fixes as follows:

  * Fix to never add a partially complete message to the database.

Various interruptions to notmuch processing, (perhaps other bugs
described below) would leave a half-complete message in the
database. And later runs of notmuch would trip and fall over on this
half-complete message. Thanks to a suggestion from Olly, notmuch now
never adds the partial documents to the database so this problem
should be avoided entirely.

  * Fix for really long message ID values.

Scott mentioned various Xapian exceptions and notmuch internal
errors that occurred after trying to add a message with a 300+
character message ID. I've fixed this to now be handled well, (with
new tests in the test suite to handle 512-character message IDs).

  * Make things easier after "make install" (for Linux at least)

On Linux systems, the configure script will now identify the various
paths supported by ldconfig (such as /usr/local/lib). Then, if the
prefix is to one of these places (such as /usr/local/), make install
will run ldconfig automatically. This will allow some people to be
able to more easily run notmuch immediately after installing.

Similarly, if the notmuch library is installed to some non-system
directory, (such as --prefix=${HOME}/foo), then the final link of
the shared binary will include a DT_RUNPATH entry to the directory
in which the library is installed. This will also allow the notmuch
binary to work immediately after "make install" without the user
needing to set the LD_LIBRARY_PATH variable.

I implemented this last piece only on Linux. I think OS X doesn't need
additional support for this since linking binaries against libraries
might automatically encode the paths, (though I haven't tested). I also
haven't investigated what might be the right thing to do for Solaris,
(it's probably not all that different than what I did for Linux).

So if anybody wants to put together similar patches as needed for their
favorite platforms, then that would be great.

-Carl

-- 
carl.d.worth at intel.com
-- next part --
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: 
<http://notmuchmail.org/pipermail/notmuch/attachments/20100604/cd6e6967/attachment.pgp>


Use of "notmuch count" in notmuch-hello.el

2010-06-04 Thread Carl Worth
On Sat, 8 May 2010 13:35:39 +1000, Jason White  wrote:
> The ELisp code in the current Git master branch calls notmuch count, rather
> than notmuch count *.
> 
> I don't know whether this is supposed to be corrected in the C code or in the
> Emacs code; the manual page still documents the old behaviour.
> 
> Here's a quick patch that enables m-x notmuch to run for me.
...
> -  (car (process-lines notmuch-command "count")))
> +  (car (process-lines notmuch-command "count" "*")))
>(widget-insert " messages (that's not much mail).\n\n"))

The "notmuch count '*'" convention is new, but the old "notmuch count"
convention is still supported. I'm not sure how you got into a state
where "M-x notmuch" would not run unless you used the new convention.

All versions of notmuch support the old convention, so that's the one
that should be used by the emacs code.

I hope that helps answer the question,

-Carl

-- 
carl.d.worth at intel.com
-- next part --
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: 
<http://notmuchmail.org/pipermail/notmuch/attachments/20100604/f0d9cad9/attachment-0001.pgp>


[PATCH RFC] notmuch-hello: What's in your inbox

2010-06-04 Thread Michal Sojka
Hello,

I found myself very often adding something like 'tag:inbox and ...' to
the saved searches. I want my messages to be tagged by mailing list so
whenever I subscribe to a new mailing list I have to update both the
tagging script and saved searches. This work duplication doesn't seem
ideal for me so here is a patch, which shows a section "What's in your
inbox" in notmuch-hello screen. This section contains all tags of
messages that are tagged by "inbox".

It would be nice to have some configuration for the "What's in your
inbox" section - for example to specify which tags are not interesting
for me (e.g. unread).

I'm not sure whether the patch applies to recent dme's notmuch-hello
updates. If not, I'll rebase it as soon as these patches appear in
master.

Signed-off-by: Michal Sojka 

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

diff --git a/emacs/notmuch-hello.el b/emacs/notmuch-hello.el
index 6a1c56e..e61f37a 100644
--- a/emacs/notmuch-hello.el
+++ b/emacs/notmuch-hello.el
@@ -55,6 +55,11 @@
   :type 'boolean
   :group 'notmuch)

+(defcustom notmuch-show-inbox-tags-list nil
+  "Should all tags in your inbox be shown in the notmuch-hello view?"
+  :type 'boolean
+  :group 'notmuch)
+
 (defface notmuch-hello-logo-background
   'class color)
   (background dark))
@@ -289,7 +294,36 @@ diagonal."
(mapcar '(lambda (tag) (cons tag (concat "tag:" 
tag)))
(process-lines notmuch-command 
"search-tags"
 (alltags-widest (notmuch-hello-longest-label alltags-alist))
-(widest (max saved-widest alltags-widest)))
+(inboxtags-alist (if notmuch-show-inbox-tags-list
+ (mapcar '(lambda (tag) (cons tag (concat 
"tag:inbox and tag:" tag)))
+ (process-lines notmuch-command 
"search-tags" "tag:inbox"
+(inboxtags-widest (notmuch-hello-longest-label inboxtags-alist))
+(widest (max saved-widest alltags-widest inboxtags-widest)))
+
+
+   (when inboxtags-alist
+ (widget-insert "What's in your inbox: ")
+ (widget-create 'push-button
+:notify (lambda (widget  ignore)
+  (setq notmuch-show-inbox-tags-list nil)
+  (notmuch-hello-update))
+"hide")
+ (widget-insert "\n\n")
+ (setq final-target-pos (point-marker))
+ (let ((start (point)))
+   (setq found-target-pos (notmuch-hello-insert-tags inboxtags-alist 
widest target))
+   (if (not final-target-pos)
+   (setq final-target-pos found-target-pos))
+   (indent-rigidly start (point) notmuch-hello-indent)))
+
+   (when (not notmuch-show-inbox-tags-list)
+ (widget-create 'push-button
+:notify (lambda (widget  ignore)
+  (setq notmuch-show-inbox-tags-list t)
+  (notmuch-hello-update))
+"Show tags in your inbox")
+ (widget-insert "\n"))
+   (widget-insert "\n")

(when saved-alist
  (widget-insert "Saved searches: ")
@@ -297,8 +331,9 @@ diagonal."
 :notify (lambda ( ignore)
   (customize-variable 'notmuch-saved-searches))
 "edit")
+ (if (not final-target-pos)
+ (setq final-target-pos (point-marker)))
  (widget-insert "\n\n")
- (setq final-target-pos (point-marker))
  (let ((start (point)))
(setq found-target-pos (notmuch-hello-insert-tags saved-alist 
widest target))
(if found-target-pos
-- 
tg: (1d528f8..) t/emacs-what-is-in-your-inbox (depends on: master)


[PATCH] Customize saved search order separately from regular search order

2010-06-04 Thread Michal Sojka
On Fri, 04 Jun 2010, Carl Worth wrote:
> Keith happens to use saved searches only for subsets of his inbox and in
> that case, it makes a lot of sense to see the results of all of these
> messages in an oldest-first order.

Hi,

I used saved searches mostly this way until a few days ago, when I wrote
"What's in your inbox" patch (I'll send it as a reply to this mail). I
have to say I'm quite satisfied with it.

-Michal


Re: [PATCH] Customize saved search order separately from regular search order

2010-06-04 Thread Michal Sojka
On Fri, 04 Jun 2010, Carl Worth wrote:
 Keith happens to use saved searches only for subsets of his inbox and in
 that case, it makes a lot of sense to see the results of all of these
 messages in an oldest-first order.

Hi,

I used saved searches mostly this way until a few days ago, when I wrote
What's in your inbox patch (I'll send it as a reply to this mail). I
have to say I'm quite satisfied with it.

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


[PATCH RFC] notmuch-hello: What's in your inbox

2010-06-04 Thread Michal Sojka
Hello,

I found myself very often adding something like 'tag:inbox and ...' to
the saved searches. I want my messages to be tagged by mailing list so
whenever I subscribe to a new mailing list I have to update both the
tagging script and saved searches. This work duplication doesn't seem
ideal for me so here is a patch, which shows a section What's in your
inbox in notmuch-hello screen. This section contains all tags of
messages that are tagged by inbox.

It would be nice to have some configuration for the What's in your
inbox section - for example to specify which tags are not interesting
for me (e.g. unread).

I'm not sure whether the patch applies to recent dme's notmuch-hello
updates. If not, I'll rebase it as soon as these patches appear in
master.

Signed-off-by: Michal Sojka sojk...@fel.cvut.cz

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

diff --git a/emacs/notmuch-hello.el b/emacs/notmuch-hello.el
index 6a1c56e..e61f37a 100644
--- a/emacs/notmuch-hello.el
+++ b/emacs/notmuch-hello.el
@@ -55,6 +55,11 @@
   :type 'boolean
   :group 'notmuch)
 
+(defcustom notmuch-show-inbox-tags-list nil
+  Should all tags in your inbox be shown in the notmuch-hello view?
+  :type 'boolean
+  :group 'notmuch)
+
 (defface notmuch-hello-logo-background
   'class color)
   (background dark))
@@ -289,7 +294,36 @@ diagonal.
(mapcar '(lambda (tag) (cons tag (concat tag: 
tag)))
(process-lines notmuch-command 
search-tags
 (alltags-widest (notmuch-hello-longest-label alltags-alist))
-(widest (max saved-widest alltags-widest)))
+(inboxtags-alist (if notmuch-show-inbox-tags-list
+ (mapcar '(lambda (tag) (cons tag (concat 
tag:inbox and tag: tag)))
+ (process-lines notmuch-command 
search-tags tag:inbox
+(inboxtags-widest (notmuch-hello-longest-label inboxtags-alist))
+(widest (max saved-widest alltags-widest inboxtags-widest)))
+
+
+   (when inboxtags-alist
+ (widget-insert What's in your inbox: )
+ (widget-create 'push-button
+:notify (lambda (widget rest ignore)
+  (setq notmuch-show-inbox-tags-list nil)
+  (notmuch-hello-update))
+hide)
+ (widget-insert \n\n)
+ (setq final-target-pos (point-marker))
+ (let ((start (point)))
+   (setq found-target-pos (notmuch-hello-insert-tags inboxtags-alist 
widest target))
+   (if (not final-target-pos)
+   (setq final-target-pos found-target-pos))
+   (indent-rigidly start (point) notmuch-hello-indent)))
+
+   (when (not notmuch-show-inbox-tags-list)
+ (widget-create 'push-button
+:notify (lambda (widget rest ignore)
+  (setq notmuch-show-inbox-tags-list t)
+  (notmuch-hello-update))
+Show tags in your inbox)
+ (widget-insert \n))
+   (widget-insert \n)
 
(when saved-alist
  (widget-insert Saved searches: )
@@ -297,8 +331,9 @@ diagonal.
 :notify (lambda (rest ignore)
   (customize-variable 'notmuch-saved-searches))
 edit)
+ (if (not final-target-pos)
+ (setq final-target-pos (point-marker)))
  (widget-insert \n\n)
- (setq final-target-pos (point-marker))
  (let ((start (point)))
(setq found-target-pos (notmuch-hello-insert-tags saved-alist 
widest target))
(if found-target-pos
-- 
tg: (1d528f8..) t/emacs-what-is-in-your-inbox (depends on: master)
___
notmuch mailing list
notmuch@notmuchmail.org
http://notmuchmail.org/mailman/listinfo/notmuch


Re: Use of notmuch count in notmuch-hello.el

2010-06-04 Thread Carl Worth
On Sat, 8 May 2010 13:35:39 +1000, Jason White ja...@jasonjgw.net wrote:
 The ELisp code in the current Git master branch calls notmuch count, rather
 than notmuch count *.
 
 I don't know whether this is supposed to be corrected in the C code or in the
 Emacs code; the manual page still documents the old behaviour.
 
 Here's a quick patch that enables m-x notmuch to run for me.
...
 -  (car (process-lines notmuch-command count)))
 +  (car (process-lines notmuch-command count *)))
(widget-insert  messages (that's not much mail).\n\n))

The notmuch count '*' convention is new, but the old notmuch count
convention is still supported. I'm not sure how you got into a state
where M-x notmuch would not run unless you used the new convention.

All versions of notmuch support the old convention, so that's the one
that should be used by the emacs code.

I hope that helps answer the question,

-Carl

-- 
carl.d.wo...@intel.com


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


My repository is moving once again...

2010-06-04 Thread Carl Worth
After a (much-too-long) hiatus, I just pushed a batch of changes to my
notmuch repository.

This includes the several changes that I recently reviewed on the
mailing list and said that I had committed locally and would push soon.

Additionally, I've pushed a few of bug fixes as follows:

  * Fix to never add a partially complete message to the database.

Various interruptions to notmuch processing, (perhaps other bugs
described below) would leave a half-complete message in the
database. And later runs of notmuch would trip and fall over on this
half-complete message. Thanks to a suggestion from Olly, notmuch now
never adds the partial documents to the database so this problem
should be avoided entirely.

  * Fix for really long message ID values.

Scott mentioned various Xapian exceptions and notmuch internal
errors that occurred after trying to add a message with a 300+
character message ID. I've fixed this to now be handled well, (with
new tests in the test suite to handle 512-character message IDs).

  * Make things easier after make install (for Linux at least)

On Linux systems, the configure script will now identify the various
paths supported by ldconfig (such as /usr/local/lib). Then, if the
prefix is to one of these places (such as /usr/local/), make install
will run ldconfig automatically. This will allow some people to be
able to more easily run notmuch immediately after installing.

Similarly, if the notmuch library is installed to some non-system
directory, (such as --prefix=${HOME}/foo), then the final link of
the shared binary will include a DT_RUNPATH entry to the directory
in which the library is installed. This will also allow the notmuch
binary to work immediately after make install without the user
needing to set the LD_LIBRARY_PATH variable.

I implemented this last piece only on Linux. I think OS X doesn't need
additional support for this since linking binaries against libraries
might automatically encode the paths, (though I haven't tested). I also
haven't investigated what might be the right thing to do for Solaris,
(it's probably not all that different than what I did for Linux).

So if anybody wants to put together similar patches as needed for their
favorite platforms, then that would be great.

-Carl

-- 
carl.d.wo...@intel.com


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