On Mon, Aug 25, 2014 at 8:01 AM,
 Thomas Jericke 
<tjericke@indel.ch> wrote:
 
 
 On 08/25/2014 02:56 AM, Patrick Donnelly
 wrote:
 
 On Sun, Aug 24, 2014 at 4:02 PM, Thijs Schreijer
 <thijs@thijsschreijer.nl>
 wrote:
 
 As "lua_State" not actually refers to a state, but
 to a thread or an execution stack, could it be
 renamed? To something that properly reflects what
 it is?
 
 I suspect that the name was introduced before
 coroutines were added, which meant that a state
 and a thread were pretty much the same thing then.
 
 +1 for lua_Thread.
 
 
 
 
 
  
 I don't really get the use of the word 'thread' in the C
 API, they are called "coroutines" in the Lua library.
 --
 Thomas
 
 
  
 
 
 It's because not all threads are coroutines. Every Lua state
 automatically has a "main" thread, and this thread is not a
 coroutine. It cannot be suspended.
 
 For example, compare the C API function
 lua_pushthread(L), which will always push a thread object even
 if it is the main thread, with the Lua library function
 coroutine.running(), which will return nil if the current
 thread is the main thread.