Loading ...
Sorry, an error occurred while loading the content.
 

Re: (patch) Lua interface

Expand Messages
  • Ag. D. Hatzimanikas
    ... By the way, I added your patch to the vim s wiki page at linuxfromscratch.org http://wiki.linuxfromscratch.org/blfs/wiki/vim You can create anytime an
    Message 1 of 28 , Sep 1, 2008
      On Mon, Sep 01, at 01:19 Luis Carvalho wrote:
      > > > Below is a minor diff to your patch.
      >
      > Thank you. I'm attaching an updated version of the patch with a few more
      > changes. I should probably find a place to put the latest version of the patch...
      >

      By the way,

      I added your patch to the vim's wiki page at linuxfromscratch.org

      http://wiki.linuxfromscratch.org/blfs/wiki/vim

      You can create anytime an account and add the updated patch (if any), until
      it will be integrated into mainline (hopefully soon).

      You can click on the "attach file" and check then the "Replace existing
      attachment of the same name" in the next page. Or if you want to add a
      patch with a different name (preferable), click on the existing attachment
      to delete it and then add the new one.

      --~--~---------~--~----~------------~-------~--~----~
      You received this message from the "vim_dev" maillist.
      For more information, visit http://www.vim.org/maillist.php
      -~----------~----~----~----~------~----~------~--~---
    • Paul Moore
      ... I gave this a try on Windows. With the following patch to Make_ming.mak, it compiles fine. I ve done a couple of tests and it looks OK so far. The only
      Message 2 of 28 , Sep 1, 2008
        Luis Carvalho wrote:
        >>> Below is a minor diff to your patch.
        >
        > Thank you. I'm attaching an updated version of the patch with a few more
        > changes. I should probably find a place to put the latest version of the patch...

        I gave this a try on Windows. With the following patch to Make_ming.mak,
        it compiles fine. I've done a couple of tests and it looks OK so far.
        The only possible issue is with C runtime compatibility and loading DLLs
        (compiled Lua extensions). Getting CRT versions that match is a fiddly
        issue. That's nothing new for Windows Lua, though, so that's not an
        issue with the patch.

        Paul.



        --~--~---------~--~----~------------~-------~--~----~
        You received this message from the "vim_dev" maillist.
        For more information, visit http://www.vim.org/maillist.php
        -~----------~----~----~----~------~----~------~--~---
      • Luis Carvalho
        Hi Ag., ... I guess I ve overused the syntactic sugar. The line ... is equivalent to ... that is, b is the new buffer for myfile and b() sets it as the current
        Message 3 of 28 , Sep 1, 2008
          Hi Ag.,

          > My only question is (from :help lua-vim):
          >
          > vim.open({fname}) Opens a new buffer for file {fname} and
          > returns it. Note that the buffer
          > is not set as current.
          >
          > And then few lines below:
          >
          > :lua vim.open"myfile"() -- open buffer and set it as current
          >
          >
          > They both work as advertised, but why this idiom? Is there any other way
          > to have the same result, but to be a little bit less confusing?
          > If there is a reason to stay like this, at least (for me), it looks more
          > natural exactly the opposite, so:
          >
          > lua vim.open('somefile')
          >
          > it should open the file and set is as current.

          I guess I've overused the syntactic sugar. The line

          :lua vim.open"myfile"()

          is equivalent to

          :lua local b = vim.open("myfile"); b()

          that is, b is the new buffer for myfile and b() sets it as the current buffer.
          I didn't want to force vim.open to set the buffer to be current as that might
          not be what the user wants.

          Thanks for taking the time and testing if_lua!

          Cheers,
          Luis.

          --
          Computers are useless. They can only give you answers.
          -- Pablo Picasso

          --
          Luis Carvalho (Kozure)
          lua -e 'print((("lexcarvalho@..."):gsub("(%u+%.)","")))'
        • Paul Moore
          ... prints a^@b^@c (i.e, newlines are printed as ^@, rather than as proper newlines). Vim converts nulls to newlines and vice versa in internal strings. You
          Message 4 of 28 , Sep 2, 2008
            On 1 Sep, 18:19, Luis Carvalho <lexcarva...@...> wrote:
            > Thank you. I'm attaching an updated version of the patch with a few more
            > changes. I should probably find a place to put the latest version of the patch...

            A fairly small point:

            :lua print("a\nb\nc")

            prints

            a^@b^@c

            (i.e, newlines are printed as ^@, rather than as proper newlines).

            Vim converts nulls to newlines and vice versa in internal strings. You
            may want to look at LineToString, StringToLine, and writer, in
            if_python.c. Your MSG call in luaV_print needs to split the line at
            each \n character and call MSG on each line in turn. Same for the
            various EMSG calls

            Paul.
            --~--~---------~--~----~------------~-------~--~----~
            You received this message from the "vim_dev" maillist.
            For more information, visit http://www.vim.org/maillist.php
            -~----------~----~----~----~------~----~------~--~---
          • Luis Carvalho
            ... Thanks for catching this. A new patch, that also provides a simple configure.in, is available at
            Message 5 of 28 , Sep 3, 2008
              > > Thank you. I'm attaching an updated version of the patch with a few more
              > > changes. I should probably find a place to put the latest version of the patch...
              >
              > A fairly small point:
              >
              > :lua print("a\nb\nc")
              >
              > prints
              >
              > a^@b^@c
              >
              > (i.e, newlines are printed as ^@, rather than as proper newlines).
              >
              > Vim converts nulls to newlines and vice versa in internal strings. You
              > may want to look at LineToString, StringToLine, and writer, in
              > if_python.c. Your MSG call in luaV_print needs to split the line at
              > each \n character and call MSG on each line in turn. Same for the
              > various EMSG calls

              Thanks for catching this. A new patch, that also provides a simple
              configure.in, is available at

              http://wiki.linuxfromscratch.org/blfs/attachment/wiki/vim/vim72-lua-0.2.patch.gz

              I have a question. The standalone Lua interpreter is usually linked to a
              static library, but the linker gets a -E option to export all symbols and so
              dynamic modules get supported. Should I add a check for gcc and add -Wl,-E?
              That would export all symbols in Vim, and so it doesn't sound like a good
              idea... I could also link to a shared Lua library as default. What do you guys
              think?

              Cheers,
              Luis.

              --
              Computers are useless. They can only give you answers.
              -- Pablo Picasso

              --
              Luis Carvalho (Kozure)
              lua -e 'print((("lexcarvalho@..."):gsub("(%u+%.)","")))'
            • Andy Kittner
              ... Hi, First of all thanks for the patch, I ve also been toying around with Lua support in vim, but up to now it s only a sandbox for playing around with
              Message 6 of 28 , Sep 3, 2008
                On Wed, Sep 03, 2008 at 09:03:21AM -0400, Luis Carvalho wrote:
                >
                >Thanks for catching this. A new patch, that also provides a simple
                >configure.in, is available at
                >
                >http://wiki.linuxfromscratch.org/blfs/attachment/wiki/vim/vim72-lua-0.2.patch.gz
                >
                >I have a question. The standalone Lua interpreter is usually linked to a
                >static library, but the linker gets a -E option to export all symbols and so
                >dynamic modules get supported. Should I add a check for gcc and add -Wl,-E?
                >That would export all symbols in Vim, and so it doesn't sound like a good
                >idea... I could also link to a shared Lua library as default. What do you guys
                >think?
                >
                >Cheers,
                >Luis.

                Hi,

                First of all thanks for the patch, I've also been toying around with
                Lua support in vim, but up to now it's only a sandbox for playing around
                with various things both on the Lua and the vim side.

                Anyway, as for your question I'd say just default to using a shared lib.
                Most other interfaces seem to do so, and I'd say the costs should be
                neglectable in this case. On Windows looking up the required symbols at
                runtime seems to be the most popular choice, though I personally don't
                care to much about it either way.

                One last thing, I noticed that your patch seems to have problems with
                nested compounds:

                function! s:foo()
                let l:things = [[1, "foo"], [2, "bar"], [3, "baz"]]
                " for extra evilness:
                " call add(l:things, l:things)
                lua vim.eval("l:things")
                endfunction
                call s:foo()

                Saving this as test.vim and doing vim -c 'so test.vim' causes a
                segmentation fault. Same happens if I stick in a dictionary.
                Flat lists seem to work flawlessly though.

                Let me know if you can't reproduce this, then I'l do a debug-build
                tomorrow and get you a meaningful backtrace.

                Best regards
                Andy
                --
                BOFH Excuse #239:

                CPU needs bearings repacked
              • Luis Carvalho
                Hi Andy, ... That makes sense. I ve updated configure.in to link a shared lib. ... Thanks for the report. The latest patch, available at
                Message 7 of 28 , Sep 3, 2008
                  Hi Andy,

                  > Anyway, as for your question I'd say just default to using a shared lib.
                  > Most other interfaces seem to do so, and I'd say the costs should be
                  > neglectable in this case. On Windows looking up the required symbols at
                  > runtime seems to be the most popular choice, though I personally don't
                  > care to much about it either way.

                  That makes sense. I've updated configure.in to link a shared lib.

                  > One last thing, I noticed that your patch seems to have problems with
                  > nested compounds:
                  >
                  > function! s:foo()
                  > let l:things = [[1, "foo"], [2, "bar"], [3, "baz"]]
                  > " for extra evilness:
                  > " call add(l:things, l:things)
                  > lua vim.eval("l:things")
                  > endfunction
                  > call s:foo()
                  >
                  > Saving this as test.vim and doing vim -c 'so test.vim' causes a
                  > segmentation fault. Same happens if I stick in a dictionary.
                  > Flat lists seem to work flawlessly though.

                  Thanks for the report. The latest patch, available at

                  http://wiki.linuxfromscratch.org/blfs/attachment/wiki/vim/vim72-lua-0.3.patch.gz

                  should fix these issues.

                  Cheers,
                  Luis.

                  --
                  Computers are useless. They can only give you answers.
                  -- Pablo Picasso

                  --
                  Luis Carvalho (Kozure)
                  lua -e 'print((("lexcarvalho@..."):gsub("(%u+%.)","")))'
                • Paul Moore
                  ... On Windows, things get a little odd, as linking Lua as a DLL has 2 negative effects: 1. If lua51.dll isn t present, Vim won t start. This is fixable, but
                  Message 8 of 28 , Sep 4, 2008
                    On Sep 4, 2:44 am, Luis Carvalho <lexcarva...@...> wrote:
                    > > Anyway, as for your question I'd say just default to using a shared lib.
                    > > Most other interfaces seem to do so, and I'd say the costs should be  
                    > > neglectable in this case. On Windows looking up the required symbols at  
                    > > runtime seems to be the most popular choice, though I personally don't  
                    > > care to much about it either way.
                    >
                    > That makes sense. I've updated configure.in to link a shared lib.

                    On Windows, things get a little odd, as linking Lua as a DLL has 2
                    negative effects:

                    1. If lua51.dll isn't present, Vim won't start. This is fixable, but
                    needs code changes to load the DLL at runtime. The other language
                    bindings do this - I think I can do something similar for Lua with
                    less code changes, based on a recipe from the Lua wiki. Let me know if
                    you'd like me to try.

                    2. Vim needs to be linked with the same C runtime as the Lua DLL. In
                    practice, this means that most existing Lua binary DLLs won't work, as
                    they use the msvcrt8 runtime, which isn't normal for Vim. You can
                    build your own Lua binary DLLs, but if you're doing that, you can
                    probably also recompile Vim reasonably easily.

                    I'd suggest defaulting to linking Lua statically on Windows, with a
                    DLL link as an optional alternative. That's what I did in my second
                    Make_ming.mak patch.

                    Let me know if you want me to do the dynamic DLL loading change. I'll
                    tidy up and update my Make_ming.mak patch in any case.

                    Regards,
                    Paul.

                    PS In case it's not obvious, you have my full permission to include
                    the changes I'm posting into your patch, should you wish.
                    --~--~---------~--~----~------------~-------~--~----~
                    You received this message from the "vim_dev" maillist.
                    For more information, visit http://www.vim.org/maillist.php
                    -~----------~----~----~----~------~----~------~--~---
                  • Tony Mechelynck
                    ... 1. If the interface uses a separate DLL, then the absence of that DLL must not prevent Vim from running (as long as the interface isn t used, of course).
                    Message 9 of 28 , Sep 4, 2008
                      On 04/09/08 16:37, Paul Moore wrote:
                      > On Sep 4, 2:44 am, Luis Carvalho<lexcarva...@...> wrote:
                      >>> Anyway, as for your question I'd say just default to using a shared lib.
                      >>> Most other interfaces seem to do so, and I'd say the costs should be
                      >>> neglectable in this case. On Windows looking up the required symbols at
                      >>> runtime seems to be the most popular choice, though I personally don't
                      >>> care to much about it either way.
                      >> That makes sense. I've updated configure.in to link a shared lib.
                      >
                      > On Windows, things get a little odd, as linking Lua as a DLL has 2
                      > negative effects:
                      >
                      > 1. If lua51.dll isn't present, Vim won't start. This is fixable, but
                      > needs code changes to load the DLL at runtime. The other language
                      > bindings do this - I think I can do something similar for Lua with
                      > less code changes, based on a recipe from the Lua wiki. Let me know if
                      > you'd like me to try.
                      >
                      > 2. Vim needs to be linked with the same C runtime as the Lua DLL. In
                      > practice, this means that most existing Lua binary DLLs won't work, as
                      > they use the msvcrt8 runtime, which isn't normal for Vim. You can
                      > build your own Lua binary DLLs, but if you're doing that, you can
                      > probably also recompile Vim reasonably easily.
                      >
                      > I'd suggest defaulting to linking Lua statically on Windows, with a
                      > DLL link as an optional alternative. That's what I did in my second
                      > Make_ming.mak patch.
                      >
                      > Let me know if you want me to do the dynamic DLL loading change. I'll
                      > tidy up and update my Make_ming.mak patch in any case.
                      >
                      > Regards,
                      > Paul.
                      >
                      > PS In case it's not obvious, you have my full permission to include
                      > the changes I'm posting into your patch, should you wish.

                      1. If the interface uses a separate DLL, then the absence of that DLL
                      must not prevent Vim from running (as long as the interface isn't used,
                      of course).

                      2. If the DLL must be linked with the same C runtime as every program
                      with which it is used, there's little advantage in having a separate
                      DLL. It might even be outright dangerous to use it.

                      Therefore I believe that the way to go is to link the Lua interface (if
                      enabled) statically into Vim. Or else, maybe, as a DLL of a different
                      name, compiled and distributed together with Vim, and installed in
                      $VIMRUNTIME; but there might be licensing problems with the latter approach.


                      Best regards,
                      Tony.
                      --
                      Miss, n.:
                      A title with which we brand unmarried women to indicate that
                      they are in the market.
                      -- Ambrose Bierce, "The Devil's Dictionary"

                      --~--~---------~--~----~------------~-------~--~----~
                      You received this message from the "vim_dev" maillist.
                      For more information, visit http://www.vim.org/maillist.php
                      -~----------~----~----~----~------~----~------~--~---
                    • Paul Moore
                      On Sep 4, 8:55 pm, Tony Mechelynck ... That s my view. ... The only issue here is that Lua allows loading of extension modules
                      Message 10 of 28 , Sep 4, 2008
                        On Sep 4, 8:55 pm, Tony Mechelynck <antoine.mechely...@...>
                        wrote:
                        > 1. If the interface uses a separate DLL, then the absence of that DLL
                        > must not prevent Vim from running (as long as the interface isn't used,
                        > of course).

                        That's my view.

                        > 2. If the DLL must be linked with the same C runtime as every program
                        > with which it is used, there's little advantage in having a separate
                        > DLL. It might even be outright dangerous to use it.
                        >
                        > Therefore I believe that the way to go is to link the Lua interface (if
                        > enabled) statically into Vim. Or else, maybe, as a DLL of a different
                        > name, compiled and distributed together with Vim, and installed in
                        > $VIMRUNTIME; but there might be licensing problems with the latter approach.

                        The only issue here is that Lua allows loading of extension modules
                        compiled as DLLs. These need either a Lua DLL to link to (so they use
                        the same Lua runtime as Vim) or a means to link to a statically linked
                        runtime within Vim. The latter is possible, but somewhat fiddly.
                        Disabling loading of DLL extensions is another option, but that's a
                        bit limiting, in my view.

                        Note that this is not actually any different from the situation with
                        Perl, Python, TCL or whatever. It's just that Lua doesn't have a
                        "default" binary distribution which can be assumed to be in use - the
                        nearest is the LuaBinaries distribution, which makes an unfortunate
                        (IMHO) choice of using the msvcr80 C runtime.

                        I propose the following (which I plan to implement):

                        1. Compile-time options to link Lua dynamically or statically. The
                        dynamic link version WILL fail to start if lua51.dll is not present.
                        But that's OK, as the static build will be the default (and given
                        point (2) below, should not need to be overridden in normal cases).

                        2. I will build, test and document a "forwarding DLL" which will allow
                        a statically linked Lua to load .dll extension modules. This probably
                        won't need to be distributed with Vim, as it's not in any way Vim-
                        specific. I'll probably put it on the Lua-users wiki, with a pointer
                        to the location in Vim's documentation. (The Lua-users wiki already
                        has a couple of descriptions of how to do this, but I'm hoping I can
                        provide some clarifications, plus a working binary).

                        This is all only for Windows (and only for the mingw compiler on
                        Windows). I don't have any experience of doing this type of thing for
                        Linux, so I'll leave that alone. Extending this to other Windows
                        compilers shouldn't be hard, but I don't have the means to build Vim
                        with anything other than mingw at the moment.

                        Comments?
                        Paul.

                        PS Please note - all I'm doing is some build configuration. All the
                        credit for the Lua interface remains with Luis, who certainly has my
                        gratitude for developing the patch.
                        --~--~---------~--~----~------------~-------~--~----~
                        You received this message from the "vim_dev" maillist.
                        For more information, visit http://www.vim.org/maillist.php
                        -~----------~----~----~----~------~----~------~--~---
                      • Luis Carvalho
                        ... Here is the latest patch; it includes dynamic dll loading in Windows and a few minor tweaks:
                        Message 11 of 28 , Sep 5, 2008
                          > 1. If the interface uses a separate DLL, then the absence of that DLL
                          > must not prevent Vim from running (as long as the interface isn't used,
                          > of course).

                          Here is the latest patch; it includes dynamic dll loading in Windows and a few
                          minor tweaks:

                          http://wiki.linuxfromscratch.org/blfs/attachment/wiki/vim/vim72-lua-0.4.patch.gz

                          I've also patched the Windows makefiles:

                          http://wiki.linuxfromscratch.org/blfs/attachment/wiki/vim/vim72-lua-mak-0.4.patch.gz

                          Thanks for the comments, suggestions, and ideas, especially to Paul Moore!

                          Cheers,
                          Luis.

                          --
                          Computers are useless. They can only give you answers.
                          -- Pablo Picasso

                          --
                          Luis Carvalho (Kozure)
                          lua -e 'print((("lexcarvalho@..."):gsub("(%u+%.)","")))'
                        • Patrick Texier
                          ... In this patch, for Make_bc5.mak, I have found two errors: ... LUA_VER ... lua.lib I have a warning, using Vim 7.2.13: if_lua.c: Warning W8065 if_lua.c 998:
                          Message 12 of 28 , Sep 9, 2008
                            On Fri, 5 Sep 2008 13:49:12 -0400, Luis Carvalho wrote:

                            > I've also patched the Windows makefiles:
                            >
                            > http://wiki.linuxfromscratch.org/blfs/attachment/wiki/vim/vim72-lua-mak-0.4.patch.gz

                            In this patch, for Make_bc5.mak, I have found two errors:

                            line 42:
                            > +INTERP_DEFINES = $(INTERP_DEFINES) -DDYNAMIC_LUA -DDYNAMIC_LUA_DLL=\"lua$(PERL_VER).dll\"
                            LUA_VER

                            line 90:
                            >+ $(LUA_LIB_FLAG)perl.lib+
                            lua.lib

                            I have a warning, using Vim 7.2.13:

                            if_lua.c:
                            Warning W8065 if_lua.c 998: Call to function 'luaV_newstate' with no
                            prototype in function lua_init

                            I had never used lua :-)

                            :lua print (12 * 36)
                            works, but
                            :lua print (0 / 0)
                            or
                            :lua print (99999999 * 99999999)
                            crashes Vim
                            --
                            Patrick Texier

                            --~--~---------~--~----~------------~-------~--~----~
                            You received this message from the "vim_dev" maillist.
                            For more information, visit http://www.vim.org/maillist.php
                            -~----------~----~----~----~------~----~------~--~---
                          • Mondal, Shishir
                            I have tried earlier, but could not do that: any one knows definite steps how to unsubscribe from the list? Regards Shishir ... From: Patrick Texier
                            Message 13 of 28 , Sep 9, 2008
                              I have tried earlier, but could not do that: any one knows definite
                              steps how to unsubscribe from the list?
                              Regards
                              Shishir


                              -----Original Message-----
                              From: Patrick Texier [mailto:p.texier@...]
                              Sent: Tuesday, September 09, 2008 7:31 AM
                              To: vim_dev@...
                              Subject: Re: (patch) Lua interface : Borland C++ 5.5.1 test


                              On Fri, 5 Sep 2008 13:49:12 -0400, Luis Carvalho wrote:

                              > I've also patched the Windows makefiles:
                              >
                              > http://wiki.linuxfromscratch.org/blfs/attachment/wiki/vim/vim72-lua-ma
                              > k-0.4.patch.gz

                              In this patch, for Make_bc5.mak, I have found two errors:

                              line 42:
                              > +INTERP_DEFINES = $(INTERP_DEFINES) -DDYNAMIC_LUA
                              -DDYNAMIC_LUA_DLL=\"lua$(PERL_VER).dll\"
                              LUA_VER

                              line 90:
                              >+ $(LUA_LIB_FLAG)perl.lib+
                              lua.lib

                              I have a warning, using Vim 7.2.13:

                              if_lua.c:
                              Warning W8065 if_lua.c 998: Call to function 'luaV_newstate' with no
                              prototype in function lua_init

                              I had never used lua :-)

                              :lua print (12 * 36)
                              works, but
                              :lua print (0 / 0)
                              or
                              :lua print (99999999 * 99999999)
                              crashes Vim
                              --
                              Patrick Texier



                              --~--~---------~--~----~------------~-------~--~----~
                              You received this message from the "vim_dev" maillist.
                              For more information, visit http://www.vim.org/maillist.php
                              -~----------~----~----~----~------~----~------~--~---
                            • Tony Mechelynck
                              ... Method I: Send an email (which may be empty) from the email address with which you are subscribed to vim-dev-unsubscribe@vim.org then wait for a reply and
                              Message 14 of 28 , Sep 9, 2008
                                On 10/09/08 00:58, Mondal, Shishir wrote:
                                > I have tried earlier, but could not do that: any one knows definite
                                > steps how to unsubscribe from the list?
                                > Regards
                                > Shishir

                                Method I: Send an email (which may be empty) from the email address with
                                which you are subscribed to vim-dev-unsubscribe@... then wait for a
                                reply and make sure to do what it says.

                                Method II: Browse to http://groups.google.com/groups/mysubs

                                (you may have to log in to your Google account before you get to that
                                page). You'll see the Google Groups to which you are subscribed. At the
                                right end of the line starting "vim_dev", you see a rolldown widget
                                which says "E-mail". Turn it to "Unsubscribe" then click "Save group
                                settings" at the bottom of the page.


                                Note: Depending on how you subscribed, one of the above methods (I don't
                                know which one) may work better for you than the other.


                                Best regards,
                                Tony.
                                --
                                Any father who thinks he's all important should remind himself that
                                this country honors fathers only one day a year while pickles get a
                                whole week.

                                --~--~---------~--~----~------------~-------~--~----~
                                You received this message from the "vim_dev" maillist.
                                For more information, visit http://www.vim.org/maillist.php
                                -~----------~----~----~----~------~----~------~--~---
                              • John Beckett
                                ... Please report any problem you have when you try the following (report = reply to this mail): ... In the vim-dev section of that page, email the To
                                Message 15 of 28 , Sep 9, 2008
                                  Mondal, Shishir wrote:
                                  > I have tried earlier, but could not do that: any one knows
                                  > definite steps how to unsubscribe from the list?

                                  Please report any problem you have when you try the following (report = reply to
                                  this mail):

                                  Click the link in the footer of the mail:
                                  > You received this message from the "vim_dev" maillist.
                                  > For more information, visit http://www.vim.org/maillist.php

                                  In the vim-dev section of that page, email the "To Unsubscribe" address.

                                  John



                                  --~--~---------~--~----~------------~-------~--~----~
                                  You received this message from the "vim_dev" maillist.
                                  For more information, visit http://www.vim.org/maillist.php
                                  -~----------~----~----~----~------~----~------~--~---
                                • Luis Carvalho
                                  ... Thanks for the report. ... That s weird. I haven t seen such a warning in any other compiler... ... I couldn t reproduce this behavior, but I don t have
                                  Message 16 of 28 , Sep 10, 2008
                                    > In this patch, for Make_bc5.mak, I have found two errors:
                                    >
                                    > line 42:
                                    > > +INTERP_DEFINES = $(INTERP_DEFINES) -DDYNAMIC_LUA -DDYNAMIC_LUA_DLL=\"lua$(PERL_VER).dll\"
                                    > LUA_VER
                                    >
                                    > line 90:
                                    > >+ $(LUA_LIB_FLAG)perl.lib+
                                    > lua.lib

                                    Thanks for the report.

                                    > I have a warning, using Vim 7.2.13:
                                    >
                                    > if_lua.c:
                                    > Warning W8065 if_lua.c 998: Call to function 'luaV_newstate' with no
                                    > prototype in function lua_init

                                    That's weird. I haven't seen such a warning in any other compiler...

                                    > I had never used lua :-)
                                    >
                                    > :lua print (12 * 36)
                                    > works, but
                                    > :lua print (0 / 0)
                                    > or
                                    > :lua print (99999999 * 99999999)
                                    > crashes Vim

                                    I couldn't reproduce this behavior, but I don't have Vim compiled with BCC.

                                    In any case, the latest version of the patch that fixes Make_bc5.mak can be
                                    found at:

                                    http://wiki.linuxfromscratch.org/blfs/attachment/wiki/vim/vim72-lua-0.5.patch.gz
                                    http://wiki.linuxfromscratch.org/blfs/attachment/wiki/vim/vim72-lua-mak-0.5.patch.gz

                                    Cheers,
                                    Luis.

                                    --
                                    Computers are useless. They can only give you answers.
                                    -- Pablo Picasso

                                    --
                                    Luis Carvalho (Kozure)
                                    lua -e 'print((("lexcarvalho@..."):gsub("(%u+%.)","")))'
                                  • Paul Moore
                                    ... When compiled with mingw/gcc 0/0 gives -1.#IND, which is a notation for NaN. (the 99999 case works for me, I just get a large floating point number). I
                                    Message 17 of 28 , Sep 12, 2008
                                      On Sep 11, 3:06 am, Luis Carvalho <lexcarva...@...> wrote:
                                      > > :lua print (12 * 36)
                                      > > works, but
                                      > > :lua print (0 / 0)
                                      > > or
                                      > > :lua print (99999999 * 99999999)
                                      > > crashes Vim
                                      >
                                      > I couldn't reproduce this behavior, but I don't have Vim compiled with BCC.

                                      When compiled with mingw/gcc 0/0 gives -1.#IND, which is a notation
                                      for NaN. (the 99999 case works for me, I just get a large floating
                                      point number). I suspect that bcc doesn't handle NaN and Inf properly,
                                      and raises a floating point exception. Whether that is untrappable, or
                                      could be trapped in the Lua interface code, I don't know, but it looks
                                      like it's a bcc-specific fix that's needed, if anything.
                                      (Alternatively, are there any bcc compiler flags that could be used to
                                      avoid floating point exceptions?

                                      Paul.
                                      --~--~---------~--~----~------------~-------~--~----~
                                      You received this message from the "vim_dev" maillist.
                                      For more information, visit http://www.vim.org/maillist.php
                                      -~----------~----~----~----~------~----~------~--~---
                                    • Paul Moore
                                      ... Is this likely to be included in standard Vim at any point? At the moment, I m manually patching it into my regular build process, and I want to catch the
                                      Message 18 of 28 , Sep 15, 2008
                                        On Sep 11, 3:06 am, Luis Carvalho <lexcarva...@...> wrote:
                                        > In any case, the latest version of the patch that fixes Make_bc5.mak can be
                                        > found at:
                                        >
                                        > http://wiki.linuxfromscratch.org/blfs/attachment/wiki/vim/vim72-lua-0...http://wiki.linuxfromscratch.org/blfs/attachment/wiki/vim/vim72-lua-m...

                                        Is this likely to be included in standard Vim at any point? At the
                                        moment, I'm manually patching it into my regular build process, and I
                                        want to catch the point when the patch fails because it's been made
                                        official :-)

                                        Paul.
                                        --~--~---------~--~----~------------~-------~--~----~
                                        You received this message from the "vim_dev" maillist.
                                        For more information, visit http://www.vim.org/maillist.php
                                        -~----------~----~----~----~------~----~------~--~---
                                      • Bram Moolenaar
                                        ... Do you mean the Lua interface or the updated Makefile? The Lua interface is somewhere in the new features list. There are too many bugs to fix at the
                                        Message 19 of 28 , Sep 16, 2008
                                          Paul Moore wrote:

                                          > On Sep 11, 3:06 am, Luis Carvalho <lexcarva...@...> wrote:
                                          > > In any case, the latest version of the patch that fixes Make_bc5.mak can be
                                          > > found at:
                                          > >
                                          > > http://wiki.linuxfromscratch.org/blfs/attachment/wiki/vim/vim72-lua-0...http://wiki.linuxfromscratch.org/blfs/attachment/wiki/vim/vim72-lua-m...
                                          >
                                          > Is this likely to be included in standard Vim at any point? At the
                                          > moment, I'm manually patching it into my regular build process, and I
                                          > want to catch the point when the patch fails because it's been made
                                          > official :-)

                                          Do you mean the Lua interface or the updated Makefile?

                                          The Lua interface is somewhere in the "new features" list. There are
                                          too many bugs to fix at the moment, so I'm not eager to add more code
                                          (with potential bugs).

                                          --
                                          Q: Should I clean my house or work on Vim?
                                          A: Whatever contains more bugs.

                                          /// Bram Moolenaar -- Bram@... -- http://www.Moolenaar.net \\\
                                          /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
                                          \\\ download, build and distribute -- http://www.A-A-P.org ///
                                          \\\ help me help AIDS victims -- http://ICCF-Holland.org ///

                                          --~--~---------~--~----~------------~-------~--~----~
                                          You received this message from the "vim_dev" maillist.
                                          For more information, visit http://www.vim.org/maillist.php
                                          -~----------~----~----~----~------~----~------~--~---
                                        • Paul Moore
                                          ... Sorry, I meant the Lua interface. Not just yet is fair enough. As I say, I m manually applying the patch myself at the moment. If I hit any issues, I ll
                                          Message 20 of 28 , Sep 16, 2008
                                            2008/9/16 Bram Moolenaar <Bram@...>:
                                            >
                                            > Paul Moore wrote:
                                            >
                                            >> On Sep 11, 3:06 am, Luis Carvalho <lexcarva...@...> wrote:
                                            >> > In any case, the latest version of the patch that fixes Make_bc5.mak can be
                                            >> > found at:
                                            >> >
                                            >> > http://wiki.linuxfromscratch.org/blfs/attachment/wiki/vim/vim72-lua-0...http://wiki.linuxfromscratch.org/blfs/attachment/wiki/vim/vim72-lua-m...
                                            >>
                                            >> Is this likely to be included in standard Vim at any point? At the
                                            >> moment, I'm manually patching it into my regular build process, and I
                                            >> want to catch the point when the patch fails because it's been made
                                            >> official :-)
                                            >
                                            > Do you mean the Lua interface or the updated Makefile?
                                            >
                                            > The Lua interface is somewhere in the "new features" list. There are
                                            > too many bugs to fix at the moment, so I'm not eager to add more code
                                            > (with potential bugs).

                                            Sorry, I meant the Lua interface.

                                            "Not just yet" is fair enough. As I say, I'm manually applying the
                                            patch myself at the moment. If I hit any issues, I'll carry on
                                            reporting them here, and hopefully once things settle down a bit, the
                                            patch will be reasonably well tested and suitable for inclusion then.

                                            Paul.

                                            --~--~---------~--~----~------------~-------~--~----~
                                            You received this message from the "vim_dev" maillist.
                                            For more information, visit http://www.vim.org/maillist.php
                                            -~----------~----~----~----~------~----~------~--~---
                                          • char101
                                            ... Hi, vim72-lua-0.5.patch is missing a patch for globals.h line 1397: #if defined(DYNAMIC_PERL) || defined(DYNAMIC_PYTHON) || defined(DYNAMIC_RUBY) ...
                                            Message 21 of 28 , Sep 16, 2008
                                              On Sep 1, 12:13 pm, Luis Carvalho <lexcarva...@...> wrote:
                                              > Hi,
                                              >
                                              > I'm attaching a patch that provides a complete Lua [1] interface to Vim in
                                              > case anyone finds it useful. The patch is against vim-7.2. Any feedback is
                                              > welcome, of course. Disclaimer: this is my first post to the list and this is
                                              > my first patch to Vim! :)

                                              Hi,

                                              vim72-lua-0.5.patch is missing a patch for globals.h

                                              line 1397:
                                              #if defined(DYNAMIC_PERL) || defined(DYNAMIC_PYTHON) ||
                                              defined(DYNAMIC_RUBY) \
                                              || defined(DYNAMIC_TCL) || defined(DYNAMIC_ICONV) \
                                              || defined(DYNAMIC_GETTEXT) || defined(DYNAMIC_MZSCHEME)
                                              EXTERN char_u e_loadlib[] INIT(= N_("E370: Could not load library
                                              %s"));
                                              EXTERN char_u e_loadfunc[] INIT(= N_("E448: Could not load library
                                              function %s"));
                                              #endif

                                              ---
                                              Charles
                                              --~--~---------~--~----~------------~-------~--~----~
                                              You received this message from the "vim_dev" maillist.
                                              For more information, visit http://www.vim.org/maillist.php
                                              -~----------~----~----~----~------~----~------~--~---
                                            • Luis Carvalho
                                              ... Nice catch. The updated patch can be found at the usual place: http://wiki.linuxfromscratch.org/blfs/attachment/wiki/vim/vim72-lua-0.6.patch.gz Cheers,
                                              Message 22 of 28 , Sep 17, 2008
                                                > vim72-lua-0.5.patch is missing a patch for globals.h

                                                Nice catch. The updated patch can be found at the usual place:

                                                http://wiki.linuxfromscratch.org/blfs/attachment/wiki/vim/vim72-lua-0.6.patch.gz

                                                Cheers,
                                                Luis.

                                                --
                                                Computers are useless. They can only give you answers.
                                                -- Pablo Picasso

                                                --
                                                Luis Carvalho (Kozure)
                                                lua -e 'print((("lexcarvalho@..."):gsub("(%u+%.)","")))'
                                              Your message has been successfully submitted and would be delivered to recipients shortly.