Skip to content

Rebase on 4.02.3#2

Open
let-def wants to merge 814 commits intocharguer:trunkfrom
let-def:improverror
Open

Rebase on 4.02.3#2
let-def wants to merge 814 commits intocharguer:trunkfrom
let-def:improverror

Conversation

@let-def
Copy link

@let-def let-def commented Jun 16, 2016

In ocaml/merlin#545, @ysalmon would like to use your patches together with merlin.

Merlin cannot build with 4.02.0. We decided to not support this version as it received bug fixes shortly after release.

However your patches are only available on top of 4.02.0 in opam switches. This pull request is a rebase on top of 4.02.3. I checked simple cases but I cannot assess that it works as expected.

Damien Doligez and others added 30 commits October 29, 2014 21:16
ocamlbuild should append .exe extension to filename when looking for
executables and Sys.cygiwn is set (not only Sys.win32).

From: algoriddle <szilvasy@gmail.com>

git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.02@15578 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.02@15597 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
(fix from Leo White)

git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.02@15599 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.02@15600 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
…to avoid excessive test time

git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.02@15601 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.02@15638 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.02@15639 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.02@15641 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.02@15674 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
From: Jeremy Yallop <yallop@gmail.com>

git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.02@15688 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
From: Jeremy Yallop <yallop@gmail.com>

git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.02@15689 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
make_float was added in 4.02
Buffer.(to_bytes, add_bytes, add_subbytes) were added in 4.02.
BytesLabels was added in 4.02.
Digest.(bytes, subbytes) were added in 4.02.
Marshal.(to_bytes, from_bytes) were added in 4.02.
various Pervasives functions were added in 4.02: print_bytes prerr_bytes output_bytes output_substring really_input_string
Printexc.(backtrace_slots, raw_backtrace_slot) were added in 4.02.
Scanf.(ksscanf, kfscanf) were added in 4.02.
Stream.of_bytes was added in 4.02.

From: Jeremy Yallop <yallop@gmail.com>

git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.02@15690 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
When reporting a circular dependency, refine the printed filenames to
those that are really part of the cycle -- instead of those that
happened to be traversed during the DFS that found a cycle. This gives
much more readable error messages.

git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.02@15691 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
I'm worried the previous algorithmically-naive implementation may
behave badly on larger-scale projects. We still keep a list around to
return results in the exact same order as previously.

git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.02@15692 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
…y on this)

Currently it is not equivalent to do:
  cd testsuite; make one DIR=tests/$foo
and
  cd testsuite/tests/$foo; make
because the latter will not set TERM=dumb and toplevel tests will use
nice escape-code location highlighting instead of ASCII-made squiggly
lines, which breaks the tests.

git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.02@15696 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.02@15697 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
…zard)

This allows to prevent the --infer option from being passed to Menhir
by using the negative tag -infer.

git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.02@15698 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.02@15703 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
The code previously used Lazy.is_val to know whether the value was
already-evaluated (and, in this case, Lazy.force to extract this value
and print it more precisely). But it lies inside a functor that is
instantiated over different implementations of Obj, while
Lazy.{is_val,force} force the use of the Obj module of the standard
library. This could cause segfaults when this code is called from the
debugger, which instantiates it with a different Obj module talking
over a socket.

git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.02@15704 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
@charguer
Copy link
Owner

charguer commented Jan 4, 2017

Hi,

My branch improved-errors is already based on 4.02.2.
Is this good enough for you?
Else, we could try to port the branch to 4.02.3.
+
Arthur

@let-def
Copy link
Author

let-def commented Jan 9, 2017

I don't have use for this branch. Feel free to use the code available here if you want or close this PR :).

@ysalmon
Copy link

ysalmon commented Jan 9, 2017

Hello,
merlin seems to compile with 4.02.2+improved-errors, so everything seems great from my point of view (4.02.3 is not needed per se) !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants