slightly better mairix escaping
[muttjump] / muttjump
index fb9bde09f22d96c0bbc60f7ac39b249a6eeaec75..82b9ea3dc582ed3a49142ec14c5273d00fcaaf06 100755 (executable)
--- a/muttjump
+++ b/muttjump
@@ -149,7 +149,7 @@ case $MUTTJUMP_INDEXER in
         # mairix can't quote special characters (~,/=^) in search words. As a
         # workaround, split Message-ID in 31-character long AND-linked
         # substrings.
-        msgid_mairix=$(echo "$msgid_clean" | sed -e 's/[~,/=^]/=,/g' \
+        msgid_mairix=$(echo "$msgid_clean" | sed -e 's/[~,/=^]\+/=,/g' \
             -e 's/.\{31\}/&=,/g' -e 's/^\(=,\)\+//g' -e 's/$/=/' \
             -e 's/\(=,\|=\)\+$/=/g')
         orig_msgfiles=$($MAIRIX -r "m:$msgid_mairix")
@@ -207,7 +207,8 @@ if [ ! -d "$orig_maildir/cur" ] ; then
     die "directory $(quote "$orig_maildir") doesn't exist or is no Maildir"
 fi
 
-jump_expr="~i'$msgid'"
+msgid_mutt=$(quote_regexp "$msgid_quoted")
+jump_expr="~i'$msgid_mutt'"
 
 if [ "$MUTTJUMP_MULTI_SCREEN_MODE" = no ] ; then
 

Benjamin Mako Hill || Want to submit a patch?