2016-10-08  Gary V. Vaughan  <gary@gnu.org>

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

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

	implicit: parse an unquoted null token as lyaml.null
	Fixes #13.
	* specs/lib_lyaml_spec.yaml (scalars): Specify correct behaviour
	with various spellings of 'null'.
	(a map): Quote bare null tokens that should be parsed as strings.
	* lib/lyaml/implicit.lua (null): Parse an unquoted null token as
	lyaml.null.
	* NEWS.md (Bug fixes): Update.

2016-10-07  Gary V. Vaughan  <gary@gnu.org>

	slingshot: sync with latest upstream.
	* slingshot: Update submodule.
	* .travis.yml: Regenerate.
	* bootstrap: Regenerate.

	configury: rearrange configure.ac macros for better error reporting
	If libyaml.so is not in the path, the old order would fall over
	during AX_PROG_LUA with an unhelpful failure message.
	* configure.ac (AC_PATH_PROG, AX_PROG_LUA, AX_LUA_HEADERS): Move
	invocations above LIBYAML checks.

2016-01-05  Gary V. Vaughan  <gary@gnu.org>

	maint: bump copyright years.
	* bootstrap.conf, configure.ac, ext/yaml/emitter.c,
	ext/yaml/lyaml.h, ext/yaml/parser.c, ext/yaml/scanner.c,
	ext/yaml/yaml.c, lib/lyaml.lua, lib/lyaml/explicit.lua,
	lib/lyaml/functional.lua, lib/lyaml/implicit.lua, local.mk,
	slingshot, specs/specs.mk: Add 2016 to copyright years.

	slingshot: update to latest revision for Travis GCE compatibility.
	* slingshot: Pull latest upstream.
	* .travis.yml: Regenerate.

2015-10-11  Gary V. Vaughan  <gary@gnu.org>

	configury: don't let libyaml search affect Lua headers test.
	Closes #11.
	* configure.ac (AC_SEARCH_LIBS): Save and restore $LIBS contents
	around this search, so that -lyaml is not left prepended to
	affect later checks.
	(lyaml): Store -lyaml in LIBYAML.
	* local.mk (ext_yaml_yaml_la_LIBADD): Add $(LIBYAML).
	(ext_yaml_yaml_la_CPPFLAGS): Remove unset YAML_INCLUDE.

2015-07-26  Gary V. Vaughan  <gary@gnu.org>

	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 6.0
	* NEWS.md: Record release date.

	maint: support installcheck rules.
	* specs/spec_helper.lua (package.path, package.cpath): Don't
	set these paths for installcheck!

	slingshot: sync with upstream.
	* slingshot: Sync with upstream for Lua 5.3.1 support.

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

	lyaml: recognize merging of sequence alias.
	* specs/lib_lyaml_spec.yaml: Specify behaviour for loading an
	alias to a sequence.
	* lib/lyaml.lua (alias_type): New table mapping anchor save types
	to equivalent later alias load types.
	(parser_mt:add_anchor): Use it to save the anchor type in addition
	to the node value, so we can distingish between saved sequence
	tables and map tables.
	(parser_mt:load_map, parser_mt:load_sequence)
	(parser_mt:load_scalar): Return value and type of actual event.
	(parser_mt:load_alias): Return value, and type of aliased event.
	(parser_mt:load_map): Simplify. Now that aliases are expanded
	recursively, no need to handle ALIAS events specially.
	* specs/lib_lyaml_spec.yaml: Simplify some examples with local
	variables for intermediate values.
	Adjust error messages expectations to match reality!

	lyaml: ensure lyaml.dump has an equivalent signature to lyaml.load.
	* lib/lyaml.lua (dump): Accept an option table of options.
	(Dumper): Normalise options.
	(dumper_mt.dump_scalar): Quote any strings that would be implicitly
	converted by opts.implicit_scalar function otherwise.
	* NEWS.md: Update accordingly.
	* README.md: Update.

	lyaml: merge bare maps and sequences.
	* specs/lib_lyaml_spec.yaml (context with merge keys): Specify
	behaviour with non-alias merge key arguments more thoroughly,
	especially merging bare maps and sequences.
	* lib/lyaml.lua (parser_mt.load_map): generalize support of
	arguments to merge key to satisfy new specifications.

2015-07-25  Gary V. Vaughan  <gary@gnu.org>

	specs: specify loading of  more variant boolean and y/n tokens.
	* specs/lib_lyaml_spec.yaml (it recognizes booleans): Specify
	behaviour with "yes" and "no".
	(it loads bare y and n as strings): Specify behaviour with "y"
	and "n".
	(it recognizes strings): Specify behaviour with quoted "yes".
	(it recognizes !!bool): Specify behaviours with variations of
	yes, no, y and n.

	doc: clarify lyaml._VERSION docs.
	* lib/lyaml.lua (_VERSION): Clarify what this is the version of!

	maint: consolidate .gitignore files.
	* build-aux/.gitignore: Remove.
	* .gitignore: Ignore everything in build-aux except config.ld.in
	and sanity-cfg.mk.

	configury: install api docs correctly.
	* configure.ac: Modernize.
	(HAVE_LDOC): New conditional, so that installation from a
	release tarball works without LDoc installed.
	* local.mk (modulesdir): Destination for api ldocs.
	(dist_doc_DATA): VPATH search automatically prepends $(srcdir).
	(dist_docmodules_DATA): Oops, not this...
	(dist_modules_DATA): ...it should be spelled like this.  And
	we should reference sources relative to Makefile directory

