Ken Takata avatar Ken Takata committed 12cb6ca

update for 7.3.807

Remove patches which are already merged.

Comments (0)

Files changed (3)

add-tests-for-thread-and-settrace.patch

-# HG changeset patch
-# Parent 07d58faf2ea8f640d25120f78b31fb0d6e3a1dcb
-diff --git a/src/testdir/test86.in b/src/testdir/test86.in
---- a/src/testdir/test86.in
-+++ b/src/testdir/test86.in
-@@ -267,6 +267,54 @@
- :      $put =toput
- :   endtry
- :endfor
-+:"
-+:" threading
-+:let l = [0]
-+:py l=vim.bindeval('l')
-+:py <<EOF
-+import threading
-+import time
-+
-+class T(threading.Thread):
-+    def __init__(self):
-+        threading.Thread.__init__(self)
-+        self.t = 0
-+        self.running = True
-+
-+    def run(self):
-+        while self.running:
-+            self.t += 1
-+            time.sleep(0.1)
-+
-+t = T()
-+t.start()
-+EOF
-+:sleep 1
-+:py t.running = False
-+:py t.join()
-+:py l[0] = t.t > 8  # check if the background thread is working
-+:$put =string(l)
-+:"
-+:" settrace
-+:let l = []
-+:py l=vim.bindeval('l')
-+:py <<EOF
-+import sys
-+
-+def traceit(frame, event, arg):
-+    global l
-+    if event == "line":
-+        l.extend([frame.f_lineno])
-+    return traceit
-+
-+def trace_main():
-+    for i in range(5):
-+        pass
-+EOF
-+:py sys.settrace(traceit)
-+:py trace_main()
-+:py sys.settrace(None)
-+:$put =string(l)
- :endfun
- :"
- :call Test()
-diff --git a/src/testdir/test86.ok b/src/testdir/test86.ok
---- a/src/testdir/test86.ok
-+++ b/src/testdir/test86.ok
-@@ -63,3 +63,5 @@
- {"\0": 1}:	Vim(let):E859:
- undefined_name:	Vim(let):E858:
- vim:	Vim(let):E859:
-+[1]
-+[1, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 10, 1]
-diff --git a/src/testdir/test87.in b/src/testdir/test87.in
---- a/src/testdir/test87.in
-+++ b/src/testdir/test87.in
-@@ -267,6 +267,54 @@
- :      $put =toput
- :   endtry
- :endfor
-+:"
-+:" threading
-+:let l = [0]
-+:py3 l=vim.bindeval('l')
-+:py3 <<EOF
-+import threading
-+import time
-+
-+class T(threading.Thread):
-+    def __init__(self):
-+        threading.Thread.__init__(self)
-+        self.t = 0
-+        self.running = True
-+
-+    def run(self):
-+        while self.running:
-+            self.t += 1
-+            time.sleep(0.1)
-+
-+t = T()
-+t.start()
-+EOF
-+:sleep 1
-+:py3 t.running = False
-+:py3 t.join()
-+:py3 l[0] = t.t > 8  # check if the background thread is working
-+:$put =string(l)
-+:"
-+:" settrace
-+:let l = []
-+:py3 l=vim.bindeval('l')
-+:py3 <<EOF
-+import sys
-+
-+def traceit(frame, event, arg):
-+    global l
-+    if event == "line":
-+        l += [frame.f_lineno]
-+    return traceit
-+
-+def trace_main():
-+    for i in range(5):
-+        pass
-+EOF
-+:py3 sys.settrace(traceit)
-+:py3 trace_main()
-+:py3 sys.settrace(None)
-+:$put =string(l)
- :endfun
- :"
- :call Test()
-diff --git a/src/testdir/test87.ok b/src/testdir/test87.ok
---- a/src/testdir/test87.ok
-+++ b/src/testdir/test87.ok
-@@ -63,3 +63,5 @@
- {"\0": 1}:	Vim(let):E861:
- undefined_name:	Vim(let):E860:
- vim:	Vim(let):E861:
-+[1]
-+[1, 10, 11, 10, 11, 10, 11, 10, 11, 10, 11, 10, 1]

fix-python-threads.patch

