Mercurial > cpython-lru_cache-weakref
annotate Objects/stringlib/stringdefs.h @ 73323:dad02a080bbc
Improve byte-compilation in packaging to be independent of -O or -B.
The code I fixed to comply with PEP 3147 still had one bug: When run
under python -O, some paths for pyc files would be pyo, because I called
imp.cache_from_source without explicit debug_override argument in some
places, and under -O that would return .pyo (this is well explained in
the imp docs). Now all code (util.byte_compile, build_py, install_lib)
can create .pyo files according to options given by users,
without interference from the calling Python’s own optimize mode.
On a related topic, I also removed the code that prevented byte
compilation under python -B. The rationale is that packaging gives
control over the creation of pyc files to the user with its own explicit
option, and the behavior should not be changed if the calling Python
happens to run with -B for whatever reason. I will argue that this is a
bug fix and ask to be allowed to backport this change to distutils.
Finally, I moved one nugget of information about the --compile and
--optimize options from the source into the doc. It clears up a
misunderstanding that I (and maybe other people) had.
| author | Éric Araujo <merwok@netwok.org> |
|---|---|
| date | Thu, 03 Nov 2011 05:08:28 +0100 |
| parents | bfd3fcfb02f3 |
| children | 6b3e871c003c |
| rev | line source |
|---|---|
|
42817
5355337709e1
Implementation of PEP 3101, Advanced String Formatting.
Eric Smith <eric@trueblade.com>
parents:
diff
changeset
|
1 #ifndef STRINGLIB_STRINGDEFS_H |
|
5355337709e1
Implementation of PEP 3101, Advanced String Formatting.
Eric Smith <eric@trueblade.com>
parents:
diff
changeset
|
2 #define STRINGLIB_STRINGDEFS_H |
|
5355337709e1
Implementation of PEP 3101, Advanced String Formatting.
Eric Smith <eric@trueblade.com>
parents:
diff
changeset
|
3 |
|
5355337709e1
Implementation of PEP 3101, Advanced String Formatting.
Eric Smith <eric@trueblade.com>
parents:
diff
changeset
|
4 /* this is sort of a hack. there's at least one place (formatting |
|
5355337709e1
Implementation of PEP 3101, Advanced String Formatting.
Eric Smith <eric@trueblade.com>
parents:
diff
changeset
|
5 floats) where some stringlib code takes a different path if it's |
|
5355337709e1
Implementation of PEP 3101, Advanced String Formatting.
Eric Smith <eric@trueblade.com>
parents:
diff
changeset
|
6 compiled as unicode. */ |
|
5355337709e1
Implementation of PEP 3101, Advanced String Formatting.
Eric Smith <eric@trueblade.com>
parents:
diff
changeset
|
7 #define STRINGLIB_IS_UNICODE 0 |
|
5355337709e1
Implementation of PEP 3101, Advanced String Formatting.
Eric Smith <eric@trueblade.com>
parents:
diff
changeset
|
8 |
| 72475 | 9 #define FASTSEARCH fastsearch |
| 10 #define STRINGLIB(F) stringlib_##F | |
|
47301
23ab586c427a
Renamed PyString to PyBytes
Christian Heimes <christian@cheimes.de>
parents:
46909
diff
changeset
|
11 #define STRINGLIB_OBJECT PyBytesObject |
|
72874
bfd3fcfb02f3
Fix fastsearch for UCS2 and UCS4
Victor Stinner <victor.stinner@haypocalc.com>
parents:
72475
diff
changeset
|
12 #define STRINGLIB_SIZEOF_CHAR 1 |
|
42817
5355337709e1
Implementation of PEP 3101, Advanced String Formatting.
Eric Smith <eric@trueblade.com>
parents:
diff
changeset
|
13 #define STRINGLIB_CHAR char |
|
5355337709e1
Implementation of PEP 3101, Advanced String Formatting.
Eric Smith <eric@trueblade.com>
parents:
diff
changeset
|
14 #define STRINGLIB_TYPE_NAME "string" |
|
43172
d842457e4b0e
Changed to use 'U' argument to PyArg_ParseTuple, instead of manually checking for unicode objects.
Eric Smith <eric@trueblade.com>
parents:
42817
diff
changeset
|
15 #define STRINGLIB_PARSE_CODE "S" |
|
45382
7af955843929
Fixes for shared 2.6 code that implements PEP 3101, advanced string
Eric Smith <eric@trueblade.com>
parents:
43172
diff
changeset
|
16 #define STRINGLIB_EMPTY nullstring |
|
58289
5ca1948a8fd6
Merged revisions 77461 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
58095
diff
changeset
|
17 #define STRINGLIB_ISSPACE Py_ISSPACE |
|
5ca1948a8fd6
Merged revisions 77461 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
58095
diff
changeset
|
18 #define STRINGLIB_ISLINEBREAK(x) ((x == '\n') || (x == '\r')) |
|
42817
5355337709e1
Implementation of PEP 3101, Advanced String Formatting.
Eric Smith <eric@trueblade.com>
parents:
diff
changeset
|
19 #define STRINGLIB_ISDECIMAL(x) ((x >= '0') && (x <= '9')) |
|
5355337709e1
Implementation of PEP 3101, Advanced String Formatting.
Eric Smith <eric@trueblade.com>
parents:
diff
changeset
|
20 #define STRINGLIB_TODECIMAL(x) (STRINGLIB_ISDECIMAL(x) ? (x - '0') : -1) |
|
53543
4b4b59f278bf
Merged revisions 72040 via svnmerge from
Eric Smith <eric@trueblade.com>
parents:
52773
diff
changeset
|
21 #define STRINGLIB_TOUPPER Py_TOUPPER |
|
4b4b59f278bf
Merged revisions 72040 via svnmerge from
Eric Smith <eric@trueblade.com>
parents:
52773
diff
changeset
|
22 #define STRINGLIB_TOLOWER Py_TOLOWER |
|
42817
5355337709e1
Implementation of PEP 3101, Advanced String Formatting.
Eric Smith <eric@trueblade.com>
parents:
diff
changeset
|
23 #define STRINGLIB_FILL memset |
|
47301
23ab586c427a
Renamed PyString to PyBytes
Christian Heimes <christian@cheimes.de>
parents:
46909
diff
changeset
|
24 #define STRINGLIB_STR PyBytes_AS_STRING |
|
23ab586c427a
Renamed PyString to PyBytes
Christian Heimes <christian@cheimes.de>
parents:
46909
diff
changeset
|
25 #define STRINGLIB_LEN PyBytes_GET_SIZE |
|
23ab586c427a
Renamed PyString to PyBytes
Christian Heimes <christian@cheimes.de>
parents:
46909
diff
changeset
|
26 #define STRINGLIB_NEW PyBytes_FromStringAndSize |
|
23ab586c427a
Renamed PyString to PyBytes
Christian Heimes <christian@cheimes.de>
parents:
46909
diff
changeset
|
27 #define STRINGLIB_RESIZE _PyBytes_Resize |
|
23ab586c427a
Renamed PyString to PyBytes
Christian Heimes <christian@cheimes.de>
parents:
46909
diff
changeset
|
28 #define STRINGLIB_CHECK PyBytes_Check |
|
57515
f37f6b9b224b
Issue #5748: bytesobject.c should not have its own private defines for stringlib macros. Also removed unused defines and include for localutil.h.
Eric Smith <eric@trueblade.com>
parents:
53543
diff
changeset
|
29 #define STRINGLIB_CHECK_EXACT PyBytes_CheckExact |
|
42817
5355337709e1
Implementation of PEP 3101, Advanced String Formatting.
Eric Smith <eric@trueblade.com>
parents:
diff
changeset
|
30 #define STRINGLIB_TOSTR PyObject_Str |
|
47301
23ab586c427a
Renamed PyString to PyBytes
Christian Heimes <christian@cheimes.de>
parents:
46909
diff
changeset
|
31 #define STRINGLIB_GROUPING _PyBytes_InsertThousandsGrouping |
|
52773
28096ed73153
Added ',' thousands grouping to int.__format__. See PEP 378.
Eric Smith <eric@trueblade.com>
parents:
47611
diff
changeset
|
32 #define STRINGLIB_GROUPING_LOCALE _PyBytes_InsertThousandsGroupingLocale |
|
47611
da47e7e135ae
#2630: Implement PEP 3138.
Georg Brandl <georg@python.org>
parents:
47301
diff
changeset
|
33 #define STRINGLIB_TOASCII PyObject_Repr |
|
42817
5355337709e1
Implementation of PEP 3101, Advanced String Formatting.
Eric Smith <eric@trueblade.com>
parents:
diff
changeset
|
34 #endif /* !STRINGLIB_STRINGDEFS_H */ |
