-
Notifications
You must be signed in to change notification settings - Fork 85
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
Never send two commands at once #563
Comments
Well spotted! |
Pierre Courtieu ***@***.***> writes:
I can fix that.
That would be nice. I thought about returning a list of strings
instead of a string from `coq-set-search-blacklist`, but this
would require changes where `proof-assistant-settings` is
processed.
|
It is not worth it. There is already a command |
Splitting the coq into two commands made me remove coq-search-blacklist-string from defpgcustom. The visible effect is that the menu entry has moved, and the command name changed. This is explained in the CHANGES.
ok, fine with me, I don't even know what that feature is for |
Search is for listing currently imported lemmas by queries, by there names, type etc. The Blacklist thing is to systematically exclude things from the queries. I find it quite useful to set it to "Private_" "_subproof" "_ind" "_rec" "_rect", and during development I tend to make it grow while detecting things polluting my queries. |
Splitting the coq into two commands made me remove coq-search-blacklist-string from defpgcustom. The visible effect is that the menu entry has moved, and the command name changed. This is explained in the CHANGES.
…ation. Splitting the coq into two commands made me remove coq-search-blacklist-string from defpgcustom. The visible effect is that the menu entry has moved, and the command name changed. This is explained in the CHANGES. To squash.
Splitting the coq into two commands made me remove coq-search-blacklist-string from defpgcustom. The visible effect is that the menu entry has moved, and the command name changed. This is explained in the CHANGES. To squash.
We should never send two commands at once to Coq as it is currently done here:
PG/coq/coq.el
Line 2157 in 56ee4eb
Via
:setting
,coq-search-blacklist
(search fordefpacustom search-blacklist
) appears inproof-assistant-settings
, which causes to evaluatecoq-set-search-blacklist
when Coq starts at the end ofproof-shell-config-done
.Sending two commands at once (of course) causes Coq to return two prompts. In rare cases in automated tests,
proof-shell-exec-loop
just sees the first prompt and sends the next command directly after the first prompt, such that there is one additional prompt pending for quite a while. While debugging a sporadic test error for a new test for #559, I captured the following content from*coq*
:Here the additional prompt is only processed 12 commands later! For this new test this happens in about 1 of 10 runs. In the other runs the additional prompt is processed directly after the blacklist command.
This effect is a very good candidate for causing #537.
The text was updated successfully, but these errors were encountered: