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
f3f3c464
Commit
f3f3c464
authored
Jun 03, 2011
by
Benjamin Peterson
Browse files
Options
Browse Files
Download
Plain Diff
merge 2.7.2 release branch
parents
e498a6c0
f7b5fb9e
Changes
20
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
177 additions
and
35 deletions
+177
-35
Doc/distutils/apiref.rst
Doc/distutils/apiref.rst
+1
-1
Doc/documenting/building.rst
Doc/documenting/building.rst
+1
-0
Doc/library/collections.rst
Doc/library/collections.rst
+3
-1
Doc/library/functions.rst
Doc/library/functions.rst
+38
-29
Lib/collections.py
Lib/collections.py
+1
-0
Lib/subprocess.py
Lib/subprocess.py
+4
-1
Lib/test/cjkencodings/iso2022_jp-utf8.txt
Lib/test/cjkencodings/iso2022_jp-utf8.txt
+7
-0
Lib/test/cjkencodings/iso2022_jp.txt
Lib/test/cjkencodings/iso2022_jp.txt
+7
-0
Lib/test/cjkencodings/iso2022_kr-utf8.txt
Lib/test/cjkencodings/iso2022_kr-utf8.txt
+7
-0
Lib/test/cjkencodings/iso2022_kr.txt
Lib/test/cjkencodings/iso2022_kr.txt
+7
-0
Lib/test/test_codecencodings_iso2022.py
Lib/test/test_codecencodings_iso2022.py
+46
-0
Lib/test/test_collections.py
Lib/test/test_collections.py
+1
-1
Lib/test/test_multibytecodec_support.py
Lib/test/test_multibytecodec_support.py
+3
-1
Lib/test/test_subprocess.py
Lib/test/test_subprocess.py
+10
-0
Lib/test/test_support.py
Lib/test/test_support.py
+3
-0
Misc/ACKS
Misc/ACKS
+1
-0
Misc/NEWS
Misc/NEWS
+34
-0
Modules/threadmodule.c
Modules/threadmodule.c
+1
-1
Parser/myreadline.c
Parser/myreadline.c
+1
-0
Python/sysmodule.c
Python/sysmodule.c
+1
-0
No files found.
Doc/distutils/apiref.rst
View file @
f3f3c464
...
...
@@ -1815,7 +1815,7 @@ Subclasses of :class:`Command` must define the following methods.
.. module:: distutils.command.bdist_msi
:synopsis: Build a binary distribution as a Windows MSI file
.. class:: bdist_msi
(Command)
.. class:: bdist_msi
Builds a `Windows Installer`_ (.msi) binary package.
...
...
Doc/documenting/building.rst
View file @
f3f3c464
...
...
@@ -14,6 +14,7 @@ Using make
Luckily, a Makefile has been prepared so that on Unix, provided you have
installed Python and Subversion, you can just run ::
cd Doc
make html
to check out the necessary toolset in the `tools/` subdirectory and build the
...
...
Doc/library/collections.rst
View file @
f3f3c464
...
...
@@ -623,7 +623,9 @@ Example:
'Return a new OrderedDict which maps field names to their values'
return OrderedDict(zip(self._fields, self))
<BLANKLINE>
def _replace(_self, **kwds):
__dict__ = property(_asdict)
<BLANKLINE>
def _replace(_self, **kwds):
'Return a new Point object replacing specified fields with new values'
result = _self._make(map(kwds.pop, ('x', 'y'), _self))
if kwds:
...
...
Doc/library/functions.rst
View file @
f3f3c464
...
...
@@ -298,19 +298,18 @@ available. They are listed here in alphabetical order.
The resulting list is sorted alphabetically. For example:
>>> import struct
>>> dir() #
doctest: +SKIP
>>> dir() #
show the names in the module namespace
['__builtins__', '__doc__', '__name__', 'struct']
>>> dir(struct) #
doctest: +NORMALIZE_WHITESPACE
>>> dir(struct) #
show the names in the struct module
['Struct', '__builtins__', '__doc__', '__file__', '__name__',
'__package__', '_clearcache', 'calcsize', 'error', 'pack', 'pack_into',
'unpack', 'unpack_from']
>>> class Foo(object):
... def __dir__(self):
... return ["kan", "ga", "roo"]
...
>>> f = Foo()
>>> dir(f)
['ga', 'kan', 'roo']
>>> class Shape(object):
def __dir__(self):
return ['area', 'perimeter', 'location']
>>> s = Shape()
>>> dir(s)
['area', 'perimeter', 'location']
.. note::
...
...
@@ -342,16 +341,22 @@ available. They are listed here in alphabetical order.
:term:`iterator`, or some other object which supports iteration. The
:meth:`!next` method of the iterator returned by :func:`enumerate` returns a
tuple containing a count (from *start* which defaults to 0) and the
corresponding value obtained from iterating over *iterable*.
:func:`enumerate` is useful for obtaining an indexed series: ``(0, seq[0])``,
``(1, seq[1])``, ``(2, seq[2])``, .... For example:
corresponding value obtained from iterating over *sequence*::
>>> for i, season in enumerate('Spring Summer Fall Winter'.split(), start=1):
print i, season
1 Spring
2 Summer
3 Fall
4 Winter
Equivalent to::
>>> for i, season in enumerate(['Spring', 'Summer', 'Fall', 'Winter']):
... print i, season
0 Spring
1 Summer
2 Fall
3 Winter
def enumerate(sequence, start=0):
n = start
for elem in sequence:
yield n, elem
n += 1
.. versionadded:: 2.3
.. versionadded:: 2.6
...
...
@@ -586,13 +591,12 @@ available. They are listed here in alphabetical order.
Equivalent to ``eval(raw_input(prompt))``.
..
warning
::
..
note
::
This function is not safe from user errors! It expects a valid Python
expression as input; if the input is not syntactically valid, a
:exc:`SyntaxError` will be raised. Other exceptions may be raised if there is an
error during evaluation. (On the other hand, sometimes this is exactly what you
need when writing a quick script for expert use.)
This function does not catch user errors. It expects a valid Python
expression as input. If the input is not syntactically valid, a
:exc:`SyntaxError` will be raised. Other exceptions may be raised if there
is an error during evaluation.
If the :mod:`readline` module was loaded, then :func:`input` will use it to
provide elaborate line editing and history features.
...
...
@@ -660,10 +664,10 @@ available. They are listed here in alphabetical order.
One useful application of the second form of :func:`iter` is to read lines of
a file until a certain line is reached. The following example reads a file
until
``"STOP"`` is reached:
::
until
the :meth:`readline` method returns an empty string
::
with open(
"mydata.txt"
) as fp:
for line in iter(fp.readline,
"STOP"
):
with open(
'mydata.txt'
) as fp:
for line in iter(fp.readline,
''
):
process_line(line)
.. versionadded:: 2.2
...
...
@@ -1241,8 +1245,9 @@ available. They are listed here in alphabetical order.
It can be called either on the class (such as ``C.f()``) or on an instance (such
as ``C().f()``). The instance is ignored except for its class.
Static methods in Python are similar to those found in Java or C++. For a more
advanced concept, see :func:`classmethod` in this section.
Static methods in Python are similar to those found in Java or C++. Also see
:func:`classmethod` for a variant that is useful for creating alternate
class constructors.
For more information on static methods, consult the documentation on the
standard type hierarchy in :ref:`types`.
...
...
@@ -1335,6 +1340,10 @@ available. They are listed here in alphabetical order.
argument form specifies the arguments exactly and makes the appropriate
references.
For practical suggestions on how to design cooperative classes using
:func:`super`, see `guide to using super()
<http://rhettinger.wordpress.com/2011/05/26/super-considered-super/>`_.
.. versionadded:: 2.2
...
...
Lib/collections.py
View file @
f3f3c464
...
...
@@ -312,6 +312,7 @@ def namedtuple(typename, field_names, verbose=False, rename=False):
def _asdict(self):
'Return a new OrderedDict which maps field names to their values'
return OrderedDict(zip(self._fields, self))
\
n
__dict__ = property(_asdict)
\
n
def _replace(_self, **kwds):
'Return a new %(typename)s object replacing specified fields with new values'
result = _self._make(map(kwds.pop, %(field_names)r, _self))
...
...
Lib/subprocess.py
View file @
f3f3c464
...
...
@@ -707,7 +707,10 @@ class Popen(object):
def
__del__
(
self
,
_maxint
=
sys
.
maxint
,
_active
=
_active
):
if
not
self
.
_child_created
:
# If __init__ hasn't had a chance to execute (e.g. if it
# was passed an undeclared keyword argument), we don't
# have a _child_created attribute at all.
if
not
getattr
(
self
,
'_child_created'
,
False
):
# We didn't get to successfully create a child process.
return
# In case the child hasn't been waited on, check if it's done.
...
...
Lib/test/cjkencodings/iso2022_jp-utf8.txt
0 → 100644
View file @
f3f3c464
Python の開発は、1990 年ごろから開始されています。
開発者の Guido van Rossum は教育用のプログラミング言語「ABC」の開発に参加していましたが、ABC は実用上の目的にはあまり適していませんでした。
このため、Guido はより実用的なプログラミング言語の開発を開始し、英国 BBS 放送のコメディ番組「モンティ パイソン」のファンである Guido はこの言語を「Python」と名づけました。
このような背景から生まれた Python の言語設計は、「シンプル」で「習得が容易」という目標に重点が置かれています。
多くのスクリプト系言語ではユーザの目先の利便性を優先して色々な機能を言語要素として取り入れる場合が多いのですが、Python ではそういった小細工が追加されることはあまりありません。
言語自体の機能は最小限に押さえ、必要な機能は拡張モジュールとして追加する、というのが Python のポリシーです。
Lib/test/cjkencodings/iso2022_jp.txt
0 → 100644
View file @
f3f3c464
Python $B$N3+H/$O!"(B1990 $BG/$4$m$+$i3+;O$5$l$F$$$^$9!#(B
$B3+H/<T$N(B Guido van Rossum $B$O650iMQ$N%W%m%0%i%_%s%08@8l!V(BABC$B!W$N3+H/$K;22C$7$F$$$^$7$?$,!"(BABC $B$O<BMQ>e$NL\E*$K$O$"$^$jE,$7$F$$$^$;$s$G$7$?!#(B
$B$3$N$?$a!"(BGuido $B$O$h$j<BMQE*$J%W%m%0%i%_%s%08@8l$N3+H/$r3+;O$7!"1Q9q(B BBS $BJ|Aw$N%3%a%G%#HVAH!V%b%s%F%#(B $B%Q%$%=%s!W$N%U%!%s$G$"$k(B Guido $B$O$3$N8@8l$r!V(BPython$B!W$HL>$E$1$^$7$?!#(B
$B$3$N$h$&$JGX7J$+$i@8$^$l$?(B Python $B$N8@8l@_7W$O!"!V%7%s%W%k!W$G!V=,F@$,MF0W!W$H$$$&L\I8$K=EE@$,CV$+$l$F$$$^$9!#(B
$BB?$/$N%9%/%j%W%H7O8@8l$G$O%f!<%6$NL\@h$NMxJX@-$rM%@h$7$F?'!9$J5!G=$r8@8lMWAG$H$7$F<h$jF~$l$k>l9g$,B?$$$N$G$9$,!"(BPython $B$G$O$=$&$$$C$?>.:Y9)$,DI2C$5$l$k$3$H$O$"$^$j$"$j$^$;$s!#(B
$B8@8l<+BN$N5!G=$O:G>.8B$K2!$5$(!"I,MW$J5!G=$O3HD%%b%8%e!<%k$H$7$FDI2C$9$k!"$H$$$&$N$,(B Python $B$N%]%j%7!<$G$9!#(B
Lib/test/cjkencodings/iso2022_kr-utf8.txt
0 → 100644
View file @
f3f3c464
◎ 파이썬(Python)은 배우기 쉽고, 강력한 프로그래밍 언어입니다. 파이썬은
효율적인 고수준 데이터 구조와 간단하지만 효율적인 객체지향프로그래밍을
지원합니다. 파이썬의 우아(優雅)한 문법과 동적 타이핑, 그리고 인터프리팅
환경은 파이썬을 스크립팅과 여러 분야에서와 대부분의 플랫폼에서의 빠른
애플리케이션 개발을 할 수 있는 이상적인 언어로 만들어줍니다.
☆첫가끝: 날아라 쓩~ 큼! 금없이 전니다. 그런거 다.
Lib/test/cjkencodings/iso2022_kr.txt
0 → 100644
View file @
f3f3c464
$)C!] FD@L=c(Python)@: 9h?l1b =10m, 0-7BGQ GA7N1W7!9V >p>n@T4O4Y. FD@L=c@:
H?@2@{@N 0m<vAX 5%@LEM 18A6?M 0#4\GOAv88 H?@2@{@N 04C<AvGbGA7N1W7!9V@;
Av?xGU4O4Y. FD@L=c@G ?l>F(iPd:)GQ 9.9}0z 5?@{ E8@LGN, 1W8.0m @NEMGA8.FC
H/0f@: FD@L=c@; =:E)83FC0z ?)7/ :P>_?!<-?M 4k:N:P@G GC7'F{?!<-@G :|8%
>VGC8.DI@L<G 039_@; GR <v @V4B @L;s@{@N >p>n7N 885i>nA]4O4Y.
!YC90!3!: 3/>F6s >1~ E-! 1]>x@L @|4O4Y. 1W710E 4Y.
Lib/test/test_codecencodings_iso2022.py
0 → 100644
View file @
f3f3c464
#!/usr/bin/env python
#
# Codec encoding tests for ISO 2022 encodings.
from
test
import
test_support
from
test
import
test_multibytecodec_support
import
unittest
COMMON_CODEC_TESTS
=
(
# invalid bytes
(
b'ab
\
xFF
cd'
,
'replace'
,
u'ab
\
uFFFD
cd'
),
(
b'ab
\
x1B
def'
,
'replace'
,
u'ab
\
x1B
def'
),
(
b'ab
\
x1B
$def'
,
'replace'
,
u'ab
\
uFFFD
'
),
)
class
Test_ISO2022_JP
(
test_multibytecodec_support
.
TestBase
,
unittest
.
TestCase
):
encoding
=
'iso2022_jp'
tstring
=
test_multibytecodec_support
.
load_teststring
(
'iso2022_jp'
)
codectests
=
COMMON_CODEC_TESTS
+
(
(
b'ab
\
x1B
Ndef'
,
'replace'
,
u'ab
\
x1B
Ndef'
),
)
class
Test_ISO2022_JP2
(
test_multibytecodec_support
.
TestBase
,
unittest
.
TestCase
):
encoding
=
'iso2022_jp_2'
tstring
=
test_multibytecodec_support
.
load_teststring
(
'iso2022_jp'
)
codectests
=
COMMON_CODEC_TESTS
+
(
(
b'ab
\
x1B
Ndef'
,
'replace'
,
u'abdef'
),
)
class
Test_ISO2022_KR
(
test_multibytecodec_support
.
TestBase
,
unittest
.
TestCase
):
encoding
=
'iso2022_kr'
tstring
=
test_multibytecodec_support
.
load_teststring
(
'iso2022_kr'
)
codectests
=
COMMON_CODEC_TESTS
+
(
(
b'ab
\
x1B
Ndef'
,
'replace'
,
u'ab
\
x1B
Ndef'
),
)
# iso2022_kr.txt cannot be used to test "chunk coding": the escape
# sequence is only written on the first line
def
test_chunkcoding
(
self
):
pass
def
test_main
():
test_support
.
run_unittest
(
__name__
)
if
__name__
==
"__main__"
:
test_main
()
Lib/test/test_collections.py
View file @
f3f3c464
...
...
@@ -78,12 +78,12 @@ class TestNamedTuple(unittest.TestCase):
self
.
assertRaises
(
TypeError
,
eval
,
'Point(XXX=1, y=2)'
,
locals
())
# wrong keyword argument
self
.
assertRaises
(
TypeError
,
eval
,
'Point(x=1)'
,
locals
())
# missing keyword argument
self
.
assertEqual
(
repr
(
p
),
'Point(x=11, y=22)'
)
self
.
assertNotIn
(
'__dict__'
,
dir
(
p
))
# verify instance has no dict
self
.
assertNotIn
(
'__weakref__'
,
dir
(
p
))
self
.
assertEqual
(
p
,
Point
.
_make
([
11
,
22
]))
# test _make classmethod
self
.
assertEqual
(
p
.
_fields
,
(
'x'
,
'y'
))
# test _fields attribute
self
.
assertEqual
(
p
.
_replace
(
x
=
1
),
(
1
,
22
))
# test _replace method
self
.
assertEqual
(
p
.
_asdict
(),
dict
(
x
=
11
,
y
=
22
))
# test _asdict method
self
.
assertEqual
(
vars
(
p
),
p
.
_asdict
())
# verify that vars() works
try
:
p
.
_replace
(
x
=
1
,
error
=
2
)
...
...
Lib/test/test_multibytecodec_support.py
View file @
f3f3c464
...
...
@@ -50,7 +50,9 @@ class TestBase:
func
=
self
.
encode
if
expected
:
result
=
func
(
source
,
scheme
)[
0
]
self
.
assertEqual
(
result
,
expected
)
self
.
assertEqual
(
result
,
expected
,
'%r.decode(%r)=%r != %r'
%
(
source
,
self
.
encoding
,
result
,
expected
))
else
:
self
.
assertRaises
(
UnicodeError
,
func
,
source
,
scheme
)
...
...
Lib/test/test_subprocess.py
View file @
f3f3c464
...
...
@@ -113,6 +113,16 @@ class ProcessTestCase(BaseTestCase):
env
=
newenv
)
self
.
assertEqual
(
rc
,
1
)
def
test_invalid_args
(
self
):
# Popen() called with invalid arguments should raise TypeError
# but Popen.__del__ should not complain (issue #12085)
with
test_support
.
captured_stderr
()
as
s
:
self
.
assertRaises
(
TypeError
,
subprocess
.
Popen
,
invalid_arg_name
=
1
)
argcount
=
subprocess
.
Popen
.
__init__
.
__code__
.
co_argcount
too_many_args
=
[
0
]
*
(
argcount
+
1
)
self
.
assertRaises
(
TypeError
,
subprocess
.
Popen
,
*
too_many_args
)
self
.
assertEqual
(
s
.
getvalue
(),
''
)
def
test_stdin_none
(
self
):
# .stdin is None when not redirected
p
=
subprocess
.
Popen
([
sys
.
executable
,
"-c"
,
'print "banana"'
],
...
...
Lib/test/test_support.py
View file @
f3f3c464
...
...
@@ -833,6 +833,9 @@ def captured_stdout():
"""
return
captured_output
(
"stdout"
)
def
captured_stderr
():
return
captured_output
(
"stderr"
)
def
captured_stdin
():
return
captured_output
(
"stdin"
)
...
...
Misc/ACKS
View file @
f3f3c464
...
...
@@ -607,6 +607,7 @@ Piet van Oostrum
Jason Orendorff
Douglas Orr
Michele Orrù
Oleg Oshmyan
Denis S. Otkidach
Michael Otteneder
R. M. Oudkerk
...
...
Misc/NEWS
View file @
f3f3c464
Python
News
+++++++++++
What
's New in Python 2.7.3?
===========================
*Release date: XXXX-XX-XX*
Core and Builtins
-----------------
- Issue #1195: my_fgets() now always clears errors before calling fgets(). Fix
the following case: sys.stdin.read() stopped with CTRL+d (end of file),
raw_input() interrupted by CTRL+c.
Library
-------
- Named tuples now work correctly with vars().
- sys.setcheckinterval() now updates the current ticker count as well as updating
the check interval, so if the user decreases the check interval, the ticker
doesn'
t
have
to
wind
down
to
zero
from
the
old
starting
point
before
the
new
interval
takes
effect
.
And
if
the
user
increases
the
interval
,
it
makes
sure
the
new
limit
takes
effect
right
away
rather
have
an
early
task
switch
before
recognizing
the
new
interval
.
-
Issue
#
12085
:
Fix
an
attribute
error
in
subprocess
.
Popen
destructor
if
the
constructor
has
failed
,
e
.
g
.
because
of
an
undeclared
keyword
argument
.
Patch
written
by
Oleg
Oshmyan
.
Tests
-----
-
Issue
#
12057
:
Add
tests
for
ISO
2022
codecs
(
iso2022_jp
,
iso2022_jp_2
,
iso2022_kr
).
What
's New in Python 2.7.2?
===========================
...
...
Modules/threadmodule.c
View file @
f3f3c464
...
...
@@ -715,7 +715,7 @@ thread_PyThread_exit_thread(PyObject *self)
PyDoc_STRVAR
(
exit_doc
,
"exit()
\n
\
(
PyThread_
exit_thread() is an obsolete synonym)
\n
\
(exit_thread() is an obsolete synonym)
\n
\
\n
\
This is synonymous to ``raise SystemExit''. It will cause the current
\n
\
thread to exit silently unless the exception is caught."
);
...
...
Parser/myreadline.c
View file @
f3f3c464
...
...
@@ -44,6 +44,7 @@ my_fgets(char *buf, int len, FILE *fp)
if
(
PyOS_InputHook
!=
NULL
)
(
void
)(
PyOS_InputHook
)();
errno
=
0
;
clearerr
(
fp
);
p
=
fgets
(
buf
,
len
,
fp
);
if
(
p
!=
NULL
)
return
0
;
/* No error */
...
...
Python/sysmodule.c
View file @
f3f3c464
...
...
@@ -466,6 +466,7 @@ sys_setcheckinterval(PyObject *self, PyObject *args)
{
if
(
!
PyArg_ParseTuple
(
args
,
"i:setcheckinterval"
,
&
_Py_CheckInterval
))
return
NULL
;
_Py_Ticker
=
_Py_CheckInterval
;
Py_INCREF
(
Py_None
);
return
Py_None
;
}
...
...
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