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