Enyby
832ec739ea
Close not closed file on GC. #55
...
Relevant only for J2SE, not for J2ME.
2019-10-06 23:35:45 +03:00
Enyby
8345bee6b4
Fix io.lines and file:lines do not honor additional params. #52
...
Fix io.lines do not close file on EOF. #53
Improve error message for io.lines and file:lines on closed file.
2019-10-06 19:09:01 +03:00
Enyby
83f2e1d96a
Fix io.read and file:read do not support '*L' format. #54
2019-10-06 18:53:15 +03:00
Enyby
14745ba76a
Fix call io.read, file:read without params.
2019-10-06 18:40:31 +03:00
Enyby
c62ba1f22e
File tostring respect closed.
2019-10-06 16:54:44 +03:00
Enyby
868928779f
Fix rewrite io.input inside io.lines.
...
```
do
local t = os.tmpname()
local f = io.open(t, 'w')
f:write('test')
f:close()
local i = io.input()
for l in io.lines(t) do end
local n = io.input()
assert(n == i, tostring(n).." ~= "..tostring(i))
os.remove(t)
print('+')
end
```
2019-10-06 16:43:11 +03:00
Enyby
f383c27728
We not in C anymore.
2019-09-23 01:54:27 +03:00
Enyby
e7b11110a3
Raise lexerror if failed parse number as double.
2019-09-23 01:53:01 +03:00
Enyby
0fa27c3783
EOZ (-1) not a space char.
...
Fix bug with endless loop at not ended \z sequence.
```
local function lexerror (s, err)
local st, msg = load('return ' .. s, '')
if err ~= '<eof>' then err = err .. "'" end
assert(not st and string.find(msg, "near .-" .. err))
end
lexerror("'alo \\z \n\n", "<eof>")
```
2019-09-23 00:39:42 +03:00
Enyby
72a71e5a65
Merge branch 'master' of https://github.com/luaj/luaj
2019-09-21 07:18:37 +03:00
Enyby
6031d6b479
Fix lua error message on bad arg for 'load'.
2019-09-21 07:18:08 +03:00
asie
a071b04b8f
remove undesirable import
2019-09-03 08:33:28 +02:00
asie
11b29f92c1
fix string.format not converting non-strings for %s (requires __tostring fix)
2019-08-11 13:47:25 +02:00
gamax92
c666a507ab
Support 4 byte UTF-8 sequences
...
Fixes lengthAsUtf8, encodeToUtf8, and isValidUtf8 to support UTF-8's
4-byte sequences or UTF-16's surrogate pairs properly.
Invalid surrogate pairs are converted to '?' as Java's converter does
2019-08-11 13:05:54 +02:00
gamax92
5026b5ac1e
string.format fixes
...
Fix string.format's floating point implementation
Disable space if explicitPlus is set
Disable leftAdjust and zeroPad if no width is specified
precision gets set to zero if only a dot is specified
Add support for %a/A, Lua can use these and Java happens to support it
2019-08-11 12:50:29 +02:00
asie
6ba28727d2
move doubleToRawLongBits (not present on JME) to JSE class
2019-08-11 12:49:56 +02:00
gamax92
0707e71c6c
Support __pairs and __ipairs
...
Added PAIRS and IPAIRS constants to LuaValue
Merged pairs and ipairs into one class with a dynamic constructor, this
is similar to Lua's pairsmeta function.
Check for and call it's specific metamethod if it's available.
2019-08-11 12:14:21 +02:00
gamax92
43f937470f
Fix classes based on LibFunction giving "value" for their error message.
2019-08-11 12:11:40 +02:00
gamax92
5d3f2eb72c
LuaClosure: Add the colon after line numbers to error messages
2019-08-11 12:11:31 +02:00
gamax92
244eb4b1a1
StringLib: Support seperators in string.rep
2019-08-11 12:07:47 +02:00
gamax92
626664a0fe
BaseLib: fix handling of __tostring
2019-08-11 12:05:48 +02:00
gamax92
2bccb4670e
LuaValue: add 0x to tojstring() to match Lua
2019-08-11 12:01:51 +02:00
gamax92
89acb5bcb5
LuaString: port strx2number for accurate double scanning, handle plus signs when converting strings to numbers
2019-08-11 11:59:49 +02:00
gamax92
c69585332b
LexState: rename TK_EOS and <eos> to TK_EOF and <eof> to match Lua
2019-08-11 11:55:42 +02:00
gamax92
c9fa0f27c7
LuaValue, FuncState: correct error messages to match Lua
2019-08-11 11:50:42 +02:00
asie
af4cfe5e00
LuaDouble: handle negative zero, negative NaN
2019-08-11 11:47:51 +02:00
Enyby
c1834733c1
Merge pull request #45 from zaoqi/patch-1
...
readme: fix typo
2019-08-10 02:18:32 +03:00
Zaoqi
10f88d2c31
readme: fix typo
2019-08-09 21:44:25 +08:00
Enyby
6d2deb4cb6
Fix use function as source for load call.
2019-08-05 04:07:09 +03:00
Enyby
5f52729fc9
Fix OP_JMP description.
2019-07-15 05:29:37 +03:00
Enyby
e6736857b6
Add support for OP_LOADKX. #43
2019-06-30 22:18:19 +03:00
Enyby
5c5176727a
Merge branch 'master' of https://github.com/luaj/luaj
2019-05-05 17:23:27 +03:00
Enyby
7721380e20
Fix NPE on error. #40
2019-05-05 17:22:24 +03:00
Enyby
16aa199d40
Add debug info to build.
2019-05-05 17:21:25 +03:00
Enyby
177fe4e09f
Fix path to build files in Readme.md
2019-03-17 03:12:52 +02:00
Enyby
a7c8a408ce
Fix build bug. #33
2019-03-17 03:06:05 +02:00
Enyby
84b0dd171e
Fix error messages for pass tests.
2019-03-09 23:35:22 +02:00
Enyby
898208365d
Fix print for pass tests.
2019-03-09 23:18:47 +02:00
Enyby
ffb686556f
Fix loadlib.
2019-03-09 23:00:28 +02:00
Enyby
6694c375c9
Fix build errors for j2me. #32
v3.0.2
2019-03-09 17:38:32 +02:00
Enyby
e70eb5edc2
Fix build bug. #32
2019-03-09 15:49:56 +02:00
Enyby
9688d3c5fc
Remove libs dependency from PackageLib.
2019-01-13 19:23:44 +02:00
Enyby
6f5af581e8
Fix string.gsub for invalid use '%' in replacement string
...
Check code:
```
print(pcall(load('string.gsub("test", "%S", "A%")')))
print(pcall(load('string.gsub("test", "%S", "%A")')))
```
2019-01-03 18:09:00 +02:00
Enyby
870aee2cae
Improved opt methods for numbers in LuaString
2018-12-29 19:49:43 +02:00
Enyby
c2ec9edf39
Deny use NaN as index in rawset.
2018-12-24 22:34:49 +02:00
Enyby
cfb3aaca61
Fix math.min and math.max.
...
Now similar to native Lua and reference: `Returns the argument with the maximum value, according to the Lua operator <. (integer/float) `
2018-12-24 20:52:23 +02:00
Enyby
4105cebf1e
Fix math.fmod for int values.
2018-12-24 20:37:39 +02:00
Enyby
339f004eb7
More compat with lua tests.
2018-12-24 19:30:11 +02:00
Enyby
05a604645d
Fix modulo for edge cases.
...
Reference code:
```
for i,lhs in ipairs({-math.huge, -10.0, 0.0, 10.0, math.huge}) do
for j,rhs in ipairs({-math.huge, -10.0, 0.0, 10.0, math.huge}) do
print(lhs, rhs, lhs % rhs)
end
end
```
2018-12-24 18:30:35 +02:00
Enyby
63ead7aac7
Fix string.format for long integers.
2018-12-24 11:45:06 +02:00