<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lanes/tests/appendud.lua, branch v4.0.0</title>
<subtitle>A mirror of https://github.com/LuaLanes/lanes.git
</subtitle>
<id>https://git.lua4.win/lanes/atom?h=v4.0.0</id>
<link rel='self' href='https://git.lua4.win/lanes/atom?h=v4.0.0'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lanes/'/>
<updated>2025-06-05T14:03:22+00:00</updated>
<entry>
<title>Change lane:join() return values</title>
<updated>2025-06-05T14:03:22+00:00</updated>
<author>
<name>Benoit Germain</name>
<email>benoit.germain@ubisoft.com</email>
</author>
<published>2025-06-05T14:03:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lanes/commit/?id=bfdc7a92c4e3e99522abb6d90ef2cbb021f36fc8'/>
<id>urn:sha1:bfdc7a92c4e3e99522abb6d90ef2cbb021f36fc8</id>
<content type='text'>
* when no error is raised in the lane, lane:join() now precedes the lane returned values with true
* lane body is no longer forced to return something when used with join()
* adjusted all relevant unit tests accordingly
</content>
</entry>
<entry>
<title>Give a name to all lanes in the tests</title>
<updated>2025-03-14T13:53:09+00:00</updated>
<author>
<name>Benoit Germain</name>
<email>benoit.germain@ubisoft.com</email>
</author>
<published>2025-03-14T13:53:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lanes/commit/?id=512f4c0b46ea5cc359e673b7379cd81925863121'/>
<id>urn:sha1:512f4c0b46ea5cc359e673b7379cd81925863121</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Adjust lanes.configure() documentation</title>
<updated>2024-06-11T12:58:04+00:00</updated>
<author>
<name>Benoit Germain</name>
<email>benoit.germain@ubisoft.com</email>
</author>
<published>2024-06-11T12:58:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lanes/commit/?id=5693bdd8353ae6b623fe5b6210daa72983c220d0'/>
<id>urn:sha1:5693bdd8353ae6b623fe5b6210daa72983c220d0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>* changed lanes.configure signature to receive a table instead of individual parameters</title>
<updated>2012-02-18T13:08:52+00:00</updated>
<author>
<name>Benoit Germain</name>
<email>bnt.germain@gmail.com</email>
</author>
<published>2012-02-18T13:08:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lanes/commit/?id=076344633e7b2525cf48005f84f3935f324b60bf'/>
<id>urn:sha1:076344633e7b2525cf48005f84f3935f324b60bf</id>
<content type='text'>
* added support for an on_state_create callback called to load custom functions in a state in addition to the base libraries
</content>
</entry>
<entry>
<title>* process exit change: close everything at GC when main state closes, not when atexit() handlers are processed</title>
<updated>2011-11-05T16:31:02+00:00</updated>
<author>
<name>Benoit Germain</name>
<email>bnt.germain@gmail.com</email>
</author>
<published>2011-11-05T16:31:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lanes/commit/?id=053f7cff3c95acb915e6babfd306971f11bb7986'/>
<id>urn:sha1:053f7cff3c95acb915e6babfd306971f11bb7986</id>
<content type='text'>
   * Lua 5.2-style module:
      * module() is no longer used to implement lanes.lua
      * a global "lanes" variable is no longer created when the module is required
      * the Lanes module table is returned instead
   * Lanes must be initialized before used:
      * the first occurence of 'require "lanes"' produces a minimal interface that only contains a configure() function
      * the remainder of the interface is made available once this function is called
      * subsequent calls to configure() do nothing
      * configure() controls the number of keeper states and the startup of timers
   * LuaJIT 2 compatibility
      * non-Lua functions are no longer copied by creating a C closure from a C pointer, but through 2-way lookup tables
      * this means that if a lane function body pulls non-Lua functions, the lane generator description must contain the list of libraries and modules that exports them
      * introduces a change in configuration .globals management: contents are copied *after* std libs are loaded
      * new .required configuration entry to list modules that must be require()'ed before lane body is transferred
   * lane:cancel() wakes up waiting lindas like what is done at lane shutdown
</content>
</entry>
<entry>
<title>Lane userdata implementation refactoring:</title>
<updated>2011-02-17T06:52:53+00:00</updated>
<author>
<name>Benoit Germain</name>
<email>bnt.germain@gmail.com</email>
</author>
<published>2011-02-17T06:52:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lanes/commit/?id=ab233d0c9a1edc34836e2249c1eb6d714f1066b5'/>
<id>urn:sha1:ab233d0c9a1edc34836e2249c1eb6d714f1066b5</id>
<content type='text'>
    - Refactor lane proxy implementation: it is now a full userdata instead
      of a table, and its methods are implemented in C instead of Lua.
      * its metatable is no longer accessible.
      * writing to the proxy raises an error.
      * it is no longer possible to overwrite its join() and cancel() methods
    - when a deep userdata idfunc requests a module to be required, manually
      check that it is not loaded before requiring it instead of relying on
      the require function's loop detection feature.
    - when a module must be required, raise an error if the 'require' function
      is not found in the target state.
    - we know Lanes is loaded in the master state, so we don't force it
      to be required in every lane too when a linda deep userdata is copied.
</content>
</entry>
<entry>
<title>Fixed application hang-up because keeper state was not released in case of errors thrown by inter-state data copy for unsupported types</title>
<updated>2011-02-14T20:20:24+00:00</updated>
<author>
<name>Benoit Germain</name>
<email>bnt.germain@gmail.com</email>
</author>
<published>2011-02-14T20:20:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lanes/commit/?id=afb2da4789cdaddc5a0c3c9c2d57ccd36bcc74c7'/>
<id>urn:sha1:afb2da4789cdaddc5a0c3c9c2d57ccd36bcc74c7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Take all code from Asko Kauppi's SVN server, and push it here so that the github repository becomes the official Lanes source codebase.</title>
<updated>2011-01-04T20:31:17+00:00</updated>
<author>
<name>Benoit Germain</name>
<email>bnt.germain@gmail.com</email>
</author>
<published>2011-01-04T20:31:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/lanes/commit/?id=79e46938c5d8daf164ab2d934f668fa27b32e4cf'/>
<id>urn:sha1:79e46938c5d8daf164ab2d934f668fa27b32e4cf</id>
<content type='text'>
Note that Asko's SVN server holds version 2.0.9, whereas this is version 2.0.10, but I don't see any real need to update SVN if it is to become deprecated.

Next steps:
- upgrade the rockspec to the latest version
- make the html help available online somewhere

Signed-off-by: Benoit Germain &lt;bnt.germain@gmail.com&gt;
</content>
</entry>
</feed>
