fix #3293, do block inside function argument