2017-06-23  Gavin Smith  <gavinsmith0123@gmail.com>

	6.4 release.
	* configure.ac, NEWS, util/texi2dvi, util/texi2pdf,
	doc/refcard/txirefcard.tex: Version number.
	* configure.ac (TEXINFO_DTD_VERSION): Change to 6.4.

2017-06-21  Gavin Smith  <gavinsmith0123@gmail.com>

	* util/texi2dvi (sorted_index_filter) <latex input>: Don't
	print the name of a *.fls recorder file, as then 
	'xref_files_changed' would require one to exist, which it may 
	not.

2017-06-21  Gavin Smith  <gavinsmith0123@gmail.com>

	* util/texi2dvi (xref_files_changed): Call 'sorted_index_files'
	to get a list of the sorted index files that should exist, and
	if any of them are missing, go around another cycle of 
	processing.

2017-06-21  Gavin Smith  <gavinsmith0123@gmail.com>

	* util/texi2dvi (filter_files): Comment changed.
	(add_all_filter): Do not print the argument of the file, so 
	using this with filter_files only prints secondary files.
	(add_all_filter, sorted_index_filter): Rename.
	(sorted_index_files): New function.
	(all_files): Use sorted_index_files instead of add_all_filter.

	No functional changes intended.

2017-06-19  Gavin Smith  <gavinsmith0123@gmail.com>

	* tp/TODO: Mention that some checks for incorrect nesting
	is done already.

2017-06-18  Gavin Smith  <gavinsmith0123@gmail.com>

	* tp/Texinfo/Report.pm (gdt): Set an 'in_gdt' flag
	on the parser.
	* tp/Texinfo/Common.pm (%default_parser_state_configuration):
	Allow 'in_gdt' as a config value.
	* tp/Texinfo/Parser.pm (_parse_texi): Avoid issuing an error
	message in a couple of situations when being called from 'gdt'.
	(It would be thrown away anyway.)  This avoids the need for the 
	error message to be translated, so is slightly faster.

2017-06-18  Gavin Smith  <gavinsmith0123@gmail.com>

	* tp/Texinfo/Report.pm (gdt): Remove code dealing with a
	'translated_paragraph' argument.  Condense code dealing
	with subroutine arguments to a single line.

2017-06-18  Gavin Smith  <gavinsmith0123@gmail.com>

	* tp/Texinfo/Convert/Paragraph.pm: Remove check for UTF-8 locale 
	that runs "locale -a".
	xspara_init in tp/Texinfo/Convert/XSParagraph/xspara.c does its 
	own check which should be enough.

2017-06-18  Gavin Smith  <gavinsmith0123@gmail.com>

	* tp/Texinfo/MiscXS.pm: Remove check for UTF-8 locale, as
	"locale -a" can be slow to run (about 4.5 seconds on my computer 
	after disk caches are cleared), and tp/Texinfo/MiscXS/misc.c may
	not need it.  (Reverses change on 2017-03-12.)

2017-06-18  Gavin Smith  <gavinsmith0123@gmail.com>

	* pretest 6.3.92
	* configure.ac: Update version.

2017-06-18  Gavin Smith  <gavinsmith0123@gmail.com>

	* info/nodes.c (find_node_from_tag): Remove some unused 
	variables.

2017-06-08  Gavin Smith  <gavinsmith0123@gmail.com>

	* tp/Texinfo/Convert/XSParagraph/configure.ac,
	* tp/Texinfo/Convert/XSParagraph/Makefile.am,
	* tp/Texinfo/MiscXS/configure.ac,
	* tp/Texinfo/MiscXS/Makefile.am:
	Change name of conditional from HOST_IS_WINDOWS to 
	HOST_NEEDS_NO_UNDEFINED.  Suggestion from Ken Brown.

2017-06-07  Gavin Smith  <gavinsmith0123@gmail.com>

	* Texinfo/Convert/XSParagraph/configure.ac,
	* Texinfo/MiscXS/configure.ac: Check for cygwin when setting 
	HOST_IS_WINDOWS conditional.

2017-06-06  Gavin Smith  <gavinsmith0123@gmail.com>

	* tp/Texinfo/Convert/XSParagraph/configure.ac,
	* tp/Texinfo/MiscXS/configure.ac: Copy code for HOST_IS_WINDOWS
	Automake conditional from top-level configure.ac.

	* tp/Texinfo/MiscXS/Makefile.am,
	* tp/Texinfo/Convert/XSParagraph/Makefile.am: Only put 
	-no-undefined -lperl in AM_FLAGS on MS-Windows systems.
	Li Er reported that linking against libperl is not necessary,
	and it won't work if perl is not built with a shared libperl
	library.

2017-06-04  Gavin Smith  <gavinsmith0123@gmail.com>

	* doc/texinfo.tex
	(\dotheinsertindexentrybox, \dotheinsertentrybox)
	(\dotheinsertindexentryboxwithpenalty, \dotheinsertentryboxwithpenalty)
	(\insertindexentrybox, \insertentrybox)
	(\entryindexbox, \entrybox): Rename.

	(\dotheinsertentryboxwithpenalty): Simplify by not using 
	\aftergroup.  Move constant string definition outside of macro.
	Remove useless \long prefix from definition.

