Skip to content

Improve error message for dune utop#1154

Merged
emillon merged 1 commit intomasterfrom
utop-no-args-error-message
Aug 20, 2018
Merged

Improve error message for dune utop#1154
emillon merged 1 commit intomasterfrom
utop-no-args-error-message

Conversation

@emillon
Copy link
Copy Markdown
Collaborator

@emillon emillon commented Aug 20, 2018

It's possible to be a bit more descriptive, but at least this does not leak the internal implementation in the error message.

Closes #1149

Signed-off-by: Etienne Millon <me@emillon.org>
@emillon emillon force-pushed the utop-no-args-error-message branch from 4d9a0f3 to 6fe9ec6 Compare August 20, 2018 11:59
@emillon emillon requested review from a user and rgrinberg August 20, 2018 12:00
@emillon
Copy link
Copy Markdown
Collaborator Author

emillon commented Aug 20, 2018

cc @dra27

@emillon
Copy link
Copy Markdown
Collaborator Author

emillon commented Aug 20, 2018

Is there an easy way to build a map from source directory to libraries? It'd be nice to display:

You can try dune utop DIR when DIR is one of the following:
- dir_a (contains lib_a, lib_b, internal_lib)
- dir_b (contains lib_c)

That seems possible through Super_context.{public_libs,internal_lib_names}, but there's a lot of plumbing involved.

@ghost
Copy link
Copy Markdown

ghost commented Aug 20, 2018

You could also scan the list of stanzas, they are already grouped by directory.

@rgrinberg
Copy link
Copy Markdown
Member

I wonder if the correct behavior is to make $ dune utop a little more clever and work "recursively". It's a bit annoying to have to specify the exact directory in some of these situations. In any case, I'm not sure how to implement so we might have to settle on a better error message for now.

@emillon
Copy link
Copy Markdown
Collaborator Author

emillon commented Aug 20, 2018

Thanks. We can improve the error message later, it's already better than it was before. Thanks @dra27 for the report!

@emillon emillon merged commit 6045568 into master Aug 20, 2018
@emillon emillon deleted the utop-no-args-error-message branch August 20, 2018 14:55
rgrinberg added a commit to rgrinberg/opam-repository that referenced this pull request Sep 14, 2018
CHANGES:

- Ignore stderr output when trying to find out the number of jobs
  available (ocaml/dune#1118, fix ocaml/dune#1116, @diml)

- Fix error message when the source directory of `copy_files` does not exist.
  (ocaml/dune#1120, fix ocaml/dune#1099, @emillon)

- Highlight error locations in error messages (ocaml/dune#1121, @emillon)

- Display actual stanza when package is ambiguous (ocaml/dune#1126, fix ocaml/dune#1123, @emillon)

- Add `dune unstable-fmt` to format `dune` files. The interface and syntax are
  still subject to change, so use with caution. (ocaml/dune#1130, fix ocaml/dune#940, @emillon)

- Improve error message for `dune utop` without a library name (ocaml/dune#1154, fix
  ocaml/dune#1149, @emillon)

- Fix parsing `ocamllex` stanza in jbuild files (ocaml/dune#1150, @rgrinberg)

- Highlight multi-line errors (ocaml/dune#1131, @anuragsoni)

- Do no try to generate shared libraries when this is not supported by
  the OS (ocaml/dune#1165, fix ocaml/dune#1051, @diml)

- Fix `Flags.write_{sexp,lines}` in configurator by avoiding the use of
  `Stdune.Path` (ocaml/dune#1175, fix ocaml/dune#1161, @rgrinberg)

- Add support for `findlib.dynload`: when linking an executable using
  `findlib.dynload`, automatically record linked in libraries and
  findlib predicates (ocaml/dune#1172, @bobot)

- Add support for promoting a selected list of files (ocaml/dune#1192, @diml)

- Add an emacs mode providing helpers to promote correction files
  (ocaml/dune#1192, @diml)

- Improve message suggesting to remove parentheses (ocaml/dune#1196, fix ocaml/dune#1173, @emillon)

- Add `(wrapped (transition "..message.."))` as an option that will generate
  wrapped modules but keep unwrapped modules with a deprecation message to
  preserve compatibility. (ocaml/dune#1188, fix ocaml/dune#985, @rgrinberg)

- Fix the flags passed to the ppx rewriter when using `staged_pps` (ocaml/dune#1218, @diml)

- Add `(env var)` to add a dependency to an environment variable.
  (ocaml/dune#1186, @emillon)

- Add a simple version of a polling mode: `dune build -w` keeps
  running and restarts the build when something change on the
  filesystem (ocaml/dune#1140, @kodek16)

- Cleanup the way we detect the library search path. We no longer call
  `opam config var lib` in the default build context (ocaml/dune#1226, @diml)

- Make test stanzas honor the -p flag. (ocaml/dune#1236, fix ocaml/dune#1231, @emillon)

- Test stanzas take an optional (action) field to customize how they run (ocaml/dune#1248,
  ocaml/dune#1195, @emillon)

- Add support for private modules via the `private_modules` field (ocaml/dune#1241, fix
  ocaml/dune#427, @rgrinberg)

- Add support for passing arguments to the OCaml compiler via a
  response file when the list of arguments is too long (ocaml/dune#1256, @diml)

- Do not print diffs by default when running inside dune (ocaml/dune#1260, @diml)

- Interpret `$ dune build dir` as building the default alias in `dir`. (ocaml/dune#1259,
  @rgrinberg)

- Make the `dynlink` library available without findlib installed (ocaml/dune#1270, fix
  ocaml/dune#1264, @rgrinberg)
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.

2 participants