📄 bug-reports
字号:
List of reported problems (problems reported and fixed before 5.0.4 notincluded). Unresolved problems (may or may not still exist) marked by *,problems believed to be fixed marked by x.* pdksh 5.0.3, MIPS RISC/os 5.0 (bsd universe) (noted by Michael Rendell): for interactive, job controlled shells, the kernel's tty state gets twisted in such a way that all output is lost (eg, if ttyXX is wedged then "echo hi > /dev/ttyXX" from a separate login appears to succeed but produces no output on ttyXX). Work around is to run a program and hit ^C.* pdksh 5.0.1, NetBSD 0.9a? (reported by Simon J. Gerraty): problem with job control not finding tty [from Mail.1:71]: Also, I have noticed (with 5.0.1 anyway) that if as root I su to a user I get: root:511$ su foobar warning: won't have full job control [1] + Stopped (tty output) stty erase ^? foobar:1$* pdksh 5.0.8, - (reported by Sean Hogan): attempting file name completion on a word with a single backquote causes a "no closing quote" error and loses the partially entered command (vi mode). [see Mail.2:48] [partly fixed in 5.2.14: backquote ok, but happens for the likes of ${.]* pdksh 5.0.10, - (reported by Andrew Moore): no overflow checking is done in integer parsing code. [see Mail.3:78]* pdksh 5.0.6+5.1.2, BSD43/MachTen (reported by Dan Menchaca): ksh freezes up terminal after a while after printing process exit message. 5.1.2 causes system to hang after executing two commands. [see Mail.3:96,5:42]* pdksh 5.1.3, - (reported by Brad Warkentin & others): if the last command of a pipeline is a shell builtin, it is not executed in the parent shell, so "echo a b | read foo bar" does not set foo and bar in the parent shell (at&t ksh will). [see Mail.7:32,Mail.9:65]* pdksh 5.1.3, - (reported by Gabor Zahemszky): emacs/vi doesn't have \ as quote character. [see Mail.7:87]* pdksh 5.1.3, - (reported by Gabor Zahemszky): emacs default bindings doesn't have vt52 arrow keys or vt100 alternate keypad mode bindings. [see Mail.7:87]* pdksh 5.1.3, SCO 3.2.2 (reported by Gabor Zahemszky): shell hangs waiting for finished process to finish. [see Mail.7:87]* pdksh 5.2.0, - (reported by Gabor Zahemszky): ^V in vi leaves cursor at start of the line. [see Mail.8:43]* enhancements that haven't been merged yet - Mail.6:36-39,78,84 recursive function diffs (add hard limit on depeth of recursion)* pdksh 5.2.3, - (reported by David Gast(? gast@twinsun.com)): history (fc, et al) don't work in shell scripts. [see Mail.10:49]* pdksh 5.2.4, - (reported by Gabor Zahemszky): emacs: ^P steps through multiline commands - should go to start of command. [see Mail.XXX:XXX]* pdksh 5.2.7, - (reported by Adrian Marsh): typeset -L20u xxx is ok is ksh88 but not in pdksh. [see Mail.XXX:XXX]* pdksh 5.2.7, - (reported by Gabor Zahemszky): TMOUT doesn't effect select and read operations. [see Mail.XXX:XXX]* pdksh 5.2.10, - (reported by Simon J. Gerraty): in emacs, <ESC><ESC> applied to a word with a macro does not complete the word (only expands the macro). [see Mail.XXX]* pdksh 5.2.12, - (reported by Han Holl <jeholl@euronet.nl>): pdksh does not parse the whole script before executing, so some syntax errors are not detected (if the shell exits before reading the whole file). [see Mail.XXX]* pdksh 5.2.12, (reported by Michael Staats): emacs: file completion does not complete as much as possible when file is ~/something (will list possible completions but won't fill in to the first difference). Happens since code doesn't distinguish between globbing and ~ (needs special case to strip & replace a leading ~ during the completion process).* pdksh 5.2.13, (reported by Martin Dalecki): shell dumps core when set -x is used on some scripts [awaiting more info...]* pdksh 5.2.13, (reported by Arthor Pool): interactive shells can't be interrupted when processing ${foo#bar} expressions. [same goes for globbing - fixing this means checking for interrupts in the `tight' loops - could slow things down quite a bit]--------------------- put fixed problems below this line ---------------------x pdksh 5.0.3, NetBSD 0.9a (reported by Simon J. Gerraty): pipelines occasionally hang. [from Mail.1:71]: Yes, I just built 5.0.3 on zen (NetBSD) and the menu stuff worked fine. However I've just done: sjg:910$ diff -cb /etc/profile profile | more And it has been sitting there ever since. [... gdb output indicating process groups set up ok - presumed problem is with tty process group] [Fixed in 5.0.4 - do tcsetpgrp() in both parent and child for first process]x pdksh 5.0.2, ISC unix 3.01 (reported by Sean Hogan): set +o monitor (in interactive shell?) closes tty [from Mail.1:64]: I'm having two problems with the job control code, which I believe might be related. The first one is that "set +o monitor" closes the tty, which causes the shell to exit since its input is gone. According to the code, that would imply that FTALKING has mysteriously been turned off (jobs.c:343). But my understanding of the code is that FTALKING would only be clear for background processes, and set would be done by the shell. Do you have any insights here? It's not a big deal of course; I don't need to turn off monitor anyway. [fixed in 5.0.5 - problem was tty process group was being restored so shell could no longer read from tty]x pdksh 5.0.4, - (reported by Simon J. Gerraty and Sean Hogan): test "" -a x would fail. [fixed in 5.0.5 - t_wp being unnecessarily decremented in primary()]x pdksh 5.0.4, -: test -p foo would always fail. [fixed in 5.0.5 - spell S_ISFIFO correctly]x pdksh 5.0.4, -: test ! ! foo would generate error (unexpected !) [fixed in 5.0.5 - nexpr() always calls nexpr(), changes to posix code]x pdksh 5.0.4, -: set -i would generate an internal error. [fixed in 5.0.5 - use OF_SET in creating set_opts]x pdksh 5.0.4, -: let 0>22 would evaluate to true (and 0<22 false) [fixed in 5.0.5 - reversed order of O_LT and O_GT in enum]x pdksh 5.0.4, - (reported by Sean Hogan): echo does not process escape characters (ie, echo "foo\c" doesn't to the sysV thing) [see Mail.1:98] [fixed in 5.0.5 - echo now behaves like sysv echo]x pdksh 5.0.4, - (reported by Sean Hogan): tty process groups not restored properly (vi, :sh, exit causes vi to received SIGTTOU). [see Mail.1:98] [fixed in 5.0.5 - restore tty process group in j_exit]x pdksh 5.0.4, - (reported by Sean Hogan): the exit command does not do the stopped jobs check. [see Mail.1:94,95,98] [fixed in 5.0.5 - added LSHELL, hack c_exitreturn to use it]x pdksh 5.0.3, ISC unix 3.01 (reported by Sean Hogan): if notify is set, running cat & produces "[1] + Stopped (tty input) cat", but jobs, fg, etc. don't know about the job. [from Mail.1:76] I get [1] + Stopped (tty input) cat. Interestingly, "jobs" reports nothing, and "fg" doesn't see it either. But it's definitely there in the ps output. It only responds to kill -9, nothing else. I guess this is a side track? [see also Mail.1:97,Mail.2:2,3] [fixed in 5.0.6 - don't remove stopped jobs in the notify code of check_job()]x pdksh 5.0.5, - (reported by Sean Hogan): repeated history commands were being echoed after the command was executed. [see Mail.2:5,6] [fixed in 5.0.6 - call shf_flush() in case SHIST: of yylex()]x pdksh 5.0.5, -: wait with no arguments would hang forever. [fixed in 5.0.6 - only wait for running jobs in waitfor()]x pdksh 5.0.2, HP-UX 9.01 (reported by Sean Hogan): scipts occasionally get stopped with SIGTTIN [from Mail.1:68]: I noticed another small problem today, which is that occasionally (on an HP 9000/715, HP-UX 9.01, cc from the ANSI C developer set) a background process which is definitely not reading from its input stops with SIGTTIN. I first noticed this with a nohup'ed process, but it periodically happens without as well. The process is a perl script, if that makes any difference. Have you seen this on your HP(s)? [hasn't been seen in 5.0.3: Mail.1:73,76] [not a shell bug, see Mail.2:14,15]x pdksh 5.0.6, - (reported by Gordan Larson, Ed Ferguson): shell does not compile when VI isn't defined. [see Mail.2:22,40] [fixed in 5.0.7 - fixed up lex.c]x pdksh 5.0.6, - (reported by Gordan Larson): ksh.1 font typo. [see Mail.2:23] [fixed in 5.0.7]x pdksh 5.0.6, FreeBSd 1.1.5 (reported by Thomas Gellekum): CLK_TCK is defined to wrong value on FreeBSD; no depend target in Makefile; update /etc/shells in install target. [see Mail.2:28] [fixed in 5.0.7 - include <limits.h> in sh.h to get the right value; added depend target; print warning if ksh not in /etc/shells]x pdksh 5.0.6, - (reported by Michael Haardt): shell does not compile if JOBS not defined. [see Mail.2:32] [fixed in 5.0.7 - added ifdefs to jobs.c(check_job)]x pdksh 5.0.6, - (reported by Nick Holloway): exit status of command substitution is lost (known problem). [from Mail.2:33]: This is a variation on a theme of bug number 10 (and is one reason why currently ksh can not be used for Linux's MAKEDEV). The exit status from command substitution is not available when used with variable assignment. x=`false` && echo "Non-zero exit status lost". [fixed in 5.0.7 - instead of faking :, set rv to subst_exstat]x pdksh 5.0.7 - (reported by Sean Hogan): CMASK redefined in emacs.c [see Mail.2:44] [fixed in 5.0.8 changed CMASK to CHARMASK]x pdksh 5.0.7 - (reported by Sean Hogan): "r" (fc -e -) doesn't work. [see Mail.2:45] [fixed in 5.0.8 - increment wp, change strcmp() test]x pdksh 5.0.7 - (reported by Thomas Gellekum): make install typeo. [see Mail.2:46] [fixed in 5.0.8 - added missing $]x pdksh 5.0.8 - (reported by Sean Hogan): "FOO=bar exec blah" does not put FOO in environment. [see Mail.2:50] [fixed in 5.0.9 - re-arranged exec/command/builtin code in comexec()]x pdksh 5.0.8, QNX 4.2 (reported by Brian Campbell): "exec > /dev/null" generates an error. [see Mail.2:51] [see Mail.2.58 - caused by ambitious compiler using same label for c_exec() and c_builtin()] [fixed in 5.0.9 - c_exec() no longer an empty function.]x pdksh 5.0.8, - (reported by Brian Campbell): "echo a{b," prints a "Missing }" error - at&t ksh does not. at&t ksh always has brace-expansion on (unless set -o nogolob). [see Mail.2:51] [fixed in 5.0.9 - brace expansion now compatible with at&t ksh]x pdksh 5.0.8, - (reported by Sean Hogan): ulimit output garbled; syntax error in c_ulimit.c; no configure check for HAVE_SETRLIMIT. [see Mail.2:64] [fixed in 5.0.9 - use shprintf instead of shellf to print values; add setrlimit() check to configure]x pdksh 5.0.7, - (reported by Jan Djarv): `echo > /foo/bar' causes a script to exit - POSIX says it shouldn't. [see Mail.2:60] [fixed in 5.0.9 - iosetup returns error code, error messages cleaned up, etc]x pdksh 5.0.8, - : `more /etc/passwd &' followed by fg messes up tty settings. [fixed in 5.0.9 - only save new tty settings if job originally started in fg]x pdksh 5.0.9, - (reported by Andrew Moore): a blank line causes $? to be set to zero, newline after a here-document marker isn't read. [see Mail.3:5,6] [fixed in 5.0.10 - don't execute null trees, read the newline]x pdksh 5.0.9, - (reported by Michael Sullivan): mail checking reports you have mail, when there is only old mail. [fixed in 5.0.10 - use atime/mtime instead of size]x pdksh 5.0.9, - (reported by Chris Oates): if RANDOM is in ksh's environ when it starts, the shell dumps core. [see Mail.3:7,8] [fixed in 5.0.10 - var.c(typeset): free t->val.s instead of t->val.s + t->type]x pdksh 5.0.9, - (reported by Seah Hogan): ISC 3.01's make is confused by a backslash followed by a blank line. [see Mail.3:9,13] [fixed in 5.0.10 - changed make depend target to change blank lines to sh.h]x pdksh 5.0.9, - (reported by Andrew Moore): commands without a newline cause syntax errors - sh/ksh execute the commands. [see Mail.3:15] [fixed in 5.0.10 - have yyparse() accept newline and EOF]x pdksh 5.0.9, - (reported by Andrew Moore): empty arithmetic expressions not accepted. [see Mail.3:15,17] [fixed in 5.0.10 - v_evaluate(): if first token is END, changed to literal 0]x pdksh 5.0.9, - (reported by Andrew Moore): nulls in input are not ignored. [see Mail.3:15] [fixed in 5.0.10 - added strip_nuls() function and calls to it]x pdksh 5.0.9, - (reported by Andrew Moore): \241 (M-!) not passed through command substitutions. [see Mail.3:15] [fixed in 5.0.10 - evaluate(): cast c to a char before comparing to MAGIC]x pdksh 5.0.9, - (reported by Andrew Moore): newlines after here-documents are read twice; shell reports an error if newline is missing. [see Mail.3:25] [fixed in 5.0.10 - fixed up readhere()]x pdksh 5.0.9, - (reported with fix by Mike Jetzer): 'r r' repeats the r command forever. [see Mail.3:38] [fixed in 5.0.10 - start the search from the previous command]x pdksh 5.0.9, - (reported by Mike Jetzer): edit of multi-line commands does not result in single history entry. [see Mail.3:38] [fixed in 5.0.10 - use hist_append() to add second+ lines]x pdksh 5.0.9, - (reported by Dale DePriest): ksh_times.h uses BROKEN_TIMES [see Mail.3:43] [fixed in 5.0.10 - changed ksh_times.h]x pdksh 5.0.9, - (reported by J. T. Conklin): using [ instead of test is slow. [see Mail.3:46] [fixed in 5.0.10 - put in kludgy check for [ in eval.c(glob)]x pdksh 5.0.9, - (reported by Michael Haardt): signals do not interrupt read commands. [see Mail.3:20] [fixed in 5.0.10 - changed c_read() to check for fatal signals after EINTR]x pdksh 5.0.10, BSDI (reported by David Tamkin): use of _POSIX_VDISABLE in tty.h causes compiler error. [see Mail.3:67] [fixed in 5.0.10.1 - new variable vdisable_c set/used in edit.c]x pdksh 5.0.8, - (reported by Donald Craig): on systems with both union wait and waitpid(), waitpid() is passed a union wait pointer instead of an int pointer. [see Mail.2:54] [fixed in 5.1 - added ksh_waitpid() define; cast status arg as needed.]x pdksh 5.0.10, - (reported by David Tamkin): space in vi command mode does
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -