1 2007-05-28 Sean O'Rourke <sorourke@cs.ucsd.edu>
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.
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>
18 * sepia.el (sepia-doc-scan-buffer): Better doc regex for
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
25 * lib/Sepia.pm (html_package_list,html_module_list): new
27 (completions): '$'-completion only generates scalars.
28 * sepia-w3m.el: remove spurious sepia-module-list, improve
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.
54 2007-05-12 Sean O'Rourke <sorourke@cs.ucsd.edu>
57 * Makefile.PL: add license.
59 2007-05-09 Sean O'Rourke <sorourke@cs.ucsd.edu>
62 * sepia.el (sepia-load-file): set inhibit-read-only when
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
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>
80 * README: add license.
81 * Makefile.PL: remove dependency on Sub::Uplevel, make PadWalker
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.
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.
103 2007-03-16 Sean O'Rourke <sorourke@cs.ucsd.edu>
105 * sepia.el (sepia-set-found): filter spurious nils (XXX: this
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
113 * set COPY_EXTENDED_ATTRIBUTES_DISABLE=true to avoid creating ._*
116 2007-03-15 Sean O'Rourke <sorourke@cs.ucsd.edu>
119 * sepia-ido.el: clean up bitrot.
120 * lib/Sepia.pm (apropos): don't create new stashes during
122 * sepia.el (sepia-show-locations): bind inhibit-read-only; filter
124 * Makefile.PL: require PadWalker 1.0 (RT #25463)
126 2007-03-13 Sean O'Rourke <sorourke@cs.ucsd.edu>
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>
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
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
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
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,
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.
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
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
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
205 2006-04-14 Sean O'Rourke <sorourke@cs.ucsd.edu>
207 * generic-repl.el: replaced by comint.
208 * all: removed EPL dependency.
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.
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
229 2004-04-12 Sean O'Rourke <seano@cs.ucsd.edu>
231 * sepia.el (sepia-doc-scan-buffer): Make regular expressions a
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
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
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,
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.
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
286 (sepia-eval): remove newlines to make line-numbers make more
288 (sepia-interactive-arg): delay reading completions to speed up
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.
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.
329 * sepia.el (sepia-ident-at-point): fixed bug with sigils.
330 (sepia-complete-symbol): fixed bug with undefined function
332 Always use Data::Dumper.
334 * any-repl.el: new file implementing REPL, basically stolen from
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
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.
362 * README: added TODO section.