Patch #1472854: make the rlcompleter.Completer class usable on non-

UNIX platforms.
This commit is contained in:
Georg Brandl 2006-04-30 18:14:54 +00:00
parent 208badda27
commit 3583cff5a9
4 changed files with 19 additions and 14 deletions

View File

@ -2,18 +2,17 @@
Completion function for GNU readline} Completion function for GNU readline}
\declaremodule{standard}{rlcompleter} \declaremodule{standard}{rlcompleter}
\platform{Unix}
\sectionauthor{Moshe Zadka}{moshez@zadka.site.co.il} \sectionauthor{Moshe Zadka}{moshez@zadka.site.co.il}
\modulesynopsis{Python identifier completion for the GNU readline library.} \modulesynopsis{Python identifier completion, suitable for the GNU readline library.}
The \module{rlcompleter} module defines a completion function for The \module{rlcompleter} module defines a completion function suitable for
the \refmodule{readline} module by completing valid Python identifiers the \refmodule{readline} module by completing valid Python identifiers
and keywords. and keywords.
This module is \UNIX-specific due to its dependence on the When this module is imported on a \UNIX\ platform with the \module{readline}
\refmodule{readline} module. module available, an instance of the \class{Completer} class is automatically
created and its \method{complete} method is set as the \module{readline}
The \module{rlcompleter} module defines the \class{Completer} class. completer.
Example: Example:
@ -44,6 +43,9 @@ else:
\end{verbatim} \end{verbatim}
On platforms without \module{readline}, the \class{Completer} class defined
by this module can still be used for custom purposes.
\subsection{Completer Objects \label{completer-objects}} \subsection{Completer Objects \label{completer-objects}}
Completer objects have the following method: Completer objects have the following method:

View File

@ -39,7 +39,6 @@ used, and this module (and the readline module) are silently inactive.
""" """
import readline
import __builtin__ import __builtin__
import __main__ import __main__
@ -147,4 +146,9 @@ def get_class_members(klass):
ret = ret + get_class_members(base) ret = ret + get_class_members(base)
return ret return ret
readline.set_completer(Completer().complete) try:
import readline
except ImportError:
pass
else:
readline.set_completer(Completer().complete)

View File

@ -50,11 +50,7 @@ import pstats
import py_compile import py_compile
import pydoc import pydoc
import rexec import rexec
try: import rlcompleter
import rlcompleter # not available on Windows
except ImportError:
if verbose:
print "skipping rlcompleter"
import sched import sched
import smtplib import smtplib
import sndhdr import sndhdr

View File

@ -86,6 +86,9 @@ Extension Modules
Library Library
------- -------
- Patch #1472854: make the rlcompleter.Completer class usable on non-
UNIX platforms.
- Patch #1470846: fix urllib2 ProxyBasicAuthHandler. - Patch #1470846: fix urllib2 ProxyBasicAuthHandler.
- Patch #1475231: ``doctest`` has a new ``SKIP`` option, which causes - Patch #1475231: ``doctest`` has a new ``SKIP`` option, which causes