Note last change.
[sepia.git] / ChangeLog
blobfe80bc7ecc330a703242c754078f761787ea8fbb
1 2011-10-23  Sean O'Rourke  <seano@cpan.org>
3         * lib/Sepia/ReadLine.pm (repl): support Term::ReadLine::Perl.
5 2011-10-07  Sean O'Rourke  <seano@cpan.org>
7         * sepia.texi (Navigation): add sepia-pod-follow-link-at-point and
8         associated key-reshuffling.
9         * sepia.el (sepia-pod-follow-link-at-point): new function to
10         follow POD links from source.
11         (sepia-metapoint-map): shuffle keys for
12         sepia-pod-follow-link-at-point.
14 2011-03-20  Sean O'Rourke  <seano@cpan.org>
16         * lib/Sepia/Xref.pm: POD fix.
17         * Makefile.PL: don't install .elc files, since that breaks Debian.
18         Patches from Hilko Bengen.
20 2011-03-14  Sean O'Rourke  <seano@cpan.org>
22         * VERSION: 0.991_05 (testing).
23         * sepl: add to MANIFEST
25 2011-03-14  Sean O'Rourke  <seano@cpan.org>
27         * VERSION: 0.991_04 (testing).
28         * Makefile.PL (prompt_for_infodir): filter out Emacs-spam.
30 2010-11-05  Sean O'Rourke  <seano@cpan.org>
32         * sepia.el (sepia-next, sepia-show-locations,sepia-set-found):
33         Always use next-error.
34         * sepia-w3m.el (w3m-about-perldoc-buffer): let user know when
35         there are POD errors.
37 2010-10-04  Sean O'Rourke  <seano@cs.ucla.edu>
39         * sepia.el (sepia-perldoc-this): Display documentation in a less
40         annoying way.
41         (cperl-imenu--create-perl-index): Advise it to strip out some entries.
43         * Sepia.pm: dumpvar.pl and Devel::Peek format options.
45 2010-09-21  Sean O'Rourke  <seano@cs.ucla.edu>
47         * lib/Sepia.pm (track_requires): New function.
48         (file_list): New function.
49         Add 'dumpvar' flavor of output.
50         (repl_lsmod): New function.
51         (requires,users): Use track_requires.
53         * sepia.el (sepia-dired-package): New function.
54         (sepia-skip-doc-scan): New variable.
55         (sepia-doc-update): Use previous to skip confusing files.
56         (sepia-find-loaded-modules): New function.
57         (cperl-imenu--create-perl-index): Filter cruft.
59 2010-09-13  Sean O'Rourke  <seano@cs.ucla.edu>
61         * sepia.el (sepia-doc-scan-buffer): Avoid spurious matches.
62         (sepia-find-loaded-modules): New function.
64 2010-09-12  Sean O'Rourke  <seano@cs.ucla.edu>
66         * lib/Sepia.pm (repl_strict): Disable Lexical::Persistence's
67         stupid treatment of '_'.
69 2010-08-18  Sean O'Rourke  <seano@cs.ucla.edu>
71         * lib/Sepia.pm: remove useless @REPL_RESULT.  Fix _() to use @res.
73 2010-08-16  Sean O'Rourke  <seano@cs.ucla.edu>
75         * sepia.el (sepia-shared-map, sepia-eval-region): new function
76         bound to `C-c C-r', moving sepia-repl to `C-c C-t'.
77         * lib/Sepia.pm: disable deprecation warnings to avoid 5.12 lameness.
79 2010-02-08  Sean O'Rourke  <seano@cs.ucla.edu>
81         * sepia.el (sepia-looks-like-module): remove apropos-module check.
82         * lib/Sepia.pm (_apropos_re): make start anchor optional.
83         (inc_re): factor out @INC-removal.
84         (module_list): use inc_re().
85         (modules_matching): new function.
86         (apropos_module): rewrite.
88 2010-01-24  Sean O'Rourke  <seano@cs.ucla.edu>
90         * lib/Sepia.pm (repl_setup): load ~/.sepiarc in $Sepia::PACKAGE.
92 2010-01-23  Sean O'Rourke  <seano@cs.ucla.edu>
94         * README: add development information.
95         * lib/Sepia.pm (apropos_module): use "_apropos_re"
97 2009-12-15  Sean O'Rourke  <seano@cs.ucla.edu>
99         * lib/Sepia.pm (repl_package): always change packages, even if
100         empty.
102 2009-12-14  Sean O'Rourke  <seano@cs.ucla.edu>
104         * lib/Sepia/ReadLine.pm: readline interface.
105         * lib/Sepia.pm ($READLINE): next-input hook.
107 2009-12-08  Sean O'Rourke  <seano@cs.ucla.edu>
109         * lib/Sepia.pm (methods): uniquify.
110         * lib/Sepia.pm, lib/Sepia/Debug.pm: avoid deprecated
111         "defined %hash" in 5.11.x.
113 2009-12-02  Sean O'Rourke  <seano@cs.ucla.edu>
115         * lib/Sepia/Xref.pm (load_pad): work around pad weirdness with
116         threads.
117         * VERSION: 0.991_01
119 2009-11-29  Sean O'Rourke  <seano@cs.ucla.edu>
121         * Makefile.PL: make LWP::Simple optional.  It didn't do much.
122         * sepia-snippet.el (sepia-snippet-abbrev): de-dup, sort, add
123         given/when.
124         * sepia.el (sepia-shortcuts): update.
125         (sepia-complete-symbol): fix sigil duplication bug.
126         (sepia-symbol-info): use cperl's variable short-docs.
128 2009-11-26  Sean O'Rourke  <seano@cs.ucla.edu>
130         * lib/Sepia.pm: reorganize, add docs.
131         * sepia.texi (Shortcuts): document ,time
132         * Makefile.PL: optional BSD::Resource and Time::HiRes.
133         * lib/Sepia.pm (run_hook,add_hook,remove_hook): new functions.
134         (repl_time,time_pre_prompt*): print CPU times.
136 2009-11-25  Sean O'Rourke  <seano@cs.ucla.edu>
138         * sepia.el (sepia-ident-before-point): use s-i-at-point.
139         (sepia-ident-at-point): Handle punctuation variables.
140         (sepia-describe-object): add "perldoc -v" support.
142 2009-11-22  Sean O'Rourke  <seano@cs.ucla.edu>
144         * lib/Sepia.pm (location): handle special @INC entries.
145         * sepia.el (sepia-describe-object): Guess identifier-at-point in
146         the right order.
148 2009-11-18  Sean O'Rourke  <seano@cs.ucla.edu>
150         * sepia.el (sepia-describe-object): new function like
151         describe-function and friends.  Currently only "perldoc -f."
152         (sepia-init-perl-builtins): bugfix.
153         (sepia-repl-mode): turn on eldoc.
155 2009-11-02  Sean O'Rourke  <seano@cs.ucla.edu>
157         * lib/Sepia.pm (location): change to work on only one location,
158         since that's how it's used.
159         (define_shortcuts): tweak.
160         (repl_setup): fix $REPL_LEVEL bug.
161         (repl,repl_quit): make quitting from restarted REPLs.
163 2009-10-28  Sean O'Rourke  <seano@cs.ucla.edu>
165         * sepia.el (sepia-indent-or-complete): work around bug where
166         expand-abbrev returns nil even though it expanded.
167         (sepia-looks-like-module): use xref-apropos-module.
169 2009-10-19  Sean O'Rourke  <seano@cs.ucla.edu>
171         * sepia-cpan.el (sepia-cpan-mode-map): initialize in definition;
172         oops!
173         * VERSION: 0.991
175 2009-10-18  Sean O'Rourke  <seano@cs.ucla.edu>
177         * lib/Sepia/CPAN.pm (group_by_dist): better heuristic.
178         * lib/Sepia.pm (repl_reload, repl_full_reload, full_reload):
179         support "reload" and "freload" shortcuts.
180         * lib/Sepia/Debug.pm (xreturn, repl_xreturn): return-from-context,
181         not yet used.
182         * VERSION: 0.99
184 2009-10-12  Sean O'Rourke  <seano@cs.ucla.edu>
186         * sepia.el (sepia-symbol-info): tweak on module names.
187         (sepia-apropos-module): new function.
188         (sepia-perlize-region,sepia-perl-ne-region): interactive prompt fix
190 2009-07-22  Sean O'Rourke  <seano@cs.ucla.edu>
192         * sepia-cpan.el (sepia-cpan-doc): make browser pop up in other
193         window, like README.
195 2009-07-18  Sean O'Rourke  <seano@cs.ucla.edu>
197         * lib/Sepia.pm (filter_exact_prefix): new function to improve
198         completion behavior.
200 2009-07-07  Sean O'Rourke  <seano@cs.ucla.edu>
202         * lib/Sepia.pm (save,load,repl_save,repl_load): Persist
203         variables to a file.
204         * VERSION: 0.99_01
206 2009-07-05  Sean O'Rourke  <seano@cs.ucla.edu>
208         * sepia.el (sepia-rename-lexical): New function; a small wrapper
209         around query-replace(-regexp).
211 2009-05-03  Sean O'Rourke  <seano@cs.ucla.edu>
213         * t/02completion.t (ok_comp): adjust for completion changes.
214         * sepia.texi: Variable index.
216 2009-03-18  Sean O'Rourke  <seano@cs.ucla.edu>
218         * lib/Sepia.pm (repl_help): fix formatting with "help CMD"
219         (repl_size): sort by size
221 2008-12-17  Sean O'Rourke  <seano@cs.ucla.edu>
223         * sepia.texi (Completion): we do lexicals.
224         * lib/Sepia.pm (lexical_completions): new function.
225         (completions): use it.
226         * sepia.el (sepia-function-at-point): return nil outside subs.
227         (sepia-interactive-arg): fix call to xref-completions.
229 2008-07-22  Sean O'Rourke  <seano@cs.ucla.edu>
231         * sepia.el (sepia-scratch-send-line): change to use REPL printer.
233 2008-07-09  Sean O'Rourke  <seano@cs.ucla.edu>
234         * sepia.el (sepia-indent-line): new function.  Let-bind
235           beginning-of-defun-function for cperl-indent-line.
237 2008-06-29  Sean O'Rourke  <seano@cs.ucla.edu>
239         * sepia.el (sepia-cont-or-restart): new function to restart
240           quitted REPL.
241         * sepia-cpan.el (sepia-cpan-do-{desc,recommend}): oops.
242         (sepia-cpan-make-buffer): better column widths
243         * lib/Sepia.pm (repl_size): skip %SIG to avoid segfaults.
244         * lib/sepia/CPAN.pm (group_by_dist): only list "main" module in
245           each distribution, and sort them.
247 2008-06-20  Sean O'Rourke  <seano@cs.ucla.edu>
249         * VERSION: 0.97
250         * lib/Sepia.pm: fix use of defined().
252 2008-06-17  Sean O'Rourke  <seano@cs.ucla.edu>
254         * lib/Sepia.pm (repl_who,repl_size): turn off added 5.10 strictures.
256 2008-05-11  Sean O'Rourke  <seano@cs.ucla.edu>
258         * sepia.texi (Mutilation): updated CPAN documentation.
259         * sepia-cpan.el (sepia-cpan-desc): add search-by-description
260         (sepia-cpan-mode-map): fix keybindings.
261         * lib/Sepia/CPAN.pm: have ls/_ls, etc call interesting_parts
263 2008-05-10  Sean O'Rourke  <seano@cs.ucla.edu>
265         * VERSION: 0.96_02
266         * sepia-cpan.el (sepia-cpan-list, sepia-cpan-make-buffer)
267         (sepia-cpan-search): added list-by-author, refactored.
268         (sepia-cpan-readme): insert temp file rather than passing as
269         string.
270         * lib/Sepia/CPAN.pm (ls): new function to list author's modules.
271         * lib/Sepia/Debug.pm (repl_finish): mostly-working, by adding 0x10
272           to $^P and looking at sub's last line.
274 2008-01-10  Sean O'Rourke  <seano@cs.ucla.edu>
276         * lib/Sepia.pm (columnate): true -> defined
277         * VERSION: 0.96_01
278         * sepia-cpan.el: new file, experimental CPAN interface.
279         * lib/Sepia/CPAN.pm: new file.
281 2008-01-05  Sean O'Rourke  <seano@cs.ucla.edu>
283         * README: remove redundant/obsolete documentation
285 2008-01-02  Sean O'Rourke  <seano@cs.ucla.edu>
287         * lib/Sepia.pm (flow): get closer to margin.
289 2007-12-22  Sean O'Rourke  <seano@cs.ucla.edu>
291         * t/50expect.t: mysterious change to placate expect.
292         * sepia.el (sepia-shared-map): adjust bindings.
293         (sepia-complete-symbol): Fix shortcut completion.
294         * sepia-snippet.el (sepia-snippet-abbrev): make snippet optional,
295           but mention it.
297 2007-12-20  Sean O'Rourke  <seano@cs.ucla.edu>
299         * lib/Sepia.pm (who): don't apply regex to sigil.
300         (completions): fix multi-arg version (used by Emacs).
301         (html_module_list,html_package_list): return string if asked.
303 2007-12-17  Sean O'Rourke  <seano@cs.ucla.edu>
305         * sepia.el (sepia-shared-map): bind cperl-perldoc.
307 2007-12-16  Sean O'Rourke  <seano@cs.ucla.edu>
309         * Makefile.PL (test_for): use MakeMaker's prompt().
311 2007-12-13  Sean O'Rourke  <seano@cs.ucla.edu>
313         * sepia.el (sepia-complete-symbol): add shortcut completion.
314           improve XEmacs compatibility.
315         * sepia-w3m.el (sepia-w3m-create-imenu): new function, disabled by
316           default.
317         * lib/Sepia.pm (repl_*): don't look at return values; use "last
318           repl" to get out.
320 2007-11-29  Sean O'Rourke  <seano@cs.ucla.edu>
322         * t/02completion.t: new completion tests.
323         * lib/Sepia.pm (completions): rewrote to simplify.
325 2007-11-28  Sean O'Rourke  <seano@cs.ucla.edu>
327         * lib/Sepia.pm (printer): Don't sort arrays when printing.
328         * VERSION: 0.95_02
329         * lib/sepia/Debug.pm (warn,die): use Carp for 5.10 compatibility.
330         * Makefile.PL (test_for): $|=1 if prompting.
332 2007-11-27  Sean O'Rourke  <seano@cs.ucla.edu>
334         * sepia.el (sepia-perldoc-this): test for w3m when called.
336         * VERSION: 0.95_01
337         * t/01basic.t (Sepia): fix tests w/o Module::Info.
339 2007-11-26  Sean O'Rourke  <seano@cs.ucla.edu>
341         * VERSION: 0.95
342         * lib/sepia/Debug.pm (add_repl_commands): use define_shortcut.
343         (warn,die): same.
344         (add_debug_repl_commands): new function.
345         (repl): use it.
347         * lib/Sepia.pm (define_shortcut): new function.
348         (define_shortcut): new function.
349         (repl_help): auto-format help text; add arg.
350         (repl_reload): decrement $REPL_LEVEL.
351         (completions): fix abbrev completion.
352         (repl): read ~/.sepiarc; use define_shortcuts.
353         (repl_format): show current if no argument.
354         (module_info): optional dependency.
356 2007-11-08  Sean O'Rourke  <seano@cs.ucla.edu>
358         * VERSION: 0.94_01
359         * lib/Sepia/Xref.pm: POD fixup.
360         * sepia.el (sepia-ensure-process): fix stupid attachtty mistake.
362 2007-11-05  Sean O'Rourke  <seano@cs.ucla.edu>
364         * lib/sepia/Debug.pm (repl_break): allow "0" as a break condition.
366 2007-10-31  Sean O'Rourke  <seano@cs.ucla.edu>
368         * lib/Sepia.pm (repl_size): ",size" command to list variable sizes,
369         like Matlab's "whos".
371 2007-10-16  Sean O'Rourke  <seano@cs.ucla.edu>
373         * VERSION: 0.93
375         * lib/Sepia.pm (repl_pwd): add ",pwd" shortcut.
376         (repl_who): use current package when only regex given.
378         * sepia.el (sepia-repl,sepia-ensure-process): add remote
379           connection with attachtty.
380         (sepia-shared-map): bind \C-c\C-e to eval-expression.
381         (sepia-symbol-info): be more selective about "core version".
383 2007-09-25  Sean O'Rourke  <sorourke@cs.ucsd.edu>
385         * lib/Sepia.pm (printer): remove "=>" -- it's annoying.
387 2007-09-21  Sean O'Rourke  <sorourke@cs.ucsd.edu>
389         * sepia.el (sepia-load-file): disable debugger.
390         (sepia-symbol-info): be pickier about module core versions.
392 2007-09-20  Sean O'Rourke  <sorourke@cs.ucsd.edu>
394         * lib/Sepia.pm (repl_who): use current package if only one arg
395           given, and it's not an existing package.
397 2007-09-18  Sean O'Rourke  <sorourke@cs.ucsd.edu>
399         * sepia.el (sepia-watch-for-eval): fix hang with recursive sepia-eval.
401 2007-07-25  Sean O'Rourke  <sorourke@cs.ucsd.edu>
403         * sepia.el (sepia-interactive-arg): use xref-completions rather
404         than xref-apropos for working completion.
406 2007-07-25  Ye Wenbin  <wenbinye@gmail.com>
408         * sepia.el (sepia-defun-around-point): change the command to a
409         function, because as a command it does nothing.
410         (define-modinfo-function, sepia-maybe-echo): the interactive-p
411         is not true when call as function.
412         (define-modinfo-function, sepia-init): some modinfo-function
413         should eval in a list-context.
414         (sepia-mode): use cperl-mode-abbrev-table as current local-abbrev-table
416 2007-07-24  Ye Wenbin  <wenbinye@gmail.com>
418         * sepia.el (sepia-set-found): Use (OFFSET . LIST) to represent
419         things that found.
420         (sepia-next, sepia-previous): more generic move commands
421         (sepia-refiner): remove the test, because sometimes use the
422         same declaration, but found in difference place.
424         * sepia-tree.el (sepia-tree-button-cb): widget => pw and
425         xref-location return a list of posible locations.
426         (sepia-tree-tidy-buffer, sepia-tree-use-image): Let user
427         to choose whether use image or not. Set it to a buffer-local
428         variable, so that it didn't interference global values.
430         * sepia.el (sepia-extract-def): seem an argument is excessive
432         * sepia-tree.el (sepia-build-tree-buffer): In my emacs, it
433         doesn't work. The :dynargs didn't become the tree-widget
434         :expander. The tree-widget-convert-widget only receive the
435         'tree-widget, not the total list.
436         sepia-install-keys not defined.
438         * lib/Sepia/Xref.pm (file_modules): seem it is a typo error to use
439         Module::Include rather than Module::Info.
440         Module::Info::packages_inside return an array, the operator
441         || will force in a scalar context.
443         * sepia.el (sepia-lisp-to-perl): use "'" to quote string is not
444         enough, because the string may also contain "'" inside.
445         use (format "%S" string) instead.
446         (define-sepia-query): `sepia-set-found' accept a symbol as
447         argument, not (quote symbol).
449 2007-06-09  Sean O'Rourke  <sorourke@cs.ucsd.edu>
451         * VERSION: 0.92
452         * sepia.el (sepia-shared-map, etc.): fix keymap initialization.
454 2007-06-06  Sean O'Rourke  <sorourke@cs.ucsd.edu>
456         * lib/Sepia/Debug.pm: eval in lexical env when in debugger.
457         * t/50expect.t: REPL tests if you have Test::Expect.
458         * lib/Sepia/Debug.pm: use correct level when none given.
459         * lib/Sepia.pm: No longer bring in exporter (why did we?).
460         * sepia.el (sepia-init): always reinitialize sepia-mode-map.
461         * Makefile.PL: require 5.006 for warnings to quiet stupid "make
462           test".
464 2007-06-05  Sean O'Rourke  <sorourke@cs.ucsd.edu>
466         * Sepia.html: generate single-page manual instead of split.
467         * VERSION: 0.90
468         * sepia.el: docstring cleanup.
469         * lib/sepia/Debug.pm: misc usability improvements
471 2007-06-04  Sean O'Rourke  <sorourke@cs.ucsd.edu>
473         * VERSION 0.90_02
474         * test.pl: disable Module::Info tests to avoid Module::Info bug.
476 2007-06-02  Sean O'Rourke  <sorourke@cs.ucsd.edu>
478         * VERSION 0.90_01
479         * Major: replaced comint- with gud-based REPL, use real debugger.
480         * lib/Sepia/Debug.pm: "perl -d" support.
481         * lib/Sepia.pm (repl_shell): new command.
482         * sepia.el (sepia-eval-defun): detect errors, jump to first.
483         (sepia-comint-setup): don't set comint-use-prompt-regexp
484         (sepia-eval-defun,sepia-beginning-of-defun,sepia-end-of-defun): fix
486 2007-06-01  Sean O'Rourke  <sorourke@cs.ucsd.edu>
488         * sepia.el (sepia-perldoc-this): don't mess up window
489           configuration when the page isn't found.
490         (sepia-location): use sepia-interactive-arg.
491         (sepia-perl-[np]e-region): fix.
493         * lib/Sepia.pm: fix.
494         (print_dumper): switch format based on size.
496 2007-05-30  Sean O'Rourke  <sorourke@cs.ucsd.edu>
497         * sepia.texi: shiny new manual.
498         * lib/Sepia.pm (completions): add special 'VARIABLE' type.
499         (methods): add second $qualified arg.
500         (repl_reload): new function.
501         (sig_warn,repl): override __WARN__ (and __DIE__) cautiously.
502         (repl): nicer warning format.
504         * sepia.el (sepia-eval-raw): stopwarn -> STOPWARN.
505         (sepia-load-file): Fix pop-up error buffer.
506         (sepia-lisp-to-perl): fix quoting of strings.
507         Good citizenship:
508         (sepia-mode): make a real major mode.
509         (sepia-scratchpad-mode): ditto.
511 2007-05-29  Sean O'Rourke  <sorourke@cs.ucsd.edu>
513         * lib/sepia/Xref.pm (pp_method_named): warn -> dprint.
514         * sepia.el (sepia-simple-method-before-point): new function.
515         (sepia-complete-symbol): use it to complete methods.
516         make w3m optional:
517         (sepia-perldoc-function,sepia-view-pod-function,
518           sepia-module-list-function): new variables.
519         (sepia-perldoc-this,sepia-view-pod): new functions.
520         * lib/Sepia.pm (repl): trim leading spaces.
521         (tolisp): escape metacharacters.
522         (repl): don't override "die" if someone has installed a
523         $SIG{__DIE__} handler
525 2007-05-28  Sean O'Rourke  <sorourke@cs.ucsd.edu>
527         * VERSION: 0.75+
528         * sepia.el (sepia-core-version): new function.
529         (sepia-indent-or-complete): fix abbrev expansion.
530         (sepia-symbol-info): report core version in eldoc.
531         (sepia-ident-before-point): new function.
532         (sepia-complete-symbol): use it instead of *-at-point.
533         (sepia-complete-symbol): complete arrays and hashes when '$'
534         starts a word.
535         * lib/Sepia.pm (printer): Use @::__; distinguish "last as scalar"
536           $__ from printed representation.
537         ($PRINT_PRETTY): columnate lists if this is on.
538         (columnate): fixed.
539         (repl_methods): add regex argument.
540         (repl_who): fix.
541         (completions): Add in package names.
543 2007-05-27  Sean O'Rourke  <sorourke@cs.ucsd.edu>
545         * lib/Sepia.pm (repl_methods): fixed.
547 2007-05-26  Sean O'Rourke  <sorourke@cs.ucsd.edu>
549         * VERSION: 0.74
550         * sepia.el (sepia-doc-scan-buffer): Better doc regex for
551           variables.
552         (sepia-indent-or-complete): try to expand abbrevs before
553           completion (try with snippet.el).
554         (sepia-indent-expand-abbrev): control the above feature.
555         (sepia-complete-symbol): scroll completion buffer; suggested by
556           Hilko Bengen.
557         * lib/Sepia.pm (html_package_list,html_module_list): new
558           functions.
559         (completions): '$'-completion only generates scalars.
560         * sepia-w3m.el: remove spurious sepia-module-list, improve
561           documentation.
562         (sepia-module-list,sepia-package-list): better output.
563         (sepia-package-list,sepia-module-list): move Perl code to
564           Sepia.pm, generate list in inferior perl instead of shelling
565           out.
567 2007-05-23  Sean O'Rourke  <sorourke@cs.ucsd.edu>
569         * lib/Sepia.pm (_apropos_re): handle empty completions.
570         (columnate): pretty-print ",who" output.
571         * sepia.el (sepia-complete-symbol): bury stale completions buffer;
572           suggested by Hilko Bengen.
574 2007-05-17  Sean O'Rourke  <sorourke@cs.ucsd.edu>
576         * lib/Sepia.pm (_completions1): Fix infinite recursion.
577         (repl): typo; clarify ambiguous vs. unrecognized shortcuts.
579 2007-05-15  Sean O'Rourke  <sorourke@cs.ucsd.edu>
581         * sepia.el (sepia-dwim): don't try to jump to location when
582           looking up module docs.
583         * lib/Sepia.pm: use $::__ instead of $Sepia::__
584         (repl_quit): new command.
585         (repl): add banner.
587 2007-05-12  Sean O'Rourke  <sorourke@cs.ucsd.edu>
589         * VERSION: 0.72
590         * Makefile.PL: add license.
592 2007-05-09  Sean O'Rourke  <sorourke@cs.ucsd.edu>
594         * VERSION: 0.71
595         * sepia.el (sepia-load-file): set inhibit-read-only when
596           displaying errors.
597         * lib/Sepia.pm (repl_methods): walk ISA hierarchy looking for
598           functions (XXX: this is much too coarse).
599         (repl_help): use %REPL_DOC to hold command documentation for
600         easier extension.
601         (repl): display error on canceled continued statement.
603 2007-05-07  Sean O'Rourke  <sorourke@cs.ucsd.edu>
605         * lib/Sepia.pm (repl_strict): add 'strict mode' (thanks to
606           Lexical::Persistence) for those who swing that way (I don't),
607           inspired by Devel::REPL.
608         (repl_wantarray): Fix logic.
610 2007-04-25  Sean O'Rourke  <sorourke@cs.ucsd.edu>
612         * VERSION: 0.70
613         * README: add license.
614         * Makefile.PL: remove dependency on Sub::Uplevel, make PadWalker
615           optional.
616         * lib/Sepia.pm (who): add optional regex filter.
617         (debug_inspect): fix non-scalar printing.
618         * sepia.el (sepia-dwim): fix staleness; change to find
619           documentation for modules.
620         (sepia-find-module-file): new function to try sepia- and xref-
621         module file-finding functions.
622         (sepia-next): use it.
623         (sepia-filter-by-module,sepia-filter-by-all): remove.
624         (sepia-keymap): use `sepia-dwim' for M-.
626 2007-04-15  Sean O'Rourke  <sorourke@cs.ucsd.edu>
628         * lib/Sepia.pm (who): add optional regex argument.
630 2007-03-30  Sean O'Rourke  <sorourke@cs.ucsd.edu>
632         * sepia-w3m.el (sepia-module-list, sepia-package-list): added
633           detailed index of installed modules.
634         * VERSION: 0.68
636 2007-03-16  Sean O'Rourke  <sorourke@cs.ucsd.edu>
638         * sepia.el (sepia-set-found): filter spurious nils (XXX: this
639           really needs a fix).
640           (sepia-symbol-info): avoid eldoc errors in ecase.
642 2007-03-15  Sean O'Rourke  <sorourke@cs.ucsd.edu>
644         * sepia.el (sepia-complete-symbol): fallback completion of
645           builtins.
646         * set COPY_EXTENDED_ATTRIBUTES_DISABLE=true to avoid creating ._*
647           files (RT #25490).
649 2007-03-15  Sean O'Rourke  <sorourke@cs.ucsd.edu>
651         * VERSION: 0.67
652         * sepia-ido.el: clean up bitrot.
653         * lib/Sepia.pm (apropos): don't create new stashes during
654           completion.
655         * sepia.el (sepia-show-locations): bind inhibit-read-only; filter
656           out mysterious NILs.
657         * Makefile.PL: require PadWalker 1.0 (RT #25463)
659 2007-03-13  Sean O'Rourke  <sorourke@cs.ucsd.edu>
661         * VERSION: 0.66
662         * README (TODO): user-defined REPL abbrevs.
663         * lib/Sepia.pm (print_*): optional printing via YAML and
664           Data::Dump (from Shell::Perl).
665         (repl_wantarray): change eval context (same).
666         (repl_format): set formatter (same).
668 2007-03-09  Sean O'Rourke  <sorourke@cs.ucsd.edu>
670         * VERSION: 0.65
671         * sepia.el (sepia-keymap): add *-apropos, find-tag bindings.
672         * README: add organized function index.
673         * sepia.el (sepia-beginning-of-defun, sepia-end-of-defun):
674           fix argument to be prefix instead of point.
675         * sepia.el: documentation.
676         * sepia-ido.el: documentation.
677         * README: cleanup; note limitation of sepia-bodf and -eodf.
679 2007-02-25  Sean O'Rourke  <sorourke@cs.ucsd.edu>
681         * Makefile.PL: add Scalar::Util as prereq.
682         * sepia.el (sepia-perl5lib): new variable holding extra PERL5LIB
683           entry.
684         * sepia.el (sepia-init): use it.
685         * sepia.el (sepia-comint-setup): don't clobber keymap.
686         * sepia.el (sepia-indent-or-complete): complete first time if at
687           end of word.
688         * Sepia.pm (completions): enhanced completion -- e.g. "wtf"
689           matches "want_to_feed".
690         * Sepia.pm (printer): special-case PDL to use its stringification
691           (XXX: should test for overloaded "").
692         * Sepia.pm (who,repl_who): new functions.
694 2006-09-29  Sean O'Rourke  <sorourke@cs.ucsd.edu>
696         * Sepia.pm (Dump): wrap with eval to prevent unexpected exits.
697         * Sepia.pm (repl_chdir): expand '~' and '$HOME'
699 2006-07-01  Sean O'Rourke  <sorourke@cs.ucsd.edu>
701         * Sepia.pm (tolisp): undef -> nil
702         * sepia.el (sepia-eval-raw): guess package.
703         * sepia.el (sepia-init): don't pop-to-buffer with prefix argument.
704         * sepia.el (sepia-beginning-of-defun,sepia-end-of-defun): avoid
705           recursion.
706         * sepia.el (sepia-buffer-package): look backward from point
707           instead of forward from point-min.
709 2006-05-24  Sean O'Rourke  <sorourke@cs.ucsd.edu>
711         * Makefile.PL: added missing dependencies on PadWalker,
712           Sub::Uplevel.
713         * Sepia.pm: improved ",command"
714         * sepia-w3m.el (sepia-w3m-perldoc-this): simplify.
715         * sepia.el (perl-*): rename to sepia-*.
716         * sepia.el: reorg and cleanup.
717         * VERSION: 0.63
719 2006-05-19  Sean O'Rourke  <sorourke@cs.ucsd.edu>
721         * sepia.el: fixed eldoc support.  This only works with CVS Emacs,
722           relying on `eldoc-documentation-function'.  Also fixed pod
723           scanning for eldoc.
725 2006-05-18  Sean O'Rourke  <sorourke@cs.ucsd.edu>
727         * sepia.el, Sepia.pm: improved bulk-transfer protocol.
728         * Sepia.pm: override die with simple inspector/debugger.
729         * Sepia.pm: $__ and @__ now contain results of the last
730           expression.
731         * sepia.el, Sepia.pm: primitive support for evaluating elisp sent
732           from Perl.  Turn on comint-use-prompt-regexp because the fields
733           stuff is flaky with this.
734         * sepia.el, Sepia.pm: ",cd" shortcut coordinates directory with
735           Emacs.
736         * VERSION 0.61, 0.62
738 2006-04-14  Sean O'Rourke  <sorourke@cs.ucsd.edu>
740         * generic-repl.el: replaced by comint.
741         * all: removed EPL dependency.
742         * VERSION 0.59
744 2005-07-12  Sean O'Rourke  <sorourke@cs.ucsd.edu>
746         * sepia-w3m.el: fix function name so it's found.
747         * Xref.pm, Sepia.pm: cleanup and numerous bugfixes.
748         * Buffer.pm: new, but not ready for prime-time
749         * sepia.el: delete-thing-at-point removed; misc bugfixes.
750         * test.pl: disabled a bunch of location stuff.
751         * VERSION 0.58
753 2004-09-10  Sean O'Rourke  <sorourke@cs.ucsd.edu>
755         * test.pl: some real tests.
756         * Sepia.pm, Xref.pm: Separate simple symbol-table searching from
757           Xref, making the former more reliable.
758         * Xref.pm: More reliable detection of (class) method calls.
759         * sepia.el: results are not displayed for expressions ending in
760           ';' (c.f. Octave).
762 2004-04-12  Sean O'Rourke  <seano@cs.ucsd.edu>
764         * sepia.el (sepia-doc-scan-buffer): Make regular expressions a
765         bit better.
766         (sepia-ident-at-point): handle upper-case function and variable
767         names for completion (a bit hacky...).
768         (sepia-install-keys): fix keymap installation.
770 2004-04-11  Sean O'Rourke  <seano@cs.ucsd.edu>
772         * Xref.pm (guess_module_file): do like Module::Info and trust
773         %INC more than our Xref info.  But don't be _too_ smart about
774         this -- we were picking up lots of bogus exports.
775         (pp_method_named): add support for constant-named methods (cribbed
776         from B::Concise).
778 2004-04-10  Sean O'Rourke  <seano@cs.ucsd.edu>
780         * Xref.pm: update $VERSION to track Sepia release.
782         * sepia.el (sepia-indent-or-complete): only complete on the
783         second TAB.
785 2004-04-09  Sean O'Rourke  <seano@cs.ucsd.edu>
787         * sepia.el (sepia-refiner): tweak refining function a bit more.
788         I'm still not entirely happy with this, but it's getting better.
789         Time and experimentation are required.
791         * sepia-tree.el (sepia-calle[er]-tree): New file.  Use
792         caller/callee information to generate tree-view using David
793         Ponce's wonderful tree-widget.
795         * Xref.pm (_apropos_re): Add that Emacs-style multipart-word
796         completion, so e.g. D:v_d -> Devel::Xref::var_defs.  It's groovy,
797         man.
798         (%firstline): gone.  Just getting a line within the sub is good
799         enough -- we can fix it on the Emacs side of the fence later.
801 2004-04-08  Sean O'Rourke  <seano@cs.ucsd.edu>
803         * sepia-w3m.el (sepia-w3m-perldoc-this): work for functions as
804         well as modules, and try to go to correct position in manpage.
806         * sepia.el (sepia-eval-buffer): use 'BEGIN{ die }' to do Xrefs
807         for scripts without loading them.
809         * Xref.pm: Localize a bunch of things instead of stomping on
810         package lexicals.  This makes the module better handle repeated
811         use, for which it wasn't designed.
813         * Xref.pm (mod_subs): Rename package_subs for consistency.
814         (mod_decls): New function to generate decls for evaluation.
816         * sepia.el: misc bug-fixes, and better support for redefining
817         functions with sepia-eval-defun, especially preserving files and
818         line numbers.
819         (sepia-eval): remove newlines to make line-numbers make more
820         sense to user.
821         (sepia-interactive-arg): delay reading completions to speed up
822         \M-. functions.
823         (sepia-refiner): search both forward and backward, to adjust for
824         e.g. adding comments.  Still not so good, but better.
826 2004-04-06  Sean O'Rourke  <seano@cs.ucsd.edu>
828         * sepia-w3m.el: moved w3m-perldoc support here.
830         * README: added description, removed disclaimer
832         * sepia.el (sepia-symbol-info, sepia-doc-update): POD scanning
833         and cperl hackage for eldoc support.
835 2004-04-05  Sean O'Rourke  <seano@cs.ucsd.edu>
837         * Xref.pm (redefined,forget): make them take a single sub at a
838         time, and pay attention to packages.
839         (_apropos): use package info to narrow choices.
841         * sepia.el (sepia-eval-defun,sepia-eval-buffer): new functions.
843         * test.pl: satisfy the cpants Fascists.
845         * Xref.pm (use_type): try to be smarter about when something's
846         being assigned to, vs. merely used as a reference.
848         * sepia.el (sepia-repl-header): keep up with generic-repl by
849         doing header line, working dir.
850         (sepia-complete-symbol): stupid bug with modules.
851         (sepia-install-keys): new function.
852         (sepia-var-assigns): assignments are more useful than defs.
853         (sepia-init): start REPL by default.
855         * generic-repl.el (repl-cd,repl-set-header): "new" function from
856         Slime to track working dir, update header line.
858 2004-04-04  Sean O'Rourke  <seano@cs.ucsd.edu>
860         * Sepia.jpg: don't ask -- just look.
862         * sepia.el (sepia-ident-at-point): fixed bug with sigils.
863         (sepia-complete-symbol): fixed bug with undefined function
864         sepia-end-of-word.
865         Always use Data::Dumper.
867         * any-repl.el: new file implementing REPL, basically stolen from
868         Slime.
870         * pscope.el: renamed to sepia.el to go with name change.
872 2004-04-03  Sean O'Rourke  <seano@cs.ucsd.edu>
874         * pscope.el (pscope-set-found): remove locations with no
875         file in package "main", which were causing errors before.
876         (pscope-dwim): new function.  New functions
877         pscope-complete-symbol and pscope-indent-or-complete for
878         symbol completion.  Not well-tested, but they seem to work.
879         The most annoying thing is that since the Xref db isn't
880         automatically updated, it won't always know as much as you
881         expect.
882         (pscope-load-file): new function.
884         * Xref.pm: update export lists to reflect new functions.
886 2004-04-02  Sean O'Rourke  <seano@cs.ucsd.edu>
888         * Xref.pm: minor cleanup.
890         * pscope.el: pass module, file, line to Perl side (where it's
891         ignored for now); fix line number refinement to be a
892         little less over-eager; fix pscope-callees to go to sub
893         definitions instead of call sites.
895         * README: added TODO section.