From 8b16ec65a2ba7f94fcf7ba1410084a3ddfc5983c Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Mon, 9 Sep 2024 15:22:13 +0200 Subject: [PATCH] [3.12] Fix typos (#123775) (#123867) Fix typos (#123775) (cherry picked from commit 9017b95ff2dcff16bcb0b0a609ed2b0daa845943) Co-authored-by: algonell --- Lib/enum.py | 2 +- Lib/test/decimaltestdata/ddFMA.decTest | 2 +- Lib/test/decimaltestdata/ddQuantize.decTest | 2 +- Lib/test/decimaltestdata/ddRemainder.decTest | 2 +- Lib/test/decimaltestdata/ddRemainderNear.decTest | 2 +- Lib/test/decimaltestdata/dqRemainder.decTest | 2 +- Lib/test/decimaltestdata/dqRemainderNear.decTest | 2 +- Lib/test/decimaltestdata/exp.decTest | 2 +- Lib/test/decimaltestdata/remainder.decTest | 2 +- Lib/test/decimaltestdata/remainderNear.decTest | 2 +- Lib/test/ieee754.txt | 2 +- Lib/test/libregrtest/main.py | 2 +- Lib/test/libregrtest/utils.py | 2 +- Lib/test/pickletester.py | 2 +- Lib/test/test_concurrent_futures/test_deadlock.py | 4 ++-- Lib/test/test_enum.py | 2 +- Lib/test/test_fractions.py | 2 +- Lib/test/test_fstring.py | 4 ++-- Lib/test/test_getpath.py | 4 ++-- Lib/test/test_math.py | 2 +- Lib/test/test_property.py | 2 +- Lib/test/test_socket.py | 2 +- Lib/test/test_string_literals.py | 2 +- Lib/test/test_zipfile/test_core.py | 4 ++-- Lib/turtledemo/sorting_animate.py | 2 +- Misc/coverity_model.c | 2 +- Tools/c-analyzer/c_parser/preprocessor/gcc.py | 2 +- configure | 2 +- configure.ac | 8 ++++---- 29 files changed, 36 insertions(+), 36 deletions(-) diff --git a/Lib/enum.py b/Lib/enum.py index af5613838d1..d9859b3c0a9 100644 --- a/Lib/enum.py +++ b/Lib/enum.py @@ -487,7 +487,7 @@ class _EnumDict(dict): # accepts iterable as multiple arguments? value = t(auto_valued) except TypeError: - # then pass them in singlely + # then pass them in singly value = t(*auto_valued) self._member_names[key] = None if non_auto_store: diff --git a/Lib/test/decimaltestdata/ddFMA.decTest b/Lib/test/decimaltestdata/ddFMA.decTest index 9094fc015bd..7f2e5230374 100644 --- a/Lib/test/decimaltestdata/ddFMA.decTest +++ b/Lib/test/decimaltestdata/ddFMA.decTest @@ -1663,7 +1663,7 @@ ddfma375087 fma 1 12345678 1E-33 -> 12345678.00000001 Inexac ddfma375088 fma 1 12345678 1E-34 -> 12345678.00000001 Inexact Rounded ddfma375089 fma 1 12345678 1E-35 -> 12345678.00000001 Inexact Rounded --- desctructive subtraction (from remainder tests) +-- destructive subtraction (from remainder tests) -- +++ some of these will be off-by-one remainder vs remainderNear diff --git a/Lib/test/decimaltestdata/ddQuantize.decTest b/Lib/test/decimaltestdata/ddQuantize.decTest index 91776201694..e1c5674d9ac 100644 --- a/Lib/test/decimaltestdata/ddQuantize.decTest +++ b/Lib/test/decimaltestdata/ddQuantize.decTest @@ -462,7 +462,7 @@ ddqua520 quantize 1.234 1e359 -> 0E+359 Inexact Rounded ddqua521 quantize 123.456 1e359 -> 0E+359 Inexact Rounded ddqua522 quantize 1.234 1e359 -> 0E+359 Inexact Rounded ddqua523 quantize 123.456 1e359 -> 0E+359 Inexact Rounded --- next four are "won't fit" overfl +-- next four are "won't fit" overflow ddqua526 quantize 1.234 1e-299 -> NaN Invalid_operation ddqua527 quantize 123.456 1e-299 -> NaN Invalid_operation ddqua528 quantize 1.234 1e-299 -> NaN Invalid_operation diff --git a/Lib/test/decimaltestdata/ddRemainder.decTest b/Lib/test/decimaltestdata/ddRemainder.decTest index 5bd1e32d01e..b1866d39a28 100644 --- a/Lib/test/decimaltestdata/ddRemainder.decTest +++ b/Lib/test/decimaltestdata/ddRemainder.decTest @@ -422,7 +422,7 @@ ddrem757 remainder 1 sNaN -> NaN Invalid_operation ddrem758 remainder 1000 sNaN -> NaN Invalid_operation ddrem759 remainder Inf -sNaN -> -NaN Invalid_operation --- propaging NaNs +-- propagating NaNs ddrem760 remainder NaN1 NaN7 -> NaN1 ddrem761 remainder sNaN2 NaN8 -> NaN2 Invalid_operation ddrem762 remainder NaN3 sNaN9 -> NaN9 Invalid_operation diff --git a/Lib/test/decimaltestdata/ddRemainderNear.decTest b/Lib/test/decimaltestdata/ddRemainderNear.decTest index 6ba64ebafe9..bbe82ea3747 100644 --- a/Lib/test/decimaltestdata/ddRemainderNear.decTest +++ b/Lib/test/decimaltestdata/ddRemainderNear.decTest @@ -450,7 +450,7 @@ ddrmn757 remaindernear 1 sNaN -> NaN Invalid_operation ddrmn758 remaindernear 1000 sNaN -> NaN Invalid_operation ddrmn759 remaindernear Inf -sNaN -> -NaN Invalid_operation --- propaging NaNs +-- propagating NaNs ddrmn760 remaindernear NaN1 NaN7 -> NaN1 ddrmn761 remaindernear sNaN2 NaN8 -> NaN2 Invalid_operation ddrmn762 remaindernear NaN3 sNaN9 -> NaN9 Invalid_operation diff --git a/Lib/test/decimaltestdata/dqRemainder.decTest b/Lib/test/decimaltestdata/dqRemainder.decTest index bae8eae5269..e0aaca3747e 100644 --- a/Lib/test/decimaltestdata/dqRemainder.decTest +++ b/Lib/test/decimaltestdata/dqRemainder.decTest @@ -418,7 +418,7 @@ dqrem757 remainder 1 sNaN -> NaN Invalid_operation dqrem758 remainder 1000 sNaN -> NaN Invalid_operation dqrem759 remainder Inf -sNaN -> -NaN Invalid_operation --- propaging NaNs +-- propagating NaNs dqrem760 remainder NaN1 NaN7 -> NaN1 dqrem761 remainder sNaN2 NaN8 -> NaN2 Invalid_operation dqrem762 remainder NaN3 sNaN9 -> NaN9 Invalid_operation diff --git a/Lib/test/decimaltestdata/dqRemainderNear.decTest b/Lib/test/decimaltestdata/dqRemainderNear.decTest index b850626fe4e..2c5c3f5074e 100644 --- a/Lib/test/decimaltestdata/dqRemainderNear.decTest +++ b/Lib/test/decimaltestdata/dqRemainderNear.decTest @@ -450,7 +450,7 @@ dqrmn757 remaindernear 1 sNaN -> NaN Invalid_operation dqrmn758 remaindernear 1000 sNaN -> NaN Invalid_operation dqrmn759 remaindernear Inf -sNaN -> -NaN Invalid_operation --- propaging NaNs +-- propagating NaNs dqrmn760 remaindernear NaN1 NaN7 -> NaN1 dqrmn761 remaindernear sNaN2 NaN8 -> NaN2 Invalid_operation dqrmn762 remaindernear NaN3 sNaN9 -> NaN9 Invalid_operation diff --git a/Lib/test/decimaltestdata/exp.decTest b/Lib/test/decimaltestdata/exp.decTest index 6a7af23b625..e01d7a8f92d 100644 --- a/Lib/test/decimaltestdata/exp.decTest +++ b/Lib/test/decimaltestdata/exp.decTest @@ -28,7 +28,7 @@ rounding: half_even maxExponent: 384 minexponent: -383 --- basics (examples in specificiation, etc.) +-- basics (examples in specification, etc.) expx001 exp -Infinity -> 0 expx002 exp -10 -> 0.0000453999298 Inexact Rounded expx003 exp -1 -> 0.367879441 Inexact Rounded diff --git a/Lib/test/decimaltestdata/remainder.decTest b/Lib/test/decimaltestdata/remainder.decTest index 7a1061b1e6f..4f59b332877 100644 --- a/Lib/test/decimaltestdata/remainder.decTest +++ b/Lib/test/decimaltestdata/remainder.decTest @@ -435,7 +435,7 @@ remx757 remainder 1 sNaN -> NaN Invalid_operation remx758 remainder 1000 sNaN -> NaN Invalid_operation remx759 remainder Inf -sNaN -> -NaN Invalid_operation --- propaging NaNs +-- propagating NaNs remx760 remainder NaN1 NaN7 -> NaN1 remx761 remainder sNaN2 NaN8 -> NaN2 Invalid_operation remx762 remainder NaN3 sNaN9 -> NaN9 Invalid_operation diff --git a/Lib/test/decimaltestdata/remainderNear.decTest b/Lib/test/decimaltestdata/remainderNear.decTest index b768b9e0cf6..000b1424d8a 100644 --- a/Lib/test/decimaltestdata/remainderNear.decTest +++ b/Lib/test/decimaltestdata/remainderNear.decTest @@ -498,7 +498,7 @@ rmnx758 remaindernear 1000 sNaN -> NaN Invalid_operation rmnx759 remaindernear Inf sNaN -> NaN Invalid_operation rmnx760 remaindernear NaN sNaN -> NaN Invalid_operation --- propaging NaNs +-- propagating NaNs rmnx761 remaindernear NaN1 NaN7 -> NaN1 rmnx762 remaindernear sNaN2 NaN8 -> NaN2 Invalid_operation rmnx763 remaindernear NaN3 -sNaN9 -> -NaN9 Invalid_operation diff --git a/Lib/test/ieee754.txt b/Lib/test/ieee754.txt index a8b8a0a2148..3e986cdb102 100644 --- a/Lib/test/ieee754.txt +++ b/Lib/test/ieee754.txt @@ -51,7 +51,7 @@ nan >>> INF / INF nan -However unambigous operations with inf return inf: +However unambiguous operations with inf return inf: >>> INF * INF inf >>> 1.5 * INF diff --git a/Lib/test/libregrtest/main.py b/Lib/test/libregrtest/main.py index e41646d2d12..04404cbcd52 100644 --- a/Lib/test/libregrtest/main.py +++ b/Lib/test/libregrtest/main.py @@ -508,7 +508,7 @@ class Regrtest: setup_process() if (runtests.hunt_refleak is not None) and (not self.num_workers): - # gh-109739: WindowsLoadTracker thread interfers with refleak check + # gh-109739: WindowsLoadTracker thread interferes with refleak check use_load_tracker = False else: # WindowsLoadTracker is only needed on Windows diff --git a/Lib/test/libregrtest/utils.py b/Lib/test/libregrtest/utils.py index a4fd1ee7a85..dabed3c3c0b 100644 --- a/Lib/test/libregrtest/utils.py +++ b/Lib/test/libregrtest/utils.py @@ -733,7 +733,7 @@ ILLEGAL_XML_CHARS_RE = re.compile( # Special Unicode characters '\uFFFE' '\uFFFF' - # Match multiple sequential invalid characters for better effiency + # Match multiple sequential invalid characters for better efficiency ']+') def _sanitize_xml_replace(regs): diff --git a/Lib/test/pickletester.py b/Lib/test/pickletester.py index 4a5976afa75..beab8e93fff 100644 --- a/Lib/test/pickletester.py +++ b/Lib/test/pickletester.py @@ -2065,7 +2065,7 @@ class AbstractPicklingErrorTests: @support.cpython_only def test_bad_ext_code(self): # This should never happen in normal circumstances, because the type - # and the value of the extesion code is checked in copyreg.add_extension(). + # and the value of the extension code is checked in copyreg.add_extension(). key = (__name__, 'MyList') def check(code, exc): assert key not in copyreg._extension_registry diff --git a/Lib/test/test_concurrent_futures/test_deadlock.py b/Lib/test/test_concurrent_futures/test_deadlock.py index 1db4cd00992..e8cd8f67049 100644 --- a/Lib/test/test_concurrent_futures/test_deadlock.py +++ b/Lib/test/test_concurrent_futures/test_deadlock.py @@ -145,7 +145,7 @@ class ExecutorDeadlockTest: self._check_crash(BrokenProcessPool, id, ExitAtUnpickle()) def test_error_at_task_unpickle(self): - # gh-109832: Restore stderr overriden by _raise_error_ignore_stderr() + # gh-109832: Restore stderr overridden by _raise_error_ignore_stderr() self.addCleanup(setattr, sys, 'stderr', sys.stderr) # Check problem occurring while unpickling a task on workers @@ -183,7 +183,7 @@ class ExecutorDeadlockTest: self._check_crash(PicklingError, _return_instance, ErrorAtPickle) def test_error_during_result_unpickle_in_result_handler(self): - # gh-109832: Restore stderr overriden by _raise_error_ignore_stderr() + # gh-109832: Restore stderr overridden by _raise_error_ignore_stderr() self.addCleanup(setattr, sys, 'stderr', sys.stderr) # Check problem occurring while unpickling a task in diff --git a/Lib/test/test_enum.py b/Lib/test/test_enum.py index 7e3952251c7..aff5b7f68f0 100644 --- a/Lib/test/test_enum.py +++ b/Lib/test/test_enum.py @@ -5157,7 +5157,7 @@ class TestConvert(unittest.TestCase): filter=lambda x: x.startswith('CONVERT_TEST_')) # We don't want the reverse lookup value to vary when there are # multiple possible names for a given value. It should always - # report the first lexigraphical name in that case. + # report the first lexicographical name in that case. self.assertEqual(test_type(5).name, 'CONVERT_TEST_NAME_A') def test_convert_int(self): diff --git a/Lib/test/test_fractions.py b/Lib/test/test_fractions.py index 53200eb7c9c..f4e763fedbe 100644 --- a/Lib/test/test_fractions.py +++ b/Lib/test/test_fractions.py @@ -97,7 +97,7 @@ def typed_approx_eq(a, b): class Symbolic: """Simple non-numeric class for testing mixed arithmetic. - It is not Integral, Rational, Real or Complex, and cannot be conveted + It is not Integral, Rational, Real or Complex, and cannot be converted to int, float or complex. but it supports some arithmetic operations. """ def __init__(self, value): diff --git a/Lib/test/test_fstring.py b/Lib/test/test_fstring.py index 7fc37023828..da1ab4ef585 100644 --- a/Lib/test/test_fstring.py +++ b/Lib/test/test_fstring.py @@ -732,7 +732,7 @@ x = ( self.assertEqual( f""" { -40 # fourty +40 # forty + # plus 2 # two }""", @@ -741,7 +741,7 @@ x = ( self.assertEqual( f""" { -40 # fourty +40 # forty + # plus 2 # two }""", diff --git a/Lib/test/test_getpath.py b/Lib/test/test_getpath.py index b9cbe1d92c4..3b613a569b9 100644 --- a/Lib/test/test_getpath.py +++ b/Lib/test/test_getpath.py @@ -557,7 +557,7 @@ class MockGetPathTests(unittest.TestCase): ns.add_known_dir("/Library/Frameworks/Python.framework/Versions/9.8/lib/python9.8/lib-dynload") ns.add_known_file("/Library/Frameworks/Python.framework/Versions/9.8/lib/python9.8/os.py") - # This is definitely not the stdlib (see discusion in bpo-46890) + # This is definitely not the stdlib (see discussion in bpo-46890) #ns.add_known_file("/Library/Frameworks/lib/python98.zip") expected = dict( @@ -605,7 +605,7 @@ class MockGetPathTests(unittest.TestCase): ns.add_known_dir("/Library/Frameworks/DebugPython.framework/Versions/9.8/lib/python9.8/lib-dynload") ns.add_known_xfile("/Library/Frameworks/DebugPython.framework/Versions/9.8/lib/python9.8/os.py") - # This is definitely not the stdlib (see discusion in bpo-46890) + # This is definitely not the stdlib (see discussion in bpo-46890) #ns.add_known_xfile("/Library/lib/python98.zip") expected = dict( executable="/Library/Frameworks/DebugPython.framework/Versions/9.8/bin/python9.8", diff --git a/Lib/test/test_math.py b/Lib/test/test_math.py index 0b015580767..ef1f54f1fcc 100644 --- a/Lib/test/test_math.py +++ b/Lib/test/test_math.py @@ -1397,7 +1397,7 @@ class MathTests(unittest.TestCase): return f'Flt({int(self)})' def baseline_sumprod(p, q): - """This defines the target behavior including expections and special values. + """This defines the target behavior including exceptions and special values. However, it is subject to rounding errors, so float inputs should be exactly representable with only a few bits. """ diff --git a/Lib/test/test_property.py b/Lib/test/test_property.py index 157a4835379..4d632cd87ab 100644 --- a/Lib/test/test_property.py +++ b/Lib/test/test_property.py @@ -406,7 +406,7 @@ class PropertySubclassTests(unittest.TestCase): self.assertEqual(p2.__doc__, "doc-A") # Case-3: with no user-provided doc new getter doc - # takes precendence + # takes precedence p = property(getter2, None, None, None) p2 = p.getter(getter3) diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py index 545564094e1..acfa1cd503b 100644 --- a/Lib/test/test_socket.py +++ b/Lib/test/test_socket.py @@ -1631,7 +1631,7 @@ class GeneralModuleTests(unittest.TestCase): try: socket.getaddrinfo(None, ULONG_MAX + 1, type=socket.SOCK_STREAM) except OverflowError: - # Platforms differ as to what values consitute a getaddrinfo() error + # Platforms differ as to what values constitute a getaddrinfo() error # return. Some fail for LONG_MAX+1, others ULONG_MAX+1, and Windows # silently accepts such huge "port" aka "service" numeric values. self.fail("Either no error or socket.gaierror expected.") diff --git a/Lib/test/test_string_literals.py b/Lib/test/test_string_literals.py index 371e8193b35..c7c6f684cd3 100644 --- a/Lib/test/test_string_literals.py +++ b/Lib/test/test_string_literals.py @@ -131,7 +131,7 @@ class TestLiterals(unittest.TestCase): self.assertEqual(exc.lineno, 1) self.assertEqual(exc.offset, 1) - # Check that the warning is raised ony once if there are syntax errors + # Check that the warning is raised only once if there are syntax errors with warnings.catch_warnings(record=True) as w: warnings.simplefilter('always', category=SyntaxWarning) diff --git a/Lib/test/test_zipfile/test_core.py b/Lib/test/test_zipfile/test_core.py index 5b32f80d80b..86efccd2676 100644 --- a/Lib/test/test_zipfile/test_core.py +++ b/Lib/test/test_zipfile/test_core.py @@ -1117,7 +1117,7 @@ class StoredTestZip64InSmallFiles(AbstractTestZip64InSmallFiles, # Because this is hard to verify by parsing the data as a zip, the raw # bytes are checked to ensure that they line up with the zip spec. # The spec for this can be found at: https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT - # The relevent sections for this test are: + # The relevant sections for this test are: # - 4.3.7 for local file header # - 4.5.3 for zip64 extra field @@ -1188,7 +1188,7 @@ class StoredTestZip64InSmallFiles(AbstractTestZip64InSmallFiles, # in as a zip, this test looks at the raw bytes created to ensure that # the correct data has been generated. # The spec for this can be found at: https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT - # The relevent sections for this test are: + # The relevant sections for this test are: # - 4.3.7 for local file header # - 4.3.9 for the data descriptor # - 4.5.3 for zip64 extra field diff --git a/Lib/turtledemo/sorting_animate.py b/Lib/turtledemo/sorting_animate.py index d25a0ab6ceb..1c6aae80b84 100755 --- a/Lib/turtledemo/sorting_animate.py +++ b/Lib/turtledemo/sorting_animate.py @@ -7,7 +7,7 @@ A minimal sorting algorithm animation: Sorts a shelf of 10 blocks using insertion sort, selection sort and quicksort. -Shelfs are implemented using builtin lists. +Shelves are implemented using builtin lists. Blocks are turtles with shape "square", but stretched to rectangles by shapesize() diff --git a/Misc/coverity_model.c b/Misc/coverity_model.c index 8960362a6d7..90c72c7baa3 100644 --- a/Misc/coverity_model.c +++ b/Misc/coverity_model.c @@ -74,7 +74,7 @@ PyObject *PyLong_FromSsize_t(Py_ssize_t ival) /* tainted sinks * - * Coverity considers argv, environ, read() data etc as tained. + * Coverity considers argv, environ, read() data etc as tainted. */ PyObject *PyErr_SetFromErrnoWithFilename(PyObject *exc, const char *filename) diff --git a/Tools/c-analyzer/c_parser/preprocessor/gcc.py b/Tools/c-analyzer/c_parser/preprocessor/gcc.py index 147615707a3..1108bdefd00 100644 --- a/Tools/c-analyzer/c_parser/preprocessor/gcc.py +++ b/Tools/c-analyzer/c_parser/preprocessor/gcc.py @@ -125,7 +125,7 @@ def _iter_top_include_lines(lines, topfile, cwd, raw): partial = 0 # depth files = [topfile] - # We start at 1 in case there are source lines (including blank onces) + # We start at 1 in case there are source lines (including blank ones) # before the first marker line. Also, we already verified in # _parse_marker_line() that the preprocessor reported lno as 1. lno = 1 diff --git a/configure b/configure index 4dfaeecfc0b..173674073ca 100755 --- a/configure +++ b/configure @@ -23578,7 +23578,7 @@ else # While Python doesn't currently have full support for these platforms # (see e.g., issue 1762561), we can at least make sure that float <-> string # conversions work. - # FLOAT_WORDS_BIGENDIAN doesnt actually detect this case, but if it's not big + # FLOAT_WORDS_BIGENDIAN doesn't actually detect this case, but if it's not big # or little, then it must be this? printf "%s\n" "#define DOUBLE_IS_ARM_MIXED_ENDIAN_IEEE754 1" >>confdefs.h diff --git a/configure.ac b/configure.ac index 0d6df8e24e4..f22e71f46fe 100644 --- a/configure.ac +++ b/configure.ac @@ -1599,7 +1599,7 @@ then AS_VAR_IF([host_cpu], [wasm64], [AS_VAR_APPEND([HOSTRUNNER], [" --experimental-wasm-memory64"])]) ], dnl TODO: support other WASI runtimes - dnl wasmtime starts the proces with "/" as CWD. For OOT builds add the + dnl wasmtime starts the process with "/" as CWD. For OOT builds add the dnl directory containing _sysconfigdata to PYTHONPATH. [WASI/*], [HOSTRUNNER='wasmtime run --wasm max-wasm-stack=8388608 --wasi preview2 --env PYTHONPATH=/$(shell realpath --relative-to $(abs_srcdir) $(abs_builddir))/$(shell cat pybuilddir.txt):/Lib --dir $(srcdir)::/'], [HOSTRUNNER=''] @@ -3402,7 +3402,7 @@ then LDCXXSHARED='$(CXX) -Wl,-G,-Bexport';; WASI*) AS_VAR_IF([enable_wasm_dynamic_linking], [yes], [ - dnl not iplemented yet + dnl not implemented yet ]);; CYGWIN*) LDSHARED="gcc -shared -Wl,--enable-auto-image-base" @@ -3572,7 +3572,7 @@ esac AC_MSG_RESULT([$SHLIBS]) dnl perf trampoline is Linux specific and requires an arch-specific -dnl trampoline in asssembly. +dnl trampoline in assembly. AC_MSG_CHECKING([perf trampoline]) AS_CASE([$PLATFORM_TRIPLET], [x86_64-linux-gnu], [perf_trampoline=yes], @@ -5690,7 +5690,7 @@ else # While Python doesn't currently have full support for these platforms # (see e.g., issue 1762561), we can at least make sure that float <-> string # conversions work. - # FLOAT_WORDS_BIGENDIAN doesnt actually detect this case, but if it's not big + # FLOAT_WORDS_BIGENDIAN doesn't actually detect this case, but if it's not big # or little, then it must be this? AC_DEFINE([DOUBLE_IS_ARM_MIXED_ENDIAN_IEEE754], [1], [Define if C doubles are 64-bit IEEE 754 binary format, stored