Comments (mosty typos)
diff --git a/lapi.h b/lapi.h
index f48d14f..41216b2 100644
--- a/lapi.h
+++ b/lapi.h
@@ -19,7 +19,7 @@
 
 /*
 ** If a call returns too many multiple returns, the callee may not have
-** stack space to accomodate all results. In this case, this macro
+** stack space to accommodate all results. In this case, this macro
 ** increases its stack space ('L->ci->top').
 */
 #define adjustresults(L,nres) \
diff --git a/lcode.c b/lcode.c
index 25ddfb7..4fc97e2 100644
--- a/lcode.c
+++ b/lcode.c
@@ -1509,7 +1509,7 @@
     lua_assert(e1->k == VK || e1->k == VKINT || e1->k == VKFLT);
     swapexps(e1, e2);
   }
-  r1 = luaK_exp2anyreg(fs, e1);  /* 1nd expression must be in register */
+  r1 = luaK_exp2anyreg(fs, e1);  /* 1st expression must be in register */
   if (isSCnumber(e2, &im, &isfloat)) {
     op = OP_EQI;
     r2 = im;  /* immediate operand */
diff --git a/lfunc.c b/lfunc.c
index 0ef7328..60689a7 100644
--- a/lfunc.c
+++ b/lfunc.c
@@ -165,7 +165,7 @@
       if (newstatus != LUA_OK && status == CLOSEPROTECT)  /* first error? */
         status = newstatus;  /* this will be the new error */
       else {
-        if (newstatus != LUA_OK)  /* supressed error? */
+        if (newstatus != LUA_OK)  /* suppressed error? */
           luaE_warnerror(L, "__close metamethod");
         /* leave original error (or nil) on top */
         L->top = restorestack(L, oldtop);
diff --git a/lmem.c b/lmem.c
index b1d646a..65bfa52 100644
--- a/lmem.c
+++ b/lmem.c
@@ -26,7 +26,7 @@
 /*
 ** First allocation will fail whenever not building initial state
 ** and not shrinking a block. (This fail will trigger 'tryagain' and
-** a full GC cycle at every alocation.)
+** a full GC cycle at every allocation.)
 */
 static void *firsttry (global_State *g, void *block, size_t os, size_t ns) {
   if (ttisnil(&g->nilvalue) && ns > os)
diff --git a/loslib.c b/loslib.c
index 7812d29..29449e4 100644
--- a/loslib.c
+++ b/loslib.c
@@ -196,7 +196,7 @@
 */
 
 /*
-** About the overflow check: an overflow cannot occurr when time
+** About the overflow check: an overflow cannot occur when time
 ** is represented by a lua_Integer, because either lua_Integer is
 ** large enough to represent all int fields or it is not large enough
 ** to represent a time that cause a field to overflow.  However, if
diff --git a/ltests.c b/ltests.c
index bb5dad5..e9b28b1 100644
--- a/ltests.c
+++ b/ltests.c
@@ -476,7 +476,7 @@
 /*
 ** Check consistency of an object:
 ** - Dead objects can only happen in the 'allgc' list during a sweep
-** phase (controled by the caller through 'maybedead').
+** phase (controlled by the caller through 'maybedead').
 ** - During pause, all objects must be white.
 ** - In generational mode:
 **   * objects must be old enough for their lists ('listage').
@@ -783,7 +783,7 @@
         return 1;
       }
     }
-    return luaL_error(L, "unkown type '%s'", t);
+    return luaL_error(L, "unknown type '%s'", t);
   }
 }
 
diff --git a/testes/api.lua b/testes/api.lua
index b565741..9447e42 100644
--- a/testes/api.lua
+++ b/testes/api.lua
@@ -805,7 +805,7 @@
   if A ~= nil then
     assert(type(A) == "userdata")
     assert(T.udataval(A) == B)
-    debug.getmetatable(A)    -- just acess it
+    debug.getmetatable(A)    -- just access it
   end
   A = x   -- ressucita userdata
   B = udval
@@ -1112,7 +1112,7 @@
   -- non-closable value
   local a, b = pcall(T.makeCfunc[[
     newtable   # create non-closable object
-    toclose -1 # mark it to be closed (shoud raise an error)
+    toclose -1 # mark it to be closed (should raise an error)
     abort  # will not be executed
   ]])
   assert(a == false and
diff --git a/testes/attrib.lua b/testes/attrib.lua
index 76a447c..b1076c7 100644
--- a/testes/attrib.lua
+++ b/testes/attrib.lua
@@ -28,7 +28,7 @@
   local path = table.concat(t, ";")
   -- use that path in a search
   local s, err = package.searchpath("xuxu", path)
-  -- search fails; check that message has an occurence of
+  -- search fails; check that message has an occurrence of
   -- '??????????' with ? replaced by xuxu and at least 'max' lines
   assert(not s and
          string.find(err, string.rep("xuxu", 10)) and
diff --git a/testes/big.lua b/testes/big.lua
index 150d15d..39e293e 100644
--- a/testes/big.lua
+++ b/testes/big.lua
@@ -66,7 +66,7 @@
 
 local longs = string.rep("\0", ssize)   -- create one long string
 
--- create function to concatentate 'repstrings' copies of its argument
+-- create function to concatenate 'repstrings' copies of its argument
 local rep = assert(load(
   "local a = ...; return " .. string.rep("a", repstrings, "..")))
 
diff --git a/testes/coroutine.lua b/testes/coroutine.lua
index 81d848a..73333c1 100644
--- a/testes/coroutine.lua
+++ b/testes/coroutine.lua
@@ -763,7 +763,7 @@
        {"concat", "concat", "concat"}) == "ab10chello12x")
 
 
-do   -- a few more tests for comparsion operators
+do   -- a few more tests for comparison operators
   local mt1 = {
     __le = function (a,b)
       coroutine.yield(10)
diff --git a/testes/cstack.lua b/testes/cstack.lua
index 486abc1..cd74fd2 100644
--- a/testes/cstack.lua
+++ b/testes/cstack.lua
@@ -4,7 +4,7 @@
 local debug = require "debug"
 
 print"testing C-stack overflow detection"
-print"If this test craches, see its file ('cstack.lua')"
+print"If this test crashes, see its file ('cstack.lua')"
 
 -- Segmentation faults in these tests probably result from a C-stack
 -- overflow. To avoid these errors, you can use the function
@@ -19,10 +19,13 @@
 -- higher than 2_000.
 
 
+-- get and print original limit
 local origlimit = debug.setcstacklimit(400)
 print("default stack limit: " .. origlimit)
 
--- change this value for different limits for this test suite
+-- Do the tests using the original limit. Or else you may want to change
+-- 'currentlimit' to lower values to avoid a seg. fault or to higher
+-- values to check whether they are reliable.
 local currentlimit = origlimit
 debug.setcstacklimit(currentlimit)
 print("current stack limit: " .. currentlimit)
@@ -33,12 +36,14 @@
   assert(not s and string.find(err, msg))
 end
 
+-- auxiliary function to keep 'count' on the screen even if the program
+-- crashes.
 local count
 local back = string.rep("\b", 8)
 local function progress ()
   count = count + 1
   local n = string.format("%-8d", count)
-  io.stderr:write(back, n)
+  io.stderr:write(back, n)   -- erase previous value and write new one
 end
 
 
@@ -46,7 +51,7 @@
   count = 0
   local function foo ()
     progress()
-    foo()
+    foo()   -- do recursive calls until a stack error (or crash)
   end
   checkerror("stack overflow", foo)
   print("\tfinal count: ", count)
@@ -118,9 +123,11 @@
     return n
   end
 
+  -- set limit to 400
   assert(debug.setcstacklimit(400) == currentlimit)
   local lim400 = check()
-  -- a very low limit (given that the several calls to arive here)
+  -- set a very low limit (given that there are already several active
+  -- calls to arrive here)
   local lowlimit = 38
   assert(debug.setcstacklimit(lowlimit) == 400)
   assert(check() < lowlimit - 30)
diff --git a/testes/events.lua b/testes/events.lua
index 7fb54c9..d0abe1d 100644
--- a/testes/events.lua
+++ b/testes/events.lua
@@ -182,7 +182,7 @@
 assert(a << 3 == a); checkcap{"shl", a, 3}
 assert(1.5 >> a == 1.5); checkcap{"shr", 1.5, a}
 
--- for comparsion operators, all results are true
+-- for comparison operators, all results are true
 assert(5.0 > a); checkcap{"lt", a, 5.0}
 assert(a >= 10); checkcap{"le", 10, a}
 assert(a <= -10.0); checkcap{"le", a, -10.0}
diff --git a/testes/gc.lua b/testes/gc.lua
index bb4e349..91915c0 100644
--- a/testes/gc.lua
+++ b/testes/gc.lua
@@ -640,7 +640,7 @@
     assert(getmetatable(o) == tt)
     -- create new objects during GC
     local a = 'xuxu'..(10+3)..'joao', {}
-    ___Glob = o  -- ressurect object!
+    ___Glob = o  -- ressurrect object!
     setmetatable({}, tt)  -- creates a new one with same metatable
     print(">>> closing state " .. "<<<\n")
   end
diff --git a/testes/locals.lua b/testes/locals.lua
index b769575..4f103be 100644
--- a/testes/locals.lua
+++ b/testes/locals.lua
@@ -114,7 +114,7 @@
   local t = T.querytab(a)
 
   for k,_ in pairs(a) do a[k] = undef end
-  collectgarbage()   -- restore GC and collect dead fiels in `a'
+  collectgarbage()   -- restore GC and collect dead fields in 'a'
   for i=0,t-1 do
     local k = querytab(a, i)
     assert(k == nil or type(k) == 'number' or k == 'alo')
diff --git a/testes/math.lua b/testes/math.lua
index c7dc828..7248787 100644
--- a/testes/math.lua
+++ b/testes/math.lua
@@ -758,7 +758,7 @@
   assert(eqT(math.min(maxint, maxint - 1), maxint - 1))
   assert(eqT(math.min(maxint - 2, maxint, maxint - 1), maxint - 2))
 end
--- testing implicit convertions
+-- testing implicit conversions
 
 local a,b = '10', '20'
 assert(a*b == 200 and a+b == 30 and a-b == -10 and a/b == 0.5 and -b == -20)