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