initial
[sepia.git] / ChangeLog
blob755ab12a41f7dc412ee9e48851fd232f080767e8
1 2007-05-28  Sean O'Rourke  <sorourke@cs.ucsd.edu>
3         * VERSION: 0.75
4         * sepia.el (sepia-core-version): new function.
5         (sepia-indent-or-complete): fix abbrev expansion.
6         * lib/Sepia.pm (printer): Use @::__; distinguish "last as scalar"
7           $__ from printed representation.
8         ($PRINT_PRETTY): columnate lists if this is on.
9         (columnate): fixed.
11 2007-05-27  Sean O'Rourke  <sorourke@cs.ucsd.edu>
13         * lib/Sepia.pm (repl_methods): fixed.
15 2007-05-26  Sean O'Rourke  <sorourke@cs.ucsd.edu>
17         * VERSION: 0.74
18         * sepia.el (sepia-doc-scan-buffer): Better doc regex for
19           variables.
20         (sepia-indent-or-complete): try to expand abbrevs before
21         completion (try with snippet.el).
22         (sepia-indent-expand-abbrev): control the above feature.
23         (sepia-complete-symbol): scroll completion buffer; suggested by
24         Hilko Bengen.
25         * lib/Sepia.pm (html_package_list,html_module_list): new
26           functions.
27         (completions): '$'-completion only generates scalars.
28         * sepia-w3m.el: remove spurious sepia-module-list, improve
29           documentation.
30         (sepia-module-list,sepia-package-list): better output.
31         (sepia-package-list,sepia-module-list): move Perl code to
32         Sepia.pm, generate list in inferior perl instead of shelling out.
34 2007-05-23  Sean O'Rourke  <sorourke@cs.ucsd.edu>
36         * lib/Sepia.pm (_apropos_re): handle empty completions.
37         (columnate): pretty-print ",who" output.
38         * sepia.el (sepia-complete-symbol): bury stale completions buffer;
39           suggested by Hilko Bengen.
41 2007-05-17  Sean O'Rourke  <sorourke@cs.ucsd.edu>
43         * lib/Sepia.pm (_completions1): Fix infinite recursion.
44         (repl): typo; clarify ambiguous vs. unrecognized shortcuts.
46 2007-05-15  Sean O'Rourke  <sorourke@cs.ucsd.edu>
48         * sepia.el (sepia-dwim): don't try to jump to location when
49           looking up module docs.
50         * lib/Sepia.pm: use $::__ instead of $Sepia::__
51         (repl_quit): new command.
52         (repl): add banner.
54 2007-05-12  Sean O'Rourke  <sorourke@cs.ucsd.edu>
56         * VERSION: 0.72
57         * Makefile.PL: add license.
59 2007-05-09  Sean O'Rourke  <sorourke@cs.ucsd.edu>
61         * VERSION: 0.71
62         * sepia.el (sepia-load-file): set inhibit-read-only when
63           displaying errors.
64         * lib/Sepia.pm (repl_methods): walk ISA hierarchy looking for
65           functions (XXX: this is much too coarse).
66         (repl_help): use %REPL_DOC to hold command documentation for
67         easier extension.
68         (repl): display error on canceled continued statement.
70 2007-05-07  Sean O'Rourke  <sorourke@cs.ucsd.edu>
72         * lib/Sepia.pm (repl_strict): add 'strict mode' (thanks to
73           Lexical::Persistence) for those who swing that way (I don't),
74           inspired by Devel::REPL.
75         (repl_wantarray): Fix logic.
77 2007-04-25  Sean O'Rourke  <sorourke@cs.ucsd.edu>
79         * VERSION: 0.70
80         * README: add license.
81         * Makefile.PL: remove dependency on Sub::Uplevel, make PadWalker
82           optional. 
83         * lib/Sepia.pm (who): add optional regex filter.
84         (debug_inspect): fix non-scalar printing.
85         * sepia.el (sepia-dwim): fix staleness; change to find
86           documentation for modules.
87         (sepia-find-module-file): new function to try sepia- and xref-
88         module file-finding functions.
89         (sepia-next): use it.
90         (sepia-filter-by-module,sepia-filter-by-all): remove.
91         (sepia-keymap): use `sepia-dwim' for M-.
93 2007-04-15  Sean O'Rourke  <sorourke@cs.ucsd.edu>
95         * lib/Sepia.pm (who): add optional regex argument.
97 2007-03-30  Sean O'Rourke  <sorourke@cs.ucsd.edu>
99         * sepia-w3m.el (sepia-module-list, sepia-package-list): added
100           detailed index of installed modules.
101         * VERSION: 0.68
103 2007-03-16  Sean O'Rourke  <sorourke@cs.ucsd.edu>
105         * sepia.el (sepia-set-found): filter spurious nils (XXX: this
106           really needs a fix).
107           (sepia-symbol-info): avoid eldoc errors in ecase.
109 2007-03-15  Sean O'Rourke  <sorourke@cs.ucsd.edu>
111         * sepia.el (sepia-complete-symbol): fallback completion of
112           builtins.
113         * set COPY_EXTENDED_ATTRIBUTES_DISABLE=true to avoid creating ._*
114           files (RT #25490).
116 2007-03-15  Sean O'Rourke  <sorourke@cs.ucsd.edu>
118         * VERSION: 0.67
119         * sepia-ido.el: clean up bitrot.
120         * lib/Sepia.pm (apropos): don't create new stashes during
121           completion.
122         * sepia.el (sepia-show-locations): bind inhibit-read-only; filter
123           out mysterious NILs.
124         * Makefile.PL: require PadWalker 1.0 (RT #25463)
126 2007-03-13  Sean O'Rourke  <sorourke@cs.ucsd.edu>
128         * VERSION: 0.66
129         * README (TODO): user-defined REPL abbrevs.
130         * lib/Sepia.pm (print_*): optional printing via YAML and
131           Data::Dump (from Shell::Perl).
132         (repl_wantarray): change eval context (same).
133         (repl_format): set formatter (same).
135 2007-03-09  Sean O'Rourke  <sorourke@cs.ucsd.edu>
137         * VERSION: 0.65
138         * sepia.el (sepia-keymap): add *-apropos, find-tag bindings.
139         * README: add organized function index.
140         * sepia.el (sepia-beginning-of-defun, sepia-end-of-defun):
141           fix argument to be prefix instead of point.
142         * sepia.el: documentation.
143         * sepia-ido.el: documentation.
144         * README: cleanup; note limitation of sepia-bodf and -eodf.
146 2007-02-25  Sean O'Rourke  <sorourke@cs.ucsd.edu>
148         * Makefile.PL: add Scalar::Util as prereq.
149         * sepia.el (sepia-perl5lib): new variable holding extra PERL5LIB
150           entry.
151         * sepia.el (sepia-init): use it.
152         * sepia.el (sepia-comint-setup): don't clobber keymap.
153         * sepia.el (sepia-indent-or-complete): complete first time if at
154           end of word.
155         * Sepia.pm (completions): enhanced completion -- e.g. "wtf"
156           matches "want_to_feed".
157         * Sepia.pm (printer): special-case PDL to use its stringification
158           (XXX: should test for overloaded "").
159         * Sepia.pm (who,repl_who): new functions.
161 2006-09-29  Sean O'Rourke  <sorourke@cs.ucsd.edu>
163         * Sepia.pm (Dump): wrap with eval to prevent unexpected exits.
164         * Sepia.pm (repl_chdir): expand '~' and '$HOME'
166 2006-07-01  Sean O'Rourke  <sorourke@cs.ucsd.edu>
168         * Sepia.pm (tolisp): undef -> nil
169         * sepia.el (sepia-eval-raw): guess package.
170         * sepia.el (sepia-init): don't pop-to-buffer with prefix argument.
171         * sepia.el (sepia-beginning-of-defun,sepia-end-of-defun): avoid
172           recursion.
173         * sepia.el (sepia-buffer-package): look backward from point
174           instead of forward from point-min.
176 2006-05-24  Sean O'Rourke  <sorourke@cs.ucsd.edu>
178         * Makefile.PL: added missing dependencies on PadWalker,
179           Sub::Uplevel.
180         * Sepia.pm: improved ",command"
181         * sepia-w3m.el (sepia-w3m-perldoc-this): simplify.
182         * sepia.el (perl-*): rename to sepia-*.
183         * sepia.el: reorg and cleanup.
184         * VERSION: 0.63
186 2006-05-19  Sean O'Rourke  <sorourke@cs.ucsd.edu>
188         * sepia.el: fixed eldoc support.  This only works with CVS Emacs,
189           relying on `eldoc-documentation-function'.  Also fixed pod
190           scanning for eldoc.
192 2006-05-18  Sean O'Rourke  <sorourke@cs.ucsd.edu>
194         * sepia.el, Sepia.pm: improved bulk-transfer protocol.
195         * Sepia.pm: override die with simple inspector/debugger.
196         * Sepia.pm: $__ and @__ now contain results of the last
197           expression.
198         * sepia.el, Sepia.pm: primitive support for evaluating elisp sent
199           from Perl.  Turn on comint-use-prompt-regexp because the fields
200           stuff is flaky with this.
201         * sepia.el, Sepia.pm: ",cd" shortcut coordinates directory with
202           Emacs.
203         * VERSION 0.61, 0.62
205 2006-04-14  Sean O'Rourke  <sorourke@cs.ucsd.edu>
207         * generic-repl.el: replaced by comint.
208         * all: removed EPL dependency.
209         * VERSION 0.59
211 2005-07-12  Sean O'Rourke  <sorourke@cs.ucsd.edu>
213         * sepia-w3m.el: fix function name so it's found.
214         * Xref.pm, Sepia.pm: cleanup and numerous bugfixes.
215         * Buffer.pm: new, but not ready for prime-time
216         * sepia.el: delete-thing-at-point removed; misc bugfixes.
217         * test.pl: disabled a bunch of location stuff.
218         * VERSION 0.58
220 2004-09-10  Sean O'Rourke  <sorourke@cs.ucsd.edu>
222         * test.pl: some real tests.
223         * Sepia.pm, Xref.pm: Separate simple symbol-table searching from
224           Xref, making the former more reliable.
225         * Xref.pm: More reliable detection of (class) method calls.
226         * sepia.el: results are not displayed for expressions ending in
227           ';' (c.f. Octave).
229 2004-04-12  Sean O'Rourke  <seano@cs.ucsd.edu>
231         * sepia.el (sepia-doc-scan-buffer): Make regular expressions a
232         bit better.
233         (sepia-ident-at-point): handle upper-case function and variable
234         names for completion (a bit hacky...).
235         (sepia-install-keys): fix keymap installation.
237 2004-04-11  Sean O'Rourke  <seano@cs.ucsd.edu>
239         * Xref.pm (guess_module_file): do like Module::Info and trust
240         %INC more than our Xref info.  But don't be _too_ smart about
241         this -- we were picking up lots of bogus exports.
242         (pp_method_named): add support for constant-named methods (cribbed
243         from B::Concise).
245 2004-04-10  Sean O'Rourke  <seano@cs.ucsd.edu>
247         * Xref.pm: update $VERSION to track Sepia release.
249         * sepia.el (sepia-indent-or-complete): only complete on the
250         second TAB.
252 2004-04-09  Sean O'Rourke  <seano@cs.ucsd.edu>
254         * sepia.el (sepia-refiner): tweak refining function a bit more.
255         I'm still not entirely happy with this, but it's getting better.
256         Time and experimentation are required.
258         * sepia-tree.el (sepia-calle[er]-tree): New file.  Use
259         caller/callee information to generate tree-view using David
260         Ponce's wonderful tree-widget.
262         * Xref.pm (_apropos_re): Add that Emacs-style multipart-word
263         completion, so e.g. D:v_d -> Devel::Xref::var_defs.  It's groovy,
264         man.
265         (%firstline): gone.  Just getting a line within the sub is good
266         enough -- we can fix it on the Emacs side of the fence later.
268 2004-04-08  Sean O'Rourke  <seano@cs.ucsd.edu>
270         * sepia-w3m.el (sepia-w3m-perldoc-this): work for functions as
271         well as modules, and try to go to correct position in manpage.
273         * sepia.el (sepia-eval-buffer): use 'BEGIN{ die }' to do Xrefs
274         for scripts without loading them.
276         * Xref.pm: Localize a bunch of things instead of stomping on
277         package lexicals.  This makes the module better handle repeated
278         use, for which it wasn't designed.
279         
280         * Xref.pm (mod_subs): Rename package_subs for consistency.
281         (mod_decls): New function to generate decls for evaluation.
283         * sepia.el: misc bug-fixes, and better support for redefining
284         functions with sepia-eval-defun, especially preserving files and
285         line numbers.
286         (sepia-eval): remove newlines to make line-numbers make more
287         sense to user.
288         (sepia-interactive-arg): delay reading completions to speed up
289         \M-. functions.
290         (sepia-refiner): search both forward and backward, to adjust for
291         e.g. adding comments.  Still not so good, but better.
293 2004-04-06  Sean O'Rourke  <seano@cs.ucsd.edu>
295         * sepia-w3m.el: moved w3m-perldoc support here.
297         * README: added description, removed disclaimer
299         * sepia.el (sepia-symbol-info, sepia-doc-update): POD scanning
300         and cperl hackage for eldoc support.
302 2004-04-05  Sean O'Rourke  <seano@cs.ucsd.edu>
304         * Xref.pm (redefined,forget): make them take a single sub at a
305         time, and pay attention to packages.
306         (_apropos): use package info to narrow choices.
308         * sepia.el (sepia-eval-defun,sepia-eval-buffer): new functions.
310         * test.pl: satisfy the cpants Fascists.
311         
312         * Xref.pm (use_type): try to be smarter about when something's
313         being assigned to, vs. merely used as a reference.
315         * sepia.el (sepia-repl-header): keep up with generic-repl by
316         doing header line, working dir.
317         (sepia-complete-symbol): stupid bug with modules.
318         (sepia-install-keys): new function.
319         (sepia-var-assigns): assignments are more useful than defs.
320         (sepia-init): start REPL by default.
322         * generic-repl.el (repl-cd,repl-set-header): "new" function from
323         Slime to track working dir, update header line.
325 2004-04-04  Sean O'Rourke  <seano@cs.ucsd.edu>
327         * Sepia.jpg: don't ask -- just look.
328         
329         * sepia.el (sepia-ident-at-point): fixed bug with sigils.
330         (sepia-complete-symbol): fixed bug with undefined function
331         sepia-end-of-word.  
332         Always use Data::Dumper.
334         * any-repl.el: new file implementing REPL, basically stolen from
335         Slime.
337         * pscope.el: renamed to sepia.el to go with name change.
339 2004-04-03  Sean O'Rourke  <seano@cs.ucsd.edu>
341         * pscope.el (pscope-set-found): remove locations with no
342         file in package "main", which were causing errors before.
343         (pscope-dwim): new function.  New functions
344         pscope-complete-symbol and pscope-indent-or-complete for
345         symbol completion.  Not well-tested, but they seem to work.
346         The most annoying thing is that since the Xref db isn't
347         automatically updated, it won't always know as much as you
348         expect.
349         (pscope-load-file): new function.
351         * Xref.pm: update export lists to reflect new functions.
353 2004-04-02  Sean O'Rourke  <seano@cs.ucsd.edu>
355         * Xref.pm: minor cleanup.
357         * pscope.el: pass module, file, line to Perl side (where it's
358         ignored for now); fix line number refinement to be a
359         little less over-eager; fix pscope-callees to go to sub
360         definitions instead of call sites.
361         
362         * README: added TODO section.