Okay. I think I understand. I'll try to give some advice.
The command 'exit' does exit the script or shell. If you are inside a
function, 'return' will exit the function not the whole shell.
If you want to preserve the error code value, something like this will do:
function foo
ls # this is the command that might fail
set error_code $status
if test 0 -ne $error_code
echo call_error_handler
return $error_code
end
end
If you don't need to preserve the error code, but only care about success or
failure, you can simplify:
ls || begin
echo call_error_handler
false
end
_______________________________________________
Fish-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/fish-users