2015-07-23  Gary V. Vaughan  <gary@gnu.org>

	maint: add ldoc to bootstrap travis_extra_rocks.
	* bootstrap.conf (travis_extra_rocks): Add ldoc.
	* .travis.yml.in: Regenerate.

	maint: add ldoc to bootstrap buildreq.
	* bootstrap.conf (buildreq): Add ldoc.

	doc: preliminary LDoc API documentation.
	* build-aux/config.ld.in: New file.  LDoc configuration.
	* configure.ac (AC_CONFIG_FILES): Generate config.ld.
	(AC_PATH_PROG): Find ldoc binary in path.
	* local.mk (src/doc): Automatically generate API documentation.
	* lib/lyaml.lua, lib/lyaml/explicit.lua, lib/lyaml/functional.lua,
	lib/lyaml/implicit.lua: Add API doc-comments markup.
	* AUTHORS: Update.

2015-07-22  Gary V. Vaughan  <gary@gnu.org>

	lyaml: provide API for loading scalar types.
	In the process of factoring the scalar parsing in user over-
	ridable parameters, we also make default boolean value parsing
	more idiomatic - namely, bare y and n tokens remain as y and
	n string values respectively, unless preceded by the !!bool
	tag, when they are parsed to true and false values.
	* lib/lyaml.lua (istruthy, isfalsey, isnan, isinf)
	(parser_mt.load_float, parser_mt.load_int)
	(parser_mt.load_scalar): Factor implicit scalar loaders from
	here...
	* lib/lyaml/implicit.lua (binary, decimal, float, hexadecimal)
	(inf, nan, null, octal, sexagesimal, sexfloat, bool): New file.
	...to here.
	* lib/lyaml/functional.lua: New file with minimal higher order
	functions for internal use.
	* lib/lyaml.lua (parser_mt.load_scalar): Factor explicit tagged
	scalar loaders from here...
	* lib/lyaml/explicit.lua (bool, float, int, null, str): New
	file. ...to here.
	* lib/lyaml.lua (default.explicit_scalar)
	(default.implicit_scalar): Compose equivalent functionality to
	prefactored code from the new functions above.
	(Parser): Fallback to scalar value parsing from default.
	(load): If opts is a table, accept keys that override default
	scalar loading functions with the user's own.
	* specs/lib_lyaml_spec.yaml: Adjust specifications to match
	clearer error messages and more idiomatic parsing of y and n.
	* README.md (lyaml.load): Describe new APIs.

2015-07-20  Nick Muerdter  <nick.muerdter@nrel.gov>

	lyaml: parse empty values as null, not empty strings.
	Close #10
	According to the [spec](http://yaml.org/type/null.html) an empty value
	should be null. lyaml was previously treating empty values as empty
	strings which isn't correct.

	This change means that `lyaml.load("foo: ")` will now be parsed as
	`{ foo = lyaml.null }` instead of `{ foo = "" }`.

	This also adjusts how real empty string values are dumped, since they
	need to be quoted rather than an empty value. So
	`lyaml.dump({{ foo = "" }})` will now be dumped as `foo: ''` instead of
	`foo: `.

	This does change a number of existing tests that involved empty
	documents now becoming nulls, rather than empty strings, but I've
	verified that the new behavior seems to match Ruby's YAML library in all
	these cases. Here's a few examples of these empty document changes (I
	updated the lyaml test suite accordingly):

	```
	> YAML.load_stream("---")
	=> [nil]
	> YAML.load_stream("---\n...\n---\ntwo\n...\n---\n...")
	=> [nil, "two", nil]
	> YAML.dump("")
	=> "--- ''\n"
	```

	I've also added new tests to explicitly check the null handling for
	empty values. Here's also a few more examples verifying the new null
	behavior against the Ruby YAML library:

	```
	> YAML.load_stream("foo: ")
	=> [{"foo"=>nil}]
	> YAML.load_stream("- ~\n- \n- true\n- 42")
	=> [[nil, nil, true, 42]]
	> YAML.load_stream("''")
	=> [""]
	```
	* specs/lib_lyaml_spec.yaml (writes an empty document): Correct
	behaviour is to dump a literal empty string.
	(writes a mapping): Specify dumping an empts string value.
	(lyaml.loads an empty document): Correct behaviour is to return
	lyaml.null for no content.
	(reports an empty document): Likewise for multi-document streams.
	(recognizes version number): Adjust accordingly.
	(recognizes null): Specify behaviour when loading an empty value,
	(recognizes strings): Specify behaviour when loading an empty
	string.
	(recognizes block sequences): Likewise for empty sequence values.
	* lib/lyaml.lua (dumper_mt): Set SINGLE_QUOTED style for empty
	strings.
	(parser_mt): Load an empty string as lyaml.null.
	From Nick Muerdter

2015-07-20  Nick Muerdter  <nick.muerdter@nrel.gov>

	doc: clarify multiple document handling.
	Close #9
	* README.md: This is based on the discussion regarding how the
	API handles multiple documents here:
	https://github.com/gvvaughan/lyaml/issues/7
	From Nick Muerdter

