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