Thursday, January 2, 2014

Re: Relation between the :version command showing +perl/dyn and "echo has ("perl") returning 1.

On 02/01/14 10:08, Pritesh Ugrankar wrote:
> Hi,
>
> Vim newbie here.
>
> Please let me know the relation between the :version command showing +perl/dyn and "echo has ("perl") returning 1.
>
> I am using gVim7.4 (downloaded from www.vim.org) on Windows 7.
>
> I had earlier installed Strawberry Perl version 5.16.3 (32 Bit) and at that time, for "echo has ("perl").would return 0.
>
> Recently removed that version of Perl and installed DWIM Perl Version 5.14.2.1 (32 Bit).
>
> Now vim returns "1" for "echo has ("perl").
>
> What does this mean? Will this enable me to do something that I was not doing earlier.
>
> When I googled a bit, now I understand that I can run "%perldo s/this/that/gi". But apart from this, what are the advantages that I have now?
>
> Kindly let me know.
>

+perl/dyn means Vim was compiled with the Perl interface dynamically
included. In that case the perl commands can be used (and has('perl')
will return 1) if the perl libraries (of the correct version) can be
found at run-time by the Vim executable. If the perl libraries cannot be
found, the same executable will have has('perl') returning zero, and the
Perl interface cannot be used then. The output of :version should give
you, somewhere in the "Compilation:" and "Linking:" paragraphs in the
bottom half of the listing, the arguments which were used to invoke the
Perl include files and/or the Perl libraries; from that you ought to be
able to determine which Perl version Vim will be looking for.

+perl (without /dyn) means that the Perl libraries were included
statically, which makes for a bulkier executable, but no dependency on
something which might or might not be found at run-time. In that case
has('perl') will always return 1.

-perl of course means that the Perl interface was completely excluded at
compile-time, so has('perl') will always return 0.

The output of :version is fixed at compile-time, so it cannot show
anything that is only known at run-time.

Similarly for +python/dyn, +ruby/dyn, +tcl/dyn etc.


Best regards,
Tony.
--
Ye gods! Give me strength to suffer what cannot be changed, courage to
change
what must be changed, and wisdom to tell the two apart.
-- Marcus Aurelius

--
--
You received this message from the "vim_use" 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_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

No comments: