Staging
v0.5.1
v0.5.1
https://github.com/python/cpython
Revision 565d78586babda2b62cbe4f89c2dd3cace79c0fa authored by Benjamin Peterson on 05 February 2010, 02:12:14 UTC, committed by Benjamin Peterson on 05 February 2010, 02:12:14 UTC
In Python 2.x, exceptions in finally blocks are not normalized. Since with statements are implemented using finally blocks, ceval.c had to be tweaked to distinguish between with finally blocks and normal ones. A test for the finalization of generators containing with statements was also added.
1 parent 4a7ff1d
Tip revision: 565d78586babda2b62cbe4f89c2dd3cace79c0fa authored by Benjamin Peterson on 05 February 2010, 02:12:14 UTC
normalize exceptions passed to the __exit__ method #7853
normalize exceptions passed to the __exit__ method #7853
Tip revision: 565d785
ZoomHeight.py
# Sample extension: zoom a window to maximum height
import re
import sys
import macosxSupport
class ZoomHeight:
menudefs = [
('windows', [
('_Zoom Height', '<<zoom-height>>'),
])
]
def __init__(self, editwin):
self.editwin = editwin
def zoom_height_event(self, event):
top = self.editwin.top
zoom_height(top)
def zoom_height(top):
geom = top.wm_geometry()
m = re.match(r"(\d+)x(\d+)\+(-?\d+)\+(-?\d+)", geom)
if not m:
top.bell()
return
width, height, x, y = map(int, m.groups())
newheight = top.winfo_screenheight()
if sys.platform == 'win32':
newy = 0
newheight = newheight - 72
elif macosxSupport.runningAsOSXApp():
# The '88' below is a magic number that avoids placing the bottom
# of the window below the panel on my machine. I don't know how
# to calculate the correct value for this with tkinter.
newy = 22
newheight = newheight - newy - 88
else:
#newy = 24
newy = 0
#newheight = newheight - 96
newheight = newheight - 88
if height >= newheight:
newgeom = ""
else:
newgeom = "%dx%d+%d+%d" % (width, newheight, x, newy)
top.wm_geometry(newgeom)
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...