#11515: fix several typos. Patch by Piotr Kasprzyk.

This commit is contained in:
Ezio Melotti 2011-03-15 05:18:48 +02:00
parent f6db0bbbee
commit 42da663e6f
41 changed files with 1609 additions and 1608 deletions

View File

@ -116,7 +116,7 @@ class FunctionTestCase(unittest.TestCase):
self.assertEqual(result, 21) self.assertEqual(result, 21)
self.assertEqual(type(result), int) self.assertEqual(type(result), int)
# You cannot assing character format codes as restype any longer # You cannot assign character format codes as restype any longer
self.assertRaises(TypeError, setattr, f, "restype", "i") self.assertRaises(TypeError, setattr, f, "restype", "i")
def test_floatresult(self): def test_floatresult(self):

View File

@ -5710,7 +5710,7 @@ def _parse_format_specifier(format_spec, _localeconv=None):
def _format_align(sign, body, spec): def _format_align(sign, body, spec):
"""Given an unpadded, non-aligned numeric string 'body' and sign """Given an unpadded, non-aligned numeric string 'body' and sign
string 'sign', add padding and aligment conforming to the given string 'sign', add padding and alignment conforming to the given
format specifier dictionary 'spec' (as produced by format specifier dictionary 'spec' (as produced by
parse_format_specifier). parse_format_specifier).

View File

