Add use warnings and use strict to Makefile.PL.
[sepia.git] / ChangeLog
blobc0c03f95b20123b2d50be1693b94033182be38a5
1 2010-01-24  Sean O'Rourke  <seano@cs.ucla.edu>
3         * lib/Sepia.pm (repl_setup): load ~/.sepiarc in $Sepia::PACKAGE.
5 2010-01-23  Sean O'Rourke  <seano@cs.ucla.edu>
7         * README: add development information.
8         * lib/Sepia.pm (apropos_module): use "_apropos_re"
10 2009-12-15  Sean O'Rourke  <seano@cs.ucla.edu>
12         * lib/Sepia.pm (repl_package): always change packages, even if
13         empty.
15 2009-12-14  Sean O'Rourke  <seano@cs.ucla.edu>
17         * lib/Sepia/ReadLine.pm: readline interface.
18         * lib/Sepia.pm ($READLINE): next-input hook.
20 2009-12-08  Sean O'Rourke  <seano@cs.ucla.edu>
22         * lib/Sepia.pm (methods): uniquify.
23         * lib/Sepia.pm, lib/Sepia/Debug.pm: avoid deprecated
24         "defined %hash" in 5.11.x.
26 2009-12-02  Sean O'Rourke  <seano@cs.ucla.edu>
28         * lib/Sepia/Xref.pm (load_pad): work around pad weirdness with
29         threads.
30         * VERSION: 0.991_01
32 2009-11-29  Sean O'Rourke  <seano@cs.ucla.edu>
34         * Makefile.PL: make LWP::Simple optional.  It didn't do much.
35         * sepia-snippet.el (sepia-snippet-abbrev): de-dup, sort, add
36         given/when.
37         * sepia.el (sepia-shortcuts): update.
38         (sepia-complete-symbol): fix sigil duplication bug.
39         (sepia-symbol-info): use cperl's variable short-docs.
41 2009-11-26  Sean O'Rourke  <seano@cs.ucla.edu>
43         * lib/Sepia.pm: reorganize, add docs.
44         * sepia.texi (Shortcuts): document ,time
45         * Makefile.PL: optional BSD::Resource and Time::HiRes.
46         * lib/Sepia.pm (run_hook,add_hook,remove_hook): new functions.
47         (repl_time,time_pre_prompt*): print CPU times.
49 2009-11-25  Sean O'Rourke  <seano@cs.ucla.edu>
51         * sepia.el (sepia-ident-before-point): use s-i-at-point.
52         (sepia-ident-at-point): Handle punctuation variables.
53         (sepia-describe-object): add "perldoc -v" support.
55 2009-11-22  Sean O'Rourke  <seano@cs.ucla.edu>
57         * lib/Sepia.pm (location): handle special @INC entries.
58         * sepia.el (sepia-describe-object): Guess identifier-at-point in
59         the right order.
61 2009-11-18  Sean O'Rourke  <seano@cs.ucla.edu>
63         * sepia.el (sepia-describe-object): new function like
64         describe-function and friends.  Currently only "perldoc -f."
65         (sepia-init-perl-builtins): bugfix.
66         (sepia-repl-mode): turn on eldoc.
68 2009-11-02  Sean O'Rourke  <seano@cs.ucla.edu>
70         * lib/Sepia.pm (location): change to work on only one location,
71         since that's how it's used.
72         (define_shortcuts): tweak.
73         (repl_setup): fix $REPL_LEVEL bug.
74         (repl,repl_quit): make quitting from restarted REPLs.
76 2009-10-28  Sean O'Rourke  <seano@cs.ucla.edu>
78         * sepia.el (sepia-indent-or-complete): work around bug where
79         expand-abbrev returns nil even though it expanded.
80         (sepia-looks-like-module): use xref-apropos-module.
82 2009-10-19  Sean O'Rourke  <seano@cs.ucla.edu>
84         * sepia-cpan.el (sepia-cpan-mode-map): initialize in definition;
85         oops!
86         * VERSION: 0.991
88 2009-10-18  Sean O'Rourke  <seano@cs.ucla.edu>
90         * lib/Sepia/CPAN.pm (group_by_dist): better heuristic.
91         * lib/Sepia.pm (repl_reload, repl_full_reload, full_reload):
92         support "reload" and "freload" shortcuts.
93         * lib/Sepia/Debug.pm (xreturn, repl_xreturn): return-from-context,
94         not yet used.
95         * VERSION: 0.99
97 2009-10-12  Sean O'Rourke  <seano@cs.ucla.edu>
99         * sepia.el (sepia-symbol-info): tweak on module names.
100         (sepia-apropos-module): new function.
101         (sepia-perlize-region,sepia-perl-ne-region): interactive prompt fix
103 2009-07-22  Sean O'Rourke  <seano@cs.ucla.edu>
105         * sepia-cpan.el (sepia-cpan-doc): make browser pop up in other
106         window, like README.
108 2009-07-18  Sean O'Rourke  <seano@cs.ucla.edu>
110         * lib/Sepia.pm (filter_exact_prefix): new function to improve
111         completion behavior.
113 2009-07-07  Sean O'Rourke  <seano@cs.ucla.edu>
115         * lib/Sepia.pm (save,load,repl_save,repl_load): Persist
116         variables to a file.
117         * VERSION: 0.99_01
119 2009-07-05  Sean O'Rourke  <seano@cs.ucla.edu>
121         * sepia.el (sepia-rename-lexical): New function; a small wrapper
122         around query-replace(-regexp).
124 2009-05-03  Sean O'Rourke  <seano@cs.ucla.edu>
126         * t/02completion.t (ok_comp): adjust for completion changes.
127         * sepia.texi: Variable index.
129 2009-03-18  Sean O'Rourke  <seano@cs.ucla.edu>
131         * lib/Sepia.pm (repl_help): fix formatting with "help CMD"
132         (repl_size): sort by size
134 2008-12-17  Sean O'Rourke  <seano@cs.ucla.edu>
136         * sepia.texi (Completion): we do lexicals.
137         * lib/Sepia.pm (lexical_completions): new function.
138         (completions): use it.
139         * sepia.el (sepia-function-at-point): return nil outside subs.
140         (sepia-interactive-arg): fix call to xref-completions.
142 2008-07-22  Sean O'Rourke  <seano@cs.ucla.edu>
144         * sepia.el (sepia-scratch-send-line): change to use REPL printer.
146 2008-07-09  Sean O'Rourke  <seano@cs.ucla.edu>
147         * sepia.el (sepia-indent-line): new function.  Let-bind
148           beginning-of-defun-function for cperl-indent-line.
150 2008-06-29  Sean O'Rourke  <seano@cs.ucla.edu>
152         * sepia.el (sepia-cont-or-restart): new function to restart
153           quitted REPL.
154         * sepia-cpan.el (sepia-cpan-do-{desc,recommend}): oops.
155         (sepia-cpan-make-buffer): better column widths
156         * lib/Sepia.pm (repl_size): skip %SIG to avoid segfaults.
157         * lib/sepia/CPAN.pm (group_by_dist): only list "main" module in
158           each distribution, and sort them.
160 2008-06-20  Sean O'Rourke  <seano@cs.ucla.edu>
162         * VERSION: 0.97
163         * lib/Sepia.pm: fix use of defined().
165 2008-06-17  Sean O'Rourke  <seano@cs.ucla.edu>
167         * lib/Sepia.pm (repl_who,repl_size): turn off added 5.10 strictures.
169 2008-05-11  Sean O'Rourke  <seano@cs.ucla.edu>
171         * sepia.texi (Mutilation): updated CPAN documentation.
172         * sepia-cpan.el (sepia-cpan-desc): add search-by-description
173         (sepia-cpan-mode-map): fix keybindings.
174         * lib/Sepia/CPAN.pm: have ls/_ls, etc call interesting_parts
176 2008-05-10  Sean O'Rourke  <seano@cs.ucla.edu>
178         * VERSION: 0.96_02
179         * sepia-cpan.el (sepia-cpan-list, sepia-cpan-make-buffer)
180         (sepia-cpan-search): added list-by-author, refactored.
181         (sepia-cpan-readme): insert temp file rather than passing as
182         string.
183         * lib/Sepia/CPAN.pm (ls): new function to list author's modules.
184         * lib/Sepia/Debug.pm (repl_finish): mostly-working, by adding 0x10
185           to $^P and looking at sub's last line.
187 2008-01-10  Sean O'Rourke  <seano@cs.ucla.edu>
189         * lib/Sepia.pm (columnate): true -> defined
190         * VERSION: 0.96_01
191         * sepia-cpan.el: new file, experimental CPAN interface.
192         * lib/Sepia/CPAN.pm: new file.
194 2008-01-05  Sean O'Rourke  <seano@cs.ucla.edu>
196         * README: remove redundant/obsolete documentation
198 2008-01-02  Sean O'Rourke  <seano@cs.ucla.edu>
200         * lib/Sepia.pm (flow): get closer to margin.
202 2007-12-22  Sean O'Rourke  <seano@cs.ucla.edu>
204         * t/50expect.t: mysterious change to placate expect.
205         * sepia.el (sepia-shared-map): adjust bindings.
206         (sepia-complete-symbol): Fix shortcut completion.
207         * sepia-snippet.el (sepia-snippet-abbrev): make snippet optional,
208           but mention it.
210 2007-12-20  Sean O'Rourke  <seano@cs.ucla.edu>
212         * lib/Sepia.pm (who): don't apply regex to sigil.
213         (completions): fix multi-arg version (used by Emacs).
214         (html_module_list,html_package_list): return string if asked.
216 2007-12-17  Sean O'Rourke  <seano@cs.ucla.edu>
218         * sepia.el (sepia-shared-map): bind cperl-perldoc.
220 2007-12-16  Sean O'Rourke  <seano@cs.ucla.edu>
222         * Makefile.PL (test_for): use MakeMaker's prompt().
224 2007-12-13  Sean O'Rourke  <seano@cs.ucla.edu>
226         * sepia.el (sepia-complete-symbol): add shortcut completion.
227           improve XEmacs compatibility.
228         * sepia-w3m.el (sepia-w3m-create-imenu): new function, disabled by
229           default.
230         * lib/Sepia.pm (repl_*): don't look at return values; use "last
231           repl" to get out.
233 2007-11-29  Sean O'Rourke  <seano@cs.ucla.edu>
235         * t/02completion.t: new completion tests.
236         * lib/Sepia.pm (completions): rewrote to simplify.
238 2007-11-28  Sean O'Rourke  <seano@cs.ucla.edu>
240         * lib/Sepia.pm (printer): Don't sort arrays when printing.
241         * VERSION: 0.95_02
242         * lib/sepia/Debug.pm (warn,die): use Carp for 5.10 compatibility.
243         * Makefile.PL (test_for): $|=1 if prompting.
245 2007-11-27  Sean O'Rourke  <seano@cs.ucla.edu>
247         * sepia.el (sepia-perldoc-this): test for w3m when called.
249         * VERSION: 0.95_01
250         * t/01basic.t (Sepia): fix tests w/o Module::Info.
252 2007-11-26  Sean O'Rourke  <seano@cs.ucla.edu>
254         * VERSION: 0.95
255         * lib/sepia/Debug.pm (add_repl_commands): use define_shortcut.
256         (warn,die): same.
257         (add_debug_repl_commands): new function.
258         (repl): use it.
260         * lib/Sepia.pm (define_shortcut): new function.
261         (define_shortcut): new function.
262         (repl_help): auto-format help text; add arg.
263         (repl_reload): decrement $REPL_LEVEL.
264         (completions): fix abbrev completion.
265         (repl): read ~/.sepiarc; use define_shortcuts.
266         (repl_format): show current if no argument.
267         (module_info): optional dependency.
269 2007-11-08  Sean O'Rourke  <seano@cs.ucla.edu>
271         * VERSION: 0.94_01
272         * lib/Sepia/Xref.pm: POD fixup.
273         * sepia.el (sepia-ensure-process): fix stupid attachtty mistake.
275 2007-11-05  Sean O'Rourke  <seano@cs.ucla.edu>
277         * lib/sepia/Debug.pm (repl_break): allow "0" as a break condition.
279 2007-10-31  Sean O'Rourke  <seano@cs.ucla.edu>
281         * lib/Sepia.pm (repl_size): ",size" command to list variable sizes,
282         like Matlab's "whos".
284 2007-10-16  Sean O'Rourke  <seano@cs.ucla.edu>
286         * VERSION: 0.93
288         * lib/Sepia.pm (repl_pwd): add ",pwd" shortcut.
289         (repl_who): use current package when only regex given.
291         * sepia.el (sepia-repl,sepia-ensure-process): add remote
292           connection with attachtty.
293         (sepia-shared-map): bind \C-c\C-e to eval-expression.
294         (sepia-symbol-info): be more selective about "core version".
296 2007-09-25  Sean O'Rourke  <sorourke@cs.ucsd.edu>
298         * lib/Sepia.pm (printer): remove "=>" -- it's annoying.
300 2007-09-21  Sean O'Rourke  <sorourke@cs.ucsd.edu>
302         * sepia.el (sepia-load-file): disable debugger.
303         (sepia-symbol-info): be pickier about module core versions.
305 2007-09-20  Sean O'Rourke  <sorourke@cs.ucsd.edu>
307         * lib/Sepia.pm (repl_who): use current package if only one arg
308           given, and it's not an existing package.
310 2007-09-18  Sean O'Rourke  <sorourke@cs.ucsd.edu>
312         * sepia.el (sepia-watch-for-eval): fix hang with recursive sepia-eval.
314 2007-07-25  Sean O'Rourke  <sorourke@cs.ucsd.edu>
316         * sepia.el (sepia-interactive-arg): use xref-completions rather
317         than xref-apropos for working completion.
319 2007-07-25  Ye Wenbin  <wenbinye@gmail.com>
321         * sepia.el (sepia-defun-around-point): change the command to a
322         function, because as a command it does nothing.
323         (define-modinfo-function, sepia-maybe-echo): the interactive-p
324         is not true when call as function.
325         (define-modinfo-function, sepia-init): some modinfo-function
326         should eval in a list-context.
327         (sepia-mode): use cperl-mode-abbrev-table as current local-abbrev-table
329 2007-07-24  Ye Wenbin  <wenbinye@gmail.com>
331         * sepia.el (sepia-set-found): Use (OFFSET . LIST) to represent
332         things that found.
333         (sepia-next, sepia-previous): more generic move commands
334         (sepia-refiner): remove the test, because sometimes use the
335         same declaration, but found in difference place.
337         * sepia-tree.el (sepia-tree-button-cb): widget => pw and
338         xref-location return a list of posible locations.
339         (sepia-tree-tidy-buffer, sepia-tree-use-image): Let user
340         to choose whether use image or not. Set it to a buffer-local
341         variable, so that it didn't interference global values.
343         * sepia.el (sepia-extract-def): seem an argument is excessive
345         * sepia-tree.el (sepia-build-tree-buffer): In my emacs, it
346         doesn't work. The :dynargs didn't become the tree-widget
347         :expander. The tree-widget-convert-widget only receive the
348         'tree-widget, not the total list.
349         sepia-install-keys not defined.
351         * lib/Sepia/Xref.pm (file_modules): seem it is a typo error to use
352         Module::Include rather than Module::Info.
353         Module::Info::packages_inside return an array, the operator
354         || will force in a scalar context.
356         * sepia.el (sepia-lisp-to-perl): use "'" to quote string is not
357         enough, because the string may also contain "'" inside.
358         use (format "%S" string) instead.
359         (define-sepia-query): `sepia-set-found' accept a symbol as
360         argument, not (quote symbol).
362 2007-06-09  Sean O'Rourke  <sorourke@cs.ucsd.edu>
364         * VERSION: 0.92
365         * sepia.el (sepia-shared-map, etc.): fix keymap initialization.
367 2007-06-06  Sean O'Rourke  <sorourke@cs.ucsd.edu>
369         * lib/Sepia/Debug.pm: eval in lexical env when in debugger.
370         * t/50expect.t: REPL tests if you have Test::Expect.
371         * lib/Sepia/Debug.pm: use correct level when none given.
372         * lib/Sepia.pm: No longer bring in exporter (why did we?).
373         * sepia.el (sepia-init): always reinitialize sepia-mode-map.
374         * Makefile.PL: require 5.006 for warnings to quiet stupid "make
375           test".
377 2007-06-05  Sean O'Rourke  <sorourke@cs.ucsd.edu>
379         * Sepia.html: generate single-page manual instead of split.
380         * VERSION: 0.90
381         * sepia.el: docstring cleanup.
382         * lib/sepia/Debug.pm: misc usability improvements
384 2007-06-04  Sean O'Rourke  <sorourke@cs.ucsd.edu>
386         * VERSION 0.90_02
387         * test.pl: disable Module::Info tests to avoid Module::Info bug.
389 2007-06-02  Sean O'Rourke  <sorourke@cs.ucsd.edu>
391         * VERSION 0.90_01
392         * Major: replaced comint- with gud-based REPL, use real debugger.
393         * lib/Sepia/Debug.pm: "perl -d" support.
394         * lib/Sepia.pm (repl_shell): new command.
395         * sepia.el (sepia-eval-defun): detect errors, jump to first.
396         (sepia-comint-setup): don't set comint-use-prompt-regexp
397         (sepia-eval-defun,sepia-beginning-of-defun,sepia-end-of-defun): fix
399 2007-06-01  Sean O'Rourke  <sorourke@cs.ucsd.edu>
401         * sepia.el (sepia-perldoc-this): don't mess up window
402           configuration when the page isn't found.
403         (sepia-location): use sepia-interactive-arg.
404         (sepia-perl-[np]e-region): fix.
406         * lib/Sepia.pm: fix.
407         (print_dumper): switch format based on size.
409 2007-05-30  Sean O'Rourke  <sorourke@cs.ucsd.edu>
410         * sepia.texi: shiny new manual.
411         * lib/Sepia.pm (completions): add special 'VARIABLE' type.
412         (methods): add second $qualified arg.
413         (repl_reload): new function.
414         (sig_warn,repl): override __WARN__ (and __DIE__) cautiously.
415         (repl): nicer warning format.
417         * sepia.el (sepia-eval-raw): stopwarn -> STOPWARN.
418         (sepia-load-file): Fix pop-up error buffer.
419         (sepia-lisp-to-perl): fix quoting of strings.
420         Good citizenship:
421         (sepia-mode): make a real major mode.
422         (sepia-scratchpad-mode): ditto.
424 2007-05-29  Sean O'Rourke  <sorourke@cs.ucsd.edu>
426         * lib/sepia/Xref.pm (pp_method_named): warn -> dprint.
427         * sepia.el (sepia-simple-method-before-point): new function.
428         (sepia-complete-symbol): use it to complete methods.
429         make w3m optional:
430         (sepia-perldoc-function,sepia-view-pod-function,
431           sepia-module-list-function): new variables.
432         (sepia-perldoc-this,sepia-view-pod): new functions.
433         * lib/Sepia.pm (repl): trim leading spaces.
434         (tolisp): escape metacharacters.
435         (repl): don't override "die" if someone has installed a
436         $SIG{__DIE__} handler
438 2007-05-28  Sean O'Rourke  <sorourke@cs.ucsd.edu>
440         * VERSION: 0.75+
441         * sepia.el (sepia-core-version): new function.
442         (sepia-indent-or-complete): fix abbrev expansion.
443         (sepia-symbol-info): report core version in eldoc.
444         (sepia-ident-before-point): new function.
445         (sepia-complete-symbol): use it instead of *-at-point.
446         (sepia-complete-symbol): complete arrays and hashes when '$'
447         starts a word.
448         * lib/Sepia.pm (printer): Use @::__; distinguish "last as scalar"
449           $__ from printed representation.
450         ($PRINT_PRETTY): columnate lists if this is on.
451         (columnate): fixed.
452         (repl_methods): add regex argument.
453         (repl_who): fix.
454         (completions): Add in package names.
456 2007-05-27  Sean O'Rourke  <sorourke@cs.ucsd.edu>
458         * lib/Sepia.pm (repl_methods): fixed.
460 2007-05-26  Sean O'Rourke  <sorourke@cs.ucsd.edu>
462         * VERSION: 0.74
463         * sepia.el (sepia-doc-scan-buffer): Better doc regex for
464           variables.
465         (sepia-indent-or-complete): try to expand abbrevs before
466           completion (try with snippet.el).
467         (sepia-indent-expand-abbrev): control the above feature.
468         (sepia-complete-symbol): scroll completion buffer; suggested by
469           Hilko Bengen.
470         * lib/Sepia.pm (html_package_list,html_module_list): new
471           functions.
472         (completions): '$'-completion only generates scalars.
473         * sepia-w3m.el: remove spurious sepia-module-list, improve
474           documentation.
475         (sepia-module-list,sepia-package-list): better output.
476         (sepia-package-list,sepia-module-list): move Perl code to
477           Sepia.pm, generate list in inferior perl instead of shelling
478           out.
480 2007-05-23  Sean O'Rourke  <sorourke@cs.ucsd.edu>
482         * lib/Sepia.pm (_apropos_re): handle empty completions.
483         (columnate): pretty-print ",who" output.
484         * sepia.el (sepia-complete-symbol): bury stale completions buffer;
485           suggested by Hilko Bengen.
487 2007-05-17  Sean O'Rourke  <sorourke@cs.ucsd.edu>
489         * lib/Sepia.pm (_completions1): Fix infinite recursion.
490         (repl): typo; clarify ambiguous vs. unrecognized shortcuts.
492 2007-05-15  Sean O'Rourke  <sorourke@cs.ucsd.edu>
494         * sepia.el (sepia-dwim): don't try to jump to location when
495           looking up module docs.
496         * lib/Sepia.pm: use $::__ instead of $Sepia::__
497         (repl_quit): new command.
498         (repl): add banner.
500 2007-05-12  Sean O'Rourke  <sorourke@cs.ucsd.edu>
502         * VERSION: 0.72
503         * Makefile.PL: add license.
505 2007-05-09  Sean O'Rourke  <sorourke@cs.ucsd.edu>
507         * VERSION: 0.71
508         * sepia.el (sepia-load-file): set inhibit-read-only when
509           displaying errors.
510         * lib/Sepia.pm (repl_methods): walk ISA hierarchy looking for
511           functions (XXX: this is much too coarse).
512         (repl_help): use %REPL_DOC to hold command documentation for
513         easier extension.
514         (repl): display error on canceled continued statement.
516 2007-05-07  Sean O'Rourke  <sorourke@cs.ucsd.edu>
518         * lib/Sepia.pm (repl_strict): add 'strict mode' (thanks to
519           Lexical::Persistence) for those who swing that way (I don't),
520           inspired by Devel::REPL.
521         (repl_wantarray): Fix logic.
523 2007-04-25  Sean O'Rourke  <sorourke@cs.ucsd.edu>
525         * VERSION: 0.70
526         * README: add license.
527         * Makefile.PL: remove dependency on Sub::Uplevel, make PadWalker
528           optional.
529         * lib/Sepia.pm (who): add optional regex filter.
530         (debug_inspect): fix non-scalar printing.
531         * sepia.el (sepia-dwim): fix staleness; change to find
532           documentation for modules.
533         (sepia-find-module-file): new function to try sepia- and xref-
534         module file-finding functions.
535         (sepia-next): use it.
536         (sepia-filter-by-module,sepia-filter-by-all): remove.
537         (sepia-keymap): use `sepia-dwim' for M-.
539 2007-04-15  Sean O'Rourke  <sorourke@cs.ucsd.edu>
541         * lib/Sepia.pm (who): add optional regex argument.
543 2007-03-30  Sean O'Rourke  <sorourke@cs.ucsd.edu>
545         * sepia-w3m.el (sepia-module-list, sepia-package-list): added
546           detailed index of installed modules.
547         * VERSION: 0.68
549 2007-03-16  Sean O'Rourke  <sorourke@cs.ucsd.edu>
551         * sepia.el (sepia-set-found): filter spurious nils (XXX: this
552           really needs a fix).
553           (sepia-symbol-info): avoid eldoc errors in ecase.
555 2007-03-15  Sean O'Rourke  <sorourke@cs.ucsd.edu>
557         * sepia.el (sepia-complete-symbol): fallback completion of
558           builtins.
559         * set COPY_EXTENDED_ATTRIBUTES_DISABLE=true to avoid creating ._*
560           files (RT #25490).
562 2007-03-15  Sean O'Rourke  <sorourke@cs.ucsd.edu>
564         * VERSION: 0.67
565         * sepia-ido.el: clean up bitrot.
566         * lib/Sepia.pm (apropos): don't create new stashes during
567           completion.
568         * sepia.el (sepia-show-locations): bind inhibit-read-only; filter
569           out mysterious NILs.
570         * Makefile.PL: require PadWalker 1.0 (RT #25463)
572 2007-03-13  Sean O'Rourke  <sorourke@cs.ucsd.edu>
574         * VERSION: 0.66
575         * README (TODO): user-defined REPL abbrevs.
576         * lib/Sepia.pm (print_*): optional printing via YAML and
577           Data::Dump (from Shell::Perl).
578         (repl_wantarray): change eval context (same).
579         (repl_format): set formatter (same).
581 2007-03-09  Sean O'Rourke  <sorourke@cs.ucsd.edu>
583         * VERSION: 0.65
584         * sepia.el (sepia-keymap): add *-apropos, find-tag bindings.
585         * README: add organized function index.
586         * sepia.el (sepia-beginning-of-defun, sepia-end-of-defun):
587           fix argument to be prefix instead of point.
588         * sepia.el: documentation.
589         * sepia-ido.el: documentation.
590         * README: cleanup; note limitation of sepia-bodf and -eodf.
592 2007-02-25  Sean O'Rourke  <sorourke@cs.ucsd.edu>
594         * Makefile.PL: add Scalar::Util as prereq.
595         * sepia.el (sepia-perl5lib): new variable holding extra PERL5LIB
596           entry.
597         * sepia.el (sepia-init): use it.
598         * sepia.el (sepia-comint-setup): don't clobber keymap.
599         * sepia.el (sepia-indent-or-complete): complete first time if at
600           end of word.
601         * Sepia.pm (completions): enhanced completion -- e.g. "wtf"
602           matches "want_to_feed".
603         * Sepia.pm (printer): special-case PDL to use its stringification
604           (XXX: should test for overloaded "").
605         * Sepia.pm (who,repl_who): new functions.
607 2006-09-29  Sean O'Rourke  <sorourke@cs.ucsd.edu>
609         * Sepia.pm (Dump): wrap with eval to prevent unexpected exits.
610         * Sepia.pm (repl_chdir): expand '~' and '$HOME'
612 2006-07-01  Sean O'Rourke  <sorourke@cs.ucsd.edu>
614         * Sepia.pm (tolisp): undef -> nil
615         * sepia.el (sepia-eval-raw): guess package.
616         * sepia.el (sepia-init): don't pop-to-buffer with prefix argument.
617         * sepia.el (sepia-beginning-of-defun,sepia-end-of-defun): avoid
618           recursion.
619         * sepia.el (sepia-buffer-package): look backward from point
620           instead of forward from point-min.
622 2006-05-24  Sean O'Rourke  <sorourke@cs.ucsd.edu>
624         * Makefile.PL: added missing dependencies on PadWalker,
625           Sub::Uplevel.
626         * Sepia.pm: improved ",command"
627         * sepia-w3m.el (sepia-w3m-perldoc-this): simplify.
628         * sepia.el (perl-*): rename to sepia-*.
629         * sepia.el: reorg and cleanup.
630         * VERSION: 0.63
632 2006-05-19  Sean O'Rourke  <sorourke@cs.ucsd.edu>
634         * sepia.el: fixed eldoc support.  This only works with CVS Emacs,
635           relying on `eldoc-documentation-function'.  Also fixed pod
636           scanning for eldoc.
638 2006-05-18  Sean O'Rourke  <sorourke@cs.ucsd.edu>
640         * sepia.el, Sepia.pm: improved bulk-transfer protocol.
641         * Sepia.pm: override die with simple inspector/debugger.
642         * Sepia.pm: $__ and @__ now contain results of the last
643           expression.
644         * sepia.el, Sepia.pm: primitive support for evaluating elisp sent
645           from Perl.  Turn on comint-use-prompt-regexp because the fields
646           stuff is flaky with this.
647         * sepia.el, Sepia.pm: ",cd" shortcut coordinates directory with
648           Emacs.
649         * VERSION 0.61, 0.62
651 2006-04-14  Sean O'Rourke  <sorourke@cs.ucsd.edu>
653         * generic-repl.el: replaced by comint.
654         * all: removed EPL dependency.
655         * VERSION 0.59
657 2005-07-12  Sean O'Rourke  <sorourke@cs.ucsd.edu>
659         * sepia-w3m.el: fix function name so it's found.
660         * Xref.pm, Sepia.pm: cleanup and numerous bugfixes.
661         * Buffer.pm: new, but not ready for prime-time
662         * sepia.el: delete-thing-at-point removed; misc bugfixes.
663         * test.pl: disabled a bunch of location stuff.
664         * VERSION 0.58
666 2004-09-10  Sean O'Rourke  <sorourke@cs.ucsd.edu>
668         * test.pl: some real tests.
669         * Sepia.pm, Xref.pm: Separate simple symbol-table searching from
670           Xref, making the former more reliable.
671         * Xref.pm: More reliable detection of (class) method calls.
672         * sepia.el: results are not displayed for expressions ending in
673           ';' (c.f. Octave).
675 2004-04-12  Sean O'Rourke  <seano@cs.ucsd.edu>
677         * sepia.el (sepia-doc-scan-buffer): Make regular expressions a
678         bit better.
679         (sepia-ident-at-point): handle upper-case function and variable
680         names for completion (a bit hacky...).
681         (sepia-install-keys): fix keymap installation.
683 2004-04-11  Sean O'Rourke  <seano@cs.ucsd.edu>
685         * Xref.pm (guess_module_file): do like Module::Info and trust
686         %INC more than our Xref info.  But don't be _too_ smart about
687         this -- we were picking up lots of bogus exports.
688         (pp_method_named): add support for constant-named methods (cribbed
689         from B::Concise).
691 2004-04-10  Sean O'Rourke  <seano@cs.ucsd.edu>
693         * Xref.pm: update $VERSION to track Sepia release.
695         * sepia.el (sepia-indent-or-complete): only complete on the
696         second TAB.
698 2004-04-09  Sean O'Rourke  <seano@cs.ucsd.edu>
700         * sepia.el (sepia-refiner): tweak refining function a bit more.
701         I'm still not entirely happy with this, but it's getting better.
702         Time and experimentation are required.
704         * sepia-tree.el (sepia-calle[er]-tree): New file.  Use
705         caller/callee information to generate tree-view using David
706         Ponce's wonderful tree-widget.
708         * Xref.pm (_apropos_re): Add that Emacs-style multipart-word
709         completion, so e.g. D:v_d -> Devel::Xref::var_defs.  It's groovy,
710         man.
711         (%firstline): gone.  Just getting a line within the sub is good
712         enough -- we can fix it on the Emacs side of the fence later.
714 2004-04-08  Sean O'Rourke  <seano@cs.ucsd.edu>
716         * sepia-w3m.el (sepia-w3m-perldoc-this): work for functions as
717         well as modules, and try to go to correct position in manpage.
719         * sepia.el (sepia-eval-buffer): use 'BEGIN{ die }' to do Xrefs
720         for scripts without loading them.
722         * Xref.pm: Localize a bunch of things instead of stomping on
723         package lexicals.  This makes the module better handle repeated
724         use, for which it wasn't designed.
726         * Xref.pm (mod_subs): Rename package_subs for consistency.
727         (mod_decls): New function to generate decls for evaluation.
729         * sepia.el: misc bug-fixes, and better support for redefining
730         functions with sepia-eval-defun, especially preserving files and
731         line numbers.
732         (sepia-eval): remove newlines to make line-numbers make more
733         sense to user.
734         (sepia-interactive-arg): delay reading completions to speed up
735         \M-. functions.
736         (sepia-refiner): search both forward and backward, to adjust for
737         e.g. adding comments.  Still not so good, but better.
739 2004-04-06  Sean O'Rourke  <seano@cs.ucsd.edu>
741         * sepia-w3m.el: moved w3m-perldoc support here.
743         * README: added description, removed disclaimer
745         * sepia.el (sepia-symbol-info, sepia-doc-update): POD scanning
746         and cperl hackage for eldoc support.
748 2004-04-05  Sean O'Rourke  <seano@cs.ucsd.edu>
750         * Xref.pm (redefined,forget): make them take a single sub at a
751         time, and pay attention to packages.
752         (_apropos): use package info to narrow choices.
754         * sepia.el (sepia-eval-defun,sepia-eval-buffer): new functions.
756         * test.pl: satisfy the cpants Fascists.
758         * Xref.pm (use_type): try to be smarter about when something's
759         being assigned to, vs. merely used as a reference.
761         * sepia.el (sepia-repl-header): keep up with generic-repl by
762         doing header line, working dir.
763         (sepia-complete-symbol): stupid bug with modules.
764         (sepia-install-keys): new function.
765         (sepia-var-assigns): assignments are more useful than defs.
766         (sepia-init): start REPL by default.
768         * generic-repl.el (repl-cd,repl-set-header): "new" function from
769         Slime to track working dir, update header line.
771 2004-04-04  Sean O'Rourke  <seano@cs.ucsd.edu>
773         * Sepia.jpg: don't ask -- just look.
775         * sepia.el (sepia-ident-at-point): fixed bug with sigils.
776         (sepia-complete-symbol): fixed bug with undefined function
777         sepia-end-of-word.
778         Always use Data::Dumper.
780         * any-repl.el: new file implementing REPL, basically stolen from
781         Slime.
783         * pscope.el: renamed to sepia.el to go with name change.
785 2004-04-03  Sean O'Rourke  <seano@cs.ucsd.edu>
787         * pscope.el (pscope-set-found): remove locations with no
788         file in package "main", which were causing errors before.
789         (pscope-dwim): new function.  New functions
790         pscope-complete-symbol and pscope-indent-or-complete for
791         symbol completion.  Not well-tested, but they seem to work.
792         The most annoying thing is that since the Xref db isn't
793         automatically updated, it won't always know as much as you
794         expect.
795         (pscope-load-file): new function.
797         * Xref.pm: update export lists to reflect new functions.
799 2004-04-02  Sean O'Rourke  <seano@cs.ucsd.edu>
801         * Xref.pm: minor cleanup.
803         * pscope.el: pass module, file, line to Perl side (where it's
804         ignored for now); fix line number refinement to be a
805         little less over-eager; fix pscope-callees to go to sub
806         definitions instead of call sites.
808         * README: added TODO section.