debugger support beginning
[sepia.git] / ChangeLog
blobc625b3f455874003b7e132d56a5c80a270a1b2a6
1 2007-06-02  Sean O'Rourke  <sorourke@cs.ucsd.edu>
3         * lib/Sepia.pm (repl_shell): new command.
4         * sepia.el (sepia-eval-defun): detect errors, jump to first.
5         (sepia-comint-setup): don't set comint-use-prompt-regexp
6         (sepia-eval-defun,sepia-beginning-of-defun,sepia-end-of-defun): fix
8 2007-06-01  Sean O'Rourke  <sorourke@cs.ucsd.edu>
10         * sepia.el (sepia-perldoc-this): don't mess up window
11           configuration when the page isn't found.
12         (sepia-location): use sepia-interactive-arg.
13         (sepia-perl-[np]e-region): fix.
15         * lib/Sepia.pm: fix.
16         (print_dumper): switch format based on size.
18 2007-05-30  Sean O'Rourke  <sorourke@cs.ucsd.edu>
19         * sepia.texi: shiny new manual.
20         * lib/Sepia.pm (completions): add special 'VARIABLE' type.
21         (methods): add second $qualified arg.
22         (repl_reload): new function.
23         (sig_warn,repl): override __WARN__ (and __DIE__) cautiously.
24         (repl): nicer warning format.
26         * sepia.el (sepia-eval-raw): stopwarn -> STOPWARN.
27         (sepia-load-file): Fix pop-up error buffer.
28         (sepia-lisp-to-perl): fix quoting of strings.
29         Good citizenship:
30         (sepia-mode): make a real major mode.
31         (sepia-scratchpad-mode): ditto.
33 2007-05-29  Sean O'Rourke  <sorourke@cs.ucsd.edu>
35         * lib/sepia/Xref.pm (pp_method_named): warn -> dprint.
36         * sepia.el (sepia-simple-method-before-point): new function.
37         (sepia-complete-symbol): use it to complete methods.
38         make w3m optional:
39         (sepia-perldoc-function,sepia-view-pod-function,
40           sepia-module-list-function): new variables.
41         (sepia-perldoc-this,sepia-view-pod): new functions.
42         * lib/Sepia.pm (repl): trim leading spaces.
43         (tolisp): escape metacharacters.
44         (repl): don't override "die" if someone has installed a
45         $SIG{__DIE__} handler
47 2007-05-28  Sean O'Rourke  <sorourke@cs.ucsd.edu>
49         * VERSION: 0.75+
50         * sepia.el (sepia-core-version): new function.
51         (sepia-indent-or-complete): fix abbrev expansion.
52         (sepia-symbol-info): report core version in eldoc.
53         (sepia-ident-before-point): new function.
54         (sepia-complete-symbol): use it instead of *-at-point.
55         (sepia-complete-symbol): complete arrays and hashes when '$'
56         starts a word.
57         * lib/Sepia.pm (printer): Use @::__; distinguish "last as scalar"
58           $__ from printed representation.
59         ($PRINT_PRETTY): columnate lists if this is on.
60         (columnate): fixed.
61         (repl_methods): add regex argument.
62         (repl_who): fix.
63         (completions): Add in package names.
65 2007-05-27  Sean O'Rourke  <sorourke@cs.ucsd.edu>
67         * lib/Sepia.pm (repl_methods): fixed.
69 2007-05-26  Sean O'Rourke  <sorourke@cs.ucsd.edu>
71         * VERSION: 0.74
72         * sepia.el (sepia-doc-scan-buffer): Better doc regex for
73           variables.
74         (sepia-indent-or-complete): try to expand abbrevs before
75           completion (try with snippet.el).
76         (sepia-indent-expand-abbrev): control the above feature.
77         (sepia-complete-symbol): scroll completion buffer; suggested by
78           Hilko Bengen.
79         * lib/Sepia.pm (html_package_list,html_module_list): new
80           functions.
81         (completions): '$'-completion only generates scalars.
82         * sepia-w3m.el: remove spurious sepia-module-list, improve
83           documentation.
84         (sepia-module-list,sepia-package-list): better output.
85         (sepia-package-list,sepia-module-list): move Perl code to
86           Sepia.pm, generate list in inferior perl instead of shelling
87           out.
89 2007-05-23  Sean O'Rourke  <sorourke@cs.ucsd.edu>
91         * lib/Sepia.pm (_apropos_re): handle empty completions.
92         (columnate): pretty-print ",who" output.
93         * sepia.el (sepia-complete-symbol): bury stale completions buffer;
94           suggested by Hilko Bengen.
96 2007-05-17  Sean O'Rourke  <sorourke@cs.ucsd.edu>
98         * lib/Sepia.pm (_completions1): Fix infinite recursion.
99         (repl): typo; clarify ambiguous vs. unrecognized shortcuts.
101 2007-05-15  Sean O'Rourke  <sorourke@cs.ucsd.edu>
103         * sepia.el (sepia-dwim): don't try to jump to location when
104           looking up module docs.
105         * lib/Sepia.pm: use $::__ instead of $Sepia::__
106         (repl_quit): new command.
107         (repl): add banner.
109 2007-05-12  Sean O'Rourke  <sorourke@cs.ucsd.edu>
111         * VERSION: 0.72
112         * Makefile.PL: add license.
114 2007-05-09  Sean O'Rourke  <sorourke@cs.ucsd.edu>
116         * VERSION: 0.71
117         * sepia.el (sepia-load-file): set inhibit-read-only when
118           displaying errors.
119         * lib/Sepia.pm (repl_methods): walk ISA hierarchy looking for
120           functions (XXX: this is much too coarse).
121         (repl_help): use %REPL_DOC to hold command documentation for
122         easier extension.
123         (repl): display error on canceled continued statement.
125 2007-05-07  Sean O'Rourke  <sorourke@cs.ucsd.edu>
127         * lib/Sepia.pm (repl_strict): add 'strict mode' (thanks to
128           Lexical::Persistence) for those who swing that way (I don't),
129           inspired by Devel::REPL.
130         (repl_wantarray): Fix logic.
132 2007-04-25  Sean O'Rourke  <sorourke@cs.ucsd.edu>
134         * VERSION: 0.70
135         * README: add license.
136         * Makefile.PL: remove dependency on Sub::Uplevel, make PadWalker
137           optional. 
138         * lib/Sepia.pm (who): add optional regex filter.
139         (debug_inspect): fix non-scalar printing.
140         * sepia.el (sepia-dwim): fix staleness; change to find
141           documentation for modules.
142         (sepia-find-module-file): new function to try sepia- and xref-
143         module file-finding functions.
144         (sepia-next): use it.
145         (sepia-filter-by-module,sepia-filter-by-all): remove.
146         (sepia-keymap): use `sepia-dwim' for M-.
148 2007-04-15  Sean O'Rourke  <sorourke@cs.ucsd.edu>
150         * lib/Sepia.pm (who): add optional regex argument.
152 2007-03-30  Sean O'Rourke  <sorourke@cs.ucsd.edu>
154         * sepia-w3m.el (sepia-module-list, sepia-package-list): added
155           detailed index of installed modules.
156         * VERSION: 0.68
158 2007-03-16  Sean O'Rourke  <sorourke@cs.ucsd.edu>
160         * sepia.el (sepia-set-found): filter spurious nils (XXX: this
161           really needs a fix).
162           (sepia-symbol-info): avoid eldoc errors in ecase.
164 2007-03-15  Sean O'Rourke  <sorourke@cs.ucsd.edu>
166         * sepia.el (sepia-complete-symbol): fallback completion of
167           builtins.
168         * set COPY_EXTENDED_ATTRIBUTES_DISABLE=true to avoid creating ._*
169           files (RT #25490).
171 2007-03-15  Sean O'Rourke  <sorourke@cs.ucsd.edu>
173         * VERSION: 0.67
174         * sepia-ido.el: clean up bitrot.
175         * lib/Sepia.pm (apropos): don't create new stashes during
176           completion.
177         * sepia.el (sepia-show-locations): bind inhibit-read-only; filter
178           out mysterious NILs.
179         * Makefile.PL: require PadWalker 1.0 (RT #25463)
181 2007-03-13  Sean O'Rourke  <sorourke@cs.ucsd.edu>
183         * VERSION: 0.66
184         * README (TODO): user-defined REPL abbrevs.
185         * lib/Sepia.pm (print_*): optional printing via YAML and
186           Data::Dump (from Shell::Perl).
187         (repl_wantarray): change eval context (same).
188         (repl_format): set formatter (same).
190 2007-03-09  Sean O'Rourke  <sorourke@cs.ucsd.edu>
192         * VERSION: 0.65
193         * sepia.el (sepia-keymap): add *-apropos, find-tag bindings.
194         * README: add organized function index.
195         * sepia.el (sepia-beginning-of-defun, sepia-end-of-defun):
196           fix argument to be prefix instead of point.
197         * sepia.el: documentation.
198         * sepia-ido.el: documentation.
199         * README: cleanup; note limitation of sepia-bodf and -eodf.
201 2007-02-25  Sean O'Rourke  <sorourke@cs.ucsd.edu>
203         * Makefile.PL: add Scalar::Util as prereq.
204         * sepia.el (sepia-perl5lib): new variable holding extra PERL5LIB
205           entry.
206         * sepia.el (sepia-init): use it.
207         * sepia.el (sepia-comint-setup): don't clobber keymap.
208         * sepia.el (sepia-indent-or-complete): complete first time if at
209           end of word.
210         * Sepia.pm (completions): enhanced completion -- e.g. "wtf"
211           matches "want_to_feed".
212         * Sepia.pm (printer): special-case PDL to use its stringification
213           (XXX: should test for overloaded "").
214         * Sepia.pm (who,repl_who): new functions.
216 2006-09-29  Sean O'Rourke  <sorourke@cs.ucsd.edu>
218         * Sepia.pm (Dump): wrap with eval to prevent unexpected exits.
219         * Sepia.pm (repl_chdir): expand '~' and '$HOME'
221 2006-07-01  Sean O'Rourke  <sorourke@cs.ucsd.edu>
223         * Sepia.pm (tolisp): undef -> nil
224         * sepia.el (sepia-eval-raw): guess package.
225         * sepia.el (sepia-init): don't pop-to-buffer with prefix argument.
226         * sepia.el (sepia-beginning-of-defun,sepia-end-of-defun): avoid
227           recursion.
228         * sepia.el (sepia-buffer-package): look backward from point
229           instead of forward from point-min.
231 2006-05-24  Sean O'Rourke  <sorourke@cs.ucsd.edu>
233         * Makefile.PL: added missing dependencies on PadWalker,
234           Sub::Uplevel.
235         * Sepia.pm: improved ",command"
236         * sepia-w3m.el (sepia-w3m-perldoc-this): simplify.
237         * sepia.el (perl-*): rename to sepia-*.
238         * sepia.el: reorg and cleanup.
239         * VERSION: 0.63
241 2006-05-19  Sean O'Rourke  <sorourke@cs.ucsd.edu>
243         * sepia.el: fixed eldoc support.  This only works with CVS Emacs,
244           relying on `eldoc-documentation-function'.  Also fixed pod
245           scanning for eldoc.
247 2006-05-18  Sean O'Rourke  <sorourke@cs.ucsd.edu>
249         * sepia.el, Sepia.pm: improved bulk-transfer protocol.
250         * Sepia.pm: override die with simple inspector/debugger.
251         * Sepia.pm: $__ and @__ now contain results of the last
252           expression.
253         * sepia.el, Sepia.pm: primitive support for evaluating elisp sent
254           from Perl.  Turn on comint-use-prompt-regexp because the fields
255           stuff is flaky with this.
256         * sepia.el, Sepia.pm: ",cd" shortcut coordinates directory with
257           Emacs.
258         * VERSION 0.61, 0.62
260 2006-04-14  Sean O'Rourke  <sorourke@cs.ucsd.edu>
262         * generic-repl.el: replaced by comint.
263         * all: removed EPL dependency.
264         * VERSION 0.59
266 2005-07-12  Sean O'Rourke  <sorourke@cs.ucsd.edu>
268         * sepia-w3m.el: fix function name so it's found.
269         * Xref.pm, Sepia.pm: cleanup and numerous bugfixes.
270         * Buffer.pm: new, but not ready for prime-time
271         * sepia.el: delete-thing-at-point removed; misc bugfixes.
272         * test.pl: disabled a bunch of location stuff.
273         * VERSION 0.58
275 2004-09-10  Sean O'Rourke  <sorourke@cs.ucsd.edu>
277         * test.pl: some real tests.
278         * Sepia.pm, Xref.pm: Separate simple symbol-table searching from
279           Xref, making the former more reliable.
280         * Xref.pm: More reliable detection of (class) method calls.
281         * sepia.el: results are not displayed for expressions ending in
282           ';' (c.f. Octave).
284 2004-04-12  Sean O'Rourke  <seano@cs.ucsd.edu>
286         * sepia.el (sepia-doc-scan-buffer): Make regular expressions a
287         bit better.
288         (sepia-ident-at-point): handle upper-case function and variable
289         names for completion (a bit hacky...).
290         (sepia-install-keys): fix keymap installation.
292 2004-04-11  Sean O'Rourke  <seano@cs.ucsd.edu>
294         * Xref.pm (guess_module_file): do like Module::Info and trust
295         %INC more than our Xref info.  But don't be _too_ smart about
296         this -- we were picking up lots of bogus exports.
297         (pp_method_named): add support for constant-named methods (cribbed
298         from B::Concise).
300 2004-04-10  Sean O'Rourke  <seano@cs.ucsd.edu>
302         * Xref.pm: update $VERSION to track Sepia release.
304         * sepia.el (sepia-indent-or-complete): only complete on the
305         second TAB.
307 2004-04-09  Sean O'Rourke  <seano@cs.ucsd.edu>
309         * sepia.el (sepia-refiner): tweak refining function a bit more.
310         I'm still not entirely happy with this, but it's getting better.
311         Time and experimentation are required.
313         * sepia-tree.el (sepia-calle[er]-tree): New file.  Use
314         caller/callee information to generate tree-view using David
315         Ponce's wonderful tree-widget.
317         * Xref.pm (_apropos_re): Add that Emacs-style multipart-word
318         completion, so e.g. D:v_d -> Devel::Xref::var_defs.  It's groovy,
319         man.
320         (%firstline): gone.  Just getting a line within the sub is good
321         enough -- we can fix it on the Emacs side of the fence later.
323 2004-04-08  Sean O'Rourke  <seano@cs.ucsd.edu>
325         * sepia-w3m.el (sepia-w3m-perldoc-this): work for functions as
326         well as modules, and try to go to correct position in manpage.
328         * sepia.el (sepia-eval-buffer): use 'BEGIN{ die }' to do Xrefs
329         for scripts without loading them.
331         * Xref.pm: Localize a bunch of things instead of stomping on
332         package lexicals.  This makes the module better handle repeated
333         use, for which it wasn't designed.
334         
335         * Xref.pm (mod_subs): Rename package_subs for consistency.
336         (mod_decls): New function to generate decls for evaluation.
338         * sepia.el: misc bug-fixes, and better support for redefining
339         functions with sepia-eval-defun, especially preserving files and
340         line numbers.
341         (sepia-eval): remove newlines to make line-numbers make more
342         sense to user.
343         (sepia-interactive-arg): delay reading completions to speed up
344         \M-. functions.
345         (sepia-refiner): search both forward and backward, to adjust for
346         e.g. adding comments.  Still not so good, but better.
348 2004-04-06  Sean O'Rourke  <seano@cs.ucsd.edu>
350         * sepia-w3m.el: moved w3m-perldoc support here.
352         * README: added description, removed disclaimer
354         * sepia.el (sepia-symbol-info, sepia-doc-update): POD scanning
355         and cperl hackage for eldoc support.
357 2004-04-05  Sean O'Rourke  <seano@cs.ucsd.edu>
359         * Xref.pm (redefined,forget): make them take a single sub at a
360         time, and pay attention to packages.
361         (_apropos): use package info to narrow choices.
363         * sepia.el (sepia-eval-defun,sepia-eval-buffer): new functions.
365         * test.pl: satisfy the cpants Fascists.
366         
367         * Xref.pm (use_type): try to be smarter about when something's
368         being assigned to, vs. merely used as a reference.
370         * sepia.el (sepia-repl-header): keep up with generic-repl by
371         doing header line, working dir.
372         (sepia-complete-symbol): stupid bug with modules.
373         (sepia-install-keys): new function.
374         (sepia-var-assigns): assignments are more useful than defs.
375         (sepia-init): start REPL by default.
377         * generic-repl.el (repl-cd,repl-set-header): "new" function from
378         Slime to track working dir, update header line.
380 2004-04-04  Sean O'Rourke  <seano@cs.ucsd.edu>
382         * Sepia.jpg: don't ask -- just look.
383         
384         * sepia.el (sepia-ident-at-point): fixed bug with sigils.
385         (sepia-complete-symbol): fixed bug with undefined function
386         sepia-end-of-word.  
387         Always use Data::Dumper.
389         * any-repl.el: new file implementing REPL, basically stolen from
390         Slime.
392         * pscope.el: renamed to sepia.el to go with name change.
394 2004-04-03  Sean O'Rourke  <seano@cs.ucsd.edu>
396         * pscope.el (pscope-set-found): remove locations with no
397         file in package "main", which were causing errors before.
398         (pscope-dwim): new function.  New functions
399         pscope-complete-symbol and pscope-indent-or-complete for
400         symbol completion.  Not well-tested, but they seem to work.
401         The most annoying thing is that since the Xref db isn't
402         automatically updated, it won't always know as much as you
403         expect.
404         (pscope-load-file): new function.
406         * Xref.pm: update export lists to reflect new functions.
408 2004-04-02  Sean O'Rourke  <seano@cs.ucsd.edu>
410         * Xref.pm: minor cleanup.
412         * pscope.el: pass module, file, line to Perl side (where it's
413         ignored for now); fix line number refinement to be a
414         little less over-eager; fix pscope-callees to go to sub
415         definitions instead of call sites.
416         
417         * README: added TODO section.