Closed Blaisorblade closed 1 year ago
Relatedly, a colleague has reported an unexplained Syntax error: entry [elpi_loc] is empty.
in Proof General (fixed by restarting proof general).
In coq-lsp, I'm also seeing spurious Syntax error: entry [elpi_loc] is empty.
in code that does not load elpi, but only if I open other files that do load elpi.
Hum, LSP wants one server for all your files... so I guess the bug leaks. What I still don't get is what is coq-elpi specific.. there are other plugins extending the grammar...
oh maybe it's just https://github.com/coq/coq/issues/12575 / https://github.com/coq/coq/pull/17069
Not quite — https://github.com/coq/coq/pull/17069 was backported.
But comments there suggest plugins need changes — SkySkimmer mentions elpi needs special support since it has an evolving grammar.
@SkySkimmer can you help me reproduce the problem and fix elpi?
I tried with Reset Initial
but I could not get a bug.
I'll try to have a look next week
IIRC the idea is that you do Elpi Export
of some program (or Import something that does), then backtrack (either interactively, or closing the current module), the exported syntax is still active.
Relatedly, a colleague has reported an unexplained Syntax error: entry [elpi_loc] is empty. in Proof General (fixed by restarting proof general).
This may be a bug in the grammar engine state reset. Hard to say without reproducing.
Discovered on
derive
— not minimized. Here, the syntax remains in place after stepping back; https://github.com/LPCIC/coq-elpi/issues/449 also has an issue withUndo
, but there undoing works and redoing doesn't.Require Import bedrock.prelude.elpi.derive.
#[only(eq_dec)] derive some_type.
commandRequire Import bedrock.prelude.elpi.derive.
because thederive
statement worked anywaycoqc
, and that failed.With
#[only(eq_dec)] derive some_type.
:With
derive alloc_id_aux.
: