-
Notifications
You must be signed in to change notification settings - Fork 34
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
Set Default Proof Mode is ignored in 8.20 #375
Comments
Interesting, this seems to be specific to Test Mangle Names Prefix. (* Mangle Names Prefix: Some(val='_') *)
Set Mangle Names Prefix "a".
Test Mangle Names Prefix. (* Mangle Names Prefix: Some(val='a') *)
Test Loose Hint Behavior. (* Loose Hint Behavior: Some(val='Lax') *)
Set Loose Hint Behavior "Warn".
Test Loose Hint Behavior. (* Loose Hint Behavior: Some(val='Warn') *) I don't have any ideas as to what's going wrong and the debug logs aren't revealing anything useful, so I'm trying to track down when exactly it broke using git bisect. From what I've seen so far, it stopped working somewhere between 8.18+alpha and 8.18.0. |
Due to a change in how Coq parses vernacular commands (coq/coq@4037361#diff-66d601f10f9baccbf2b788a65d749b194c0b828dab399f69c216da8e63100303R65), certain options, including `Default Proof Mode` cannot be set by `SetOptions` in Coq >=8.18. The solution is just to use `Add` instead. Unfortunately, Coq complains about setting certain options like `Printing All` this way, so these few cases still use `SetOptions`. Fix #375
Thank you very much! |
I am working in a project that uses a mixture of ltac1 and ltac2 tactics, with ltac1 wrappers for the latter. Because of this, we often use
Set Default Proof Mode "Classic".
at the top of files and use the ltac1 tactics and wrappers, which worked fine so far on 8.18 and the latest version of the plugin. However, since upgrading to 8.20 (and not touching the plugin version), it seems that this plugin ignores that line, breaking all the scripts, while coqide handles it as usual. Here is a simple example to demonstrate the problem:Running this in vim with the plugin gives
Default Proof Mode: Some(val='Ltac2')
for line 7, immediately showing that the setting didn't persist, but continuing further, I getThis expression should have type unit but has type unit -> unit. [not-unit,ltac2,default]
for line 11, so it indeed doesn't work. Running the same script in coqide, line 7 givesCurrent value of Default Proof Mode is "Classic"
, and line 11 gives the expectedtest
. Piping the script to coqtop gives the same result as coqide, so the issue is not there.While the usual workarounds, such as starting the proof with
Proof Mode "Classic".
, or usingltac1:(test).
ortest ().
work, it would be nice to have this issue fixed, so I don't need special scripts compared to the rest of the team.The text was updated successfully, but these errors were encountered: