summaryrefslogtreecommitdiff
path: root/bin/pdksh/NEWS
diff options
context:
space:
mode:
Diffstat (limited to 'bin/pdksh/NEWS')
-rw-r--r--bin/pdksh/NEWS521
1 files changed, 521 insertions, 0 deletions
diff --git a/bin/pdksh/NEWS b/bin/pdksh/NEWS
new file mode 100644
index 00000000000..4daaaf1ac67
--- /dev/null
+++ b/bin/pdksh/NEWS
@@ -0,0 +1,521 @@
+$OpenBSD: NEWS,v 1.1 1996/08/14 06:19:10 downsj Exp $
+
+Version 5.2.7
+
+* bug fixes
+ * vi: commands can be longer that 16 chars...
+
+
+Version 5.2.6
+
+* bug fixes
+ * break/continue: if too big a number is given, last enclosing loop is used.
+ * set: set +o now generates a set command that can be saved and executed.
+ * COLUMNS/LINES are now exported when they are automatically set.
+ * emacs: completion: space not added after directory names.
+ * vi: # command inserts # after each newline; # on commented line
+ undoes the commenting.
+ * some regression tests made less sensitive to their environment.
+ * should compile on os/2 again.
+
+
+Version 5.2.5
+
+* bug fixes
+ * configuration: if sig_setjmp() being used, use sigjmp_buf.
+ * configuration: test for times() fixed.
+ * configuration: ANSI usage of setjmp() and offsetof().
+ * echo/print: octal number in \ sequence must start with a 0.
+ * echo: don't treat a lone minus as an option.
+ * typeset -f: correctly prints functions with select statements.
+ * vi: / with no pattern repeats last search.
+ * vi: repeat counts no longer effect file completion/expansion.
+ * vi: tab-completion now also works in command mode.
+ * emacs/vi: ^O key now read as ^O on suns/alphas (was eaten by tty driver).
+ * emacs: now has file expansion (^[*).
+ * emacs: ^O goes to next command, not next next command.
+ * COLUMNS/LINES: environment variables now set on start up.
+ * variables: command line assignments can't change readonly variables.
+ * arithmetic: giving multiple bases (5#4#3) no longer allowed.
+ * arithmetic: when assigning a non-integer variables, base no longer shown.
+ * history: fixed replacement bug introduced in last release.
+ * history: -1 refers to the previous command, not current fc command.
+ * parsing: correctly handles command substitutions starting with a newline.
+
+* full command completion added (both vi and emacs).
+
+
+Version 5.2.4
+
+* bug fixes
+ * PS1 imported from environment again.
+ * vi handles prompts with embedded newlines.
+ * errors redirecting stderr aren't lost.
+ * redirection errors for <&n no longer reported as to >&n.
+ * don't do globbing on re-direction targets if not interactive (POSIX).
+ * pattern matching in [[ foo = foo*bar ]] now works again.
+ * HUP signals are passed on to jobs running in the foreground.
+ * $? now valid (ie, not 0) in trap handlers, `...` expressions, etc.
+ * noclobber doesn't effect redirections to non-regular files (eg, /dev/null)
+ * \newline in here-document delimiters handled correctly.
+ * typeset -f now reports unloaded autoload functions properly.
+ * ~,~+,~- are not expanded if HOME,PWD,OLDPWD are unset.
+ * vi completion/expansion: * not appeded if word contains $.
+ * cd: error message contains correct directory string.
+ * vi expansion list: printed in column form ala at&t ksh.
+ * ^C while reading .profile/$ENV nolonger causes shell to exit.
+ * option errors for build-in commands now include command name.
+ * emacs completion/expansion: ' and " are treated as word delimiters.
+ * fc: replacements (a=b) no longer truncates the command.
+ * alias: alias -t -r now cleans out the tracked alias table.
+
+* compile-time configuration changed: configure script --enable-XXX options
+ replace the old options.h file. Use "configure --help" for information
+ on what the options do (they are basicly the same as what was in the
+ options.h file). Shell can be configured as a (almost) plain bourne
+ shell using the --enable-shell=sh (also generates appropriate man page).
+ Installed name of program (ksh or sh) can be modified using configure's
+ --program-* options.
+
+* ulimit: added -p (maxproc) option.
+
+* case statements can use the old syntax of {,} instead of in,esac.
+
+* extended file globbing added (eg, f*(bar|Bar) matches f, fbar fBarbar, etc).
+
+* trim expressions can be of the form ${parameter#pattern1|pattern2|...}.
+
+* if compiled as sh, $ENV included only if posix option is set.
+
+* vi: U command added (undo all changes on line).
+
+* the Bugs script has been replaced by a new regression testing system, kept
+ in the tests/ directory (contains a perl script which sets up a test
+ environment and runs tests, and a bunch of tests).
+
+
+Version 5.2.3
+
+* bug fixes
+ * arrays: set -A and unset now unset whole array.
+ * history(complex version): fixed core caused by uninitialized hist_source.
+ * getopts: will continue parsing options if called after error.
+ * getopts: doesn't print shell name twice in error message.
+ * posix: if posix option is set, $0 is always the name of the shell.
+ * history: "fc -s foo" now finds foo if it is the most recent command.
+ * let: expression errors no longer cause scripts to exit.
+ * PS1: does not go into infinite loop if there is an expansion error.
+ * configure: memmove/bcopy test has a change of working now.
+ * configure: check for flock(), undefine COMPLEX_HISTORY if not found.
+ * substitution: tilde substitution works in word part of ${var[-+=?]word}.
+ * history: "fc <number>" now edits <number>, not <number> to most recent.
+ * cd: two argument form works again.
+ * special commands taking assignments (alias,set,etc.): field splitting,
+ file globbing, etc. suppressed only for args that look like assignments.
+ * command: -V now finds reserved words.
+
+* added support for Korn's /dev/fd tests
+
+* new compile time option: DEFAULT_ENV - if defined, it names a file to
+ include if $ENV is not set.
+
+* test -o option: if option starts with a !, the test is negated. The test
+ always fails if the option doesn't exist (so [ -o foo -o -o !foo ] is true
+ iff option foo exists).
+
+* new option: set -o nohup (currently on by default) - if set, running jobs
+ are not kill -HUP'd when a login shell exits; if clear, they are. In
+ future, this will be clear by default (to act like at&t ksh) - if you don't
+ (won't) like this, add "[ -o !nohup ] && set -o nohup" to your .profile.
+
+Version 5.2.2
+
+* bug fixes
+ * included c_test.h in distribution (opps).
+
+Version 5.2.1
+
+* bug fixes
+ * emacs: buffer no longer overflowed when completing file names/commands.
+ * emacs: <ESC><tty-erase-char> now bound to delete-back-word (was ...-char).
+ * emacs: ignores a space char after ^V (version), as in at&t ksh.
+ * emacs: ^O bound to newline-and-next, ^X^Y bound to list-file.
+ * emacs: emacs words now include underscore.
+ * vi: set -o markdirs, directories and ^[= now get along.
+ * cd: -P no longer leaves .. and . in PWD.
+ * cd: if CDPATH set and can't cd, error doesn't contain any of CDPATH.
+ * cd: sets PWD properly, on machines without getwd().
+ * configuration: unistd.h test fixed (include sys/types before dirent.h).
+ * configuration: detects memmove/bcopy's that don't handle overlaps.
+ * [[ ... ]] does lazy evaluation (eg, [[ ! -f foo || $(<foo) = bar ]] does
+ not evaluate $(<foo) if foo doesn't exist).
+
+
+Version 5.2.0
+
+* bug fixes
+ * vi: completion now allows globbing characters.
+ * vi: can deal with very long prompts.
+ * vi: . (redo) works after j, k, return.
+ * vi: [dyc]% causing backwards motion now gets correct start/end position.
+ * vi: complete_word (<ESC>\) no longer rings bell on ambiguous matches.
+ * vi: globbing doesn't append * if last component of file has globbing chars.
+ * emacs: most commands now take arguments, arguments can be multi digit.
+ * emacs: newline-and-next command works more correctly.
+ * after set -u, trimming substitutions no longer automatically fail.
+ * set -i no longer reports an internal error.
+ * FPATH: no longer incorrectly complains about function not being defined.
+ by a file; when it connectly complains, shell name in error is correct.
+ * set -a; set -o allexport: these now do something.
+ * shell deals with non-blocking input (clears non-blocking flag).
+ * autoconf: fixed memmove/memcpy tests.
+ * ! translation in prompt now done before parameter substitution.
+ * siglist.sh works around bug in bash 1.4.3.
+ * correct positional parameters accessible in local assignments.
+ * (sleep 100&) no longer waits for sleep to complete.
+
+* fc -s option added (same as -e -).
+
+* vi: ^V command (version) added.
+
+* vi: @<char> macros added (@X executes vi commands in alias _X).
+
+* emacs: bind -l lists all command names.
+
+* emacs: goto-history command added.
+
+* emacs: search-char function changed to search-char-forward;
+ added search-char-backward (bound to <ESC>^]).
+
+* cd and pwd take -L and -P options; added set -o physical option
+ (PWD,OLDPWD no longer readonly).
+
+* new command line -l option tells shell it is a login session.
+
+* os2 changes completed.
+
+* uses autoconf 2.x (was using 1.x).
+
+Version 5.1.3
+
+* bug fixes
+ * fixed bug in arithmetic expression evaluation (||,&& caused core dump).
+ * ulimit code now uses rlim_t or quad_t, if appropriate.
+ * vi: file completion in command mode of single character filename works.
+ * vi: file completion with markdirs set resulted in two trailing /'s.
+ * vi: completion/expansion/listing acts like at&t ksh when expand fails.
+ * vi: ~ takes count.
+ * lines from history file are no longer negative (easy history).
+ * Makefile now uses manual extension consistently.
+ * fc now allows out of range relative (negative) numbers.
+ * functions with elif now printed correctly.
+ * FPATH now searched if PATH search fails, as in at&t ksh.
+
+* typeset -f output is readable (and more correct)
+
+* compiles under SCO unix
+
+* more os/2 changes integrated
+
+Version 5.1.2
+
+* bug fixes
+ * for i; do ...; done now accepted.
+ * leading non-white-space IFS chars no longer ignored (now delimit fields).
+ * fixed globbing code so echo /usr/*/make works.
+
+Version 5.1.1
+
+* bug fixes
+ * { ..;} allowed instead of do ..;done in for/select loops
+ * EOF after ; or & no longer causes syntax error
+ * complex history: when shrinking history file, keeps inside buffer space.
+ * vi editing: `v' on modified line no longer changes command numbering.
+ * ^C in vi/emacs no longer prints two newlines.
+ * long arguments (> 255) with globbing characters don't cause core dumps.
+
+* new (un)option, KSH, which compiles out ksh code (for producing minimal sh).
+
+* os/2 changes partly merged.
+
+Version 5.1.0
+
+* bug fixes
+ * problem caused by _POSIX_VDISABLE on BSDI machines fixed
+ * exit status set to 127 if command file could not be opened
+ * profile files processed if basename argv[0] starts with (was $0)
+ * PWD now imported properly from environment.
+ * emacs code now either uses dynamic buffers or does overflow checking.
+ * emacs forward-word and delete-forward-word now work like other emacs's.
+ * ^C/^\ in vi/emacs work like at&t ksh (prompt reprinted, even if trapped).
+ * history number to command mapping now constant (numbers used to change).
+ * configuration: BSD tty now used on ultrix (avoids type ahead problem)
+ * eof in the middle of multiline commands now ignored if ignoreeof set.
+ * vi space command now works again.
+ * pointer mismatch compiler warning for waitpid() call dealt with.
+ * emacs internal memory error in command completion fixed.
+ * autoloaded functions now work first try.
+ * SECONDS parameter now acts like in at&t ksh.
+
+* sense of vi-show8 option changed: 8-bit characters are printed as is by
+ default; turning on vi-show8 now causes chars with 8th bit set to be
+ prefixed with M-.
+
+* missing sections in man page added (now basicly complete)
+
+* emacs ^V command added: prints ksh version
+
+* vi g command added: moves to most recent history
+
+Version 5.0.10
+
+* bug fixes
+ * [[ ]] construct unbroken.
+ * the newline after a here document marker is now read properly.
+ * blank lines no longer cause $? to be set to 0.
+ * mail checking now uses atime/mtime instead of size.
+ * changing attributes of exported parameters no longer causes core dump.
+ * the last command in a file does not have to end in a newline.
+ * empty expressions now treated as 0 (previously generated an error).
+ * nul bytes stripped from input.
+ * 0241 (M-!) in a command substitution no longer lost.
+ * when read used in startup file, line continuation no longer causes crash.
+ * very long commands in history no longer cause vi to overwrite memory.
+ * easy history: when saving history, avoid going past the end of history.
+ * emacs mode no longer entered if EDITOR/VISUAL set to null string.
+ * command -p disabled in restricted mode.
+ * closed file descriptors are re-closed after a redirection.
+ * lone [ (test command) no longer causes globbing code to search directory.
+ * if TIMES_BROKEN is defined, ksh_times no longer recurses infinitely.
+ * `r r' no longer repeats r command forever.
+ * make depend no longer generates backslash followed by a blank line.
+ * globbing code now deals with symlinks that point to non-existent files.
+ * if the ] is missing in a pattern, the [ matches the [ character.
+ * syntax errors in test no longer have two newlines.
+ * in vi, G now goes to the oldest history (was newest).
+ * configuration: test for sys_siglist now harder for optimizers to break.
+ * configuration: look for clock_t in sys/times.h.
+ * configuration: use _SIGMAX, if available, for # of signals.
+ * SIGHUP now causes builtin read command to exit.
+ * wait builtin now returns whenever a traped signal occurs as per POSIX.
+
+* v command now works in vi; anchored searches now work in vi mode (/^ptrn);
+ multi-line commands displayed correctly by history.
+
+* echo is now schizophrenic: accepts -n/-e/-E and backslash sequences.
+
+* test -H file added (checks for context dependent files on HPs).
+
+* set -o gmacs and markdirs honoured.
+
+* ansi arrow keys in default emacs key bindings.
+
+* ulimit now takes arithmetic expression (as per Korn book).
+
+* co-processes changed to be more compatible with at&t ksh.
+
+Version 5.0.9
+
+* bug fixes
+ * FOO is put in the environment for FOO=bar exec blah.
+ * compiles under QNX and with dmake.
+ * the file pattern [!a--]* is now invalid (POSIX) (used to match everything)
+ * echo "${foo:-"a"}*" no longer the same as echo a*.
+ * alternation (brace expansion) fixes:
+ * brace expansion done after variable expansion, as in csh/at&t ksh.
+ * `echo a{b,c' no longer gives "Missing }" error (it echos a{b,c).
+ * expansion only done if there is a comma (ie, `echo {a}' prints {a}).
+ * globbing/expansion code passes 0x80 unharmed.
+ * "echo ${XX=a*b}" no longer sets XX to "a\200*b".
+ * "echo ${unset-a*b}" no longer has \200 in the error message.
+ * bad substitution error generated for things like ${x:a}, ${x^a}, etc.
+ * `x="a cdef"; echo ${x#a c}' now prints "def" instead of "a a cdef".
+ * on systems where /etc/passwd//// is a valid name, echo /etc/pass*/ no
+ longer matches /etc/passwd.
+ * trace output (set -x) flushed correctly, PS4 initialized.
+ * ulimit output ungarbled, code to use {set,get}ulimit (if available)
+ enabled.
+ * tilde expansion done in word part of ${foo-~/bar}
+ * when reading stdin (ie, ksh -s), no longer reads too much.
+ * shell handles i/o redirection and errors in builtin commands as per
+ POSIX (still have to sort out variable assignment errors).
+ * starting jobs that save/change/restore tty settings in the background
+ no longer messes up tty settings when job finishes.
+ * the pattern [a'-'z] now matches three characters, not 26, and
+ the pattern [ab']'] also matches three characters.
+
+* a mostly complete man page! (work is still in progress)
+
+* quoting inside $(..) mostly works.
+
+* error reporting has been orthogonalized.
+
+* brace expansion on by default (can be disabled with set +o braceexpand, or
+ set -o posix).
+
+* output of "set -o" now fits on a normal screen.
+
+* co-processes added (|&, read -p, print -p, etc.).
+
+* restricted mode added (for what its worth).
+
+* vi now prints meta characters with M- prefix, unless vi-show8 option is on.
+
+Version 5.0.8
+
+* bug fixes
+ * two problems in fc (introduced in 5.0.7)
+ * install target in Makefile missing a dollar
+
+Version 5.0.7
+
+* POSIX command command added
+
+* a few bug fixes
+ * now compiles with various options undefined (eg, VI, EMACS, JOBS).
+ * fixed typos in Makefile.in (maxext -> manext) and ksh.1 (\f -> \fP).
+ * CLK_TCK defined to correct value for FreeBSD 1.1.5 (and earlier?).
+ * original process group restored when an exec is done.
+ * the exit value of set is that of the last $(...) on the command line.
+ * ditto for a command with no command (eg, x=`false`).
+ * command variable assignments done before path search (so PATH=... x works)
+ and are added as they are processed (so A=1 B=$A works).
+ * variable assignments infront of function calls are exported to programs
+ inside the function.
+ * aliases with trailing space are only honoured in command contexts
+ if in posix mode.
+
+* make depend target added; install target warns if ksh not in /etc/shells.
+
+* set -o bgnice now does something.
+
+* vi mode: ESC is no longer a file completion command (too annoying).
+
+Version 5.0.6
+
+* most reported bugs/problems fixed (all but two).
+
+* temporary files now created in $TMPDIR (if it is a sane path).
+
+Version 5.0.5
+
+* function parsing POSIXized (function bodies can be any compound command,
+ redirections after functions effect function invocation, not the
+ instantiation, the () in a function definition now parsed as two tokens).
+
+* exit bultin now does stopped jobs check.
+
+* set -p/-o priviliged supported.
+
+* test builtin now believed to be completely posix.
+
+* a default path is now used when PATH is not set (defined in options.h).
+
+Version 5.0.4
+
+* configuration checks for buggy opendir()s and setpgrp()s.
+
+* autoloading functions now supported.
+
+* functions can safely redefine themselves.
+
+Version 5.0.3
+
+* hash command changed to "alias -t"; whence -p added; print -s added
+ (all as in at&t ksh); unalias -a added (POSIX).
+
+* test builtin POSIX complient
+
+* TMOUT parameter supported (at&t ksh: timeout interactive shells)
+
+Version 5.0.2
+
+* trap/error handling changed to eliminate longjmp()s from signal handlers;
+ trap ERR added.
+
+* ksh conditional expressions ([[ .. ]]) supported.
+
+* arithmetic expressions (let, $((..)), etc.) now understand full C
+ integer expressions (except ++/-- and sizeof()).
+
+* typeset -L -R -Z -u -l added (as in at&t ksh)
+
+* at&t/posix $(( .. )) arithmetic expansions supported.
+
+Version 5.0.1
+
+* set -e no longer effects commands executed as part of if/while/until/&&/||/!
+ condition.
+
+* posix ! keyword now recognized.
+
+* posix getopts; if not in posix mode, getopts will accept options starting
+ with + (at&t kshism)
+
+* syntax error messages improved (says what was unexpected/unmatched)
+
+Version 4.9+mun.5
+
+* all known bugs related to job control fixed:
+ * fg,bg,jobs,wait,kill commands fully POSIX complient
+ * signals are no longer reported for foreground jobs killed by SIGINT and
+ SIGPIPE
+ * pipeline process groups now created more reliablely (was a problem
+ if first process exited before second process exec'd).
+ * "(: ; cat /etc/termcap) | sleep" nolonger hangs
+
+* save/restore tty mode if command succeeds/fails, respectively. Edit
+ mode (emacs,vi) no longer use old tty mode information
+
+* test command: added -h
+
+* alternations option renamed to braceexpand (eg, use set -o braceexpand).
+ Old usage (set -o alternations) still accepted (will disappear in next
+ version).
+
+* trap/kill now accept upper and lower case signal names.
+
+Version 4.9+mun.3
+
+* here documents in functions now work properly
+
+* read command: added -s option, use REPLY if no variable specified
+
+* don't accept "while command; done" as a valid command
+
+* fg,bg,jobs,wait,kill commands mostly POSIX complient.
+
+* unset command: added POSIX -v option
+
+* set command: added -A option
+
+* handle ${array[@]} and ${array[*]}
+
+* compiles with old bsd 4.2 compiler (pcc)
+
+* new versions of etc/profile and etc/ksh.profile
+
+Version 4.9+mun.2 (versus 4.9)
+
+* directory/file structure has been re-arranged:
+ * moved files from sh directory up a level, deleted sh directory
+ * created misc directory, old ChangeLog,README,.. files moved to misc
+
+* now uses GNU autoconf for compilation.
+
+* no longer uses stdio FILE *'s for I/O redirection (most stdio
+ usage has been removed). Solves many porting problems caused by
+ dup'd file descriptors, forked processes and exiting.
+
+* removed lint from code (compiles with very few warning with gcc -O -Wall
+ -Wno-comment)
+
+* has array support (needs work but is pretty functional).
+
+* ulimit command now more functional on more machines. Compatable with at&t ksh.
+
+* command line and set option parsing cleaned up, POSIXized.
+
+* POSIX IFS handling.
+
+* many many small bug fixes (see ChangeLog)