diff --git a/src/main/resources/assets/computercraft/lua/rom/apis/textutils.lua b/src/main/resources/assets/computercraft/lua/rom/apis/textutils.lua index a160f4b7f..359657a86 100644 --- a/src/main/resources/assets/computercraft/lua/rom/apis/textutils.lua +++ b/src/main/resources/assets/computercraft/lua/rom/apis/textutils.lua @@ -1,5 +1,8 @@ function slowWrite( sText, nRate ) + if nRate ~= nil and type( nRate ) ~= "number" then + error( "bad argument #2 (expected number, got " .. type( nRate ) .. ")", 2 ) + end nRate = nRate or 20 if nRate < 0 then error( "Rate must be positive", 2 ) @@ -20,7 +23,7 @@ function slowWrite( sText, nRate ) end function slowPrint( sText, nRate ) - slowWrite( sText, nRate) + slowWrite( sText, nRate ) print() end @@ -329,11 +332,11 @@ function unserialize( s ) end function serializeJSON( t, bNBTStyle ) - if type( t ) ~= "string" then - error( "bad argument #1 (expected string, got " .. type( t ) .. ")", 2 ) + if type( t ) ~= "table" and type( t ) ~= "string" and type( t ) ~= "number" and type( t ) ~= "boolean" then + error( "bad argument #1 (expected table/string/number/boolean, got " .. type( t ) .. ")", 2 ) end if bNBTStyle ~= nil and type( bNBTStyle ) ~= "boolean" then - error( "bad argument #2 (expected boolean, got " .. type( bNBTStyle ) .. ")", 2 ) + error( "bad argument #2 (expected boolean, got " .. type( bNBTStyle ) .. ")", 2 ) end local tTracking = {} return serializeJSONImpl( t, tTracking, bNBTStyle or false ) @@ -367,7 +370,7 @@ function complete( sSearchText, tSearchTable ) if type( sSearchText ) ~= "string" then error( "bad argument #1 (expected string, got " .. type( sSearchText ) .. ")", 2 ) end - if type( tSearchTable ) ~= "table" then + if tSearchTable ~= nil and type( tSearchTable ) ~= "table" then error( "bad argument #2 (expected table, got " .. type( tSearchTable ) .. ")", 2 ) end diff --git a/src/main/resources/assets/computercraft/lua/rom/apis/window.lua b/src/main/resources/assets/computercraft/lua/rom/apis/window.lua index b9d6d59d6..56ad75cfb 100644 --- a/src/main/resources/assets/computercraft/lua/rom/apis/window.lua +++ b/src/main/resources/assets/computercraft/lua/rom/apis/window.lua @@ -413,8 +413,8 @@ function create( parent, nX, nY, nWidth, nHeight, bStartVisible ) function window.reposition( nNewX, nNewY, nNewWidth, nNewHeight ) if type( nNewX ) ~= "number" then error( "bad argument #1 (expected number, got " .. type( nNewX ) .. ")", 2 ) end if type( nNewY ) ~= "number" then error( "bad argument #2 (expected number, got " .. type( nNewY ) .. ")", 2 ) end - if type( nNewWidth ) ~= "number" then error( "bad argument #3 (expected number, got " .. type( nNewWidth ) .. ")", 2 ) end - if type( nNewHeight ) ~= "number" then error( "bad argument #4 (expected number, got " .. type( nNewHeight ) .. ")", 2 ) end + if nNewWidth ~= nil and type( nNewWidth ) ~= "number" then error( "bad argument #3 (expected number, got " .. type( nNewWidth ) .. ")", 2 ) end + if nNewHeight ~= nil and type( nNewHeight ) ~= "number" then error( "bad argument #4 (expected number, got " .. type( nNewHeight ) .. ")", 2 ) end nX = nNewX nY = nNewY