Changes:
Improved error handling in POSIX emulation, ${NAME:OFFSET:LENGTH}
syntax supports negative LENGTHs, new parameter expansion flag
(g:opts:) which escapes sequences like the echo and print builtins,
the region_highlight array is now updated dynamically as the command
line is edited and the zsh/parameter module has a new array $usergroups
which contains the names of system groups.
1. New Features in Bash
a. `exec -a foo' now sets $0 to `foo' in an executable shell script without a
leading #!.
b. Subshells begun to execute command substitutions or run shell functions or
builtins in subshells do not reset trap strings until a new trap is
specified. This allows $(trap) to display the caller's traps and the
trap strings to persist until a new trap is set.
c. `trap -p' will now show signals ignored at shell startup, though their
disposition still cannot be modified.
d. $'...', echo, and printf understand \uXXXX and \UXXXXXXXX escape sequences.
e. declare/typeset has a new `-g' option, which creates variables in the
global scope even when run in a shell function.
f. test/[/[[ have a new -v variable unary operator, which returns success if
`variable' has been set.
g. Posix parsing changes to allow `! time command' and multiple consecutive
instances of `!' (which toggle) and `time' (which have no cumulative
effect).
h. Posix change to allow `time' as a command by itself to print the elapsed
user, system, and real times for the shell and its children.
j. $((...)) is always parsed as an arithmetic expansion first, instead of as
a potential nested command substitution, as Posix requires.
k. A new FUNCNEST variable to allow the user to control the maximum shell
function nesting (recursive execution) level.
l. The mapfile builtin now supplies a third argument to the callback command:
the line about to be assigned to the supplied array index.
m. The printf builtin has a new %(fmt)T specifier, which allows time values
to use strftime-like formatting.
n. There is a new `compat41' shell option.
o. The cd builtin has a new Posix-mandated `-e' option.
p. Negative subscripts to indexed arrays, previously errors, now are treated
as offsets from the maximum assigned index + 1.
q. Negative length specifications in the ${var:offset:length} expansion,
previously errors, are now treated as offsets from the end of the variable.
r. Parsing change to allow `time -p --'.
s. Posix-mode parsing change to not recognize `time' as a keyword if the
following token begins with a `-'. This means no more Posix-mode
`time -p'. Posix interpretation 267.
t. There is a new `lastpipe' shell option that runs the last command of a
pipeline in the current shell context. The lastpipe option has no
effect if job control is enabled.
u. History expansion no longer expands the `$!' variable expansion.
v. Posix mode shells no longer exit if a variable assignment error occurs
with an assignment preceding a command that is not a special builtin.
w. Non-interactive mode shells exit if -u is enabled and an attempt is made
to use an unset variable with the % or # expansions, the `//', `^', or
`,' expansions, or the parameter length expansion.
x. Posix-mode shells use the argument passed to `.' as-is if a $PATH search
fails, effectively searching the current directory. Posix-2008 change.
2. New Features in Readline
a. The history library does not try to write the history filename in the
current directory if $HOME is unset. This closes a potential security
problem if the application does not specify a history filename.
b. New bindable variable `completion-display-width' to set the number of
columns used when displaying completions.
c. New bindable variable `completion-case-map' to cause case-insensitive
completion to treat `-' and `_' as identical.
d. There are new bindable vi-mode command names to avoid readline's case-
insensitive matching not allowing them to be bound separately.
e. New bindable variable `menu-complete-display-prefix' causes the menu
completion code to display the common prefix of the possible completions
before cycling through the list, instead of after.
to trigger/signal a rebuild for the transition 5.10.1 -> 5.12.1.
The list of packages is computed by finding all packages which end
up having either of PERL5_USE_PACKLIST, BUILDLINK_API_DEPENDS.perl,
or PERL5_PACKLIST defined in their make setup (tested via
"make show-vars VARNAMES=..."), minus the packages updated after
the perl package update.
sno@ was right after all, obache@ kindly asked and he@ led the
way. Thanks!
pkgsrc changes:
- Add license
Upstream changes:
=== v0.9.12 04/05/2010 ===
* A minor bug was inserted in version 0.9.11 with the sudo command.
It has been corrected in this version.
=== v0.9.11 27/04/2010 ===
* Corrects traceback when executing a command that had a python homonym
(e.g. "print foo" or "set"). (Closes: SF#2969631)
* Corrected completion error when using "~/". Thanks to Piotr Minkina for
reporting this.
* Corrected the get_aliases function.
* Corrected interpretation of ~user. Thank you Adrien Urban for reporting
this.
* The 'home_path' variable is being deprecated from this version and on.
Please use your system's tools to set a user's home directory.
It will be completely removed in the next version of lshell.
* Corrected shell variable and wildcards expansions when checking a command.
Thank you Adrien Urban for reporting this.
* Added possibility to allow/forbid scp upload/download using scp_upload
and scp_download variables.
* Corrected bug when using the "command=" in openSSH's authorized_keys.
lshell now takes into account the SSH_ORIGINAL_COMMAND environment
variable. Thank you Jason Heiss for reporting this.
* Corrected traceback when aliases is not defined in configuration, and
command is sent over SSH. Thank you Jason Heiss for reporting this.
sorry) of 'b', 'e' and 'w' commands in vi editing, when confronted with
a '_' character - this patch makes tcsh consider '_' characters to be part
of the word.
1) osh globbing is now handled by the main osh process, allowing
(for example) `mkdir some_really_long_directory_name... ; cd
some*...' and globbing for other special built-in commands as well.
2) A new, osh history-file-support feature has been added to save
the user's command-line history to the user $h/.osh.history file
if/when this file exists upon shell invocation.
0.9.10
. Corrected minor bug in the aliases function that appeared in the
previous version. Thank you Piotr Minkina for reporting this.
0.9.9
. Added the possibility to configure introduction prompt.
. Replaced "joker" by "warnings" (more elegant)
. Possibility of limiting the history file size.
. Added lpath built-in command to list allowed and denied path.
Thanks to Adrien Urban.
. Corrected bug when using "~" was not parsed as "home directory" when
used in a command other than "cd". Thank you Adrien Urban finding
this.
. Corrected minor typo when warning for a forbidden path.
. If $(foo) is present in the line, check if foo is allowed before
executing the line. Thank you Adrien Urban for pointing this out!
. Added the possibility to list commands allowed to be executed using
sudo.
The new configuration field is sudo_commands.
. Added the clear(1) command as a built-in command.
. Added '$(' and '${' in the forbidden list by default in the
configuration
file.
. Now check the content of curly braces withariables '${}'. Thank you
Adrien Urban for reporting this.
. Added possibility to set history file name using history_file in the
configuration file.
. Corrected the bug when using '|', '&' or ';' over ssh. Over ssh
forbidden
characters refers now to the list provided in the "forbidden" field.
Thank you Jools Wills for reporting this!
. It now possible to use "&&" and "||" even if "&" and/or "|" are in the
forbidden list. In order to forbid them too, you must add them
explicitely in the forbidden list. Thank you Adrien Urban for this
suggestion.
. Fixed aliases bug that replaced part of commands rendering them
unusable.
e.g. aliasei:vim replaced the view command by vimew.
. Added a logrotate file for lshell log files.
. Corrected parsing of commands overssh to be checked by the same
function
used by the lshell CLI.
Thank you Adrien Urban for you security audit and excellent ideas!
0.9.8
. Major bug fix. lshell did not launch on python 2.4 and 2.5
(https://sourceforge.net/projects/lshell/forums/forum/778301/topic/347
4668)
. Added aliases for commands over SSH.
0.9.7
. Cleaned up the Python code
. Corrected crash when directory permission denied
(Closes: https://sourceforge.net/tracker/?func=detail&aid=2875374&grou
p_id=215792&atid=1035093)
. Added possibility to set the home_path option using the '%u' flag.
(e.g. '/var/chroot/%u' where '%u' will be replaced by the user's
username)
. Now replaces "~" by user's home directory.
0.9.6
. Major security fix. User had access to all files located in forbidden
directories
(Closes: https://sourceforge.net/tracker/?func=detail&aid=2838542&grou
p_id=215792&atid=1035093)
. Corrects RPM generation bug
(Closes: https://sourceforge.net/tracker/index.php?func=detail&aid=283
8283&group_id=215792&atid=1035093)
. lshell exits gracefully when user home directory doesn't exist
0.9.5
. Minor release
. Changed lshell's group from lshellg to lshell (this should not have
an impact on older installations)
. Minor typo correction in the lshell.py code
I am pleased to announce that tcsh-6.17 is now available; this is a mainly a
bug fix release with the exception of these three feature additions:
10. always save the whole command, not just the first 80 chars of it.
4. Add autoexpand=onlyhistory (Don Estabrook, m66)
3. Add history in loops (Laurence Darby, m48)
Please consult the Fixes files for a complete list of changes.
Some highlighted changes (for full details, see the ChangeLog):
The command "emulate <mode> -c ..." evaluates an expression in a given
emulation. The emulation is sticky for functions defined within the
expression.
The variable CORRECT_IGNORE gives a pattern that can be ignored
in spelling correction. CORRECT_IGNORE='_*' ignores completion functions.
The option POSIX_ALIASES improves compatibility of aliases with other
shells.
The variable ZSH_PATCHLEVEL can be used to test for unreleased versions of
the shell; it is present but less useful in released versions.
The variables ZLE_REMOVE_SUFFIX_CHARS and ZLE_SPACE_SUFFIX_CHARS allow more
control over the way automatically removed suffixes are treated in
completion.