Gregor N. Purdy, Sr.

Changes for version 0.005

  • A very functional release.
  • New Evaluation Strategies
    • brace
    • fallback_builtin
      • Builtins of this type (currently searched in package `Psh::Builtins::Fallback') will be executed AFTER no program of that name was found. This allows simulation of common commands like ls and env on systems not having such binaries.
    • auto_resume
  • New Bultins
    • builtin
    • env
      • On systems with an env binary installed it will use the binary, on other systems (namely Win32) it will print a list of environment variables.
    • help
    • unalias
  • Builtin Enhancements
    • alias
      • Changed builtin alias so that '`alias name'' displays the alias definition for that name.
    • bg
      • It's now possible to do '`bg commandname'' (e.g. '`bg emacs'') fg has the same behaviour for consistency.
    • cd
      • Respects `CDPATH' now and sets `OLDPWD'.
  • Portability Enhancements
    • Added portability infrastructure.
    • Working Win32 port (though it has limited features).
  • Completion Enhancements
    • Variables for bookmark completion are now `@Psh::Completion::bookmarks' and `@Psh::Completion::netprograms'.
    • New Perl Hashkey completion will TAB complete the name of keys for Perl hashes (if they are not written in quotes).
    • Support for user defined completions by `%Psh::Completion::custom_completions'.
    • Perl Symbol completion now supports package names and package name completion.
    • Support for TAB completions for builtins.
    • A `custom_completions' entry may now also be code. If the value of a `custom_completions' key/value pair is a `sub' that `sub' will be called and the result used as rules.
    • A rule for `custom_completions' may now have an optional third argument. If that argument is true, the `custom_completion' will replace the standard completions instead of adding to them.
    • Filename Completion respects the `FIGNORE' environment variable now.
  • Other Changes
    • Documentation updates.
    • Locales defined for: Default (English), French, German, Italian, Portuguese, and Spanish.
    • New fallback builtins: ls
    • Prompt evaluation is now more bash compatible and handles even more complex prompts.
    • Replaced `Psh::OS::Unix::glob()' - now uses its own glob routine instead of `CORE::glob()' - and is significantly faster (important for executable completion).
    • New variables: `$Psh::Prompt_cont', `$Psh::result_array'.
    • Moved almost all code from `psh' into `Psh', `Psh::Builtins' and `Psh::Util'.
    • Environment variable `CURRENT_SHELL' is set to the path to psh.
  • Bug Fixes
    • Generation of weekday names.
    • Small fixes for setenv, print_list and abs_path.
    • Fixed signal description generation.