Here is my alternative approach to the GNU readline library support.
The included patch (against 1.4 sources) changes the way the
interpreter sees the PyOS_Readline (aka my_readline) function:
it becomes a pointer to the actual function, so that its value
may be changed. It defaults to simple_readline, implemented in
myreadline.c.
Another change is that the interpreter, when starts interactive
mode, tries to import the pyrl module, and on success inserts it
in the __main__.__dict__ dictionary.
The pyrl module, at initialization, replaces the simple_readline
with an equivalent function that uses the GNU readline library.
It provides also the functions needed by the readline's completer
engine that lets you expand variable, method, class names hitting
M-Tab, like bash does on filenames. See the included manual section
for full details.
This patch does not update Library modules that uses the readline,
like pdb: you should explicitly import the pyrl module in them.
Enjoy,
Lele Gaifax,
[email protected], 30 October 1996.