2017-06-04  Gavin Smith  <gavinsmith0123@gmail.com>

	* doc/texinfo.tex (\finishentry, \dotheinsertindexentrybox):
	Use a control sequence \dotheinsertindexentrybox instead of 
	calling \insertindexentrybox and \entrywidowpenalty.  Do not 
	open a new group and then use \entrywidowpenalty to close the 
	group, (\entrywidowpenalty could be \let either to \egroup or 
	our macro \indexwidowpenalty which itself closed the group), as 
	this requires the reader of the code to understand the 
	definition of \entrywidowpenalty to follow what is going on.  No 
	functional changes intended; this change is for clarity only.
	(\entrywidowpenalty, \indexwidowpenalty): Remove.
	(\dotheinsertindexentryboxwithpenalty): Code from 
	\indexwidowpenalty moved here.  This is one possible value
	for \dotheinsertindexentrybox.
	(\printindex): Use \dotheinsertindexentryboxwithpenalty for
	\dotheinsertindexentrybox.  Do not set a value for 
	\entrywidowpenalty.

	(\printindex, \indexinputprocessing): Split code that checks the 
	first token of the next line into a new macro.  This should 
	improve clarity.

2017-06-03  Gavin Smith  <gavinsmith0123@gmail.com>

	* info/info-utils.c (scan_reference_label): Save filename
	and nodename components of the label separately.
	(scan_node_contents): Move code dealing with xrefs ending in
	"::" into this function out of 'scan_reference_target'.  Do
	not call 'info_parse_node' to get the filename and nodename
	of the target from the 'label' field; use the data that was
	already saved in 'scan_reference_label' instead.  Add a comment
	about possibly ill-formed xrefs.

	This change is to simplify the code slightly, and shouldn't
	result in any significant functional changes.

2017-05-27  Gavin Smith  <gavinsmith0123@gmail.com>

	* info/info.c (info_short_help): Move right-hand column of 
	descriptions so that a word in an example in the left-hand 
	column doesn't line up with the edge of the right-hand column.

2017-05-27  Gavin Smith  <gavinsmith0123@gmail.com>

	* info/info.c (info_short_help): Change "options" to 
	"frequently-used options" and remove documentation of several 
	options: --dribble, --raw-escapes, --no-raw-escapes, --restore,
	--strict-node-location, --vi-keys, --debug.  (All of these are
	still documented in full in the manual.)  Only show one example
	of loading a manual for the Info program.  Reformat one example.
	Remove a blank line from the output.

	* info/t/help.sh: Update.

2017-05-24  Gavin Smith  <gavinsmith0123@gmail.com>

	* doc/texinfo.texi (@code): Fix grammar.  Change "variable such 
	as" to "variables, such as", and add commas around other uses of
	"such as".

2017-05-24  Gavin Smith  <gavinsmith0123@gmail.com>

	* doc/texinfo.texi (@emph @strong): Make output of example 
	Texinfo code consistent with the input, as was the case before
	2012-09-06.  Inconsistency reported by Matan Nassau.

2017-05-24  Gavin Smith  <gavinsmith0123@gmail.com>

	* info/session.c (tree_search_check_node) <no more matches>: Add
	the "Top" node to the window history, instead of using a
	menu entry in the current node (as the current node may not
	have a menu).  Otherwise, if a tree search was rooted at a node
	without a menu, 'active_menu' would be left with an invalid 
	value, leading to a crash if it was used again when the user did 
	a 'tree-search-next' command.  Report from Benno Schulenberg.

2017-05-21  Gavin Smith  <gavinsmith0123@gmail.com>

	* info/info.c (info_short_help): Remove full stops from the ends 
	of lines describing options.

2017-05-21  Gavin Smith  <gavinsmith0123@gmail.com>

	* info/session.c (info_xref_item): Give an error message if
	there are no cross-references in the node, to be consistent
	with 'menu-item'.  This happened in Texinfo 5.2 and earlier.
	Report from Benno Schulenberg.

2017-05-20  Gavin Smith  <gavinsmith0123@gmail.com>

	* doc/info-stnd.texi (Custom Key Bindings): Correct '\xr' to 
	'^xr'.  Report from Benno Schulenberg.

2017-05-20  Gavin Smith  <gavinsmith0123@gmail.com>

	* pretest 6.3.91.
	* configure.ac: Update version.

2017-05-20  Gavin Smith  <gavinsmith0123@gmail.com>

	* info/window.c (window_delete_window): Call 'free_matches' and 
	free 'search_string' field in order to avoid a memory leak.
	* info/t/close-window-after-search.sh: New test.

2017-05-20  Gavin Smith  <gavinsmith0123@gmail.com>

	* info/session.c (info_search_in_node_internal): Call
	free_matches even after a failing search in order to avoid a 
	memory leak.

2017-05-20  Gavin Smith  <gavinsmith0123@gmail.com>

	* NEWS (info): Add items about setting style variables and 
	--vi-keys.

2017-05-20  Gavin Smith  <gavinsmith0123@gmail.com>

	* info/infodoc.c (replace_in_documentation): Remove code
	setting variables whose value is no longer used anywhere.

2017-05-20  Gavin Smith  <gavinsmith0123@gmail.com>

	* NEWS (info): Add item about the handling of Info files
	with CR-LF line endings.

2017-05-20  Gavin Smith  <gavinsmith0123@gmail.com>

	* info/infodoc.c (replace_in_documentation): Use functions 
	operating on a struct text_buffer object to keep track of
	whether there is enough space in the output buffer.
	Benno Schulenberg reported that there would be an out-of-bounds
	write when a message reporting an index match was output if the
	binding of ',' had been changed away from 'next-index-match'.