2015-07-12  Gary V. Vaughan  <gary@gnu.org>

	lyaml: support !!merge key type.
	Fixes #8.
	* specs/lib_lyaml_spec.yaml (load): Specify input types for
	merge tag value strings and how they should be loaded.
	* lib/lyaml.lua (parser_mt.merge_map): Fetch an alias or sequence
	of aliases, and merge them into the containing map.
	(parser_mt.load_map): Use it to !!merge tag.
	* NEWS.md (New Features): Update accordingly.
	Reported by Yuichi Murata <mrk21info+gitub@gmail.com>

	lyaml: load the whole range of !!int arguments fully.
	* specs/lib_lyaml_spec.yaml (load): Specify more input types for
	int tag value strings and how they should be loaded.
	* lib/lyaml.lua (istruthy, isfalsey): New sets of accepted !!int
	value strings that will convert to Lua true and false respectively.
	(parser_mt.load_scalar): Parse !!int tag arguments fully.
	* NEWS.md (Bug fixes): Update accordingly.

	lyaml: load the whole range of !!float arguments fully.
	* specs/lib_lyaml_spec.yaml (load): Specify more input types for
	float tag value strings and how they should be loaded.
	* lib/lyaml.lua (isnan, isinf): New sets of accepted !!float
	value strings that will convert to Lua 0/0 and inf respectively.
	(parser_mt.load_scalar): Parse !!float tag arguments fully.
	(dumper_mt.dump_scalar): Dump NaN and Inf values idiomatically.
	* NEWS.md (Bug fixes): Update accordingly.

	lyaml: load the full range of !!bool arguments fully.
	* specs/lib_lyaml_spec.yaml (load): Specify more input types for
	bool tag value strings and how they should be loaded.
	* lib/lyaml.lua (istruthy, isfalsey): New sets of accepted !!bool
	value strings that will convert to Lua true and false respectively.
	(parser_mt.load_scalar): Parse !!bool tag arguments fully.
	* NEWS.md (Bug fixes): Update accordingly.

	lyaml: recognize !!null tags.
	* specs/lib_lyaml_spec.yaml (load): Specify correct loading of
	!!null tags.
	* lib/lyaml.lua (parser_mt.load_scalar): Load a !!null tag as an
	lyaml.null reference.
	* NEWS (Bugs Fixed): Update.

2015-06-21  Nick Muerdter  <nick.muerdter@nrel.gov>

	lyaml.dumper_mt: fix multi-line string dumping.
	Close #6.
	Multi-line strings were previously being dumped using single quotes
	which caused the dumped YAML to break, dump using LITERAL syntax in
	this case.
	* specs/lib_lyaml_spec.yaml (lyaml dumping): Specify correct
	behaviours for dumping multi-line strings.
	(lyaml loading): Likewise for loading strings dumped this way.
	* lib/lyaml.lua (dumper_mt): use "LITERAL" style to dump strings
	containing embedded newlines.
	* NEWS.md (Bug fixes): Update.

2015-01-19  Gary V. Vaughan  <gary@gnu.org>

	slingshot: sync with upstream for lua 5.3.0 final support.
	* slingshot: Sync with upstream.
	* .travis.yml: Regenerate.

2015-01-01  Gary V. Vaughan  <gary@gnu.org>

	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 5.1.4
	* NEWS.md: Record release date.

	configure: add ansicolors to travis_extra_rocks.
	* bootstrap.conf (travis_extra_rocks): Add ansicolors for color
	specl output.
	* .travis.yml: Regenerate.

	slingshot: sync with upstream, for travis improvements.
	* slingshot: Sync with upstream.
	* .travis.yml: Regenerate.

	configury: bump release version to 5.1.4.
	* configure.ac (AC_INIT): Bump release version to 5.1.4.

	maint: update NEWS.
	* NEWS.md: Add missing sections.

	maint: commit git rockspec to master branch.
	* .gitignore: Allow git rockspecs.
	* lyaml-git-1.rockspec: New file.

	travis: move timestamp fudger to before rockspec make.

	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 5.1.3
	* NEWS.md: Record release date.

	maint: update copyrights.
	x bootstrap.conf, configure.ac, ext/yaml/emitter.c,
	ext/yaml/lyaml.h, ext/yaml/parser.c, ext/yaml/scanner.c,
	ext/yaml/yaml.c, lib/lyaml.lua, local.mk, specs/specs.mk: Add
	2015 to copyright statement.

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

	rockspec: Lua 5.4 and higher not yet supported.
	* rockspec.conf (dependencies): Add lua < 5.4 constraint.

	slingshot: sync with upstream, for bootstrap warnings fix.
	* slingshot: Sync with upstream.
	* bootstrap: Update from slingshot.
	* bootstrap.conf (buildreq): Require specl 14 or better with
	Lua 5.3 compatibility.
	* .travis.yml: Regenerate.

2014-12-29  Gary V. Vaughan  <gary@gnu.org>

	parser: line and column are integers not strings.
	* lib/lyaml.lua (Parser): Initialise line and column to integers.
	(parser_mt): Remove type coercions.

2014-12-27  Gary V. Vaughan  <gary@gnu.org>

	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 5.1.2
	* NEWS.md: Record release date.

	slingshot: sync with upstream for release fixes.

	configury: bump version number to 5.1.2,
	* configure.ac (AC_INIT): Bump version number to 5.1.2,

	maint: update NEWS.

	slingshot: sync with upstream for travis configure warning bug.
	* slingshot: Sync with upstream.
	* bootstrap.conf (require_bootstrap_uptodate): Remove.  Slingshot
	bootstrap now handles out of date bootstrap scripts properly.
	(slingshot_files): Remove slingshot.m4.
	* configure.ac (SPECL_MIN): Remove.
	(SS_CONFIG_TRAVIS): Remove. Move extra rocks from here...
	* bootstrap.conf (travis_extra_rocks): ...to here.
	* bootstrap: Regenerate.

2014-12-24  Gary V. Vaughan  <gary@gnu.org>

	specs: add some pending emit examples.
	* specs/ext_yaml_emitter_spec.yaml (emitting): Add some pending
	emit examples.

2014-12-19  Gary V. Vaughan  <gary@gnu.org>

	maint: insert missing NEWS.md release header.
	* NEWS: Add missing header.

	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 5.1.1
	* NEWS.md: Record release date.

	slingshot: sync with upstream, for release fixes.
	* slingshot: Sync with upstream.

