]>
Commit | Line | Data |
---|---|---|
a2e11672 AG |
1 | To: vim_dev@googlegroups.com |
2 | Subject: Patch 7.3.212 | |
3 | Fcc: outbox | |
4 | From: Bram Moolenaar <Bram@moolenaar.net> | |
5 | Mime-Version: 1.0 | |
6 | Content-Type: text/plain; charset=UTF-8 | |
7 | Content-Transfer-Encoding: 8bit | |
8 | ------------ | |
9 | ||
10 | Patch 7.3.212 | |
11 | Problem: With Python 3.2 ":py3" fails. | |
12 | Solution: Move PyEval_InitThreads() to after Py_Initialize(). (Roland | |
13 | Puntaier) Check abiflags in configure. (Andreas Behr) | |
14 | Files: src/if_python3.c, src/auto/configure, src/configure.in | |
15 | ||
16 | ||
17 | *** ../mercurial/vim73/src/if_python3.c 2011-02-25 15:18:46.000000000 +0100 | |
18 | --- src/if_python3.c 2011-06-11 04:24:49.000000000 +0200 | |
19 | *************** | |
20 | *** 547,560 **** | |
21 | Py_SetPythonHome(PYTHON3_HOME); | |
22 | #endif | |
23 | ||
24 | - /* initialise threads */ | |
25 | - PyEval_InitThreads(); | |
26 | - | |
27 | #if !defined(MACOS) || defined(MACOS_X_UNIX) | |
28 | Py_Initialize(); | |
29 | #else | |
30 | PyMac_Initialize(); | |
31 | #endif | |
32 | ||
33 | #ifdef DYNAMIC_PYTHON3 | |
34 | get_py3_exceptions(); | |
35 | --- 547,559 ---- | |
36 | Py_SetPythonHome(PYTHON3_HOME); | |
37 | #endif | |
38 | ||
39 | #if !defined(MACOS) || defined(MACOS_X_UNIX) | |
40 | Py_Initialize(); | |
41 | #else | |
42 | PyMac_Initialize(); | |
43 | #endif | |
44 | + /* initialise threads, must be after Py_Initialize() */ | |
45 | + PyEval_InitThreads(); | |
46 | ||
47 | #ifdef DYNAMIC_PYTHON3 | |
48 | get_py3_exceptions(); | |
49 | *** ../mercurial/vim73/src/auto/configure 2011-05-10 15:41:59.000000000 +0200 | |
50 | --- src/auto/configure 2011-06-12 21:33:16.000000000 +0200 | |
51 | *************** | |
52 | *** 5505,5510 **** | |
53 | --- 5505,5527 ---- | |
54 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_var_python3_version" >&5 | |
55 | $as_echo "$vi_cv_var_python3_version" >&6; } | |
56 | ||
57 | + { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's abiflags" >&5 | |
58 | + $as_echo_n "checking Python's abiflags... " >&6; } | |
59 | + if test "${vi_cv_var_python3_abiflags+set}" = set; then : | |
60 | + $as_echo_n "(cached) " >&6 | |
61 | + else | |
62 | + | |
63 | + vi_cv_var_python3_abiflags= | |
64 | + if ${vi_cv_path_python3} -c \ | |
65 | + "import sys; sys.exit(${vi_cv_var_python3_version} < 3.2)" | |
66 | + then | |
67 | + vi_cv_var_python3_abiflags=`${vi_cv_path_python3} -c \ | |
68 | + "import sys; print(sys.abiflags)"` | |
69 | + fi | |
70 | + fi | |
71 | + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_var_python3_abiflags" >&5 | |
72 | + $as_echo "$vi_cv_var_python3_abiflags" >&6; } | |
73 | + | |
74 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python's install prefix" >&5 | |
75 | $as_echo_n "checking Python's install prefix... " >&6; } | |
76 | if test "${vi_cv_path_python3_pfx+set}" = set; then : | |
77 | *************** | |
78 | *** 5555,5563 **** | |
79 | else | |
80 | ||
81 | vi_cv_path_python3_conf= | |
82 | for path in "${vi_cv_path_python3_pfx}" "${vi_cv_path_python3_epfx}"; do | |
83 | for subdir in lib64 lib share; do | |
84 | ! d="${path}/${subdir}/python${vi_cv_var_python3_version}/config" | |
85 | if test -d "$d" && test -f "$d/config.c"; then | |
86 | vi_cv_path_python3_conf="$d" | |
87 | fi | |
88 | --- 5572,5584 ---- | |
89 | else | |
90 | ||
91 | vi_cv_path_python3_conf= | |
92 | + config_dir="config" | |
93 | + if test "${vi_cv_var_python3_abiflags}" != ""; then | |
94 | + config_dir="${config_dir}-${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags}" | |
95 | + fi | |
96 | for path in "${vi_cv_path_python3_pfx}" "${vi_cv_path_python3_epfx}"; do | |
97 | for subdir in lib64 lib share; do | |
98 | ! d="${path}/${subdir}/python${vi_cv_var_python3_version}/${config_dir}" | |
99 | if test -d "$d" && test -f "$d/config.c"; then | |
100 | vi_cv_path_python3_conf="$d" | |
101 | fi | |
102 | *************** | |
103 | *** 5592,5598 **** | |
104 | eval "`cd ${PYTHON3_CONFDIR} && make -f "${tmp_mkf}" __ | sed '/ directory /d'`" | |
105 | rm -f -- "${tmp_mkf}" | |
106 | vi_cv_path_python3_plibs="-L${PYTHON3_CONFDIR} -lpython${vi_cv_var_python3_version}" | |
107 | ! vi_cv_path_python3_plibs="${vi_cv_path_python3_plibs} ${python3_BASEMODLIBS} ${python3_LIBS} ${python3_SYSLIBS} ${python3_LINKFORSHARED}" | |
108 | vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-ltermcap//` | |
109 | vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-lffi//` | |
110 | ||
111 | --- 5613,5619 ---- | |
112 | eval "`cd ${PYTHON3_CONFDIR} && make -f "${tmp_mkf}" __ | sed '/ directory /d'`" | |
113 | rm -f -- "${tmp_mkf}" | |
114 | vi_cv_path_python3_plibs="-L${PYTHON3_CONFDIR} -lpython${vi_cv_var_python3_version}" | |
115 | ! vi_cv_path_python3_plibs="${vi_cv_path_python3_plibs} ${python3_BASEMODLIBS} ${python3_LIBS} ${python3_SYSLIBS}" | |
116 | vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-ltermcap//` | |
117 | vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-lffi//` | |
118 | ||
119 | *************** | |
120 | *** 5601,5609 **** | |
121 | ||
122 | PYTHON3_LIBS="${vi_cv_path_python3_plibs}" | |
123 | if test "${vi_cv_path_python3_pfx}" = "${vi_cv_path_python3_epfx}"; then | |
124 | ! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\"" | |
125 | else | |
126 | ! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\"" | |
127 | fi | |
128 | PYTHON3_SRC="if_python3.c" | |
129 | if test "x$MACOSX" = "xyes"; then | |
130 | --- 5622,5630 ---- | |
131 | ||
132 | PYTHON3_LIBS="${vi_cv_path_python3_plibs}" | |
133 | if test "${vi_cv_path_python3_pfx}" = "${vi_cv_path_python3_epfx}"; then | |
134 | ! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\"" | |
135 | else | |
136 | ! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\"" | |
137 | fi | |
138 | PYTHON3_SRC="if_python3.c" | |
139 | if test "x$MACOSX" = "xyes"; then | |
140 | *** ../mercurial/vim73/src/configure.in 2011-05-10 15:41:59.000000000 +0200 | |
141 | --- src/configure.in 2011-06-12 21:31:18.000000000 +0200 | |
142 | *************** | |
143 | *** 992,997 **** | |
144 | --- 992,1008 ---- | |
145 | ${vi_cv_path_python3} -c 'import sys; print(sys.version[:3])'` | |
146 | ]]) | |
147 | ||
148 | + dnl -- get abiflags for python 3.2 or higher (PEP 3149) | |
149 | + AC_CACHE_CHECK(Python's abiflags,vi_cv_var_python3_abiflags, | |
150 | + [ | |
151 | + vi_cv_var_python3_abiflags= | |
152 | + if ${vi_cv_path_python3} -c \ | |
153 | + "import sys; sys.exit(${vi_cv_var_python3_version} < 3.2)" | |
154 | + then | |
155 | + vi_cv_var_python3_abiflags=`${vi_cv_path_python3} -c \ | |
156 | + "import sys; print(sys.abiflags)"` | |
157 | + fi ]) | |
158 | + | |
159 | dnl -- find where python3 thinks it was installed | |
160 | AC_CACHE_CHECK(Python's install prefix,vi_cv_path_python3_pfx, | |
161 | [ vi_cv_path_python3_pfx=` | |
162 | *************** | |
163 | *** 1021,1029 **** | |
164 | AC_CACHE_CHECK(Python's configuration directory,vi_cv_path_python3_conf, | |
165 | [ | |
166 | vi_cv_path_python3_conf= | |
167 | for path in "${vi_cv_path_python3_pfx}" "${vi_cv_path_python3_epfx}"; do | |
168 | for subdir in lib64 lib share; do | |
169 | ! d="${path}/${subdir}/python${vi_cv_var_python3_version}/config" | |
170 | if test -d "$d" && test -f "$d/config.c"; then | |
171 | vi_cv_path_python3_conf="$d" | |
172 | fi | |
173 | --- 1032,1044 ---- | |
174 | AC_CACHE_CHECK(Python's configuration directory,vi_cv_path_python3_conf, | |
175 | [ | |
176 | vi_cv_path_python3_conf= | |
177 | + config_dir="config" | |
178 | + if test "${vi_cv_var_python3_abiflags}" != ""; then | |
179 | + config_dir="${config_dir}-${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags}" | |
180 | + fi | |
181 | for path in "${vi_cv_path_python3_pfx}" "${vi_cv_path_python3_epfx}"; do | |
182 | for subdir in lib64 lib share; do | |
183 | ! d="${path}/${subdir}/python${vi_cv_var_python3_version}/${config_dir}" | |
184 | if test -d "$d" && test -f "$d/config.c"; then | |
185 | vi_cv_path_python3_conf="$d" | |
186 | fi | |
187 | *************** | |
188 | *** 1055,1061 **** | |
189 | eval "`cd ${PYTHON3_CONFDIR} && make -f "${tmp_mkf}" __ | sed '/ directory /d'`" | |
190 | rm -f -- "${tmp_mkf}" | |
191 | vi_cv_path_python3_plibs="-L${PYTHON3_CONFDIR} -lpython${vi_cv_var_python3_version}" | |
192 | ! vi_cv_path_python3_plibs="${vi_cv_path_python3_plibs} ${python3_BASEMODLIBS} ${python3_LIBS} ${python3_SYSLIBS} ${python3_LINKFORSHARED}" | |
193 | dnl remove -ltermcap, it can conflict with an earlier -lncurses | |
194 | vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-ltermcap//` | |
195 | vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-lffi//` | |
196 | --- 1070,1076 ---- | |
197 | eval "`cd ${PYTHON3_CONFDIR} && make -f "${tmp_mkf}" __ | sed '/ directory /d'`" | |
198 | rm -f -- "${tmp_mkf}" | |
199 | vi_cv_path_python3_plibs="-L${PYTHON3_CONFDIR} -lpython${vi_cv_var_python3_version}" | |
200 | ! vi_cv_path_python3_plibs="${vi_cv_path_python3_plibs} ${python3_BASEMODLIBS} ${python3_LIBS} ${python3_SYSLIBS}" | |
201 | dnl remove -ltermcap, it can conflict with an earlier -lncurses | |
202 | vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-ltermcap//` | |
203 | vi_cv_path_python3_plibs=`echo $vi_cv_path_python3_plibs | sed s/-lffi//` | |
204 | *************** | |
205 | *** 1063,1071 **** | |
206 | ||
207 | PYTHON3_LIBS="${vi_cv_path_python3_plibs}" | |
208 | if test "${vi_cv_path_python3_pfx}" = "${vi_cv_path_python3_epfx}"; then | |
209 | ! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\"" | |
210 | else | |
211 | ! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\"" | |
212 | fi | |
213 | PYTHON3_SRC="if_python3.c" | |
214 | dnl For Mac OSX 10.2 config.o is included in the Python library. | |
215 | --- 1078,1086 ---- | |
216 | ||
217 | PYTHON3_LIBS="${vi_cv_path_python3_plibs}" | |
218 | if test "${vi_cv_path_python3_pfx}" = "${vi_cv_path_python3_epfx}"; then | |
219 | ! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\"" | |
220 | else | |
221 | ! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}${vi_cv_var_python3_abiflags} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version} -DPYTHON3_HOME=L\\\"${vi_cv_path_python3_pfx}\\\"" | |
222 | fi | |
223 | PYTHON3_SRC="if_python3.c" | |
224 | dnl For Mac OSX 10.2 config.o is included in the Python library. | |
225 | *** ../vim-7.3.211/src/version.c 2011-06-12 21:24:56.000000000 +0200 | |
226 | --- src/version.c 2011-06-12 21:35:31.000000000 +0200 | |
227 | *************** | |
228 | *** 711,712 **** | |
229 | --- 711,714 ---- | |
230 | { /* Add new patch number below this line */ | |
231 | + /**/ | |
232 | + 212, | |
233 | /**/ | |
234 | ||
235 | -- | |
236 | In Joseph Heller's novel "Catch-22", the main character tries to get out of a | |
237 | war by proving he is crazy. But the mere fact he wants to get out of the war | |
238 | only shows he isn't crazy -- creating the original "Catch-22". | |
239 | ||
240 | /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ | |
241 | /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ | |
242 | \\\ an exciting new programming language -- http://www.Zimbu.org /// | |
243 | \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |