[Top][All Lists]
[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)