2014-12-18  Gary V. Vaughan  <gary@gnu.org>

	slingshot: sync with upstream, for rebootstrap subproject fix.
	* slingshot: Sync with upstream.
	* bootstrap: Update from slingshot.

	slingshot: sync with upstream, for luaexec_LTLIBRARIES support.
	Close #5.
	* slingshot: Sync with upstream.
	* bootstrap: Update from slingshot.
	* .travis.yml: Regenerate.
	* local.mk (lib_LTLIBRARIES): Rename from this...
	(luaexec_LTLIBRARIES): ...to this.
	(old_NEWS_hash): Update.
	* NEWS: Move from here...
	* NEWS.md: ...to here.  Reformat and update.
	* .gitignore: Add NEWS.

	configury: bump release number to 5.1.1.
	* configure.ac (AC_INIT): Bump release number to 5.1.1.
	* NEWS: Update.

2014-12-17  Gary V. Vaughan  <gary@gnu.org>

	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 5.1.0
	* NEWS: Record release date.

	configury: remove references to lua52compat.h.
	* local.mk (EXTRA_DIST): Remove ext/yaml/luacompat.h.

2014-12-16  Gary V. Vaughan  <gary@gnu.org>

	slingshot: sync with upstream, for release fixes.
	* slingshot: Sync with upstream.

	slingshot: sync with upstream, for release fixes.
	* slingshot: Sync with upstream.

	maint: bump release revision to 5.1.0.
	* configure.ac (AC_INIT): Bump release revision to 5.1.0.
	* NEWS: Update.

	slingshot: sync with upstream, for travis fixes.
	* slingshot: Sync with upstream.
	* .travis.yml: Regenerate.

	slingshot: sync with upstream, for luajit fixes.
	* slingshot: Sync with upstream.
	* .travis.yml: Regenerate.

	slingshot: sync with upstream, for travis.yml bugfixes.
	* slingshot: Sync with upstream.
	* .travis.yml: Regenerate.

	slingshot: sync with upstream, for Lua 5.3 support.
	* slingshot: Sync with upstream.
	* bootstrap: Update to latest slingshot bootstrap.
	* .travis.yml: Regenerate.

	maint: preliminary Lua 5.3.0 compatibility.
	* slingshot: Sync with upstream for Lua 5.3 compatibility.
	* configure.ac (AX_PROG_LUA): Accept Lua 5.3 interpreters.
	* ext/yaml/lua52compat.h: Remove.
	* ext/yaml/lyaml.h (lua_objlen, lua_strlen, luaL_openlib)
	(luaL_register): Lua 5.2 and 5.3 compatibility definitions.
	* .travis.yml: Regenerate.

	configury: adopt semantic versioning.
	* configure.ac (AC_INIT): Bump version to 6.0.0.

2014-09-25  Gary V. Vaughan  <gary@gnu.org>

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

	Release version 5
	* NEWS: Record release date.

	lyaml: implement anchor matching in lyaml.dump ().
	Closes #2.
	* specs/lib_lyaml_spec.yaml (anchors and aliases): Specify correct
	behaviours when replacing anchor matches with YAML anchor and
	alias syntax.
	* lib/lyaml.lua (dumper_mt.get_anchor): Move matched anchor to new
	aliased property.
	(dumper_mt.get_alias): Look up already matched anchor in aliased
	property.
	(dumper_mt.dump_alias): Emit an ALIAS event.
	(dumper_mt.dump_mapping, dumper_mt.dump_sequence)
	(dumper_mt.dump_scalar): Look up anchor with `get_anchor`, and
	replace event with ALIAS if match found with `get_alias`.
	* NEWS: Update.

	emitter: emit lyaml.null nodes correctly.
	* specs/lib_lyaml_spec.yaml (scalars): Remove pending call.
	* lib/lyaml.lua (null): Put null singleton identifier in its own
	metatable.
	(isnull): Predicate function for detecting null nodes.
	(dump_node): Use it to dump nulls correctly.

	emitter: don't output numbers in SINGLE_QUOTED style.
	* specs/lib_lyaml_spec.yaml (loading): Indent another level...
	(lyaml): ...move under new top level.
	(dumping): Specify behaviour for emitting table elements.
	* lib/lyaml.lua (dumper_mt.dump_scalar): Use PLAIN style unless
	a string would convert to a number, and then SINGLE_QUOTED style.
	* NEWS: Update.

	specl: sync with upstream slingshot for SPECL_ENV improvements.
	* slingshot: Sync with upstream.
	* specs/specs.mk: Simplify accordingly.
	* specs/spec_helper.lua (package.path, package.cpath): Set
	according to slingshot recommendations.  `make distcheck` works
	again now, even when Specl (>=13) is using a different lyaml
	release from the system directories.

	maint: remove debug statement.
	* lib/lyaml.lua (dumper_mt.emit): Remove debug statement.

	emitter: propagate errors correctly.
	* specs/ext_yaml_emitter_spec.yaml: Specify error messages are
	propagated correctly.
	* ext/yaml/emitter.c (emit_STREAM_START, emit_MAPPING_START)
	(emit_SEQUENCE_START, emit_SCALAR): Push error messages onto the
	errbuff stack.
	* NEWS: Update.