2017-05-20  Gavin Smith  <gavinsmith0123@gmail.com>

	* info/infodoc.c (replace_in_documentation): Explicitly compare 
	a pointed-to character to the only character value it can be 
	equal to other than null, for clarity.  Move code near other 
	code that uses the same variables.  Change comment for a special
	case to make it easier to ignore, and move the default case 
	before the conditional for the special case.  No functional 
	changes.

2017-05-19  Gavin Smith  <gavinsmith0123@gmail.com>

	* info/infodoc.c (replace_in_documentation):
	Remove code to handle numbers before command name, like
	"\\[6next-line]" meaning "M-6 M-x next-line", as it is not used 
	anywhere, and this simplifies the code.

2017-05-18  Gavin Smith  <gavinsmith0123@gmail.com>

	* info/t/cr-tag-table.sh: Remove test.
	* info/t/inc-sea-bs-after-strip-cr: Remove test.

2017-05-18  Gavin Smith  <gavinsmith0123@gmail.com>

	* info/nodes.c, info/filesys.c (convert_eols): Function moved 
	between files.  Change arguments and modify text in place.  Do
	not realloc the buffer to make it smaller.
	* info/filesys.c (filesys_read_info_file)
	[__MSDOS__, __MINGW32__]: Call convert_eols and realloc buffer.
	This reinstates call that was removed on 2014-10-24, except now 
	it is MS-DOS/Windows only.

	* info/nodes.c (find_node_from_tag): Remove most of the code
	here that deals with conversion of end-of-lines, including
	code updating pointers to node contents in currently-displayed 
	windows.
	* info/nodes.c (adjust_nodestart): Do not take extra argument 
	giving the slack to search for a node.
	* info/nodes.h (N_EOLs_Converted): Remove.

	This reverses changes made on 2014-12-29.  Although there has 
	not been a report of any problems with this code, it is too 
	complicated and difficult to understand for what it achieves 
	(allow reading Info files whether CR bytes before LF bytes are 
	counted in the tag table or not).  It updates global data across 
	the program which could cause problems in the future if there 
	are changes elsewhere in the program.

2017-05-17  Gavin Smith  <gavinsmith0123@gmail.com>

	* tp/Texinfo/Parser.pm (_next_text):
	Do not strip \r from end of line.  This reverses the change
	on 2017-04-29.
	* tp/tests/test_scripts/coverage_formatting_cr.sh,
	* tp/tests/coverage (formatting_cr): Remove test.
	texi2any does not support CR LF line endings on GNU/Linux.
	* tp/tests/coverage/formatting_cr.texi: Removed.

2017-05-17  gettextize  <bug-gnu-gettext@gnu.org>

	* gnulib/m4/gettext.m4: New file, from gettext-0.19.8.
	* gnulib/m4/iconv.m4: Upgrade to gettext-0.19.8.
	* gnulib/m4/lib-ld.m4: Upgrade to gettext-0.19.8.
	* gnulib/m4/lib-link.m4: Upgrade to gettext-0.19.8.
	* gnulib/m4/lib-prefix.m4: Upgrade to gettext-0.19.8.
	* gnulib/m4/nls.m4: New file, from gettext-0.19.8.
	* gnulib/m4/po.m4: New file, from gettext-0.19.8.
	* gnulib/m4/progtest.m4: New file, from gettext-0.19.8.

2017-05-17  Gavin Smith  <gavinsmith0123@gmail.com>

	* gnulib: run gnulib-tool to import 'gettext-h' module instead
	of 'gettext' module, as the 'gettext' module is deprecated in 
	Gnulib. run gettexize again to put the files back.

2017-05-16  Gavin Smith  <gavinsmith0123@gmail.com>

	* doc/info-stnd.texi (Node Commands) <global-prev-node>: Change 
	'forward or down' to just 'forward'.

2017-05-16  Gavin Smith  <gavinsmith0123@gmail.com>

	* doc/info-stnd.texi (Node Commands) <goto-node>:
	Re-write, describing completion and selection of nodes in other 
	files separately.  The old text implied that you could select a 
	node in another file without using a filename if that file had 
	been loaded already in the current Info session.
	Benno Schuleberg noticed that the text contained the phrase
	"the Info file of the other file", which was wrong.

2017-05-15  Gavin Smith  <gavinsmith0123@gmail.com>

	* doc/info-stnd.texi (Node Commands) <global-next-node>: Change 
	'forward or down' to just 'forward'.  Explain that the menu is 
	checked before the Next pointer, rather than the other way 
	around as it incorrectly stated.  Benno Schulenberg reported 
	that this was documented to happen the wrong way around.  In 
	addition, correct description of what happens when neither a 
	menu or a Next pointer is present.

2017-05-15  Gavin Smith  <gavinsmith0123@gmail.com>

	* README-hacking: Mention to always run change_perl_modules.sh
	even if it is a pretest release, as this is needed now there is
	module version checking.

2017-05-15  Gavin Smith  <gavinsmith0123@gmail.com>

	* info/infomap.c (default_vi_like_info_keys),
	* doc/info-stnd.texi (Custom Key Bindings):
	Bind 'b' to 'scroll-backward-page-only' instead of 
	'scroll-backward' for consistency with f, C-f and C-b.

