bug-zile
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-zile] Lua Zile & its libraries


From: Gary V. Vaughan
Subject: Re: [Bug-zile] Lua Zile & its libraries
Date: Thu, 8 Sep 2011 17:51:58 +0700

Hi Reuben,

On 8 Sep 2011, at 04:25, Reuben Thomas wrote:
> I've spent today updating luaposix, lcurses & Lua stdlib. So far the
> changes are unreleased. Gary, could you confirm that it all works for
> you? (On my system, Lua Zile currently passes all its tests with the
> newest versions of all the libraries.)

Sure!

* luaposix

  I've sent you a bunch of pull-requests at github for luaposix, which
  get me almost to compiling on darwin.  The sticking point is that I
  need to manually pass CPPFLAGS=-DSIGPOLL=7 to get a working module.

  That's because /usr/include/sys/signal.h says:
  #if  (defined(_POSIX_C_SOURCE) && !defined(_DARWIN_C_SOURCE))
  #define SIGPOLL 7       /* pollable event ([XSR] generated, not supported) */
  #else   /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */

  So the only way to get SIGPOLL is to *not* define _DARWIN_C_SOURCE,
  which comes from the gnulib extensions module, and even then if I
  comment that out in config.h, then all sorts of other essential
  functions are not defined - crypt, symlink, %ld support in printf.

  I don't know whether the SIGPOLL issue is because SIGPOLL support
  is not necessary for POSIX compliance?  In which case we should
  make it's inclusion dependent on whether it is defined; or if it's
  a darwin bug?  Or whether SIGPOLL is not even a posix signal, in
  which case we can just drop it altogether instead of conditionally
  making it available to Lua depending on the host platform.

  Another wart is that if you are not very intimately aware of what
  files are in the lua package directories, then the name-change from
  posix.so to posix_c.so leaves the old posix.so behind, which causes
  all kinds of chaos when lua loads it instead of the new posix.lua.
  Maybe better to leave posix.so as was, and install the new lua
  component as 'lposix.lua', to be required with `require "lposix"`?

* lcurses

  Just waiting on a mutually satisfactory solution to the curses API
  warnings.  But otherwise works fine here too.

* stdlib

  conversion to luadoc since I last looked at this is most welcome!

* zile: lua branch

  I've pushed a better patch for `make check` time LUA_PATH handling,
  without which the tests will not run if I have no LUA_PATH in my
  environment and was relying on everything being installed somewhere
  along lua's compiled in LUA_PATH.

  However, most of the tests are now failing with (even after removing
  all old `posix.so` from my system):

  Zile save-some-buffers failed to produce correct output
  Internal error.  Please report this bug with steps to reproduce the problem   
                                                 
  /usr/local/share/lua/5.1/posix.lua:11: bad argument #2 to 'open' (bad flags)
  stack traceback:
        [C]: in function 'open'
        /usr/local/share/lua/5.1/posix.lua:11: in function 'creat'
        /Users/gary/Devo/zile--savannah--0/src/file.lua:233: in function 
'raw_write_to_disk'
        /Users/gary/Devo/zile--savannah--0/src/file.lua:359: in function 
'write_to_disk'
        /Users/gary/Devo/zile--savannah--0/src/file.lua:406: in function 
</Users/gary/Devo/zile--savannah--0/src/file.lua:372>
        (tail call): ?
        (tail call): ?
        /Users/gary/Devo/zile--savannah--0/src/lisp.lua:56: in function 
</Users/gary/Devo/zile--savannah--0/src/lisp.lua:36>
        (tail call): ?
        /Users/gary/Devo/zile--savannah--0/src/bind.lua:69: in function 
'process_command'
        ...
        /Users/gary/Devo/zile--savannah--0/src/lisp.lua:56: in function 
</Users/gary/Devo/zile--savannah--0/src/lisp.lua:36>
        (tail call): ?
        (tail call): ?
        /Users/gary/Devo/zile--savannah--0/src/lisp.lua:198: in function 
'leEval'
        /Users/gary/Devo/zile--savannah--0/src/lisp.lua:221: in function 
'lisp_loadstring'
        /Users/gary/Devo/zile--savannah--0/src/lisp.lua:228: in function 
'lisp_loadfile'
        /Users/gary/Devo/zile--savannah--0/src/main.lua:323: in function 
</Users/gary/Devo/zile--savannah--0/src/main.lua:271>
        [C]: in function 'xpcall'
        ./src/zile:47: in main chunk
        [C]: ?
  1c1
  < Here is a asample file.
  ---
  > Here is a sample file.
  Zile universal-argument failed to produce correct output
  Zile: 5 pass(es) and 83 failure(s)

> I will then make releases of lcurses & luaposix, and we'll once more
> be able to depend on particular versions.
> 
> It would be nice to have configure.ac checks for these (currently we
> only check for lrex, and we don't even version check that).

Agreed. It would be nicer still to have an ax_lua_module.m4 in the
autoconf-archive ;)

> Another change I plan to make is to make stdlib installable, and then
> that doesn't need to be in git either. Again, it should have its
> version checked. We should encourage a standard way of checking
> versions of Lua libraries (and that effectively checks they can be
> found as well, since they have to be loaded to have their version
> checked).

Agreed.

Cheers,
-- 
Gary V. Vaughan (gary AT gnu DOT org)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]