2014-09-24  Gary V. Vaughan  <gary@gnu.org>

	travis: revert to specl-12 features.
	* specs/lib_lyaml_spec.yaml (loading): to_raise is a v13 matcher,
	but v13 is not released yet. Use to_error for v12 compatibility.
	* .travis.yml: Regenerate.

	travis: install specl github master.
	* .travis.yml (script): Install Specl from github master, to
	satisfy new features used by yaml specs.

	lyaml: improve parser error handling.
	Fix a TODO in the lyaml parser.
	* specs/lib_lyaml_spec.yaml (loading): Specify line and column
	prefixed error behaviours.
	* lib/lyaml.lua (Parser): Initialise line and column.
	(parser_mt.error): Raise an error with line and column prefixed.
	(parser_mt.parse): Capture libYAML event errors, and forward them
	to parser_mt.errer.
	Update 1-based line and column markers from 0-based libYAML event
	markers.
	(parser_mt.loadalias): Raise errors with parser_mt.error.

	specs: set package paths for specl auto-discovery.
	* specs/spec_helper.lua (package.path, package.cpath): Add build
	directories.
	(dump): Call prettytostring from correct module table.

	specs: small improvements in descriptions and examples.
	* specs/ext_yaml_scanner_spec.yaml (scanning): Fix a typo.
	* specs/lib_lyaml_spec.yaml (describe documents): Add more
	variations.
	(describe anchors): Rename from this...
	(describe anchors and aliases): ...to this.

	refactor: modernize specs for prettiest colors from report formatter.
	* specs/ext_yaml_emitter_spec.yaml, specs/ext_yaml_parser_spec.yaml,
	specs/ext_yaml_scanner_spec.yaml, specs/lib_lyaml_spec.yaml: Use
	`to_` matchers rather than `should_` matchers throughout.
	Use specify:describe:context:it hierarchy consistently throughout.
	Remove redundant `require "spec_helper"` blocks.

	slingshot: sync with upstream for slack support.
	* slingshot: Sync with upstream.
	* .slackid: New file with slack notification id.
	* .travis.yml: Regenerate.

2014-07-31  Gary V. Vaughan  <gary@gnu.org>

	slingshot: sync with upstream for upload and moonscript support.
	* slingshot: Sync with upstream.
	* bootstrap.conf (slingshot_files): Delete removed
	ax_compare_version.m4.
	* README.md (Installation): Show moonscript rocks repo.
	* .travis.yml: Regenerate.

	    Signed-off-by: Gary V. Vaughan <gary@gnu.org>

2014-07-17  Gary V. Vaughan  <gary@gnu.org>

	Merge branch 'waffle-iron-master'

2014-07-17  Making GitHub Delicious.  <iron@waffle.io>

	add waffle.io badge

2014-05-20  Gary V. Vaughan  <gary@gnu.org>

	maint: fix a README typo.
	* README.md: Remove a spurious word.

	configury: update bootstrap script from slingshot.
	* bootstrap: Sync with slingshot.

	slingshot: sync with upstream.
	* slingshot: Sync with upstream for grep GNUism fix.
	* bootstrap.conf (buildreq): Don't set a git version number, or
	else `GIT=true ./bootstrap` doesn't work.
	* .travis.yml: Regenerate.

2014-01-04  Gary V. Vaughan  <gary@gnu.org>

	slingshot: sync with upstream.
	Fix the annoying contest.sed file dropping bug.
	* slingshot: Sync with upstream.
	* bootstrap: Sync with slingshot.

	maint: update copyright notices to include 2014.
	* .x-upate-copyright: New file. Exclude files not owned by this
	project from update-copyright rules.
	* local.mk (update_copyright_env): Set appropriately.
	* configure.ac, ext/yaml/emitter.c, ext/yaml/lyaml.h,
	ext/yaml/parser.c, ext/yaml/scanner.c, ext/yaml/yaml.c,
	lib/lyaml.lua, local.mk: Bump copyright year.
	* .gitignore: Update.

	slingshot: sync from upstream, and simplify accordingly.
	* slingshot: Sync with upstream.
	* bootstrap: Update from slingshot.
	* bootstrap.slingshot: Remove. No longer required.
	* bootstrap.conf: Remove bootstrap slingshot source boilerplate.
	(func_ensure_changelog): Remove.  Automated by slingshot now.
	* configure.ac (AM_INIT_AUTOMAKE): Remove 'foreign'.
	* COPYING: New file, with MIT License, to avoid Autotools
	copying over a standard GPLv3 COPYING boilerplate.
	* .travis.yml: Regenerate.

2013-11-14  Gary V. Vaughan  <gary@gnu.org>

	maint: prevent pointer type mismatch warnings.
	* ext/yaml/lyaml.h (lua_pushyamlstr): Cast away the impedence
	mismatch between Lua API 'unsigned char *' strings and libYAML
	API 'yaml_char_t *' strings.
	(RAWSET_BOOLEAN, RAWSET_INTEGER, RAWSET_STRING, RAWSET_EVENTF)
	(RAWGETS_STRDUP): Use lua_pushyamlstr to avoid compiler warnings.
	* ext/yaml/parser.c (Pparser): Cast away type differences.
	* ext/yaml/scanner.c (Pscanner): Likewise.
	* NEWS: Update.

2013-09-10  Gary V. Vaughan  <gary@gnu.org>

	maint: post-release administrivia.
	* configure.ac (AC_INIT): Bump revision to 5.
	* NEWS: Add header line for next release.
	* .prev-version: Record previous version.
	* local.mk (old_NEWS_hash): Auto-update.

	Release version 4
	* NEWS: Record release date.

2013-08-29  Gary V. Vaughan  <gary@gnu.org>

	docs: update README.
	* README.md: Remove documentation for removed lyaml.configure
	call, and add documentation for new yaml.emitter call.

	specs: remove trailing blanks.
	* specs/ext_yaml_emitter_spec.yaml: Remove trailing blanks.

	configury: add sanity-cfg.mk.
	* build-aux/sanity-cfg.mk: New file. Add exception to casting
	argument to free check.

	slingshot: sync with upstream.
	* slingshot: Upgrade again now the we are maintaining API
	compatibility in the next release of lyaml.
	* bootstrap: Pick up fixes from latest slingshot.

