Im looking into that error now, also ill now be testing every beta and n-beta every release.
Also im going to look into improvements i can make here and there...
One i noticed is those checks like
if tostring(clears) == true then
term.clear()
end
eg on line 35 -> 37
can be perhaps improved for others by making it instead
if tostring(clears) == nil then
clears == false
elseif tostring(clears) == true then
---
---
end
this can maybe add speed to programmers and clean up abit, since you can now use a nil (no argument given) and it will default to false.
im not sure if this is really needed though
please look into the non-betas render() and setButton() functions, for some reason if the render's argument is true or "true" then the buttons dont seem to work, my guess is some how they are clearing the buffer and thus loosing the buttons information... I have confirmed its only when the clearBuffer() function is called does this happen.
lines 126 --> 139 are the render() function
lines 147 --> 155 are the setButton() function
It must be noted that this seems to happen when a button settup in a program is put in a while loop, ie
1.| while true do
2.| setButton---
3.| setButton---
4.| setButton---
5.| render(true)
6.| selection = gui.getSelection()
7.| ---whatever is executed ->
8.| ---based on selection
9.| end
i have a working button setup above without a loop and it works fine.