Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
V
Vim
Manage
Activity
Members
Labels
Plan
Issues
0
Issue boards
Milestones
Wiki
Code
Merge requests
0
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Someone-Else
Vim
Commits
7bc4f93c
Commit
7bc4f93c
authored
12 years ago
by
Bram Moolenaar
Browse files
Options
Downloads
Patches
Plain Diff
updated for version 7.3.688
Problem: Python 3.3 is not supported. Solution: Add Python 3.3 support (Ken Takata)
parent
172ddb60
No related branches found
No related tags found
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
src/if_python3.c
+25
-5
25 additions, 5 deletions
src/if_python3.c
src/version.c
+2
-0
2 additions, 0 deletions
src/version.c
with
27 additions
and
5 deletions
src/if_python3.c
+
25
−
5
View file @
7bc4f93c
...
...
@@ -174,7 +174,12 @@ static void init_structs(void);
# define _PyObject_NextNotImplemented (*py3__PyObject_NextNotImplemented)
# define PyModule_AddObject py3_PyModule_AddObject
# define PyImport_AppendInittab py3_PyImport_AppendInittab
# define _PyUnicode_AsString py3__PyUnicode_AsString
# if PY_VERSION_HEX >= 0x030300f0
# undef _PyUnicode_AsString
# define _PyUnicode_AsString py3_PyUnicode_AsUTF8String
# else
# define _PyUnicode_AsString py3__PyUnicode_AsString
# endif
# undef PyUnicode_AsEncodedString
# define PyUnicode_AsEncodedString py3_PyUnicode_AsEncodedString
# undef PyBytes_AsString
...
...
@@ -281,7 +286,11 @@ static PyObject* py3__Py_FalseStruct;
static
PyObject
*
py3__Py_TrueStruct
;
static
int
(
*
py3_PyModule_AddObject
)(
PyObject
*
m
,
const
char
*
name
,
PyObject
*
o
);
static
int
(
*
py3_PyImport_AppendInittab
)(
const
char
*
name
,
PyObject
*
(
*
initfunc
)(
void
));
#if PY_VERSION_HEX >= 0x030300f0
static
char
*
(
*
py3_PyUnicode_AsUTF8String
)(
PyObject
*
unicode
);
#else
static
char
*
(
*
py3__PyUnicode_AsString
)(
PyObject
*
unicode
);
#endif
static
PyObject
*
(
*
py3_PyUnicode_AsEncodedString
)(
PyObject
*
unicode
,
const
char
*
encoding
,
const
char
*
errors
);
static
char
*
(
*
py3_PyBytes_AsString
)(
PyObject
*
bytes
);
static
int
(
*
py3_PyBytes_AsStringAndSize
)(
PyObject
*
bytes
,
char
**
buffer
,
int
*
length
);
...
...
@@ -397,7 +406,11 @@ static struct
{
"PyObject_Init"
,
(
PYTHON_PROC
*
)
&
py3__PyObject_Init
},
{
"PyModule_AddObject"
,
(
PYTHON_PROC
*
)
&
py3_PyModule_AddObject
},
{
"PyImport_AppendInittab"
,
(
PYTHON_PROC
*
)
&
py3_PyImport_AppendInittab
},
#if PY_VERSION_HEX >= 0x030300f0
{
"PyUnicode_AsUTF8String"
,
(
PYTHON_PROC
*
)
&
py3_PyUnicode_AsUTF8String
},
#else
{
"_PyUnicode_AsString"
,
(
PYTHON_PROC
*
)
&
py3__PyUnicode_AsString
},
#endif
{
"PyBytes_AsString"
,
(
PYTHON_PROC
*
)
&
py3_PyBytes_AsString
},
{
"PyBytes_AsStringAndSize"
,
(
PYTHON_PROC
*
)
&
py3_PyBytes_AsStringAndSize
},
{
"PyBytes_FromString"
,
(
PYTHON_PROC
*
)
&
py3_PyBytes_FromString
},
...
...
@@ -490,6 +503,12 @@ py3_runtime_link_init(char *libname, int verbose)
/* Load unicode functions separately as only the ucs2 or the ucs4 functions
* will be present in the library. */
#if PY_VERSION_HEX >= 0x030300f0
ucs_from_string
=
symbol_from_dll
(
hinstPy3
,
"PyUnicode_FromString"
);
ucs_decode
=
symbol_from_dll
(
hinstPy3
,
"PyUnicode_Decode"
);
ucs_as_encoded_string
=
symbol_from_dll
(
hinstPy3
,
"PyUnicode_AsEncodedString"
);
#else
ucs_from_string
=
symbol_from_dll
(
hinstPy3
,
"PyUnicodeUCS2_FromString"
);
ucs_decode
=
symbol_from_dll
(
hinstPy3
,
"PyUnicodeUCS2_Decode"
);
...
...
@@ -504,6 +523,7 @@ py3_runtime_link_init(char *libname, int verbose)
ucs_as_encoded_string
=
symbol_from_dll
(
hinstPy3
,
"PyUnicodeUCS4_AsEncodedString"
);
}
#endif
if
(
ucs_from_string
&&
ucs_decode
&&
ucs_as_encoded_string
)
{
py3_PyUnicode_FromString
=
ucs_from_string
;
...
...
@@ -600,8 +620,8 @@ static int py3initialised = 0;
#define GET_ATTR_STRING(name, nameobj) \
char *name = ""; \
if(PyUnicode_Check(nameobj)) \
name = _PyUnicode_AsString(nameobj)
if
(PyUnicode_Check(nameobj)) \
name = _PyUnicode_AsString(nameobj)
#define PY3OBJ_DELETED(obj) (obj->ob_base.ob_refcnt<=0)
...
...
@@ -704,6 +724,8 @@ Python3_Init(void)
Py_SetPythonHome
(
PYTHON3_HOME
);
#endif
PyImport_AppendInittab
(
"vim"
,
Py3Init_vim
);
#if !defined(MACOS) || defined(MACOS_X_UNIX)
Py_Initialize
();
#else
...
...
@@ -719,8 +741,6 @@ Python3_Init(void)
if
(
PythonIO_Init
())
goto
fail
;
PyImport_AppendInittab
(
"vim"
,
Py3Init_vim
);
globals
=
PyModule_GetDict
(
PyImport_AddModule
(
"__main__"
));
/* Remove the element from sys.path that was added because of our
...
...
This diff is collapsed.
Click to expand it.
src/version.c
+
2
−
0
View file @
7bc4f93c
...
...
@@ -719,6 +719,8 @@ static char *(features[]) =
static
int
included_patches
[]
=
{
/* Add new patch number below this line */
/**/
688
,
/**/
687
,
/**/
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment