Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
38732ea8
Commit
38732ea8
authored
Jul 30, 2012
by
Barry Warsaw
Browse files
Options
Browse Files
Download
Plain Diff
merge
parents
dee609c0
504ba313
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
99 additions
and
22 deletions
+99
-22
Lib/idlelib/NEWS.txt
Lib/idlelib/NEWS.txt
+3
-0
Lib/idlelib/macosxSupport.py
Lib/idlelib/macosxSupport.py
+10
-6
Lib/test/test_memoryio.py
Lib/test/test_memoryio.py
+11
-0
Lib/tkinter/simpledialog.py
Lib/tkinter/simpledialog.py
+1
-1
Mac/BuildScript/build-installer.py
Mac/BuildScript/build-installer.py
+45
-12
Misc/ACKS
Misc/ACKS
+1
-0
Misc/NEWS
Misc/NEWS
+12
-1
Modules/_io/bytesio.c
Modules/_io/bytesio.c
+12
-0
Python/traceback.c
Python/traceback.c
+1
-1
setup.py
setup.py
+3
-1
No files found.
Lib/idlelib/NEWS.txt
View file @
38732ea8
...
...
@@ -34,6 +34,9 @@ What's New in IDLE 3.3.0?
- Issue #3573: IDLE hangs when passing invalid command line args
(directory(ies) instead of file(s)).
- Issue #14018: Update checks for unstable system Tcl/Tk versions on OS X
to include versions shipped with OS X 10.7 and 10.8 in addition to 10.6.
What's New in IDLE 3.2.1?
=========================
...
...
Lib/idlelib/macosxSupport.py
View file @
38732ea8
...
...
@@ -37,17 +37,21 @@ def isCarbonAquaTk(root):
def
tkVersionWarning
(
root
):
"""
Returns a string warning message if the Tk version in use appears to
be one known to cause problems with IDLE. The Apple Cocoa-based Tk 8.5
that was shipped with Mac OS X 10.6.
be one known to cause problems with IDLE.
1. Apple Cocoa-based Tk 8.5.7 shipped with Mac OS X 10.6 is unusable.
2. Apple Cocoa-based Tk 8.5.9 in OS X 10.7 and 10.8 is better but
can still crash unexpectedly.
"""
if
(
runningAsOSXApp
()
and
(
'AppKit'
in
root
.
tk
.
call
(
'winfo'
,
'server'
,
'.'
))
and
(
root
.
tk
.
call
(
'info'
,
'patchlevel'
)
==
'8.5.7'
)
):
return
(
r"WARNING: The version of Tcl/Tk (8.5.7) in use may"
(
'AppKit'
in
root
.
tk
.
call
(
'winfo'
,
'server'
,
'.'
))
):
patchlevel
=
root
.
tk
.
call
(
'info'
,
'patchlevel'
)
if
patchlevel
not
in
(
'8.5.7'
,
'8.5.9'
):
return
False
return
(
r"WARNING: The version of Tcl/Tk ({0}) in use may"
r" be unstable.\n"
r"Visit http://www.python.org/download/mac/tcltk/"
r" for current information."
)
r" for current information."
.
format
(
patchlevel
)
)
else
:
return
False
...
...
Lib/test/test_memoryio.py
View file @
38732ea8
...
...
@@ -654,6 +654,17 @@ class CBytesIOTest(PyBytesIOTest):
memio
.
close
()
self
.
assertRaises
(
ValueError
,
memio
.
__setstate__
,
(
b"closed"
,
0
,
None
))
check_sizeof
=
support
.
check_sizeof
@
support
.
cpython_only
def
test_sizeof
(
self
):
basesize
=
support
.
calcobjsize
(
'P2nN2Pn'
)
check
=
self
.
check_sizeof
self
.
assertEqual
(
object
.
__sizeof__
(
io
.
BytesIO
()),
basesize
)
check
(
io
.
BytesIO
(),
basesize
)
check
(
io
.
BytesIO
(
b'a'
),
basesize
+
1
+
1
)
check
(
io
.
BytesIO
(
b'a'
*
1000
),
basesize
+
1000
+
1
)
class
CStringIOTest
(
PyStringIOTest
):
ioclass
=
io
.
StringIO
...
...
Lib/tkinter/simpledialog.py
View file @
38732ea8
...
...
@@ -282,7 +282,7 @@ class _QueryDialog(Dialog):
self
.
entry
=
Entry
(
master
,
name
=
"entry"
)
self
.
entry
.
grid
(
row
=
1
,
padx
=
5
,
sticky
=
W
+
E
)
if
self
.
initialvalue
:
if
self
.
initialvalue
is
not
None
:
self
.
entry
.
insert
(
0
,
self
.
initialvalue
)
self
.
entry
.
select_range
(
0
,
END
)
...
...
Mac/BuildScript/build-installer.py
View file @
38732ea8
...
...
@@ -161,6 +161,13 @@ USAGE = textwrap.dedent("""\
--universal-archs=x universal architectures (options: %(UNIVERSALOPTS)r, default: %(UNIVERSALARCHS)r)
"""
)
%
globals
()
# Dict of object file names with shared library names to check after building.
# This is to ensure that we ended up dynamically linking with the shared
# library paths and versions we expected. For example:
# EXPECTED_SHARED_LIBS['_tkinter.so'] = [
# '/Library/Frameworks/Tcl.framework/Versions/8.5/Tcl',
# '/Library/Frameworks/Tk.framework/Versions/8.5/Tk']
EXPECTED_SHARED_LIBS
=
{}
# Instructions for building libraries that are necessary for building a
# batteries included python.
...
...
@@ -460,27 +467,40 @@ def checkEnvironment():
# Because we only support dynamic load of only one major/minor version of
# Tcl/Tk, ensure:
# 1. there are no user-installed frameworks of Tcl/Tk with version
# higher than the Apple-supplied system version
# 2. there is a user-installed framework in /Library/Frameworks with the
# same version as the system version. This allows users to choose
# to install a newer patch level.
# higher than the Apple-supplied system version in
# SDKROOT/System/Library/Frameworks
# 2. there is a user-installed framework (usually ActiveTcl) in (or linked
# in) SDKROOT/Library/Frameworks with the same version as the system
# version. This allows users to choose to install a newer patch level.
frameworks
=
{}
for
framework
in
[
'Tcl'
,
'Tk'
]:
#fw = dict(lower=framework.lower(),
# upper=framework.upper(),
# cap=framework.capitalize())
#fwpth = "Library/Frameworks/%(cap)s.framework/%(lower)sConfig.sh" % fw
fwpth
=
'Library/Frameworks/Tcl.framework/Versions/Current'
fwpth
=
'Library/Frameworks/%s.framework/Versions/Current'
%
framework
sysfw
=
os
.
path
.
join
(
SDKPATH
,
'System'
,
fwpth
)
libfw
=
os
.
path
.
join
(
'/'
,
fwpth
)
libfw
=
os
.
path
.
join
(
SDKPATH
,
fwpth
)
usrfw
=
os
.
path
.
join
(
os
.
getenv
(
'HOME'
),
fwpth
)
#version = "%(upper)s_VERSION" % fw
frameworks
[
framework
]
=
os
.
readlink
(
sysfw
)
if
not
os
.
path
.
exists
(
libfw
):
fatal
(
"Please install a link to a current %s %s as %s so "
"the user can override the system framework."
%
(
framework
,
frameworks
[
framework
],
libfw
))
if
os
.
readlink
(
libfw
)
!=
os
.
readlink
(
sysfw
):
fatal
(
"Version of %s must match %s"
%
(
libfw
,
sysfw
)
)
if
os
.
path
.
exists
(
usrfw
):
fatal
(
"Please rename %s to avoid possible dynamic load issues."
%
usrfw
)
if
frameworks
[
'Tcl'
]
!=
frameworks
[
'Tk'
]:
fatal
(
"The Tcl and Tk frameworks are not the same version."
)
# add files to check after build
EXPECTED_SHARED_LIBS
[
'_tkinter.so'
]
=
[
"/Library/Frameworks/Tcl.framework/Versions/%s/Tcl"
%
frameworks
[
'Tcl'
],
"/Library/Frameworks/Tk.framework/Versions/%s/Tk"
%
frameworks
[
'Tk'
],
]
# Remove inherited environment variables which might influence build
environ_var_prefixes
=
[
'CPATH'
,
'C_INCLUDE_'
,
'DYLD_'
,
'LANG'
,
'LC_'
,
'LD_'
,
'LIBRARY_'
,
'PATH'
,
'PYTHON'
]
...
...
@@ -861,12 +881,12 @@ def buildPython():
frmDir
=
os
.
path
.
join
(
rootDir
,
'Library'
,
'Frameworks'
,
'Python.framework'
)
gid
=
grp
.
getgrnam
(
'admin'
).
gr_gid
shared_lib_error
=
False
for
dirpath
,
dirnames
,
filenames
in
os
.
walk
(
frmDir
):
for
dn
in
dirnames
:
os
.
chmod
(
os
.
path
.
join
(
dirpath
,
dn
),
STAT_0o775
)
os
.
chown
(
os
.
path
.
join
(
dirpath
,
dn
),
-
1
,
gid
)
for
fn
in
filenames
:
if
os
.
path
.
islink
(
fn
):
continue
...
...
@@ -877,6 +897,19 @@ def buildPython():
os
.
chmod
(
p
,
stat
.
S_IMODE
(
st
.
st_mode
)
|
stat
.
S_IWGRP
)
os
.
chown
(
p
,
-
1
,
gid
)
if
fn
in
EXPECTED_SHARED_LIBS
:
# check to see that this file was linked with the
# expected library path and version
data
=
captureCommand
(
"otool -L %s"
%
shellQuote
(
p
))
for
sl
in
EXPECTED_SHARED_LIBS
[
fn
]:
if
(
"
\
t
%s "
%
sl
)
not
in
data
:
print
(
"Expected shared lib %s was not linked with %s"
%
(
sl
,
p
))
shared_lib_error
=
True
if
shared_lib_error
:
fatal
(
"Unexpected shared library errors."
)
if
PYTHON_3
:
LDVERSION
=
None
VERSION
=
None
...
...
Misc/ACKS
View file @
38732ea8
...
...
@@ -700,6 +700,7 @@ Piotr Meyer
Alexis Métaireau
Steven Miale
Trent Mick
Tom Middleton
Stan Mihai
Stefan Mihaila
Aristotelis Mikropoulos
...
...
Misc/NEWS
View file @
38732ea8
...
...
@@ -68,6 +68,9 @@ Core and Builtins
Library
-------
-
Issue
#
15463
:
the
faulthandler
module
truncates
strings
to
500
characters
,
instead
of
100
,
to
be
able
to
display
long
file
paths
-
Issue
#
6056
:
Make
multiprocessing
use
setblocking
(
True
)
on
the
sockets
it
uses
.
Original
patch
by
J
Derek
Wilson
.
...
...
@@ -267,8 +270,10 @@ Tests
Build
-----
-
Issue
#
14018
:
Fix
OS
X
Tcl
/
Tk
framework
checking
when
using
OS
X
SDKs
.
-
Issue
#
15431
:
Add
_freeze_importlib
project
to
regenerate
importlib
.
h
on
Windows
.
Patch
by
Kristj
á
n
Valur
J
ó
nsson
.
on
Windows
.
Patch
by
Kristj
á
n
Valur
J
ó
nsson
.
-
Issue
#
14197
:
For
OS
X
framework
builds
,
ensure
links
to
the
shared
library
are
created
with
the
proper
ABI
suffix
.
...
...
@@ -337,6 +342,12 @@ Core and Builtins
Library
-------
- Issue #12288: Consider '
0
' and '
0.0
' as valid initialvalue
for tkinter SimpleDialog.
- Issue #15489: Add a __sizeof__ implementation for BytesIO objects.
Patch by Serhiy Storchaka.
- Issue #15487: Add a __sizeof__ implementation for buffered I/O objects.
Patch by Serhiy Storchaka.
...
...
Modules/_io/bytesio.c
View file @
38732ea8
...
...
@@ -834,6 +834,17 @@ bytesio_init(bytesio *self, PyObject *args, PyObject *kwds)
return
0
;
}
static
PyObject
*
bytesio_sizeof
(
bytesio
*
self
,
void
*
unused
)
{
Py_ssize_t
res
;
res
=
sizeof
(
bytesio
);
if
(
self
->
buf
)
res
+=
self
->
buf_size
;
return
PyLong_FromSsize_t
(
res
);
}
static
int
bytesio_traverse
(
bytesio
*
self
,
visitproc
visit
,
void
*
arg
)
{
...
...
@@ -876,6 +887,7 @@ static struct PyMethodDef bytesio_methods[] = {
{
"truncate"
,
(
PyCFunction
)
bytesio_truncate
,
METH_VARARGS
,
truncate_doc
},
{
"__getstate__"
,
(
PyCFunction
)
bytesio_getstate
,
METH_NOARGS
,
NULL
},
{
"__setstate__"
,
(
PyCFunction
)
bytesio_setstate
,
METH_O
,
NULL
},
{
"__sizeof__"
,
(
PyCFunction
)
bytesio_sizeof
,
METH_NOARGS
,
NULL
},
{
NULL
,
NULL
}
/* sentinel */
};
...
...
Python/traceback.c
View file @
38732ea8
...
...
@@ -14,7 +14,7 @@
#define OFF(x) offsetof(PyTracebackObject, x)
#define PUTS(fd, str) write(fd, str, strlen(str))
#define MAX_STRING_LENGTH
1
00
#define MAX_STRING_LENGTH
5
00
#define MAX_FRAME_DEPTH 100
#define MAX_NTHREADS 100
...
...
setup.py
View file @
38732ea8
...
...
@@ -69,7 +69,9 @@ def is_macosx_sdk_path(path):
"""
Returns True if 'path' can be located in an OSX SDK
"""
return
(
path
.
startswith
(
'/usr/'
)
and
not
path
.
startswith
(
'/usr/local'
))
or
path
.
startswith
(
'/System/'
)
return
(
(
path
.
startswith
(
'/usr/'
)
and
not
path
.
startswith
(
'/usr/local'
))
or
path
.
startswith
(
'/System/'
)
or
path
.
startswith
(
'/Library/'
)
)
def
find_file
(
filename
,
std_dirs
,
paths
):
"""Searches for the directory where a given file is located,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment