From 1c9931cc7d37cac9aebb034444fb87e0901e914a Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Thu, 29 Aug 2013 10:48:49 +0100 Subject: users/17955: new "disown" style for MIME handlers. Makes handlers put into the background run without job control. --- Functions/MIME/zsh-mime-handler | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'Functions') diff --git a/Functions/MIME/zsh-mime-handler b/Functions/MIME/zsh-mime-handler index abaf0b6e3..7245c20e2 100644 --- a/Functions/MIME/zsh-mime-handler +++ b/Functions/MIME/zsh-mime-handler @@ -74,7 +74,7 @@ if [[ $suffix != *.* ]]; then fi suffix=${suffix#*.} -local handler flags no_sh no_bg arg +local handler flags no_sh no_bg arg bg_flag="&" integer i local -a exec_asis hand_nonex @@ -89,6 +89,9 @@ zsh-mime-contexts -a $suffix execute-as-is exec_asis || exec_asis=('*(*)' '*(/)' zsh-mime-contexts -a $suffix handle-nonexistent hand_nonex || hand_nonex=('[[:alpha:]]#:/*') +# Set to true if the job should be disowned. +zsh-mime-contexts -t $suffix disown && bg_flag="&!" + local pattern local -a files @@ -309,8 +312,8 @@ else # Otherwise it's equivalent to removing the eval and all the quotes, # including the (q) flags. if [[ -n $stdin ]]; then - eval cat ${(q)argv} "|" ${(q)execargs} "&" + eval cat ${(q)argv} "|" ${(q)execargs} $bg_flag else - eval ${(q)execargs} "&" + eval ${(q)execargs} $bg_flag fi fi -- cgit 1.4.1