2017-05-14  Gavin Smith  <gavinsmith0123@gmail.com>

	* info/session.c (point_backwards_word): Remove unused variable.

2017-05-14  Gavin Smith  <gavinsmith0123@gmail.com>

	* info/session.c (info_down_line, info_up_line): Call
	_scroll_backward and _scroll_forward with argument so that it
	possible for scrolling to change node, depending on the value
	of 'scroll-behaviour'.
	(mouse_event_handler): Call _scroll_backward and _scroll_forward
	instead of info_down_line, info_up_line so that mouse scrollwheel
	scrolling continues to be confined to an single node.
	* NEWS: Mention that 'down-line' and 'up-line' are affected by
	the value of 'scroll-behaviour'.

2017-05-14  Gavin Smith  <gavinsmith0123@gmail.com>

	* doc/info-stnd.texi (infokey format): Add missing documentation 
	for 'C-x p' for 'prev-node' under --vi-keys.  Correct bindings
	of 'g' and 'G' to 'first-node' and 'last-node' respectively.
	* info/infomap.c (default_vi_like_info_keys): Re-add 'C-x n' for
	'next-node' (removed accidentally on 2014-06-10).

	Reports from Benno Schulenberg.

2017-05-13  Gavin Smith  <gavinsmith0123@gmail.com>

	* doc/texinfo.tex (\xrdef): Place a \gdef using a \csname
	within a group to avoid save stack build-up for long aux files.

2017-05-13  Gavin Smith  <gavinsmith0123@gmail.com>

	* info/indices.c (info_next_index_match): Remove full stop from 
	end of message.  (Missed on 2017-05-13.  Report from Benno 
	Schulenberg.)

2017-05-13  Gavin Smith  <gavinsmith0123@gmail.com>

	* info/sesson.c (point_backward_char): Change return type to int
	and return 0 on failure.  Make sure we always go backwards.
	(point_backward_word): Use point_backward_char to simplify code.

	This continues the fix of the bug of the point getting stuck
	at the start of a node (partially fixed on 2017-05-11).

2017-05-13  Gavin Smith  <gavinsmith0123@gmail.com>

	* doc/info-stnd.texi (Xref Commands, Parts of an Xref)
	(Selecting Xrefs): Change 'cross reference' to 'cross-reference'.

2017-05-13  Gavin Smith  <gavinsmith0123@gmail.com>

	* doc/info-stnd.texi (Variables) <scroll-last-node>: Remove full 
	stop from a quoted message.

2017-05-13  Gavin Smith  <gavinsmith0123@gmail.com>

	* info/window.c (calculate_line_starts, window_compute_line_map):
	Add a comment and cast return value of a function to void to 
	make it clear that the return value is being discarded.

2017-05-13  Gavin Smith  <gavinsmith0123@gmail.com>

	* info/indices.c (info_index_search, info_next_index_match),
	* info/indices.h (APROPOS_NONE),
	* info/info-utils.c (copy_converting),
	* info/info.c (get_initial_file, add_initial_nodes, init_messages),
	* info/infodoc.c (describe_key, info_where_is),
	* info/m-x.c (info_execute_command),
	* info/session.c
	(menu_digit, info_menu_or_ref_item, info_follow_menus)
	(forward_move_node_structure, backward_move_node_structure)
	(info_view_file, dump_nodes_to_file, info_print_node)
	(info_toggle_regexp, info_search_internal)
	(tree_search_check_node, tree_search_check_node_backwards)
	(wipe_seen_flags, dispatch_error): Remove full stop from end
	of messages given to the user.  Inconsistent use of full stops
	reported by Benno Schulenberg.

2017-05-12  Gavin Smith  <gavinsmith0123@gmail.com>

	* doc/info-stnd.texi (infokey format): Correct documentation of
	key binding for 'select-reference-this-line' command under --vi-keys.

2017-05-11  Gavin Smith  <gavinsmith0123@gmail.com>

	* info/session.c (point_forward_char): Make sure that we always 
	advance the position of the point on the display.  The point 
	could get stuck at the very start of a node if the 'nodeline' 
	variable was set to 'pointers'.  Report from Benno Schulenberg 
	on 2017-04-27.

2017-05-03  Jason Hood  <jadoxa@yahoo.com.au>

	Allow style variables to be described and set.
	(Patch originally submitted 2017-01-29 on bug-texinfo.)

	* info/variables.c (rendition_variable): Remove.
	(rendition_choices): New variable.
	(info_variables): Use rendition_choices for the style variables.
	(rendition_to_string): New variable.
	(describe_variable, set_variable, set_variable_to_value): 
	Special handling for style variables.

2017-05-02  Gavin Smith  <gavinsmith0123@gmail.com>

	* configure.ac: When checking for Perl XS support, set
	TEXINFO_XS environment variable in order to get more
	information printed (and also to negate any pre-existing
	definition for this variable).

2017-05-01  Eli Zaretskii  <eliz@gnu.org>

	* tp/Texinfo/MiscXS/misc.c (xs_unicode_text): Fix a typo in a
	comment.

