2014-10-02 Herbert Xu * Fix use-after-free in dotrap/evalstring. * Make sure evalskip is zero before running traps. * Set exitstatus in onint. 2014-09-29 Herbert Xu * Kill pgetc_macro. * Handle backslash newlines properly after dollar sign. * Add nlprompt/nlnoprompt helpers. 2014-09-28 Herbert Xu * Correctly handle test ! ! = !. 2014-09-26 Herbert Xu * Small optimisation of command -pv change. * Set command -p path to /usr/sbin:/usr/bin:/sbin:/bin. * Change "characters" for printf precision to "bytes". * Release 0.5.8. 2014-09-26 Jonathan Nieder * Clarify "trap '' signals" syntax in manual page. 2014-09-26 Adam Buchbinder * Clarify that 0 and EXIT are both acceptable for exit traps. 2014-09-26 Harald van Dijk * command: allow combining -p with -v. * getjob: Fix off-by-one error for multiple of four job numbers 2013-08-23 Herbert Xu * Propagate EXP_QPAT in subevalvar. * Initialise OPTIND after importing environment. * Fixed argument parsing crash in test. 2013-03-12 Peter Rosin * Add newline when tracing in poplocalvars. 2013-01-10 Jérémie Courrèges-Anglas * Markup fixes in manual for mandoc 1.12.1. 2012-12-03 Harald van Dijk * Use PRIdMAX instead of %j in printf. 2012-07-20 Kimo Rosenbaum * Fix typo for wait in manual. 2012-06-09 Christoph Mathys * Add support for ulimit -r. 2012-03-11 Jim Meyering * Avoid overflow for very long variable name. $ perl -le 'print "v"x(2**31+1) ."=1"' | dash 2012-02-25 Herbert Xu * Sanitise environment variable names on entry. 2011-08-17 David S. Miller * Allow building without LINEO support. * Add top-level autogen.sh. 2011-07-26 Harald van Dijk * Avoid imaxdiv when only one of the results is wanted. 2010-07-09 maximilian attems * Fix klibc DEBUG compilation. 2011-07-09 Herbert Xu * Merge SKIPFUNC/SKIPFILE and only clear SKIPFUNC when leaving dotcmd. 2011-07-08 Herbert Xu * Release 0.5.7. 2011-07-07 Herbert Xu * Optimize dash -c "command" to avoid a fork. * Eliminate unnecessary promotion in echocmd. 2011-05-25 Jim Meyering * Avoid using undefined handler. 2011-05-23 Jim Meyering * Avoid gcc warning: variable 'oldstackp' set but not used. * Avoid clang warning about dead store to "size". 2011-05-22 Jonathan Nieder * Make outc an inline function. 2011-05-02 Kalle Olavi Niemitalo * Remove spurious space in descriptions of PS1, PS2, PS4. 2011-04-10 Jonathan Nieder * Remove unused EV_BACKCMD flag. 2011-03-15 Herbert Xu * Fix clobbering of checkkwd. 2011-03-15 Jonathan Nieder * Free IFS state after here document expansion. * Use va_copy when reusing a va_list. 2011-03-15 Harald van Dijk * Let funcnode refer to a function definition, not its first command. * Improve LINENO support. 2011-03-15 Brian Koropoff * Port to Solaris. 2011-03-11 Herbert Xu * Fix backslash handling in read(1). 2011-03-10 Jonathan Nieder * Dotcmd should exit with zero when doing nothing. 2011-03-10 Herbert Xu * Fix CTLESC clobbering by read(1). 2011-03-10 Brian Koropoff * Port to AIX. 2011-03-10 Jilles Tjoelker * Replace GPL noclobberopen code with the FreeBSD version. * Do not split the result of tilde expansion. 2010-11-28 Maciej Żenczykowski * Mark status as volatile in exitshell. 2010-11-28 Jonathan Nieder * Use EXEXIT in place of EXEXEC. * Stop documenting EXSHELLPROC. 2010-11-28 Gerrit Pape * Use exit status 127 when the script to run does not exist. 2010-11-28 Philipp Weis * Document optional open parenthesis for case patterns. 2010-11-28 Herbert Xu * Fixed trap/return regression due to SKIPEVAL removal. * Allow the originator of EXERROR to set the exit status. * Free IFS state in evalbackcmd. 2010-10-18 Herbert Xu * Fix ifsfirst/ifslastp leak in casematch. 2010-10-07 Herbert Xu * Fix EXEXEC status clobbering. 2010-09-08 Herbert Xu * Fix ifsfirst/ifslastp leak. * Fix trailing field bug in read(1). 2010-09-08 maximilian attems * Debug compile fix. 2010-09-08 Jilles Tjoelker * Fix varinit ordering that broke fc. 2010-07-06 Gerrit Pape * Check exit for eval NSUBSHELL. 2010-07-06 Herbert Xu * Fix loss of variables when hash collides. * Removed dead code for eval NPIPE. 2010-06-28 Gerrit Pape * Don't clear eflag in evalbackcmd. 2010-05-29 Herbert Xu * Continue after EINTR in read(1) with no pending signals. 2010-05-27 Jilles Tjoelker * Force fork if any trap is set, not just on EXIT. * Fix corruption of redirections with byte 0x81. 2010-05-27 Herbert Xu * 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. 2010-05-26 Herbert Xu * Replace cmdenviron with localvars. 2010-05-25 Herbert Xu * Fix poplocalvar leak. * Move unsetvar functionality into setvareq. 2010-05-24 Herbert Xu * Add localvars nesting, local now fails outside functions. 2010-05-03 Gerrit Pape * Fix command -- crash. 2010-04-15 H. Peter Anvin * Fix for job control off warning. 2010-04-02 Herbert Xu * Use faccessat if available. 2010-04-02 Herbert Xu * Make trap signal name/number errors non-fatal. * Release 0.5.6. 2010-04-02 maximilian attems * Use TMPDIR in mkbuiltins. 2010-03-10 Jilles Tjoelker * Fix logical or result value. 2010-03-09 Herbert Xu * Fix binary operator parsing. 2009-11-26 Herbert Xu * Fix off-by-one recordregion in readcmd. 2009-09-28 Jim Meyering 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. 2009-08-31 Eric Blake * Avoid compiler warnings on isdigit. 2009-08-31 Matthew Burgess * Add another missing LC_COLLATE to mkbuiltins. 2009-08-31 Herbert Xu * Fix NUL termination in readcmd. * Lookup PWD after going through CDPATH. 2009-08-11 Herbert Xu * Pass EV_TESTED into evalcmd. * Revert SKIPEVAL into EXEXIT. 2009-08-11 Rocky Bernstein * Add preliminary LINENO support. 2009-08-11 Stefan Potyra * Honor tab as IFS whitespace when splitting fields in readcmd. 2009-06-30 Herbert Xu * Do not truncate file for FROMTO redirection. 2009-06-27 Herbert Xu * Fix quoted pattern patch breakage. 2009-05-23 Herbert Xu * Fix incorrect savefd conversions. 2009-02-22 Herbert Xu * 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. 2009-02-22 Gerrit Pape * Update manual page to differentiate dash from ash. 2009-01-14 Herbert Xu * Add arith_yacc.h to dash_SOURCES. * Release 0.5.5.1. 2009-01-13 Herbert Xu * Release 0.5.5. 2009-01-13 Mark Mentovai * Fixed build on OS X. 2008-12-26 Aleksey Cheusov * Fixed build on NetBSD. 2008-10-17 Herbert Xu * Removed obsolete for loop syntax in manual. 2008-08-05 Herbert Xu * Fixed getcwd build error for the non-glibc case. 2008-06-13 Gerrit Pape * Added missing right parenthesis in manual page. 2008-06-13 Herbert Xu * Fixed 3,4-argument cases for test per POSIX. * Made aexpr/oexpr non-recursive. * Made t_lex reentrant. * Made setinputfd static. * Expand ENV before using it. * Added support for -l. 2008-05-19 Herbert Xu * Fixed non-leading slash treatment in expmeta. 2008-05-07 Gerrit Pape * Fixed lexical error in arithmetic expansion of & and |. 2008-05-03 Dan McGee * Fixed klibc/klcc build problems. * Added gitignore. 2008-05-03 Herbert Xu * Fixed _PATH_BSHELL warning. * Test __GLIBC__ instead of _GNU_SOURCE. * Restored warning when getcwd fails. * Set default exvwarning2 arg0 for errors during early initialisation. * Use uninitialized_var to silence bogus warnings. 2008-05-02 Herbert Xu * Restored non-glibc getcwd support. 2008-03-07 Larry Doolittle * Fix cmdtxt crash on if statements. 2008-01-01 Herbert Xu * Fix slash treatment in expmeta. 2007-12-27 Herbert Xu * Add FAKEEOFMARK for expandstr. * Do not show prompts in expandstr. 2007-12-23 Gerrit Pape * If imaxdiv() isn't available, use / and % operators. 2007-12-23 Richard M Kreuter * Add set +o support. 2007-12-23 Steve Langasek * Fixed bad pointer arithmetic in evalcommand. 2007-11-11 Herbert Xu * Removed noexpand/length check on eofmark. * Removed herefd hack. * Expand here-documents in the current shell environment. 2007-10-20 Herbert Xu * Added configure --enable-glob and --enable-fnmatch options. * Fix here-doc corruption. 2007-10-17 Herbert Xu * Replace shared illnum message by badnum function. 2007-10-17 Oleg Verych * Disallow completely blank strings in non-arithmetic context. 2007-10-15 Herbert Xu * Fixed execing of scripts with no hash-bang. 2007-10-11 Herbert Xu * Add assignment support in arithmetic expansions. * Size optimisations in arithmetic lexer. * Add likely flags in expari. * Use setvarint to set OPTIND. 2007-10-08 Herbert Xu * Report substition errors at expansion time. 2007-10-06 Herbert Xu * Add pushstackmark. * Treat OPTIND=0 in the same way as OPTIND=1. * Remove setvarsafe. * Use intmax_t arithmetic in test. 2007-10-05 Herbert Xu * Made grabstackblock an inline wrapper for stalloc. 2007-10-04 Herbert Xu * Fix parsing of ${##1}. * Size optimisations in parameter expansion parser. 2007-10-04 Alexey Gladkov * Add --enable-static option to configure. 2007-09-26 Herbert Xu * Recognise here-doc delimiters terminated by EOF. 2007-09-26 Roy Marples * Refresh stack pointers after makestrspace in _rmescapes. 2007-09-25 Gerrit Pape * Clarify description of -nt, -ot options to test builtin. * Clarify syntax of the for command. 2007-09-25 Herbert Xu * Do not expand tilde in parameter expansion within quotes. * Move parse-time quote flag detection to run-time. 2007-09-24 Herbert Xu * Do not quote back slashes in parameter expansions outside quotes. * Perform tilde expansion in all parameter expansion words. * Remove superfluous arinest test in CENDQUOTE. * Remove superfluous arinest test for dqvarnest. * Remove superfluous dblquote settings when ending arith. * Remove arithmetic expansion collapsing at parse time. 2007-09-22 Oleg Verych * White space fixes for test(1). * Use direct comparison instead of strcmp in test(1). 2007-09-22 Herbert Xu * Move flushall to the point just before _exit. 2007-09-21 Denis Vlasenko * Restore foreground process group on exit. 2007-07-12 Herbert Xu * Release 0.5.4. 2007-05-12 Herbert Xu * Fix redirect restore on closed file descriptors. * Size optimisations in redir.c. 2007-05-06 Herbert Xu * Removed unnecessary inclusion of redir.h from parser.c. * Invoke sh_error on error in copyfd. * Use dup2 instead of copyfd in evalbackcmd. * Replace copyfd by savefd and dup2. * Removed redundant CLOEXEC calls. 2007-05-05 Herbert Xu * Fixed typo in parser.h comment. 2007-04-28 Dan Nicholson * Set LC_COLLATE for sort in mkbuiltin. 2006-10-22 Gerrit Pape * Fixed command -v segmentation fault. 2006-10-13 Alexey Gladkov * Check return code for getgroups and fwrite. 2006-10-04 Herbert Xu * Fixed inverted char class matching. 2006-05-23 Alexey Gladkov * Added --with-libedit option to configure. 2006-03-29 Herbert Xu * Removed useless parsebackquote flag. * Use alloca to get rid of setjmp in parse.c. * Only use signed char for syntax arrays. 2006-01-12 Herbert Xu * Fixed eval exit status with empty arguments. 2005-11-26 Herbert Xu * Release 0.5.3. 2005-11-14 Herbert Xu * Fix \c spillage across echo commands. 2005-11-13 Herbert Xu * Remove unnecessary truncation in _STPUTC. * Always call conv_escape_str in echocmd. 2005-11-04 Herbert Xu * Use mktemp if tempfile is not available. 2005-10-30 Herbert Xu * Fixed support for disabling job control. 2005-10-29 Herbert Xu * Updated BSD licence to 3-clause version per NetBSD. * Updated copyright. * Removed CVS IDs and inclusion of sys/cdefs.h. * Removed use of __P from error.h. * Use bsd_signal if it exists and signal does not. * Stop using sysexits.h in commandcmd. * Use stat if stat64 does not exist. * Added default implementation of bsearch. * Added getpwhome as a wrapper for getpwnam. * Fixed gcc 4.0 compilation problems. * Added missing system.h inclusion for mempcpy. * Added default implementation of strsignal. * Added default implementation of killpg. * Disable ulimit if there is no getrlimit. * Disable histcmd completely when SMALL is defined. * Added default definition for SSIZE_MAX. * Removed standalone/csh support from printf. * Added dummy strtod implementation. * Removed standalone/csh support from test. * Added dummy sysconf implementation. * Include system.h for stpcpy in nodes.c. * Added out-of-line ctypes functions for klibc. * Fixed fallback stpcpy implementation. 2005-10-26 Herbert Xu * Size optimisations in preadbuffer(). 2005-10-01 Herbert Xu * Skip NUL characters properly in input.c. 2005-03-28 Herbert Xu * Removed some unnecessary inclusions of input.h. * Removed unnecessary inclusion of main.h from eval.c. * Removed unnecessary inclusion of eval.h from parser.c. * Generalise setinputfile for use in read_profile/readcmdfile. * Handle SKIPEVAL in read_profile by exiting. * Let evaltree handle traps from cmdloop. * Reset evalskip after minusc is executed. * Stop executing traps once SKIPEVAL is seen. * Only handle each signal once in dotrap. 2005-03-25 Gerrit Pape * Add trailing equal sign in setvar for variables set to null. 2005-03-25 Herbert Xu * Cleaned up src/Makefile.am. * Get rid of duplicate -g -O2 in CFLAGS. * Eliminate first null termination in setvar. * Turn evalskip into a bit field. 2005-03-25 Gilles Chanteperdrix * Fixed support for cross-compilation. 2005-03-03 Herbert Xu * Removed qflag. * Removed redundant setstackmark from dotcmd. * Do not clobber exit status in dotcmd. 2005-03-02 Herbert Xu * Renamed symbols to avoid conflict with libc. * Optimisations in bltin/test.c. 2005-02-28 Herbert Xu * Replaced EXEVAL with SKIPEVAL. * Update funcnest atomically. * Only set skipcount for break and continue. * Removed expcmd built-in. * Normalise input in likely/unlikely macros. 2005-02-28 A Costa * Corrected that/than typo in manual page. 2005-02-25 A Costa * Corrected grammar in manual page. 2005-02-25 Herbert Xu * Changed boolean rootshell into shlvl counter. * Catch set -e exits within built-in commands. * Size optimisations with setjmp in main(). * Only reread exitstatus on EXEXIT in exitshell. * Eliminated global exerrno. 2005-01-31 Gerrit Pape * Release 0.5.2. * Corrected manual entry about ENV and non-interactive shells. 2004-11-24 Gerrit Pape * Spell behaviour consistently in manual page. 2004-11-23 A Costa * Fixed spelling errors in manual page. 2004-08-21 Herbert Xu * Size optimisations around varvalue() in src/expand.c. * Fixed signed char promotion in src/expand.c. 2004-08-18 Herbert Xu * Fixed $@ expansion when leading argument is null in src/expand.c. 2004-08-07 Herbert Xu * Allow negative pid argument to kill(1) in src/jobs.c. 2004-08-04 Herbert Xu * Fixed cd - when OLDPWD is unset in src/cd.c. 2004-07-09 Herbert Xu * Include system.h (Gerrit Pape): . src/mystring.c . src/var.c . src/bltin/printf.c 2004-07-03 Herbert Xu * Release 0.5.1. * Use automake and autoconf. * Include stdlib.h for exit(3) in src/mksyntax.c. 2004-06-29 Herbert Xu * Added sigclearmask. * Removed hack for _setjmp/_longjmp. * Added default implementations of mempcpy/stpcpy/strchrnul. * Use strtoll/strtoull if strtoimax/strtoumax are unavailable. * Removed sh.1 to dash.1. 2004-05-28 Herbert Xu * Fixed vstype trim operator ordering in cmdputs. * Fixed quote for CTLENDVAR in cmdputs. * Fixed VSLENGTH crash in cmdputs. * Turned vstype back into a 2-d array of chars. * Added POSIX character class support in pmatch. For older ChangeLogs see ChangeLog.O. ChangeLog ends here