
# This file is automaticly generated from the wiki page.
# Don't edit this file, use the wiki.

Known bugs for the Zoidberg project <http://zoidberg.sourceforge.net>
Visit the web page to submit bug reports.

Disclaimer: some of this might be in dutch

----


== Internals

* Pipeline from STDIN problem in non-interactive mode (see t/90_full.t) When zoid runs in non-interactive mode and gets its commands from STDIN, it can happen that when a command is a pipeline some child processes keep listening to the parents STDIN after they should have been terminated.

* Source scripts can pollute each others namespace. In theory 'do filename' should create a clean namespace 'main' for each script, but do to a bug in perl versions older then 5.8.1 we can't use this construct. Thus all scripts are in the namespace 'Main' that isn't cleaned. ( Also in some versions of perl the do() namespace seems to cause exporter problems )

* When you use a built-in command as a perl-routine, the capturing of STDOUT doesn't work. (If you use the 'output' routine capturing does work fine)

* When using `zoid -e` or `zoid -c` job control works only half of the time

* Some versions of perl (5.6.x) cause pretty nasty bugs with deep autovivication in DispatchTable. Worked around be always checking exists() first.

* Logging is delayed till after the command is done, ergo if the command crashes the shell/terminal it isn't logged

== Parsing

* perl code containing stuff like q/}/ can make StringParser trow an error because StringParser doesn't recognise q// as quoting.

* shell quoting is much like perl quoting but not entirely, this can be confusing

== Term-ReadLine-Zoid

* The Buffer tends to overwrite the last line if it didn't end with a "\n"
** Fix needs ansi code to ask the cursor position from the terminal