2017-04-30  Eli Zaretskii  <eliz@gnu.org>

	* info/terminal.c [HAVE_TERMCAP_H]: Don't take this branch for
	MinGW, as some MinGW ports of ncurses install termcap.h in
	addition to ncurses/termcap.h.

	* tp/Texinfo/Convert/XSParagraph/xspara.c [_WIN32]: Include
	ctype.h, to work around MinGW compilation errors due to Gnulib
	replacement of wint_t type.
	(iswspace, iswupper) [_WIN32]: Rename to call w32_iswspace and
	w32_iswupper, to avoid conflicts with system headers, due to
	Gnulib replacement of wint_t type.
	(iswupper) [_WIN32]: Copy argument from wint_t variable to a
	wchar_t variable, which is what GetStringTypeW expects.

	* tp/Texinfo/MiscXS/misc.c [_WIN32]: Include ctype.h, to work
	around MinGW compilation errors due to Gnulib replacement of
	wint_t type.
	(xs_unicode_text): Use dTHX to avoid perl error about undefined
	"my_perl" due to Perl's 'malloc' being used.

2017-04-29  Gavin Smith  <gavinsmith0123@gmail.com>

	* tp/Texinfo/Parser.pm (_next_text): Strip \r from end of line.
	This produces changes in the results of the
	test_scripts/coverage_formatting_cr.sh test.  (Eli Zaretskii
	reported that the results of this test were different under 
	MinGW on MS-Windows.)

2017-04-29  Gavin Smith  <gavinsmith0123@gmail.com>

	* tp/Texinfo/Parser.pm (_parse_texi_regex),
	* tp/Texinfo/MiscXS/misc.c (xs_parse_texi_regex): Do not
	consider any whitespace other than space, tab or newline
	to be a possible Texinfo command.

2017-04-27  Gavin Smith  <gavinsmith0123@gmail.com>

	* info/session.c (tree_search_check_node)
	(tree_search_check_node_backwards): Adjust failure message 
	according to whether a search match was previously found.  
	Suggestion by Benno Schulenberg.

2017-04-27  Gavin Smith  <gavinsmith0123@gmail.com>

	* info/display.c (display_process_line): Avoid possibly
	dereferencing a null pointer.  This could happen if the 
	'match-rendition' value was set to an empty value in .infokey.
	Report by Benno Schulenberg.

2017-04-26  Benno Schulenberg  <bensberg@justemail.net>  (tiny change)

	* info/session.c (info_tree_search): Mark a message for 
	translation and add note for translators.

2017-04-26  Gavin Smith  <gavinsmith0123@gmail.com>

	* info/session.c (info_search_internal): Search starting node at 
	most twice in order to be able to find matches before starting 
	offset in starting node.  Otherwise searches do not wrap around 
	the first and last nodes in a file if all the matches are in a 
	single node.  Report from Benno Schulenberg.

2017-04-24  Gavin Smith  <gavinsmith0123@gmail.com>

	* util/tests/texi2dvi_empty_text.sh: Remove test, as it does not
	work if TeX is not installed.  Report by Assaf Gordon.

2017-04-23  Gavin Smith  <gavinsmith0123@gmail.com>

	* pretest 6.3.90.
	* configure.ac: Update version.  Add dist-xz to options.

2017-04-23  Gavin Smith  <gavinsmith0123@gmail.com>

	* texindex/ti.twjr,
	* info/info.c,
	* tp/texi2any.pl: Copyright 2017.

2017-04-23  Gavin Smith  <gavinsmith0123@gmail.com>

	* po/POTFILES.in: Remove info/tilde.c and add 
	tp/Texinfo/Convert/Text.pm.

2017-04-23  Gavin Smith  <gavinsmith0123@gmail.com>

	* doc/texinfo.texi (Macro Details): Mention possibility of 
	interchanging a macro and a conditional.

2017-04-23  Gavin Smith  <gavinsmith0123@gmail.com>

	* Makefile.am (po-check): Change parsetexi/ to tp/parsetexi.

2017-04-23  Gavin Smith  <gavinsmith0123@gmail.com>

	* tp/Texinfo/Parser.pm (_complete_indices): New function.
	* tp/Texinfo/Structuring.pm (do_index_keys): Move code from
	do_index_keys to _complete_indices to complete index entries for 
	@defop and similar, and also code to set the 'in_code' value for 
	index entries.
	* tp/Texinfo/Parser.pm (_parse_texi): Call it after parsing
	the whole input.
	* tp/Texinfo/Structuring.pm, tp/Texinfo/Parser.pm
	(_non_bracketed_contents): Move function to Parser.pm.

	* tp/texi2any.pl: Do not call do_index_keys.  This avoids a 
	duplicate error message for an empty index entry sort key.

2017-04-23  Gavin Smith  <gavinsmith0123@gmail.com>

	* tp/maintain/regenerate_cmd_tests.sh: In test scripts generated 
	in tp/tests/test_scripts directory, include a comment saying
	it is a generated file

2017-04-18  Gavin Smith  <gavinsmith0123@gmail.com>

	* tp/Texinfo/XSLoader.pm: Add more debugging messages.

2017-04-17  Gavin Smith  <gavinsmith0123@gmail.com>

	* doc/texinfo.texi (Inserting Quotation Marks): Include sort 
	keys for two index entries (< and <<).

2017-04-17  Gavin Smith  <gavinsmith0123@gmail.com>

	* Makefile.am, README-hacking: Remove mention of 'long-checks',
	as these don't exist anymore.

2017-04-17  Gavin Smith  <gavinsmith0123@gmail.com>

	* tp/Makefile.am: Correct the name of an included file in a 
	comment.

