This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author owlmonkey
Recipients owlmonkey
Date 2013-10-30.17:15:12
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1383153313.2.0.219850254586.issue19453@psf.upfronthosting.co.za>
In-reply-to
Content
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.
History
Date User Action Args
2013-10-30 17:15:13owlmonkeysetrecipients: + owlmonkey
2013-10-30 17:15:13owlmonkeysetmessageid: <1383153313.2.0.219850254586.issue19453@psf.upfronthosting.co.za>
2013-10-30 17:15:13owlmonkeylinkissue19453 messages
2013-10-30 17:15:12owlmonkeycreate