Known Bugs
==========

PCRE support name conflict with Tcl
-----------------------------------

Currently, there is a name conflict between ExpectPy and the Tcl
library that is used by Expect itself.  Expect's exp_expectv() function
calls TclRegExec() when given a regular expression.  TclRegExec performs
checks on the given regexp for possible corruption - since the given
regexp is a PCRE object, it looks corrupted.

When ExpectPy is compiled with PCRE, TclRegExec is overridden with a
function to run the PCRE regular expression code.  When ExpectPy is a
dynamically loaded module, this could cause a conflict with other
modules that use Tcl (like _tkinter).

Possible configurations with PCRE.
* If both ExpectPy and _tkinter are shared libraries, then make sure
that ExpectPy is imported earlier than _tkinter.  Otherwise there will
be conflicts.
* If ExpectPy is shared and _tkinter is builtin, then there will be
problems.
* If ExpectPy is builtin, there should be no conflicts.

If other modules require Tcl's regular expressions, then configure
ExpectPy with the --with-tcl option instead.  You will not be able
to use PCRE instances.

If you known that you will not be using regular expressions, then
compile ExpectPy with --without-pcre.

The variable re_type will contain either "re", "tclre" or None based on
which type of the regular expression support is compiled.

The error displayed when there is a conflict looks like:  "r.e. match
(pattern .*) failed: corrupted program" for the regexp /.*/.  This is
written to stderr by the Expect library itself.

Obviously, Python 1.4 does not have this bug.


Stty method only works on unspawned objects
-------------------------------------------

I have not determined the reason, but spawn().stty() fails with the
error EINVAL.  Only use it on error_spawn_id, user_spawn_id and
tty_spawn_id objects.


Python Setup earlier than 1.5.2
-------------------------------

You cannot makesetup with ExpectPy in Python 1.5.1 or earlier.  There
is a bug within makesetup which does not include the extension header
files before the Python header files.  This causes a conflict with the
patchlevel.h file (and might cause other problems as well).  The
program also cannot handle absolute pathnames.

These have been fixed in Python 1.5.2.  For other releases, apply the
appropriate patch for makesetup in the etc/ directory.


Python 1.4 and shared objects
-----------------------------

The system tests have failed creating ExpectPy as a shared object
(dynamic library) module with Python 1.4.