2017-04-16  Gavin Smith  <gavinsmith0123@gmail.com>

	* tp/maintain/regenerate_docstr.sh: Use Makefile in build 
	directory to build .gmo files.  Report from Hans Bernhard-Brker.

2017-04-15  Gavin Smith  <gavinsmith0123@gmail.com>

	* tp/Texinfo/MiscXS.pm: Call Texinfo::XSLoader::init with the
	real name of the package with the XS routines.

2017-04-15  Gavin Smith  <gavinsmith0123@gmail.com>

	* tp/Texinfo/Convert/Plaintext.pm,
	* tp/Texinfo/Parser.pm,
	* tp/Texinfo/Convert/Unicode.pm:
	Move calls to Texinfo::XSLoader::override to a custom 'import'
	method, wrapping the one from the Exporter module, instead of 
	occurring inside a UNITCHECK block.  This is to try to work
	on older versions of Perl where UNITCHECK didn't exist.

2017-04-14  Gavin Smith  <gavinsmith0123@gmail.com>

	* tp/Texinfo/Convert/XSParagraph: Run gnulib-tool --add-import.
	* (top-level): Run gnulib-tool --add-import.

2017-04-14  Gavin Smith  <gavinsmith0123@gmail.com>

	* po_document/LINGUAS: Add cs, da.

2017-04-14  Gavin Smith  <gavinsmith0123@gmail.com>

	* README-hacking: Update instructions for updating translation
	files.

2017-04-14  Gavin Smith  <gavinsmith0123@gmail.com>

	* configure.ac, README-hacking: Change instructions for
	upgrading gettext.

2017-04-14  Gavin Smith  <gavinsmith0123@gmail.com>

	* NEWS: Add news items.

2017-04-14  gettextize  <bug-gnu-gettext@gnu.org>

	* gnulib/m4/progtest.m4: Upgrade to gettext-0.19.8.
	* configure.ac (AM_GNU_GETTEXT_VERSION): Bump to 0.19.8.

2017-04-14  Gavin Smith  <gavinsmith0123@gmail.com>

	* doc/texinfo.tex (\enablebackslashhack, \fixbackslash):
	Revert to usual definitions after a line command parsed with
	\parsearg.  This led to an error when a @synindex command was
	used near the start of a file, reported by Mathieu Lirzin.

2017-04-14  Gavin Smith  <gavinsmith0123@gmail.com>

	* tp/Texinfo/Convert/HTML.pm (_convert_enumerate_command): 
	Handle case of labelling list entries with letters, using 'type' 
	and 'start' attributes on the <ol> tag.  This worked in the 
	makeinfo implementation from Texinfo 4.13 and earlier.  Report
	from Andreas Schwab.

2017-04-14  Gavin Smith  <gavinsmith0123@gmail.com>

	* tp/Texinfo/Convert/HTML.pm (_convert_enumerate_command):
	Check if the 'enumerate_specification' is defined, rather than
	true, as if the value is '0', this is considered to be false.
	Enumerated lists starting at 0 broken reported by Andreas Schwab.

2017-04-11  Gavin Smith  <gavinsmith0123@gmail.com>

	* info/session.c (match_in_match_list): Take a argument to say
	which direction to search in, instead of using the order of the
	start and end arguments.
	(info_search_in_node_internal): Update, and make sure that both
	the start and end of the search area are after the 'body_start'
	of the node.

2017-04-09  Gavin Smith  <gavinsmith0123@gmail.com>

	* info/search.c (match_in_match_list): Use helper functions
	at_end_of_matches and match_by_index.

2017-04-09  Gavin Smith  <gavinsmith0123@gmail.com>

	* info/session.c (info_search_in_node_internal): Always save
	the updated match state for a window.

2017-04-09  Gavin Smith  <gavinsmith0123@gmail.com>

	* info/search.c (match_in_match_list): Combine code for 
	searching backwards and forwards, and do not get all the matches 
	in the node if searching backwards.

2017-04-09  Gavin Smith  <gavinsmith0123@gmail.com>

	* info/t/file-index-colons.sh: New test of reading an index 
	entry with a colon.

2017-04-09  Gavin Smith  <gavinsmith0123@gmail.com>

	* info/display.c (display_update_one_window): Update modeline 
	before anything else.

2017-04-08  Gavin Smith  <gavinsmith0123@gmail.com>

	* info/info-utils.c (scan_reference_label): If inside an index 
	node, scan forward to the last colon on the line to get the
	index entry, instead of the first colon.

2017-04-01  Gavin Smith  <gavinsmith0123@gmail.com>

	* tp/Texinfo/Structuring.pm (do_index_keys): Strip '-', '\',
	'<', '@' if there has been @set txiindexhyphenignore,
	txiindexbackslashignore, txiindexlessthanignore,
	or txiindexatsignignore respectively.

2017-04-01  Gavin Smith  <gavinsmith0123@gmail.com>

	* tp/Texinfo/Parser.pm (%command_ignore_space_after): Add 
	'sortas', in order to ignore spaces after its argument.

2017-04-01  Gavin Smith  <gavinsmith0123@gmail.com>

	* tp/Texinfo/Parser.pm (_parse_texi) <@sortas>: Check if inside 
	index entry differently.

2017-04-01  Gavin Smith  <gavinsmith0123@gmail.com>

	* tp/t/09indices.t (explicit_sort_key): New test.

