3 When you type the opening '(' for a function call Distel will
4 try to show the function's argument list(s) in the echo area.
5 (Very nice feature by Martin Björklund.)
7 If you want to choose a new node to talk to then use
8 `erl-choose-nodename' (C-c C-d n). Now C-u is just a regular
9 prefix argument and not a node-chooser.
11 The default remote node name is now displayed in the modeline.
13 The 'dec32' helper C program no longer exists! Thanks Dave
14 Love for reimplementing it in Elisp using floats (and doing a
15 whole slew of cleanups besides).
17 Distel now tricks R10B-0 into thinking that it can support
18 extended pids. This allows distribution to be established. Of
19 course it would be better to really support them :-)
23 A User Manual is now available from the homepage,
24 http://www.bluetail.com/~luke/distel/
26 'fdoc' online docmentation is now included, with "C-c C-d d"
27 and "C-c C-d a" to do "describe" and "apropos",
28 respectively. 'fdoc' is a program for automatically extracting
29 documentation from the comments in source files - it primarily
30 exists in the Jungerl.
32 Refactoring support now exists, with a command to take an
33 expression from a function and "refactor" it into a separate
34 sub-function. Distel automatically passes the appropriate
35 variables to the new function by using the 'syntax_tools'
36 package to analyse the expression. This feature requires
37 'syntax_tools' version 1.2 to be installed separately.
39 Breakpoint handling in the debugger has been improved in many
40 small ways. There is also an extra keybinding for toggling
41 breakpoints, "C-x SPC", for consistency with other Emacs
44 Giving a numeric prefix argument to M-. will force it to
45 prompt for the function to lookup. This is useful if you want
46 to find the source for a function that isn't being called in
47 any code that you have handy. You can give it a numeric prefix
52 Completion of module and function names. So list:keyso
53 completes to lists:keysort, etc. Bound to M-TAB and (since
54 some window managers take that) M-?. Also has popups for
55 ambiguous completions and all that good stuff.
56 (Thanks Mikael Karlsson for suggesting this often enough that
57 it finally sunk in :-))
59 Major debugger extensions by Martin Björklund:
61 - Visual breakpoints: lines with breakpoints set are now
62 highlighted in red. If the buffer is modified, the
63 breakpoints turn purple to indicate that they may be out of
64 sync with the line numbers in the Erlang node. Once editing
65 is finished at the code is reloaded, the breakpoints can be
66 resynchronized with C-c C-d s.
68 Note that using "l(module)" in the shell seems to go behind
69 the debugger's back, so to reload an interpreted module you
70 should use either C-c C-d L in Emacs, or i(...) in the
73 - Save (C-c C-d S) and Restore (C-c C-d R) of debugger state
74 (set of interpreted modules and breakpoints.) This can be
75 used to temprarily save your debug settings while restarting
76 a node, etc. The settings are stored inside Emacs.
78 Group for Customization (M-x customize), so customizable
79 variables can be configured interactively. It's in
80 Programming->Tools->Distel.
82 More faithful tags-compliance (i.e. prompting for which tag to
83 follow after M-.) optionally available, via the (Customizable)
84 `distel-tags-compliant' variable (Martin Björklund.)
86 Distel commands now appear in the Erlang pull-down menu
89 Improved "Interactive Session" support. Now C-j evaluates the
90 previous expression and inserts the result in-line, and C-M-x
91 evaluates a function definition and prints the result as a
92 message. The binding for creating/showing a session is now
95 Improved process-manager support, with many small UI
96 enhancements: 'u' updates the list, 'k' kills a process, fewer
97 buffers are created, better errors when inspecting dead
98 processes, ... (thanks Martin Björklund and Mats Cronqvist)
100 EXIT signals are now generated for remote processes when the
101 link goes down. This solves some long-standing problems like
102 the debug monitor hanging if you restart the node you were
105 Option to explicitly set a cookie in the variable
106 `derl-cookie' (Mats Cronqvist)
108 Now you can connect several Emacsen to the same Erlang node,
109 because Distel now uses a unique distel_<pid>@<host> node name
114 Compatibility with R9.
116 New and incompatible pattern syntax:
117 [foo Bar] becomes ['foo bar].
118 In other words, symbols without quotes are now variables, even
119 if they're lower case.
121 References can now be sent and received, and also created with
124 Greatly improved support for helping the debugger find the
125 code for the modules you want to interpret, courtesy of Mats
126 Cronqvist <etxmacr@cbe.ericsson.se>.
128 Automated bug reporting with "M-x report-distel-problem",
129 which generates an email template addressed to the mailing
130 list, populated with some trace information.
132 M-. (erl-find-source-under-point) doesn't RPC on local
133 function lookups, making it faster. M-* now does the same as
134 M-, (jump back from a function definition), since it is more
135 consistent with TAGS. (M-, still works too.)
139 Lots and lots and lots.
141 Dynamic TAGS, debugger, profiler, shell-cum-scratchpad, and
142 generally "end-user" applications.
144 Substantial improvements to the programming interface too,
145 particularly eliminating the ugly `tuple' tag.
147 Thanks are due to David Wallin (!), Torbjörn Törnkvist, and
148 Darius Bacon (so far..) for hacks and ideas, and all the good
149 sports here at Bluetail for beta testing :-)
153 Major additions are pattern matching and `erl-receive'. This
154 has simplified the programming interface a lot, making
155 `erl-mailbox' become undocumented and `erl-continue' be
156 reclassified as an ``internal'' function. All existing
157 programs can be updated to be much neater. The actual changes
158 are backwards compatible, even though some things have
159 disappeared from the documentation.
161 Ported to XEmacs (21.1).
163 Many thanks to Vladimir Sekissov, Darius Bacon, and Vlad
164 Dumitrescu for code and advice on this release.