Issue 19453: pydoc.py doesn't detect IronPython, help(foo) can hang (original) (raw)

Issue19453

Created on 2013-10-30 17:15 by owlmonkey, last changed 2022-04-11 14:57 by admin.

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 . If it's acceptable I'll do a formal patch myself unless someone else wants to pick this up.
History
Date User Action Args
2022-04-11 14:57:52 admin set github: 63652
2018-07-11 10:15:38 BreamoreBoy set nosy: - BreamoreBoy
2018-07-11 07:37:27 serhiy.storchaka set type: crash -> behavior
2014-10-03 22:12:46 BreamoreBoy set nosy: + tim.golden, BreamoreBoy, zach.ware, steve.dowermessages: +
2013-10-31 19:11:43 jeff.hardy set nosy: + jeff.hardy
2013-10-30 17:15:13 owlmonkey create