The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.
2007-06-02  Sean O'Rourke  <sorourke@cs.ucsd.edu>

	* sepia.el (sepia-eval-defun): detect errors, jump to first.

2007-06-01  Sean O'Rourke  <sorourke@cs.ucsd.edu>

	* sepia.el (sepia-perldoc-this): don't mess up window
	  configuration when the page isn't found.
	(sepia-location): use sepia-interactive-arg.
	(sepia-perl-[np]e-region): fix.

	* lib/Sepia.pm: fix.
	(print_dumper): switch format based on size.

2007-05-30  Sean O'Rourke  <sorourke@cs.ucsd.edu>
	* sepia.texi: shiny new manual.
	* lib/Sepia.pm (completions): add special 'VARIABLE' type.
	(methods): add second $qualified arg.
	(repl_reload): new function.
	(sig_warn,repl): override __WARN__ (and __DIE__) cautiously.
	(repl): nicer warning format.

	* sepia.el (sepia-eval-raw): stopwarn -> STOPWARN.
	(sepia-load-file): Fix pop-up error buffer.
	(sepia-lisp-to-perl): fix quoting of strings.
	Good citizenship:
	(sepia-mode): make a real major mode.
	(sepia-scratchpad-mode): ditto.

2007-05-29  Sean O'Rourke  <sorourke@cs.ucsd.edu>

	* lib/sepia/Xref.pm (pp_method_named): warn -> dprint.
	* sepia.el (sepia-simple-method-before-point): new function.
	(sepia-complete-symbol): use it to complete methods.
	make w3m optional:
	(sepia-perldoc-function,sepia-view-pod-function,
	  sepia-module-list-function): new variables.
	(sepia-perldoc-this,sepia-view-pod): new functions.
	* lib/Sepia.pm (repl): trim leading spaces.
	(tolisp): escape metacharacters.
	(repl): don't override "die" if someone has installed a
	$SIG{__DIE__} handler

2007-05-28  Sean O'Rourke  <sorourke@cs.ucsd.edu>

	* VERSION: 0.75+
	* sepia.el (sepia-core-version): new function.
	(sepia-indent-or-complete): fix abbrev expansion.
	(sepia-symbol-info): report core version in eldoc.
	(sepia-ident-before-point): new function.
	(sepia-complete-symbol): use it instead of *-at-point.
	(sepia-complete-symbol): complete arrays and hashes when '$'
	starts a word.
	* lib/Sepia.pm (printer): Use @::__; distinguish "last as scalar"
	  $__ from printed representation.
	($PRINT_PRETTY): columnate lists if this is on.
	(columnate): fixed.
	(repl_methods): add regex argument.
	(repl_who): fix.
	(completions): Add in package names.

2007-05-27  Sean O'Rourke  <sorourke@cs.ucsd.edu>

	* lib/Sepia.pm (repl_methods): fixed.

2007-05-26  Sean O'Rourke  <sorourke@cs.ucsd.edu>

	* VERSION: 0.74
	* sepia.el (sepia-doc-scan-buffer): Better doc regex for
	  variables.
	(sepia-indent-or-complete): try to expand abbrevs before
	  completion (try with snippet.el).
	(sepia-indent-expand-abbrev): control the above feature.
	(sepia-complete-symbol): scroll completion buffer; suggested by
	  Hilko Bengen.
	* lib/Sepia.pm (html_package_list,html_module_list): new
	  functions.
	(completions): '$'-completion only generates scalars.
	* sepia-w3m.el: remove spurious sepia-module-list, improve
	  documentation.
	(sepia-module-list,sepia-package-list): better output.
	(sepia-package-list,sepia-module-list): move Perl code to
	  Sepia.pm, generate list in inferior perl instead of shelling
	  out.

2007-05-23  Sean O'Rourke  <sorourke@cs.ucsd.edu>

	* 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  <sorourke@cs.ucsd.edu>

	* lib/Sepia.pm (_completions1): Fix infinite recursion.
	(repl): typo; clarify ambiguous vs. unrecognized shortcuts.

2007-05-15  Sean O'Rourke  <sorourke@cs.ucsd.edu>

	* 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  <sorourke@cs.ucsd.edu>

	* VERSION: 0.72
	* Makefile.PL: add license.

2007-05-09  Sean O'Rourke  <sorourke@cs.ucsd.edu>

	* 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  <sorourke@cs.ucsd.edu>

	* 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  <sorourke@cs.ucsd.edu>

	* 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  <sorourke@cs.ucsd.edu>

	* lib/Sepia.pm (who): add optional regex argument.

2007-03-30  Sean O'Rourke  <sorourke@cs.ucsd.edu>

	* sepia-w3m.el (sepia-module-list, sepia-package-list): added
	  detailed index of installed modules.
	* VERSION: 0.68

2007-03-16  Sean O'Rourke  <sorourke@cs.ucsd.edu>

	* 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  <sorourke@cs.ucsd.edu>

	* 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  <sorourke@cs.ucsd.edu>

	* 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  <sorourke@cs.ucsd.edu>

	* 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  <sorourke@cs.ucsd.edu>

	* 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  <sorourke@cs.ucsd.edu>

	* 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  <sorourke@cs.ucsd.edu>

	* Sepia.pm (Dump): wrap with eval to prevent unexpected exits.
	* Sepia.pm (repl_chdir): expand '~' and '$HOME'

2006-07-01  Sean O'Rourke  <sorourke@cs.ucsd.edu>

	* 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  <sorourke@cs.ucsd.edu>

	* 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  <sorourke@cs.ucsd.edu>

	* 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  <sorourke@cs.ucsd.edu>

	* 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  <sorourke@cs.ucsd.edu>

	* generic-repl.el: replaced by comint.
	* all: removed EPL dependency.
	* VERSION 0.59

2005-07-12  Sean O'Rourke  <sorourke@cs.ucsd.edu>

	* 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  <sorourke@cs.ucsd.edu>

	* 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  <seano@cs.ucsd.edu>

	* 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  <seano@cs.ucsd.edu>

	* 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  <seano@cs.ucsd.edu>

	* 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  <seano@cs.ucsd.edu>

	* 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  <seano@cs.ucsd.edu>

	* 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  <seano@cs.ucsd.edu>

	* 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  <seano@cs.ucsd.edu>

	* 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  <seano@cs.ucsd.edu>

	* 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  <seano@cs.ucsd.edu>

	* 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  <seano@cs.ucsd.edu>

	* 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.