2013-08-25  Gary V. Vaughan  <gary@gnu.org>

	slingshot: sync with upstream.
	* slingshot: Pick up recent improvements, particularly fixed
	compatibility with upcoming API backwards compatible lyaml 4
	release.

	ext/yaml: avoid double include of lua52compat.h.
	* ext/yaml/yaml.c: lyaml.h already includes lua52compat.h, so no
	need to include it again from here!

	maint: maintain API backwards compatibility with legacy C implementation.
	Make sure the old lyaml.load and lyaml.dump APIs work by switching
	the naming of the C and lua parts of the new implementation.
	* ext/lyaml: Rename from this...
	* ext/yaml: ...to this.
	* ext/lyaml/lyaml.c: Rename from this...
	* ext/lyaml/yaml.c: ...to this.
	* lib/yaml.lua: Rename from this...
	* lib/lyaml.lua: ...to this.
	* specs/ext_lyaml_emitter_spec.yaml,
	specs/ext_lyaml_parser_spec.yaml,
	specs/ext_lyaml_scanner_spec.yaml, specs/lib_yaml_spec.yaml:
	Rename from these...
	* specs/ext_yaml_emitter_spec.yaml,
	specs/ext_yaml_parser_spec.yaml,
	specs/ext_yaml_scanner_spec.yaml, specs/lib_lyaml_spec.yaml:
	...to these.
	* local.mk, specs/specs.mk, specs/spec_helper.lua: Adjust.
	* NEWS: Remove all the incompatibility warnings, and adjust.

	dump: replace C implementation with simpler Lua dump.
	* specs/ext_lyaml_emitter_spec.yaml: Specify low level libYAML
	emitter binding.
	* specs/spec_helper.lua (emitevents, emit): New helper functions.
	* specs/specs.mk (specl_SPECS): Add
	specs/ext_lyaml_emitter_spec.yaml.
	* ext/lyaml/lyaml.h: Factor common macros and headers into this
	single file.
	* ext/lyaml/parser.c, ext/lyaml/scanner.c: Adjust accordingly.
	* ext/lyaml/lyaml.c (lua_yaml_dumper, dump_node, dump_scalar)
	(get_yaml_anchor, dump_table, dump_array, figure_table_type)
	(dump_null, dump_node, dump_document, append_output)
	(find_references, Pdump): Remove.
	* ext/lyaml/emitter.c: New file, implementing libYAML emitter
	binding.
	* lib/lyaml.lua (M.dump): Reimplement dumper in Lua.
	* local.mk (ext_lyaml_lyaml_la_SOURCES): Add ext/lyaml/emitter.c.
	(EXTRA_DIST): Add ext/lyaml/lyaml.h.
	* NEWS: Update.

2013-07-28  Gary V. Vaughan  <gary@gnu.org>

	load: replace C implementation with simpler Lua load.
	* specs/lib_yaml_spec.yaml: Specify loader behaviour.
	* ext/lyaml/lyaml.c (Load_Set_Metatables, Load_Numeric_Scalars)
	(Load_Nulls_As_Nil, LUAYAML_TAG_PREFIX, RETURN_ERRMSG)
	(lua_yaml_loader, generate_error_message, delete_event, do_parse)
	(handle_anchor, load_map, load_sequence, load_sscalar, load_alias)
	(load_node, load, Pload): Remove.
	(handle_config_option, R): Adjust.
	* lib/yaml.lua: New file. Reimplement in Lua.
	* NEWS: Update.

	parser: set scalar style field.
	* ext/lyaml/parser.c (parse_SCALAR): Set style field.

	slingshot: sync with upstream.
	* slingshot: Pick up recent improvements, particularly compatibility
	with upcoming lyaml 4 release.

2013-07-27  Gary V. Vaughan  <gary@gnu.org>

	scanner: bind YAML tokenizer.
	* specs/ext_lyaml_scanner_spec.yaml: New file.  Specify behaviour
	of tokenizing scanner.
	* ext/lyaml/scanner.c: New file. Implement binding of scanner.
	* ext/lyaml/lyaml.c: Declare scanner entrypoints.
	(R): Register new scanner method.
	(luaopen_lyaml): Call setup for __gc scanner cleanup.
	* local.mk (ext_lyaml_lyaml_la_SOURCES): Add ext/lyaml/scanner.c.
	* README.md: Add instructions for using lyaml.scanner().
	* NEWS: Update.

	parser: factor out function dispatch for simple events.
	* ext/lyaml/parser.c (parse_STREAM_END, parse_SEQUENCE_END)
	(parse_MAPPING_END): Delete.
	(event_iter): Generate parser_push_exenttable calls with CPP
	instead.

	parser: use valid symbols for Lua event types.
	* ext/lyaml/parser.c: Use '_' instead of '-' so that the bare
	event types are valid Lua symbols.
	* specs/ext_lyaml_parser_spec.yaml: Adjust.

	specs: rename parser spec file to reflect source path.
	* specs/parser_spec.yaml: Move from here...
	* specs/ext_lyaml_parser_spec.yaml: ...to here.
	* specs/specs.mk (specl_SPECS): Adjust.

	parser: interface cleanup.
	* ext/lyaml/lyaml.c (parser_init): Declare this...
	(loader_gc): ...instead of this.
	(luaopen_lyaml): Move __gc metatable init from here...
	* ext/lyaml/parser.c (parser_init): ...to here.
	Also fix a typo in one metatable name reference.

	maint: move lyaml extension sources to ext/lyaml subdir.
	* lua52compat.h, lyaml.c, parser.c: Move from here...
	* ext/lyaml/lua52compat.h, ext/lyaml/lyaml.c, ext/lyaml/parser.c:
	...to here.
	* local.mk (lyaml_cpath, EXTRA_DIST, lib_LTLIBRARIES): Adjust.
	(ext_lyaml_lyaml_la_SOURCES): Compile sources as individual subdir
	objects.

	parser: factor away LYAML_STR macro.
	* parser.c (LYAML__STR, LYAML_STR): Remove. Adjust all callers.

	parser: factor away lyaml_parser.error.
	* parser.c (lyaml_parser): Remove error field.
	Adjust all clients.

	parser: decouple from lyaml.c.
	* parser.c (lyaml_parser, parser_delete_event)
	(parser_generate_error_message): New functions refactored...
	(struct lua_yaml_loader, delete_event, generate_error_message):
	...from here.
	Adjust all callers.