@ -17,7 +17,7 @@ class MIMEApplication(MIMENonMultipart):
_encoder=encoders.encode_base64, **_params): _encoder=encoders.encode_base64, **_params):
"""Create an application/* type MIME document. """Create an application/* type MIME document.
_data is a string containing the raw applicatoin data. _data is a string containing the raw application data.
_subtype is the MIME content type subtype, defaulting to _subtype is the MIME content type subtype, defaulting to
'octet-stream'. 'octet-stream'.

View File

@ -298,7 +298,7 @@ class GNUTranslations(NullTranslations):
# Note: we unconditionally convert both msgids and msgstrs to # Note: we unconditionally convert both msgids and msgstrs to
# Unicode using the character encoding specified in the charset # Unicode using the character encoding specified in the charset
# parameter of the Content-Type header. The gettext documentation # parameter of the Content-Type header. The gettext documentation
# strongly encourages msgids to be us-ascii, but some appliations # strongly encourages msgids to be us-ascii, but some applications
# require alternative encodings (e.g. Zope's ZCML and ZPT). For # require alternative encodings (e.g. Zope's ZCML and ZPT). For
# traditional gettext applications, the msgid conversion will # traditional gettext applications, the msgid conversion will
# cause no problems since us-ascii should always be a subset of # cause no problems since us-ascii should always be a subset of

View File

@ -799,7 +799,7 @@ class HTTPConnection:
del self._buffer[:] del self._buffer[:]
# If msg and message_body are sent in a single send() call, # If msg and message_body are sent in a single send() call,
# it will avoid performance problems caused by the interaction # it will avoid performance problems caused by the interaction
# between delayed ack and the Nagle algorithim. # between delayed ack and the Nagle algorithm.
if isinstance(message_body, bytes): if isinstance(message_body, bytes):
msg += message_body msg += message_body
message_body = None message_body = None

View File

@ -105,8 +105,8 @@ class EditorWindow(object):
self.top = top = WindowList.ListedToplevel(root, menu=self.menubar) self.top = top = WindowList.ListedToplevel(root, menu=self.menubar)
if flist: if flist:
self.tkinter_vars = flist.vars self.tkinter_vars = flist.vars
#self.top.instance_dict makes flist.inversedict avalable to #self.top.instance_dict makes flist.inversedict available to
#configDialog.py so it can access all EditorWindow instaces #configDialog.py so it can access all EditorWindow instances
self.top.instance_dict = flist.inversedict self.top.instance_dict = flist.inversedict
else: else:
self.tkinter_vars = {} # keys: Tkinter event names self.tkinter_vars = {} # keys: Tkinter event names

View File

@ -13,7 +13,7 @@ What's New in IDLEfork 0.8.1?
- New tarball released as a result of the 'revitalisation' of the IDLEfork - New tarball released as a result of the 'revitalisation' of the IDLEfork
project. project.
- This release requires python 2.1 or better. Compatability with earlier - This release requires python 2.1 or better. Compatibility with earlier
versions of python (especially ancient ones like 1.5x) is no longer a versions of python (especially ancient ones like 1.5x) is no longer a
priority in IDLEfork development. priority in IDLEfork development.

View File

@ -162,7 +162,7 @@ def _check_name(method):
loader can handle. loader can handle.
The first argument (self) must define _name which the second argument is The first argument (self) must define _name which the second argument is
comapred against. If the comparison fails then ImportError is raised. compared against. If the comparison fails then ImportError is raised.
""" """
def inner(self, name, *args, **kwargs): def inner(self, name, *args, **kwargs):

View File

@ -103,7 +103,7 @@ class NNTP:
readermode is sometimes necessary if you are connecting to an readermode is sometimes necessary if you are connecting to an
NNTP server on the local machine and intend to call NNTP server on the local machine and intend to call
reader-specific comamnds, such as `group'. If you get reader-specific commands, such as `group'. If you get
unexpected NNTPPermanentErrors, you might need to set unexpected NNTPPermanentErrors, you might need to set
readermode. readermode.
""" """

View File

@ -5,7 +5,7 @@
# file handles. # file handles.
# The point of this example is to show that sys.setrecursionlimit() is a # The point of this example is to show that sys.setrecursionlimit() is a
# hack, and not a robust solution. This example simply exercices a path # hack, and not a robust solution. This example simply exercises a path
# where it takes many C-level recursions, consuming a lot of stack # where it takes many C-level recursions, consuming a lot of stack
# space, for each Python-level recursion. So 1000 times this amount of # space, for each Python-level recursion. So 1000 times this amount of
# stack space may be too much for standard platforms already. # stack space may be too much for standard platforms already.

View File

@ -177,7 +177,7 @@ if 1:
self.assertEqual(eval("-" + all_one_bits), -18446744073709551615) self.assertEqual(eval("-" + all_one_bits), -18446744073709551615)
else: else:
self.fail("How many bits *does* this machine have???") self.fail("How many bits *does* this machine have???")
# Verify treatment of contant folding on -(sys.maxsize+1) # Verify treatment of constant folding on -(sys.maxsize+1)
# i.e. -2147483648 on 32 bit platforms. Should return int, not long. # i.e. -2147483648 on 32 bit platforms. Should return int, not long.
self.assertTrue(isinstance(eval("%s" % (-sys.maxsize - 1)), int)) self.assertTrue(isinstance(eval("%s" % (-sys.maxsize - 1)), int))
self.assertTrue(isinstance(eval("%s" % (-sys.maxsize - 2)), int)) self.assertTrue(isinstance(eval("%s" % (-sys.maxsize - 2)), int))

View File

@ -777,7 +777,7 @@ class ClassPropertiesAndMethods(unittest.TestCase):
# see "A Monotonic Superclass Linearization for Dylan", # see "A Monotonic Superclass Linearization for Dylan",
# by Kim Barrett et al. (OOPSLA 1996) # by Kim Barrett et al. (OOPSLA 1996)
def test_consistency_with_epg(self): def test_consistency_with_epg(self):
# Testing consistentcy with EPG... # Testing consistency with EPG...
class Pane(object): pass class Pane(object): pass
class ScrollingMixin(object): pass class ScrollingMixin(object): pass
class EditingMixin(object): pass class EditingMixin(object): pass

View File

@ -273,7 +273,7 @@ class StatAttributeTests(unittest.TestCase):
except TypeError: except TypeError:
pass pass
# Use the constructr with a too-long tuple. # Use the constructor with a too-long tuple.
try: try:
result2 = os.stat_result((0,1,2,3,4,5,6,7,8,9,10,11,12,13,14)) result2 = os.stat_result((0,1,2,3,4,5,6,7,8,9,10,11,12,13,14))
except TypeError: except TypeError:
@ -320,7 +320,7 @@ class StatAttributeTests(unittest.TestCase):
except TypeError: except TypeError:
pass pass
# Use the constructr with a too-long tuple. # Use the constructor with a too-long tuple.
try: try:
result2 = os.statvfs_result((0,1,2,3,4,5,6,7,8,9,10,11,12,13,14)) result2 = os.statvfs_result((0,1,2,3,4,5,6,7,8,9,10,11,12,13,14))
except TypeError: except TypeError:

View File

@ -7,7 +7,7 @@ from weakref import proxy
# Misc tests from Tim Peters' re.doc # Misc tests from Tim Peters' re.doc
# WARNING: Don't change details in these tests if you don't know # WARNING: Don't change details in these tests if you don't know
# what you're doing. Some of these tests were carefuly modeled to # what you're doing. Some of these tests were carefully modeled to
# cover most of the code. # cover most of the code.
import unittest import unittest

View File

@ -584,7 +584,7 @@ class TestSet(TestJointOps):
self.le_called = True self.le_called = True
return False return False
# This first tries the bulitin rich set comparison, which doesn't know # This first tries the builtin rich set comparison, which doesn't know
# how to handle the custom object. Upon returning NotImplemented, the # how to handle the custom object. Upon returning NotImplemented, the
# corresponding comparison on the right object is invoked. # corresponding comparison on the right object is invoked.
myset = {1, 2, 3} myset = {1, 2, 3}

View File

@ -93,7 +93,7 @@ class ModuleTest(unittest.TestCase):
# test all parameters used # test all parameters used
class CheckAllUsedFormatter(string.Formatter): class CheckAllUsedFormatter(string.Formatter):
def check_unused_args(self, used_args, args, kwargs): def check_unused_args(self, used_args, args, kwargs):
# Track which arguments actuallly got used # Track which arguments actually got used
unused_args = set(kwargs.keys()) unused_args = set(kwargs.keys())
unused_args.update(range(0, len(args))) unused_args.update(range(0, len(args)))

View File

@ -692,7 +692,7 @@ class PyCatchWarningTests(CatchWarningTests):
class BootstrapTest(unittest.TestCase): class BootstrapTest(unittest.TestCase):
def test_issue_8766(self): def test_issue_8766(self):
# "import encodings" emits a warning whereas the warnings is not loaded # "import encodings" emits a warning whereas the warnings is not loaded
# or not completly loaded (warnings imports indirectly encodings by # or not completely loaded (warnings imports indirectly encodings by
# importing linecache) yet # importing linecache) yet
cwd = tempfile.mkdtemp() cwd = tempfile.mkdtemp()
try: try:

View File

@ -1607,7 +1607,7 @@ class Wm:
class Tk(Misc, Wm): class Tk(Misc, Wm):
"""Toplevel widget of Tk which represents mostly the main window """Toplevel widget of Tk which represents mostly the main window
of an appliation. It has an associated Tcl interpreter.""" of an application. It has an associated Tcl interpreter."""
_w = '.' _w = '.'
def __init__(self, screenName=None, baseName=None, className='Tk', def __init__(self, screenName=None, baseName=None, className='Tk',
useTk=1, sync=0, use=None): useTk=1, sync=0, use=None):

View File

@ -148,7 +148,7 @@ class tixCommand:
extensions) exist, then the image type is chosen according to the extensions) exist, then the image type is chosen according to the
depth of the X display: xbm images are chosen on monochrome depth of the X display: xbm images are chosen on monochrome
displays and color images are chosen on color displays. By using displays and color images are chosen on color displays. By using
tix_ getimage, you can advoid hard coding the pathnames of the tix_ getimage, you can avoid hard coding the pathnames of the
image files in your application. When successful, this command image files in your application. When successful, this command
returns the name of the newly created image, which can be used to returns the name of the newly created image, which can be used to
configure the -image option of the Tk and Tix widgets. configure the -image option of the Tk and Tix widgets.

View File

@ -993,7 +993,7 @@ class Panedwindow(Widget, tkinter.PanedWindow):
pane is either an integer index or the name of a managed subwindow. pane is either an integer index or the name of a managed subwindow.
If kw is not given, returns a dict of the pane option values. If If kw is not given, returns a dict of the pane option values. If
option is specified then the value for that option is returned. option is specified then the value for that option is returned.
Otherwise, sets the options to the correspoding values.""" Otherwise, sets the options to the corresponding values."""
if option is not None: if option is not None:
kw[option] = None kw[option] = None
return _val_or_dict(kw, self.tk.call, self._w, "pane", pane) return _val_or_dict(kw, self.tk.call, self._w, "pane", pane)

View File

@ -1464,7 +1464,7 @@ class TurtleScreen(TurtleScreenBase):
Optional argument: Optional argument:
picname -- a string, name of a gif-file or "nopic". picname -- a string, name of a gif-file or "nopic".
If picname is a filename, set the corresponing image as background. If picname is a filename, set the corresponding image as background.
If picname is "nopic", delete backgroundimage, if present. If picname is "nopic", delete backgroundimage, if present.
If picname is None, return the filename of the current backgroundimage. If picname is None, return the filename of the current backgroundimage.
@ -3352,7 +3352,7 @@ class RawTurtle(TPen, TNavigator):
def dot(self, size=None, *color): def dot(self, size=None, *color):
"""Draw a dot with diameter size, using color. """Draw a dot with diameter size, using color.
Optional argumentS: Optional arguments:
size -- an integer >= 1 (if given) size -- an integer >= 1 (if given)
color -- a colorstring or a numeric color tuple color -- a colorstring or a numeric color tuple

View File

@ -1464,7 +1464,7 @@ class ElementInfo(object):
return False return False
def isId(self, aname): def isId(self, aname):
"""Returns true iff the named attribte is a DTD-style ID.""" """Returns true iff the named attribute is a DTD-style ID."""
return False return False
def isIdNS(self, namespaceURI, localName): def isIdNS(self, namespaceURI, localName):

View File

@ -98,7 +98,7 @@ UNIVERSALARCHS = '32-bit'
ARCHLIST = universal_opts_map[UNIVERSALARCHS] ARCHLIST = universal_opts_map[UNIVERSALARCHS]
# Source directory (asume we're in Mac/BuildScript) # Source directory (assume we're in Mac/BuildScript)
SRCDIR = os.path.dirname( SRCDIR = os.path.dirname(
os.path.dirname( os.path.dirname(
os.path.dirname( os.path.dirname(

View File

@ -413,6 +413,7 @@ Kurt B. Kaiser
Tamito Kajiyama Tamito Kajiyama
Peter van Kampen Peter van Kampen
Jacob Kaplan-Moss Jacob Kaplan-Moss
Piotr Kasprzyk
Lou Kates Lou Kates
Hiroaki Kawai Hiroaki Kawai
Sebastien Keim Sebastien Keim

View File

@ -49,7 +49,7 @@
So, there are 4 data structures holding processed arguments: So, there are 4 data structures holding processed arguments:
- the inargs tuple (in PyCFuncPtr_call) - the inargs tuple (in PyCFuncPtr_call)
- the callargs tuple (in PyCFuncPtr_call) - the callargs tuple (in PyCFuncPtr_call)
- the 'struct argguments' array - the 'struct arguments' array
- the 'void *' array - the 'void *' array
*/ */

