RE: [PATCH] VIM: Respect exclude_tags specified in .notmuch-config

2014-11-15 Thread David Bremner
Franz Fellner alpine.art...@gmail.com writes:

 Exclude mails tagged with any tag specified in
 notmuch config get search.exclude_tags
 in folders list and search list.


This seems like an important feature and I'd like to add it.  It needs
rebasing against current master. Also, as a nitpick, please fill the
commit comment to something like 65-75 columns.

Cheers,

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


RE: [PATCH] VIM: Respect exclude_tags specified in .notmuch-config

2014-10-20 Thread Ian Main

Thanks Franz!

So this works well in the main searches by not showing anything I have marked
as 'spam'.  However if I force a search for tag:spam and then try to view any
of the messages presented they will not show up because of the way we display
the email..  :-/

I'm not sure what is the best way to fix this..

Ian

Franz Fellner wrote:
 commit 558719b9ea9c218117c448cf4c7bd671de14d968
 Author: Franz Fellner alpine.art...@gmail.com
 Date:   Fri Oct 17 17:53:58 2014 +0200
 
 Exclude tags specified by
 notmuch config get search.exclude_tags
 
 diff --git a/vim/notmuch.vim b/vim/notmuch.vim
 index 5c86fcd..b8d11fe 100644
 --- a/vim/notmuch.vim
 +++ b/vim/notmuch.vim
 @@ -647,6 +647,7 @@ ruby  EOF
   $db_name = nil
   $all_emails = []
   $email = $email_name = $email_address = nil
 + $exclude_tags = []
   $searches = []
   $threads = []
   $messages = []
 @@ -672,6 +673,8 @@ ruby  EOF
   # Add the primary to this too as we use it for checking
   # addresses when doing a reply
   $all_emails.unshift($email_address)
 + ignore_tags = get_config_item('search.exclude_tags')
 + $exclude_tags = ignore_tags.split(\n)
   end
  
   def vim_puts(s)
 @@ -924,6 +927,9 @@ ruby  EOF
  
   def query(*args)
   q = @db.query(*args)
 + $exclude_tags.each { |t|
 + q.add_tag_exclude(t)
 + }
   @queries  q
   q
   end
 ___
 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] VIM: Respect exclude_tags specified in .notmuch-config

2014-10-20 Thread Franz Fellner
Ian Main wrote:
 
 Thanks Franz!
 
 So this works well in the main searches by not showing anything I have marked
 as 'spam'.  However if I force a search for tag:spam and then try to view any
 of the messages presented they will not show up because of the way we display
 the email..  :-/

Yes, the patch did not work perfectly.
I already fixed that but forgot to send a new PATCH here - Mostly
bacause my git-skills are - ehh - no idea...
I now spent half an hour to somehow get a merged version of those two commits
and ended up with a simple git diff...
If you have a good how-to that describes such things I would be happy, because 
I also
miss the common terms how things are called in git and searching without knowing
what exactly I am looking for is hard...

Here is the commit:
https://github.com/ff2000/notmuch/commit/4fde250b53ce450fec3393d8578458d521a69c91
New patch coming soon.

Franz

 
 I'm not sure what is the best way to fix this..
 
 Ian
 
 Franz Fellner wrote:
  commit 558719b9ea9c218117c448cf4c7bd671de14d968
  Author: Franz Fellner alpine.art...@gmail.com
  Date:   Fri Oct 17 17:53:58 2014 +0200
  
  Exclude tags specified by
  notmuch config get search.exclude_tags
  
  diff --git a/vim/notmuch.vim b/vim/notmuch.vim
  index 5c86fcd..b8d11fe 100644
  --- a/vim/notmuch.vim
  +++ b/vim/notmuch.vim
  @@ -647,6 +647,7 @@ ruby  EOF
  $db_name = nil
  $all_emails = []
  $email = $email_name = $email_address = nil
  +   $exclude_tags = []
  $searches = []
  $threads = []
  $messages = []
  @@ -672,6 +673,8 @@ ruby  EOF
  # Add the primary to this too as we use it for checking
  # addresses when doing a reply
  $all_emails.unshift($email_address)
  +   ignore_tags = get_config_item('search.exclude_tags')
  +   $exclude_tags = ignore_tags.split(\n)
  end
   
  def vim_puts(s)
  @@ -924,6 +927,9 @@ ruby  EOF
   
  def query(*args)
  q = @db.query(*args)
  +   $exclude_tags.each { |t|
  +   q.add_tag_exclude(t)
  +   }
  @queries  q
  q
  end
  ___
  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] VIM: Respect exclude_tags specified in .notmuch-config

2014-10-20 Thread Franz Fellner
Exclude mails tagged with any tag specified in
notmuch config get search.exclude_tags
in folders list and search list.

