Final updates for the 13.05 NEWS file.

NEWS:
   Re-order the entries in the compiler changes section so that
   major changes, e.g. 64-bit Windows support, are listed first.

   Reword a couple of entries and fix some spacing.
Fix a typo in README.DotNet.

README.DotNet:
	s/Charp/CSharp/
Delete obsolete procedures and modules from the standard library.

library/array.m:
library/array2d.m:
library/bitmap.m:
library/store.m:
library/thread.semaphore.m:
library/version_array2d.m:
library/version_bitmap.m:
library/version_hash_table.m:
library/version_store.m:
	Delete predicates that were deprecated in Mercury 13.05 and before.

library/version_array.m
	Delete the deprecated function new/2.

	Deprecate unsafe_new/2	and unsafe_init/2 to replace it.
	(We had overlooked this previously.)

library/string.m:
	Delete the deprecated function set_char_char/3.
	(We will leave the other deprecated procedures in this module
	for at least another release.)

library/svlist.m:
library/svpqueue.m:
library/svstack.m:
	Delete these modules: they were only ever needed as a transitional
	mechanism.

library/library.m:
	Conform to the above changes.

doc/Mmakefile:
	Unrelated change: delete references to files that have been
	deleted since we moved to git.

tests/hard_coded/*/*.m
tests/tabling/*.m:
	Update test cases where they made use of predicates that have
	now been deleted from the standard library.
Add the function bimap.count/1.

library/bimap.m:
	Add the above function.

	Fix the wording of a function description.

NEWS:
	Add a section for 13.05.1 and mention the above change in it.
Make the lmc script work in .ll_debug grades.

tools/lmc.in:
	Set the appropriate GC library name for ll_debug grades.
Fix bug #161.

In C grades, closing a file stream multiple times can lead to a segmentation
fault on some systems (e.g. Linux), whereas on others (e.g. Mac OS X) an
io.error exception is thrown.  (The difference is due to differences in the
semantics of fclose.)  Try to avoid the former case by checking that the
stream handle is non-NULL before we attempt to close it.  (mercury_close zeros
out the relevant bits of the MercuryFile structure when we close a stream so,
the stream handle is set to NULL the first time we close the stream.)

library/io.m:
	As above.
Fix bug #257.

Emit a warning if the variable that is the subject of a require_complete_switch
scope does not occur in the sub-goal.

compiler/det_report.m:
	As above.

tests/valid/Mmakefile:
tests/valid/bug257b.{m,exp}:
tests/warnings/Mmakefile:
tests/warnings/bug257.{m,exp}:
	Test cases for the above.
Add and/or update .gitignore files.

mfilterjavac/.gitignore:
	Add a .gitignore file for this directory.

browser/.gitignore:
mbdcomp/.gitignore:
runtime/.gitignore:
ssdb/.gitignore:
trace/.gitignore:
	Ignore .so files.
Make most_specific_rval handle mkword_hole.

dupelim.most_specific_rval did not handle the `mkword_hole' option that
was added to the `rval' type.

compiler/dupelim.m:
	Fix the bug.

tests/valid/Mmakefile:
tests/valid/dupelim_mkword_hole.m:
	Add test case.
Fix bug #183

--warn-dead-procs should not emit warnings for procedures that are foreign
exported.  However, for procedures that were foreign exported only to languages
that were *not* supported by the current backend, it did emit warnings.
This was because we only kept track of foreign_export pragmas for languages
that were supported by the current backend.  The fix is to (separately) keep
track of whether there were any foreign_export pragmas at all for a procedure.

compiler/hlds_pred.m:
	Add a new field to the proc_info structure that keeps track
	of whether the were any foreign_export pragmas for the procedure.

compiler/add_pragma.m:
	Fill in the new field.

compiler/dead_proc_elim.m:
	Only emit a warning about a procedure being dead if it is not
	the subject of any foreign_export pragmas.

	Use a more appropriate variable name in a spot.

tests/valid/Mmakefile:
tests/valid/bug183.m:
	Add a regression test for the above.
Update a .gitignore file.

mfilterjavac/.gitignore:
	Ignore .mih files.
More fixes for float.float64_bits_string/1.

The implementation of float64_bits_string/1 does not work correctly on
platforms where sizeof(long) == 4.  This is the case for the i386 version of
NetBSD.  Also, make the code in the float module consistent with the fact the
runtime allows there to be no 64-bit integer type defined at all.

configure.ac:
runtime/mercury_conf.h.in:
	Define a new macro that expands to the integer length modifier for
	the MR_int_least64_t type.

library/float.m:
	Use the new macro to avoid a spot that was assuming that a long is
	a 64-bit quantity.  (TODO: we can probably now simplify some of the
	Windows specific code here, but I don't want to do that until I have
	tested it.)

	Have float64_bits_string/1 call MR_fatal_error() if MR_INT_LEAST64_TYPE
	is not defined.
Test each mono C# compiler to determine if it can handle generics.

The 'mcs' compiler on my system cannot handle generics.  This change to the
configure script macros tests each candidate mono C# compiler for generics
support.  If a candidate does not handle generics, then the next candidate
is tested.

m4/mercury.m4:
    As above.

    I have also stripped trailing whitespace the end of lines in this file.
Add support to allow the user to specify the C# compiler.

configure.ac:
    Add a new option, --with-csharp-compiler, that allows the user to
    specify what C# compiler to use.

m4/mercury.m4:
    If the user specified a C# compiler using the --with-csharp-compiler
    then use that.
Fix indentation in configure's help text.
Provide a helpful error if no C sharp compiler could be found

m4/mercury.m4:
    If the user specified one or more possible C sharp compilers and none
    of them were suitable, then report an error and abort.
Improve compatibility with makeinfo 5.1

The newer version of makeinfo is more pedantic about the use of the
@itemx token.  To allow our documentation to compile I've replaced a number
of @itemx tokens with @item tokens.

doc/reference_manual.hexi:
doc/user_guide.texi:
    As above.
Define equality for version_hash_tables.

library/version_hash_table.m:
    Add user-defined equality to the version_hash_table/2 type.

    Rename fields of the inner structure as the num_occupants function
    no-longer has the same type as the function generated by the field of
    the same name.

    We can make a similar change to hash_table.m at a later date.
Remove whitespace from the end of lines

library/version_hash_table.m:
    As above
Make pointer_equals/2 pure.

library/version_hash_table.m:
    As above.