-
Notifications
You must be signed in to change notification settings - Fork 987
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Non-tail calls to errorf sometimes treated as tail calls with debug-level 2 #833
Comments
Setting Possibly, the solution is to guard various |
Or maybe the problem is that On further reflection, although I had not noticed the specification of |
After investigating and refreshing my memory on 6a73b9e, I see how the Specifically, the cp0/cptypes pass will lift an error-raising expression out of a nested position if determines that no continuation-mark operations will detect that change. (Although raising an exception will eventually call a handler that might use continuation-mark operations, the call to the handler is not in tail position with respect to the exception-raising function.) But |
Candidate repair: #834 |
Since #834 was merged, should this be closed? |
(debug-level 2) is supposed to preserve non-tail calls to error functions like errorf. In Chez Scheme 10.0.0, the following code produces a tail call to errorf:
It appears that cp0 is eliminating the call to pretty-print:
The text was updated successfully, but these errors were encountered: