Staging
v0.5.1
https://github.com/python/cpython
Revision 6b48e658bf80b0e30fddd9dfe80021313e57fb6a authored by Miss Islington (bot) on 21 May 2019, 17:51:56 UTC, committed by GitHub on 21 May 2019, 17:51:56 UTC

* bpo-36929: Modify io/re tests to allow for missing mod name

For a vanishingly small number of internal types, CPython sets the
tp_name slot to mod_name.type_name, either in the PyTypeObject or the
PyType_Spec. There are a few minor places where this surfaces:

* Custom repr functions for those types (some of which ignore the
  tp_name in favor of using a string literal, such as _io.TextIOWrapper)
* Pickling error messages

The test suite only tests the former. This commit modifies the test
suite to allow Python implementations to omit the module prefix.

https://bugs.python.org/issue36929
(cherry picked from commit ccb7ca728e09b307f9e9fd36ec40353137e68a3b)

Co-authored-by: Max Bernstein <tekknolagi@users.noreply.github.com>
1 parent 3c9c2dc
Raw File
Tip revision: 6b48e658bf80b0e30fddd9dfe80021313e57fb6a authored by Miss Islington (bot) on 21 May 2019, 17:51:56 UTC
bpo-36929: Modify io/re tests to allow for missing mod name (GH-13392)
Tip revision: 6b48e65
ucnhash.h
/* Unicode name database interface */
#ifndef Py_LIMITED_API
#ifndef Py_UCNHASH_H
#define Py_UCNHASH_H
#ifdef __cplusplus
extern "C" {
#endif

/* revised ucnhash CAPI interface (exported through a "wrapper") */

#define PyUnicodeData_CAPSULE_NAME "unicodedata.ucnhash_CAPI"

typedef struct {

    /* Size of this struct */
    int size;

    /* Get name for a given character code.  Returns non-zero if
       success, zero if not.  Does not set Python exceptions.
       If self is NULL, data come from the default version of the database.
       If it is not NULL, it should be a unicodedata.ucd_X_Y_Z object */
    int (*getname)(PyObject *self, Py_UCS4 code, char* buffer, int buflen,
                   int with_alias_and_seq);

    /* Get character code for a given name.  Same error handling
       as for getname. */
    int (*getcode)(PyObject *self, const char* name, int namelen, Py_UCS4* code,
                   int with_named_seq);

} _PyUnicode_Name_CAPI;

#ifdef __cplusplus
}
#endif
#endif /* !Py_UCNHASH_H */
#endif /* !Py_LIMITED_API */
back to top