2017-04-01  Gavin Smith  <gavinsmith0123@gmail.com>

	* tp/Texinfo/Parser.pm (_parse_texi) <close brace, @sortas>: Set 
	'sortas' value on index entry element.
	(_enter_index_entry): Set 'sortas' value on index entry from 
	'extra' value on element.

	* tp/Texinfo/Structuring.pm (_do_index_keys): Check for 'sortas' 
	value on index entry and, if present, use that as the sort key 
	instead of using the text of the index entry.

	* tp/Texinfo/Parser.pm (%in_index_commands): New hash,
	containing 'sortas'.
	(_parse_line_command_args) <@defindex, @defcodeindex>: Use 
	%in_index_commands instead of %in_simple_text_commands for valid 
	nestings hash.
	(%no_command_cmds): Add 'sortas'.
	(%in_full_text_commands, %full_text_commands): Remove 'sortas'.

2017-03-25  Gavin Smith  <gavinsmith0123@gmail.com>

	* doc/texinfo-tex-test.texi (Test of index sort keys): New example.

2017-03-25  Gavin Smith  <gavinsmith0123@gmail.com>

	* doc/texinfo.tex (\smallbook, \smallerbook, \afourpaper)
	\afivepaper): Remove paper-size-specific values of \hfuzz.  Set 
	\hfuzz at top-level to 1pt.  Suggestion from Karl Berry.

2017-03-21  Gavin Smith  <gavinsmith0123@gmail.com>

	* info/search.c (at_end_of_matches): Avoid calling 
	'extend_matches' if not necessary.

2017-03-21  Gavin Smith  <gavinsmith0123@gmail.com>

	Implement lazy search match lists.

	* info/window.h (MATCH_STATE): Add 'regex' field of type regex_t.
	Add fields 'match_alloc', 'finished', 'buffer' and 'buflen'.
	* info/search.c (free_matches): Update for new fields.
	(regexp_search): Do not call regfree on regex_t variable; copy
	it to MATCH_STATE object instead.  Set new fields on MATCH_STATE.
	(extend_matches): New function, split out from regexp_search.
	(regexp_search, match_in_match_list, match_by_index)
	(at_end_of_matches): Call extend_matches as necessary.

2017-03-21  Gavin Smith  <gavinsmith0123@gmail.com>

	* info/search.c (copy_binding): Remove this function, which is
	not used much.  Remove comment before this function.
	* info/nodes.c (get_nodes_of_tags_table): Use struct assignment 
	to a local struct instead of copy_binding.

2017-03-21  Gavin Smith  <gavinsmith0123@gmail.com>

	Access list of search matches through accessor functions only.

	* info/window.h (MATCH_STATE): New struct type.
	(WINDOW): Use it for new field 'matches', replacing previous 
	'matches' and 'match_count' fields.

	* info/search.c (match_by_index, free_matches, matches_ready)
	(at_end_of_matches):
	New functions.
	* info/session.c (info_search_in_node_internal, put_node_in_window)
	(info_search_internal, info_clear_search, incremental_search),
	* info/window.c (window_set_node_of_window, tree_search_check_node),
	* info/display.c (display_process_line): Use them.

	* info/session.c, info/search.c (match_in_match_list): Move 
	function to search.c, and take MATCH_STATE argument.
	* info/search.c (regexp_search): Return result via a pointer to 
	a MATCH_STATE.

	* info/display.c, info/search.c (decide_if_in_match): Move to
	search.c.
	* info/display.c (matches): Variable is of type MATCH_STATE *.

	This opens the way to not calculating an entire list of matches
	in one go, which may take a long time if there are too many (thus
	leading to the need for the 'min-search-length' variable).

2017-03-19  Gavin Smith  <gavinsmith0123@gmail.com>

	* doc/texinfo.texi (HTML Customization Variable) <WORDS_IN_PAGE>:
	Add index entry "Navigation footer" to make this information 
	easier to find.

2017-03-19  Gavin Smith  <gavinsmith0123@gmail.com>

	* info/info.c: If not loading any nodes at all, and outputting
	an error message, exit with a non-zero status.

2017-03-19  Gavin Smith  <gavinsmith0123@gmail.com>

	* doc/info-stnd.texi (Invoking Info): Mention combination of 
	--all and --index-search.
	* NEWS: Mention this feature.

2017-03-19  Gavin Smith  <gavinsmith0123@gmail.com>

	* info/info.c (virtual_index_p): Remove variable.
	(long_options): Remove "--virtual-index".
	(main): Don't check for --virtual-index option.  Use the
	combination of --index-search and --all for this functionality.

2017-03-19  Gavin Smith  <gavinsmith0123@gmail.com>

	* tp/Texinfo/ModulePath.pm.in ($VERSION): Define variable.

2017-03-19  Gavin Smith  <gavinsmith0123@gmail.com>

	* tp/texi2any.pl: Compare version of this file and the version
	of loaded modules.  If they differ, abort.

2017-03-19  Gavin Smith  <gavinsmith0123@gmail.com>

	* tp: Run maintain/change_perl_modules.sh.

2017-03-12  Gavin Smith  <gavinsmith0123@gmail.com>

	* tp/Texinfo/MiscXS.pm: Check for UTF-8 locale, copied from
	tp/Texinfo/Convert/Paragraph.pm.
	* tp/Texinfo/XSLoader.pm (init): Allow argument with name of
	XS module to be undefined.

