Hello, with the latest git version of dash trap actions are not evaluated in the context of a function. The following script demonstrates the bug: ----8<---- read_timeout () { saved_traps="$(trap)" trap 'printf "timed out\n"; eval "${saved_traps}"; return' TERM ( sleep $1; kill -TERM $$ ) >/dev/null 2>&1 & timer_pid=$! read $2 kill $timer_pid 2>/dev/null } read_timeout 5 value printf "read \"%s\"\n" "${value:=default}" ---->8---- The return statement in the trap inside the read_timeout function does not return from the function but rather exits the script. With dash 0.5.5.1 it works as expected. -- Guido Berhoerster -- To unsubscribe from this list: send the line "unsubscribe dash" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html