Skip to content

Commit

Permalink
Release v41.2.0.
Browse files Browse the repository at this point in the history
Signed-off-by: Gary V. Vaughan <[email protected]>
  • Loading branch information
gvvaughan committed Mar 8, 2015
1 parent 3544b62 commit 2c7d6c2
Show file tree
Hide file tree
Showing 41 changed files with 1,939 additions and 653 deletions.
38 changes: 29 additions & 9 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ language: c
env:
global:
- _COMPILE="libtool --mode=compile --tag=CC gcc"
- _CFLAGS="-O2 -Wall -DLUA_COMPAT_ALL -DLUA_USE_LINUX"
- _CFLAGS="-O2 -Wall -DLUA_COMPAT_ALL -DLUA_COMPAT_5_2 -DLUA_USE_LINUX"
- _INSTALL="libtool --mode=install install -p"
- _LINK="libtool --mode=link --tag=CC gcc"
- _LIBS="-lm -Wl,-E -ldl -lreadline"
Expand All @@ -12,6 +12,10 @@ env:
- bindir=$prefix/bin
- incdir=$prefix/include
- libdir=$prefix/lib

- _inst=$TRAVIS_BUILD_DIR/_inst
- luadir=$_inst/share/lua
- luaexecdir=$_inst/lib/lua
matrix:
- LUA=lua5.3
- LUA=lua5.2
Expand All @@ -32,8 +36,8 @@ before_install:
cd lua-5.3.0;
fi'
- 'if test lua5.2 = "$LUA"; then
curl http://www.lua.org/ftp/lua-5.2.3.tar.gz | tar xz;
cd lua-5.2.3;
curl http://www.lua.org/ftp/lua-5.2.4.tar.gz | tar xz;
cd lua-5.2.4;
fi'
- 'if test lua5.1 = "$LUA"; then
curl http://www.lua.org/ftp/lua-5.1.5.tar.gz | tar xz;
Expand Down Expand Up @@ -106,21 +110,37 @@ install:
sleep 1; touch configure;
fi'

# Build from rockspec.
- export ROCKSPEC=stdlib-41.1.1-1.rockspec
- 'test -f "$ROCKSPEC" || ROCKSPEC=stdlib-git-1.rockspec'
- sudo luarocks make $ROCKSPEC LUA="$LUA"
# Build from rockspec, forcing uninstall of older luarocks installed
# above when testing the git rockspec, both for enforcing backwards
# compatibility by default, and for ease of maintenance.
- if test -f 'stdlib-41.2.0-1.rockspec'; then
sudo luarocks make 'stdlib-41.2.0-1.rockspec' LUA="$LUA";
else
sudo luarocks make --force 'stdlib-git-1.rockspec' LUA="$LUA";
fi

# Clean up files created by root
- sudo git clean -dfx
- sudo rm -rf slingshot /tmp/ldoc


script:
# Reconfigure for in-tree test install.
- test -f configure || ./bootstrap --verbose
- test -f Makefile || ./configure --disable-silent-rules LUA="$LUA"
- ./configure --prefix="$_inst" --disable-silent-rules LUA="$LUA"

# Verify luarocks installation.
- make installcheck || make installcheck V=1

# Verify local build.
- make
- make check V=1
- make check || make check V=1

# Verify configured installation.
- make install prefix="$_inst" luadir="$luadir" luaexecdir="$luaexecdir"
- LUA_PATH="$luadir/?.lua;$luadir/?/init.lua;;"
LUA_CPATH="$luaexecdir/?.so;;"
make installcheck V=1


# Run sanity checks on CI server, ignoring buggy automakes.
Expand Down
206 changes: 206 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,5 +1,211 @@
2015-03-08 Gary V. Vaughan <[email protected]>

Release version 41.2.0
* NEWS.md: Record release date.

configury: bump release revision to 41.2.0.
* configure.ac (AC_INIT): Bump release revision to 41.2.0.
* .travis.yml: Regenerate.

io: don't leak extra results from implementation details.
* lib/std/io.lua (dirname): Return parenthesised results from
internal gsub calls to prevent unexpected additional values
leaking.
* NEWS.md (Bug fixes): Update.

doc: don't tell LDoc that resulterror is called argerror!

debug: deprecate `toomanyargmsg` for `extramsg_toomany`.
* specs/debug_spec.yaml (extramsg_toomany): Add examples for
correct behaviours of new api.
* lib/std/debug.lua (toomanyargmsg): Deprecate.
(extramsg_toomany): New function, satisfies specified behaviours.
* lib/std/container.lua: Use extramsg_toomany api.
* NEWS.md (New features, Deprecations): Update.