2017-03-12  Gavin Smith  <gavinsmith0123@gmail.com>

	* doc/info-stnd.texi (Cursor Commands): Move text out of 
	footnote into main text.
	(Searching Commands): Add a missing ')'.

2017-03-12  Gavin Smith  <gavinsmith0123@gmail.com>

	* NEWS: Update with news since last release.

2017-03-11  Gavin Smith  <gavinsmith0123@gmail.com>

	* doc/texinfo.texi (texi2any Environment Variables): New node.
	Document TEXINFO_XS.

2017-03-07  Gavin Smith  <gavinsmith0123@gmail.com>

	* doc/texinfo.tex (\begindoublecolumns): Reduce \vsize to
	account for what has appeared on the page so far.
	(\doublecolumnout): Do not subtract the height of what has
	appeared on the page so far before dividing \vsize in two.
	Add it back on again before exiting the output routine.
	(\enddoublecolumns): Restore \vsize from \txipageheight.

	This fixes a problem with the formatting when the index material 
	would not fit on the page after the partial page, but there was
	not enough of it to make the output routine (\doublecolumnout)
	fire before the output routine was changed to \balancecolumns.
	Hence \balancecolumns was caused to balance too much material 
	and would output a box that was too tall for the page.

2017-03-07  Gavin Smith  <gavinsmith0123@gmail.com>

	* doc/texinfo-tex-test.texi (Medium length index): New test
	of index formatting.

2017-03-06  Gavin Smith  <gavinsmith0123@gmail.com>

	* doc/texinfo.tex (\doublecolumnout, \balancecolumns):
	Use \PAGE instead of literal 255 for the box number.

2017-03-06  Masamichi Hosoda  <trueroad@trueroad.jp>

	* doc/texinfo-ja.tex: Fix error message for XeTeX.

2017-03-05  Mathieu Lirzin  <mthl@gnu.org>  (tiny change)

	* util/tests/texi2dvi_empty_text.sh: New test.
	* util/Makefile.am (AM_TESTS_ENVIRONMENT): Use 'texinfo.tex'
	from "$(top_srcdir)/doc".

2017-03-05  Gavin Smith  <gavinsmith0123@gmail.com>

	* doc/texinfo.tex (\internalpagesizes) <dvi output>: Output
	a \special setting the page size.  This has the effect that a
	completely empty page can be output if a document has nothing in
	it.  This changed on 2015-08-25 when index files were no longer 
	opened automatically.  This made a test in the Automake 
	distribution fail, reported by Mathieu Lirzin.

2017-03-04  Thien-Thi Nguyen  <ttn@gnu.org>  (tiny change)

	* doc/texinfo.texi (@noindent): Spell "@noindent" correctly.

2017-02-19  Gavin Smith  <gavinsmith0123@gmail.com>

	* info/infomap.c (default_vi_like_ea_keys): Add ESC as an
	abort key, and remove bindings ESC 1 ... ESC 9 that conflict
	with this.

2017-02-19  Gavin Smith  <gavinsmith0123@gmail.com>

	* info/infomap.c (default_vi_like_ea_keys): Interchange the 
	meanings of M-h and M-l to match line editing commands of GNU 
	Less.  (The former bindings appear to have been in place since 
	the beginning, so likely no-one has ever used them).
	* doc/info-stnd.texi (infokey format): Interchange M-h and M-l
	in sample infokey file.

2017-02-19  Gavin Smith  <gavinsmith0123@gmail.com>

	* doc/info-stnd.texi (Cursor Commands, Scrolling Commands)
	(Node Commands, Selecting Xrefs, Miscellaneous):
	Remove documentation of --vi-keys key bindings, except for
	M-1 ... M-9 as these can't be specified in .infokey.

2017-02-19  Gavin Smith  <gavinsmith0123@gmail.com>

	* doc/info-stnd.texi (infokey format): Document the --vi-keys 
	key bindings here.
	(Invoking Info) <--vi-keys>: Refer to 'infokey format' node.
	(Miscellaneous Commands) <get-info-help-node>: Don't say that
	info.texi is distributed with GNU Info.

2017-02-05  Gavin Smith  <gavinsmith0123@gmail.com>

	* info/session.c (forward_move_node_structure) 
	(backward_move_node_structure): Don't do anything for a man page.

2017-02-05  Gavin Smith  <gavinsmith0123@gmail.com>

	* info/tilde.c (tilde_expand): Delete function, as it is not 
	actually called anywhere.
	(tilde_additional_prefixes, tilde_additional_suffixes)
	(tilde_find_prefix, tilde_find_suffix): Remove.

2017-02-05  Gavin Smith  <gavinsmith0123@gmail.com>

	* info/tilde.c (tilde_additional_prefixes, tilde_additional_suffixes):
	Declare as static arrays, as they are not set anywhere else.

2017-02-05  Gavin Smith  <gavinsmith0123@gmail.com>

	* info/tilde.c (tilde_expansion_failure_hook): Remove unused 
	variable.
	(tilde_expand_word): Do not look at tilde_expansion_failure_hook.

2017-02-04  Gavin Smith  <gavinsmith0123@gmail.com>

	* info/tilde.c [TEST] (main, xmalloc, xrealloc): Remove.

2017-02-04  Gavin Smith  <gavinsmith0123@gmail.com>

	* info/echo-area.c (initialize_input_line): Don't consider
	possibility that the prompt argument is null.  This removes the
