Delay loading some rarely-used stuff. Startup is already fast, but
[sepia.git] / ChangeLog
blobf24c891e1c7dd633a0a4268608c935857bd0a037
1 2012-09-30  Sean O'Rourke  <seano@cpan.org>
3         * lib/Sepia.pm (html_module_list): Find all .pm and .pod files,
4         rather than relying on packlists.
6 2012-01-30  Sean O'Rourke  <seano@cpan.org>
8         * sepia.el (sepia-complete-symbol): Finally fix method completion
9           to not delete invocant.
10         (sepia-shortcuts): retrieve shortcuts dynamically.
11         (sepia-complete-symbol): use it.
13 2011-11-16  Sean O'Rourke  <seano@cpan.org>
15         * VERSION: 0.992
17 2011-11-14  Sean O'Rourke  <seano@cpan.org>
19         * sepl: add some docs.
21 2011-11-10  Sean O'Rourke  <seano@cpan.org>
23         * lib/Sepia.pm (repl_who): list lexicals in strict-mode.
24         (repl_eval,repl_strict,call_strict): eliminate
25         Lexical::Persistence, which is more trouble than it's worth.
26         (repl_size): list lexical sizes in strict-mode.
28 2011-11-02  Sean O'Rourke  <seano@cpan.org>
30         * lib/Sepia/ReadLine.pm (rl_complete): Unify T:R:{Perl,GNU}
32 2011-10-24  Sean O'Rourke  <seano@cpan.org>
34         * sepia.el (sepia-[be]ol-from): use line-{beginning,end}-position.
35         (sepia-shared-map): remap C-c C-t to cperl-invert-if-unless.
37 2011-10-23  Sean O'Rourke  <seano@cpan.org>
39         * lib/Sepia/ReadLine.pm (repl): support Term::ReadLine::Perl.
41 2011-10-07  Sean O'Rourke  <seano@cpan.org>
43         * sepia.texi (Navigation): add sepia-pod-follow-link-at-point and
44         associated key-reshuffling.
45         * sepia.el (sepia-pod-follow-link-at-point): new function to
46         follow POD links from source.
47         (sepia-metapoint-map): shuffle keys for
48         sepia-pod-follow-link-at-point.
50 2011-03-20  Sean O'Rourke  <seano@cpan.org>
52         * lib/Sepia/Xref.pm: POD fix.
53         * Makefile.PL: don't install .elc files, since that breaks Debian.
54         Patches from Hilko Bengen.
56 2011-03-14  Sean O'Rourke  <seano@cpan.org>
58         * VERSION: 0.991_05 (testing).
59         * sepl: add to MANIFEST
61 2011-03-14  Sean O'Rourke  <seano@cpan.org>
63         * VERSION: 0.991_04 (testing).
64         * Makefile.PL (prompt_for_infodir): filter out Emacs-spam.
66 2010-11-05  Sean O'Rourke  <seano@cpan.org>
68         * sepia.el (sepia-next, sepia-show-locations,sepia-set-found):
69         Always use next-error.
70         * sepia-w3m.el (w3m-about-perldoc-buffer): let user know when
71         there are POD errors.
73 2010-10-04  Sean O'Rourke  <seano@cs.ucla.edu>
75         * sepia.el (sepia-perldoc-this): Display documentation in a less
76         annoying way.
77         (cperl-imenu--create-perl-index): Advise it to strip out some entries.
79         * Sepia.pm: dumpvar.pl and Devel::Peek format options.
81 2010-09-21  Sean O'Rourke  <seano@cs.ucla.edu>
83         * lib/Sepia.pm (track_requires): New function.
84         (file_list): New function.
85         Add 'dumpvar' flavor of output.
86         (repl_lsmod): New function.
87         (requires,users): Use track_requires.
89         * sepia.el (sepia-dired-package): New function.
90         (sepia-skip-doc-scan): New variable.
91         (sepia-doc-update): Use previous to skip confusing files.
92         (sepia-find-loaded-modules): New function.
93         (cperl-imenu--create-perl-index): Filter cruft.
95 2010-09-13  Sean O'Rourke  <seano@cs.ucla.edu>
97         * sepia.el (sepia-doc-scan-buffer): Avoid spurious matches.
98         (sepia-find-loaded-modules): New function.
100 2010-09-12  Sean O'Rourke  <seano@cs.ucla.edu>
102         * lib/Sepia.pm (repl_strict): Disable Lexical::Persistence's
103         stupid treatment of '_'.
105 2010-08-18  Sean O'Rourke  <seano@cs.ucla.edu>
107         * lib/Sepia.pm: remove useless @REPL_RESULT.  Fix _() to use @res.
109 2010-08-16  Sean O'Rourke  <seano@cs.ucla.edu>
111         * sepia.el (sepia-shared-map, sepia-eval-region): new function
112         bound to `C-c C-r', moving sepia-repl to `C-c C-t'.
113         * lib/Sepia.pm: disable deprecation warnings to avoid 5.12 lameness.
115 2010-02-08  Sean O'Rourke  <seano@cs.ucla.edu>
117         * sepia.el (sepia-looks-like-module): remove apropos-module check.
118         * lib/Sepia.pm (_apropos_re): make start anchor optional.
119         (inc_re): factor out @INC-removal.
120         (module_list): use inc_re().
121         (modules_matching): new function.
122         (apropos_module): rewrite.
124 2010-01-24  Sean O'Rourke  <seano@cs.ucla.edu>
126         * lib/Sepia.pm (repl_setup): load ~/.sepiarc in $Sepia::PACKAGE.
128 2010-01-23  Sean O'Rourke  <seano@cs.ucla.edu>
130         * README: add development information.
131         * lib/Sepia.pm (apropos_module): use "_apropos_re"
133 2009-12-15  Sean O'Rourke  <seano@cs.ucla.edu>
135         * lib/Sepia.pm (repl_package): always change packages, even if
136         empty.
138 2009-12-14  Sean O'Rourke  <seano@cs.ucla.edu>
140         * lib/Sepia/ReadLine.pm: readline interface.
141         * lib/Sepia.pm ($READLINE): next-input hook.
143 2009-12-08  Sean O'Rourke  <seano@cs.ucla.edu>
145         * lib/Sepia.pm (methods): uniquify.
146         * lib/Sepia.pm, lib/Sepia/Debug.pm: avoid deprecated
147         "defined %hash" in 5.11.x.
149 2009-12-02  Sean O'Rourke  <seano@cs.ucla.edu>
151         * lib/Sepia/Xref.pm (load_pad): work around pad weirdness with
152         threads.
153         * VERSION: 0.991_01
155 2009-11-29  Sean O'Rourke  <seano@cs.ucla.edu>
157         * Makefile.PL: make LWP::Simple optional.  It didn't do much.
158         * sepia-snippet.el (sepia-snippet-abbrev): de-dup, sort, add
159         given/when.
160         * sepia.el (sepia-shortcuts): update.
161         (sepia-complete-symbol): fix sigil duplication bug.
162         (sepia-symbol-info): use cperl's variable short-docs.
164 2009-11-26  Sean O'Rourke  <seano@cs.ucla.edu>
166         * lib/Sepia.pm: reorganize, add docs.
167         * sepia.texi (Shortcuts): document ,time
168         * Makefile.PL: optional BSD::Resource and Time::HiRes.
169         * lib/Sepia.pm (run_hook,add_hook,remove_hook): new functions.
170         (repl_time,time_pre_prompt*): print CPU times.
172 2009-11-25  Sean O'Rourke  <seano@cs.ucla.edu>
174         * sepia.el (sepia-ident-before-point): use s-i-at-point.
175         (sepia-ident-at-point): Handle punctuation variables.
176         (sepia-describe-object): add "perldoc -v" support.
178 2009-11-22  Sean O'Rourke  <seano@cs.ucla.edu>
180         * lib/Sepia.pm (location): handle special @INC entries.
181         * sepia.el (sepia-describe-object): Guess identifier-at-point in
182         the right order.
184 2009-11-18  Sean O'Rourke  <seano@cs.ucla.edu>
186         * sepia.el (sepia-describe-object): new function like
187         describe-function and friends.  Currently only "perldoc -f."
188         (sepia-init-perl-builtins): bugfix.
189         (sepia-repl-mode): turn on eldoc.
191 2009-11-02  Sean O'Rourke  <seano@cs.ucla.edu>
193         * lib/Sepia.pm (location): change to work on only one location,
194         since that's how it's used.
195         (define_shortcuts): tweak.
196         (repl_setup): fix $REPL_LEVEL bug.
197         (repl,repl_quit): make quitting from restarted REPLs.
199 2009-10-28  Sean O'Rourke  <seano@cs.ucla.edu>
201         * sepia.el (sepia-indent-or-complete): work around bug where
202         expand-abbrev returns nil even though it expanded.
203         (sepia-looks-like-module): use xref-apropos-module.
205 2009-10-19  Sean O'Rourke  <seano@cs.ucla.edu>
207         * sepia-cpan.el (sepia-cpan-mode-map): initialize in definition;
208         oops!
209         * VERSION: 0.991
211 2009-10-18  Sean O'Rourke  <seano@cs.ucla.edu>
213         * lib/Sepia/CPAN.pm (group_by_dist): better heuristic.
214         * lib/Sepia.pm (repl_reload, repl_full_reload, full_reload):
215         support "reload" and "freload" shortcuts.
216         * lib/Sepia/Debug.pm (xreturn, repl_xreturn): return-from-context,
217         not yet used.
218         * VERSION: 0.99
220 2009-10-12  Sean O'Rourke  <seano@cs.ucla.edu>
222         * sepia.el (sepia-symbol-info): tweak on module names.
223         (sepia-apropos-module): new function.
224         (sepia-perlize-region,sepia-perl-ne-region): interactive prompt fix
226 2009-07-22  Sean O'Rourke  <seano@cs.ucla.edu>
228         * sepia-cpan.el (sepia-cpan-doc): make browser pop up in other
229         window, like README.
231 2009-07-18  Sean O'Rourke  <seano@cs.ucla.edu>
233         * lib/Sepia.pm (filter_exact_prefix): new function to improve
234         completion behavior.
236 2009-07-07  Sean O'Rourke  <seano@cs.ucla.edu>
238         * lib/Sepia.pm (save,load,repl_save,repl_load): Persist
239         variables to a file.
240         * VERSION: 0.99_01
242 2009-07-05  Sean O'Rourke  <seano@cs.ucla.edu>
244         * sepia.el (sepia-rename-lexical): New function; a small wrapper
245         around query-replace(-regexp).
247 2009-05-03  Sean O'Rourke  <seano@cs.ucla.edu>
249         * t/02completion.t (ok_comp): adjust for completion changes.
250         * sepia.texi: Variable index.
252 2009-03-18  Sean O'Rourke  <seano@cs.ucla.edu>
254         * lib/Sepia.pm (repl_help): fix formatting with "help CMD"
255         (repl_size): sort by size
257 2008-12-17  Sean O'Rourke  <seano@cs.ucla.edu>
259         * sepia.texi (Completion): we do lexicals.
260         * lib/Sepia.pm (lexical_completions): new function.
261         (completions): use it.
262         * sepia.el (sepia-function-at-point): return nil outside subs.
263         (sepia-interactive-arg): fix call to xref-completions.
265 2008-07-22  Sean O'Rourke  <seano@cs.ucla.edu>
267         * sepia.el (sepia-scratch-send-line): change to use REPL printer.
269 2008-07-09  Sean O'Rourke  <seano@cs.ucla.edu>
270         * sepia.el (sepia-indent-line): new function.  Let-bind
271           beginning-of-defun-function for cperl-indent-line.
273 2008-06-29  Sean O'Rourke  <seano@cs.ucla.edu>
275         * sepia.el (sepia-cont-or-restart): new function to restart
276           quitted REPL.
277         * sepia-cpan.el (sepia-cpan-do-{desc,recommend}): oops.
278         (sepia-cpan-make-buffer): better column widths
279         * lib/Sepia.pm (repl_size): skip %SIG to avoid segfaults.
280         * lib/sepia/CPAN.pm (group_by_dist): only list "main" module in
281           each distribution, and sort them.
283 2008-06-20  Sean O'Rourke  <seano@cs.ucla.edu>
285         * VERSION: 0.97
286         * lib/Sepia.pm: fix use of defined().
288 2008-06-17  Sean O'Rourke  <seano@cs.ucla.edu>
290         * lib/Sepia.pm (repl_who,repl_size): turn off added 5.10 strictures.
292 2008-05-11  Sean O'Rourke  <seano@cs.ucla.edu>
294         * sepia.texi (Mutilation): updated CPAN documentation.
295         * sepia-cpan.el (sepia-cpan-desc): add search-by-description
296         (sepia-cpan-mode-map): fix keybindings.
297         * lib/Sepia/CPAN.pm: have ls/_ls, etc call interesting_parts
299 2008-05-10  Sean O'Rourke  <seano@cs.ucla.edu>
301         * VERSION: 0.96_02
302         * sepia-cpan.el (sepia-cpan-list, sepia-cpan-make-buffer)
303         (sepia-cpan-search): added list-by-author, refactored.
304         (sepia-cpan-readme): insert temp file rather than passing as
305         string.
306         * lib/Sepia/CPAN.pm (ls): new function to list author's modules.
307         * lib/Sepia/Debug.pm (repl_finish): mostly-working, by adding 0x10
308           to $^P and looking at sub's last line.
310 2008-01-10  Sean O'Rourke  <seano@cs.ucla.edu>
312         * lib/Sepia.pm (columnate): true -> defined
313         * VERSION: 0.96_01
314         * sepia-cpan.el: new file, experimental CPAN interface.
315         * lib/Sepia/CPAN.pm: new file.
317 2008-01-05  Sean O'Rourke  <seano@cs.ucla.edu>
319         * README: remove redundant/obsolete documentation
321 2008-01-02  Sean O'Rourke  <seano@cs.ucla.edu>
323         * lib/Sepia.pm (flow): get closer to margin.
325 2007-12-22  Sean O'Rourke  <seano@cs.ucla.edu>
327         * t/50expect.t: mysterious change to placate expect.
328         * sepia.el (sepia-shared-map): adjust bindings.
329         (sepia-complete-symbol): Fix shortcut completion.
330         * sepia-snippet.el (sepia-snippet-abbrev): make snippet optional,
331           but mention it.
333 2007-12-20  Sean O'Rourke  <seano@cs.ucla.edu>
335         * lib/Sepia.pm (who): don't apply regex to sigil.
336         (completions): fix multi-arg version (used by Emacs).
337         (html_module_list,html_package_list): return string if asked.
339 2007-12-17  Sean O'Rourke  <seano@cs.ucla.edu>
341         * sepia.el (sepia-shared-map): bind cperl-perldoc.
343 2007-12-16  Sean O'Rourke  <seano@cs.ucla.edu>
345         * Makefile.PL (test_for): use MakeMaker's prompt().
347 2007-12-13  Sean O'Rourke  <seano@cs.ucla.edu>
349         * sepia.el (sepia-complete-symbol): add shortcut completion.
350           improve XEmacs compatibility.
351         * sepia-w3m.el (sepia-w3m-create-imenu): new function, disabled by
352           default.
353         * lib/Sepia.pm (repl_*): don't look at return values; use "last
354           repl" to get out.
356 2007-11-29  Sean O'Rourke  <seano@cs.ucla.edu>
358         * t/02completion.t: new completion tests.
359         * lib/Sepia.pm (completions): rewrote to simplify.
361 2007-11-28  Sean O'Rourke  <seano@cs.ucla.edu>
363         * lib/Sepia.pm (printer): Don't sort arrays when printing.
364         * VERSION: 0.95_02
365         * lib/sepia/Debug.pm (warn,die): use Carp for 5.10 compatibility.
366         * Makefile.PL (test_for): $|=1 if prompting.
368 2007-11-27  Sean O'Rourke  <seano@cs.ucla.edu>
370         * sepia.el (sepia-perldoc-this): test for w3m when called.
372         * VERSION: 0.95_01
373         * t/01basic.t (Sepia): fix tests w/o Module::Info.
375 2007-11-26  Sean O'Rourke  <seano@cs.ucla.edu>
377         * VERSION: 0.95
378         * lib/sepia/Debug.pm (add_repl_commands): use define_shortcut.
379         (warn,die): same.
380         (add_debug_repl_commands): new function.
381         (repl): use it.
383         * lib/Sepia.pm (define_shortcut): new function.
384         (define_shortcut): new function.
385         (repl_help): auto-format help text; add arg.
386         (repl_reload): decrement $REPL_LEVEL.
387         (completions): fix abbrev completion.
388         (repl): read ~/.sepiarc; use define_shortcuts.
389         (repl_format): show current if no argument.
390         (module_info): optional dependency.
392 2007-11-08  Sean O'Rourke  <seano@cs.ucla.edu>
394         * VERSION: 0.94_01
395         * lib/Sepia/Xref.pm: POD fixup.
396         * sepia.el (sepia-ensure-process): fix stupid attachtty mistake.
398 2007-11-05  Sean O'Rourke  <seano@cs.ucla.edu>
400         * lib/sepia/Debug.pm (repl_break): allow "0" as a break condition.
402 2007-10-31  Sean O'Rourke  <seano@cs.ucla.edu>
404         * lib/Sepia.pm (repl_size): ",size" command to list variable sizes,
405         like Matlab's "whos".
407 2007-10-16  Sean O'Rourke  <seano@cs.ucla.edu>
409         * VERSION: 0.93
411         * lib/Sepia.pm (repl_pwd): add ",pwd" shortcut.
412         (repl_who): use current package when only regex given.
414         * sepia.el (sepia-repl,sepia-ensure-process): add remote
415           connection with attachtty.
416         (sepia-shared-map): bind \C-c\C-e to eval-expression.
417         (sepia-symbol-info): be more selective about "core version".
419 2007-09-25  Sean O'Rourke  <sorourke@cs.ucsd.edu>
421         * lib/Sepia.pm (printer): remove "=>" -- it's annoying.
423 2007-09-21  Sean O'Rourke  <sorourke@cs.ucsd.edu>
425         * sepia.el (sepia-load-file): disable debugger.
426         (sepia-symbol-info): be pickier about module core versions.
428 2007-09-20  Sean O'Rourke  <sorourke@cs.ucsd.edu>
430         * lib/Sepia.pm (repl_who): use current package if only one arg
431           given, and it's not an existing package.
433 2007-09-18  Sean O'Rourke  <sorourke@cs.ucsd.edu>
435         * sepia.el (sepia-watch-for-eval): fix hang with recursive sepia-eval.
437 2007-07-25  Sean O'Rourke  <sorourke@cs.ucsd.edu>
439         * sepia.el (sepia-interactive-arg): use xref-completions rather
440         than xref-apropos for working completion.
442 2007-07-25  Ye Wenbin  <wenbinye@gmail.com>
444         * sepia.el (sepia-defun-around-point): change the command to a
445         function, because as a command it does nothing.
446         (define-modinfo-function, sepia-maybe-echo): the interactive-p
447         is not true when call as function.
448         (define-modinfo-function, sepia-init): some modinfo-function
449         should eval in a list-context.
450         (sepia-mode): use cperl-mode-abbrev-table as current local-abbrev-table
452 2007-07-24  Ye Wenbin  <wenbinye@gmail.com>
454         * sepia.el (sepia-set-found): Use (OFFSET . LIST) to represent
455         things that found.
456         (sepia-next, sepia-previous): more generic move commands
457         (sepia-refiner): remove the test, because sometimes use the
458         same declaration, but found in difference place.
460         * sepia-tree.el (sepia-tree-button-cb): widget => pw and
461         xref-location return a list of posible locations.
462         (sepia-tree-tidy-buffer, sepia-tree-use-image): Let user
463         to choose whether use image or not. Set it to a buffer-local
464         variable, so that it didn't interference global values.
466         * sepia.el (sepia-extract-def): seem an argument is excessive
468         * sepia-tree.el (sepia-build-tree-buffer): In my emacs, it
469         doesn't work. The :dynargs didn't become the tree-widget
470         :expander. The tree-widget-convert-widget only receive the
471         'tree-widget, not the total list.
472         sepia-install-keys not defined.
474         * lib/Sepia/Xref.pm (file_modules): seem it is a typo error to use
475         Module::Include rather than Module::Info.
476         Module::Info::packages_inside return an array, the operator
477         || will force in a scalar context.
479         * sepia.el (sepia-lisp-to-perl): use "'" to quote string is not
480         enough, because the string may also contain "'" inside.
481         use (format "%S" string) instead.
482         (define-sepia-query): `sepia-set-found' accept a symbol as
483         argument, not (quote symbol).
485 2007-06-09  Sean O'Rourke  <sorourke@cs.ucsd.edu>
487         * VERSION: 0.92
488         * sepia.el (sepia-shared-map, etc.): fix keymap initialization.
490 2007-06-06  Sean O'Rourke  <sorourke@cs.ucsd.edu>
492         * lib/Sepia/Debug.pm: eval in lexical env when in debugger.
493         * t/50expect.t: REPL tests if you have Test::Expect.
494         * lib/Sepia/Debug.pm: use correct level when none given.
495         * lib/Sepia.pm: No longer bring in exporter (why did we?).
496         * sepia.el (sepia-init): always reinitialize sepia-mode-map.
497         * Makefile.PL: require 5.006 for warnings to quiet stupid "make
498           test".
500 2007-06-05  Sean O'Rourke  <sorourke@cs.ucsd.edu>
502         * Sepia.html: generate single-page manual instead of split.
503         * VERSION: 0.90
504         * sepia.el: docstring cleanup.
505         * lib/sepia/Debug.pm: misc usability improvements
507 2007-06-04  Sean O'Rourke  <sorourke@cs.ucsd.edu>
509         * VERSION 0.90_02
510         * test.pl: disable Module::Info tests to avoid Module::Info bug.
512 2007-06-02  Sean O'Rourke  <sorourke@cs.ucsd.edu>
514         * VERSION 0.90_01
515         * Major: replaced comint- with gud-based REPL, use real debugger.
516         * lib/Sepia/Debug.pm: "perl -d" support.
517         * lib/Sepia.pm (repl_shell): new command.
518         * sepia.el (sepia-eval-defun): detect errors, jump to first.
519         (sepia-comint-setup): don't set comint-use-prompt-regexp
520         (sepia-eval-defun,sepia-beginning-of-defun,sepia-end-of-defun): fix
522 2007-06-01  Sean O'Rourke  <sorourke@cs.ucsd.edu>
524         * sepia.el (sepia-perldoc-this): don't mess up window
525           configuration when the page isn't found.
526         (sepia-location): use sepia-interactive-arg.
527         (sepia-perl-[np]e-region): fix.
529         * lib/Sepia.pm: fix.
530         (print_dumper): switch format based on size.
532 2007-05-30  Sean O'Rourke  <sorourke@cs.ucsd.edu>
533         * sepia.texi: shiny new manual.
534         * lib/Sepia.pm (completions): add special 'VARIABLE' type.
535         (methods): add second $qualified arg.
536         (repl_reload): new function.
537         (sig_warn,repl): override __WARN__ (and __DIE__) cautiously.
538         (repl): nicer warning format.
540         * sepia.el (sepia-eval-raw): stopwarn -> STOPWARN.
541         (sepia-load-file): Fix pop-up error buffer.
542         (sepia-lisp-to-perl): fix quoting of strings.
543         Good citizenship:
544         (sepia-mode): make a real major mode.
545         (sepia-scratchpad-mode): ditto.
547 2007-05-29  Sean O'Rourke  <sorourke@cs.ucsd.edu>
549         * lib/sepia/Xref.pm (pp_method_named): warn -> dprint.
550         * sepia.el (sepia-simple-method-before-point): new function.
551         (sepia-complete-symbol): use it to complete methods.
552         make w3m optional:
553         (sepia-perldoc-function,sepia-view-pod-function,
554           sepia-module-list-function): new variables.
555         (sepia-perldoc-this,sepia-view-pod): new functions.
556         * lib/Sepia.pm (repl): trim leading spaces.
557         (tolisp): escape metacharacters.
558         (repl): don't override "die" if someone has installed a
559         $SIG{__DIE__} handler
561 2007-05-28  Sean O'Rourke  <sorourke@cs.ucsd.edu>
563         * VERSION: 0.75+
564         * sepia.el (sepia-core-version): new function.
565         (sepia-indent-or-complete): fix abbrev expansion.
566         (sepia-symbol-info): report core version in eldoc.
567         (sepia-ident-before-point): new function.
568         (sepia-complete-symbol): use it instead of *-at-point.
569         (sepia-complete-symbol): complete arrays and hashes when '$'
570         starts a word.
571         * lib/Sepia.pm (printer): Use @::__; distinguish "last as scalar"
572           $__ from printed representation.
573         ($PRINT_PRETTY): columnate lists if this is on.
574         (columnate): fixed.
575         (repl_methods): add regex argument.
576         (repl_who): fix.
577         (completions): Add in package names.
579 2007-05-27  Sean O'Rourke  <sorourke@cs.ucsd.edu>
581         * lib/Sepia.pm (repl_methods): fixed.
583 2007-05-26  Sean O'Rourke  <sorourke@cs.ucsd.edu>
585         * VERSION: 0.74
586         * sepia.el (sepia-doc-scan-buffer): Better doc regex for
587           variables.
588         (sepia-indent-or-complete): try to expand abbrevs before
589           completion (try with snippet.el).
590         (sepia-indent-expand-abbrev): control the above feature.
591         (sepia-complete-symbol): scroll completion buffer; suggested by
592           Hilko Bengen.
593         * lib/Sepia.pm (html_package_list,html_module_list): new
594           functions.
595         (completions): '$'-completion only generates scalars.
596         * sepia-w3m.el: remove spurious sepia-module-list, improve
597           documentation.
598         (sepia-module-list,sepia-package-list): better output.
599         (sepia-package-list,sepia-module-list): move Perl code to
600           Sepia.pm, generate list in inferior perl instead of shelling
601           out.
603 2007-05-23  Sean O'Rourke  <sorourke@cs.ucsd.edu>
605         * lib/Sepia.pm (_apropos_re): handle empty completions.
606         (columnate): pretty-print ",who" output.
607         * sepia.el (sepia-complete-symbol): bury stale completions buffer;
608           suggested by Hilko Bengen.
610 2007-05-17  Sean O'Rourke  <sorourke@cs.ucsd.edu>
612         * lib/Sepia.pm (_completions1): Fix infinite recursion.
613         (repl): typo; clarify ambiguous vs. unrecognized shortcuts.
615 2007-05-15  Sean O'Rourke  <sorourke@cs.ucsd.edu>
617         * sepia.el (sepia-dwim): don't try to jump to location when
618           looking up module docs.
619         * lib/Sepia.pm: use $::__ instead of $Sepia::__
620         (repl_quit): new command.
621         (repl): add banner.
623 2007-05-12  Sean O'Rourke  <sorourke@cs.ucsd.edu>
625         * VERSION: 0.72
626         * Makefile.PL: add license.
628 2007-05-09  Sean O'Rourke  <sorourke@cs.ucsd.edu>
630         * VERSION: 0.71
631         * sepia.el (sepia-load-file): set inhibit-read-only when
632           displaying errors.
633         * lib/Sepia.pm (repl_methods): walk ISA hierarchy looking for
634           functions (XXX: this is much too coarse).
635         (repl_help): use %REPL_DOC to hold command documentation for
636         easier extension.
637         (repl): display error on canceled continued statement.
639 2007-05-07  Sean O'Rourke  <sorourke@cs.ucsd.edu>
641         * lib/Sepia.pm (repl_strict): add 'strict mode' (thanks to
642           Lexical::Persistence) for those who swing that way (I don't),
643           inspired by Devel::REPL.
644         (repl_wantarray): Fix logic.
646 2007-04-25  Sean O'Rourke  <sorourke@cs.ucsd.edu>
648         * VERSION: 0.70
649         * README: add license.
650         * Makefile.PL: remove dependency on Sub::Uplevel, make PadWalker
651           optional.
652         * lib/Sepia.pm (who): add optional regex filter.
653         (debug_inspect): fix non-scalar printing.
654         * sepia.el (sepia-dwim): fix staleness; change to find
655           documentation for modules.
656         (sepia-find-module-file): new function to try sepia- and xref-
657         module file-finding functions.
658         (sepia-next): use it.
659         (sepia-filter-by-module,sepia-filter-by-all): remove.
660         (sepia-keymap): use `sepia-dwim' for M-.
662 2007-04-15  Sean O'Rourke  <sorourke@cs.ucsd.edu>
664         * lib/Sepia.pm (who): add optional regex argument.
666 2007-03-30  Sean O'Rourke  <sorourke@cs.ucsd.edu>
668         * sepia-w3m.el (sepia-module-list, sepia-package-list): added
669           detailed index of installed modules.
670         * VERSION: 0.68
672 2007-03-16  Sean O'Rourke  <sorourke@cs.ucsd.edu>
674         * sepia.el (sepia-set-found): filter spurious nils (XXX: this
675           really needs a fix).
676           (sepia-symbol-info): avoid eldoc errors in ecase.
678 2007-03-15  Sean O'Rourke  <sorourke@cs.ucsd.edu>
680         * sepia.el (sepia-complete-symbol): fallback completion of
681           builtins.
682         * set COPY_EXTENDED_ATTRIBUTES_DISABLE=true to avoid creating ._*
683           files (RT #25490).
685 2007-03-15  Sean O'Rourke  <sorourke@cs.ucsd.edu>
687         * VERSION: 0.67
688         * sepia-ido.el: clean up bitrot.
689         * lib/Sepia.pm (apropos): don't create new stashes during
690           completion.
691         * sepia.el (sepia-show-locations): bind inhibit-read-only; filter
692           out mysterious NILs.
693         * Makefile.PL: require PadWalker 1.0 (RT #25463)
695 2007-03-13  Sean O'Rourke  <sorourke@cs.ucsd.edu>
697         * VERSION: 0.66
698         * README (TODO): user-defined REPL abbrevs.
699         * lib/Sepia.pm (print_*): optional printing via YAML and
700           Data::Dump (from Shell::Perl).
701         (repl_wantarray): change eval context (same).
702         (repl_format): set formatter (same).
704 2007-03-09  Sean O'Rourke  <sorourke@cs.ucsd.edu>
706         * VERSION: 0.65
707         * sepia.el (sepia-keymap): add *-apropos, find-tag bindings.
708         * README: add organized function index.
709         * sepia.el (sepia-beginning-of-defun, sepia-end-of-defun):
710           fix argument to be prefix instead of point.
711         * sepia.el: documentation.
712         * sepia-ido.el: documentation.
713         * README: cleanup; note limitation of sepia-bodf and -eodf.
715 2007-02-25  Sean O'Rourke  <sorourke@cs.ucsd.edu>
717         * Makefile.PL: add Scalar::Util as prereq.
718         * sepia.el (sepia-perl5lib): new variable holding extra PERL5LIB
719           entry.
720         * sepia.el (sepia-init): use it.
721         * sepia.el (sepia-comint-setup): don't clobber keymap.
722         * sepia.el (sepia-indent-or-complete): complete first time if at
723           end of word.
724         * Sepia.pm (completions): enhanced completion -- e.g. "wtf"
725           matches "want_to_feed".
726         * Sepia.pm (printer): special-case PDL to use its stringification
727           (XXX: should test for overloaded "").
728         * Sepia.pm (who,repl_who): new functions.
730 2006-09-29  Sean O'Rourke  <sorourke@cs.ucsd.edu>
732         * Sepia.pm (Dump): wrap with eval to prevent unexpected exits.
733         * Sepia.pm (repl_chdir): expand '~' and '$HOME'
735 2006-07-01  Sean O'Rourke  <sorourke@cs.ucsd.edu>
737         * Sepia.pm (tolisp): undef -> nil
738         * sepia.el (sepia-eval-raw): guess package.
739         * sepia.el (sepia-init): don't pop-to-buffer with prefix argument.
740         * sepia.el (sepia-beginning-of-defun,sepia-end-of-defun): avoid
741           recursion.
742         * sepia.el (sepia-buffer-package): look backward from point
743           instead of forward from point-min.
745 2006-05-24  Sean O'Rourke  <sorourke@cs.ucsd.edu>
747         * Makefile.PL: added missing dependencies on PadWalker,
748           Sub::Uplevel.
749         * Sepia.pm: improved ",command"
750         * sepia-w3m.el (sepia-w3m-perldoc-this): simplify.
751         * sepia.el (perl-*): rename to sepia-*.
752         * sepia.el: reorg and cleanup.
753         * VERSION: 0.63
755 2006-05-19  Sean O'Rourke  <sorourke@cs.ucsd.edu>
757         * sepia.el: fixed eldoc support.  This only works with CVS Emacs,
758           relying on `eldoc-documentation-function'.  Also fixed pod
759           scanning for eldoc.
761 2006-05-18  Sean O'Rourke  <sorourke@cs.ucsd.edu>
763         * sepia.el, Sepia.pm: improved bulk-transfer protocol.
764         * Sepia.pm: override die with simple inspector/debugger.
765         * Sepia.pm: $__ and @__ now contain results of the last
766           expression.
767         * sepia.el, Sepia.pm: primitive support for evaluating elisp sent
768           from Perl.  Turn on comint-use-prompt-regexp because the fields
769           stuff is flaky with this.
770         * sepia.el, Sepia.pm: ",cd" shortcut coordinates directory with
771           Emacs.
772         * VERSION 0.61, 0.62
774 2006-04-14  Sean O'Rourke  <sorourke@cs.ucsd.edu>
776         * generic-repl.el: replaced by comint.
777         * all: removed EPL dependency.
778         * VERSION 0.59
780 2005-07-12  Sean O'Rourke  <sorourke@cs.ucsd.edu>
782         * sepia-w3m.el: fix function name so it's found.
783         * Xref.pm, Sepia.pm: cleanup and numerous bugfixes.
784         * Buffer.pm: new, but not ready for prime-time
785         * sepia.el: delete-thing-at-point removed; misc bugfixes.
786         * test.pl: disabled a bunch of location stuff.
787         * VERSION 0.58
789 2004-09-10  Sean O'Rourke  <sorourke@cs.ucsd.edu>
791         * test.pl: some real tests.
792         * Sepia.pm, Xref.pm: Separate simple symbol-table searching from
793           Xref, making the former more reliable.
794         * Xref.pm: More reliable detection of (class) method calls.
795         * sepia.el: results are not displayed for expressions ending in
796           ';' (c.f. Octave).
798 2004-04-12  Sean O'Rourke  <seano@cs.ucsd.edu>
800         * sepia.el (sepia-doc-scan-buffer): Make regular expressions a
801         bit better.
802         (sepia-ident-at-point): handle upper-case function and variable
803         names for completion (a bit hacky...).
804         (sepia-install-keys): fix keymap installation.
806 2004-04-11  Sean O'Rourke  <seano@cs.ucsd.edu>
808         * Xref.pm (guess_module_file): do like Module::Info and trust
809         %INC more than our Xref info.  But don't be _too_ smart about
810         this -- we were picking up lots of bogus exports.
811         (pp_method_named): add support for constant-named methods (cribbed
812         from B::Concise).
814 2004-04-10  Sean O'Rourke  <seano@cs.ucsd.edu>
816         * Xref.pm: update $VERSION to track Sepia release.
818         * sepia.el (sepia-indent-or-complete): only complete on the
819         second TAB.
821 2004-04-09  Sean O'Rourke  <seano@cs.ucsd.edu>
823         * sepia.el (sepia-refiner): tweak refining function a bit more.
824         I'm still not entirely happy with this, but it's getting better.
825         Time and experimentation are required.
827         * sepia-tree.el (sepia-calle[er]-tree): New file.  Use
828         caller/callee information to generate tree-view using David
829         Ponce's wonderful tree-widget.
831         * Xref.pm (_apropos_re): Add that Emacs-style multipart-word
832         completion, so e.g. D:v_d -> Devel::Xref::var_defs.  It's groovy,
833         man.
834         (%firstline): gone.  Just getting a line within the sub is good
835         enough -- we can fix it on the Emacs side of the fence later.
837 2004-04-08  Sean O'Rourke  <seano@cs.ucsd.edu>
839         * sepia-w3m.el (sepia-w3m-perldoc-this): work for functions as
840         well as modules, and try to go to correct position in manpage.
842         * sepia.el (sepia-eval-buffer): use 'BEGIN{ die }' to do Xrefs
843         for scripts without loading them.
845         * Xref.pm: Localize a bunch of things instead of stomping on
846         package lexicals.  This makes the module better handle repeated
847         use, for which it wasn't designed.
849         * Xref.pm (mod_subs): Rename package_subs for consistency.
850         (mod_decls): New function to generate decls for evaluation.
852         * sepia.el: misc bug-fixes, and better support for redefining
853         functions with sepia-eval-defun, especially preserving files and
854         line numbers.
855         (sepia-eval): remove newlines to make line-numbers make more
856         sense to user.
857         (sepia-interactive-arg): delay reading completions to speed up
858         \M-. functions.
859         (sepia-refiner): search both forward and backward, to adjust for
860         e.g. adding comments.  Still not so good, but better.
862 2004-04-06  Sean O'Rourke  <seano@cs.ucsd.edu>
864         * sepia-w3m.el: moved w3m-perldoc support here.
866         * README: added description, removed disclaimer
868         * sepia.el (sepia-symbol-info, sepia-doc-update): POD scanning
869         and cperl hackage for eldoc support.
871 2004-04-05  Sean O'Rourke  <seano@cs.ucsd.edu>
873         * Xref.pm (redefined,forget): make them take a single sub at a
874         time, and pay attention to packages.
875         (_apropos): use package info to narrow choices.
877         * sepia.el (sepia-eval-defun,sepia-eval-buffer): new functions.
879         * test.pl: satisfy the cpants Fascists.
881         * Xref.pm (use_type): try to be smarter about when something's
882         being assigned to, vs. merely used as a reference.
884         * sepia.el (sepia-repl-header): keep up with generic-repl by
885         doing header line, working dir.
886         (sepia-complete-symbol): stupid bug with modules.
887         (sepia-install-keys): new function.
888         (sepia-var-assigns): assignments are more useful than defs.
889         (sepia-init): start REPL by default.
891         * generic-repl.el (repl-cd,repl-set-header): "new" function from
892         Slime to track working dir, update header line.
894 2004-04-04  Sean O'Rourke  <seano@cs.ucsd.edu>
896         * Sepia.jpg: don't ask -- just look.
898         * sepia.el (sepia-ident-at-point): fixed bug with sigils.
899         (sepia-complete-symbol): fixed bug with undefined function
900         sepia-end-of-word.
901         Always use Data::Dumper.
903         * any-repl.el: new file implementing REPL, basically stolen from
904         Slime.
906         * pscope.el: renamed to sepia.el to go with name change.
908 2004-04-03  Sean O'Rourke  <seano@cs.ucsd.edu>
910         * pscope.el (pscope-set-found): remove locations with no
911         file in package "main", which were causing errors before.
912         (pscope-dwim): new function.  New functions
913         pscope-complete-symbol and pscope-indent-or-complete for
914         symbol completion.  Not well-tested, but they seem to work.
915         The most annoying thing is that since the Xref db isn't
916         automatically updated, it won't always know as much as you
917         expect.
918         (pscope-load-file): new function.
920         * Xref.pm: update export lists to reflect new functions.
922 2004-04-02  Sean O'Rourke  <seano@cs.ucsd.edu>
924         * Xref.pm: minor cleanup.
926         * pscope.el: pass module, file, line to Perl side (where it's
927         ignored for now); fix line number refinement to be a
928         little less over-eager; fix pscope-callees to go to sub
929         definitions instead of call sites.
931         * README: added TODO section.