TIMTOWTDI in Emacs, too.

brian_d_foy on 2007-12-17T06:50:00

Devel::PerlySense has been getting quite a bit of (apparently well-deserved) attention lately. As the author of Sepia, a long-existing but apparently little-used Emacs Perl development module, I thought now would be a good time to post a diary here. For those of you who tried an earlier version, Sepia is considerably more stable and better-documented in versions 0.9x, but needs more users to acquire polish.

Sepia aims to make Emacs the kind of interactive development environment for Perl that it already is for Emacs Lisp. This involves a number of components:

  • Interactive evaluation: Supports both a REPL and a scratch buffer. The REPL uses the Perl debugger hooks to allow breakpoints and recovery from die, and Devel::LexAlias to inspect and change lexicals.
  • Source navigation: Finds definitions, callers, and callees. This is supported by querying the running Perl process rather than through PPI.
  • Documentation: Displays minibuffer documentation (eldoc) for builtins and some user functions, and supports POD browsing.
  • Completion: Completes variable, function, and module names based on the running Perl process.
Not having used Devel::PerlySense, I won't try to make a detailed comparison, but my impression is that Devel::PerlySense is geared toward off-line development (uses PPI, has a class browser, etc.), while Sepia is geared toward on-line development (supports interaction, value inspection, debugging). So give both a try, and see which style suits you best.


Installing developer releases

jplindstrom on 2007-12-16T21:23:24

Since there are only developer releases available, the usual cpan maneuvers don't work. The working incantation is:

cpan SEANO/Sepia-0.95_03.tar.gz
Then the elisp files can be found in the .cpan directory, but I found it easier to just wget them into my elisp directory from the list in the MANIFEST file.

Re:Installing developer releases

educated_foo on 2007-12-16T22:16:46

Ugh, sorry about that. I just uploaded a version 0.96 that's identical to 0.95_03, but should avoid the cpan hassle. Unfortunately I can't think of a good platform-independent way to install the elisp files and HTML documentation, so people still need to do that by hand.

Re:Installing developer releases

jplindstrom on 2007-12-16T23:33:16

In PerlySense, I install the .el files next to the .pm files, then load the elisp in .emacs by asking a Perl script where the .el files are.

Re:Installing developer releases

educated_foo on 2007-12-17T01:08:30

Thanks. That may be the best option, but it's sort of unsatisfying (more so when I install the info pages). Another option might be to prompt (with defaults) for the various paths in Makefile.PL.

It's amazing that software as old as Emacs doesn't have some automatic way to install packages.