forked from massemanet/distel
-
Notifications
You must be signed in to change notification settings - Fork 3
/
ChangeLog
1231 lines (874 loc) · 44.6 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2008-12-18 Mats Cronqvist <[email protected]>
* *: tagged and uploaded 4.03
* otp_doc.erl : the strategy for completion is this; try otp_doc
first, since it's faster. if it comes up empty, xref should kick
in. alas, otp_doc was signalling failure to find by
returning {ok,[]} instead of {error,R}.
2008-09-23 Mats Cronqvist <[email protected]>
* doc: xemacs doesn't ship with ewoc.el. documented this, with a
pointer to savannah.
2008-09-05 Mats Cronqvist <[email protected]>
* Makefile: the "make install" target and "erl-load-backend"
disagreed on where the beam files where supposed to live. changed
the makefile and updated the INSTALL file.
2008-07-31 Mats Cronqvist <[email protected]>
* various: fixed docs and compiler warnings, and made a 4.0
release.
2008-05-23 Mats Cronqvist <[email protected]>
* src/otp_doc.erl (funcsf):
yet another edge case in the broken line handling
* src/otp_doc.erl (handle_link):
added code for the case where you are looking for links and have
several hits, but one is exact. e.g., when searching for
gen_server:start/4, you probably want that and not
gen_server:start_link/4.
2008-05-13 Mats Cronqvist <[email protected]>
* src/otp_doc.erl:
* src/distel.erl:
* elisp/erl-service.el:
changed completion support (erl-complete) to try completions from
the html docs first, and fall back to xref if that fails. old
behaviour was to try xref only. not so great since;
xref is annoyingly slow
xref also completes internal exports (arguably a feature?)
elisp functions to browse the docs;
erl-find-doc
erl-find-sig
erl-find-sig-under-point
erl-find-doc-under-point
2008-04-15 Mats Cronqvist <[email protected]>
* src/otp_doc.erl:
added modules/1 and functions/2
fixed special case for the gen_server/gen_fsm callbacks
* src/otp_doc.erl:
handled the special case of the "erlang" module.
handling the F-A delimiter that changed between R11 and R12.
2008-04-10 Mats Cronqvist <[email protected]>
* elisp/erl-service.el:
added erl-find-module (prompt for module name and open erl file)
and
erl-find-sig-under-point (print function signature(s) in mini-buffer)
e.g., doing erl-find-sig-under-point on "li:fl" will print this;
lib:flush_receive() -> void()
lists:flatlength(DeepList) -> int()
lists:flatmap(Fun, List1) -> List2
lists:flatten(DeepList, Tail) -> List
lists:flatten(DeepList) -> List
2008-04-09 Mats Cronqvist <[email protected]>
* src/otp_doc.erl:
* src/distel.erl:
in the process of adding document browsing to distel.
currently, M-x erl-find-doc-under-point will pop a buffer and
display the OTP html doc for the function under point.
requires 'w3m' and 'w3m-el' to be installed.
2007-11-03 Bill Clementson <[email protected]>
* elisp/derl.el (derl-string-make-unibyte,
derl-recv-challenge-ack): Mods for unicode. Patch supplied by
Dimitris Dinodimos.
* elisp/net-fsm.el (fsm-open-socket): Mods for unicode. Patch
supplied by Dimitris Dinodimos.
2007-09-27 Bill Clementson <[email protected]>
* elisp/erl-service.el (erl-complete): Modified Completions buffer
handling to better conform to standard Emacs completions.
2007-09-17 Bill Clementson <[email protected]> & Matthias Radestock
* src/distel.erl: Changed who-calls xref:q call so that line
numbers of function calls were returned rather than the line
number of the start of the calling function.
* elisp/erl-service.el (erl-find-callers, erl-who-calls-mode,
erl-goto-caller, erl-propertize-insert): Added derived mode for
who-calls and functionality to go to call locations.
2007-09-14 Bill Clementson <[email protected]> & Matthias Radestock
* src/distel.erl: Replaced module and function
"completions" (M-TAB) logic with calls to xref:q/2 in order to
improve performance, reuse "who calls" xref code changes, and
provide support for BIF completions.
2007-09-12 Mats Cronqvist <etxmacr@ws73032>
* src/distel.erl (src_from_beam/1): couldn't find the source name
in module_info/1 if the module was interpreted, which caused the
debugger to fail :<
the reason for the exit was that filelib:wildcard("") exits. might
not be a bug, but pretty wierd.
now, if the module is interpreted, the source file name is
retrieved from the interpreter (int:file/1)
2007-09-03 Bill Clementson <[email protected]>
* src/distel.erl: Replaced "who calls" (C-c C-d w) logic (all ~250
lines of it) with a single call to xref:q/2. (Patch from Matthias
Radestock)
2007-07-20 Mats Cronqvist <locmacr@mwlx084>
* src/distel.erl (guess_source_file): added <beamfiledir>../src/*
to list of directories in which to search for erl files.
search dirs are now:
the one specified in the beamfile (the 'source' field in module_info(compile))
<beamfiledir>
<beamfiledir>../src
<beamfiledir>../src/*
<beamfiledir>../esrc
<beamfiledir>../erl
2007-07-05 Bill Clementson <[email protected]>
* elisp/erl-service.el (erl-nodename-history, erl-choose-nodename):
Added node name default value and history.
* elisp/erl-service.el (erl-find-mod): Deleted function erl-find-mod
as its functionality has been subsumed by erl-find-source-under-point.
2007-07-05 Mats Cronqvist <mats dot cronqvist at gmail dot youguess>
* src/distel.erl: rewrote src_from_beam/1 just because the old one
was ugly.
2007-07-04 Bill Clementson <[email protected]>
* elisp/erl-service.el (erl-find-source): Stop prompting for node name
when erl-find-source is called with a prefix arg (earlier change in
erl-target-node also affected erl-find-source).
2007-07-02 Bill Clementson <[email protected]> & Matthias Radestock
* elisp/erl-service.el (erl-ping): New function erl-ping checks to see
whether it is possible to communicate with a node.
* elisp/erl-service.el (maybe-select-db-rebuild, erl-fdoc-apropos,
erl-fdoc-describe): New function maybe-select-db-rebuild handles prefix
arg prompting for fdoc commands that might require a rebuild of the
fdoc db.
* elisp/erl-service.el (erl-target-node): Force node selection if no
such node has been choosen yet, or when invoked with a prefix argument.
* elisp/distel.el (distel-keys): Added "C-c C-d g" key binding for
ner erl-ping command.
* doc/distel.texi (Conventions): Added comments about mods made to
allow selection of a node if a command is called with a prefix argument
and new erl-ping command.
2007-06-22 Bill Clementson <[email protected]>
* elisp/erl-service.el (erl-reload-module): Change "eq" to "equal"
when comparing node to edb-monitor-node.
2007-06-21 Bill Clementson <[email protected]>
* elisp/edb.el (edb-toggle-interpret, edb-monitor-cleanup): Reverted my
2007-06-11 change (as it was causing problems when doing multi-module
debugging) and cleared edb-monitor-node in edb-monitor-cleanup so that
debugging would be initialized properly when re-debugging the same
node. Thanks to Matthias Radestock for helping to identify the bug.
2007-06-11 Bill Clementson <[email protected]>
* elisp/erl-service.el (erl-eval-expression): Use current region
as default expression to evaluate.
* doc/distel.texi: Updated document with mod for erl-eval-expression.
* elisp/edb.el (edb-toggle-interpret): Fix problem with debugger
not toggling properly when connection to erlang node had been
stopped and subsequently restarted.
2007-06-06 Luke Gorrie <[email protected]>
* src/fdoc.erl (import_module): Fixed pattern matching bug.
Thanks Matthias Radestock.
2007-05-12 Luke Gorrie <[email protected]>
* Makefile: Removed configure/autoconf. Not needed anymore!
* elisp/distel.el (distel-menu-items): Added erl-reload-modules.
2007-04-14 Luke Gorrie <[email protected]>
* src/distel.erl (calls): Added a 'catch' over erl_syntax calls to
make who-calls more robust. (Patch from Matthias Radestock.)
2007-04-12 Mats Cronqvist <[email protected]>
* elisp/erl-service.el (erl-set-cookie, erl-get-cookie):
sets/gets the lisp side cookie. if emacs and erlang are running on
different machines you typically want to set the lisp side cookie
to the same as on the erlang side (use erlang:get_cookie/0).
2007-02-27 Luke Gorrie <[email protected]>
* elisp/erl-service.el (erl-check-backend, &erl-load-backend):
If the Erlang node does not have the Distel modules available in
the code path then patch them in directly as binaries using RPC.
Now you don't have to bother adding Distel to the code path and
should be able to connect to any Erlang node (e.g. on a target
system).
* elisp/net-fsm.el (fsm-shutdown): Fixed annoying bug.
* elisp/erl.el (erl-binary, erl-binaryp, erl-binary-string):
Added explicit binary datatype that is sent to Erlang as a binary.
* elisp/erlext.el (erl-tag): Switched from defconst to defvar to
avoid unnecessarily redefining (which blows everything).
Added encoding of binaries.
2006-09-25 Mats Cronqvist <[email protected]>
* src/distel.erl: added erl-reload-modules. reloads all modules
that are out of date. compares time of compilation for the loaded
code and the code in the corresponding beam file.
* elisp/distel.el: bound erl-reload-modules to C-c C-d r.
2006-09-04 Mats Cronqvist <[email protected]>
* src/distel.erl (Module): reload_module/2; 1st arg assumed to be
sting, could be atom or string. resolved by creating to_atom/1
and to_bin/1. got rid of l2a/1 and l2b/1.
2006-08-03 Mats Cronqvist <[email protected]>
* src/distel.erl (Module): had problems in guess_source_file/2;
1st arg was assumed to be atom, but could be atom or list.
wound up creating 3 functions;
l2a/1 - list_to_atom
l2b/1 - list_to_binary
to_list - *_to_list
and use them consistently.
2006-05-15 Mats Cronqvist <[email protected]>
* src/distel.erl (Module): behaviour of int:meta changed in R10B-10.
edb now understands the new, and (hopefully) the old as well.
new feature; you can attach to a process that exited in
interpreted code and inspect the stack (just as if you're in a
break)
fixed bug when trying to do c:l/1 on a string
2005-06-07 Mats Cronqvist <[email protected]>
* elisp/derl.el (derl-cookie): made derl-cookie writable
2005-06-03 Mats Cronqvist <[email protected]>
* elisp/erl-service.el (erl-openparent): inserts a "(" and the
argument list from erl-openparen.
(erl-reload-dwim): Do What I Mean to erl-reload-module. when
reloading beam files; if erl-reload-dwim is non-nil, and the
erlang module cannot be found in the load path, we attempt to find
the correct directory. I.e. if we're editing PATH/Mod.erl we look
for PATH/Mod.beam orelse PATH/../ebin/Mod.beam. if found we add
the dir to the load path and retry the load. We also don't prompt
for the module name. this is your basic bloat.
* elisp/distel.el (Module): bound M-( to erl-openparent
2005-06-02 Mats Cronqvist <[email protected]>
* src/distel.erl (reload_module/2): runs c:l/1, if it fails it looks
for the beam file in in srcdir and srcdir/../ebin (srcdir is where
the .erl file that you're editing lives, it's sent from emacs). if
it finds the beam file it adds the appropriate dir to the load
path and reruns c:l/1.
(stack_pos/2): debugger wouldn't show the variable
bindings in the top level function. now it does!
(refresh_dir/1): fixed typo
(Module): imported some functions from filename, renamed some
unused vars...
2005-03-25 Mats Cronqvist <[email protected]>
* elisp/derl.el (derl-int32-to-decimal): Rewrote the test for
enough precision in floating-point. the test is pretty lame, even
if it succeeds we cannot be sure it'll work for all int32's.
alas, i'm too ignorant to write a good test. the previous version
of the test was nicer, but FSFmacs-specific :<
2005-02-20 Luke Gorrie <[email protected]>
* doc/distel.texi (Conventions): Added a note that you need to
start the Erlang node yourself, to make Joe happy.
2005-01-30 Luke Gorrie <[email protected]>
* elisp/erl-service.el (erl-goto-end-of-call-name): Rewrote to
hopefully suck less badly.
2004-10-27 Luke Gorrie <[email protected]>
* elisp/erl-service.el (erl-refactor-subfunction): Strip text
properties from refactored text.
* elisp/erl.el (&erl-group-leader-loop): Make *erl-output* a plain
Emacs buffer created on demand. Previously it was actually the
Distel group leader process and so it was bad to kill it (now it's
fine).
2004-10-26 Martin Bjorklund <[email protected]>
* elisp/distel.el (distel-menu-items): Use erl-choose-nodename in
the menu.
2004-10-25 Luke Gorrie <[email protected]>
* elisp/derl.el (derl-send-name): Lie to Erlang by saying that we
support extended PIDs. This way we can establish distribution with
R10B-0, which doesn't seem to actually send extended pids
initially. (This is a lame workaround but I'm in a hurry and the
extended-pid format is not documented.)
* doc/distel.texi: Updated to describe `erl-choose-nodename' and
the fact that `C-u' is now a regular prefix argument instead of a
new-node-chooser.
* README, INSTALL: Updated to describe simplified installation
instructions.
2004-10-23 Luke Gorrie <[email protected]>
* elisp/erl-service.el (erl-choose-nodename): Update
distel-modeline-node.
* elisp/distel.el (distel-keys, distel-bind-keys): Bind keys
manually instead of with define-minor-mode. The latter makes it
hard to change the bindings without restarting Emacs.
(distel-modeline-node): Variable containing the (possibly
abbreviated) name of the current Erlang node. This is displayed in
the modeline so the user can see which node is in use.
2004-10-16 Luke Gorrie <[email protected]>
* elisp/derl.el (derl-int32-to-decimal): No longer try to use the
'dec32' helper program: rely solely on floating point. This way we
can remove that C program entirely.
2004-08-26 Luke Gorrie <[email protected]>
* erl/distel.erl: Added who_calls/3 front-end to cross
referencing.
* elisp/patmatch.el (patmatch): Fixed bugs in matching lists and
tuples.
2004-08-25 Luke Gorrie <[email protected]>
* elisp/erl-service.el (erl-read-call-mfa): This is now the One
True Way to determine the module/function/arity for a command to
operate on.
(erl-who-calls): New command to list all callers of a given
function.
(erl-node-name): Renamed to `erl-target-node'. Does not look at
prefix argument anymore. If you want to switch nodes you now have
to use `M-x erl-choose-node' instead of just `C-u'. This frees up
the prefix argument for more interesting uses.
* elisp/erl.el (&erl-group-leader-loop): Make the *erl-output*
window scroll properly.
2004-05-27 Luke Gorrie <[email protected]>
* elisp/erl-service.el (erl-refactor-subfunction): More
robust. Can now handle things like trailing ';' characters in the
region being refactored.
2004-05-24 Luke Gorrie <[email protected]>
* elisp/erl.el (erl-nodes): New variable. Contains the list of
nodes that we're connected to, like the nodes() BIF.
* elisp/erl-service.el (erl-openparen): Don't lookup the arglist
unless we're actually connected to the node.
2004-05-21 Luke Gorrie <[email protected]>
* elisp/erl-service.el (erl-openparen): New command to print the
argument list for a function call. Automatically runs when you
type '('.
* erl/distel.erl (get_arglists): The Erlang part.
2004-03-23 Dave Love <[email protected]>
* doc/distel.texi: Fix some @xref usages.
2004-03-10 Dave Love <[email protected]>
* elisp/patmatch.el (cl): Require when compiling.
(mcase-parse-clauses): Wrap in eval-and-compile.
(mlet): Don't use gensym.
(pmatch-tail): New.
(patmatch): Use it.
(pattern): Defvar when compiling.
* elisp/net-fsm.el (cl): Require when compiling.
(with-error-cleanup): Don't use gensym.
(fsm-build-message): Use default-enable-multibyte-characters.
* elisp/erlext.el (xemacs-only, gnu-only): Delete. Don't use them
to signal error on loading.
(erlext-binary-to-term, erlext-term-to-binary): Use
default-enable-multibyte-characters, with-temp-buffer.
(erlext-read1): Define conditionally on fbound char-int.
* elisp/erl.el: Only require cl when compiling. Provide erl
early. Doc fixes.
(defprocvar): Wrap in eval-when-compile.
(erl-remove-if): New. Change callers of remove-if to use it.
* elisp/erl-service.el (cl): Require when compiling.
(erl): Require.
* elisp/erl-example.el (cl): Require when compiling.
(erl): Require.
* elisp/epmd.el (cl): Require when compiling.
(epmd-port-please): Comment out (unused).
* elisp/edb.el (cl): Require when compiling.
(erlang-extended-mode): Autoload.
* elisp/distel-ie.el (cl): Require when compiling.
(erl): Require.
(erl-ie-evaluate, erl-ie-copy-buffer-to-session)
(erl-ie-copy-region-to-session): Doc fix.
* elisp/derl.el (cl): Require when compiling.
(derl-alive): Use default-enable-multibyte-characters,
with-temp-buffer, erl-tuple-elt.
(derl-int32-to-decimal): Maybe use floating point.
(derl-hexstring-to-binstring): Renamed from
hexstring-to-binstring; callers changed.
(derl-merge-halves): Renamed from merge-halves; callers changed.
(derl-hexchar-to-int): Renamed from hexchar-to-int; callers
changed.
* elisp/distel.el (distel-erlang-mode-hook): Doc fix.
(erlang-extended-mode-hook): Quote lambda in hook.
(font-lock): Require when compiling.
(report-distel-problem): Require font-lock.
2004-01-09 Luke Gorrie <[email protected]>
* erl/distel.erl (debug_toggle): Call code:ensure_loaded/1 to
make sure a module is loaded before trying to interpret. This is
an attempt to avoid not-properly-understood debugger problems.
2003-06-11 Luke Gorrie <[email protected]>
* elisp/erl-service.el (erl-refactor-strip-macros): Now removing
macros before attempting to find free variables in
expressions. This allows us to refactor code that uses macros,
though it could lead to invalid refactorings in pathological cases
(i.e. if a macro expansion would really have introduced a new free
variable.)
2003-03-26 Luke Gorrie <[email protected]>
* Release: 3.3!
2003-03-11 Luke Gorrie <[email protected]>
* elisp/derl.el (erl-dec32): Portability fix for Win32, thanks to
Nicolas Charpentier.
* erl/distel.erl: Now converting fdoc result strings into
binaries, to avoid the classic string/list encoding problems.
2003-03-10 Luke Gorrie <[email protected]>
* elisp/distel.el: Added "C-x SPC" keybinding for toggling
breakpoints, for consistency with the rest of Emacs.
* elisp/erl-service.el: fdoc commands now accept a numeric prefix
to mean, "rebuild the doc database."
2003-03-06 Luke Gorrie <[email protected]>
* elisp/edb.el: Improved breakpoint handling.
* elisp/erl-service.el (erl-fdoc-apropos, erl-fdoc-describe):
Added commands for finding documentation via 'fdoc'.
2003-02-17 Luke Gorrie <[email protected]>
* elisp/erl-service.el (erl-check-backend): Now using the
`erl-nodeup-hook' to automatically check that the `distel' module
is loadable by Erlang nodes we connect to, and print a warning if
not. You can avoid this by setting `distel-inhibit-backend-check'
to t.
2003-01-15 Luke Gorrie <[email protected]>
* elisp/erl-service.el (erl-read-nodename): The universal prefix
argument (C-u) means "prompt me for which node to use", but
numeric prefixes no longer do. This is to free them up for other
purposes.
(erl-find-source-under-point): Numeric prefix argument forces the
same behaviour as `distel-tags-compliant', i.e. prompt for
function name. Useful for jumping to functions that aren't being
called anywhere handy.
(erl-refactor-subfunction): Slightly improved error reportage.
* elisp/edb.el (edb-new-attach-buffer): Inhibiting
`erlang-new-file-hook' in attach buffers. It was misfiring and
causing problems.
* elisp/erl-service.el (erl-refactor-subfunction): Small
portability fix; this feature probably only worked in the CVS
version of Emacs 21 previously. Now also works in 21.2.1.
2003-01-14 Luke Gorrie <[email protected]>
* elisp/erl-service.el (erl-refactor-subfunction): New refactoring
command: takes all expressions in the region and makes a new
function out of them. The original text is replaced by a call to
the new function, and all needed variables are passed as
parameters. The function itself is placed on the kill ring, for
manual placement. Bound to "C-c C-d f".
* erl/distel.erl: Erlang-side refactoring support, requires
syntax_tools version 1.2 (from erlang.org contributions.)
2003-01-11 Luke Gorrie <[email protected]>
* elisp/edb.el: Toggling stale breakpoints is now a local
operation - it doesn't talk to the erlang node. This fixes a
problem caused by the expected inconsistencies. Also, making a
buffer uninterpreted now removes all breakpoints (the erlang
debugger backend already quietly works this way.)
2002-12-16 Luke Gorrie <[email protected]>
* Release: 3.2!
* elisp/edb.el (edb-make-breakpoint-overlay): Changed
`point-at-bol' call to `line-beginning-position', for Emacs20
compatibility.
Minor XEmacs compatibility hacks.
* elisp/distel.el (erlang-extended-mode): Moved "BODY" part from
erlang-extended-mode's define-minor-mode and into a hook, for
Emacs20 compatibility.
* erl/distel.erl (debug_add): Now always reinterpreting modules,
even when int:interpreted() says they're already interpreted,
since it can give false information if modules are reloaded behind
its back. Maybe we need to talk with OTP about the semantics of
reloading interpreted modules in various ways..
* elisp/derl.el (derl-cookie): Variable for explicitly setting
cookie (from Mats Cronqvist)
* elisp/distel.el (erlang-extended-mode): Some new key bindings:
C-d C-d e: erl-ie-show-session (moved from C-c C-d s)
C-c C-d s: edb-synch-breakpoints
C-c C-d S: edb-save-dbg-state
C-c C-d R: edb-restore-dbg-state
* elisp/erl-service.el (erl-reload-module): Bugfix - if a module
is interpreted, then we reinterpret it instead of
reloading. Avoids problem of quietly uninterpreting modules.
* elisp/erl.el (erl-node-name): Now including the unix pid of
Emacs in the node name, so that multiple Emacsen can connect to
the same erlang node. Previously there was a naming conflict.
2002-12-15 Luke Gorrie <[email protected]>
* elisp/edb.el (edb-make-breakpoints-stale): Never mark
breakpoints as stale in attach buffer.
(edb-breakpoint-stale-face): Switched stale breakpoint colour to
purple (no decent dark yellow, at least on LCD screen.)
2002-12-13 Martin Bjorklund <[email protected]>
* elisp/edb.el (edb-save-dbg-state): Save debugger state
(i.e. which modules are interpreted, and their breakpoints). The
saved state can be restored after e.g. a node restart with
edb-restore-dbg-state.
2002-12-12 Luke Gorrie <[email protected]>
* elisp/edb.el (edb-synch-breakpoints): When calculating the line
number of a breakpoint overlay, now counting lines from
(point-min) (beginning of buffer) instead of (window-start)
(beginning of visible part of buffer).
2002-12-08 Luke Gorrie <[email protected]>
* elisp/erl-service.el (erl-find-source): Fixed problem where
erl-find-source would only work from files with -module(..)
declarations. Now it works in any erlang-mode buffer.
2002-12-08 Martin Bjorklund <[email protected]>
* elisp/erl-service.el (erl-find-source-under-point): Don't ask
for nodename if a local function definition is asked for.
2002-12-06 Martin Bjorklund <[email protected]>
* elisp/edb.el (edb-synch-breakpoints): Added "synch all
breakpoints to erlang" command, bound to C-c C-d S. Might be used
after a buffer with breakpoints has been modified, recompiled and
loaded to erlang, to re-apply all breakpoints in the buffer.
* elisp/edb.el (edb-breakpoint-stale-face): Added a face which is
used to mark breakpoints to be out of synch when a buffer is
modified.
* elisp/edb.erl: Cleanups.
2002-12-06 Luke Gorrie <[email protected]>
* elisp/erl-service.el (erl-pman-kill-process): Added "kill this
process" command, bound to 'k' (patch from Mats Cronqvist.)
* elisp/erl.el (erl-exit): Fixed stupid bug.
* elisp/edb.el (edb-monitor): Now putting the point at the last
process after popping up the monitor (patch from Mats Cronqvist.)
2002-11-30 Luke Gorrie <[email protected]>
* elisp/edb.el (edb-make-breakpoint-overlay): Tiny tweak of
setting the overlay "rear advance" to nil. This means that if you
open a new line following a breakpoint, the overlay won't spill
over onto it.
2002-11-28 Luke Gorrie <[email protected]>
* elisp/edb.el (edb-attach-mode): Bound "b" to
edb-toggle-breakpoint in attach buffers, as a shortcut.
2002-11-28 Martin Bjorklund <[email protected]>
* elisp/edb.el: Added visual breakpoints, both in source files and
the attach buffer. It uses the customizable face
'edb-breakpoint-face' for breakpoint highlighting.
* elisp/distel.el: Extended the Erlang menu with a 'distel'
submenu, which contains the common distel functions.
* elisp/derl.el (derl-use-trace-buffer): Added a customizable
'derl-use-trace-buffer' (default t) which is used to turn on/off
the trace buffer.
* elisp/net-fsm.el (fsm-use-debug-buffer): Added a customizable
'fsm-use-debug-buffer' (default nil) which is used to turn on/off
the net-fsm debug buffer.
2002-11-24 Luke Gorrie <[email protected]>
* configure: Added configure script to CVS.
* elisp/distel.el (erlang-extended-mode): Added completion binding
on M-?, since M-TAB is often used by window managers.
* elisp/distel-ie.el: Changed keybindings. Now C-j evaluates the
expression behind the point and inserts the result in-line, and
C-M-x evaluates a function definition and shows the result as a
message. Based on suggestions from people at EUC.
* elisp/distel.el (distel): Added Distel customization group under
Programming->Tools, and put `distel-tags-compliant' and
`edb-popup-monitor-on-event' in there.
* elisp/erl-service.el (erl-complete): Added command to complete
module names and fully-qualified function names, with all the
fixin's (popup completion list etc). This is bound on M-TAB, and
_nice_!
(process-list-mode): Pressing "u" now updates the process list. A
bunch of small usability enhancements to process info viewing.
2002-11-23 Luke Gorrie <[email protected]>
* elisp/derl.el (derl-nodedown): Now delivering EXIT signals from
linked remote processes when we lose contact with their node. This
fixes some long standing problems, like the debug monitor hanging
if you restart the node it's talking to.
2002-11-21 Martin Bjorklund <[email protected]>
* elisp/distel.el (distel-tags-compliant): New variable for making
M-. prompt for which function to find.
2002-11-21 Luke Gorrie <[email protected]>
* elisp/erl.el: Various minor fixes: added erl-group-leader
function (if the variable is nil in a non-process buffer, it takes
the default), improved erl-pid-to-string, rearranged some things.
* elisp/erl-service.el (erl-send-rpc): Using a new
erl-group-leader function instead of the variable of the same
name, to fix a problem when sending RPCs from non-process buffers.
* elisp/edb.el (edb-monitor-format): Avoiding trailing spaces in
summary lines, so that it doesn't unnecessarily wrap lines on < 80
column displays (was needed for the big font I used in the EUC
presentation.)
* elisp/distel-ie.el: Added a couple of `push-mark' calls, so that
after you evaluate a definition the mark will be placed where the
cursor is (and thus when you type a new expression, the region
will be around your new text, ready for M-x). But what we really
need to do is change M-x so that it grabs a whole expression
instead of using the region.
2002-11-12 Luke Gorrie <[email protected]>
* elisp/derl.el (erl-connect): Now printing an error if we try to
connect to an erlang node that has the same nodename as Emacs, to
prevent a commonly confusing problem.
2002-11-10 Luke Gorrie <[email protected]>
* Release: 3.1!
2002-11-08 Luke Gorrie <[email protected]>
* Everywhere: Incompatible changes to the pattern syntax. All
symbols are now variables by default, to match a symbol by value
it has to be quoted. The basic difference is:
[ok Value]
becomes:
['ok value]
The algorithm for updating your patterns is:
Put a quote in front of all lower-case match-by-value symbols.
Change all the symbols for variables to lower-case.
And that's all. Hopefully I've correctly fixed this in all the
code included in Distel.
* elisp/erl-service.el (fprof-analyse): Added new command to view
an existing fprof analysis file.
2002-11-05 Luke Gorrie <[email protected]>
* elisp/erl.el (erl-make-ref): Equivalent to make_ref/0 BIF in
Erlang. Also added support for encoding/decoding refs "on the
wire" (erlext.el).
* elisp/erlext.el (erlext-read-obj): Bignums are now skipped over,
giving the symbol SMALL-BIGNUM or LARGE-BIGNUM instead of an
error.
2002-10-30 Luke Gorrie <[email protected]>
* elisp/erl-service.el (erl-reload-module): Convenience function
for reloading an Erlang module. I often see people switch from
Emacs to an erlang shell to type "l(mymod)" after a 'make'. This
is a quicker way.
Bound to "C-c C-d L".
2002-10-23 Luke Gorrie <[email protected]>
* elisp/distel.el (report-distel-problem): New automated bug
reporting command. Creates a bug report email template including
some recent trace information.
2002-10-08 Luke Gorrie <[email protected]>
* distel.erl, elisp/edb.el (edb-toggle-interpret): Fixes for
finding the right source code to interpret when debugging is
toggled on (patch by Mats Cronqvist). Now we use the absolute path
name of the Emacs buffer as the filename to interpret on the
Erlang node. This essentially assumes a common file system between
both nodes. The issue of "fully general" debugging on arbitrary
remote nodes still needs some thinking (e.g. if node and Emacs
have different versions of the code, etc.). But for now this is
more convenient for debugging nodes that do have a common file
system with Emacs.
2002-10-04 Luke Gorrie <[email protected]>
* erl/distel.erl, erl-service.el: Can now find the source file for
a module from information in the beamfile saying where it was
originally compiled. Idea & patch by Mats Cronqvist
2002-09-30 Luke Gorrie <[email protected]>
* elisp/erl-service.el (erl-find-source): Doesn't do the
source-file-finding RPC when already in a buffer matching the
module name.
2002-08-29 Luke Gorrie <[email protected]>
* Release: 3.0!
2002-08-29 david wallin <[email protected]>
* README.ie-session (Module): New file, trying to explain what
distel-ie is supposed to do.
2002-08-29 Luke Gorrie <[email protected]>
* elisp/distel-ie.el (erl-ie-inline-results): Added variable to
control how results are reported (inline in buffer, or in message
area). Uses the message area by default, prefix argument inverts.
(erl-ie-show-session): This is the new "create a blank session"
command (calls erl-ie-session and pops up the buffer, something
I'd broken)
2002-08-28 Luke Gorrie <[email protected]>
* elisp/erl-service.el (display-message-or-view): Fixed
embarrassing bug where an unbound variable was being
used (apparently it previously had the right dynamic binding by
luck - scary).
* erl/distel.erl (find_source/1): Now resolves relative paths.
* elisp/erl-service.el (erl-find-source-under-point): Included
details of the workings in the docstring. Made a portability
tweak.
2002-08-27 Luke Gorrie <[email protected]>
* elisp/erl.el (erl-stop-on-error): Setting this variable to
non-nil stops the scheduler from trapping elisp errors, so you
can debug them normally. See variable docstring for details.
* elisp/distel.el (erlang-extended-mode): Fixed up the mode line
format for erlang-extended-mode. Working around a bug in Emacs 21,
I think.
2002-08-24 david wallin <[email protected]>
* elisp/derl.el (erl-connect): Well well well... who would have
guessed that I would have to step in and save the day with some
elisp hacking? :-) Anyway, Luke, better take a look at the changes,
at least now you can connect to an erl node.
2002-08-23 Luke Gorrie <[email protected]>
* elisp/erl-service.el (display-message-or-view): Emacs20
compatibility fix. Also, now only using the echo area for
single-line messages, even though Emacs21 can handle bigger
ones. This feels better for process info items, since it's
confusing to have e.g. one large backtrace in a buffer and then
another smaller one pop up in the echo area - better to always use
the buffer.
* elisp/edb.el (edb-monitor): Monitor buffer now pops up when an
attached process exits (as well as when an unattached process hits
a breakpoint).
* elisp/erl.el (erl-set-name): Added this function that processes
can call to give themself a name. This name is printed if the
process crashes - it's handy for debugging. Updated some existing
processes to use it.
* elisp/derl.el (erl-connect): When epmd lookup fails, the *derl
<node>* buffer is now killed. This fixes a long-standing bug that
forced you to manually kill this buffer before you can try to
connect again.
2002-08-22 david wallin <[email protected]>
* elisp/distel-ie.el (erl-ie-copy-[buffer|region]-to-session): Move
the pointer to the end of the buffer before inserting.
* elisp/distel-ie.el (erl-ie-session): The welcome message should
only occur once (on startup), i.e., that the user is welcome back
is now implicit.
* erl/distel_ie.erl (add_remote_call_info/2): Added the string tuple.
So 'cd("/usr/local").' can now properly be evaluated.
2002-08-22 Luke Gorrie <[email protected]>
* elisp/erl-service.el (erl-bury-viewer): Add this command, which
is like `erl-quit-viewer' but buries rather than kills the buffer.
(erl-find-source): Improved error reportage, and now only adding
locations to the M-, history when we actually jump somewhere.
* elisp/edb.el: Various debugger improvements: Monitor buffer pops
up when an unattached process hits a breakpoint (unless
`edb-popup-monitor-on-event' is nil); Monitor better intercepts
debug commands to either start monitoring or switch nodes; 'q' now
hides rather than kills the monitor buffer/process ('k' kills);
Return and C-m can be used to attach to a process from the monitor,
as well as the traditional 'a'.
2002-08-21 Luke Gorrie <[email protected]>
* config/emacs-init-snippet.el.in: Now being careful to add
Distel at the end of the load-path, so that the
possibly-redundant files we include for compatibility (ewoc.el,
md5.el) don't override any locally installed ones.
* README, Makefile.in (VERSION): Increased 3.0a -> 3.0b to
distinguish from the version installed on Bluetail'ers' machines
earlier today.
* elisp/erl.el (erl-reductions): Added reductions counter, saying
how many times a process has been executed (_not_ how many calls
it has made, like Erlang reductions). This can be inspected
directly for debug purposes.
* config/emacs-init-snippet.el.in: Using autoconf on the .emacs
snippet to setup the right load-path. It seems that just making a
directory in ${prefix}/share/emacs/site-lisp/ doesn't get you
into the load path automatically.
* elisp/edb.el, erl/distel.erl: Reworked the debugger so that the
Monitor process tracks the current set of breakpoints and
interpreted modules. Erlang-extended-mode buffers now indicate via
the mode line whether they are currently being interpreted.
* Makefile.in: Moved the documentation onto separate targets:
"info", "info_install", "postscript". Hopefully this will avoid
hittings errors in basic installations on non-GNU systems.
2002-08-20 david wallin <[email protected]>
* elisp/distel.el (erlang-extended-mode): Added a keybinding
for erl-ie-evaluate: C-M-x.
* elisp/distel-ie.el (erl-ie-evaluate): If the current buffer
isn't a session; start a session and copy the marked region
over to it. All interaction will then take place in the
session buffer.
2002-08-20 Luke Gorrie <[email protected]>
* elisp/erl-service.el (erl-find-source-under-point): Can now
handle text like "foo:bar/2" - i.e. reads the arity correctly, so
you can jump to definitions from e.g. export lists. Actual change
made in `erl-get-arity'.
(erl-find-source-under-point): When arity can't be determined,
finds the first matching function of any arity. This is useful
when you're writing a function call and can't remember what
arguments/arities a function has - you can jump to the definition
and see.
* All: XEmacs and Emacs20 compatibility fixes (tested edb,
erl-process-list).
2002-08-19 david wallin <[email protected]>
* elisp/distel.el (erlang-extended-mode): Added keybindings
for distel-ie.
C-c C-d s : Start a session.
C-c C-d c : Copy current buffer to a session.