aboutsummaryrefslogtreecommitdiff
path: root/tools/coqdoc
AgeCommit message (Collapse)Author
2018-02-27Update headers following #6543.Théo Zimmermann
2017-09-07Merge PR #997: coqdoc: Support comments in verbatim outputMaxime Dénès
2017-08-29coqdoc: Support comments in verbatim outputTej Chajed
Fixes BZ#5700
2017-08-21Fix coqdoc URLs under Windows.Théo Zimmermann
URLs on Windows are the same as on Unix, they use / not \.
2017-07-15Fixing #5648 (too early decision of tagging ident as keyword in html coqdoc).Hugo Herbelin
Fix proposed by the reporter, Vincent Laporte. Note that for LaTeX output, the selection of a keyword was already done after checking if the ident is recognized as a Coq ident by coqtop. Incidentally, being now explicit on an wildcard-catching of exceptions.
2017-07-04Bump year in headers.Pierre-Marie Pédrot
2017-05-30Makefile: no bytecode compilation in make world, see make byte insteadPierre Letouzey
On a machine for which ocamlopt is available, the make world will now perform bytecode compilation only in grammar/ (up to the syntax extension grammar.cma), and then exclusively use ocamlopt. In particular, make world do not build bin/coqtop.byte. A separate rule 'make byte' does it, as well as bytecode plugins and things like dev/printers.cma. 'make install' deals only with the part built by 'make', while a new rule 'make install-byte' installs the part built by 'make byte'. IMPORTANT: PLEASE AVOID doing things like 'make -j world byte' or any parallel mix of native and byte rules. These are known to crash sometimes, see below. Instead, do rather 'make -j && make -j byte'. Indeed, apart from marginal compilation speed-up for users not interested in byte versions, the main reason for this commit is to discourage any simultaneous use of OCaml native and byte compilers. Indeed, ocamlopt and ocamlc will both happily destroy and recreate .cmi for .ml files with no .mli, and in case of parallel build this may happen at the very moment another ocaml(c|opt) is accessing this .cmi. Until now, this issue has been handled via nasty hacks (see the former MLWITHOUTMLI and HACKMLI vars in Makefile.build). But these hacks weren't obvious to extend to ocamlopt -pack vs. ocamlopt -pack. coqdep_boot takes a "-dyndep" option to control precisely how a Declare ML Module influences the .v.d dependency file. Possible values are: -dyndep opt : regular situation now, depends only on .cmxs -dyndep byte : no ocamlopt, or compilation forced to bytecode, depends on .cm(o|a) -dyndep both : earlier behavior, dependency over both .cm(o|a) and .cmxs -dyndep none : interesting for coqtop with statically linked plugins -dyndep var : place Makefile variables $(DYNLIB) and $(DYNOBJ) in .v.d instead of extensions .cm*, so that the choice is made in the rest of the makefile (see a future commit about coq_makefile) NB: two extra mli added to avoid building unecessary .cmo during 'make world', without having to use the ocamldep -native option. NB: we should state somewhere that coqmktop -top won't work unless 'make byte' was done first
2017-05-30Merge PR#356: Making management of installation directories more structured, ↵Maxime Dénès
more uniform
2017-05-30Merge PR#692: Fail on deprecated warning even for Ocaml > 4.02.3Maxime Dénès
2017-05-29Using the same strategy in coqdoc than in coqtop to guess the coqlib.Hugo Herbelin
2017-05-29Exporting the suffixes needed to build coqlib, docdir, etc.Hugo Herbelin
This allows to centralize in the configuration file the description of the 3 possible installation layouts (dispatched over directories shared by multiple application as in unix, self-contained style like in windows, local non-installation as with option -local). Also supporting relocalisation when -prefix or -libdir and co is given.
2017-05-29Using Coq_config.local rather than None to tell that Coq_config.coqlib is local.Hugo Herbelin
This goes towards an approach where a local layout can be seen as an installed layout.
2017-05-28Fail on deprecated warning even for Ocaml > 4.02.3Gaëtan Gilbert
Deprecations which can't be fixed in 4.02.3 are locally wrapped with [@@@ocaml.warning "-3"]. The only ones encountered are - capitalize to capitalize_ascii and variants. Changing to ascii would break coqdoc -latin1 and maybe other things though. - external "noalloc" to external [@@noalloc]
2017-05-20[coqdoc] Add keywords in bug 2884.Emilio Jesus Gallego Arias
2017-04-27Remove some unused values and typesGaetan Gilbert
2017-03-20[misc] Remove warnings about String.setEmilio Jesus Gallego Arias
The `a.[i] <- x` notation is deprecated and we were getting a couple of warnings.
2017-03-14[safe-string] toolsEmilio Jesus Gallego Arias
No functional changes.
2016-08-21Merge branch 'v8.5' into v8.6Pierre-Marie Pédrot
2016-08-16Output a break before a list only if there was an empty line (bug #4606).Guillaume Melquiond
Moreover, this commit makes sure that an empty line after a list is always translated into a break. ("StartLevel 1" was excluded, for some reason.) It also avoids some code duplication. In particular, "stop_item ()" is defined as "reach_item_level 0", so there is no reason to handle "StartLevel 1" specially.
2016-07-05Revert "Merge remote-tracking branch 'github/pr/229' into trunk"Maxime Dénès
This reverts commit b2f8f9edd5c1bb0a9c8c4f4b049381b979d3e385, reversing changes made to da99355b4d6de31aec5a660f7afe100190a8e683. Hugo asked for more discussion on this topic, and it was not in the roadmap. I merged it prematurely because I thought there was a consensus. Also, I missed that it was changing coq_makefile. Sorry about that.
2016-06-29Makefile: no bytecode compilation in make world, see make byte insteadPierre Letouzey
On a machine for which ocamlopt is available, the make world will now perform bytecode compilation only in grammar/ (up to the syntax extension grammar.cma), and then exclusively use ocamlopt. In particular, make world do not build bin/coqtop.byte. A separate rule 'make byte' does it, as well as bytecode plugins and things like dev/printers.cma. 'make install' deals only with the part built by 'make', while a new rule 'make install-byte' installs the part built by 'make byte'. IMPORTANT: PLEASE AVOID doing things like 'make -j world byte' or any parallel mix of native and byte rules. These are known to crash sometimes, see below. Instead, do rather 'make -j && make -j byte'. Indeed, apart from marginal compilation speed-up for users not interested in byte versions, the main reason for this commit is to discourage any simultaneous use of OCaml native and byte compilers. Indeed, ocamlopt and ocamlc will both happily destroy and recreate .cmi for .ml files with no .mli, and in case of parallel build this may happen at the very moment another ocaml(c|opt) is accessing this .cmi. Until now, this issue has been handled via nasty hacks (see the former MLWITHOUTMLI and HACKMLI vars in Makefile.build). But these hacks weren't obvious to extend to ocamlopt -pack vs. ocamlopt -pack. coqdep_boot takes a "-dyndep" option to control precisely how a Declare ML Module influences the .v.d dependency file. Possible values are: -dyndep opt : regular situation now, depends only on .cmxs -dyndep byte : no ocamlopt, or compilation forced to bytecode, depends on .cm(o|a) -dyndep both : earlier behavior, dependency over both .cm(o|a) and .cmxs -dyndep none : interesting for coqtop with statically linked plugins -dyndep var : place Makefile variables $(DYNLIB) and $(DYNOBJ) in .v.d instead of extensions .cm*, so that the choice is made in the rest of the makefile (see next commit about coq_makedile) NB: two extra mli added to avoid building unecessary .cmo during 'make world', without having to use the ocamldep -native option. NB: we should state somewhere that coqmktop -top won't work unless 'make byte' was done first
2016-06-03Merge branch 'v8.5' into trunkGuillaume Melquiond
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-05-08Removing dead code and unused opens.Pierre-Marie Pédrot
2016-01-20Update copyright headers.Maxime Dénès
2015-10-23Support "Functional Scheme" in coqdoc. (Fix bug #4382)Guillaume Melquiond
2015-09-26Documenting how to support some special unicode characters in coqdocHugo Herbelin
(thanks to coq-club, Sep 2015).
2015-09-26Clarifying the doc of coqdoc --utf8 as discussed on coq-club on August 19, 2015.Hugo Herbelin
2015-07-30Remove usage of Printexc.catch in the tools, as it is deprecated since 2001.Guillaume Melquiond
"This function is deprecated: the runtime system is now able to print uncaught exceptions as precisely as Printexc.catch does. Moreover, calling Printexc.catch makes it harder to track the location of the exception using the debugger or the stack backtrace facility. So, do not use Printexc.catch in new code."
2015-04-02Avoid outputting stray "Local" keywords in HTML documentation.Guillaume Melquiond
2015-03-31Do not escape "'" when outputting to html, especially not using "&acute;".Guillaume Melquiond
2015-02-11Make coqdoc -l properly handle Local before Ltac. (Fix for bug #3307)Guillaume Melquiond
2015-01-12Update headers.Maxime Dénès
2015-01-06Improve error recovery in case of ill-formed coqdoc comment. (Fix for bug ↵Guillaume Melquiond
#3802.)
2014-12-09Switch the few remaining iso-latin-1 files to utf8Pierre Letouzey
2014-12-09coqdoc.css: fix a few errorsPierre Letouzey
2014-12-09coqdoc: fix a few issues with xhtml validity (backport 1636f7 and 754abf1 ↵Pierre Letouzey
from v8.4) - For the style of identifiers, coqdoc was using a 'type' attribute of tag <span>. But this attribute isn't a legal attribute of tag <span> according to the xhtml norm. Instead, I propose to use 'title' for that. The coqdoc.css now supports both approaches. - The names of inner links (cross references #foo) were containing arbitrary characters (in the case of a notation string). For instance in Utf8_core : <a name=":type_scope:'∀'_x_'..'_x_','_x"> Instead, when strange characters are detected, we now hash the string via Digest, and use this hexa hash as html label. - And some whitespace before />
2014-12-09Port to trunk commit r16062 of v8.4 (Correction des entêtes pour la ↵notin
documentation en ligne)
2014-10-27Use the url package, since coqdoc generates \url commands.Guillaume Melquiond
2014-10-22Supporting Greek and Coptic (U0370) as first letter of coqdoc identifiers.Hugo Herbelin
2014-09-04Print [Variant] types with the keyword [Variant].Arnaud Spiwack
Involves changing the [mind_finite] field in the kernel from a bool to the trivalued type [Decl_kinds.recursivity_kind]. This is why so many files are (unfortunately) affected. It would not be very surprising if some bug was introduced.
2014-09-04Add a [Variant] declaration which allows to write non-recursive variant types.Arnaud Spiwack
Just like the [Record] keyword allows only non-recursive records.
2014-07-03coqdoc is minimaly -Q awarePierre Boutillier
2014-04-28Recognize Parameters as a command in coqdoc. (Fix for bug #3279)Guillaume Melquiond
2014-04-28Mark lazymatch as an Ltac keyword for coqdoc. (Fix for bug #3276)Guillaume Melquiond
2014-04-28Fixing coqdoc bug #3292 (unfortunate collision betweens the relativeHugo Herbelin
locations found when parsing expressions in comments and the absolute locations in the glob file). As now, the glob file does not parse comment, so I removed the test for location when parsing expressions in comments, which anyway are not linkable, precisely because not parsed by coqc.
2014-04-10Dumpglob: factor out reference dumping.Carst Tankink
Factored out all functions that dump references to use one function "dump_ref"
2014-04-04Prevent verbatim text from leaking out of comments. (See bug #2882)Guillaume Melquiond
2014-03-05Remove many superfluous 'open' indicated by ocamlc -w +33Pierre Letouzey
With ocaml 4.01, the 'unused open' warning also checks the mli :-) Beware: some open are reported as useless when compiling with camlp5, but are necessary for compatibility with camlp4. These open are now marked with a comment.