[RFC] Enhancements to address completion

2011-03-14 Thread Kristoffer Ström
On Mon, 14 Mar 2011 22:05:00 +0100, Xavier Maillard  
wrote:
> Hey Kristoffer
> 
> On Mon, 14 Mar 2011 10:26:20 +0100, Kristoffer Str?m  rymdkoloni.se> wrote:
> 
> > I use it for completing through a modified version of eudc-select.
> 
> Would you mind posting this 'modified version of eudc-select' here ?
> 
> /Xavier

Not at all fancy, only this:

https://gist.github.com/869875


[RFC] Enhancements to address completion

2011-03-14 Thread Xavier Maillard
Hey Kristoffer

On Mon, 14 Mar 2011 10:26:20 +0100, Kristoffer Str?m  wrote:

> I use it for completing through a modified version of eudc-select.

Would you mind posting this 'modified version of eudc-select' here ?

/Xavier


Chert backend

2011-03-14 Thread Sebastian Spaeth
Hi all, just a reminder for all those who were annoyed with notmuch
performance.

I was still using the xapian in my ubuntu (1.0.20) which did not offer
the chert backend. I have now installed the newer libxapian (can exist
in parallel) and libxapian-dev and have converted my notmuch store to
chert rather than the flint backend.

It boils down to remove the 'xapian' dir and recreate it with:
XAPIAN_PREFER_CHERT=1 notmuch new
(don't forget to dump and restore your tags :-)).

The performance difference on my encrypted home partition is night and
day for me. I am not sure if the old db had been collecting cruft or
whatnot, but things are much speedier using chert.

So if you have an "imamflint" file in your xapian directory you might
want to try the same on your distro.

Sebastian


[RFC] Enhancements to address completion

2011-03-14 Thread Kristoffer Ström
On Mon, 14 Mar 2011 02:29:14 -0400, servilio  wrote:
> I have been working in some enhancements to the emacs UI address
> completion, and this weekend I was able to find a way to finish the
> implementation to an acceptable (to me) state.
> 
> The gist of it is allowing the completion in Emacs to match against
> any part of the addresses returned by the notmuch-addrlookup command.
> I could not find a way to have completing-read behave that way, the
> strategy of matching anchored to the beginning of strings is
> in-grained in its design for what I've seen.
> 
> The current implementation uses Ido, included with Emacs at least in
> version 23, and is available at:
> 
> git://git.latertulia.org/servilio/notmuch.git
> 
> In the branch complete-name-and-address-v2. There is a web interface
> if you prefer to see the changes, just use "http" as the protocol in
> your web browser.
> 
> The first few changes in the branch are fixes and small enhancements I
> found while working on this, and I have sent them as separate patches
> for acceptance as they are independent of this work. All of this has
> been in use (in the form of the branch without "-v2") for almost a
> year. I started a message in August but somehow successfully forgot
> completely about it.
> 
> Regards,
> 
> Servilio

Have you looked at 'ido-completing-read that comes with ido-mode?
I use it for completing through a modified version of eudc-select.

It allows for fuzzy matching on any part of the name.


[RFC] Enhancements to address completion

2011-03-14 Thread servilio
2011/3/14 Kristoffer Str?m :
> Have you looked at 'ido-completing-read that comes with ido-mode?
[...]
> It allows for fuzzy matching on any part of the name.

Yes, that's what I use, yes with flex matching.

Regards,

Servilio


[RFC] Enhancements to address completion

2011-03-14 Thread servilio
I have been working in some enhancements to the emacs UI address
completion, and this weekend I was able to find a way to finish the
implementation to an acceptable (to me) state.

The gist of it is allowing the completion in Emacs to match against
any part of the addresses returned by the notmuch-addrlookup command.
I could not find a way to have completing-read behave that way, the
strategy of matching anchored to the beginning of strings is
in-grained in its design for what I've seen.

The current implementation uses Ido, included with Emacs at least in
version 23, and is available at:

git://git.latertulia.org/servilio/notmuch.git

In the branch complete-name-and-address-v2. There is a web interface
if you prefer to see the changes, just use "http" as the protocol in
your web browser.

The first few changes in the branch are fixes and small enhancements I
found while working on this, and I have sent them as separate patches
for acceptance as they are independent of this work. All of this has
been in use (in the form of the branch without "-v2") for almost a
year. I started a message in August but somehow successfully forgot
completely about it.

Regards,

Servilio


[PATCH] No initial input for completing-read.

2011-03-14 Thread servilio
Seeding the autocompletion with the first match makes it harder to see
what the other matches are, as all the extra characters would need to
be deleted before being able to see the matches.
---
 emacs/notmuch-address.el |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/emacs/notmuch-address.el b/emacs/notmuch-address.el
index 2960da9..fc2df12 100644
--- a/emacs/notmuch-address.el
+++ b/emacs/notmuch-address.el
@@ -57,7 +57,7 @@ line."
 (chosen (if (eq num-options 1)
 (car options)
   (completing-read (format "Address (%s matches): " 
num-options)
-   (cdr options) nil nil (car options)
+   options nil nil nil
'notmuch-address-history
 (when chosen
   (push chosen notmuch-address-history)
-- 
1.7.4.1


[PATCH] Save global match data when looking for the beginning of field.

2011-03-14 Thread servilio
Thus avoid disrupting usage of regular expressions functions
elsewhere.
---
 emacs/notmuch-address.el |6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/emacs/notmuch-address.el b/emacs/notmuch-address.el
index 52e320d..2960da9 100644
--- a/emacs/notmuch-address.el
+++ b/emacs/notmuch-address.el
@@ -47,9 +47,9 @@ line."
 (defun notmuch-address-expand-name ()
   (let* ((end (point))
 (beg (save-excursion
-   (re-search-backward "\\(\\`\\|[\n:,]\\)[ \t]*")
-   (match-end 0)
-   ))
+   (save-match-data
+ (re-search-backward "\\(\\`\\|[\n:,]\\)[ \t]*")
+ (match-end 0
 (orig (buffer-substring-no-properties beg end))
 (completion-ignore-case t)
 (options (notmuch-address-options orig))
-- 
1.7.4.1


[PATCH] Eliminate redundant code.

2011-03-14 Thread servilio
There is no need to move the cursor to the position if you can
retrieve its value directly.
---
 emacs/notmuch-address.el |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/emacs/notmuch-address.el b/emacs/notmuch-address.el
index 1a7c577..52e320d 100644
--- a/emacs/notmuch-address.el
+++ b/emacs/notmuch-address.el
@@ -48,8 +48,8 @@ line."
   (let* ((end (point))
 (beg (save-excursion
(re-search-backward "\\(\\`\\|[\n:,]\\)[ \t]*")
-   (goto-char (match-end 0))
-   (point)))
+   (match-end 0)
+   ))
 (orig (buffer-substring-no-properties beg end))
 (completion-ignore-case t)
 (options (notmuch-address-options orig))
-- 
1.7.4.1


[RFC] Enhancements to address completion

2011-03-14 Thread servilio
I have been working in some enhancements to the emacs UI address
completion, and this weekend I was able to find a way to finish the
implementation to an acceptable (to me) state.

The gist of it is allowing the completion in Emacs to match against
any part of the addresses returned by the notmuch-addrlookup command.
I could not find a way to have completing-read behave that way, the
strategy of matching anchored to the beginning of strings is
in-grained in its design for what I've seen.

The current implementation uses Ido, included with Emacs at least in
version 23, and is available at:

git://git.latertulia.org/servilio/notmuch.git

In the branch complete-name-and-address-v2. There is a web interface
if you prefer to see the changes, just use http as the protocol in
your web browser.

The first few changes in the branch are fixes and small enhancements I
found while working on this, and I have sent them as separate patches
for acceptance as they are independent of this work. All of this has
been in use (in the form of the branch without -v2) for almost a
year. I started a message in August but somehow successfully forgot
completely about it.

Regards,

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


Re: [RFC] Enhancements to address completion

2011-03-14 Thread Kristoffer Ström
On Mon, 14 Mar 2011 02:29:14 -0400, servilio servi...@gmail.com wrote:
 I have been working in some enhancements to the emacs UI address
 completion, and this weekend I was able to find a way to finish the
 implementation to an acceptable (to me) state.
 
 The gist of it is allowing the completion in Emacs to match against
 any part of the addresses returned by the notmuch-addrlookup command.
 I could not find a way to have completing-read behave that way, the
 strategy of matching anchored to the beginning of strings is
 in-grained in its design for what I've seen.
 
 The current implementation uses Ido, included with Emacs at least in
 version 23, and is available at:
 
 git://git.latertulia.org/servilio/notmuch.git
 
 In the branch complete-name-and-address-v2. There is a web interface
 if you prefer to see the changes, just use http as the protocol in
 your web browser.
 
 The first few changes in the branch are fixes and small enhancements I
 found while working on this, and I have sent them as separate patches
 for acceptance as they are independent of this work. All of this has
 been in use (in the form of the branch without -v2) for almost a
 year. I started a message in August but somehow successfully forgot
 completely about it.
 
 Regards,
 
 Servilio

Have you looked at 'ido-completing-read that comes with ido-mode?
I use it for completing through a modified version of eudc-select.

It allows for fuzzy matching on any part of the name.
___
notmuch mailing list
notmuch@notmuchmail.org
http://notmuchmail.org/mailman/listinfo/notmuch


Chert backend

2011-03-14 Thread Sebastian Spaeth
Hi all, just a reminder for all those who were annoyed with notmuch
performance.

I was still using the xapian in my ubuntu (1.0.20) which did not offer
the chert backend. I have now installed the newer libxapian (can exist
in parallel) and libxapian-dev and have converted my notmuch store to
chert rather than the flint backend.

It boils down to remove the 'xapian' dir and recreate it with:
XAPIAN_PREFER_CHERT=1 notmuch new
(don't forget to dump and restore your tags :-)).

The performance difference on my encrypted home partition is night and
day for me. I am not sure if the old db had been collecting cruft or
whatnot, but things are much speedier using chert.

So if you have an imamflint file in your xapian directory you might
want to try the same on your distro.

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