debug: refactor and export debug.resulterror.
* specs/debug_spec.yaml (resulterror): Add examples of behaviours
for resulterror.
* lib/std/base.lua (raise): New function factored out of...
(argerror): ...this. Adjust accordingly.
* lib/std/debug.lua (resulterror): Rewrite over base.raise.
Move out of _DEBUG.argcheck guard.
Export as resulterror.
* NEWS.md (New features): Update.

debug: export formaterror as extramsg_mismatch.
* specs/debug_spec.yaml (extramsg_mismatch): Add examples for
correct behaviours of extramsg_mismatch.
* lib/std/debug.lua (formaterror): Rename from this...
(extramsg_mismatch): ...to this. Move out of _DEBUG.argcheck
guard.
(prototype, concat): Move above position of first call in file.
* NEWS.md (New features): Update.

debug: accept "bool" as a typename alias for "boolean".
* specs/debug_spec.yaml: Add examples for behaviour when given
"bool" in lieu of "boolean".
* lib/std/debug.lua (formaterror, checktype): Accept "bool" as an
alias for "boolean" in a type specification.
* NEWS.md (Bug fixes): Update.

debug: skip `self` typecheck when fname contains a colon.
* specs/debug_spec.yaml (argscheck): Specify behaviours for colon
delimited function name.
* lib/std/debug.lua (argscheck): Drop `self` argument before
checking types of remaining arguments when the function name
contains a colon.
* NEWS.md (New features): Update.

