Age | Commit message (Collapse) | Author | Files | Lines |
|
* Optimize dash -c "command" to avoid a fork.
* Eliminate unnecessary promotion in echocmd.
* Avoid using undefined handler.
* Avoid gcc warning: variable 'oldstackp' set but not used.
* Avoid clang warning about dead store to "size".
* Make outc an inline function.
* Remove spurious space in descriptions of PS1, PS2, PS4.
* Remove unused EV_BACKCMD flag.
* Fix clobbering of checkkwd.
* Free IFS state after here document expansion.
* Use va_copy when reusing a va_list.
* Let funcnode refer to a function definition, not its first
* command.
* Improve LINENO support.
* Port to Solaris.
* Fix backslash handling in read(1).
* Dotcmd should exit with zero when doing nothing.
* Fix CTLESC clobbering by read(1).
* Port to AIX.
* Replace GPL noclobberopen code with the FreeBSD version.
* Do not split the result of tilde expansion.
* Mark status as volatile in exitshell.
* Use EXEXIT in place of EXEXEC.
* Stop documenting EXSHELLPROC.
* Use exit status 127 when the script to run does not exist.
* Document optional open parenthesis for case patterns.
* Fixed trap/return regression due to SKIPEVAL removal.
* Allow the originator of EXERROR to set the exit status.
* Free IFS state in evalbackcmd.
* Fix ifsfirst/ifslastp leak in casematch.
* Fix EXEXEC status clobbering.
* Fix ifsfirst/ifslastp leak.
* Fix trailing field bug in read(1).
* Debug compile fix.
* Fix varinit ordering that broke fc.
* Check exit for eval NSUBSHELL.
* Fix loss of variables when hash collides.
* Removed dead code for eval NPIPE.
* Don't clear eflag in evalbackcmd.
* Continue after EINTR in read(1) with no pending signals.
* Force fork if any trap is set, not just on EXIT.
* Fix corruption of redirections with byte 0x81.
* Fix poplocalvar on abnormal exit from function.
* Do not poplocalvars prematurely on regular utilities.
* Move null redirect checks into caller.
* Fix popredir on abnormal exit from built-in.
* Fix wait regression where it does not wait for all jobs.
* Replace cmdenviron with localvars.
* Fix poplocalvar leak.
* Move unsetvar functionality into setvareq.
* Add localvars nesting, local now fails outside functions.
* Fix command -- crash.
* Fix for job control off warning.
* Use faccessat if available.
* Make trap signal name/number errors non-fatal.
* Release 0.5.6.
* Use TMPDIR in mkbuiltins.
* Fix logical or result value.
* Fix binary operator parsing.
* Fix off-by-one recordregion in readcmd.
don't read-uninitialized for \177 in a here-doc
A DEL (0177, dec 127) byte in a here-document would cause dash to
access uninitialized memory at the end of one of the syntax.c
tables,
since those tables are sized to accommodate a maximum index of
BASESYNTAX + 126. Make the generated tables one byte larger.
printf ':<<\\E\n\200y\nE'|./dash
* src/mksyntax.c (filltable): Use 258, not 257 as the size,
so that BASESYNTAX(=130) + 127 is a valid index.
(print): Likewise.
Don't emit explicit array dimension in declaration.
* Avoid compiler warnings on isdigit.
* Add another missing LC_COLLATE to mkbuiltins.
* Fix NUL termination in readcmd.
* Lookup PWD after going through CDPATH.
* Pass EV_TESTED into evalcmd.
* Revert SKIPEVAL into EXEXIT.
* Add preliminary LINENO support.
* Honor tab as IFS whitespace when splitting fields in readcmd.
* Do not truncate file for FROMTO redirection.
* Fix quoted pattern patch breakage.
* Fix incorrect savefd conversions.
* Fix dowait signal race.
* Remove EXSIG.
* Do not close stderr when /dev/tty fails to open.
* Allow newlines after var name in for statements.
* Use CHKNL to parse case statements.
* Update manual page to differentiate dash from ash.
|
|
a window when the new patch file wasn't committed, and there's no check
for "extra" lines in distinfo, so this clearly identifies the version
with the new patch file included.
|
|
Patch from christos@. (Sorry for overlooking "cvs add" earlier...)
|
|
Patch from christos@.
Add comments to some of the other patch files to appease pkglint.
Bump PKGREVISION.
|
|
This unbreaks at least one of AST/ksh packages.
Changes since 2006-02-14:
2012-02-29
See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2012-02-29.2011-02-08.html
2011-02-08
This source release contains the first official ksh93u.
See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2011-02-08.2010-08-26.html
2010-08-26
See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2010-08-26.2010-06-21.html
2010-06-21
This source release contains the last official ksh93t+.
The only updates for ksh93t+ will be hotfixes for serious bugs.
See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2010-06-21.2010-06-18.html
2010-03-09
This source and binary release contains a fix for the
2010-03-01 ksh memory leak plus a few minor fixes to clean
up the bit rot that accumulated since 2009-07-04.
See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2010-03-09.2010-03-01.html
2010-03-01
This source and binary release contains minor fixes to the
unannounced 2010-02-02 release. It is the first official
non-beta release in almost 8 months (we really do try to
decrease the time between official releases, but the
abundance of moving targets sometimes makes that
interesting). See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2010-03-01.2010-02-02.html
2010-02-02
This source and binary release includes:
# fixes for problems reported by the OpenSolaris community
as part of the ksh93 integration project
# a UWIN update with initial support for Windows 7,
improved handle and process resource management, and
improved /var/log/uwin logging
# an expanded man page index that includes the UWIN man
pages in the U subsections and nmake(1) rule and operator
man pages in the 1M subsection
See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2010-02-02.2009-07-04.html
2009-07-04
See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2009-07-04.2009-05-05.html
2009-05-05
This source and binary release cleans up a few reported
build problems in the 2009-05-01 release (which has been
removed). The release procedures have been adjusted to avoid
similar problems in the future. (The main problem is
synthesizing external non-ast environments to fully exercise
portions of the build system seen by outside users -- since
we use our stuff for everything, including packaging and
building, setting up an environment that has no ast
components leaking in can be non-trivial).
See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2009-05-05.2009-05-01.html
2009-05-01
This source release contains the official (and hopefully
final) ksh93t+ 2009-05-01, along with updates for the ast
commands and libraries. A lot of work went into cleaning up
the regression tests -- most regressions directly correspond
to unsupported native system features or buggy native system
interfaces that we felt should be fixed rather than worked around.
Of course we could be persuaded otherwise.
See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2009-05-01.2008-11-04.html
2008-11-04
This source release contains the official ksh93t 2008-11-04,
along with updates for a few ast-open commands, libraries and plugins.
See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2008-11-04.2008-07-25.html
2008-07-25
This source release corrects the build problems in the 2008-06-24 source release.
See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2008-07-25.2008-06-24.html
2008-06-24
This source release contains first release of ksh93t and support libraries.
See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2008-06-24.2008-02-02.html
2008-02-02
This release addresses standalone build problems and issues
raised on the lists. It also contains the final ksh93s+ release.
See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2008-02-02.2007-11-05.html
2007-11-05
This release adresses issues raised on the lists.
See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2007-11-05.2007-03-28.html
2007-03-28
Yes -- a new release in only 3 months. This release contains
fixes and features that address the issues raised on the lists.
A summary of recent ksh93 changes:
1. Double precision floating point arithmetic with full C99
arithmetic support on systems that provide the C99
arithmetic functions. The numbers Inf and NaN can be
used in arithmetic expressions.
2. TAB-TAB completion generates a numbered list of
completions which the user can select.
3. Support for processing/handling multibyte locales (e.g.,
en_US.UTF-8, hi_IN.UTF-8, ja_JP.eucJP, zh_CN.GB18030,
zh_TW.BIG5 etc.) has been extensively revised, tested,
and is now supported even on the language level (e.g.
variable and function identifiers may contain locale
specific codeset characters).
4. /dev/(tcp|udp|sctp)/host/sevrice now handles IPv6
addresses on systems that provide getaddrinfo(3).
5. The ability to seek on a file by offset or content with
new redirection operators.
6. A new --showme option which allows portions of a script
to behave as if -x were specified while other parts
execute as usual. This simplifies the coding of make -n
style semantics at the script level by eliminating code
replication. In particular, io redirections are handled
by --showme.
7. The [[...]] operator =~ has been added which compares
the string to an extended regular expression rather than
== which compares against a shell pattern.
8. The printf(1) builtin has been extended to support the =
flag for centering a field. The # flag when used with
%d and %i provides values in units of thousands or 1024
respectively with an appropriate suffix added.
9. Example screenshots from joint work with the Solaris
ksh93 integration project are available here.
See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2007-03-28.2007-01-11.html
2007-01-11
This release, almost a year from the last big release,
contains changes based on feedback from the { ast-users
ast-developers uwin-users uwin-developers } lists and the
ongoing ksh93-solaris integration project. Thanks to all
who helped. Our resolution this year is to increase release
frequency to keep internal and external source/binaries
more in sync. See the release change log for details:
http://www2.research.att.com/~gsf/download/release.2007-01-11.2006-02-14.html
2006-05-01
Change log at
http://www2.research.att.com/~gsf/download/release.2006-05-01.2006-02-14.html
is empty.
|
|
This package will install tcsh in the /bin directory (not ${LOCALBASE}/bin).
DragonFly already has tcsh in the base system, so this package will replace
it with no ability to restore the system version. This is not desired.
shells/tcsh still works should there be any need for a pkgsrc version installed
at ${LOCALBASE}/bin.
|
|
mksh R40f fixes a critical bug as well as this:
[tg, RT] Implement fcntl(2)-based advisory locking as an alternative
iff flock(2) is not found (LP: #912691); keep trying in the face of EINTR
[tg] Fix severe regression wrt. initialising tty(4) states
[tg] Improve testsuite, build-time checks and debugging output
[tg, RT, winstonw] Improve portability to BeOS (works), Cygwin (good),
Dell UNIX (works somewhat, but not with gcc), LynxOS (works somewhat),
NeXTstep (works but not OpenStep 4.2), USL C compiler, SCO OpenServer (good),
SCO UnixWare (good), Plan 9 (still broken), Syllable Desktop (broken?)
[tg] rlim_t is supposed to be unsigned
[tg] Some code, warning and spelling cleanup
[tg] New Build.sh environment configurable: AWK (= awk)
[tg, DONG-DONG YANG] Add safety net in the Emacs line editing code
[tg] No longer rely on env(1), id(1), printf(1) in the testsuite, and
strcasecmp(3), strcasestr(3), strncasecmp(3) in the code
[tg, stsc, RT] Reduce system requirements of check.pl further
mksh R40e is another must-have bugfix update:
[tg, Jilles Tjoelker] skip readonly check in unevaluated ternary twig
[tg, anonymous] fix all remaining ifs.sh testcases
[tg] No longer try to build with GCC and C99 extensions
[tg, Jilles Tjoelker] Do not expand aliases in COMSUB twice
[tg] Honour UTF-8 multi-byte character boundaries when doing partial
tab-completion insertions (LP: #909025) to fix RedHat BZ#745702
[tg] Fix R40 (BZ#496791) regression with IOACT in TIF (LP: #907224)
[tg, ft] Darn persistent history code worst offenders (LP: #906914)
[tg] Fix some gc-sections, GCC and Clang/scan-build warnings/issues
[tg, 28C3] dot.mkshrc hash functions: partially address LP: #909818
[tg] Only compile divmod(0x80000000, -1) code in when not unneeded
[tg, RT] Move mirtoconf checks and INCLUDES_ONLY parts of
sh.h around to ensure prerequisites are always available
[tg, RT, ir0nh34d] Pass mksh.exe to testsuite, if such thing is generated,
and deal with Cygwin passing just "mksh" in argv[0] in such cases
[tg] Imply -DMKSH_ASSUME_UTF8=0 on MSYS; optimise checks
[tg, Jb_boin] Fix regression introduced in R35b by jaredy's security
patch where TTIME trashed a non-TCOM string argument (e.g. in TFOR)
[tg] Better support for tcc; fix GCCism that accidentally crept in
[tg] Deal with UTF-8 when reporting jobs' commands
[RT] Add SkyOS to known OS list
[tg, RT] Support Minix in its variants Minix 3 and Ninix 3 better
[tg] Drop some Android-specific unused code (lsmod builtin)
[tg, RT, lewellyn] Support QNX and various versions of BSD/OS better
[tg] More code cleanup and new developer-only debugging functions
[tg, Andrew Kudryashov] Fix some tab completion related escaping bugs
[tg, draenog] Honour COLUMNS and LINES from the environment in scripts
[tg, winstonw] The sleep built-in utility now blocks more signals
[tg] Warn when using another deprecated function that will be removed
|
|
|
|
|
|
|
|
Changelog:
* Fix some completion bugs
* Add command completions
* Bug fixes
|
|
Security fix.
=== v0.9.15.1 15/03/2012 ===
* Corrected security bug allowing user to get out of the restricted
shell. Thank you bui from NBS System for reporting this grave issue!
=== v0.9.15 13/03/2012 ===
* Set the hostname to the "short hostname" in the prompt.
* Corrected traceback when "sudo" command was entered alone. Thank you
Kiran Reddy for reporting this.
* Added support for python2.3 as subprocess is not included by default.
* Corrected the 'strict' behavior when entering a forbidden path.
* Added short path promp support using the 'prompt_short' variable.
* Corrected stacktrace when group did not exist.
* Add support for empty prompt.
* Fixed bugs when using $() and ``.
* Corrected strict behavior to apply to forbidden path.
* Added support for wildcard '*' when using 'cd'.
* Added support for "cd -" to return to previous directory.
* Updated security issue with non printable characters permitting user
to get out of the limited shell.
* Now lshell automatically reload its configuration if the configuration
file is modified.
* Added possibility to have no "intro" when user logs in. (by setting
the intro configuration field to "")
* Corrected multiple commands over ssh, and aliases interpretation.
* Added possibility to use wildcards in path definitions.
* Finally corrected the alias replacement loop.
|
|
* new autorehash builtin to control how the internal command hash
table is maintained.
* globstar globbing to allow ** and *** expansions
* euid, euser, egid variables.
* wait built-in is now interruptible
* new anyerror variable to control error handling in pipelines
|
|
py-* not affected, since it built different versions depending on the
setting already.
|
|
|
|
Upstream changes:
=== v0.9.14 27/10/2010 ===
* Corrected get_aliases function, as it was looping when aliases were
"recursive" (e.g. 'ls':'ls --color=auto')
* Added lsudo built-in command to list allowed sudo commands.
* Corrected completion function when 2 strings collided (e.g. ls and lsudo)
* Corrected the README's installation part (adding --prefix).
* Added possibility to log via syslog.
* Corrected warning counter (was counting minus 1).
* Added the possibility to disable the counter, and just warn the user
(withouht kicking him).
* Added possibility to configure prompt. Thank you bapt for the patch.
* Added possibility to set environment variables to users. Thank you bapt
for the patch.
* Added the 'history' built-in function.
=== v0.9.13 02/09/2010 ===
* Switched from deprecated popen2 to subprocess to be python2.6 compatible.
Thank you Greg Orlowski for the patch.
* Added missing builin commands when 'allowed' list was set to 'all'. For
example, the "cd" command was then missing.
* Added the "export" builtin function to export shell variables. Thank you
Chris for reporting this issue.
|
|
|
|
Changes: essentially bugfixes.
# [tg] New test.sh `-f' option (same as `-C fastbox')
# [tg] Drop using set -o noglob inside pushd/popd/dirs
# [tg] Use += more in dot.mkshrc and keep strings shorter
# [tg] Correct interworking between local and set -A
# [tg] Fix out-of-bounds memory access on strings of 32 KiB length
# [tg] MKSH_DISABLE_DEPRECATED (for integrators)
# [tg, Jilles Tjoelker] test(1) built-in behaves exactly as POSIX says
# [tg] Move compile-time assertions to Build.sh from misc.c#ifdef DEBUG
# [tg] Invocation documentation is at the bottom of Build.sh
# [tg] test.sh: verbosely look for perl(1) interpreter to use
# [tg] New tests for integers (base 1#36, base unspecified, base OOB)
# [tg] Correct error paths for typeset -n global state
# [tg] Deprecate interpreting "010" as octal number, will go
# [tg] Improvements re. integer handling; more explicit manpage text
# [tg] Do not use caddr_t on Linux, so dietlibc stops bitching
# [tg, Jilles Tjoelker] Catch division/modulo overflow 0x80000000/-1
# [tg] Emacs mode ^O regression fix when the fetched lines are edited
|
|
|
|
|
|
Changelog:
* Bugfixes.
* Many improvements especially functions and completion.
Tested on NetBSD/i386 5.99.59 and 5.1.
|
|
clean.
|
|
Bump PKGREVISION.
|
|
|
|
Add libm to CFLAGS when building on DragonFly to allow build to complete.
Contributed-by: Chris Turner
|
|
|
|
* [tg, Wouter Verhelst] Fix ${foo%\?} in -o sh
* [jonthn, Snader_LB] Fix spelling mistakes
* [cnuke] Fix bugs spotted during porting to OPENSTEP
* [tg, jg71] Unbreak building stristr with MKSH_ASSUME_UTF8 defined
* [tg] Fix most of the issues Jerker Bäck encountered on Interix
* [tg] Wrap access(2) as it may return false positive for X_OK on root
* [OpenBSD] Upper bound Emacs mode command repeat by input line length
* [tg] Improve CPPFLAGS mangling in Build.sh
* [Snader_LB] Several comment, documentation and website fixes/updates
* [tg] Avoid identifiers and cpp(1) macros with two underscores in a row,
and those with a trailing underscore; they are reserved for the OS
* [tg] Fix accidental behavioural change wrt some built-in parameters
* [RT, Chris “ir0nh34d” Sutcliffe] Port to MSYS
* [tg, Markus Duft, Bruno Haible] Interix select(2) bug workaround
* [tg] Manpage fixes
* [tg] Deprecate the “command line begins with ‘!’ for fc -e -” wbx hack
* [tg] Promote x=(a b); x+=(c d) to a core mksh(1) feature
* [tg] Testsuite fixes for Hurd, MSYS; warning fixes for dietlibc
* [tg] Fix R40 regression misparsing $(case x in (x) :; esac)
|
|
clang, which doesn't have a reason to disable it again.
|
|
|
|
|
|
It is better workaround, I think.
|
|
It is mistake.
|
|
|
|
|
|
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.
|
|
|
|
* Include obache@'s patches.
|
|
Many changes and improvements. For a full list, see
http://www.mirbsd.org/mksh.htm#clog .
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Disable gdbm support explicitly.
|
|
Changelog is too long.
Please read NEWS and Changelog file.
|
|
Upstream take care it whth different way in 4.2 and this patch broke it.
|
|
* fixes a linterpreter line.
* remove post-configure subst, no information in commit log and
the file will not created there.
|
|
|
|
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.
|