ÿØÿà JFIF      ÿÛ C      

!"$"$ÿÛ C  ÿÂ p " ÿÄ              ÿÄ             ÿÚ    ÕÔË®
(%	aA*‚XYD¡(J„¡E¢RE,P€XYae )(E¤²€B¤R¥	BQ¤¢ X«)X…€¤   @  

  ..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     ÿØÿà JFIF      ÿÛ C      

!"$"$ÿÛ C  ÿÂ p " ÿÄ              ÿÄ             ÿÚ    ÕÔË®
(%	aA*‚XYD¡(J„¡E¢RE,P€XYae )(E¤²€B¤R¥	BQ¤¢ X«)X…€¤   @  

  ..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     # Call this from the preexec function like so:
#   preexec() {
#	  getjobs "${(z)2}"  # Use "${(z)1}" prior to zsh-4.0.1
#   }
setopt localoptions noshwordsplit noksharrays
local texts
case $1 in
    fg|bg) shift; [[ -n $1 ]] || set -- %% ;;
    %*) ;;
    *) return 0 ;;
esac
repeat $#
do
    # This case statement emulates jobs.c:getjob()
    case $1 in
	[\;\&\|]|\|\||\&\&) break ;;
	%(|[%+])) 1=${(k)jobstates[(r)*:+:*]} ;;
	%-) 1=${(k)jobstates[(r)*:-:*]} ;;
	%<->) 1=${1#%} ;;
	%[?]*) 1=${${(Ok)jobtexts[(R)*${1#%[?]}*]}[1]} ;;
	*) 1=${${(Ok)jobtexts[(R)$1*]}[1]} ;;
    esac
    [[ -n $1 ]] && texts=($texts ${jobtexts[$1]})
    shift
done
# Remove the "-s" below if you'd prefer that this just report
# what jobs are being affected rather than modify the history
(( $#texts )) && print -s ${(j:; :)texts} "$*"
return 0
