aboutsummaryrefslogtreecommitdiff
path: root/tools
AgeCommit message (Collapse)Author
2017-05-25Merge PR#645: [stm] Tweak debug options.Maxime Dénès
2017-05-25Merge PR#406: coq makefile2Maxime Dénès
2017-05-24coq_makefile: use -include rather than includeEnrico Tassi
This fixes bedrock and eliminates warnings. Thanks Jason Gross for debugging this!
2017-05-23add the only targetEnrico Tassi
This makes the following work correctly: make only TGTS="foo bar" -j2 note that make foo bar -j2 is not doing what you think
2017-05-23coq_makefile: avoid spurious ./ in generated .conf fileEnrico Tassi
2017-05-23Restore 8.5, 8.6 compatibility of STDTIME, TIMECMDJason Gross
2017-05-23coq_makefile: don't quote extra arguments (-arg)Enrico Tassi
Restores compatibility with 8.6
2017-05-23Make install a single colon target for retro compatibilityEnrico Tassi
2017-05-23enters coq_makefile2Enrico Tassi
2017-05-23coqdep: remove optimization making makefiles harder to writeEnrico Tassi
2017-05-23coqdep: set FOR_PACK variable for files that need to be packedEnrico Tassi
This enables one to have just one rule to compile .ml -> .cmx. By using $(FOR_PACK) in such rule one passes to ocamlopt -for-pack ModName only when necessary. Before this coq_makefile had to generate 2 different rules, depending if the module was mentioned in an .mlpack.
2017-05-23Document --print-version in UsageEnrico Tassi
2017-05-23Put the list of Coq sources subdirectories in one placeEnrico Tassi
and avoid duplication
2017-05-23Usage.print_config moved to EnvarsEnrico Tassi
2017-05-23CoqProject_file: API and code cleanup (tuples -> records)Enrico Tassi
2017-05-23ide/project_file.ml4 -> lib/coqProject_file.ml4 + .mliEnrico Tassi
The .mli only acknowledges the current API. I'm not guilty your honor!
2017-05-23[vernac] Remove `Save.` command.Emilio Jesus Gallego Arias
It has been deprecated for a while in favor of `Qed`.
2017-05-18[stm] Tweak debug options.Emilio Jesus Gallego Arias
We allow for a dynamic setting of the STM debug flag, and we print some more information about the result of `process_transaction`. We also fix a printing bug due to mixing `Printf` and `Format`, which are not compatible.
2017-05-15Dead code in coqdep.Hugo Herbelin
Was introduced in 5268efdef, reverted then readded in 1be9c4d.
2017-04-27Fix 4.04 warningsGaetan Gilbert
2017-04-27Warning 29: non escaped end of line may be non portableGaetan Gilbert
2017-04-27Remove some unused values and typesGaetan Gilbert
2017-04-27Fix omitted labels in function callsGaetan Gilbert
2017-04-07[camlpX] Enrico's changes to camlp4 removal.Emilio Jesus Gallego Arias
This removes some remaining support for camlp4 in the infrastructure and documents the change.
2017-03-22Merge branch 'v8.6'Pierre-Marie Pédrot
2017-03-21[xml] Restore protocol compatibility with 8.6.Emilio Jesus Gallego Arias
By default, we serialize messages to the "rich printing representation" as it was done in 8.6, this ways clients don't have to adapt unless they specifically request the new format using option `--xml_format=Ppcmds`
2017-03-21[pp] Remove uses of expensive string_of_ppcmds.Emilio Jesus Gallego Arias
In general we want to avoid this as much as we can, as it will need to make choices regarding the output backend (width, etc...) and it is expensive. It is better to serve the printing backends the pretty print document itself.
2017-03-21[pp] Remove special tag type and handler from Pp.Emilio Jesus Gallego Arias
For legacy reasons, pretty printing required to provide a "tag" interpretation function `pp_tag`. However such function was not of much use as the backends (richpp and terminal) hooked at the `Format.tag` level. We thus remove this unused indirection layer and annotate expressions with their `Format` tags. This is a step towards moving the last bit of terminal code out of the core system.
2017-03-21[pp] Remove richpp from fake_ide.Emilio Jesus Gallego Arias
2017-03-21[pp] Make feedback the only logging mechanism.Emilio Jesus Gallego Arias
Previously to this patch, Coq featured to distinct logging paths: the console legacy one, based on `Pp.std_ppcmds` and Ocaml's `Format` module, and the `Feedback` one, intended to encapsulate message inside a more general, GUI-based feedback protocol. This patch removes the legacy logging path and makes feedback canonical. Thus, the core of Coq has no dependency on console code anymore. Additionally, this patch resolves the duplication of "document" formats present in the same situation. The original console-based printing code relied on an opaque datatype `std_ppcmds`, (mostly a reification of `Format`'s format strings) that could be then rendered to the console. However, the feedback path couldn't reuse this type due to its opaque nature. The first versions just embedded rending of `std_ppcmds` to a string, however in 8.5 a new "rich printing" type, `Richpp.richpp` was introduced. The idea for this type was to be serializable, however it brought several problems: it didn't have proper document manipulation operations, its format was overly verbose and didn't preserve the full layout, and it still relied on `Format` for generation, making client-side rendering difficult. We thus follow the plan outlined in CEP#9, that is to say, we take a public and refactored version of `std_ppcmds` as the canonical "document type", and move feedback to be over there. The toplevel now is implemented as a feedback listener and has ownership of the console. `richpp` is now IDE-specific, and only used for legacy rendering. It could go away in future versions. `std_ppcmds` carries strictly more information and is friendlier to client-side rendering and display control. Thus, the new panorama is: - `Feedback` has become a very module for event dispatching. - `Pp` contains a target-independent box-based document format. It also contains the `Format`-based renderer. - All console access lives in `toplevel`, with console handlers private to coqtop. _NOTE_: After this patch, many printing parameters such as printing width or depth should be set client-side. This works better IMO, clients don't need to notify Coq about resizing anywmore. Indeed, for box-based capable backends such as HTML or LaTeX, the UI can directly render and let the engine perform the word breaking work. _NOTE_: Many messages could benefit from new features of the output format, however we have chosen not to alter them to preserve output. A Future commits will move console tag handling in `Pp_style` to `toplevel/`, where it logically belongs. The only change with regards to printing is that the "Error:" header was added to console output in several different positions, we have removed some of this duplication, now error messages should be a bit more consistent.
2017-03-21[ide] Use "log via feedback".Emilio Jesus Gallego Arias
We remove the custom logger handler in ide_slave, and handle everything via feedback. This is an experimental patch but it seems to bring quite a bit of cleanup and a more uniform handling to messaging.
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] Enable -safe-string !Emilio Jesus Gallego Arias
We now build Coq with `-safe-string`, which enforces functional use of the `string` datatype. Coq was pretty safe in these regard so only a few tweaks were needed. - coq_makefile: build plugins with -safe-string too. - `names.ml`: we remove `String.copy` uses, as they are not needed.
2017-03-14[safe-string] toolsEmilio Jesus Gallego Arias
No functional changes.
2017-03-14Fix #5132: coq_makefile generates incorrect install goalVadim Zaliva
2017-02-22Merge branch 'v8.6'Pierre-Marie Pédrot
2017-02-17Removing spurious folder includes in coq_makefile.Pierre-Marie Pédrot
2017-02-15[stm] Break stm/toplevel dependency loop.Emilio Jesus Gallego Arias
Currently, the STM, vernac interpretation, and the toplevel are intertwined in a mutual dependency that needs to be resolved using imperative callbacks. This is problematic for a few reasons, in particular it makes the interpretation of commands that affect the document quite intricate. As a first step, we split the `toplevel/` directory into two: "pure" vernac interpretation is moved to the `vernac/` directory, on which the STM relies. Test suite passes, and only one command seems to be disabled with this approach, "Show Script" which is to my understanding obsolete. Subsequent commits will fix this and refine some of the invariants that are not needed anymore.
2017-02-06fix Emacs compiler warning on '(lambda...)Hendrik Tews
lambda is self-quoting, see elisp manual, section 12.7 Anonymous Functions
2017-01-19Merge branch 'v8.6'Pierre-Marie Pédrot
2017-01-13Properly remove aux files in subdirectories (bug #5089).Erik Martin-Dorel
The aux file for foo/bar.v is foo/.bar.aux, not .foo/bar.aux.
2016-11-30Merge branch 'v8.6'Pierre-Marie Pédrot
2016-11-21Remove spurious spaces in merlin file generated by coq_makefile (bug #5213).Guillaume Melquiond
2016-11-21Stop parsing -compat-notations options, which are no longer supported (bug ↵Guillaume Melquiond
#3339).
2016-11-18Merge branch 'v8.6'Pierre-Marie Pédrot
2016-11-18Revert "fake_ide: use the now available Status XML message"Maxime Dénès
This reverts commit 81c9fa0de99400b51c029cdbd1519b4f724e320a.
2016-11-17fake_ide: use the now available Status XML messageEnrico Tassi
2016-11-04Fix #4837: ./configure -local makes coqdep issue many warningsMaxime Dénès
We simply remove the warnings about paths mixing Win32 and Unix separators, since that situation does not seem problematic (c.f. discussion on the bug tracker).
2016-10-02Merge branch 'v8.6'Pierre-Marie Pédrot
2016-09-30coqc: recognize -profile-ltac-cutoffEnrico Tassi