*: add -Wunused-parameter; fix resulting breakage
[oweals/busybox.git] / shell / README
index c3e7132ce4d9b7e5df55e82c052df4ff620966ed..59efe499fbe0e5a5b456d8ee14721667765157b9 100644 (file)
@@ -1,8 +1,66 @@
 Various bits of what is known about busybox shells, in no particular order.
 
+2008-02-14
+ash: does not restore tty pgrp if killed by HUP. Symptom: Midnight Commander
+is backgrounded if you started ash under it, and then killed it with HUP.
+
+2007-11-23
+hush: fixed bogus glob handling; fixed exec <"$1"; added test and echo builtins
+
+2007-06-13
+hush: exec <"$1" doesn't do parameter subst
+
+2007-05-24
+hush: environment-related memory leak plugged, with net code size
+decrease.
+
+2007-05-24
+hush: '( echo ${name )' will show syntax error message, but prompt
+doesn't return (need to press <enter>). Pressing Ctrl-C, <enter>,
+'( echo ${name )' again, Ctrl-C segfaults.
+
+2007-05-21
+hush: environment cannot be handled by libc routines as they are leaky
+(by API design and thus unfixable): hush will leak memory in this script,
+bash does not:
+pid=$$
+while true; do
+    unset t;
+    t=111111111111111111111111111111111111111111111111111111111111111111111111
+    export t
+    ps -o vsz,pid,comm | grep " $pid "
+done
+The fix is to not use setenv/putenv/unsetenv but manipulate env ourself. TODO.
+hush: meanwhile, first three command subst bugs mentioned below are fixed. :)
+
+2007-05-06
+hush: more bugs spotted. Comparison with bash:
+bash-3.2# echo "TEST`date;echo;echo`BEST"
+TESTSun May  6 09:21:05 CEST 2007BEST         [we dont strip eols]
+bash-3.2# echo "TEST`echo '$(echo ZZ)'`BEST"
+TEST$(echo ZZ)BEST                            [we execute inner echo]
+bash-3.2# echo "TEST`echo "'"`BEST"
+TEST'BEST                                     [we totally mess up this one]
+bash-3.2# echo `sleep 5`
+[Ctrl-C should work, Ctrl-Z should do nothing][we totally mess up this one]
+bash-3.2# if true; then
+> [Ctrl-C]
+bash-3.2#                                     [we re-issue "> "]
+bash-3.2# if echo `sleep 5`; then
+> true; fi                                    [we execute sleep before "> "]
+
+2007-05-04
+hush: made ctrl-Z/C work correctly for "while true; do true; done"
+(namely, it backgrounds/interrupts entire "while")
+
 2007-05-03
-hush: new bug spotted: Ctrl-C on "while true; do true; done" kills shell,
-not just the loop.
+hush: new bug spotted: Ctrl-C on "while true; do true; done" doesn't
+work right:
+# while true; do true; done
+[1] 0 true <-- pressing Ctrl-C several times...
+[2] 0 true
+[3] 0 true
+Segmentation fault
 
 2007-05-03
 hush: update on "sleep 1 | exit 3; echo $?" bug.