2013-07-25  Gary V. Vaughan  <gary@gnu.org>

	docs: add missing link, and missing space.
	* README.md: Add missing [libtool][] destination and insert a
	missing space.

	README: improve documentation.
	* README.md: Rewrite to provide a tiny bit more insight into how
	to install and use lyaml.

	specs: quote 5.2 illegal escapes carefully.
	* specs/parser_spec.yaml: Use [[]] quoting to prevent Lua 5.2
	from trying to resolve \ as an escape sequence.

	travis: install specl for specificatin checks.
	* configure.ac (AC_PATH_PROG): Fallback to : if specl is not
	installed on the build machine.
	* .travis.yml: Regenerate.

	lyaml: bind lyaml.parser to lyaml_parser_parse.
	* configure.ac: Require Specl.
	(SPECL_MIN): Require at least release 8 of Specl.
	* specs/parser_spec.yaml: Specify behaviour of new parser API.
	* specs/spec_helper.lua: New file. Specl helper functions.
	* specs/specs.mk: New file. Run specl checks, and distribute
	spec files.
	* local.mk: Include it.
	(lyaml_cpath): Factored out of MKROCKSPECS_ENV.
	(MKROCKSPECS_ENV, LUA_ENV): Adjust.
	* parser.c (Pparser): New file. Implement event iterator.
	* lyaml.c: Include it.
	(R): Add Pparser.
	(luaopen_lyaml): Set up _gc metatable for iterator to clean
	up iterator memory.
	* local.mk (EXTRA_DIST): Add parser.c.
	* NEWS: Update.

2013-07-14  Gary V. Vaughan  <gary@gnu.org>

	slingshot: sync with upstream.
	Use upstream slingshot, which prevents us requesting installation
	of luarocks lyaml on travis before building our own lyaml.
	* slingshot: Update.
	* .travis.yml: Regenerate.

	maint: move to self-managed slingshot.
	* slingshot: Add as a git submodule.
	* bootstrap.slingshot: New file, copied from slingshot.
	* Makefile.am: Move from here...
	* local.mk: ...to here, and adjust for slingshot.
	* GNUmakefile, build-aux/do-release-commit-and-tag,
	build-aux/gitlog-to-changelog, build-aux/mkrockspecs,
	build-aux/release.mk, build-aux/rockspecs.mk, m4/ax_lua.m4,
	m4/ax_compare_version.m4: Delete.  Slingshot takes care of these
	files automatically.
	* .gitignore: Update.
	* .travis.yml: Regenerate.

	maint: remove spurious trailing whitespace.
	* README.md, bootstrap.conf, configure.ac, lyaml.c: Remove
	spurious trailing whitespace.

	lyaml: use STREQ/STRNEQ instead of !strcmp/strcmp.
	* lyaml.c (load_scalar, lua_yaml_dumper, table_type)
	(handle_config_options): Use GNUish STREQ/STRNEQ macros for
	improved readability over reverse logic strcmp.

2013-04-27  Gary V. Vaughan  <gary@gnu.org>

	maint: post-release administrivia.
	* configure.ac (AC_INIT): Bump to release 4.
	* NEWS: Add header line for next release.
	* .prev-version: Record previous version.
	* ./Makefile.am (old_NEWS_hash): Auto-update.

	Release version 3
	* NEWS: Record release date.

	travis: adjust for slingshot upgrades.
	* .travis.yml: Be as verbose as possible.
	Don't try to bootstrap the release branch.
	Adjust luarcoks-config.lua path.
	Remove lua-stdlib install; slingshot mkrockspecs works without it.
	Pass LUAROCKS to make correctly.
	(LUAROCKS_CONFIG): Set correctly.

	maint: remove unused lyaml-rockspec.lua.
	* lyaml-rockspec.lua: Remove.  No longer used.

	configury: rockspecs depend on lyaml.
	* Makefile.am: Make sure lyaml is built before calling mkrockspecs.

	maint: Move distribution rules into release.mk.
	* Makefile.am: Move distribution rules from here...
	* build-aux/release.mk: ...to here.
	* build-aux/rockspecs.mk (EXTRA_DIST): Add mkrockspecs script,
	and rockspec_conf.
	(smc_rockspec): git rockspec is always revision 1!

2013-04-26  Gary V. Vaughan  <gary@gnu.org>

	maint: support external_dependencies with mkrockspecs.
	* build-aux/mkrockspecs: Support ordering of external_dependencies.
	Add quote marks around various paths in case of whitespace after
	variable expansion.
	(configure_flags): Set defaults to respect external_dependencies
	entries.
	* rockspec.conf (external_dependencies): Required for a correct
	build.

	Revert "maint: post-release administrivia."
	This reverts commit 9fcdd06a1f88d6db0ab344b0de4dda314ff8eb8c.

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

	Release version 3
	* NEWS: Record release date.

	maint: upgrade to slingshot release files.
	* rockspec.conf: lyaml rockspec configuration for slingshot.
	* NEWS: New file.  Add release notes from previous versions.
	* .prev-version: New file. Required by do-release-commit-and-tag.
	* build-aux/do-release-commit-and-tag, build-aux/mkrockspecs,
	bulid-aux/release.mk, build-aux/rockspecs.mk: Install from
	slingshot upstream.
	* build-aux/mkrockspecs.lua: Remove. Obsolete.
	* GNUmakefile, Makefile.am: Adjust to work with slingshot files.
	* .gitignore, build-aux/.gitignore: Update.

	maint: bump release version to 3.
	* configure.ac (AC_INIT): Bump release version to 3.