-# HG changeset patch
-# Parent 8c5f1372df3ad08f0a049a50dc152d3978eb141a
-
-diff --git a/src/if_python.c b/src/if_python.c
---- a/src/if_python.c
-+++ b/src/if_python.c
-@@ -741,7 +741,7 @@
- 	PyMac_Initialize();
- #endif
- 	/* Initialise threads, and below save the state using
--	 * PyGILState_Ensure.  Without the call to PyGILState_Ensure, thread
-+	 * PyEval_SaveThread.  Without the call to PyEval_SaveThread, thread
- 	 * specific state (such as the system trace hook), will be lost
- 	 * between invocations of Python code. */
- 	PyEval_InitThreads();
-@@ -755,10 +755,6 @@
- 	if (PythonMod_Init())
- 	    goto fail;
- 
--	/* The first python thread is vim's, release the lock. */
--	Python_SaveThread();
--	pygilstate = PyGILState_Ensure();
--
- 	globals = PyModule_GetDict(PyImport_AddModule("__main__"));
- 
- 	/* Remove the element from sys.path that was added because of our
-@@ -767,7 +763,14 @@
- 	 * the current directory in sys.path. */
- 	PyRun_SimpleString("import sys; sys.path = filter(lambda x: x != '/must>not&exist', sys.path)");
- 
--	PyGILState_Release(pygilstate);
-+	/* lock is created and acquired in PyEval_InitThreads() and thread
-+	 * state is created in Py_Initialize()
-+	 * there _PyGILState_NoteThreadState() also sets gilcounter to 1
-+	 * (python must have threads enabled!)
-+	 * so the following does both: unlock GIL and save thread state in TLS
-+	 * without deleting thread state
-+	 */
-+	PyEval_SaveThread();
- 
- 	initialised = 1;
-     }
-diff --git a/src/if_python3.c b/src/if_python3.c
---- a/src/if_python3.c
-+++ b/src/if_python3.c
-@@ -729,13 +729,11 @@
- #else
- 	PyMac_Initialize();
- #endif
--	/* Initialise threads, and save the state using PyGILState_Ensure.
--	 * Without the call to PyGILState_Ensure, thread specific state (such
--	 * as the system trace hook), will be lost between invocations of
--	 * Python code. */
-+	/* Initialise threads, and below save the state using
-+	 * PyEval_SaveThread.  Without the call to PyEval_SaveThread, thread
-+	 * specific state (such as the system trace hook), will be lost
-+	 * between invocations of Python code. */
- 	PyEval_InitThreads();
--	pygilstate = PyGILState_Ensure();
--
- #ifdef DYNAMIC_PYTHON3
- 	get_py3_exceptions();
- #endif
-@@ -754,13 +752,14 @@
- 	 */
- 	PyRun_SimpleString("import vim; import sys; sys.path = list(filter(lambda x: not x.endswith('must>not&exist'), sys.path))");
- 
--	// lock is created and acquired in PyEval_InitThreads() and thread
--	// state is created in Py_Initialize()
--	// there _PyGILState_NoteThreadState() also sets gilcounter to 1
--	// (python must have threads enabled!)
--	// so the following does both: unlock GIL and save thread state in TLS
--	// without deleting thread state
--	PyGILState_Release(pygilstate);
-+	/* lock is created and acquired in PyEval_InitThreads() and thread
-+	 * state is created in Py_Initialize()
-+	 * there _PyGILState_NoteThreadState() also sets gilcounter to 1
-+	 * (python must have threads enabled!)
-+	 * so the following does both: unlock GIL and save thread state in TLS
-+	 * without deleting thread state
-+	 */
-+	PyEval_SaveThread();
- 
- 	py3initialised = 1;
-     }
 0001-support-mingw-w64.patch
 0002-set-RUBY_INSTALL_NAME-and-RUBY_PLATFORM.patch
 0003-use-mingw-gcc-as-default.patch
-fix-python-threads.patch
 patch-direct_write.diff
 patch-direct_write-ex1.diff
 use-proto.diff
 fix-dwrite-renopt.diff
 gfw-bold-italic.patch
-add-tests-for-thread-and-settrace.patch
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.