New submission from Gabriel Genellina <gagsl-...@yahoo.com.ar>:

On Windows, IDLE closes all open windows and exits completely, without any 
error message, when selecting the "Print window" menu command.

Starting IDLE from inside a console, one can see the error message:

Exception in Tkinter callback
Traceback (most recent call last):
  File "D:\apps\python32\lib\tkinter\__init__.py", line 1399, in __call__
    return self.func(*args)
  File "D:\apps\python32\lib\idlelib\IOBinding.py", line 453, in print_window
    command = idleConf.GetOption('main','General','print-command-win')
  File "D:\apps\python32\lib\idlelib\configHandler.py", line 245, in GetOption
    type=type, raw=raw)
  File "D:\apps\python32\lib\idlelib\configHandler.py", line 54, in Get
    return self.get(section, option, raw=raw)
  File "D:\apps\python32\lib\configparser.py", line 789, in get
    d)
  File "D:\apps\python32\lib\configparser.py", line 391, in before_get
    self._interpolate_some(parser, option, L, value, section, defaults, 1)
  File "D:\apps\python32\lib\configparser.py", line 440, in _interpolate_some
    "found: %r" % (rest,))
configparser.InterpolationSyntaxError: '%' must be followed by '%' or '(', found
: '%s'


It is trying to read this entry from the config-main.def file:

[General]
print-command-posix=lpr %s
print-command-win=start /min notepad /p %s

For a ConfigParser file, those %s should be %%s instead. Previous IDLE versions 
(2.7 and 3.1) read the same entry without problem; I suspect they were using a 
RawConfigParser or processing the entry in a different way.

As a workaround, replacing %s with %%s in config-main.def is enough, until the 
code gets fixed.

----------
components: IDLE
messages: 137789
nosy: gagenellina
priority: normal
severity: normal
status: open
title: "Print window" menu on IDLE aborts whole application
type: behavior
versions: Python 3.2

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue12274>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to