sebastiw / edts

Erlang Development Tool Suite
GNU Lesser General Public License v3.0
354 stars 82 forks source link

namespaced_types on OTP 18 #197

Open knutin opened 9 years ago

knutin commented 9 years ago

Hey,

I ran into an issue with edts and OTP 18 that should have been fixed by the namespaced_types compile flag. When I start my project, edts fails to initialize because it tries to recompile the code without that flag defined. It's compiling inside a node running OTP 18.

Is this a user error? As I understand it, this particular setup should work just fine. I patched my local copy to work. In edts_dist:remote_compile_module/2 I added {d, namespaced_types} to the compile call.

mattiasw2 commented 9 years ago

Also using Erlang 18, and unless I changed queue() to queue:queue() in edts_events.erl, I get the error below, and Edts crashes. Changing it, make Edts work properly.

I use ~/.emacs.d/elpa/edts-20150721.545/lib/edts/src/

Erlang/OTP 18 [erts-7.0] [source] [64-bit] [smp:2:2] [async-threads:10] [kernel-poll:false]

Eshell V7.0  (abort with C-q C-g RET)
(edts@ubuntu)1> 08:06:52.821 [debug] Lager installed handler lager_console_backend into lager_event
08:06:53.311 [debug] Lager installed handler lager_backend_throttle into lager_event
08:06:54.869 [error] edts_share3@ubuntu initialization crashed with error:{compile_error,{"/home/mattias/.emacs.d/elpa/edts-20150721.545/lib/edts/src/edts_event",[{"/home/mattias/.emacs.d/elpa/edts-20150721.545/lib/edts/src/edts_event.erl",[{59,erl_lint,{undefined_type,{queue,0}}}]}]}}
tjarvstrand commented 9 years ago

Ah, yes. The fix applied would only solve it for R17+ edts nodes. Since edts_event is recompiled on the project node namespaced_types will not be defined there by EDTS' rebar.config. It should be an easy fix, I will look into it.

tjarvstrand commented 9 years ago

There, fixed it with a quick hack. Should be available in melpa tomorrow.

mattiasw2 commented 9 years ago

Download latest version of edts, and yes, it works with R18. Thanks