2013-04-06  Gary V. Vaughan  <gary@gnu.org>

	mkrockspecs: respect environment LUAROCKS settings.
	* build-aux/mkrockspecs.lua: Use the user selected luarocks
	invocation to execute luarocks lint.

	maint: revert to setting lua paths for each command requiring it.
	* .travis.yml (script): Move the luarocks path setting to the
	same line as the command that uses it.

	maint: move path injection for Travis CI.
	* .travis.yml (install): Move path injection from here...
	(script): ...to here.  It seems that environment settings made in
	install are not visible in the script section.

	maint: factor out repeated $LUA $HOME/bin/luarocks for Travis CI.
	* .travis.yml (env.global): Set LUAROCKS.
	(install): Set luarocks path.
	(script): Simplify accordingly.

	docs: add a travis build status badge to README.md for github.
	* README.md: Add travis build status badge markup.

	maint: Ubuntu Precise puts luajit headers in luajit-2.0 subdir.
	* .travis.yml (env.matrix): Specify LUA_INCDIR for each Lua
	interpreter in the build matrix.
	(script): Pass LUA_INCDIR to make luarocks-config.lua rule.

2013-04-05  Gary V. Vaughan  <gary@gnu.org>

	maint: move Travis CI local luarocks build into install key.
	* .travis.yml (script): Move local luarocks build from here...
	(install): ...to here.

	maint: let Travis local luarocks configure detect a Lua interpreter.
	* .travis.yml (script): Remove --lua-version and --with-lua
	configure parameters from local luarocks build.

	maint: Ubuntu Precise ships too-old luarocks.
	* .travis.yml (env.matrix): Use correct binary name for luajit.
	(env.global): Set LUAROCKS_BASE to current luarocks release.
	(install): Don't apt-get too-old luarocks from distro.
	(script): Wget and build a local luarocks from latest release.

	maint: install lua interpreters specifically for Travis CI.
	* .travis.yml (install): Specifically install the lua interpreters
	required by script.

	maint: set LUA_PATH correctly for make rockspecs in Travis CI.
	* .travis.yml (script): Use eval rather than env to push LUA_PATH
	into the environment before running make rockspecs.

	maint: generate Travis CI build matrix correctly.
	* .travis.yml (env): Read the documentation again, and then set
	the matrix up correctly for three specific Lua settings, and a
	shared global environment variable.

	maint: remove redundant Travis CI notifications.
	* .travis.yml (env.global): Didn't work here, so move back to
	env key.
	(notifications): Remove.  Default is to do the same thing anyway.

	maint: use local luarocks paths for make rockspecs.
	* .travis.yml (env): Move LUA intepreters into global subkey.
	(env.matrix): Set LUAROCKS_CONFIG once for everything here.
	(install): Remove redundant lua interpreter installs.
	(script): Set paths for local luarocks tree before calling `make
	rockspecs`, otherwise it can't find the stdlib rock we just
	installed.

	maint: dynamically locate luarocks binary for Travis CI.
	* .travis.yml (script): Use `which` to locate installed luarocks
	binary for feeding to selected $LUA interpreter.

	maint: use a local luarocks tree for Travis CI.
	* .travis.yml (install): Don't forget the various foo-dev packages
	needed to get lua header files.
	(after_script): Remove. There are no tests!
	(script): Build and use a luarocks-config to use a temporary
	local luarocks tree tailored to the selected LUA interpreter.

	configury: user overridable luarocks vars in luarocks-config.lua.
	* GNUmakefile (luarocks-config.lua): In order to work correctly
	with a given lua intepreter for a particular luarocks tree, make
	sure to set the appropriate luarocks variables when writing a
	luarocks-config.lua. Also, take care to honour environment
	values for those variables at make-time, because the user probably
	knows better how their environment is set up than the generic
	make rules can!

	maint: update rockspec template for latest ax-lua.m4.
	* lyaml-rockspec.lua (build.build_command): Pass $(LUA) as a
	configure precious variable so that latest ax-lua.m4 uses it as
	passed instead of running the hardcoded search for a lua binary.

	maint: install lua-stdlib for Travis CI.
	* .travis.yml (script): install lua-stdlib luarock.

	maint: relax autoconf requirement to v2.68.
	* configure.ac (AC_INIT): 2.68 is new enough, and is the newest
	version available by default on Travis CI server.

	maint: use travis CI server.
	* .travis.yml: New file. Travis CI directives.

2013-03-17  Gary V. Vaughan  <gary@gnu.org>

	docs: insert missing link.
	* README.md (Lua): Add missing URL.

	docs: fix a typo.
	* README.md (Instalation): Rename from this...
	(Installation): ...to this.

	maint: use correct MIT license.
	The GPLv3+ license was a cut-n-paste error.
	* lyaml-rockspec.lua (license): Correct license is MIT.
	* GNUmakefile, Makefile.am, bootstrap.conf, configure.ac:
	Relicense files authored by me under MIT.

	maint: bump release number to 2.
	* configure.ac (AC_INIT): Bump release number to 2.

	maint: release process streamlining.
	* GNUmakefile (check-in-release): Don't switch back to master yet.
	(release): Do it at the end!

	maint: add gitlog-to-changelog.
	Hand maintaining a ChangeLog is tedious.
	* build-aux/gitlog-to-changelog: New file.

	rockspecs: remove debug line.
	* build-aux/mkrockspecs.lua: Remove left-over debug line.

	Initial import.
