matricks / bam

Bam is a fast and flexible build system. Bam uses Lua to describe the build process. It's takes its inspiration for the script files from scons. While scons focuses on being 100% correct when building, bam makes a few sacrifices to acquire fast full and incremental build times.
http://matricks.github.com/bam
Other
146 stars 47 forks source link

Keep sequence order of input tables in TableFlatten. #156

Closed docbacardi closed 2 years ago

docbacardi commented 2 years ago

TableFlatten iterates over the elements in an input table with lua_next. There is no guarantee that the elements are processed in an ordered way, also not for sequences. There is a rare chance that TableFlatten mixes up the order of a sequence.

With this patch TableFlatten loops only over the sequence part of a table. This keeps the order of the input sequences, but also drops all other key-value pairs.

matricks commented 2 years ago

Awesomeness in a box! Thanks for the PR!