View File

@ -59,24 +59,24 @@ enum { ASM_NEEDS_REGISTERS = 4 };
The stack layout we want looks like this: The stack layout we want looks like this:
| Return address from ffi_call_DARWIN | higher addresses | Return address from ffi_call_DARWIN | higher addresses
|--------------------------------------------| |--------------------------------------------|
| Previous backchain pointer 4 | stack pointer here | Previous backchain pointer 4 | stack pointer here
|--------------------------------------------|<+ <<< on entry to |--------------------------------------------|<+ <<< on entry to
| Saved r28-r31 4*4 | | ffi_call_DARWIN | Saved r28-r31 4*4 | | ffi_call_DARWIN
|--------------------------------------------| | |--------------------------------------------| |
| Parameters (at least 8*4=32) | | | Parameters (at least 8*4=32) | |
|--------------------------------------------| | |--------------------------------------------| |
| Space for GPR2 4 | | | Space for GPR2 4 | |
|--------------------------------------------| | stack | |--------------------------------------------| | stack |
| Reserved 2*4 | | grows | | Reserved 2*4 | | grows |
|--------------------------------------------| | down V |--------------------------------------------| | down V
| Space for callee's LR 4 | | | Space for callee's LR 4 | |
|--------------------------------------------| | lower addresses |--------------------------------------------| | lower addresses
| Saved CR 4 | | | Saved CR 4 | |
|--------------------------------------------| | stack pointer here |--------------------------------------------| | stack pointer here
| Current backchain pointer 4 |-/ during | Current backchain pointer 4 |-/ during
|--------------------------------------------| <<< ffi_call_DARWIN |--------------------------------------------| <<< ffi_call_DARWIN
*/ */
@ -123,106 +123,106 @@ void ffi_prep_args(extended_cif *ecif, unsigned *const stack)
i--, ptr++, p_argv++) i--, ptr++, p_argv++)
{ {
switch ((*ptr)->type) switch ((*ptr)->type)
{ {
/* If a floating-point parameter appears before all of the general- /* If a floating-point parameter appears before all of the general-
purpose registers are filled, the corresponding GPRs that match purpose registers are filled, the corresponding GPRs that match
the size of the floating-point parameter are skipped. */ the size of the floating-point parameter are skipped. */
case FFI_TYPE_FLOAT: case FFI_TYPE_FLOAT:
double_tmp = *(float *)*p_argv; double_tmp = *(float *)*p_argv;
if (fparg_count >= NUM_FPR_ARG_REGISTERS) if (fparg_count >= NUM_FPR_ARG_REGISTERS)
*(double *)next_arg = double_tmp; *(double *)next_arg = double_tmp;
else else
*fpr_base++ = double_tmp; *fpr_base++ = double_tmp;
next_arg++; next_arg++;
fparg_count++; fparg_count++;
FFI_ASSERT(flags & FLAG_FP_ARGUMENTS); FFI_ASSERT(flags & FLAG_FP_ARGUMENTS);
break; break;
case FFI_TYPE_DOUBLE: case FFI_TYPE_DOUBLE:
double_tmp = *(double *)*p_argv; double_tmp = *(double *)*p_argv;
if (fparg_count >= NUM_FPR_ARG_REGISTERS) if (fparg_count >= NUM_FPR_ARG_REGISTERS)
*(double *)next_arg = double_tmp; *(double *)next_arg = double_tmp;
else else
*fpr_base++ = double_tmp; *fpr_base++ = double_tmp;
next_arg += 2; next_arg += 2;
fparg_count++; fparg_count++;
FFI_ASSERT(flags & FLAG_FP_ARGUMENTS); FFI_ASSERT(flags & FLAG_FP_ARGUMENTS);
break; break;
#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE #if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
case FFI_TYPE_LONGDOUBLE: case FFI_TYPE_LONGDOUBLE:
double_tmp = ((double *)*p_argv)[0]; double_tmp = ((double *)*p_argv)[0];
if (fparg_count >= NUM_FPR_ARG_REGISTERS) if (fparg_count >= NUM_FPR_ARG_REGISTERS)
*(double *)next_arg = double_tmp; *(double *)next_arg = double_tmp;
else else
*fpr_base++ = double_tmp; *fpr_base++ = double_tmp;
next_arg += 2; next_arg += 2;
fparg_count++; fparg_count++;
double_tmp = ((double *)*p_argv)[1]; double_tmp = ((double *)*p_argv)[1];
if (fparg_count >= NUM_FPR_ARG_REGISTERS) if (fparg_count >= NUM_FPR_ARG_REGISTERS)
*(double *)next_arg = double_tmp; *(double *)next_arg = double_tmp;
else else
*fpr_base++ = double_tmp; *fpr_base++ = double_tmp;
next_arg += 2; next_arg += 2;
fparg_count++; fparg_count++;
FFI_ASSERT(flags & FLAG_FP_ARGUMENTS); FFI_ASSERT(flags & FLAG_FP_ARGUMENTS);
break; break;
#endif #endif
case FFI_TYPE_UINT64: case FFI_TYPE_UINT64:
case FFI_TYPE_SINT64: case FFI_TYPE_SINT64:
*(long long *)next_arg = *(long long *)*p_argv; *(long long *)next_arg = *(long long *)*p_argv;
next_arg+=2; next_arg+=2;
break; break;
case FFI_TYPE_UINT8: case FFI_TYPE_UINT8:
gprvalue = *(unsigned char *)*p_argv; gprvalue = *(unsigned char *)*p_argv;
goto putgpr; goto putgpr;
case FFI_TYPE_SINT8: case FFI_TYPE_SINT8:
gprvalue = *(signed char *)*p_argv; gprvalue = *(signed char *)*p_argv;
goto putgpr; goto putgpr;
case FFI_TYPE_UINT16: case FFI_TYPE_UINT16:
gprvalue = *(unsigned short *)*p_argv; gprvalue = *(unsigned short *)*p_argv;
goto putgpr; goto putgpr;
case FFI_TYPE_SINT16: case FFI_TYPE_SINT16:
gprvalue = *(signed short *)*p_argv; gprvalue = *(signed short *)*p_argv;
goto putgpr; goto putgpr;
case FFI_TYPE_STRUCT: case FFI_TYPE_STRUCT:
dest_cpy = (char *) next_arg; dest_cpy = (char *) next_arg;
/* Structures that match the basic modes (QI 1 byte, HI 2 bytes, /* Structures that match the basic modes (QI 1 byte, HI 2 bytes,
SI 4 bytes) are aligned as if they were those modes. SI 4 bytes) are aligned as if they were those modes.
Structures with 3 byte in size are padded upwards. */ Structures with 3 byte in size are padded upwards. */
size_al = (*ptr)->size; size_al = (*ptr)->size;
/* If the first member of the struct is a double, then align /* If the first member of the struct is a double, then align
the struct to double-word. the struct to double-word.
Type 3 is defined in include/ffi.h. #define FFI_TYPE_DOUBLE 3. */ Type 3 is defined in include/ffi.h. #define FFI_TYPE_DOUBLE 3. */
if ((*ptr)->elements[0]->type == 3) if ((*ptr)->elements[0]->type == 3)
size_al = ALIGN((*ptr)->size, 8); size_al = ALIGN((*ptr)->size, 8);
if (size_al < 3 && ecif->cif->abi == FFI_DARWIN) if (size_al < 3 && ecif->cif->abi == FFI_DARWIN)
dest_cpy += 4 - size_al; dest_cpy += 4 - size_al;
memcpy((char *)dest_cpy, (char *)*p_argv, size_al); memcpy((char *)dest_cpy, (char *)*p_argv, size_al);
next_arg += (size_al + 3) / 4; next_arg += (size_al + 3) / 4;
break; break;
case FFI_TYPE_INT: case FFI_TYPE_INT:
case FFI_TYPE_UINT32: case FFI_TYPE_UINT32:
case FFI_TYPE_SINT32: case FFI_TYPE_SINT32:
case FFI_TYPE_POINTER: case FFI_TYPE_POINTER:
gprvalue = *(unsigned *)*p_argv; gprvalue = *(unsigned *)*p_argv;
putgpr: putgpr:
*next_arg++ = gprvalue; *next_arg++ = gprvalue;
break; break;
default: default:
break; break;
} }
} }
/* Check that we didn't overrun the stack... */ /* Check that we didn't overrun the stack... */
//FFI_ASSERT(gpr_base <= stacktop - ASM_NEEDS_REGISTERS); //FFI_ASSERT(gpr_base <= stacktop - ASM_NEEDS_REGISTERS);
//FFI_ASSERT((unsigned *)fpr_base //FFI_ASSERT((unsigned *)fpr_base
// <= stacktop - ASM_NEEDS_REGISTERS - NUM_GPR_ARG_REGISTERS); // <= stacktop - ASM_NEEDS_REGISTERS - NUM_GPR_ARG_REGISTERS);
//FFI_ASSERT(flags & FLAG_4_GPR_ARGUMENTS || intarg_count <= 4); //FFI_ASSERT(flags & FLAG_4_GPR_ARGUMENTS || intarg_count <= 4);
} }
@ -246,15 +246,15 @@ darwin_adjust_aggregate_sizes (ffi_type *s)
p = s->elements[i]; p = s->elements[i];
darwin_adjust_aggregate_sizes (p); darwin_adjust_aggregate_sizes (p);
if (i == 0 if (i == 0
&& (p->type == FFI_TYPE_UINT64 && (p->type == FFI_TYPE_UINT64
|| p->type == FFI_TYPE_SINT64 || p->type == FFI_TYPE_SINT64
|| p->type == FFI_TYPE_DOUBLE || p->type == FFI_TYPE_DOUBLE
|| p->alignment == 8)) || p->alignment == 8))
align = 8; align = 8;
else if (p->alignment == 16 || p->alignment < 4) else if (p->alignment == 16 || p->alignment < 4)
align = p->alignment; align = p->alignment;
else else
align = 4; align = 4;
s->size = ALIGN(s->size, align) + p->size; s->size = ALIGN(s->size, align) + p->size;
} }
@ -287,7 +287,7 @@ ffi_status ffi_prep_cif_machdep(ffi_cif *cif)
{ {
darwin_adjust_aggregate_sizes (cif->rtype); darwin_adjust_aggregate_sizes (cif->rtype);
for (i = 0; i < cif->nargs; i++) for (i = 0; i < cif->nargs; i++)
darwin_adjust_aggregate_sizes (cif->arg_types[i]); darwin_adjust_aggregate_sizes (cif->arg_types[i]);
} }
/* Space for the frame pointer, callee's LR, CR, etc, and for /* Space for the frame pointer, callee's LR, CR, etc, and for
@ -348,58 +348,58 @@ ffi_status ffi_prep_cif_machdep(ffi_cif *cif)
for (ptr = cif->arg_types, i = cif->nargs; i > 0; i--, ptr++) for (ptr = cif->arg_types, i = cif->nargs; i > 0; i--, ptr++)
{ {
switch ((*ptr)->type) switch ((*ptr)->type)
{ {
case FFI_TYPE_FLOAT: case FFI_TYPE_FLOAT:
case FFI_TYPE_DOUBLE: case FFI_TYPE_DOUBLE:
fparg_count++; fparg_count++;
/* If this FP arg is going on the stack, it must be /* If this FP arg is going on the stack, it must be
8-byte-aligned. */ 8-byte-aligned. */
if (fparg_count > NUM_FPR_ARG_REGISTERS if (fparg_count > NUM_FPR_ARG_REGISTERS
&& intarg_count%2 != 0) && intarg_count%2 != 0)
intarg_count++; intarg_count++;
break; break;
#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE #if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
case FFI_TYPE_LONGDOUBLE: case FFI_TYPE_LONGDOUBLE:
fparg_count += 2; fparg_count += 2;
/* If this FP arg is going on the stack, it must be /* If this FP arg is going on the stack, it must be
8-byte-aligned. */ 8-byte-aligned. */
if (fparg_count > NUM_FPR_ARG_REGISTERS if (fparg_count > NUM_FPR_ARG_REGISTERS
&& intarg_count%2 != 0) && intarg_count%2 != 0)
intarg_count++; intarg_count++;
intarg_count +=2; intarg_count +=2;
break; break;
#endif #endif
case FFI_TYPE_UINT64: case FFI_TYPE_UINT64:
case FFI_TYPE_SINT64: case FFI_TYPE_SINT64:
/* 'long long' arguments are passed as two words, but /* 'long long' arguments are passed as two words, but
either both words must fit in registers or both go either both words must fit in registers or both go
on the stack. If they go on the stack, they must on the stack. If they go on the stack, they must
be 8-byte-aligned. */ be 8-byte-aligned. */
if (intarg_count == NUM_GPR_ARG_REGISTERS-1 if (intarg_count == NUM_GPR_ARG_REGISTERS-1
|| (intarg_count >= NUM_GPR_ARG_REGISTERS && intarg_count%2 != 0)) || (intarg_count >= NUM_GPR_ARG_REGISTERS && intarg_count%2 != 0))
intarg_count++; intarg_count++;
intarg_count += 2; intarg_count += 2;
break; break;
case FFI_TYPE_STRUCT: case FFI_TYPE_STRUCT:
size_al = (*ptr)->size; size_al = (*ptr)->size;
/* If the first member of the struct is a double, then align /* If the first member of the struct is a double, then align
the struct to double-word. the struct to double-word.
Type 3 is defined in include/ffi.h. #define FFI_TYPE_DOUBLE 3. */ Type 3 is defined in include/ffi.h. #define FFI_TYPE_DOUBLE 3. */
if ((*ptr)->elements[0]->type == 3) if ((*ptr)->elements[0]->type == 3)
size_al = ALIGN((*ptr)->size, 8); size_al = ALIGN((*ptr)->size, 8);
intarg_count += (size_al + 3) / 4; intarg_count += (size_al + 3) / 4;
break; break;
default: default:
/* Everything else is passed as a 4-byte word in a GPR, either /* Everything else is passed as a 4-byte word in a GPR, either
the object itself or a pointer to it. */ the object itself or a pointer to it. */
intarg_count++; intarg_count++;
break; break;
} }
} }
if (fparg_count != 0) if (fparg_count != 0)
@ -425,9 +425,9 @@ ffi_status ffi_prep_cif_machdep(ffi_cif *cif)
} }
extern void ffi_call_AIX(extended_cif *, unsigned, unsigned, unsigned *, extern void ffi_call_AIX(extended_cif *, unsigned, unsigned, unsigned *,
void (*fn)(void), void (*fn2)(void)); void (*fn)(void), void (*fn2)(void));
extern void ffi_call_DARWIN(extended_cif *, unsigned, unsigned, unsigned *, extern void ffi_call_DARWIN(extended_cif *, unsigned, unsigned, unsigned *,
void (*fn)(void), void (*fn2)(void)); void (*fn)(void), void (*fn2)(void));
void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue) void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
{ {
@ -451,11 +451,11 @@ void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
{ {
case FFI_AIX: case FFI_AIX:
ffi_call_AIX(&ecif, -cif->bytes, cif->flags, ecif.rvalue, fn, ffi_call_AIX(&ecif, -cif->bytes, cif->flags, ecif.rvalue, fn,
ffi_prep_args); ffi_prep_args);
break; break;
case FFI_DARWIN: case FFI_DARWIN:
ffi_call_DARWIN(&ecif, -cif->bytes, cif->flags, ecif.rvalue, fn, ffi_call_DARWIN(&ecif, -cif->bytes, cif->flags, ecif.rvalue, fn,
ffi_prep_args); ffi_prep_args);
break; break;
default: default:
FFI_ASSERT(0); FFI_ASSERT(0);
@ -478,61 +478,61 @@ typedef struct aix_fd_struct {
and aix_clsoure.S and aix_clsoure.S
SP previous -> +---------------------------------------+ <--- child frame SP previous -> +---------------------------------------+ <--- child frame
| back chain to caller 4 | | back chain to caller 4 |
+---------------------------------------+ 4 +---------------------------------------+ 4
| saved CR 4 | | saved CR 4 |
+---------------------------------------+ 8 +---------------------------------------+ 8
| saved LR 4 | | saved LR 4 |
+---------------------------------------+ 12 +---------------------------------------+ 12
| reserved for compilers 4 | | reserved for compilers 4 |
+---------------------------------------+ 16 +---------------------------------------+ 16
| reserved for binders 4 | | reserved for binders 4 |
+---------------------------------------+ 20 +---------------------------------------+ 20
| saved TOC pointer 4 | | saved TOC pointer 4 |
+---------------------------------------+ 24 +---------------------------------------+ 24
| always reserved 8*4=32 (previous GPRs)| | always reserved 8*4=32 (previous GPRs)|
| according to the linkage convention | | according to the linkage convention |
| from AIX | | from AIX |
+---------------------------------------+ 56 +---------------------------------------+ 56
| our FPR area 13*8=104 | | our FPR area 13*8=104 |
| f1 | | f1 |
| . | | . |
| f13 | | f13 |
+---------------------------------------+ 160 +---------------------------------------+ 160
| result area 8 | | result area 8 |
+---------------------------------------+ 168 +---------------------------------------+ 168
| alignement to the next multiple of 16 | | alignment to the next multiple of 16 |
SP current --> +---------------------------------------+ 176 <- parent frame SP current --> +---------------------------------------+ 176 <- parent frame
| back chain to caller 4 | | back chain to caller 4 |
+---------------------------------------+ 180 +---------------------------------------+ 180
| saved CR 4 | | saved CR 4 |
+---------------------------------------+ 184 +---------------------------------------+ 184
| saved LR 4 | | saved LR 4 |
+---------------------------------------+ 188 +---------------------------------------+ 188
| reserved for compilers 4 | | reserved for compilers 4 |
+---------------------------------------+ 192 +---------------------------------------+ 192
| reserved for binders 4 | | reserved for binders 4 |
+---------------------------------------+ 196 +---------------------------------------+ 196
| saved TOC pointer 4 | | saved TOC pointer 4 |
+---------------------------------------+ 200 +---------------------------------------+ 200
| always reserved 8*4=32 we store our | | always reserved 8*4=32 we store our |
| GPRs here | | GPRs here |
| r3 | | r3 |
| . | | . |
| r10 | | r10 |
+---------------------------------------+ 232 +---------------------------------------+ 232
| overflow part | | overflow part |
+---------------------------------------+ xxx +---------------------------------------+ xxx
| ???? | | ???? |
+---------------------------------------+ xxx +---------------------------------------+ xxx
*/ */
ffi_status ffi_status
ffi_prep_closure_loc (ffi_closure* closure, ffi_prep_closure_loc (ffi_closure* closure,
ffi_cif* cif, ffi_cif* cif,
void (*fun)(ffi_cif*, void*, void**, void*), void (*fun)(ffi_cif*, void*, void**, void*),
void *user_data, void *user_data,
void *codeloc) void *codeloc)
{ {
unsigned int *tramp; unsigned int *tramp;
struct ffi_aix_trampoline_struct *tramp_aix; struct ffi_aix_trampoline_struct *tramp_aix;
@ -592,12 +592,12 @@ flush_icache(char *addr)
{ {
#ifndef _AIX #ifndef _AIX
__asm__ volatile ( __asm__ volatile (
"dcbf 0,%0\n" "dcbf 0,%0\n"
"\tsync\n" "\tsync\n"
"\ticbi 0,%0\n" "\ticbi 0,%0\n"
"\tsync\n" "\tsync\n"
"\tisync" "\tisync"
: : "r"(addr) : "memory"); : : "r"(addr) : "memory");
#endif #endif
} }
@ -618,7 +618,7 @@ typedef union
} ffi_dblfl; } ffi_dblfl;
int ffi_closure_helper_DARWIN (ffi_closure*, void*, int ffi_closure_helper_DARWIN (ffi_closure*, void*,
unsigned long*, ffi_dblfl*); unsigned long*, ffi_dblfl*);
/* Basically the trampoline invokes ffi_closure_ASM, and on /* Basically the trampoline invokes ffi_closure_ASM, and on
entry, r11 holds the address of the closure. entry, r11 holds the address of the closure.
@ -628,7 +628,7 @@ int ffi_closure_helper_DARWIN (ffi_closure*, void*,
following helper function to do most of the work. */ following helper function to do most of the work. */
int ffi_closure_helper_DARWIN (ffi_closure* closure, void * rvalue, int ffi_closure_helper_DARWIN (ffi_closure* closure, void * rvalue,
unsigned long * pgr, ffi_dblfl * pfr) unsigned long * pgr, ffi_dblfl * pfr)
{ {
/* rvalue is the pointer to space for return value in closure assembly /* rvalue is the pointer to space for return value in closure assembly
pgr is the pointer to where r3-r10 are stored in ffi_closure_ASM pgr is the pointer to where r3-r10 are stored in ffi_closure_ASM
@ -675,121 +675,121 @@ int ffi_closure_helper_DARWIN (ffi_closure* closure, void * rvalue,
while (i < avn) while (i < avn)
{ {
switch (arg_types[i]->type) switch (arg_types[i]->type)
{ {
case FFI_TYPE_SINT8: case FFI_TYPE_SINT8:
case FFI_TYPE_UINT8: case FFI_TYPE_UINT8:
avalue[i] = (char *) pgr + 3; avalue[i] = (char *) pgr + 3;
ng++; ng++;
pgr++; pgr++;
break; break;
case FFI_TYPE_SINT16: case FFI_TYPE_SINT16:
case FFI_TYPE_UINT16: case FFI_TYPE_UINT16:
avalue[i] = (char *) pgr + 2; avalue[i] = (char *) pgr + 2;
ng++; ng++;
pgr++; pgr++;
break; break;
case FFI_TYPE_SINT32: case FFI_TYPE_SINT32:
case FFI_TYPE_UINT32: case FFI_TYPE_UINT32:
case FFI_TYPE_POINTER: case FFI_TYPE_POINTER:
avalue[i] = pgr; avalue[i] = pgr;
ng++; ng++;
pgr++; pgr++;
break; break;
case FFI_TYPE_STRUCT: case FFI_TYPE_STRUCT:
/* Structures that match the basic modes (QI 1 byte, HI 2 bytes, /* Structures that match the basic modes (QI 1 byte, HI 2 bytes,
SI 4 bytes) are aligned as if they were those modes. */ SI 4 bytes) are aligned as if they were those modes. */
size_al = arg_types[i]->size; size_al = arg_types[i]->size;
/* If the first member of the struct is a double, then align /* If the first member of the struct is a double, then align
the struct to double-word. the struct to double-word.
Type 3 is defined in include/ffi.h. #define FFI_TYPE_DOUBLE 3. */ Type 3 is defined in include/ffi.h. #define FFI_TYPE_DOUBLE 3. */
if (arg_types[i]->elements[0]->type == 3) if (arg_types[i]->elements[0]->type == 3)
size_al = ALIGN(arg_types[i]->size, 8); size_al = ALIGN(arg_types[i]->size, 8);
if (size_al < 3 && cif->abi == FFI_DARWIN) if (size_al < 3 && cif->abi == FFI_DARWIN)
avalue[i] = (void*) pgr + 4 - size_al; avalue[i] = (void*) pgr + 4 - size_al;
else else
avalue[i] = (void*) pgr; avalue[i] = (void*) pgr;
ng += (size_al + 3) / 4; ng += (size_al + 3) / 4;
pgr += (size_al + 3) / 4; pgr += (size_al + 3) / 4;
break; break;
case FFI_TYPE_SINT64: case FFI_TYPE_SINT64:
case FFI_TYPE_UINT64: case FFI_TYPE_UINT64:
/* Long long ints are passed in two gpr's. */ /* Long long ints are passed in two gpr's. */
avalue[i] = pgr; avalue[i] = pgr;
ng += 2; ng += 2;
pgr += 2; pgr += 2;
break; break;
case FFI_TYPE_FLOAT: case FFI_TYPE_FLOAT:
/* A float value consumes a GPR. /* A float value consumes a GPR.
There are 13 64bit floating point registers. */ There are 13 64bit floating point registers. */
if (nf < NUM_FPR_ARG_REGISTERS) if (nf < NUM_FPR_ARG_REGISTERS)
{ {
temp = pfr->d; temp = pfr->d;
pfr->f = (float)temp; pfr->f = (float)temp;
avalue[i] = pfr; avalue[i] = pfr;
pfr++; pfr++;
} }
else else
{ {
avalue[i] = pgr; avalue[i] = pgr;
} }
nf++; nf++;
ng++; ng++;
pgr++; pgr++;
break; break;
case FFI_TYPE_DOUBLE: case FFI_TYPE_DOUBLE:
/* A double value consumes two GPRs. /* A double value consumes two GPRs.
There are 13 64bit floating point registers. */ There are 13 64bit floating point registers. */
if (nf < NUM_FPR_ARG_REGISTERS) if (nf < NUM_FPR_ARG_REGISTERS)
{ {
avalue[i] = pfr; avalue[i] = pfr;
pfr++; pfr++;
} }
else else
{ {
avalue[i] = pgr; avalue[i] = pgr;
} }
nf++; nf++;
ng += 2; ng += 2;
pgr += 2; pgr += 2;
break; break;
#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE #if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
case FFI_TYPE_LONGDOUBLE: case FFI_TYPE_LONGDOUBLE:
/* A long double value consumes four GPRs and two FPRs. /* A long double value consumes four GPRs and two FPRs.
There are 13 64bit floating point registers. */ There are 13 64bit floating point registers. */
if (nf < NUM_FPR_ARG_REGISTERS - 1) if (nf < NUM_FPR_ARG_REGISTERS - 1)
{ {
avalue[i] = pfr; avalue[i] = pfr;
pfr += 2; pfr += 2;
} }
/* Here we have the situation where one part of the long double /* Here we have the situation where one part of the long double
is stored in fpr13 and the other part is already on the stack. is stored in fpr13 and the other part is already on the stack.
We use a union to pass the long double to avalue[i]. */ We use a union to pass the long double to avalue[i]. */
else if (nf == NUM_FPR_ARG_REGISTERS - 1) else if (nf == NUM_FPR_ARG_REGISTERS - 1)
{ {
memcpy (&temp_ld.lb[0], pfr, sizeof(ldbits)); memcpy (&temp_ld.lb[0], pfr, sizeof(ldbits));
memcpy (&temp_ld.lb[1], pgr + 2, sizeof(ldbits)); memcpy (&temp_ld.lb[1], pgr + 2, sizeof(ldbits));
avalue[i] = &temp_ld.ld; avalue[i] = &temp_ld.ld;
} }
else else
{ {
avalue[i] = pgr; avalue[i] = pgr;
} }
nf += 2; nf += 2;
ng += 4; ng += 4;
pgr += 4; pgr += 4;
break; break;
#endif #endif
default: default:
FFI_ASSERT(0); FFI_ASSERT(0);
} }
i++; i++;
} }

File diff suppressed because it is too large Load Diff

View File

@ -1106,7 +1106,7 @@ whichtable(char **pfmt)
case '>': case '>':
case '!': /* Network byte order is big-endian */ case '!': /* Network byte order is big-endian */
return bigendian_table; return bigendian_table;
case '=': { /* Host byte order -- different from native in aligment! */ case '=': { /* Host byte order -- different from native in alignment! */
int n = 1; int n = 1;
char *p = (char *) &n; char *p = (char *) &n;
if (*p == 1) if (*p == 1)

View File

@ -442,7 +442,7 @@ _ldict(localobject *self)
self->args, self->kw) < 0) { self->args, self->kw) < 0) {
/* we need to get rid of ldict from thread so /* we need to get rid of ldict from thread so
we create a new one the next time we do an attr we create a new one the next time we do an attr
acces */ access */
PyDict_DelItem(tdict, self->key); PyDict_DelItem(tdict, self->key);
return NULL; return NULL;
} }

