aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorPhilipp Janda <siffiejoe@gmx.net>2015-01-15 16:03:48 +0100
committerPhilipp Janda <siffiejoe@gmx.net>2015-01-15 16:03:48 +0100
commit0a40bae847e6ac9f0e007b766cb5a87d61a85398 (patch)
tree6c46cd898596166c8d50c1c12632d0dd3503fe89 /README.md
parentcdd787b876efe2e662ba7d6e8b9e38bf9f44bc04 (diff)
downloadlua-compat-5.3-0a40bae847e6ac9f0e007b766cb5a87d61a85398.tar.gz
lua-compat-5.3-0a40bae847e6ac9f0e007b766cb5a87d61a85398.tar.bz2
lua-compat-5.3-0a40bae847e6ac9f0e007b766cb5a87d61a85398.zip
add rockspec and info for Lua API
Diffstat (limited to 'README.md')
-rw-r--r--README.md47
1 files changed, 38 insertions, 9 deletions
diff --git a/README.md b/README.md
index f0f5225..f02d30e 100644
--- a/README.md
+++ b/README.md
@@ -12,6 +12,9 @@ compatible with Lua 5.3, but it brings the API closer to that of Lua
12 12
13It includes: 13It includes:
14 14
15* _For writing Lua_: The Lua module `compat53`, which can be require'd
16 from Lua scripts and run in Lua 5.1, 5.2, and 5.3, including a
17 backport of the `utf8` module straight from the Lua 5.3 sources.
15* _For writing C_: A C header and file which can be linked to your 18* _For writing C_: A C header and file which can be linked to your
16 Lua module written in C, providing some functions from the C API 19 Lua module written in C, providing some functions from the C API
17 of Lua 5.3 that do not exist in Lua 5.2 or 5.1, making it easier to 20 of Lua 5.3 that do not exist in Lua 5.2 or 5.1, making it easier to
@@ -19,6 +22,23 @@ It includes:
19 22
20## How to use it 23## How to use it
21 24
25### Lua module
26
27```lua
28require("compat53")
29```
30
31`compat53` makes changes to your global environment and does not return
32a meaningful return value, so the usual idiom of storing the return of
33`require` in a local variable makes no sense.
34
35When run under Lua 5.3, this module does nothing.
36
37Wehn run under Lua 5.2 or 5.1, it replaces some of your standard
38functions and adds new ondes to bring your environment closer to that
39of Lua 5.3. It also loads the backported `utf8` module automatically,
40and tries to use [Roberto's struct library][1].
41
22### C code 42### C code
23 43
24There are two ways of adding the C API compatibility functions/macros to 44There are two ways of adding the C API compatibility functions/macros to
@@ -37,6 +57,13 @@ your project:
37 57
38## What's implemented 58## What's implemented
39 59
60### Lua
61
62* the `utf8` module backported from the Lua 5.3 sources
63* `string.pack`, `string.packsize`, and `string.unpack` if the
64 `struct` module is available. (`struct` is not 100% compatible
65 to Lua 5.3's string packing!)
66
40### C 67### C
41 68
42* `lua_KContext` 69* `lua_KContext`
@@ -53,7 +80,7 @@ your project:
53* `lua_callk` and `lua_pcallk` (limited compatibility) 80* `lua_callk` and `lua_pcallk` (limited compatibility)
54* `lua_rawget` and `lua_rawgeti` (return values) 81* `lua_rawget` and `lua_rawgeti` (return values)
55* `lua_rawgetp` and `lua_rawsetp` 82* `lua_rawgetp` and `lua_rawsetp`
56* `luaL_requiref` (now checks `package.loaded`) 83* `luaL_requiref` (now checks `package.loaded` first)
57* `lua_rotate` 84* `lua_rotate`
58* `lua_stringtonumber` 85* `lua_stringtonumber`
59 86
@@ -82,9 +109,8 @@ For Lua 5.1 additionally:
82 109
83* the new Lua functions of Lua 5.3 110* the new Lua functions of Lua 5.3
84* the table library doesn't respect metamethods yet 111* the table library doesn't respect metamethods yet
85* the utf8 library 112* Lua 5.1: `_ENV`, `goto`, labels, ephemeron tables, etc. See
86* string packing/unpacking 113 [`lua-compat-5.2`][2] for a detailed list.
87* Lua 5.1: `_ENV`, `goto`, labels, ephemeron tables, etc.
88* the following C API functions/macros: 114* the following C API functions/macros:
89 * `lua_isyieldable` 115 * `lua_isyieldable`
90 * `lua_getextraspace` 116 * `lua_getextraspace`
@@ -104,11 +130,9 @@ For Lua 5.1 additionally:
104 130
105## See also 131## See also
106 132
107* For Lua-5.2-style APIs under Lua 5.1, see 133* For Lua-5.2-style APIs under Lua 5.1, see [lua-compat-5.2][2],
108[lua-compat-5.2](http://github.com/keplerproject/lua-compat-5.2/), 134 which also is the basis for most of the code in this project.
109which also is the basis for most of the code in this project. 135* For Lua-5.1-style APIs under Lua 5.0, see [Compat-5.1][3]
110* For Lua-5.1-style APIs under Lua 5.0, see
111[Compat-5.1](http://keplerproject.org/compat/)
112 136
113## Credits 137## Credits
114 138
@@ -120,3 +144,8 @@ This package contains code written by:
120* Hisham Muhammad ([@hishamhm](http://github.com/hishamhm)) 144* Hisham Muhammad ([@hishamhm](http://github.com/hishamhm))
121* Renato Maia ([@renatomaia](http://github.com/renatomaia)) 145* Renato Maia ([@renatomaia](http://github.com/renatomaia))
122 146
147
148 [1]: http://www.inf.puc-rio.br/~roberto/struct/
149 [2]: http://github.com/keplerproject/lua-compat-5.2/
150 [3]: http://keplerproject.org/compat/
151