Unexpected reply: [rex [badrpc [EXIT [undef ([distel rpc_entry (distel modules ("cr"))] [rpc -handle_call/3-fun-0- 5])]]]]

Eric Liang eric.l.2046@REDACTED
Fri Sep 11 06:32:25 CEST 2009


Hi all,
To build a erlang IDE, I've tried Distel in emacs22. but unfortunately
it does not work well. What I've done is exactly in accordance with Bill
Clementson's blog post:

    http://bc.tech.coop/blog/070528.html

They are:

   1. Download the latest code from : 
      http://distel.googlecode.com/svn/trunk/
   2. Modify the .emacs. I did confirm the load-path and distel-dir
      settings are correct. Here is it:

          ;; This is needed for Erlang mode setup
          (setq erlang-root-dir "/usr/local/lib/erlang")
          (setq load-path (cons "/usr/local/lib/erlang/lib/tools-2.5.1/emacs" load-path))
          (setq exec-path (cons "/usr/local/lib/erlang/bin" exec-path))
          (require 'erlang-start)

          ;; This is needed for Distel setup
          (let ((distel-dir "/Users/bc/Projects/distel/elisp"))
            (unless (member distel-dir load-path)
              ;; Add distel-dir to the end of load-path
              (setq load-path (append load-path (list distel-dir)))))

          (require 'distel)
          (distel-setup)


          ;; Some Erlang customizations
          (add-hook 'erlang-mode-hook
          	  (lambda ()
          	    ;; when starting an Erlang shell in Emacs, default in the node name
          	    (setq inferior-erlang-machine-options '("-sname" "emacs"))
          	    ;; add Erlang functions to an imenu menu
          	    (imenu-add-to-menubar "imenu")))

          ;; A number of the erlang-extended-mode key bindings are useful in the shell too
          (defconst distel-shell-keys
            '(("\C-\M-i"   erl-complete)
              ("\M-?"      erl-complete)	
              ("\M-."      erl-find-source-under-point)
              ("\M-,"      erl-find-source-unwind) 
              ("\M-*"      erl-find-source-unwind) 
              )
            "Additional keys to bind when in Erlang shell.")

          (add-hook 'erlang-shell-mode-hook
          	  (lambda ()
          	    ;; add some Distel bindings to the Erlang shell
          	    (dolist (spec distel-shell-keys)
          	      (define-key erlang-shell-mode-map (car spec) (cadr spec)))))

When I open a .erl file, it works well and Distel dose exist in the
Erlang tag of the emacs' menubar. But when I type C-M-i behind the word
"cr" to complete the function name,the emacs received this message:

    Unexpected reply: [rex [badrpc [EXIT [undef ([distel rpc_entry
    (distel modules ("cr"))] [rpc -handle_call/3-fun-0- 5])]]]]

I checked the code in Distel, it looks like that it will call
completions() which will call the get() by the argument:A  an empty
string("")  in otp_doc.erl.  The function get() will call to_list() on
the argument:A,which will get the error:

    *** ERROR: Shell process terminated! ***

    =ERROR REPORT==== 8-Sep-2009::15:02:42 ===
    Error in process <0.66.0> on node 'emacs@REDACTED' with exit
    value:
    {undef,[{lib,format_exception,[4,error,undef,[{erl_internal,bif,[to_list,1]},{erl_lint,expr,3},{erl_lint,exprs,3},{erl_lint,exprs_opt,3},{erl_eval,check_command,2},{shell,exprs,6},{shell,eval_exprs,6},{shell,eval_loop..

I guess this is the reason for the completion failure, but have no idea
how to fix it. Can anyone here give me some advice?

As a newbie in Erlang, it's very possible I've stepped in the wrong
way.However, any suggestions will be appreciated.

Thanks in advance.

Eric
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20090911/9641e634/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 260 bytes
Desc: OpenPGP digital signature
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20090911/9641e634/attachment.bin>


More information about the erlang-questions mailing list