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