пятница, 31 мая 2013 г., 13:27:21 UTC+4 пользователь Bram Moolenaar написал:
> ZyX wrote:
> 
> 
> 
> > > > I still see a big difference between the output and what is supposed to
> 
> > > > be the output.
> 
> > > >
> 
> > > > In test86 output lines 757 to 1075 are missing.  It's like some part of
> 
> > > > the test didn't run.
> 
> > > 
> 
> > > I see the same difference in test86.
> 
> > > 
> 
> > > > In test87 there are a few errors in several lines.  E.g. getting
> 
> > > > "SyntaxError" instead of "TypeError".
> 
> > > 
> 
> > > I also see that difference in test87.
> 
> > > 
> 
> > > Furthermore, I see this kind of errors in "test87.failed" which
> 
> > > I do not see in "test87.ok":
> 
> > > 
> 
> > > E: This Vim cannot execute :python after using :py
> 
> > > E: Sorry, this command is disabled, the Python library could not be 
> > > loaded.
> 
> > > 
> 
> > > Glancing at test87.in, I see that I invokes the :py3 command
> 
> > > at line 7 for example as well as the :py command (at line 711 for
> 
> > > example).
> 
> > 
> 
> > Thanks. I am wondering though why using both pythons at a time is
> 
> > disabled in your vim, I can call both when choose both python/dyn and
> 
> > python3/dyn at a time.
> 
> 
> 
> On Linux the two dynamic libraries interfere.  When one is loaded it
> won't work to load the other one.  Vim will therefore only support the
> first one that is used.

What?! I can normally issue :py3 after :py and this will work. They do not 
interfere unless you try to use the same symbol names for both when importing 
symbols from the library. The big bunch of defines at the start of if_py*.c is 
perfectly solving this issue by using dll_ prefix for python2 and py3_ for 
python3.

> When using static libraries the build only works with either Python 2 or
> Python 3.  When trying to build with both configure will automatically
> fall back to dynamic loading.

This one I know: you import all symbols of the linked library into the only 
global namespace and python2 and python3 libraries have conflicting symbol 
names. Thus configure has no other option.

> This is explained under :help python3.

Statement "So either global symbols are loaded but only one Python version is 
activated, or no global symbols are loaded." listed there has an experimental 
disproof on my system. More, there is

o |  Changeset 2527:8bc2e8390c11054c3bd2fc64dd17d8b2dc354f95 (branch vim73)
| |  Commited 10 авг. 2010 00:06 by Bram Moolenaar <b...@vim.org>
| |  @ When building with both Python 2 and Python 3 don't use RTLD_GLOBAL, so 
that
| |  @ both may work.

so you definitely did some work to make both usable at one time.

> This patch made test 87 almost pass.

-- 
-- 
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

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Raspunde prin e-mail lui