Kaydet (Commit) 765531d2 authored tarafından Victor Stinner's avatar Victor Stinner

Issue #17516: use comment syntax for comments, instead of multiline string

üst 1f8898a5
...@@ -34,17 +34,15 @@ from _ctypes import FUNCFLAG_CDECL as _FUNCFLAG_CDECL, \ ...@@ -34,17 +34,15 @@ from _ctypes import FUNCFLAG_CDECL as _FUNCFLAG_CDECL, \
FUNCFLAG_USE_ERRNO as _FUNCFLAG_USE_ERRNO, \ FUNCFLAG_USE_ERRNO as _FUNCFLAG_USE_ERRNO, \
FUNCFLAG_USE_LASTERROR as _FUNCFLAG_USE_LASTERROR FUNCFLAG_USE_LASTERROR as _FUNCFLAG_USE_LASTERROR
""" # WINOLEAPI -> HRESULT
WINOLEAPI -> HRESULT # WINOLEAPI_(type)
WINOLEAPI_(type) #
# STDMETHODCALLTYPE
STDMETHODCALLTYPE #
# STDMETHOD(name)
STDMETHOD(name) # STDMETHOD_(type, name)
STDMETHOD_(type, name) #
# STDAPICALLTYPE
STDAPICALLTYPE
"""
def create_string_buffer(init, size=None): def create_string_buffer(init, size=None):
"""create_string_buffer(aBytes) -> character array """create_string_buffer(aBytes) -> character array
......
...@@ -5,17 +5,14 @@ from sys import getrefcount as grc ...@@ -5,17 +5,14 @@ from sys import getrefcount as grc
# XXX This test must be reviewed for correctness!!! # XXX This test must be reviewed for correctness!!!
""" # ctypes' types are container types.
ctypes' types are container types. #
# They have an internal memory block, which only consists of some bytes,
They have an internal memory block, which only consists of some bytes, # but it has to keep references to other objects as well. This is not
but it has to keep references to other objects as well. This is not # really needed for trivial C types like int or char, but it is important
really needed for trivial C types like int or char, but it is important # for aggregate types like strings or pointers in particular.
for aggregate types like strings or pointers in particular. #
# What about pointers?
What about pointers?
"""
class ObjectsTestCase(unittest.TestCase): class ObjectsTestCase(unittest.TestCase):
def assertSame(self, a, b): def assertSame(self, a, b):
......
...@@ -3,35 +3,33 @@ import sys ...@@ -3,35 +3,33 @@ import sys
import unittest import unittest
# Bob Ippolito: # Bob Ippolito:
""" #
Ok.. the code to find the filename for __getattr__ should look # Ok.. the code to find the filename for __getattr__ should look
something like: # something like:
#
import os # import os
from macholib.dyld import dyld_find # from macholib.dyld import dyld_find
#
def find_lib(name): # def find_lib(name):
possible = ['lib'+name+'.dylib', name+'.dylib', # possible = ['lib'+name+'.dylib', name+'.dylib',
name+'.framework/'+name] # name+'.framework/'+name]
for dylib in possible: # for dylib in possible:
try: # try:
return os.path.realpath(dyld_find(dylib)) # return os.path.realpath(dyld_find(dylib))
except ValueError: # except ValueError:
pass # pass
raise ValueError, "%s not found" % (name,) # raise ValueError, "%s not found" % (name,)
#
It'll have output like this: # It'll have output like this:
#
>>> find_lib('pthread') # >>> find_lib('pthread')
'/usr/lib/libSystem.B.dylib' # '/usr/lib/libSystem.B.dylib'
>>> find_lib('z') # >>> find_lib('z')
'/usr/lib/libz.1.dylib' # '/usr/lib/libz.1.dylib'
>>> find_lib('IOKit') # >>> find_lib('IOKit')
'/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit' # '/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit'
#
-bob # -bob
"""
from ctypes.macholib.dyld import dyld_find from ctypes.macholib.dyld import dyld_find
......
This diff is collapsed.
...@@ -1317,24 +1317,22 @@ RouteComponentMarker = ValueTerminal('@', 'route-component-marker') ...@@ -1317,24 +1317,22 @@ RouteComponentMarker = ValueTerminal('@', 'route-component-marker')
# Parser # Parser
# #
"""Parse strings according to RFC822/2047/2822/5322 rules. # Parse strings according to RFC822/2047/2822/5322 rules.
#
This is a stateless parser. Each get_XXX function accepts a string and # This is a stateless parser. Each get_XXX function accepts a string and
returns either a Terminal or a TokenList representing the RFC object named # returns either a Terminal or a TokenList representing the RFC object named
by the method and a string containing the remaining unparsed characters # by the method and a string containing the remaining unparsed characters
from the input. Thus a parser method consumes the next syntactic construct # from the input. Thus a parser method consumes the next syntactic construct
of a given type and returns a token representing the construct plus the # of a given type and returns a token representing the construct plus the
unparsed remainder of the input string. # unparsed remainder of the input string.
#
For example, if the first element of a structured header is a 'phrase', # For example, if the first element of a structured header is a 'phrase',
then: # then:
#
phrase, value = get_phrase(value) # phrase, value = get_phrase(value)
#
returns the complete phrase from the start of the string value, plus any # returns the complete phrase from the start of the string value, plus any
characters left in the string after the phrase is removed. # characters left in the string after the phrase is removed.
"""
_wsp_splitter = re.compile(r'([{}]+)'.format(''.join(WSP))).split _wsp_splitter = re.compile(r'([{}]+)'.format(''.join(WSP))).split
_non_atom_end_matcher = re.compile(r"[^{}]+".format( _non_atom_end_matcher = re.compile(r"[^{}]+".format(
......
...@@ -299,101 +299,100 @@ def _call_with_frames_removed(f, *args, **kwds): ...@@ -299,101 +299,100 @@ def _call_with_frames_removed(f, *args, **kwds):
# Finder/loader utility code ############################################### # Finder/loader utility code ###############################################
"""Magic word to reject .pyc files generated by other Python versions. # Magic word to reject .pyc files generated by other Python versions.
It should change for each incompatible change to the bytecode. # It should change for each incompatible change to the bytecode.
#
The value of CR and LF is incorporated so if you ever read or write # The value of CR and LF is incorporated so if you ever read or write
a .pyc file in text mode the magic number will be wrong; also, the # a .pyc file in text mode the magic number will be wrong; also, the
Apple MPW compiler swaps their values, botching string constants. # Apple MPW compiler swaps their values, botching string constants.
#
The magic numbers must be spaced apart at least 2 values, as the # The magic numbers must be spaced apart at least 2 values, as the
-U interpeter flag will cause MAGIC+1 being used. They have been # -U interpeter flag will cause MAGIC+1 being used. They have been
odd numbers for some time now. # odd numbers for some time now.
#
There were a variety of old schemes for setting the magic number. # There were a variety of old schemes for setting the magic number.
The current working scheme is to increment the previous value by # The current working scheme is to increment the previous value by
10. # 10.
#
Starting with the adoption of PEP 3147 in Python 3.2, every bump in magic # Starting with the adoption of PEP 3147 in Python 3.2, every bump in magic
number also includes a new "magic tag", i.e. a human readable string used # number also includes a new "magic tag", i.e. a human readable string used
to represent the magic number in __pycache__ directories. When you change # to represent the magic number in __pycache__ directories. When you change
the magic number, you must also set a new unique magic tag. Generally this # the magic number, you must also set a new unique magic tag. Generally this
can be named after the Python major version of the magic number bump, but # can be named after the Python major version of the magic number bump, but
it can really be anything, as long as it's different than anything else # it can really be anything, as long as it's different than anything else
that's come before. The tags are included in the following table, starting # that's come before. The tags are included in the following table, starting
with Python 3.2a0. # with Python 3.2a0.
#
Known values: # Known values:
Python 1.5: 20121 # Python 1.5: 20121
Python 1.5.1: 20121 # Python 1.5.1: 20121
Python 1.5.2: 20121 # Python 1.5.2: 20121
Python 1.6: 50428 # Python 1.6: 50428
Python 2.0: 50823 # Python 2.0: 50823
Python 2.0.1: 50823 # Python 2.0.1: 50823
Python 2.1: 60202 # Python 2.1: 60202
Python 2.1.1: 60202 # Python 2.1.1: 60202
Python 2.1.2: 60202 # Python 2.1.2: 60202
Python 2.2: 60717 # Python 2.2: 60717
Python 2.3a0: 62011 # Python 2.3a0: 62011
Python 2.3a0: 62021 # Python 2.3a0: 62021
Python 2.3a0: 62011 (!) # Python 2.3a0: 62011 (!)
Python 2.4a0: 62041 # Python 2.4a0: 62041
Python 2.4a3: 62051 # Python 2.4a3: 62051
Python 2.4b1: 62061 # Python 2.4b1: 62061
Python 2.5a0: 62071 # Python 2.5a0: 62071
Python 2.5a0: 62081 (ast-branch) # Python 2.5a0: 62081 (ast-branch)
Python 2.5a0: 62091 (with) # Python 2.5a0: 62091 (with)
Python 2.5a0: 62092 (changed WITH_CLEANUP opcode) # Python 2.5a0: 62092 (changed WITH_CLEANUP opcode)
Python 2.5b3: 62101 (fix wrong code: for x, in ...) # Python 2.5b3: 62101 (fix wrong code: for x, in ...)
Python 2.5b3: 62111 (fix wrong code: x += yield) # Python 2.5b3: 62111 (fix wrong code: x += yield)
Python 2.5c1: 62121 (fix wrong lnotab with for loops and # Python 2.5c1: 62121 (fix wrong lnotab with for loops and
storing constants that should have been removed) # storing constants that should have been removed)
Python 2.5c2: 62131 (fix wrong code: for x, in ... in listcomp/genexp) # Python 2.5c2: 62131 (fix wrong code: for x, in ... in listcomp/genexp)
Python 2.6a0: 62151 (peephole optimizations and STORE_MAP opcode) # Python 2.6a0: 62151 (peephole optimizations and STORE_MAP opcode)
Python 2.6a1: 62161 (WITH_CLEANUP optimization) # Python 2.6a1: 62161 (WITH_CLEANUP optimization)
Python 2.7a0: 62171 (optimize list comprehensions/change LIST_APPEND) # Python 2.7a0: 62171 (optimize list comprehensions/change LIST_APPEND)
Python 2.7a0: 62181 (optimize conditional branches: # Python 2.7a0: 62181 (optimize conditional branches:
introduce POP_JUMP_IF_FALSE and POP_JUMP_IF_TRUE) # introduce POP_JUMP_IF_FALSE and POP_JUMP_IF_TRUE)
Python 2.7a0 62191 (introduce SETUP_WITH) # Python 2.7a0 62191 (introduce SETUP_WITH)
Python 2.7a0 62201 (introduce BUILD_SET) # Python 2.7a0 62201 (introduce BUILD_SET)
Python 2.7a0 62211 (introduce MAP_ADD and SET_ADD) # Python 2.7a0 62211 (introduce MAP_ADD and SET_ADD)
Python 3000: 3000 # Python 3000: 3000
3010 (removed UNARY_CONVERT) # 3010 (removed UNARY_CONVERT)
3020 (added BUILD_SET) # 3020 (added BUILD_SET)
3030 (added keyword-only parameters) # 3030 (added keyword-only parameters)
3040 (added signature annotations) # 3040 (added signature annotations)
3050 (print becomes a function) # 3050 (print becomes a function)
3060 (PEP 3115 metaclass syntax) # 3060 (PEP 3115 metaclass syntax)
3061 (string literals become unicode) # 3061 (string literals become unicode)
3071 (PEP 3109 raise changes) # 3071 (PEP 3109 raise changes)
3081 (PEP 3137 make __file__ and __name__ unicode) # 3081 (PEP 3137 make __file__ and __name__ unicode)
3091 (kill str8 interning) # 3091 (kill str8 interning)
3101 (merge from 2.6a0, see 62151) # 3101 (merge from 2.6a0, see 62151)
3103 (__file__ points to source file) # 3103 (__file__ points to source file)
Python 3.0a4: 3111 (WITH_CLEANUP optimization). # Python 3.0a4: 3111 (WITH_CLEANUP optimization).
Python 3.0a5: 3131 (lexical exception stacking, including POP_EXCEPT) # Python 3.0a5: 3131 (lexical exception stacking, including POP_EXCEPT)
Python 3.1a0: 3141 (optimize list, set and dict comprehensions: # Python 3.1a0: 3141 (optimize list, set and dict comprehensions:
change LIST_APPEND and SET_ADD, add MAP_ADD) # change LIST_APPEND and SET_ADD, add MAP_ADD)
Python 3.1a0: 3151 (optimize conditional branches: # Python 3.1a0: 3151 (optimize conditional branches:
introduce POP_JUMP_IF_FALSE and POP_JUMP_IF_TRUE) # introduce POP_JUMP_IF_FALSE and POP_JUMP_IF_TRUE)
Python 3.2a0: 3160 (add SETUP_WITH) # Python 3.2a0: 3160 (add SETUP_WITH)
tag: cpython-32 # tag: cpython-32
Python 3.2a1: 3170 (add DUP_TOP_TWO, remove DUP_TOPX and ROT_FOUR) # Python 3.2a1: 3170 (add DUP_TOP_TWO, remove DUP_TOPX and ROT_FOUR)
tag: cpython-32 # tag: cpython-32
Python 3.2a2 3180 (add DELETE_DEREF) # Python 3.2a2 3180 (add DELETE_DEREF)
Python 3.3a0 3190 __class__ super closure changed # Python 3.3a0 3190 __class__ super closure changed
Python 3.3a0 3200 (__qualname__ added) # Python 3.3a0 3200 (__qualname__ added)
3210 (added size modulo 2**32 to the pyc header) # 3210 (added size modulo 2**32 to the pyc header)
Python 3.3a1 3220 (changed PEP 380 implementation) # Python 3.3a1 3220 (changed PEP 380 implementation)
Python 3.3a4 3230 (revert changes to implicit __class__ closure) # Python 3.3a4 3230 (revert changes to implicit __class__ closure)
Python 3.4a1 3250 (evaluate positional default arguments before # Python 3.4a1 3250 (evaluate positional default arguments before
keyword-only defaults) # keyword-only defaults)
#
MAGIC must change whenever the bytecode emitted by the compiler may no # MAGIC must change whenever the bytecode emitted by the compiler may no
longer be understood by older implementations of the eval loop (usually # longer be understood by older implementations of the eval loop (usually
due to the addition of new opcodes). # due to the addition of new opcodes).
"""
_MAGIC_BYTES = (3250).to_bytes(2, 'little') + b'\r\n' _MAGIC_BYTES = (3250).to_bytes(2, 'little') + b'\r\n'
_RAW_MAGIC_NUMBER = int.from_bytes(_MAGIC_BYTES, 'little') _RAW_MAGIC_NUMBER = int.from_bytes(_MAGIC_BYTES, 'little')
......
...@@ -825,10 +825,9 @@ class SysLogHandler(logging.Handler): ...@@ -825,10 +825,9 @@ class SysLogHandler(logging.Handler):
msg = self.ident + msg msg = self.ident + msg
if self.append_nul: if self.append_nul:
msg += '\000' msg += '\000'
"""
We need to convert record level to lowercase, maybe this will # We need to convert record level to lowercase, maybe this will
change in the future. # change in the future.
"""
prio = '<%d>' % self.encodePriority(self.facility, prio = '<%d>' % self.encodePriority(self.facility,
self.mapPriority(record.levelname)) self.mapPriority(record.levelname))
prio = prio.encode('utf-8') prio = prio.encode('utf-8')
......
This diff is collapsed.
...@@ -2,37 +2,35 @@ import unittest ...@@ -2,37 +2,35 @@ import unittest
from test import support from test import support
from _testcapi import getargs_keywords, getargs_keyword_only from _testcapi import getargs_keywords, getargs_keyword_only
""" # > How about the following counterproposal. This also changes some of
> How about the following counterproposal. This also changes some of # > the other format codes to be a little more regular.
> the other format codes to be a little more regular. # >
> # > Code C type Range check
> Code C type Range check # >
> # > b unsigned char 0..UCHAR_MAX
> b unsigned char 0..UCHAR_MAX # > h signed short SHRT_MIN..SHRT_MAX
> h signed short SHRT_MIN..SHRT_MAX # > B unsigned char none **
> B unsigned char none ** # > H unsigned short none **
> H unsigned short none ** # > k * unsigned long none
> k * unsigned long none # > I * unsigned int 0..UINT_MAX
> I * unsigned int 0..UINT_MAX #
#
# > i int INT_MIN..INT_MAX
> i int INT_MIN..INT_MAX # > l long LONG_MIN..LONG_MAX
> l long LONG_MIN..LONG_MAX #
# > K * unsigned long long none
> K * unsigned long long none # > L long long LLONG_MIN..LLONG_MAX
> L long long LLONG_MIN..LLONG_MAX #
# > Notes:
> Notes: # >
> # > * New format codes.
> * New format codes. # >
> # > ** Changed from previous "range-and-a-half" to "none"; the
> ** Changed from previous "range-and-a-half" to "none"; the # > range-and-a-half checking wasn't particularly useful.
> range-and-a-half checking wasn't particularly useful. #
# Plus a C API or two, e.g. PyInt_AsLongMask() ->
Plus a C API or two, e.g. PyInt_AsLongMask() -> # unsigned long and PyInt_AsLongLongMask() -> unsigned
unsigned long and PyInt_AsLongLongMask() -> unsigned # long long (if that exists).
long long (if that exists).
"""
LARGE = 0x7FFFFFFF LARGE = 0x7FFFFFFF
VERY_LARGE = 0xFF0000121212121212121242 VERY_LARGE = 0xFF0000121212121212121242
......
...@@ -1337,8 +1337,8 @@ def XMLID(text, parser=None): ...@@ -1337,8 +1337,8 @@ def XMLID(text, parser=None):
ids[id] = elem ids[id] = elem
return tree, ids return tree, ids
# Parse XML document from string constant. Alias for XML().
fromstring = XML fromstring = XML
"""Parse XML document from string constant. Alias for XML()."""
def fromstringlist(sequence, parser=None): def fromstringlist(sequence, parser=None):
"""Parse XML document from sequence of string fragments. """Parse XML document from sequence of string fragments.
......
...@@ -52,8 +52,8 @@ verbose = False ...@@ -52,8 +52,8 @@ verbose = False
recurse = False recurse = False
dryrun = False dryrun = False
makebackup = True makebackup = True
# A specified newline to be used in the output (set by --newline option)
spec_newline = None spec_newline = None
"""A specified newline to be used in the output (set by --newline option)"""
def usage(msg=None): def usage(msg=None):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment