On 29 June 2012 08:57, Ingo Karkat wrote:
> On 29-Jun-2012 12:55:10 +0200, Bram Moolenaar wrote:
>
>> Patch 7.3.569
>> Problem:    Evaluating Vim expression in Python is insufficient.
>> Solution:   Add vim.bindeval().  Also add pyeval() and py3eval(). (ZyX)
>> Files:            runtime/doc/eval.txt, runtime/doc/if_pyth.txt, src/eval.c,
>>           src/if_lua.c, src/if_py_both.h, src/if_python.c, src/if_python3.c,
>>           src/proto/eval.pro, src/proto/if_python.pro,
>>           src/proto/if_python3.pro, src/testdir/Make_amiga.mak,
>>           src/testdir/Make_dos.mak, src/testdir/Make_ming.mak,
>>           src/testdir/Make_os2.mak, src/testdir/Makefile,
>>           src/testdir/test86.in, src/testdir/test86.ok,
>>           src/testdir/test87.in, src/testdir/test87.ok
>>
>> [...]
>> +     capsule = PyCapsule_New(tv, NULL, NULL);
>> +     PyDict_SetItemString(lookupDict, hexBuf, capsule);
>> +     Py_DECREF(capsule);
>> +     if (py_to_tv(obj, tv, lookupDict) == -1)
>> +     {
>> +         tv->v_type = VAR_UNKNOWN;
>> +         return -1;
>> +     }
>> +     /* As we are not using copy_tv which increments reference count we must
>> +      * do it ourself. */
>> +     switch(tv->v_type)
>> +     {
>> +         case VAR_DICT: ++tv->vval.v_dict->dv_refcount; break;
>> +         case VAR_LIST: ++tv->vval.v_list->lv_refcount; break;
>> +     }
>> +     }
>> +     else
>> +     {
>> +     typval_T        *v = PyCapsule_GetPointer(capsule, NULL);
>> [...]
>
> After this patch, Vim fails to compile on my (admittedly, outdated, but useful
> as a minimal Portable Ubuntu instance running on a Windows Laptop) Ubuntu 
> 10.04
> system, whereas it previously compiled (the big version) just fine. If this
> means that I have to upgrade my system or drop Python support, I would be fine
> with that; I was just surprised that this broke without further notice.

<snip>

> /home/inkarkat/swdev/vim/vim/src/if_py_both.h:2461: undefined reference to
> `PyCapsule_GetPointer'
> /home/inkarkat/swdev/vim/vim/src/if_py_both.h:2443: undefined reference to
> `PyCapsule_New'
> collect2: ld returned 1 exit status
> link.sh: Linking failed
> make[1]: *** [vim] Error 1
> make[1]: Leaving directory `/home/inkarkat/swdev/vim/vim/src'
> make: *** [first] Error 2

Having the same issue with Cygwin.

$ python --version
Python 2.6.8

$ uname -a
CYGWIN_NT-6.1 BMOTEC3017201LT 1.7.15(0.260/5/3) 2012-05-09 10:25 i686 Cygwin

Chris

-- 
Chris Sutcliffe
http://emergedesktop.org
http://www.google.com/profiles/ir0nh34d

-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

Raspunde prin e-mail lui