|
| 1 | +2014-05-01 Gary V. Vaughan <gary@gnu.org> |
| 2 | + |
| 3 | + Release version 40 |
| 4 | + * NEWS: Record release date. |
| 5 | + |
| 6 | + refactor: remove unused `std.modules`. |
| 7 | + * lib/std/modules.lua: Remove. |
| 8 | + * local.mk (dist_luastd_DATA): Adjust. |
| 9 | + |
| 10 | + refactor: use `t[#t + 1] = v` rather than `table.insert (t, v)`. |
| 11 | + Save a function call by factoring away calls to table.insert. |
| 12 | + * lib/std/container.lua, lib/std/functional.lua, lib/std/io.lua, |
| 13 | + lib/std/list.lua, lib/std/optparse.lua, lib/std/set.lua, |
| 14 | + lib/std/strbuf.lua, lib/std/string.lua, lib/std/table.lua, |
| 15 | + lib/std/tree.lua: Substitute accordingly. |
| 16 | + |
| 17 | + refactor: factor out merge_allfields and merge_namedfields. |
| 18 | + * lib/std/table (clone, merge): Move shared functionality from |
| 19 | + here... |
| 20 | + (merge_allfields): ...to here. |
| 21 | + (clone_select, merge_select): Move shared funtionality from |
| 22 | + here... |
| 23 | + (merge_namedfields): ...to here. |
| 24 | + |
| 25 | + refactor: move leaves and ileaves from base to tree module. |
| 26 | + * lib/std/base.lua (ileaves, leaves): Move from here... |
| 27 | + * lib/std/tree.lua (ileaves, leaves): ...to here. |
| 28 | + * lib/std/base.lua (_leaves): Rename from this... |
| 29 | + (leaves): ...to this. |
| 30 | + * lib/std/list.lua (flatten): Adjust. |
| 31 | + |
| 32 | + refactor: move unshared methods out of std.base. |
| 33 | + * lib/std/base.lua (merge): Move from here... |
| 34 | + * lib/std/table.lua (merge): ...to here. |
| 35 | + * lib/std/base.lua (append, compare, concat): Move from here... |
| 36 | + * lib/std/list.lua (append, compare, concat): ...to here. |
| 37 | + * specs/object_spec.yaml (std.object): Adjust. |
| 38 | + |
| 39 | + refactor: remove deprecated methods. |
| 40 | + * lib/std/base.lua (new, metatable): Remove. |
| 41 | + (concat, M): Simplify accordingly. |
| 42 | + * lib/std/functional.lua: No need to require std.base. |
| 43 | + * lib/std/set.lua (_functions): Move into object declaration, |
| 44 | + removing `new`. |
| 45 | + * lib/std/strbuf.lua (new): Remove. |
| 46 | + * lib/std/tree.lua (new): Remove. |
| 47 | + * NEWS: Update. |
| 48 | + |
| 49 | + tree: allow objects as keys. |
| 50 | + * lib/std/tree.lua (Tree.__index): Only fold key list when key |
| 51 | + parameter is a raw list, and not when it is a std.object derived |
| 52 | + table. |
| 53 | + (Tree.__newindex): Only descend the key list creating sub-Trees |
| 54 | + when key parameter is a raw list, and not when it is a std.object |
| 55 | + derived table. |
| 56 | + * NEWS: Update. |
| 57 | + |
| 58 | + functional: generalize memoize with normalization parameter. |
| 59 | + * lib/std/functional.lua (memoize): Don't rely on tostring |
| 60 | + having been monkey-patched to std.string.tostring already, but |
| 61 | + also don't automatically load all of std.string into memory |
| 62 | + unless memoize is called without a normalization function. |
| 63 | + * NEWS: Update. |
| 64 | + |
| 65 | + list: remove deprecated methods. |
| 66 | + * lib/std/list.lua: Remove indexKey, indexValue, mapWith, zipWith, |
| 67 | + new and slice. |
| 68 | + * NEWS: Update. |
| 69 | + |
| 70 | + specs: std.table.pack is present for any supported Lua release. |
| 71 | + * specs/table_spec.yaml (extend_base): List "pack" unconditionally. |
| 72 | + |
| 73 | + specs: Lua 5.1 does not call tostring on format "%s" arguments. |
| 74 | + * specs/string_spec.yaml (..): Explicitly stringify nil argument. |
| 75 | + |
| 76 | +2014-04-26 Gary V. Vaughan <gary@gnu.org> |
| 77 | + |
| 78 | + std: barrel of monkey(patche)s! |
| 79 | + Close #56. |
| 80 | + Segregate monkey patching into module functions that have to |
| 81 | + be called explicitly. |
| 82 | + * lib/std.lua.in: Don't clobber any core metatables, or change |
| 83 | + any global symbols on load. |
| 84 | + * specs/io_spec.lua (monkey_patch): Specify behaviour of |
| 85 | + std.io.monkey_patch function. |
| 86 | + * lib/std/io.lua (monkey_patch): Add readlines and writelines |
| 87 | + methods to core file objects. |
| 88 | + (processFiles): Remove. |
| 89 | + * specs/math_spec.lua (monkey_patch): Specify behaviour of |
| 90 | + std.math.monkey_patch function. |
| 91 | + * lib/std/math.lua (monkey_patch): Overwrite core math.floor. |
| 92 | + * specs/string_spec.lua (monkey_patch): Specify behaviour of |
| 93 | + std.string.monkey_patch function. |
| 94 | + * lib/std/string.lua (monkey_patch): Overwrite core assert and |
| 95 | + tostring functions, and add methods and metamethods to core |
| 96 | + string objects. |
| 97 | + (escapePattern, escapeShell, ordinalSuffix): Remove. |
| 98 | + * specs/table_spec.lua (monkey_patch): Specify behaviour of |
| 99 | + std.table.monkey_patch function. |
| 100 | + * lib/std/table.lua (monkey_patch): Overwrite core table.sort. |
| 101 | + * specs/table_spec.lua (barrel, monkey_patch): Specify behaviour |
| 102 | + of std.barrel and std.monkey_patch functions. |
| 103 | + * lib/std.lua.in (monkey_patch): New function for patching core |
| 104 | + symbols and metatables by calling submodule `monkey_patch` |
| 105 | + functions. |
| 106 | + (barrel): New function for scribbling all over the given |
| 107 | + namespace, as well as installing all std monkey_patches. |
| 108 | + * specs/debug_spec.yaml, specs/functional_spec.yaml, |
| 109 | + specs/io_spec.yaml, specs/math_spec.yaml, specs/package_spec.yaml, |
| 110 | + specs/std_spec.yaml, specs/string_spec.yaml, specs/table_spec.yaml, |
| 111 | + specs/tree_spec.yaml: Update to reflect removal of default |
| 112 | + monkey patching. |
| 113 | + |
| 114 | + refactor: move `metamethod` from `functional` to `table` module. |
| 115 | + * lib/std/functional.lua (metamethod): Move from here... |
| 116 | + * lib/std/base.lua (metamethod): ...to here; and... |
| 117 | + * lib/std/table.lua (metamethod): ...re-export from here. |
| 118 | + Break dependency on `std.functional`. |
| 119 | + Adjust all callers. |
| 120 | + * NEWS: Update. |
| 121 | + |
| 122 | + refactor: move clone and clone_rename back into std.table. |
| 123 | + * lib/std/base.lua (clone, clone_rename): Move from here... |
| 124 | + * lib/std/table.lua (clone, clone_rename): ...to here. |
| 125 | + |
| 126 | + refactor: break std.container dependency on std.base. |
| 127 | + * lib/std/container.lua (instantiate): New function; a faster |
| 128 | + equivalent to `merge (clone (proto), t or {})`. |
| 129 | + Adjust all callers. |
| 130 | + |
| 131 | + specs: fix a garbage-in, garbage-out example. |
| 132 | + Close #44. |
| 133 | + * specs/tree_spec.yaml (tostring): The assumption that tostring |
| 134 | + should recurse by itself, or that the Tree constructor should |
| 135 | + massage subtables on instantiation were both flawed. Fix the |
| 136 | + input to be properly nested tree, and `tostring` will indeed |
| 137 | + output a properly nested tree. |
| 138 | + |
| 139 | +2014-04-25 Gary V. Vaughan <gary@gnu.org> |
| 140 | + |
| 141 | + docs: add missing doc for nometa arg of merge_select. |
| 142 | + * lib/std/table.lua (merge_select): Add missing nometa doc. |
| 143 | + |
| 144 | + table: add merge_select, and support map and nometa args to merge. |
| 145 | + Close #56. |
| 146 | + * specs/table_spec.yaml (extend_base): Add merge_select. |
| 147 | + (merge): Specify behaviour of new `map` and `nometa` args. |
| 148 | + (merge_select): Specify behaviour of new `merge_select` api. |
| 149 | + (clone, clone_select): Refactor for clarity and orthogonality. |
| 150 | + * lib/std/base.lua (merge): Rewrite to support clone-like `map` |
| 151 | + and `nometa` parameters, according to improved specifications. |
| 152 | + (clone): Rewrite as a call to `merge`. |
| 153 | + * lib/std/table.lua (merge_select): New `clone_select` like api |
| 154 | + satisfying specs. |
| 155 | + (clone_select): Rewrite as a call to `merge_select`. |
| 156 | + * NEWS: Update. |
| 157 | + |
1 | 158 | 2014-04-23 Gary V. Vaughan <gary@gnu.org> |
2 | 159 |
|
3 | | - Release v39. |
| 160 | + maint: post-release administrivia. |
| 161 | + * configure.ac (AC_INIT): Bump release number to 40. |
| 162 | + * NEWS: Add header line for next release. |
| 163 | + * .prev-version: Record previous version. |
| 164 | + * ./local.mk (old_NEWS_hash): Auto-update. |
4 | 165 |
|
5 | 166 | Release version 39 |
6 | 167 | * NEWS: Record release date. |
|
0 commit comments