classification
Title: IDLE configuration file: blank height and width fields trip up IDLE
Type: behavior Stage: resolved
Components: IDLE Versions: Python 3.4, Python 3.2, Python 3.3, Python 2.7
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: asvetlov, doanviettrung, kbk, mark.dickinson, python-dev, roger.serwy, serhiy.storchaka, terry.reedy
Priority: normal Keywords: patch

Created on 2012-11-20 09:11 by doanviettrung, last changed 2012-12-24 11:36 by asvetlov. This issue is now closed.

Files
File name Uploaded Description Edit
idle_safe_getoption_2.patch serhiy.storchaka, 2012-11-20 21:10 review
idle_safe_getoption_3.patch serhiy.storchaka, 2012-11-20 21:54 review
Messages (14)
msg175979 - (view) Author: Trung Doan (doanviettrung) Date: 2012-11-20 09:11
In Python 2.5.4's config-main.cfg file, if [EditorWindow]'s width and height are left blank or set to zero, then IDLE window won't show. Uninstalling and re-installing Python didn't help. Problem solved only when the config-main.cfg file was manually edited to give non-zero values.
msg175991 - (view) Author: Mark Dickinson (mark.dickinson) * (Python committer) Date: 2012-11-20 14:09
Thanks for the bug report.  Are you in a position to test whether this is still an issue for Python 2.7?  (Python 2.5 is no longer maintained.)
msg176023 - (view) Author: Roger Serwy (roger.serwy) * (Python committer) Date: 2012-11-20 20:24
This is still a bug with 2.7 and 3.4. I just tried leaving the width and height fields in config-main.cfg and IDLE had raised the error:

    _tkinter.TclError: expected integer but got ""

The width and height keys in the text_options dictionary in EditorWindow.py are set to blank strings instead of a number of a number as a string. 

IDLE not showing up is a symptom of issue13582.
msg176024 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2012-11-20 20:34
When width or height are 0, IDLE starts and show window with some minimal width or height. When width or height are empty or invalid IDLE can't start.

The proposed patch makes IDLE more resistant against such broken configs.
msg176026 - (view) Author: Roger Serwy (roger.serwy) * (Python committer) Date: 2012-11-20 20:54
Serhiy, I applied your patch and it works. However, the initial window size in IDLE Preferences->General are listed as "None" instead of a number.

Perhaps if the userCfg has an invalid value then the defaultCfg should be returned?
msg176027 - (view) Author: Roger Serwy (roger.serwy) * (Python committer) Date: 2012-11-20 20:57
Changed from Crash to Behavior, as the interpreter is not crashing. Also undid my mistake of re-adding 2.6 and 3.1.
msg176028 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2012-11-20 21:10
> Perhaps if the userCfg has an invalid value then the defaultCfg should be returned?

Yes, you are right. Thanks for suggestion.
msg176032 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2012-11-20 21:54
Patch updated. Added warning for case when user config broken. Thanks Roger for suggestion.
msg176050 - (view) Author: Trung Doan (doanviettrung) Date: 2012-11-21 10:20
Suggestion: When Python is installed, it starts its configurations files
afresh.

Trung Doan
=======

On Wed, Nov 21, 2012 at 8:54 AM, Serhiy Storchaka <report@bugs.python.org>wrote:

>
> Serhiy Storchaka added the comment:
>
> Patch updated. Added warning for case when user config broken. Thanks
> Roger for suggestion.
>
> ----------
> Added file: http://bugs.python.org/file28058/idle_safe_getoption_3.patch
>
> _______________________________________
> Python tracker <report@bugs.python.org>
> <http://bugs.python.org/issue16511>
> _______________________________________
>
msg178046 - (view) Author: Roundup Robot (python-dev) Date: 2012-12-24 11:17
New changeset ffe091ebd5de by Andrew Svetlov in branch '3.2':
Issue #16511: Use default IDLE width and height if config param is not valid.
http://hg.python.org/cpython/rev/ffe091ebd5de

