aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-06-03Fix proof terminators not being detected in presence of curly brackets (bug ↵Guillaume Melquiond
#4770). This also fixes comments not being properly skipped when looking for eol.
2016-06-03Make "coqdoc -g --parse-comments" behave properly (bug #4773).Guillaume Melquiond
As a side effect, there should be a small speedup when ignoring comments. This commit also fixes two bugs related to handling "$$" and "#" in comments.
2016-06-02Fix build (use the same mllib file as in trunk).Guillaume Melquiond
2016-06-02Avoid refreshing the segment widget each time a sentence is added.Lionel Rieg
This brings a 10x speedup for going at the end of large .v files.
2016-05-31Fix potential race condition in vm_compute.Guillaume Melquiond
If the second allocation causes a collection of the minor heap, the first allocation will be freed, thus causing a memory corruption. Note: it only happens when computing the native projection of an opaque value while the minor heap is almost full.
2016-05-31Revert "Rename Lexer -> CLexer."Pierre-Marie Pédrot
This reverts commit a66b57ba4bba866bb626bde2b6fe3b762347eb3e.
2016-05-30Extraction : add a location in the error message about polypropPierre Letouzey
2016-05-29Fix bug #4746: Anomaly: Evar ?X10 was not declared.Pierre-Marie Pédrot
Some dubious evarmap manipulation is going on in destruct because of the use of clenv primitives. Here, building a clenv was introducing new evars that were not taken into account in the remainder of the tactic. We plug them back using a local workaround. Eventually, this code should be replaced by an evar-based one, but meanwhile, we rely on what is probably a hack.
2016-05-27STM: fix argument filtering for slavesEnrico Tassi
Command line options to be dropped got outdated after vi -> vio renaming. This made the par: goal selector do not work in conjunction with -quick.
2016-05-26Pfedit.get_current_context refinement (fix #4523)Matthieu Sozeau
Return the most appropriate evar_map for commands that can run on non-focused proofs (like Check, Show and debug printers) so that universes and existentials are printed correctly (they are global to the proof). The API is backwards compatible.
2016-05-26rewrite/Univs: Fix bug # 4498.Matthieu Sozeau
2016-05-23Extraction/Projections: Fix bug #4710Matthieu Sozeau
Use the compatibility match construction to extract the compatibility constant associated to a primitive projection.
2016-05-23Hints/Univs: fix bug #4628 anomaliesMatthieu Sozeau
Fix handling of non-polymorphic hints built from polymorphic values, or simply producing new universes. We have to record the side effects of global hints built from constrs which are not polymorphic when they declare global universes, which might need to be discharged at the end of sections too. Also issue a warning when a Hint is declared for a polymorphic reference but the Hint isn't polymorphic itself (this used to produce an anomaly). For [using] hints, treat all lemmas as polymorphic, refreshing their universes at each use, as is done for their existentials (also used to produce an anomaly).
2016-05-20Disable memoization rather than failing when files cannot be opened.Guillaume Melquiond
Anomaly: Uncaught exception Unix.Unix_error(Unix.EACCES, "open", "lia.cache"). Please report.
2016-05-19native_compute: don't call Unicode.ascii_of_ident twice (not idempotent anymore)Pierre Letouzey
2016-05-19Extraction: don't call Unicode.ascii_of_ident twice (not idempotent anymore)Pierre Letouzey
2016-05-19adding "user-contrib" directory to ".gitignore"Matej Kosik
2016-05-19Unicode.ascii_of_ident is now truly injectivePierre Letouzey
A non-ASCII char is now converted to _UUxxxx_ with xxxx being its unicode index in hexa. And any preexisting _UU substring in the ident is converted to _UUU. The switch from __Uxxxx_ to _UUxxxx_ is cosmetic, it just helps the extraction (less __ in names). But the other part of the patch (detection of preexisting _UU substrings) is critical to make ascii_of_ident truly injective and avoid the following kind of proof of False via native_compute : Definition α := 1. Definition __U03b1_ := 2. Lemma oups : False. Proof. assert (α = __U03b1_). { native_compute. reflexivity. } discriminate. Qed. Conflicts: lib/unicode.mli
2016-05-16Fix bug #4737: cycle tactic doesn't like zero goals.Pierre-Marie Pédrot
2016-05-14Removing unexcepted activation of option "Regular Subst Tactic", sinceHugo Herbelin
there is actually no change in default subst between 8.4 and 8.5.
2016-05-14More hints on how to fix compatibility issues.Hugo Herbelin
2016-05-12Small optimization in evar resolution.Pierre-Marie Pédrot
Instead of rebuilding a whole set of evars just to make a typeclass filter, we use the source evarmap.
2016-05-12Fix bug #4722: Coq dies when encountering broken symbolic links.Pierre-Marie Pédrot
2016-05-09Fix bug #3887: Better error message for "More than one program with unsolved ↵Pierre-Marie Pédrot
obligations".
2016-05-09Rename Lexer -> CLexer.Pierre-Marie Pédrot
2016-05-09Fix typo in configure's option description.Guillaume Melquiond
2016-05-09Use "md5 -q" on FreeBSD architectures (bug #4719).Guillaume Melquiond
This patch also disables the -makecmd option and the corresponding test, since the value is not stored for future use. This prevents gratuitously failing to configure on FreeBSD.
2016-05-09Use the actual location of an error in the error pane (bug #4169).Guillaume Melquiond
A "sentence" includes all the blank lines and all the comments that precede a command. So its starting location might be far from any error it contains. This patch changes error reporting so that it relies on the location of errors rather than the location of erroneous sentences.
2016-05-08Fix bug #4713: Anomaly: Assertion Failed for incorrect usage of Module.Pierre-Marie Pédrot
2016-05-04typoEnrico Tassi
2016-05-04NPeano : improve compatibility for this deprecated file via compat notationsPierre Letouzey
2016-05-04Int.v: simplify Jason's commit 5b4e3acePierre Letouzey
2016-05-04Merge branch 'move-compat-notations' of https://github.com/JasonGross/coq ↵Pierre Letouzey
into v8.5
2016-05-04Fixing subst.out after changing spacing in goal output (24a125b77).Hugo Herbelin
2016-05-04Fix Haskell extraction for terms over 45 characters longNickolai Zeldovich
The Haskell extraction code would allow line-wrapping of the Haskell type definition, which would lead to unparseable Haskell code when the linebreak occured just before the type name. In particular, with a term name of 46 characters or more, the following Coq code: Definition xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx := tt. Extraction Language Haskell. Extraction xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx. would produce: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx :: Unit xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx = Tt which failed to compile with GHC (according to Haskell's indentation rules, the "Unit" line must be indented to be treated as a continuation of the previous line). This patch always forces the type onto a separate line, and ensures that it is always indented by 2 spaces (just like the body of each definition).
2016-05-04Handle primitive projections inside types when extracting (bug #4616).Guillaume Melquiond
Note that extracting terms containing primitive projections is still utterly broken, so don't use them.
2016-05-04Fix for #4603, part 3: definitions inside proofs not handled properly by coqc.Maxime Dénès
Patch by Matthieu, Enrico and myself.
2016-05-04Increase the size of the dumpglob buffer for cooking notations (bug #4708).Guillaume Melquiond
A single terminal character can take up to 5 bytes, e.g. "''^A'".
2016-05-03In Regular Subst Tactic mode, ensure that the order of hypotheses isHugo Herbelin
preserved, which is a source of incompatibilities w.r.t. released 8.5 but which looks to me to be the only possible canonical behavior. This is I believe a better behavior than the Regular Subst Tactic behavior in the released 8.5 and 8.5pl1. There, the order of hypotheses in which substitutions happened was respected, but their interleaving with other hypotheses was not respected. So, I consider this to be a fix to the "Regular Subst Tactic" mode. Also added a more detailed "specification" of the "Regular" behavior of "subst" in the reference manual.
2016-05-03Fix bug #4707: clearbody much slower in 8.5pl1.Pierre-Marie Pédrot
We only retype hypotheses and conclusion when they do depend on the cleared identifier. This saves a lot of time.
2016-05-03Fix bug #3825: Universe annotations on notations should pass through or be ↵Pierre-Marie Pédrot
rejected.
2016-05-03Test file for #4695: Slow Qed.Maxime Dénès
2016-05-03Fix bug #4292: Unexpected functor objects.Pierre-Marie Pédrot
2016-05-03Use the canonical name when looking for an eliminator (bug #4670).Guillaume Melquiond
Disclaimer: I have no idea what I am doing.
2016-05-03Fix bug #4705: coqtop accepts both -emacs and -ideslave.Pierre-Marie Pédrot
2016-05-03Call hooks when terminating a definition proof (bug #4663).Guillaume Melquiond
Also register properly the kind of definition.
2016-05-03Remove extraneous space in coqtop/pg output (bug #4675).Guillaume Melquiond
2016-05-02Make votour a bit more robust/forgiving with respect to user commands (bug ↵Guillaume Melquiond
#4702).
2016-05-02Properly handle notations containing spaces (bug #4538).Guillaume Melquiond
When a notation was starting or ending a space, Coq assumed the notation had no terminal symbol in either places. Coq also considered a notation containing only spaces to be productive. As stated in the documentation, extraneous spaces are only meant as printing hints, they are not meant to have any influence on parsing.
2016-05-02Avoid infinite loop/stack overflow when using "simpl nomatch" (bug #4576).Guillaume Melquiond
When encountering a "simpl nomatch" constant, the reduction machinery tries to unfold it. If the subsequent partial reduction does not produce any match construct, it keeps going from the reduced term. Unfortunately, the reduced term has been refolded in the meantime, which means that some of the previous reduction steps have been canceled, thus causing an infinite loop. This patch delays the refolding till the very end, so that reduction always progresses. Disclaimer: I have no idea what I am doing here. The patch compiles the standard library and the test suite properly, so hopefully they contain enough tests to exercise the reduction machinery.