View File

@ -1554,7 +1554,7 @@ validate_expr_stmt(node *tree)
|| strcmp(s, ">>=") == 0 || strcmp(s, ">>=") == 0
|| strcmp(s, "**=") == 0); || strcmp(s, "**=") == 0);
if (!res) if (!res)
err_string("illegal augmmented assignment operator"); err_string("illegal augmented assignment operator");
} }
} }
else { else {

View File

@ -1102,7 +1102,7 @@ get_code_from_data(ZipImporter *self, int ispackage, int isbytecode,
return code; return code;
} }
/* Get the code object assoiciated with the module specified by /* Get the code object associated with the module specified by
'fullname'. */ 'fullname'. */
static PyObject * static PyObject *
get_module_code(ZipImporter *self, char *fullname, get_module_code(ZipImporter *self, char *fullname,

View File

@ -936,12 +936,12 @@ bytearray_repr(PyByteArrayObject *self)
static PyObject * static PyObject *
bytearray_str(PyObject *op) bytearray_str(PyObject *op)
{ {
if (Py_BytesWarningFlag) { if (Py_BytesWarningFlag) {
if (PyErr_WarnEx(PyExc_BytesWarning, if (PyErr_WarnEx(PyExc_BytesWarning,
"str() on a bytearray instance", 1)) "str() on a bytearray instance", 1))
return NULL; return NULL;
} }
return bytearray_repr((PyByteArrayObject*)op); return bytearray_repr((PyByteArrayObject*)op);
} }
static PyObject * static PyObject *
@ -1459,7 +1459,7 @@ done:
static PyObject * static PyObject *
bytearray_maketrans(PyObject *null, PyObject *args) bytearray_maketrans(PyObject *null, PyObject *args)
{ {
return _Py_bytes_maketrans(args); return _Py_bytes_maketrans(args);
} }
@ -2626,7 +2626,7 @@ bytearray_extend(PyByteArrayObject *self, PyObject *arg)
if (it == NULL) if (it == NULL)
return NULL; return NULL;
/* Try to determine the length of the argument. 32 is abitrary. */ /* Try to determine the length of the argument. 32 is arbitrary. */
buf_size = _PyObject_LengthHint(arg, 32); buf_size = _PyObject_LengthHint(arg, 32);
if (buf_size == -1) { if (buf_size == -1) {
Py_DECREF(it); Py_DECREF(it);

View File

@ -495,7 +495,7 @@ PyObject *PyBytes_DecodeEscape(const char *s,
default: default:
*p++ = '\\'; *p++ = '\\';
s--; s--;
goto non_esc; /* an arbitry number of unescaped goto non_esc; /* an arbitrary number of unescaped
UTF-8 bytes may follow. */ UTF-8 bytes may follow. */
} }
} }

View File

@ -3020,7 +3020,7 @@ ah*bh and al*bl too.
* of slices, each with a->ob_size digits, and multiply the slices by a, * of slices, each with a->ob_size digits, and multiply the slices by a,
* one at a time. This gives k_mul balanced inputs to work with, and is * one at a time. This gives k_mul balanced inputs to work with, and is
* also cache-friendly (we compute one double-width slice of the result * also cache-friendly (we compute one double-width slice of the result
* at a time, then move on, never bactracking except for the helpful * at a time, then move on, never backtracking except for the helpful
* single-width slice overlap between successive partial sums). * single-width slice overlap between successive partial sums).
*/ */
static PyLongObject * static PyLongObject *

View File

@ -6,7 +6,7 @@
*/ */
/* Defines for Python 2.6 compatability */ /* Defines for Python 2.6 compatibility */
#if PY_VERSION_HEX < 0x03000000 #if PY_VERSION_HEX < 0x03000000
#define PyLong_FromSsize_t _PyLong_FromSsize_t #define PyLong_FromSsize_t _PyLong_FromSsize_t
#endif #endif

View File

@ -62,7 +62,7 @@
* instead showing the user an empty listbox to select something from. * instead showing the user an empty listbox to select something from.
* *
* Finish the code so that we can use other python installations * Finish the code so that we can use other python installations
* additionaly to those found in the registry, * additionally to those found in the registry,
* and then #define USE_OTHER_PYTHON_VERSIONS * and then #define USE_OTHER_PYTHON_VERSIONS
* *
* - install a help-button, which will display something meaningful * - install a help-button, which will display something meaningful

View File

@ -23,7 +23,7 @@ __version__ = 'SPARK-0.7 (pre-alpha-5)'
import re import re
# Compatability with older pythons. # Compatibility with older pythons.
def output(string='', end='\n'): def output(string='', end='\n'):
sys.stdout.write(string + end) sys.stdout.write(string + end)

View File

@ -732,7 +732,7 @@ PyErr_WarnEx(PyObject *category, const char *text, Py_ssize_t stack_level)
return 0; return 0;
} }
/* PyErr_Warn is only for backwards compatability and will be removed. /* PyErr_Warn is only for backwards compatibility and will be removed.
Use PyErr_WarnEx instead. */ Use PyErr_WarnEx instead. */
#undef PyErr_Warn #undef PyErr_Warn

