# # CHANGES.pod # # A reverse-chronological order list of changes to the Perl Shell. # =head1 NAME Change log for B - The Perl SHell =head1 DESCRIPTION A reverse-chronological ordered list of changes =cut # This is so pod2man won't complain ;-) ############################################################################### ############################################################################### ## ## CVS ## ############################################################################### ############################################################################### =head1 1.8.1 [2007-07-20] =head2 Fixes =over 4 =item * Applied patch from rafalka: http://sourceforge.net/support/tracker.php?aid=1635389 to fix path behavior on Windows. =back =head1 1.8 [2003-01-18] =head2 Fixes =over 4 =item * Removed module-specific VERSION variables (some were based on their CVS revision numbers. =back =head1 1.7 [2003-01-16] =head2 Fixes =over 4 =item * Incremented version so $Psh::VERSION > 1.67, which was the version for that module in the 0.009 release (because at that time, version was set according to the CVS revision, rather than to match the release). This should (finally) make CPAN happy. =back =head1 1.1 [2003-01-16] =head2 Fixes =over 4 =item * Put VERSION back in Psh.pm instead of in the main psh script. =item * Some copyright updates. =back =head1 1.0 [2003-01-02] =head2 New Features =over 4 =item * The new B builtin allows mixing evaluation strategies. Example: if ( -r 'README' ) { if ( grep -q "Perl Shell" README ) { print "OK\n"; } } =item * New B builtin: forfile *.txt less $_ is equivalent to for i in *; do less $i; done in (ba)sh =item * New redirection and piping syntax - incompatible to the old sh-like syntax. The new syntax is allowing many nice things like redirecting to opened Perl filehandles ( command >[=FILEHANDLE]) =item * Perl shell now integrates with Perl backticks, you you can finally do things like: $foo=`help strategy` chomp $foo if ( $foo =~ /.../ ) ... =item * New B<-F> command line switch to disable processing of any pshrc files =item * New default strategy B - send everything after 'p!' unparsed to the perl interpreter (might be used later on for a special rc file compiler) =item * New strategy B - tries to locate Darwin/Mac OS X Appbundle programs and execute them. =item * Alias expansion is escapable using backslash: alias ls='ls --color' \ls =item * The sequence ESC-h is now per default bound to the new readline function "run-help" which will display any help about the current input line it can find. (works only in Term::ReadLine::Gnu) =item * It's now possible to bind simple commands with C<&&> and C<||> like in a normal shell. =item * Global precommand modifiers: You can put B, B, B in front of any command to disable the specified expansion or all of them. =item * Prompt themes - see the B builtin. =item * Completion modules - allows large sets of predefined completion rules without loading them all at startup time - see the B builtin. =back =head2 New/enhanced builtins =over 4 =item * B =item * B =item * B =item * B =item * B =item * B has new flags B<-rsp> =item * B has protection against endless loops and a more sensible range parsing =item * B largely extended with flags B<-mrav> =item * B for switching Perl namespace =item * Added a sudo builtin which adds some capabilities to the sudo command. (Michael Graham) =back =head2 Fixes =over 4 =item * Major startup speedup =item * There was a small, not very often occurring bug related to the usage of Env::Array, due to a typo =item * Handling of ~ for username expansion should be bug-free now =item * The help builtin sometimes returned the wrong help (e.g. C returned the help of setenv) =item * The parser parsed '&&' as if the user entered '& &&'. =item * C<@_> and C<$_> are saved between input lines. =item * If you're redirecting perl code, a new fork will be created. You'll therefore lose all variable changes etc. in redirected perl code. That's not as bad as it seems, as before the change, psh segfaulted most of the time you tried redirecting perl code. =item * Completion was a improved a bit - completions of filenames like "foo\ bar" (where backslash is used to escape whitespace) works a little bit better now. A complete rewrite of Completion is currently scheduled for 0.11 =back =head2 Cleanups =over 4 =item * The package Psh::Job is now in the same file with Psh::Joblist. Psh::Job stays an object while Psh::Joblist was converted to a procedural interface as there was no need for OO here. =item * The package Psh::Locale::Base was renamed to Psh::Locale, so the Psh::Locale:: tree now only contains valid locales. =item * Many configuration variables have been removed. Please see README.upgrade and the new B