2007-05-23 Sean O'Rourke * lib/Sepia.pm (_apropos_re): handle empty completions. (columnate): pretty-print ",who" output. * sepia.el (sepia-complete-symbol): bury stale completions buffer; suggested by Hilko Bengen. 2007-05-17 Sean O'Rourke * lib/Sepia.pm (_completions1): Fix infinite recursion. (repl): typo; clarify ambiguous vs. unrecognized shortcuts. 2007-05-15 Sean O'Rourke * sepia.el (sepia-dwim): don't try to jump to location when looking up module docs. * lib/Sepia.pm: use $::__ instead of $Sepia::__ (repl_quit): new command. (repl): add banner. 2007-05-12 Sean O'Rourke * VERSION: 0.72 * Makefile.PL: add license. 2007-05-09 Sean O'Rourke * VERSION: 0.71 * sepia.el (sepia-load-file): set inhibit-read-only when displaying errors. * lib/Sepia.pm (repl_methods): walk ISA hierarchy looking for functions (XXX: this is much too coarse). (repl_help): use %REPL_DOC to hold command documentation for easier extension. (repl): display error on canceled continued statement. 2007-05-07 Sean O'Rourke * lib/Sepia.pm (repl_strict): add 'strict mode' (thanks to Lexical::Persistence) for those who swing that way (I don't), inspired by Devel::REPL. (repl_wantarray): Fix logic. 2007-04-25 Sean O'Rourke * VERSION: 0.70 * README: add license. * Makefile.PL: remove dependency on Sub::Uplevel, make PadWalker optional. * lib/Sepia.pm (who): add optional regex filter. (debug_inspect): fix non-scalar printing. * sepia.el (sepia-dwim): fix staleness; change to find documentation for modules. (sepia-find-module-file): new function to try sepia- and xref- module file-finding functions. (sepia-next): use it. (sepia-filter-by-module,sepia-filter-by-all): remove. (sepia-keymap): use `sepia-dwim' for M-. 2007-04-15 Sean O'Rourke * lib/Sepia.pm (who): add optional regex argument. 2007-03-30 Sean O'Rourke * sepia-w3m.el (sepia-module-list, sepia-package-list): added detailed index of installed modules. * VERSION: 0.68 2007-03-16 Sean O'Rourke * sepia.el (sepia-set-found): filter spurious nils (XXX: this really needs a fix). (sepia-symbol-info): avoid eldoc errors in ecase. 2007-03-15 Sean O'Rourke * sepia.el (sepia-complete-symbol): fallback completion of builtins. * set COPY_EXTENDED_ATTRIBUTES_DISABLE=true to avoid creating ._* files (RT #25490). 2007-03-15 Sean O'Rourke * VERSION: 0.67 * sepia-ido.el: clean up bitrot. * lib/Sepia.pm (apropos): don't create new stashes during completion. * sepia.el (sepia-show-locations): bind inhibit-read-only; filter out mysterious NILs. * Makefile.PL: require PadWalker 1.0 (RT #25463) 2007-03-13 Sean O'Rourke * VERSION: 0.66 * README (TODO): user-defined REPL abbrevs. * lib/Sepia.pm (print_*): optional printing via YAML and Data::Dump (from Shell::Perl). (repl_wantarray): change eval context (same). (repl_format): set formatter (same). 2007-03-09 Sean O'Rourke * VERSION: 0.65 * sepia.el (sepia-keymap): add *-apropos, find-tag bindings. * README: add organized function index. * sepia.el (sepia-beginning-of-defun, sepia-end-of-defun): fix argument to be prefix instead of point. * sepia.el: documentation. * sepia-ido.el: documentation. * README: cleanup; note limitation of sepia-bodf and -eodf. 2007-02-25 Sean O'Rourke * Makefile.PL: add Scalar::Util as prereq. * sepia.el (sepia-perl5lib): new variable holding extra PERL5LIB entry. * sepia.el (sepia-init): use it. * sepia.el (sepia-comint-setup): don't clobber keymap. * sepia.el (sepia-indent-or-complete): complete first time if at end of word. * Sepia.pm (completions): enhanced completion -- e.g. "wtf" matches "want_to_feed". * Sepia.pm (printer): special-case PDL to use its stringification (XXX: should test for overloaded ""). * Sepia.pm (who,repl_who): new functions. 2006-09-29 Sean O'Rourke * Sepia.pm (Dump): wrap with eval to prevent unexpected exits. * Sepia.pm (repl_chdir): expand '~' and '$HOME' 2006-07-01 Sean O'Rourke * Sepia.pm (tolisp): undef -> nil * sepia.el (sepia-eval-raw): guess package. * sepia.el (sepia-init): don't pop-to-buffer with prefix argument. * sepia.el (sepia-beginning-of-defun,sepia-end-of-defun): avoid recursion. * sepia.el (sepia-buffer-package): look backward from point instead of forward from point-min. 2006-05-24 Sean O'Rourke * Makefile.PL: added missing dependencies on PadWalker, Sub::Uplevel. * Sepia.pm: improved ",command" * sepia-w3m.el (sepia-w3m-perldoc-this): simplify. * sepia.el (perl-*): rename to sepia-*. * sepia.el: reorg and cleanup. * VERSION: 0.63 2006-05-19 Sean O'Rourke * sepia.el: fixed eldoc support. This only works with CVS Emacs, relying on `eldoc-documentation-function'. Also fixed pod scanning for eldoc. 2006-05-18 Sean O'Rourke * sepia.el, Sepia.pm: improved bulk-transfer protocol. * Sepia.pm: override die with simple inspector/debugger. * Sepia.pm: $__ and @__ now contain results of the last expression. * sepia.el, Sepia.pm: primitive support for evaluating elisp sent from Perl. Turn on comint-use-prompt-regexp because the fields stuff is flaky with this. * sepia.el, Sepia.pm: ",cd" shortcut coordinates directory with Emacs. * VERSION 0.61, 0.62 2006-04-14 Sean O'Rourke * generic-repl.el: replaced by comint. * all: removed EPL dependency. * VERSION 0.59 2005-07-12 Sean O'Rourke * sepia-w3m.el: fix function name so it's found. * Xref.pm, Sepia.pm: cleanup and numerous bugfixes. * Buffer.pm: new, but not ready for prime-time * sepia.el: delete-thing-at-point removed; misc bugfixes. * test.pl: disabled a bunch of location stuff. * VERSION 0.58 2004-09-10 Sean O'Rourke * test.pl: some real tests. * Sepia.pm, Xref.pm: Separate simple symbol-table searching from Xref, making the former more reliable. * Xref.pm: More reliable detection of (class) method calls. * sepia.el: results are not displayed for expressions ending in ';' (c.f. Octave). 2004-04-12 Sean O'Rourke * sepia.el (sepia-doc-scan-buffer): Make regular expressions a bit better. (sepia-ident-at-point): handle upper-case function and variable names for completion (a bit hacky...). (sepia-install-keys): fix keymap installation. 2004-04-11 Sean O'Rourke * Xref.pm (guess_module_file): do like Module::Info and trust %INC more than our Xref info. But don't be _too_ smart about this -- we were picking up lots of bogus exports. (pp_method_named): add support for constant-named methods (cribbed from B::Concise). 2004-04-10 Sean O'Rourke * Xref.pm: update $VERSION to track Sepia release. * sepia.el (sepia-indent-or-complete): only complete on the second TAB. 2004-04-09 Sean O'Rourke * sepia.el (sepia-refiner): tweak refining function a bit more. I'm still not entirely happy with this, but it's getting better. Time and experimentation are required. * sepia-tree.el (sepia-calle[er]-tree): New file. Use caller/callee information to generate tree-view using David Ponce's wonderful tree-widget. * Xref.pm (_apropos_re): Add that Emacs-style multipart-word completion, so e.g. D:v_d -> Devel::Xref::var_defs. It's groovy, man. (%firstline): gone. Just getting a line within the sub is good enough -- we can fix it on the Emacs side of the fence later. 2004-04-08 Sean O'Rourke * sepia-w3m.el (sepia-w3m-perldoc-this): work for functions as well as modules, and try to go to correct position in manpage. * sepia.el (sepia-eval-buffer): use 'BEGIN{ die }' to do Xrefs for scripts without loading them. * Xref.pm: Localize a bunch of things instead of stomping on package lexicals. This makes the module better handle repeated use, for which it wasn't designed. * Xref.pm (mod_subs): Rename package_subs for consistency. (mod_decls): New function to generate decls for evaluation. * sepia.el: misc bug-fixes, and better support for redefining functions with sepia-eval-defun, especially preserving files and line numbers. (sepia-eval): remove newlines to make line-numbers make more sense to user. (sepia-interactive-arg): delay reading completions to speed up \M-. functions. (sepia-refiner): search both forward and backward, to adjust for e.g. adding comments. Still not so good, but better. 2004-04-06 Sean O'Rourke * sepia-w3m.el: moved w3m-perldoc support here. * README: added description, removed disclaimer * sepia.el (sepia-symbol-info, sepia-doc-update): POD scanning and cperl hackage for eldoc support. 2004-04-05 Sean O'Rourke * Xref.pm (redefined,forget): make them take a single sub at a time, and pay attention to packages. (_apropos): use package info to narrow choices. * sepia.el (sepia-eval-defun,sepia-eval-buffer): new functions. * test.pl: satisfy the cpants Fascists. * Xref.pm (use_type): try to be smarter about when something's being assigned to, vs. merely used as a reference. * sepia.el (sepia-repl-header): keep up with generic-repl by doing header line, working dir. (sepia-complete-symbol): stupid bug with modules. (sepia-install-keys): new function. (sepia-var-assigns): assignments are more useful than defs. (sepia-init): start REPL by default. * generic-repl.el (repl-cd,repl-set-header): "new" function from Slime to track working dir, update header line. 2004-04-04 Sean O'Rourke * Sepia.jpg: don't ask -- just look. * sepia.el (sepia-ident-at-point): fixed bug with sigils. (sepia-complete-symbol): fixed bug with undefined function sepia-end-of-word. Always use Data::Dumper. * any-repl.el: new file implementing REPL, basically stolen from Slime. * pscope.el: renamed to sepia.el to go with name change. 2004-04-03 Sean O'Rourke * pscope.el (pscope-set-found): remove locations with no file in package "main", which were causing errors before. (pscope-dwim): new function. New functions pscope-complete-symbol and pscope-indent-or-complete for symbol completion. Not well-tested, but they seem to work. The most annoying thing is that since the Xref db isn't automatically updated, it won't always know as much as you expect. (pscope-load-file): new function. * Xref.pm: update export lists to reflect new functions. 2004-04-02 Sean O'Rourke * Xref.pm: minor cleanup. * pscope.el: pass module, file, line to Perl side (where it's ignored for now); fix line number refinement to be a little less over-eager; fix pscope-callees to go to sub definitions instead of call sites. * README: added TODO section.