diff options
author | 2017-02-21 09:30:57 +0100 | |
---|---|---|
committer | 2017-02-21 09:30:57 +0100 | |
commit | e91286465973b6ba40d6646c630df8faa73eb8f1 (patch) | |
tree | 58a00bf676dfef64452b5ed25c1587997387e237 /dev | |
parent | 2b4f249ed0a28cde876f18aacf19f646d8af8fae (diff) | |
parent | b09751b9a1b48541acc9a2daaff9ebc453fc3bf7 (diff) |
Merge PR#309: Ltac as a plugin
Diffstat (limited to 'dev')
-rw-r--r-- | dev/doc/changes.txt | 18 | ||||
-rw-r--r-- | dev/ocamldebug-coq.run | 2 |
2 files changed, 19 insertions, 1 deletions
diff --git a/dev/doc/changes.txt b/dev/doc/changes.txt index f54f3fcc8..8d2d05590 100644 --- a/dev/doc/changes.txt +++ b/dev/doc/changes.txt @@ -40,6 +40,24 @@ important things: - Some printing functions were moved from Pptactic to Pputils - A part of Tacexpr has been moved to Tactypes +The folder itself has been turned into a plugin. This does not change much, +but because it is a packed plugin, it may wreak havoc for third-party plugins +depending on any module defined in the ltac/ directory. Namely, even if +everything looks OK at compile time, a plugin can fail to load at link time +because it mistakenly looks for a module Foo instead of Ltac_plugin.Foo, with +an error of the form: + +Error: while loading myplugin.cmxs, no implementation available for Foo. + +In particular, most EXTEND macros will trigger this problem even if they +seemingly do not use any Ltac module, as their expansion do. + +The solution is simple, and consists in adding a statement "open Ltac_plugin" +in each file using a Ltac module, before such a module is actually called. An +alternative solution would be to fully qualify Ltac modules, e.g. turning any +call to Tacinterp into Ltac_plugin.Tacinterp. Note that this solution does not +work for EXTEND macros though. + ** Error handling ** - All error functions now take an optional parameter `?loc:Loc.t`. For diff --git a/dev/ocamldebug-coq.run b/dev/ocamldebug-coq.run index 26cfcc8ae..3850c05fd 100644 --- a/dev/ocamldebug-coq.run +++ b/dev/ocamldebug-coq.run @@ -32,6 +32,6 @@ exec $OCAMLDEBUG \ -I $COQTOP/plugins/ring -I $COQTOP/plugins/romega \ -I $COQTOP/plugins/rtauto -I $COQTOP/plugins/setoid_ring \ -I $COQTOP/plugins/subtac -I $COQTOP/plugins/syntax \ - -I $COQTOP/plugins/xml \ + -I $COQTOP/plugins/xml -I $COQTOP/plugins/ltac \ -I $COQTOP/ide \ "$@" |