View File

@ -174,7 +174,7 @@ mingw_lib = os.path.join(srcdir, PCBUILD, "libpython%s%s.a" % (major, minor))
have_mingw = build_mingw_lib(lib_file, def_file, dll_file, mingw_lib) have_mingw = build_mingw_lib(lib_file, def_file, dll_file, mingw_lib)
# Determine the target architechture # Determine the target architecture
dll_path = os.path.join(srcdir, PCBUILD, dll_file) dll_path = os.path.join(srcdir, PCBUILD, dll_file)
msilib.set_arch_from_file(dll_path) msilib.set_arch_from_file(dll_path)
if msilib.pe_type(dll_path) != msilib.pe_type("msisupport.dll"): if msilib.pe_type(dll_path) != msilib.pe_type("msisupport.dll"):

View File

@ -682,7 +682,7 @@ class Benchmark:
other_total_avg_time = other_total_avg_time + other_avg_time other_total_avg_time = other_total_avg_time + other_avg_time
if (benchmarks_compatible and if (benchmarks_compatible and
test.compatible(other)): test.compatible(other)):
# Both benchmark and tests are comparible # Both benchmark and tests are comparable
min_diff = ((min_time * self.warp) / min_diff = ((min_time * self.warp) /
(other_min_time * other.warp) - 1.0) (other_min_time * other.warp) - 1.0)
avg_diff = ((avg_time * self.warp) / avg_diff = ((avg_time * self.warp) /
@ -696,7 +696,7 @@ class Benchmark:
else: else:
avg_diff = '%+5.1f%%' % (avg_diff * PERCENT) avg_diff = '%+5.1f%%' % (avg_diff * PERCENT)
else: else:
# Benchmark or tests are not comparible # Benchmark or tests are not comparable
min_diff, avg_diff = 'n/a', 'n/a' min_diff, avg_diff = 'n/a', 'n/a'
tests_compatible = 0 tests_compatible = 0
print('%30s: %5.0fms %5.0fms %7s %5.0fms %5.0fms %7s' % \ print('%30s: %5.0fms %5.0fms %7s %5.0fms %5.0fms %7s' % \

View File

@ -882,7 +882,7 @@ class PyBuildExt(build_ext):
db_dirs_to_check = tmp db_dirs_to_check = tmp
# Look for a version specific db-X.Y before an ambiguoius dbX # Look for a version specific db-X.Y before an ambiguous dbX
# XXX should we -ever- look for a dbX name? Do any # XXX should we -ever- look for a dbX name? Do any
# systems really not name their library by version and # systems really not name their library by version and
# symlink to more general names? # symlink to more general names?