From: R. B. <ro...@pa...> - 2006-01-04 12:05:24
|
With the last round of changes, the debugger works on bash 3.1. It seems that bash 3.1 added a restriction to file-descriptors: Redirections using file descriptors greater than 9 should be used with care, as they may conflict with file descriptors the shell uses internally. I haven't a clue as to what "with care" means here, but bashdb lovingly and tenderly starts using file descriptors for reading in debugger commands *exactly* at nine. A real bummer how bashdb foresaw exactly where bash was going to cause an incompatibility. And no matter how much care I put into that statement it seems not to work. So I've lowered bashdb's starting file descriptor to 4. However I don't know if this will cause some bash scripts which use file descriptors of their own to fail. Sigh. (It probably would been nice for bash use a higher-numbered file descriptor - I believe even on the smallest OS there are at least 256 of them that can be used.) The good news is that regression tests that were be removed between 2.05b and 3.00 due to the breakage from 3.00 now work. So indeed, correct reporting next statement to executed in a line now works as it did in 2.05b. I've tested this on GNU/Linux and cygwin. On GNU/Linux everything is fine and I've tried with both my built-in readarray (which speeds startup) and without. On cygwin there is one not-important difference how filenames are reported in output. I may look into that. I haven't yet been able to compile readarray because of loader differences. Also the loader can't find GNU getline. But given the progress, there will probably be new releases of the debugger for bash 3.0 an bash 3.1 in the not too distant future. |