{"action":"opened","issue":{"url":"https://api.github.com/repos/ocaml/merlin/issues/790","repository_url":"https://api.github.com/repos/ocaml/merlin","labels_url":"https://api.github.com/repos/ocaml/merlin/issues/790/labels{/name}","comments_url":"https://api.github.com/repos/ocaml/merlin/issues/790/comments","events_url":"https://api.github.com/repos/ocaml/merlin/issues/790/events","html_url":"https://github.com/ocaml/merlin/issues/790","id":302543456,"number":790,"title":"`PKG ppx_bin_prot` prevents other packages from being loaded","user":{"login":"mjambon","id":343265,"avatar_url":"https://avatars3.githubusercontent.com/u/343265?v=4","gravatar_id":"","url":"https://api.github.com/users/mjambon","html_url":"https://github.com/mjambon","followers_url":"https://api.github.com/users/mjambon/followers","following_url":"https://api.github.com/users/mjambon/following{/other_user}","gists_url":"https://api.github.com/users/mjambon/gists{/gist_id}","starred_url":"https://api.github.com/users/mjambon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mjambon/subscriptions","organizations_url":"https://api.github.com/users/mjambon/orgs","repos_url":"https://api.github.com/users/mjambon/repos","events_url":"https://api.github.com/users/mjambon/events{/privacy}","received_events_url":"https://api.github.com/users/mjambon/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-03-06T02:44:26Z","updated_at":"2018-03-06T02:44:26Z","closed_at":null,"author_association":"NONE","body":"Merlin behaves as if `PKG ppx_bin_prot` in a `.merlin` prevented other other `PKG` directives to be silently ignored. Here's a sample `.merlin`:\r\n\r\n```\r\nS .\r\nPKG base64\r\nPKG ppx_bin_prot\r\n```\r\n\r\nThe package `base64` provides a module `B64`. A sample ml (or mli) file is the following:\r\n```ocaml\r\nopen B64\r\n```\r\n\r\nThis results in `Unbound module B64`:\r\n```\r\n$ ocamlmerlin single errors -filename example.ml < example.ml\r\n{\"class\":\"return\",\"value\":[{\"start\":{\"line\":1,\"col\":5},\"end\":{\"line\":1,\"col\":8},\"type\":\"error\",\"sub\":[],\"valid\":true,\"message\":\"Unbound module B64\"}],\"notifications\":[],\"timing\":{\"total\":0.9980000000000002,\"query\":0.3990000000000009,\"reader\":0.03200000000000003,\"ppx\":0.010000000000000675,\"typer\":0.5559999999999992,\"error\":0.0009999999999994458}}\r\n```\r\n\r\nCorrect output can be obtained by commenting out `PKG ppx_bin_prot` in `.merlin`:\r\n```\r\nS .\r\nPKG base64\r\n#PKG ppx_bin_prot\r\n```\r\n\r\nSetup: ocaml 4.05.0, ppx_bin_prot v0.9.0, merlin 3.0.5.\r\n\r\nIt would be useful to get error messages if something fails to load. Is there a way to get more output from ocamlmerlin to help debug this?"}}
{"actor":{"display_login":"mjambon"}}