Skip to content
Emacs Lisp Erlang Makefile Shell
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
doc
elisp
src
AUTHORS
ChangeLog
INSTALL
INSTALL.WIN32
Makefile
NEWS
README
README.ie-session

README

distel -- Distributed Emacs Lisp for Erlang.
------------------------------------------------------------

Distel is a library for Emacs<->Erlang communication, plus a suite of
tools built on top of it, such as a debugger front-end. It works by
using the Erlang distribution protocol to connect Emacs with regular
Erlang nodes, turning it into a very convenient user-interface
toolkit.

After the INSTALL procedure, you will have an extended Erlang mode any
time you edit erlang files. You can see that this is enabled from the
mode-line string "Erlang EXT", instead of just "Erlang". To see the
available commands, use `describe-mode' (C-h m), which describes all
the currently activated modes. Near the bottom of its output you will
find this description:

  Extensions to erlang-mode for communicating with a running Erlang node.

These commands generally communicate with an Erlang node. The first
time you use one, you will be prompted for the name of the node to
use.

Here's a subset of the available commands. Use `describe-mode' (C-h m)
on any Distel buffer when you want to know what commands are
available.

C-c C-d n - set the erlang node name
C-c C-d g - upload the distel modules to the erlang node

M-/	  - Complete a module or remote function name.
M-.	  - Jump from a function call to its definition.
M-,	  - Jump back from a function definition (multi-level).
C-c C-d : - Evaluate an erlang expression from the minibuffer.
C-c C-d f - Refactor expressions in the region as a new function.
C-c C-d F - Find a module.
C-c C-d i - Toggle debug interpretping of the module.
C-c C-d b - Toggle a debugger breakpoint at the current line.
C-c C-d p - Profile (with fprof) an expression from the minibuffer.
C-c C-d L - Reload an Erlang module.
C-c C-d r - Reload all Erlang modules that are out of date.
C-c C-d w - Who calls function under point.
C-c C-d H - Show the html documentation for a function.
C-c C-d Z - Show the signature for a function.

To get more information about a particular command, use "C-h k"
followed by the command's key sequence. For general information about
Emacs' online help, use "C-h ?".

If you want to write new commands of your own, the programmer's manual
tells you how. You can make a postscript copy with "make postscript",
or an Info version with "make info" and "make info_install".

For more background about the "Session" commands, have a look in
README.ie-session.

Hope you enjoy, and please send hacks or feedback to luke@bluetail.com(*)!

PS: The "dynamic TAGS" with M-. and M-, is the coolest bit to get
started with!

Compatibility notes:

  The profiler front end requires >= R8B (to get fprof)
  The debugger front end requires >= R8B-1

  Distel itself is not formally tested, but it has enough savvy users
that it'll typically run on the last 2 versions of Erlang and Emacs
(as of 2008 OTP R11/R12 and Emacs 21/22).

(*) Luke Gorrie is unfortunately no longer involved with Distel, and
Blutail no longer exists... 
  there is of course the distel-hackers mailing list;
https://lists.sourceforge.net/lists/listinfo/distel-hackers

  and the issue tracker at google;
http://code.google.com/p/distel

FAQ
1. Can't handle event closed in state  derl-recv-challenge-ack

this is what you get if the erlang node and the distel node disagree
one what cookie to use.

Use (in erl)
 erlang:get_cookie()
and (in emacs)
 M-x erl-get-cookie
to check the cookies.
Something went wrong with that request. Please try again.