diff --git a/vim/notmuch.vim b/vim/notmuch.vim
index 5c86fcd..522a366 100644
--- a/vim/notmuch.vim
+++ b/vim/notmuch.vim
@@ -647,6 +647,7 @@ ruby  EOF
$db_name = nil
$all_emails = []
$email = $email_name = $email_address = nil
+   $exclude_tags = []
$searches = []
$threads = []
$messages = []
@@ -672,6 +673,8 @@ ruby  EOF
# Add the primary to this too as we use it for checking
# addresses when doing a reply
$all_emails.unshift($email_address)
+   ignore_tags = get_config_item('search.exclude_tags')
+   $exclude_tags = ignore_tags.split(\n)
end
 
def vim_puts(s)
@@ -859,6 +862,9 @@ ruby  EOF
end
folders.each do |name, search|
q = $curbuf.query(search)
+   $exclude_tags.each { |t|
+   q.add_tag_exclude(t)
+   }
$searches  search
count = count_threads ? q.search_threads.count 
: q.search_messages.count
if name == ''
@@ -874,6 +880,9 @@ ruby  EOF
date_fmt = VIM::evaluate('g:notmuch_date_format')
q = $curbuf.query(search)
q.sort = Notmuch::SORT_NEWEST_FIRST
+   $exclude_tags.each { |t|
+   q.add_tag_exclude(t)
+   }
$threads.clear
t = q.search_threads
 
___
notmuch mailing list
notmuch@notmuchmail.org
http://notmuchmail.org/mailman/listinfo/notmuch


RE: [PATCH] VIM: Respect exclude_tags specified in .notmuch-config

2014-10-20 Thread Ian Main
Franz Fellner wrote:
 Ian Main wrote:
  
  Thanks Franz!
  
  So this works well in the main searches by not showing anything I have 
  marked
  as 'spam'.  However if I force a search for tag:spam and then try to view 
  any
  of the messages presented they will not show up because of the way we 
  display
  the email..  :-/
 
 Yes, the patch did not work perfectly.
 I already fixed that but forgot to send a new PATCH here - Mostly
 bacause my git-skills are - ehh - no idea...
 I now spent half an hour to somehow get a merged version of those two commits
 and ended up with a simple git diff...
 If you have a good how-to that describes such things I would be happy, 
 because I also
 miss the common terms how things are called in git and searching without 
 knowing
 what exactly I am looking for is hard...
 
 Here is the commit:
 https://github.com/ff2000/notmuch/commit/4fde250b53ce450fec3393d8578458d521a69c91
 New patch coming soon.
 
 Franz

If you are working off the same patch that you already posted you would 
generally
do work on that branch and then you can do:

git add ...
git commit --amend

which commits the new stuff on top of the same commit you already had.

To send to the mailing list, I use:

git format-patch -1
(check the patch output..)
git send-email filename

which requires that you have your .gitconfig set up to have the list address
and such.

Also you can look into 'git cherry-pick' to grab commits from other branches
and 'git rebase -i' which allows you to squash commits together.  eg:

git rebase -i HEAD~2

lets you squash the last two patches together by adding 'squash' to the
front of the latest commit.

Hopefully that helps and I didn't misinterpret what you needed.

Ian



  
  I'm not sure what is the best way to fix this..
  
  Ian
  
  Franz Fellner wrote:
   commit 558719b9ea9c218117c448cf4c7bd671de14d968
   Author: Franz Fellner alpine.art...@gmail.com
   Date:   Fri Oct 17 17:53:58 2014 +0200
   
   Exclude tags specified by
   notmuch config get search.exclude_tags
   
   diff --git a/vim/notmuch.vim b/vim/notmuch.vim
   index 5c86fcd..b8d11fe 100644
   --- a/vim/notmuch.vim
   +++ b/vim/notmuch.vim
   @@ -647,6 +647,7 @@ ruby  EOF
 $db_name = nil
 $all_emails = []
 $email = $email_name = $email_address = nil
   + $exclude_tags = []
 $searches = []
 $threads = []
 $messages = []
   @@ -672,6 +673,8 @@ ruby  EOF
 # Add the primary to this too as we use it for checking
 # addresses when doing a reply
 $all_emails.unshift($email_address)
   + ignore_tags = get_config_item('search.exclude_tags')
   + $exclude_tags = ignore_tags.split(\n)
 end

 def vim_puts(s)
   @@ -924,6 +927,9 @@ ruby  EOF

 def query(*args)
 q = @db.query(*args)
   + $exclude_tags.each { |t|
   + q.add_tag_exclude(t)
   + }
 @queries  q
 q
 end
   ___
   notmuch mailing list
   notmuch@notmuchmail.org
   http://notmuchmail.org/mailman/listinfo/notmuch
  
  
 
 


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