r17612 - in /trunk/libdevel-repl-perl: ./ debian/ inc/Module/ inc/Module/Install/ lib/Devel/ lib/Devel/REPL/ lib/Devel/REPL/Plugin/ lib/Devel/REPL/Plugin/CompletionDriver/ lib/Devel/REPL/Plugin/MultiLine/ lib/Devel/REPL/Profile/
roberto at users.alioth.debian.org
roberto at users.alioth.debian.org
Sun Mar 16 04:16:45 UTC 2008
Author: roberto
Date: Sun Mar 16 04:16:44 2008
New Revision: 17612
URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=17612
Log:
* New upstream release.
Added:
trunk/libdevel-repl-perl/lib/Devel/REPL/Plugin/Colors.pm
- copied unchanged from r17611, branches/upstream/libdevel-repl-perl/current/lib/Devel/REPL/Plugin/Colors.pm
trunk/libdevel-repl-perl/lib/Devel/REPL/Plugin/Completion.pm
- copied unchanged from r17611, branches/upstream/libdevel-repl-perl/current/lib/Devel/REPL/Plugin/Completion.pm
trunk/libdevel-repl-perl/lib/Devel/REPL/Plugin/CompletionDriver/
- copied from r17611, branches/upstream/libdevel-repl-perl/current/lib/Devel/REPL/Plugin/CompletionDriver/
trunk/libdevel-repl-perl/lib/Devel/REPL/Plugin/FancyPrompt.pm
- copied unchanged from r17611, branches/upstream/libdevel-repl-perl/current/lib/Devel/REPL/Plugin/FancyPrompt.pm
trunk/libdevel-repl-perl/lib/Devel/REPL/Plugin/Interrupt.pm
- copied unchanged from r17611, branches/upstream/libdevel-repl-perl/current/lib/Devel/REPL/Plugin/Interrupt.pm
trunk/libdevel-repl-perl/lib/Devel/REPL/Plugin/MultiLine/
- copied from r17611, branches/upstream/libdevel-repl-perl/current/lib/Devel/REPL/Plugin/MultiLine/
trunk/libdevel-repl-perl/lib/Devel/REPL/Plugin/OutputCache.pm
- copied unchanged from r17611, branches/upstream/libdevel-repl-perl/current/lib/Devel/REPL/Plugin/OutputCache.pm
trunk/libdevel-repl-perl/lib/Devel/REPL/Plugin/Refresh.pm
- copied unchanged from r17611, branches/upstream/libdevel-repl-perl/current/lib/Devel/REPL/Plugin/Refresh.pm
trunk/libdevel-repl-perl/lib/Devel/REPL/Plugin/Timing.pm
- copied unchanged from r17611, branches/upstream/libdevel-repl-perl/current/lib/Devel/REPL/Plugin/Timing.pm
Removed:
trunk/libdevel-repl-perl/lib/Devel/REPL/Plugin/Pager.pm
Modified:
trunk/libdevel-repl-perl/Changes
trunk/libdevel-repl-perl/MANIFEST
trunk/libdevel-repl-perl/META.yml
trunk/libdevel-repl-perl/Makefile.PL
trunk/libdevel-repl-perl/debian/changelog
trunk/libdevel-repl-perl/inc/Module/Install.pm
trunk/libdevel-repl-perl/inc/Module/Install/AutoInstall.pm
trunk/libdevel-repl-perl/inc/Module/Install/Base.pm
trunk/libdevel-repl-perl/inc/Module/Install/Can.pm
trunk/libdevel-repl-perl/inc/Module/Install/Fetch.pm
trunk/libdevel-repl-perl/inc/Module/Install/Include.pm
trunk/libdevel-repl-perl/inc/Module/Install/Makefile.pm
trunk/libdevel-repl-perl/inc/Module/Install/Metadata.pm
trunk/libdevel-repl-perl/inc/Module/Install/Scripts.pm
trunk/libdevel-repl-perl/inc/Module/Install/Win32.pm
trunk/libdevel-repl-perl/inc/Module/Install/WriteAll.pm
trunk/libdevel-repl-perl/lib/Devel/REPL.pm
trunk/libdevel-repl-perl/lib/Devel/REPL/Plugin.pm
trunk/libdevel-repl-perl/lib/Devel/REPL/Plugin/Commands.pm
trunk/libdevel-repl-perl/lib/Devel/REPL/Plugin/NewlineHack.pm
trunk/libdevel-repl-perl/lib/Devel/REPL/Profile/Default.pm
trunk/libdevel-repl-perl/lib/Devel/REPL/Script.pm
Modified: trunk/libdevel-repl-perl/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdevel-repl-perl/Changes?rev=17612&op=diff
==============================================================================
--- trunk/libdevel-repl-perl/Changes (original)
+++ trunk/libdevel-repl-perl/Changes Sun Mar 16 04:16:44 2008
@@ -1,3 +1,14 @@
+1.2.1
+ - ship a working version of 1.2.0
+1.2.0
+ - fix Plugin to work with latest Moose
+ - deprecate NewlineHack plugin, cause fixed in REPL.pm
+ - OutputCache plugin
+ - MultiLine::PPI plugin
+ - Timing plugin
+ - Interrupt plugin
+ - FancyPrompt plugin
+ - Colors plugin
1.1.0
- profile system
- fix up dependencies
Modified: trunk/libdevel-repl-perl/MANIFEST
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdevel-repl-perl/MANIFEST?rev=17612&op=diff
==============================================================================
--- trunk/libdevel-repl-perl/MANIFEST (original)
+++ trunk/libdevel-repl-perl/MANIFEST Sun Mar 16 04:16:44 2008
@@ -14,16 +14,25 @@
lib/Devel/REPL.pm
lib/Devel/REPL/Meta/Plugin.pm
lib/Devel/REPL/Plugin.pm
+lib/Devel/REPL/Plugin/Colors.pm
lib/Devel/REPL/Plugin/Commands.pm
+lib/Devel/REPL/Plugin/Completion.pm
+lib/Devel/REPL/Plugin/CompletionDriver/Keywords.pm
+lib/Devel/REPL/Plugin/CompletionDriver/LexEnv.pm
lib/Devel/REPL/Plugin/DDS.pm
lib/Devel/REPL/Plugin/DumpHistory.pm
+lib/Devel/REPL/Plugin/FancyPrompt.pm
lib/Devel/REPL/Plugin/History.pm
+lib/Devel/REPL/Plugin/Interrupt.pm
lib/Devel/REPL/Plugin/LexEnv.pm
+lib/Devel/REPL/Plugin/MultiLine/PPI.pm
lib/Devel/REPL/Plugin/NewlineHack.pm
+lib/Devel/REPL/Plugin/OutputCache.pm
lib/Devel/REPL/Plugin/Packages.pm
-lib/Devel/REPL/Plugin/Pager.pm
lib/Devel/REPL/Plugin/ReadLineHistory.pm
+lib/Devel/REPL/Plugin/Refresh.pm
lib/Devel/REPL/Plugin/ShowClass.pm
+lib/Devel/REPL/Plugin/Timing.pm
lib/Devel/REPL/Plugin/Turtles.pm
lib/Devel/REPL/Profile.pm
lib/Devel/REPL/Profile/Default.pm
Modified: trunk/libdevel-repl-perl/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdevel-repl-perl/META.yml?rev=17612&op=diff
==============================================================================
--- trunk/libdevel-repl-perl/META.yml (original)
+++ trunk/libdevel-repl-perl/META.yml Sun Mar 16 04:16:44 2008
@@ -1,10 +1,11 @@
---
abstract: a modern perl interactive shell
-author: Matt S Trout - mst (at) shadowcatsystems.co.uk (L<http://www.shadowcatsystems.co.uk/>)
+author:
+ - Matt S Trout - mst (at) shadowcatsystems.co.uk (L<http://www.shadowcatsystems.co.uk/>)
build_requires:
Test::More: 0
distribution_type: module
-generated_by: Module::Install version 0.67
+generated_by: Module::Install version 0.680
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.3.html
@@ -15,14 +16,18 @@
- inc
- t
requires:
+ B::Keywords: 0
Data::Dump::Streamer: 0
File::HomeDir: 0
File::Spec: 0
Lexical::Persistence: 0
- Moose: 0
+ Moose: 0.38
MooseX::Getopt: 0
- MooseX::Object::Pluggable: 0
+ MooseX::Object::Pluggable: 0.0007
+ PPI: 0
+ Task::Weaken: 0
+ Term::ANSIColor: 0
Term::ReadLine: 0
namespace::clean: 0
perl: 5.8.1
-version: 1.001000
+version: 1.002001
Modified: trunk/libdevel-repl-perl/Makefile.PL
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdevel-repl-perl/Makefile.PL?rev=17612&op=diff
==============================================================================
--- trunk/libdevel-repl-perl/Makefile.PL (original)
+++ trunk/libdevel-repl-perl/Makefile.PL Sun Mar 16 04:16:44 2008
@@ -8,8 +8,8 @@
install_script 'script/re.pl';
build_requires 'Test::More';
-requires 'Moose';
-requires 'MooseX::Object::Pluggable';
+requires 'Moose' => '0.38';
+requires 'MooseX::Object::Pluggable' => '0.0007';
requires 'MooseX::Getopt';
requires 'namespace::clean';
requires 'File::HomeDir';
@@ -17,6 +17,10 @@
requires 'Term::ReadLine';
requires 'Lexical::Persistence';
requires 'Data::Dump::Streamer';
+requires 'PPI';
+requires 'Term::ANSIColor';
+requires 'B::Keywords';
+requires 'Task::Weaken';
auto_install;
WriteAll;
Modified: trunk/libdevel-repl-perl/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdevel-repl-perl/debian/changelog?rev=17612&op=diff
==============================================================================
--- trunk/libdevel-repl-perl/debian/changelog (original)
+++ trunk/libdevel-repl-perl/debian/changelog Sun Mar 16 04:16:44 2008
@@ -1,3 +1,9 @@
+libdevel-repl-perl (1.002001-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Roberto C. Sanchez <roberto at debian.org> Sun, 16 Mar 2008 00:16:29 -0400
+
libdevel-repl-perl (1.001000-4) unstable; urgency=low
[ Alexis Sukrieh ]
Modified: trunk/libdevel-repl-perl/inc/Module/Install.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdevel-repl-perl/inc/Module/Install.pm?rev=17612&op=diff
==============================================================================
--- trunk/libdevel-repl-perl/inc/Module/Install.pm (original)
+++ trunk/libdevel-repl-perl/inc/Module/Install.pm Sun Mar 16 04:16:44 2008
@@ -28,7 +28,7 @@
# This is not enforced yet, but will be some time in the next few
# releases once we can make sure it won't clash with custom
# Module::Install extensions.
- $VERSION = '0.67';
+ $VERSION = '0.68';
}
# Whether or not inc::Module::Install is actually loaded, the
Modified: trunk/libdevel-repl-perl/inc/Module/Install/AutoInstall.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdevel-repl-perl/inc/Module/Install/AutoInstall.pm?rev=17612&op=diff
==============================================================================
--- trunk/libdevel-repl-perl/inc/Module/Install/AutoInstall.pm (original)
+++ trunk/libdevel-repl-perl/inc/Module/Install/AutoInstall.pm Sun Mar 16 04:16:44 2008
@@ -6,7 +6,7 @@
use vars qw{$VERSION $ISCORE @ISA};
BEGIN {
- $VERSION = '0.67';
+ $VERSION = '0.68';
$ISCORE = 1;
@ISA = qw{Module::Install::Base};
}
Modified: trunk/libdevel-repl-perl/inc/Module/Install/Base.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdevel-repl-perl/inc/Module/Install/Base.pm?rev=17612&op=diff
==============================================================================
--- trunk/libdevel-repl-perl/inc/Module/Install/Base.pm (original)
+++ trunk/libdevel-repl-perl/inc/Module/Install/Base.pm Sun Mar 16 04:16:44 2008
@@ -1,7 +1,7 @@
#line 1
package Module::Install::Base;
-$VERSION = '0.67';
+$VERSION = '0.68';
# Suspend handler for "redefined" warnings
BEGIN {
Modified: trunk/libdevel-repl-perl/inc/Module/Install/Can.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdevel-repl-perl/inc/Module/Install/Can.pm?rev=17612&op=diff
==============================================================================
--- trunk/libdevel-repl-perl/inc/Module/Install/Can.pm (original)
+++ trunk/libdevel-repl-perl/inc/Module/Install/Can.pm Sun Mar 16 04:16:44 2008
@@ -11,7 +11,7 @@
use vars qw{$VERSION $ISCORE @ISA};
BEGIN {
- $VERSION = '0.67';
+ $VERSION = '0.68';
$ISCORE = 1;
@ISA = qw{Module::Install::Base};
}
Modified: trunk/libdevel-repl-perl/inc/Module/Install/Fetch.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdevel-repl-perl/inc/Module/Install/Fetch.pm?rev=17612&op=diff
==============================================================================
--- trunk/libdevel-repl-perl/inc/Module/Install/Fetch.pm (original)
+++ trunk/libdevel-repl-perl/inc/Module/Install/Fetch.pm Sun Mar 16 04:16:44 2008
@@ -6,7 +6,7 @@
use vars qw{$VERSION $ISCORE @ISA};
BEGIN {
- $VERSION = '0.67';
+ $VERSION = '0.68';
$ISCORE = 1;
@ISA = qw{Module::Install::Base};
}
Modified: trunk/libdevel-repl-perl/inc/Module/Install/Include.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdevel-repl-perl/inc/Module/Install/Include.pm?rev=17612&op=diff
==============================================================================
--- trunk/libdevel-repl-perl/inc/Module/Install/Include.pm (original)
+++ trunk/libdevel-repl-perl/inc/Module/Install/Include.pm Sun Mar 16 04:16:44 2008
@@ -6,7 +6,7 @@
use vars qw{$VERSION $ISCORE @ISA};
BEGIN {
- $VERSION = '0.67';
+ $VERSION = '0.68';
$ISCORE = 1;
@ISA = qw{Module::Install::Base};
}
Modified: trunk/libdevel-repl-perl/inc/Module/Install/Makefile.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdevel-repl-perl/inc/Module/Install/Makefile.pm?rev=17612&op=diff
==============================================================================
--- trunk/libdevel-repl-perl/inc/Module/Install/Makefile.pm (original)
+++ trunk/libdevel-repl-perl/inc/Module/Install/Makefile.pm Sun Mar 16 04:16:44 2008
@@ -7,7 +7,7 @@
use vars qw{$VERSION $ISCORE @ISA};
BEGIN {
- $VERSION = '0.67';
+ $VERSION = '0.68';
$ISCORE = 1;
@ISA = qw{Module::Install::Base};
}
Modified: trunk/libdevel-repl-perl/inc/Module/Install/Metadata.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdevel-repl-perl/inc/Module/Install/Metadata.pm?rev=17612&op=diff
==============================================================================
--- trunk/libdevel-repl-perl/inc/Module/Install/Metadata.pm (original)
+++ trunk/libdevel-repl-perl/inc/Module/Install/Metadata.pm Sun Mar 16 04:16:44 2008
@@ -6,7 +6,7 @@
use vars qw{$VERSION $ISCORE @ISA};
BEGIN {
- $VERSION = '0.67';
+ $VERSION = '0.68';
$ISCORE = 1;
@ISA = qw{Module::Install::Base};
}
Modified: trunk/libdevel-repl-perl/inc/Module/Install/Scripts.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdevel-repl-perl/inc/Module/Install/Scripts.pm?rev=17612&op=diff
==============================================================================
--- trunk/libdevel-repl-perl/inc/Module/Install/Scripts.pm (original)
+++ trunk/libdevel-repl-perl/inc/Module/Install/Scripts.pm Sun Mar 16 04:16:44 2008
@@ -7,7 +7,7 @@
use vars qw{$VERSION $ISCORE @ISA};
BEGIN {
- $VERSION = '0.67';
+ $VERSION = '0.68';
$ISCORE = 1;
@ISA = qw{Module::Install::Base};
}
Modified: trunk/libdevel-repl-perl/inc/Module/Install/Win32.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdevel-repl-perl/inc/Module/Install/Win32.pm?rev=17612&op=diff
==============================================================================
--- trunk/libdevel-repl-perl/inc/Module/Install/Win32.pm (original)
+++ trunk/libdevel-repl-perl/inc/Module/Install/Win32.pm Sun Mar 16 04:16:44 2008
@@ -6,7 +6,7 @@
use vars qw{$VERSION $ISCORE @ISA};
BEGIN {
- $VERSION = '0.67';
+ $VERSION = '0.68';
$ISCORE = 1;
@ISA = qw{Module::Install::Base};
}
Modified: trunk/libdevel-repl-perl/inc/Module/Install/WriteAll.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdevel-repl-perl/inc/Module/Install/WriteAll.pm?rev=17612&op=diff
==============================================================================
--- trunk/libdevel-repl-perl/inc/Module/Install/WriteAll.pm (original)
+++ trunk/libdevel-repl-perl/inc/Module/Install/WriteAll.pm Sun Mar 16 04:16:44 2008
@@ -6,7 +6,7 @@
use vars qw{$VERSION $ISCORE @ISA};
BEGIN {
- $VERSION = '0.67';
+ $VERSION = '0.68';
$ISCORE = 1;
@ISA = qw{Module::Install::Base};
}
Modified: trunk/libdevel-repl-perl/lib/Devel/REPL.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdevel-repl-perl/lib/Devel/REPL.pm?rev=17612&op=diff
==============================================================================
--- trunk/libdevel-repl-perl/lib/Devel/REPL.pm (original)
+++ trunk/libdevel-repl-perl/lib/Devel/REPL.pm Sun Mar 16 04:16:44 2008
@@ -5,7 +5,7 @@
use namespace::clean -except => [ 'meta' ];
use 5.8.1; # might work with earlier perls but probably not
-our $VERSION = '1.001000'; # 1.1.0
+our $VERSION = '1.002001'; # 1.2.1
with 'MooseX::Object::Pluggable';
@@ -36,7 +36,13 @@
my $line = $self->read;
return unless defined($line); # undefined value == EOF
my @ret = $self->eval($line);
- $self->print(@ret);
+ eval {
+ $self->print(@ret);
+ };
+ if ($@) {
+ my $error = $@;
+ eval { $self->print("Error printing! - $error\n"); };
+ }
return 1;
}
@@ -87,6 +93,7 @@
my $fh = $self->out_fh;
no warnings 'uninitialized';
print $fh "@ret";
+ print $fh "\n" if $self->term->ReadLine =~ /Gnu/;
}
=head1 NAME
@@ -107,6 +114,22 @@
Matt S Trout - mst (at) shadowcatsystems.co.uk (L<http://www.shadowcatsystems.co.uk/>)
+=head1 CONTRIBUTORS
+
+=over 4
+
+=item Stevan Little - stevan (at) iinteractive.com
+
+=item Alexis Sukrieh - sukria+perl (at) sukria.net
+
+=item epitaph
+
+=item mgrimes - mgrimes (at) cpan dot org
+
+=item Shawn M Moore - sartak (at) gmail.com
+
+=back
+
=head1 LICENSE
This library is free software under the same terms as perl itself
Modified: trunk/libdevel-repl-perl/lib/Devel/REPL/Plugin.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdevel-repl-perl/lib/Devel/REPL/Plugin.pm?rev=17612&op=diff
==============================================================================
--- trunk/libdevel-repl-perl/lib/Devel/REPL/Plugin.pm (original)
+++ trunk/libdevel-repl-perl/lib/Devel/REPL/Plugin.pm Sun Mar 16 04:16:44 2008
@@ -8,7 +8,7 @@
sub import {
my $target = caller;
my $meta = Devel::REPL::Meta::Plugin->initialize($target);
- $meta->Moose::Meta::Class::add_method('meta' => sub { $meta });
+ $meta->alias_method('meta' => sub { $meta });
goto &Moose::Role::import;
}
Modified: trunk/libdevel-repl-perl/lib/Devel/REPL/Plugin/Commands.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdevel-repl-perl/lib/Devel/REPL/Plugin/Commands.pm?rev=17612&op=diff
==============================================================================
--- trunk/libdevel-repl-perl/lib/Devel/REPL/Plugin/Commands.pm (original)
+++ trunk/libdevel-repl-perl/lib/Devel/REPL/Plugin/Commands.pm Sun Mar 16 04:16:44 2008
@@ -26,18 +26,24 @@
after 'setup_commands' => sub {
my ($self) = @_;
weaken($self);
- $self->command_set->{load_plugin} = sub { $self->load_plugin(@_); };
+ $self->command_set->{load_plugin} = sub {
+ my $self = shift;
+ sub { $self->load_plugin(@_); };
+ };
};
sub command_installer {
my ($self) = @_;
- my %command_set = %{$self->command_set};
+ my $command_set = $self->command_set;
+ my %command_subs = map {
+ ($_ => $command_set->{$_}->($self));
+ } keys %$command_set;
return sub {
my $package = shift;
- foreach my $command (keys %command_set) {
+ foreach my $command (keys %command_subs) {
no strict 'refs';
no warnings 'redefine';
- *{"${package}::${command}"} = $command_set{$command};
+ *{"${package}::${command}"} = $command_subs{$command};
}
};
}
Modified: trunk/libdevel-repl-perl/lib/Devel/REPL/Plugin/NewlineHack.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdevel-repl-perl/lib/Devel/REPL/Plugin/NewlineHack.pm?rev=17612&op=diff
==============================================================================
--- trunk/libdevel-repl-perl/lib/Devel/REPL/Plugin/NewlineHack.pm (original)
+++ trunk/libdevel-repl-perl/lib/Devel/REPL/Plugin/NewlineHack.pm Sun Mar 16 04:16:44 2008
@@ -1,3 +1,5 @@
+# Original comment:
+#
# Adds a newline after print. Some readlines need it some don't. I guess
# we should clarify whether this is a bug and if so whose bug at some point
# but this'll do for now ;)
@@ -7,12 +9,12 @@
use Moose::Role;
use namespace::clean -except => [ 'meta' ];
-after 'print' => sub {
- # not fussed about args
- my ($self) = @_;
- my $fh = $self->out_fh;
- print $fh "\n";
-};
+warn <<EOW;
+No longer required, extra newline automatically produced for Gnu readline
+implementation by Devel::REPL's print() method.
+
+This plugin will be removed at some point; please remove it from your config.
+EOW
1;
Modified: trunk/libdevel-repl-perl/lib/Devel/REPL/Profile/Default.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdevel-repl-perl/lib/Devel/REPL/Profile/Default.pm?rev=17612&op=diff
==============================================================================
--- trunk/libdevel-repl-perl/lib/Devel/REPL/Profile/Default.pm (original)
+++ trunk/libdevel-repl-perl/lib/Devel/REPL/Profile/Default.pm Sun Mar 16 04:16:44 2008
@@ -6,7 +6,7 @@
with 'Devel::REPL::Profile';
sub plugins {
- qw(History LexEnv DDS Packages Commands);
+ qw(History LexEnv DDS Packages Commands MultiLine::PPI);
}
sub apply_profile {
Modified: trunk/libdevel-repl-perl/lib/Devel/REPL/Script.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdevel-repl-perl/lib/Devel/REPL/Script.pm?rev=17612&op=diff
==============================================================================
--- trunk/libdevel-repl-perl/lib/Devel/REPL/Script.pm (original)
+++ trunk/libdevel-repl-perl/lib/Devel/REPL/Script.pm Sun Mar 16 04:16:44 2008
@@ -32,6 +32,8 @@
my ($self, $profile) = @_;
$profile = "Devel::REPL::Profile::${profile}" unless $profile =~ /::/;
Class::MOP::load_class($profile);
+ confess "Profile class ${profile} doesn't do 'Devel::REPL::Profile'"
+ unless $profile->does('Devel::REPL::Profile');
$profile->new->apply_profile($self->_repl);
}
@@ -43,17 +45,30 @@
$rc_file = File::Spec->catfile(File::HomeDir->my_home, '.re.pl', $rc_file);
}
- if (-r $rc_file) {
- open RCFILE, '<', $rc_file || die "Couldn't open ${rc_file}: $!";
- my $rc_data;
- { local $/; $rc_data = <RCFILE>; }
- close RCFILE; # Don't care if this fails
- $self->eval_rcdata($rc_data);
- warn "Error executing rc file ${rc_file}: $@\n" if $@;
- }
+ $self->apply_script($rc_file);
}
-sub eval_rcdata {
+sub apply_script {
+ my ($self, $script, $warn_on_unreadable) = @_;
+
+ if (!-e $script) {
+ warn "File '$script' does not exist" if $warn_on_unreadable;
+ return;
+ }
+ elsif (!-r _) {
+ warn "File '$script' is unreadable" if $warn_on_unreadable;
+ return;
+ }
+
+ open RCFILE, '<', $script or die "Couldn't open ${script}: $!";
+ my $rc_data;
+ { local $/; $rc_data = <RCFILE>; }
+ close RCFILE; # Don't care if this fails
+ $self->eval_script($rc_data);
+ warn "Error executing script ${script}: $@\n" if $@;
+}
+
+sub eval_script {
my ($self, $data) = @_;
local $CURRENT_SCRIPT = $self;
$self->_repl->eval($data);
More information about the Pkg-perl-cvs-commits
mailing list