unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
* [PATCH] replace gnu xargs usage in notmuch-mutt with perl
@ 2012-04-09 21:11 Taylor Carpenter
  2012-04-09 22:17 ` David Bremner
  2012-04-10 16:28 ` Tomi Ollila
  0 siblings, 2 replies; 4+ messages in thread
From: Taylor Carpenter @ 2012-04-09 21:11 UTC (permalink / raw)
  To: notmuch

---
 contrib/notmuch-mutt/notmuch-mutt |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/contrib/notmuch-mutt/notmuch-mutt b/contrib/notmuch-mutt/notmuch-mutt
index 71206c3..dbe7f2d 100755
--- a/contrib/notmuch-mutt/notmuch-mutt
+++ b/contrib/notmuch-mutt/notmuch-mutt
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -w
+#!/usr/bin/env perl -w
 #
 # notmuch-mutt - notmuch (of a) helper for Mutt
 #
@@ -12,6 +12,7 @@ use strict;
 use warnings;
 
 use File::Path;
+use File::Basename;
 use Getopt::Long qw(:config no_getopt_compat);
 use Mail::Internet;
 use Mail::Box::Maildir;
@@ -41,9 +42,12 @@ sub search($$) {
     $query = shell_quote($query);
 
     empty_maildir($maildir);
-    system("notmuch search --output=files $query"
-	   . " | sed -e 's: :\\\\ :g'"
-	   . " | xargs --no-run-if-empty ln -s -t $maildir/cur/");
+    my @filelist = `notmuch search --output=files $query`;
+    foreach(@filelist) {
+        chomp;
+        my $target = sprintf("$maildir/cur/%s", basename($_));
+        symlink($_, $target);
+    }
 }
 
 sub prompt($$) {
-- 
1.7.7.4

^ permalink raw reply related	[flat|nested] 4+ messages in thread
* Re: [PATCH] replace gnu xargs usage in notmuch-mutt with perl
@ 2012-04-10  8:25 Stefano Zacchiroli
  0 siblings, 0 replies; 4+ messages in thread
From: Stefano Zacchiroli @ 2012-04-10  8:25 UTC (permalink / raw)
  To: Taylor Carpenter; +Cc: notmuch

Hi Taylor, thanks for your patch. It makes sense to me, and has the
beneficial side effect of avoiding a sed pass to do some poor men shell
escaping.

Before applying, however, can you please update it to:

- include a reasonable comment (as suggested by David)
- avoid patching the shebang line (ditto)
- coalesce the sprintf() line into the following symlink line (using
  sprintf seems redundant here: it's plain string concatenation)

Thanks!
Cheers.

PS please Cc:-me on replies
-- 
Stefano Zacchiroli     zack@{upsilon.cc,pps.jussieu.fr,debian.org} . o .
Maître de conférences   ......   http://upsilon.cc/zack   ......   . . o
Debian Project Leader    .......   @zack on identi.ca   .......    o o o
« the first rule of tautology club is the first rule of tautology club »

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2012-04-10 16:28 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-04-09 21:11 [PATCH] replace gnu xargs usage in notmuch-mutt with perl Taylor Carpenter
2012-04-09 22:17 ` David Bremner
2012-04-10 16:28 ` Tomi Ollila
  -- strict thread matches above, loose matches on Subject: below --
2012-04-10  8:25 Stefano Zacchiroli

Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).