[arch-commits] Commit in vim/trunk (PKGBUILD archlinux.vim python37.patch)
Levente Polyak
anthraxx at archlinux.org
Mon Aug 13 15:06:32 UTC 2018
Date: Monday, August 13, 2018 @ 15:06:31
Author: anthraxx
Revision: 331458
upgpkg: vim 8.1.0279-1
Modified:
vim/trunk/PKGBUILD
vim/trunk/archlinux.vim
Deleted:
vim/trunk/python37.patch
----------------+
PKGBUILD | 22 -
archlinux.vim | 49 ++--
python37.patch | 613 -------------------------------------------------------
3 files changed, 37 insertions(+), 647 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2018-08-13 14:41:38 UTC (rev 331457)
+++ PKGBUILD 2018-08-13 15:06:31 UTC (rev 331458)
@@ -9,9 +9,9 @@
pkgbase=vim
pkgname=('vim' 'gvim' 'vim-runtime')
-pkgver=8.1.0194
+pkgver=8.1.0279
_versiondir=81
-pkgrel=2
+pkgrel=1
pkgdesc='Vi Improved, a highly configurable, improved version of the vi text editor'
url='https://www.vim.org'
arch=('x86_64')
@@ -18,28 +18,20 @@
license=('custom:vim')
makedepends=('glibc' 'libgcrypt' 'gpm' 'python2' 'python' 'ruby' 'libxt' 'gtk3' 'lua'
'gawk' 'tcl' 'pcre' 'zlib' 'libffi')
-source=(vim-${pkgver}.tar.gz::https://github.com/vim/vim/archive/v${pkgver}.tar.gz
- python37.patch
+source=(${pkgbase}-${pkgver}.tar.gz::https://github.com/vim/vim/archive/v${pkgver}.tar.gz
vimrc
archlinux.vim
vimdoc.hook)
-sha256sums=('1a627133ac82fdec8396b90870ff9694a18176bdc30da7ed2e67251e11e82db1'
- '0f450c13c29d86ae5dbefb24ce46286f173c611ff0d7180e81284121eac5f7ed'
+sha256sums=('04cf23432bece2183cf9ca8d83ffefdb1b632c8bc14cb5c5ce0460072146eaaa'
'b16e85e457397ab2043a7ee0a3c84307c6b4eac157fd0b721694761f25b3ed5b'
- '2a6689ce603486f87df9d7e9697032015a8688d663984f5380c1f16cfeed31d4'
+ 'cc3d931129854c298eb22e993ec14c2ad86cc1e70a08a64496f5e06559289972'
'7095cafac21df7aa42749d6864d1c0549fe65771d8edda3102c931c60782b6b9')
-sha512sums=('10708f988057cd63b9d253cc8066fb3f67876e2ff147635626fca962d8ba74e9cbb24feb53975affa5b2a91377599398f050ba3ec18b07a44ca087e1eacfdb2a'
- '513b9b2dd197c77ade2afc28a992790f0382cb77bb5f2be7695c06f0568ae2dce07131d5e6b978cb39eb14e251b94849b84f9ae7b78dc152398fa8647d7d9ac2'
+sha512sums=('8f1e65929597c8ec9a89c6cc4d562aefaae927f32c04273f17ba3f14df8529280ecd7f3576ad68ad84f73eed4f803c080530d308e7588aff5eefbdbf5c07d249'
'4b5bed0813f22af9e158ea9aa56a4a9862dd786ba2d201f20159ccf652da6190164aaed0b6b7217d578f7b25c33a8adcc307bfcf3caa8d173a7ff29e2a00fee7'
- '6d0130bb35fc1abb5d657393290d838742725a9d5e4e592b5fd71c8c5852374de010fb58347974096192c8dd8cf42c67185bc2cc38c70609afbcce2c91489781'
+ 'fe091d289d876f45319c898f6021ef86d6a238b540c225a279c46efc5c36fa7d868cd0cee73a111811c4be90df160f85340bb251be3a437727dbe5c699950363'
'1e06e981691b17662fd0fddac5c00c87c920d1b4a1cbb6191c42d57cc40b00af12710e26b22fcfc0901bb8142b15f6a04aa65cec2d9b3bb9d5a06cb650d3ab9c')
prepare() {
- # combines both https://github.com/vim/vim/pull/3162 and
- # https://github.com/vim/vim/pull/3163 fixing a merge conflict
- # The second PR on its own is sufficient to fix python 3.7 tests but causes
- # breakage when building for python 3.6 instead...
- patch -p1 -d vim-$pkgver < python37.patch
(cd vim-${pkgver}/src
# define the place for the global (g)vimrc file (set to /etc/vimrc)
sed -i 's|^.*\(#define SYS_.*VIMRC_FILE.*"\) .*$|\1|' feature.h
Modified: archlinux.vim
===================================================================
--- archlinux.vim 2018-08-13 14:41:38 UTC (rev 331457)
+++ archlinux.vim 2018-08-13 15:06:31 UTC (rev 331458)
@@ -1,35 +1,46 @@
-" The ArchLinux global vimrc - setting only a few sane defaults
+" The Arch Linux global vimrc - setting only a few sane defaults
"
-" NEVER EDIT THIS FILE, IT'S OVERWRITTEN UPON UPGRADES, GLOBAL CONFIGURATION
-" SHALL BE DONE IN /etc/vimrc, USER SPECIFIC CONFIGURATION IN ~/.vimrc
+" DO NOT EDIT THIS FILE. IT'S OVERWRITTEN UPON UPGRADES.
+"
+" Use /etc/vimrc for system-wide and $HOME/.vimrc for personal configuration
+" (for details see ':help initialization').
+"
+" Use :help '<option>' to see the documentation for the given option.
-" Normally we use vim-extensions. If you want true vi-compatibility
-" remove change the following statements
-set nocompatible " Use Vim defaults instead of 100% vi compatibility
-set backspace=indent,eol,start " more powerful backspacing
+" Use Vim defaults instead of 100% vi compatibility
+" Avoid side-effects when nocompatible has already been set.
+if &compatible
+ set nocompatible
+endif
-" Now we set some defaults for the editor
-set history=50 " keep 50 lines of command line history
-set ruler " show the cursor position all the time
+set backspace=indent,eol,start
+set ruler
+set suffixes+=.aux,.bbl,.blg,.brf,.cb,.dvi,.idx,.ilg,.ind,.inx,.jpg,.log,.out,.png,.toc
+set suffixes-=.h
+set suffixes-=.obj
-" Suffixes that get lower priority when doing tab completion for filenames.
-" These are files we are not likely to want to edit or read.
-set suffixes=.bak,~,.swp,.o,.info,.aux,.log,.dvi,.bbl,.blg,.brf,.cb,.ind,.idx,.ilg,.inx,.out,.toc,.png,.jpg
-
-" Move the swap file location to protect against CVE-2017-1000382
+" Move temporary files to a secure location to protect against CVE-2017-1000382
if exists('$XDG_CACHE_HOME')
- let &g:directory=$XDG_CACHE_HOME
+ let &g:directory=$XDG_CACHE_HOME
else
- let &g:directory=$HOME . '/.cache'
+ let &g:directory=$HOME . '/.cache'
endif
+let &g:undodir=&g:directory . '/vim/undo//'
+let &g:backupdir=&g:directory . '/vim/backup//'
let &g:directory.='/vim/swap//'
-" Create swap directory if it doesn't exist
+" Create directories if they doesn't exist
if ! isdirectory(expand(&g:directory))
silent! call mkdir(expand(&g:directory), 'p', 0700)
endif
+if ! isdirectory(expand(&g:backupdir))
+ silent! call mkdir(expand(&g:backupdir), 'p', 0700)
+endif
+if ! isdirectory(expand(&g:undodir))
+ silent! call mkdir(expand(&g:undodir), 'p', 0700)
+endif
+" Make shift-insert work like in Xterm
if has('gui_running')
- " Make shift-insert work like in Xterm
map <S-Insert> <MiddleMouse>
map! <S-Insert> <MiddleMouse>
endif
Deleted: python37.patch
===================================================================
--- python37.patch 2018-08-13 14:41:38 UTC (rev 331457)
+++ python37.patch 2018-08-13 15:06:31 UTC (rev 331458)
@@ -1,613 +0,0 @@
-From b4303babecee4047e67bd43960c751c35f261553 Mon Sep 17 00:00:00 2001
-From: ichizok <gclient.gaap at gmail.com>
-Date: Fri, 6 Jul 2018 15:22:16 +0900
-Subject: [PATCH 1/6] Fix importing-error handling
-
----
- src/if_py_both.h | 15 +++++++++------
- 1 file changed, 9 insertions(+), 6 deletions(-)
-
-diff --git a/src/if_py_both.h b/src/if_py_both.h
-index 417f86cbb..46383c423 100644
---- a/src/if_py_both.h
-+++ b/src/if_py_both.h
-@@ -1215,7 +1215,11 @@ find_module(char *fullname, char *tail, PyObject *new_path)
-
- if (!(find_module_result = PyObject_CallFunction(py_find_module,
- "s#O", tail, partlen, new_path)))
-+ {
-+ if (PyErr_Occurred() && PyErr_ExceptionMatches(PyExc_ImportError))
-+ PyErr_Clear();
- return NULL;
-+ }
-
- if (!(module = call_load_module(
- fullname,
-@@ -1246,7 +1250,11 @@ find_module(char *fullname, char *tail, PyObject *new_path)
- {
- if (!(find_module_result = PyObject_CallFunction(py_find_module,
- "sO", tail, new_path)))
-+ {
-+ if (PyErr_Occurred() && PyErr_ExceptionMatches(PyExc_ImportError))
-+ PyErr_Clear();
- return NULL;
-+ }
-
- if (!(module = call_load_module(
- fullname,
-@@ -1284,12 +1292,7 @@ FinderFindModule(PyObject *self, PyObject *args)
- if (!module)
- {
- if (PyErr_Occurred())
-- {
-- if (PyErr_ExceptionMatches(PyExc_ImportError))
-- PyErr_Clear();
-- else
-- return NULL;
-- }
-+ return NULL;
-
- Py_INCREF(Py_None);
- return Py_None;
---
-2.18.0
-
-
-From 143363e949cec4c90ec43f2d33867afd569b64fa Mon Sep 17 00:00:00 2001
-From: ichizok <gclient.gaap at gmail.com>
-Date: Fri, 6 Jul 2018 15:44:34 +0900
-Subject: [PATCH 2/6] Fix test86,test87
-
----
- src/testdir/test86.ok | 2 +-
- src/testdir/test87.ok | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/testdir/test86.ok b/src/testdir/test86.ok
-index f8d4ceb57..24d3fd4bd 100644
---- a/src/testdir/test86.ok
-+++ b/src/testdir/test86.ok
-@@ -701,7 +701,7 @@ vim.foreach_rtp(FailingCall()):NotImplementedError:('call',)
- vim.foreach_rtp(int, 2):TypeError:('foreach_rtp() takes exactly one argument (2 given)',)
- > import
- import xxx_no_such_module_xxx:ImportError:('No module named xxx_no_such_module_xxx',)
--import failing_import:ImportError:('No module named failing_import',)
-+import failing_import:ImportError:()
- import failing:NotImplementedError:()
- > Options
- >> OptionsItem
-diff --git a/src/testdir/test87.ok b/src/testdir/test87.ok
-index 9ca4b624c..a7d4f6426 100644
---- a/src/testdir/test87.ok
-+++ b/src/testdir/test87.ok
-@@ -701,7 +701,7 @@ vim.foreach_rtp(FailingCall()):(<class 'NotImplementedError'>, NotImplementedErr
- vim.foreach_rtp(int, 2):(<class 'TypeError'>, TypeError('foreach_rtp() takes exactly one argument (2 given)',))
- > import
- import xxx_no_such_module_xxx:(<class 'ImportError'>, ImportError('No module named xxx_no_such_module_xxx',))
--import failing_import:(<class 'ImportError'>, ImportError('No module named failing_import',))
-+import failing_import:(<class 'ImportError'>, ImportError())
- import failing:(<class 'NotImplementedError'>, NotImplementedError())
- > Options
- >> OptionsItem
---
-2.18.0
-
-
-From 95a0f7e94e1f9e0bd1513e165eba4f2ea0631e6b Mon Sep 17 00:00:00 2001
-From: ichizok <gclient.gaap at gmail.com>
-Date: Fri, 6 Jul 2018 23:20:43 +0900
-Subject: [PATCH 3/6] Change 'LoaderObject' constructure
-
-do 'load_module' in 'LoaderLoadModule'
----
- src/if_py_both.h | 42 ++++++++++++++++++------------------------
- 1 file changed, 18 insertions(+), 24 deletions(-)
-
-diff --git a/src/if_py_both.h b/src/if_py_both.h
-index 46383c423..6020c788d 100644
---- a/src/if_py_both.h
-+++ b/src/if_py_both.h
-@@ -539,27 +539,31 @@ PythonIO_Init_io(void)
- return 0;
- }
-
-+static PyObject *call_load_module(char *name, int len, PyObject *find_module_result);
-+
- typedef struct
- {
- PyObject_HEAD
-- PyObject *module;
-+ char *fullname;
-+ PyObject *target;
- } LoaderObject;
- static PyTypeObject LoaderType;
-
- static void
- LoaderDestructor(LoaderObject *self)
- {
-- Py_DECREF(self->module);
-+ vim_free(self->fullname);
-+ Py_DECREF(self->target);
- DESTRUCTOR_FINISH(self);
- }
-
- static PyObject *
- LoaderLoadModule(LoaderObject *self, PyObject *args UNUSED)
- {
-- PyObject *ret = self->module;
-+ char *fullname = self->fullname;
-+ PyObject *target = self->target;
-
-- Py_INCREF(ret);
-- return ret;
-+ return call_load_module(fullname, (int)STRLEN(fullname), target);
- }
-
- static struct PyMethodDef LoaderMethods[] = {
-@@ -1240,11 +1244,11 @@ find_module(char *fullname, char *tail, PyObject *new_path)
-
- Py_DECREF(module);
-
-- module = find_module(fullname, dot + 1, newest_path);
-+ find_module_result = find_module(fullname, dot + 1, newest_path);
-
- Py_DECREF(newest_path);
-
-- return module;
-+ return find_module_result;
- }
- else
- {
-@@ -1256,18 +1260,7 @@ find_module(char *fullname, char *tail, PyObject *new_path)
- return NULL;
- }
-
-- if (!(module = call_load_module(
-- fullname,
-- (int)STRLEN(fullname),
-- find_module_result)))
-- {
-- Py_DECREF(find_module_result);
-- return NULL;
-- }
--
-- Py_DECREF(find_module_result);
--
-- return module;
-+ return find_module_result;
- }
- }
-
-@@ -1275,7 +1268,7 @@ find_module(char *fullname, char *tail, PyObject *new_path)
- FinderFindModule(PyObject *self, PyObject *args)
- {
- char *fullname;
-- PyObject *module;
-+ PyObject *target;
- PyObject *new_path;
- LoaderObject *loader;
-
-@@ -1285,11 +1278,11 @@ FinderFindModule(PyObject *self, PyObject *args)
- if (!(new_path = Vim_GetPaths(self)))
- return NULL;
-
-- module = find_module(fullname, fullname, new_path);
-+ target = find_module(fullname, fullname, new_path);
-
- Py_DECREF(new_path);
-
-- if (!module)
-+ if (!target)
- {
- if (PyErr_Occurred())
- return NULL;
-@@ -1300,11 +1293,12 @@ FinderFindModule(PyObject *self, PyObject *args)
-
- if (!(loader = PyObject_NEW(LoaderObject, &LoaderType)))
- {
-- Py_DECREF(module);
-+ Py_DECREF(target);
- return NULL;
- }
-
-- loader->module = module;
-+ loader->fullname = (char *)vim_strsave((char_u *)fullname);
-+ loader->target = target;
-
- return (PyObject *) loader;
- }
---
-2.18.0
-
-
-From 92a204120b9f508aae966d03c447ad615e3128b5 Mon Sep 17 00:00:00 2001
-From: ichizok <gclient.gaap at gmail.com>
-Date: Sat, 7 Jul 2018 01:47:42 +0900
-Subject: [PATCH 4/6] Fix resource leak
-
----
- src/if_py_both.h | 54 +++++++++++++++++++++++++++++++++++++++---------
- 1 file changed, 44 insertions(+), 10 deletions(-)
-
-diff --git a/src/if_py_both.h b/src/if_py_both.h
-index 6020c788d..98134cce2 100644
---- a/src/if_py_both.h
-+++ b/src/if_py_both.h
-@@ -545,7 +545,7 @@ typedef struct
- {
- PyObject_HEAD
- char *fullname;
-- PyObject *target;
-+ PyObject *result;
- } LoaderObject;
- static PyTypeObject LoaderType;
-
-@@ -553,7 +553,7 @@ static PyTypeObject LoaderType;
- LoaderDestructor(LoaderObject *self)
- {
- vim_free(self->fullname);
-- Py_DECREF(self->target);
-+ Py_XDECREF(self->result);
- DESTRUCTOR_FINISH(self);
- }
-
-@@ -561,9 +561,35 @@ LoaderDestructor(LoaderObject *self)
- LoaderLoadModule(LoaderObject *self, PyObject *args UNUSED)
- {
- char *fullname = self->fullname;
-- PyObject *target = self->target;
-+ PyObject *result = self->result;
-+ PyObject *module;
-+
-+ if (!fullname)
-+ {
-+ module = result ? result : Py_None;
-+ Py_INCREF(module);
-+ return module;
-+ }
-+
-+ module = call_load_module(fullname, (int)STRLEN(fullname), result);
-+
-+ self->fullname = NULL;
-+ self->result = module;
-+
-+ vim_free(fullname);
-+ Py_DECREF(result);
-+
-+ if (!module)
-+ {
-+ if (PyErr_Occurred())
-+ return NULL;
-+
-+ Py_INCREF(Py_None);
-+ return Py_None;
-+ }
-
-- return call_load_module(fullname, (int)STRLEN(fullname), target);
-+ Py_INCREF(module);
-+ return module;
- }
-
- static struct PyMethodDef LoaderMethods[] = {
-@@ -1268,7 +1294,7 @@ find_module(char *fullname, char *tail, PyObject *new_path)
- FinderFindModule(PyObject *self, PyObject *args)
- {
- char *fullname;
-- PyObject *target;
-+ PyObject *result;
- PyObject *new_path;
- LoaderObject *loader;
-
-@@ -1278,11 +1304,11 @@ FinderFindModule(PyObject *self, PyObject *args)
- if (!(new_path = Vim_GetPaths(self)))
- return NULL;
-
-- target = find_module(fullname, fullname, new_path);
-+ result = find_module(fullname, fullname, new_path);
-
- Py_DECREF(new_path);
-
-- if (!target)
-+ if (!result)
- {
- if (PyErr_Occurred())
- return NULL;
-@@ -1291,14 +1317,22 @@ FinderFindModule(PyObject *self, PyObject *args)
- return Py_None;
- }
-
-+ if (!(fullname = (char *)vim_strsave((char_u *)fullname)))
-+ {
-+ Py_DECREF(result);
-+ PyErr_NoMemory();
-+ return NULL;
-+ }
-+
- if (!(loader = PyObject_NEW(LoaderObject, &LoaderType)))
- {
-- Py_DECREF(target);
-+ vim_free(fullname);
-+ Py_DECREF(result);
- return NULL;
- }
-
-- loader->fullname = (char *)vim_strsave((char_u *)fullname);
-- loader->target = target;
-+ loader->fullname = fullname;
-+ loader->result = result;
-
- return (PyObject *) loader;
- }
---
-2.18.0
-
-
-From 2025230f432e4ff07f2dd58b2e56afb58c2a7f7f Mon Sep 17 00:00:00 2001
-From: ichizok <gclient.gaap at gmail.com>
-Date: Fri, 6 Jul 2018 02:35:32 +0900
-Subject: [PATCH 5/6] Replace imp module by importlib for Python 3.7
-
----
- src/if_py_both.h | 76 +++++++++++++++++++++++++++++++++++++++++++++++-
- 1 file changed, 75 insertions(+), 1 deletion(-)
-
-diff --git a/src/if_py_both.h b/src/if_py_both.h
-index 98134cce2..8478a3c2b 100644
---- a/src/if_py_both.h
-+++ b/src/if_py_both.h
-@@ -88,8 +88,12 @@ static PyObject *py_getcwd;
- static PyObject *vim_module;
- static PyObject *vim_special_path_object;
-
-+#if PY_VERSION_HEX >= 0x030700f0
-+static PyObject *py_find_spec;
-+#else
- static PyObject *py_find_module;
- static PyObject *py_load_module;
-+#endif
-
- static PyObject *VimError;
-
-@@ -539,8 +543,8 @@ PythonIO_Init_io(void)
- return 0;
- }
-
-+#if PY_VERSION_HEX < 0x030700f0
- static PyObject *call_load_module(char *name, int len, PyObject *find_module_result);
--
- typedef struct
- {
- PyObject_HEAD
-@@ -597,6 +601,7 @@ static struct PyMethodDef LoaderMethods[] = {
- {"load_module", (PyCFunction)LoaderLoadModule, METH_VARARGS, ""},
- { NULL, NULL, 0, NULL}
- };
-+#endif
-
- /* Check to see whether a Vim error has been reported, or a keyboard
- * interrupt has been detected.
-@@ -1193,6 +1198,37 @@ Vim_GetPaths(PyObject *self UNUSED)
- return ret;
- }
-
-+#if PY_VERSION_HEX >= 0x030700f0
-+ static PyObject *
-+FinderFindSpec(PyObject *self, PyObject *args)
-+{
-+ char *fullname;
-+ PyObject *paths;
-+ PyObject *target = Py_None;
-+ PyObject *spec;
-+
-+ if (!PyArg_ParseTuple(args, "s|O", &fullname, &target))
-+ return NULL;
-+
-+ if (!(paths = Vim_GetPaths(self)))
-+ return NULL;
-+
-+ spec = PyObject_CallFunction(py_find_spec, "sNN", fullname, paths, target);
-+
-+ Py_DECREF(paths);
-+
-+ if (!spec)
-+ {
-+ if (PyErr_Occurred())
-+ return NULL;
-+
-+ Py_INCREF(Py_None);
-+ return Py_None;
-+ }
-+
-+ return spec;
-+}
-+#else
- static PyObject *
- call_load_module(char *name, int len, PyObject *find_module_result)
- {
-@@ -1336,6 +1372,7 @@ FinderFindModule(PyObject *self, PyObject *args)
-
- return (PyObject *) loader;
- }
-+#endif
-
- static PyObject *
- VimPathHook(PyObject *self UNUSED, PyObject *args)
-@@ -1367,7 +1404,11 @@ static struct PyMethodDef VimMethods[] = {
- {"chdir", (PyCFunction)VimChdir, METH_VARARGS|METH_KEYWORDS, "Change directory"},
- {"fchdir", (PyCFunction)VimFchdir, METH_VARARGS|METH_KEYWORDS, "Change directory"},
- {"foreach_rtp", VimForeachRTP, METH_O, "Call given callable for each path in &rtp"},
-+#if PY_VERSION_HEX >= 0x030700f0
-+ {"find_spec", FinderFindSpec, METH_VARARGS, "Internal use only, returns spec object for any input it receives"},
-+#else
- {"find_module", FinderFindModule, METH_VARARGS, "Internal use only, returns loader object for any input it receives"},
-+#endif
- {"path_hook", VimPathHook, METH_VARARGS, "Hook function to install in sys.path_hooks"},
- {"_get_paths", (PyCFunction)Vim_GetPaths, METH_NOARGS, "Get &rtp-based additions to sys.path"},
- { NULL, NULL, 0, NULL}
-@@ -6576,6 +6617,7 @@ init_structs(void)
- OptionsType.tp_traverse = (traverseproc)OptionsTraverse;
- OptionsType.tp_clear = (inquiry)OptionsClear;
-
-+#if PY_VERSION_HEX < 0x030700f0
- vim_memset(&LoaderType, 0, sizeof(LoaderType));
- LoaderType.tp_name = "vim.Loader";
- LoaderType.tp_basicsize = sizeof(LoaderObject);
-@@ -6583,6 +6625,7 @@ init_structs(void)
- LoaderType.tp_doc = "vim message object";
- LoaderType.tp_methods = LoaderMethods;
- LoaderType.tp_dealloc = (destructor)LoaderDestructor;
-+#endif
-
- #if PY_MAJOR_VERSION >= 3
- vim_memset(&vimmodule, 0, sizeof(vimmodule));
-@@ -6614,7 +6657,9 @@ init_types(void)
- PYTYPE_READY(FunctionType);
- PYTYPE_READY(OptionsType);
- PYTYPE_READY(OutputType);
-+#if PY_VERSION_HEX < 0x030700f0
- PYTYPE_READY(LoaderType);
-+#endif
- return 0;
- }
-
-@@ -6738,7 +6783,9 @@ static struct object_constant {
- {"List", (PyObject *)&ListType},
- {"Function", (PyObject *)&FunctionType},
- {"Options", (PyObject *)&OptionsType},
-+#if PY_VERSION_HEX < 0x030700f0
- {"_Loader", (PyObject *)&LoaderType},
-+#endif
- };
-
- #define ADD_OBJECT(m, name, obj) \
-@@ -6760,6 +6807,10 @@ populate_module(PyObject *m)
- PyObject *other_module;
- PyObject *attr;
- PyObject *imp;
-+#if PY_VERSION_HEX >= 0x030700f0
-+ PyObject *dict;
-+ PyObject *cls;
-+#endif
-
- for (i = 0; i < (int)(sizeof(numeric_constants)
- / sizeof(struct numeric_constant));
-@@ -6832,6 +6883,28 @@ populate_module(PyObject *m)
-
- ADD_OBJECT(m, "VIM_SPECIAL_PATH", vim_special_path_object);
-
-+#if PY_VERSION_HEX >= 0x030700f0
-+ if (!(imp = PyImport_ImportModule("importlib.machinery")))
-+ return -1;
-+
-+ dict = PyModule_GetDict(imp);
-+
-+ if (!(cls = PyDict_GetItemString(dict, "PathFinder")))
-+ {
-+ Py_DECREF(imp);
-+ return -1;
-+ }
-+
-+ if (!(py_find_spec = PyObject_GetAttrString(cls, "find_spec")))
-+ {
-+ Py_DECREF(imp);
-+ return -1;
-+ }
-+
-+ Py_DECREF(imp);
-+
-+ ADD_OBJECT(m, "_find_spec", py_find_spec);
-+#else
- if (!(imp = PyImport_ImportModule("imp")))
- return -1;
-
-@@ -6852,6 +6925,7 @@ populate_module(PyObject *m)
-
- ADD_OBJECT(m, "_find_module", py_find_module);
- ADD_OBJECT(m, "_load_module", py_load_module);
-+#endif
-
- return 0;
- }
---
-2.18.0
-
-
-From af6a110ab17849a41cebfe041b31d55844ef844b Mon Sep 17 00:00:00 2001
-From: ichizok <gclient.gaap at gmail.com>
-Date: Fri, 6 Jul 2018 16:01:43 +0900
-Subject: [PATCH 6/6] Fix test87
-
-https://docs.python.org/3/whatsnew/3.7.html#changes-in-the-python-api
-
-> repr for BaseException has changed to not include the trailing comma.
----
- src/testdir/test87.in | 21 +++++++++++++--------
- 1 file changed, 13 insertions(+), 8 deletions(-)
-
-diff --git a/src/testdir/test87.in b/src/testdir/test87.in
-index ac0410901..31de37b99 100644
---- a/src/testdir/test87.in
-+++ b/src/testdir/test87.in
-@@ -219,6 +219,7 @@ import sys
- import re
-
- py33_type_error_pattern = re.compile('^__call__\(\) takes (\d+) positional argument but (\d+) were given$')
-+py37_exception_repr = re.compile(r'([^\(\),])(\)+)$')
-
- def ee(expr, g=globals(), l=locals()):
- cb = vim.current.buffer
-@@ -227,17 +228,17 @@ def ee(expr, g=globals(), l=locals()):
- exec(expr, g, l)
- except Exception as e:
- if sys.version_info >= (3, 3) and e.__class__ is AttributeError and str(e).find('has no attribute')>=0 and not str(e).startswith("'vim."):
-- cb.append(expr + ':' + repr((e.__class__, AttributeError(str(e)[str(e).rfind(" '") + 2:-1]))))
-+ msg = repr((e.__class__, AttributeError(str(e)[str(e).rfind(" '") + 2:-1])))
- elif sys.version_info >= (3, 3) and e.__class__ is ImportError and str(e).find('No module named \'') >= 0:
-- cb.append(expr + ':' + repr((e.__class__, ImportError(str(e).replace("'", '')))))
-+ msg = repr((e.__class__, ImportError(str(e).replace("'", ''))))
- elif sys.version_info >= (3, 6) and e.__class__ is ModuleNotFoundError:
- # Python 3.6 gives ModuleNotFoundError, change it to an ImportError
-- cb.append(expr + ':' + repr((ImportError, ImportError(str(e).replace("'", '')))))
-+ msg = repr((ImportError, ImportError(str(e).replace("'", ''))))
- elif sys.version_info >= (3, 3) and e.__class__ is TypeError:
- m = py33_type_error_pattern.search(str(e))
- if m:
- msg = '__call__() takes exactly {0} positional argument ({1} given)'.format(m.group(1), m.group(2))
-- cb.append(expr + ':' + repr((e.__class__, TypeError(msg))))
-+ msg = repr((e.__class__, TypeError(msg)))
- else:
- msg = repr((e.__class__, e))
- # Messages changed with Python 3.6, change new to old.
-@@ -249,9 +250,8 @@ def ee(expr, g=globals(), l=locals()):
- oldmsg2 = '''"Can't convert 'int' object to str implicitly"'''
- if msg.find(newmsg2) > -1:
- msg = msg.replace(newmsg2, oldmsg2)
-- cb.append(expr + ':' + msg)
- elif sys.version_info >= (3, 5) and e.__class__ is ValueError and str(e) == 'embedded null byte':
-- cb.append(expr + ':' + repr((TypeError, TypeError('expected bytes with no null'))))
-+ msg = repr((TypeError, TypeError('expected bytes with no null')))
- else:
- msg = repr((e.__class__, e))
- # Some Python versions say can't, others cannot.
-@@ -262,11 +262,16 @@ def ee(expr, g=globals(), l=locals()):
- msg = msg.replace('"cannot ', '\'cannot ')
- if msg.find(' attributes"') > -1:
- msg = msg.replace(' attributes"', ' attributes\'')
-- cb.append(expr + ':' + msg)
-+ if sys.version_info >= (3, 7):
-+ msg = py37_exception_repr.sub(r'\1,\2', msg)
-+ cb.append(expr + ':' + msg)
- else:
- cb.append(expr + ':NOT FAILED')
- except Exception as e:
-- cb.append(expr + '::' + repr((e.__class__, e)))
-+ msg = repr((e.__class__, e))
-+ if sys.version_info >= (3, 7):
-+ msg = py37_exception_repr.sub(r'\1,\2', msg)
-+ cb.append(expr + '::' + msg)
- EOF
- :fun New(...)
- : return ['NewStart']+a:000+['NewEnd']
---
-2.18.0
-
More information about the arch-commits
mailing list