classification
Title: pydoc.py doesn't detect IronPython, help(foo) can hang
Type: behavior Stage:
Components: Windows Versions: Python 2.7
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: jeff.hardy, owlmonkey, steve.dower, tim.golden, zach.ware
Priority: normal Keywords:

Created on 2013-10-30 17:15 by owlmonkey, last changed 2018-07-11 10:15 by BreamoreBoy.

Messages (2)
msg201750 - (view) Author: David Evans (owlmonkey) Date: 2013-10-30 17:15
The pager functions used by help() in StdLib's pydoc.py don't detect IronPython correctly and the result is a lack of functionality or in some cases a hang. This is similar to issue 8110 in that the code attempts to detect windows with a check for "win32" from sys.platform and needs to check for "cli" as well to detect IronPython running on mono on linux/mac os or on windows.

My naive change to workaround the problem was to add the two line test for "cli" amidst getpager() here:

    if sys.platform == 'win32' or sys.platform.startswith('os2'):
        return lambda text: tempfilepager(plain(text), 'more <')
    if sys.platform == 'cli':
        return plainpager # IronPython
    if hasattr(os, 'system') and os.system('(less) 2>/dev/null') == 0:
        return lambda text: pipepager(text, 'less')

That two line addition allowed basic function and prevents the hang though maybe there is a better pager type that would work on IronPython. In our linux and windows tests though neither the tempfilepager nor pipepager would function on either platform.

I submitted the report to the IronPython issues tracker and someone there suggested posting the patch here.
msg228393 - (view) Author: Mark Lawrence (BreamoreBoy) * Date: 2014-10-03 22:12
There's a two line patch inline in msg201750.  If it's acceptable I'll do a formal patch myself unless someone else wants to pick this up.
History
Date User Action Args
2018-07-11 10:15:38BreamoreBoysetnosy: - BreamoreBoy
2018-07-11 07:37:27serhiy.storchakasettype: crash -> behavior
2014-10-03 22:12:46BreamoreBoysetnosy: + tim.golden, BreamoreBoy, zach.ware, steve.dower
messages: + msg228393
2013-10-31 19:11:43jeff.hardysetnosy: + jeff.hardy
2013-10-30 17:15:13owlmonkeycreate