debug: export a new function to parse type table.
Close #91
* lib/std/debug.lua (normalize): Rename from this...
(typesplit): ...to this. Move to outer scope, so it will be
visible even if _DEBUG.argcheck is false.
((markdots, permute, projectuniq): Move to outer scope.
(parsetypes): New function.
(parsetypes, typesplit): Export as public APIs.
* specs/debug_spec.yaml (extendbase): Add parsetypes and
typesplit.

debug: improve argscheck patterns.
* lib/std/debug.lua (args_pat, argscheck): Improve patterns.

slingshot: sync with upstream, for git rockspec fixes.
* slingshot: Sync with upstream.
* stdlib-git-1.rockspec: Regenerate.

debug: maintain stack frame depth parity with LuaJIT.
* lib/std/debug.lua (getfenv): Be careful not to let the LuaJIT
optimizer eliminate a stack frame, and mess up the depth count.

slingshot: sync with upstream, for Lua 5.2.4 update.
* slingshot: Sync with upstream.
* .travis.yml: Regenerate.

debug: adjust numeric args for getfenv wrapper for Lua 5.1.
* lib/std/debug.lua (getfenv): When calling core getfenv from
our wrapper, make sure to add one to numeric args to compensate
for the extra stack frame.

2015-02-27 Gary V. Vaughan <[email protected]>

debug: export portable getfenv and setfenv implementations.
* specs/debug_spec.yaml (getfenv, setfenv): Add examples of
behaviour of these functions.
* lib/std/debug.lua (getfenv): Fix a bug that prevented
unwrapping of functables on Lua 5.1 and LuaJIT.
(getfenv, setfenv): Export as public APIs.
* NEWS.md (New features): Update.

functional: callable returns falsey for nil argument.
* specs/functional_spec.yaml (callable): Specify correct behaviour
for uncallable argument.
* lib/std/functional.lua (callable): Don't raise an argument error
for a nil argument, just return nil like any other uncallable.
* NEWS.md (Bugs fixed): Update.

functional: add examples to show reduce handling nil arguments.
* specs/functional_spec.yaml (reduce): Add examples to show
behaviours with nil arguments.

2015-02-27 Reuben Thomas <[email protected]>

std/io.lua: adjust catdir's return to 1 value

2015-02-26 Gary V. Vaughan <[email protected]>

functional: ensure map propagates nil arguments.
* specs/functional_spec.yaml (map): Add examples to show
behaviours with nil arguments.
* lib/std/functional.lua (map): Detect iterator arity when
collecting result table.
* NEWS.md (Bug fixes): Update.

functional: ensure filter propagates nil arguments.
* specs/functional_spec.yaml (filter): Add example to show
behaviour with nil arguments.
* lib/std/functional.lua (filter): Detect iterator arity when
collecting result table.
* NEWS.md (Bug fixes): Update.

functional: ensure collect propagates nil arguments.
* specs/functional_spec.yaml (collect): Add examples to show
behaviours with nil arguments.
* lib/std/functional.lua (collect): Use npairs as a default
iterator.
Detect iterator arity when collecting result table.
* NEWS.md (Bug fixes): Update.
(Incompatible changes): Note change of default iterator.

functional: ensure compose propagates nil arguments.
* specs/functional_spec.yaml (compose): Add examples to show
behaviours with nil arguments.
* lib/std/functional.lua (compose): Simplify.
* NEWS.md (Bug fixes): Update.

functional: ensure bind propagates nil arguments.
* specs/functional_spec.yaml (bind): Add example to show
behaviours with nil arguments.
* lib/std/functional.lua (bind): Simplify.
* NEWS.md (Bug fixes): Update.

std: new npairs and rnpairs iterators.
* specs/std_spec.yaml (npairs, rnpairs): Specify correct
behaviour for these new iterators.
* lib/std/debug.lua (argpairs): Move from here...
* lib/std/base.lua (npairs): ...to here.
(rnpairs): New function.
* lib/std.lua.in (npairs, rnpairs): Reexport from here.
* NEWS.md (New features): Update.

std: fix argscheck declaration for std.getmetamethod.
* lib/std.lua.in (getmetamethod): This function works on anything
the Lua can add a metatable to. Adjust LDocs and argscheck
declaration to support that.
* specs/std_spec.yaml (getmetamethod): Adjust badargs parameters
accordingly.
* NEWS.md (Bug fixes): Update.

2015-02-26 Gary V. Vaughan <[email protected]>

Merge pull request #96 from lua-stdlib/fix-require-version
base: require does not work with non-string module version fields

2015-02-26 Gary V. Vaughan <[email protected]>

maint: fix .gitignore problems.
Close #97.
* .gitignore: Some versions of git disallow !re-include inside a
directory that has been excluded. Add a trailing '/*' to support
those versions.
(/build-aux/config.ld.in): Re-include this source file.
(/doc/config.ld): Remove exclusion of no longer generated file,
now that config.ld is also kept in build-aux.
Reported by Reuben Thomas

2015-02-25 Reuben Thomas <[email protected]>

base: require does not work with non-string module version fields
Simple fix: run “tostring” on the version field.

It may be desired to refuse certain types. The motivating case here is
that std.optparse has version set to number 0.

2015-02-06 Gary V. Vaughan <[email protected]>

list: std.ireverse is not a full replacement for list.reverse.
* lib/std/list.lua (reverse): Describe a full replacement
with functional.compose in deprecation warning message.
Reported by Reuben Thomas

2015-01-31 Gary V. Vaughan <[email protected]>

maint: post-release administrivia.
* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* ./local.mk (old_NEWS_hash): Auto-update.

Release version 41.1.1
* NEWS.md: Record release date.

Expand Down
15 changes: 10 additions & 5 deletions Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ LUA_PATH ?= ;
LUA_CPATH ?= ;

SPECL_ENV =
CHECK_ENV =
INSTALLCHECK_ENV =


## ---------- ##
Expand Down Expand Up @@ -52,6 +54,7 @@ check_local =
dist_bin_SCRIPTS =
dist_lua_DATA =
doc_DATA =
installcheck_local =
install_exec_hooks = remove-luaexec-lafiles
uninstall_hooks = uninstall-luaexec-modules
lib_LTLIBRARIES =
Expand All @@ -74,6 +77,8 @@ check-local: $(check_local)
## Installation. ##
## ------------- ##

installcheck-local: $(installcheck_local)

install-exec-hook: $(install_exec_hooks)

# Neither Lua itself, nor LuaRocks can use .la files, and LuaRocks
Expand All @@ -96,9 +101,9 @@ uninstall-hook: $(uninstall_hooks)
# We removed the .la files from luaexecdir, so the standard uninstall,
# with libtool --mode=uninstall, can't find everything anymore.
uninstall-luaexec-modules:
@for la in $(luaexec_LTLIBRARIES); do \
base=`echo "$$la" \
|sed 's|^.*/\(.*\)\.la|\1|'`; \
echo rm -f $(luaexecdir)/$$base.so; \
rm -f $(luaexecdir)/$$base.so; \
@for la in $(luaexec_LTLIBRARIES); do \
base=`echo "$$la" \
|sed 's|^.*/\(.*\)\.la|\1|'`; \
echo rm -f $(DESTDIR)$(luaexecdir)/$$base.so; \
rm -f $(DESTDIR)$(luaexecdir)/$$base.so; \
done
Loading

0 comments on commit 2c7d6c2

Please sign in to comment.