New changeset 10656b0975b3 by Andrew Svetlov in branch '3.3':
Issue #16511: Use default IDLE width and height if config param is not valid.
http://hg.python.org/cpython/rev/10656b0975b3

New changeset a7c9869a5114 by Andrew Svetlov in branch 'default':
Issue #16511: Use default IDLE width and height if config param is not valid.
http://hg.python.org/cpython/rev/a7c9869a5114
msg178047 - (view) Author: Roundup Robot (python-dev) Date: 2012-12-24 11:18
New changeset 133f87a7dbf5 by Andrew Svetlov in branch '2.7':
Issue #16511: Use default IDLE width and height if config param is not valid.
http://hg.python.org/cpython/rev/133f87a7dbf5
msg178048 - (view) Author: Andrew Svetlov (asvetlov) * (Python committer) Date: 2012-12-24 11:20
Fixed. 

Trung, I think installation procedure is not subject of this issue.
If needed please create new one.
msg178049 - (view) Author: Trung Doan (doanviettrung) Date: 2012-12-24 11:32
I think I will leave it at that, because in the general case probably some
things should be re-initialised during a new/re-install while others should
be left as is, but as a beginner I am far from knowing which ones are which.

Trung
==============

On Mon, Dec 24, 2012 at 10:20 PM, Andrew Svetlov <report@bugs.python.org>wrote:

>
> Andrew Svetlov added the comment:
>
> Fixed.
>
> Trung, I think installation procedure is not subject of this issue.
> If needed please create new one.
>
> ----------
> resolution:  -> fixed
> stage: patch review -> committed/rejected
> status: open -> closed
>
> _______________________________________
> Python tracker <report@bugs.python.org>
> <http://bugs.python.org/issue16511>
> _______________________________________
>
msg178050 - (view) Author: Andrew Svetlov (asvetlov) * (Python committer) Date: 2012-12-24 11:36
Ok. Agree with you.
History
Date User Action Args
2012-12-24 11:36:21asvetlovsetmessages: + msg178050
2012-12-24 11:32:55doanviettrungsetmessages: + msg178049
2012-12-24 11:20:18asvetlovsetstatus: open -> closed
resolution: fixed
messages: + msg178048

stage: patch review -> resolved
2012-12-24 11:18:10python-devsetmessages: + msg178047
2012-12-24 11:17:23python-devsetnosy: + python-dev
messages: + msg178046
2012-12-03 15:39:42asvetlovsetnosy: + asvetlov
2012-11-23 14:14:10serhiy.storchakasetstage: patch review
2012-11-21 10:20:03doanviettrungsetmessages: + msg176050
2012-11-20 21:54:03serhiy.storchakasetfiles: + idle_safe_getoption_3.patch

messages: + msg176032
2012-11-20 21:10:52serhiy.storchakasetfiles: - idle_safe_getoption.patch
2012-11-20 21:10:34serhiy.storchakasetfiles: + idle_safe_getoption_2.patch

messages: + msg176028
2012-11-20 20:57:45roger.serwysettype: crash -> behavior
messages: + msg176027
versions: - Python 2.6, Python 3.1
2012-11-20 20:54:47roger.serwysetmessages: + msg176026
versions: + Python 2.6, Python 3.1
2012-11-20 20:34:37serhiy.storchakasetfiles: + idle_safe_getoption.patch
versions: - Python 2.6, Python 3.1
nosy: + serhiy.storchaka, kbk

messages: + msg176024

keywords: + patch
2012-11-20 20:25:15mark.dickinsonsetnosy: + terry.reedy
2012-11-20 20:24:16roger.serwysetnosy: + roger.serwy

messages: + msg176023
versions: + Python 3.1, Python 2.7, Python 3.2, Python 3.3, Python 3.4
2012-11-20 14:09:47mark.dickinsonsetnosy: + mark.dickinson
messages: + msg175991
2012-11-20 09:11:23doanviettrungcreate