mirror of
				https://github.com/python/cpython.git
				synced 2025-11-03 19:34:08 +00:00 
			
		
		
		
	Patch #1472854: make the rlcompleter.Completer class usable on non-
UNIX platforms.
This commit is contained in:
		
							parent
							
								
									208badda27
								
							
						
					
					
						commit
						3583cff5a9
					
				
					 4 changed files with 19 additions and 14 deletions
				
			
		| 
						 | 
					@ -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:
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue