From: Johannes Weißl Date: Thu, 11 Nov 2010 00:29:31 +0000 (+0100) Subject: replace single screen call with two separate (more portable) X-Git-Url: https://projects.mako.cc/source/muttjump/commitdiff_plain/2a0aaa28a321c25650d5a34f2a8d458617074452?ds=inline replace single screen call with two separate (more portable) Reason: screen version 4.00.03jw4 (FAU) and 4.01.00devel (GNUa805439) handle backslash escaping different when using `screen eval`. works in 4.00.03jw4 (FAU): screen -X eval "select 0" "stuff 'isn'\\''t that nice'" works in 4.01.00devel (GNUa805439): screen -X eval "select 0" "stuff 'isn'\\\\''t that nice'" --- diff --git a/muttjump b/muttjump index 3d5736c..f377160 100755 --- a/muttjump +++ b/muttjump @@ -133,7 +133,7 @@ if [ ! -d "$orig_maildir/cur" ] ; then die "directory $(quote "$orig_maildir") doesn't exist or is no Maildir" fi -jump_cmd="$orig_maildir<$MUTTJUMP_MODE>~i '$msgid'" +jump_cmd="<$MUTTJUMP_MODE>~i '$msgid'" if [ "$MUTTJUMP_USE_SCREEN" = no ] ; then @@ -145,7 +145,7 @@ if [ "$MUTTJUMP_USE_SCREEN" = no ] ; then exec < $term # start mutt, open original folder and jump to the original message - $MUTT -e "push \"$jump_cmd\"" + $MUTT -e "push \"$orig_maildir$jump_cmd\"" else @@ -156,8 +156,8 @@ else screen_opts_str="-S $(quote "$MUTTJUMP_SCREEN_SESSION")" fi - $SCREEN "${screen_opts[@]}" -X eval "select $(quote "$screen_window_name")" "stuff \":push \\\"$jump_cmd\\\" -\"" + $SCREEN "${screen_opts[@]}" -p "$screen_window_name" -X select . + $SCREEN "${screen_opts[@]}" -p "$screen_window_name" -X stuff ":push \"$jump_cmd\" " if [ $? != 0 ] ; then die "You have to manually start a screen session with: $SCREEN $screen_opts_str -t $(quote "$screen_window_name") $MUTT -f $(quote "$orig_maildir")"