GNU nano 2.5.3 - 2016.02.25

2016-02-25  Benno Schulenberg  <bensberg@justemail.net>
	* src/browser.c (do_browser): Plug a memory leak by not copying
	a string twice.  This fixes Savannah bug #47206.
	* src/browser.c (do_browser): Now put things in the proper order.
	* src/files.c (make_new_buffer), src/nano.c (splice_opennode): Elide
	the latter function, by handling the two cases (the creation of the
	first element, and the insertion of a new element) directly.

2016-02-23  Benno Schulenberg  <bensberg@justemail.net>
	* src/prompt.c (do_statusbar_output, do_statusbar_delete):
	Rename a variable, for contrast and correctness.
	* src/cut.c (do_copy_text): Don't move the cursor when copying a
	backwardly marked region.  This fixes Savannah bug #46980.
	* src/text.c (do_undo, do_redo): Center the cursor when the
	thing being undone or redone is currently off the screen.
	* src/{files,nano,winio}.c: Rewrap and reshuffle some lines.

2016-02-22  Chris Allegretta  <chrisa@asty.org>
	* Add the ability to kill the trailing spaces when justifying text,
	by adding a new nanorc option 'justifytrim' -- we'll see
	whether this warrants a command-line flag or not.  Now with slightly
	better logic for multi-spaced lines.

2016-02-22  Benno Schulenberg  <bensberg@justemail.net>
	* src/nano.c (free_openfilestruct): Elide this function.
	* scr/global.c (thanks_for_all_the_fish, free_list_item): Condense.
	* src/winio.c (edit_scroll): The amount to scroll is never zero.
	* src/prompt.c (do_statusbar_prev_word, do_statusbar_next_word),
	src/move.c (do_prev_word, do_next_word): Sort these in standard way.
	* src/prompt.c (do_statusbar_output): Don't move too many bytes.
	This fixes Savannah bug #47219 (uncovered by r5655).
	* src/prompt.c (do_statusbar_output): Elide a variable.
	* src/prompt.c (do_statusbar_delete): There is no need for nulling:
	the charmove() already copies the terminating null byte.
	* src/text.c (do_justify), src/winio.c (parse_escape_sequence):
	Show the cursor after a justification and after an unrecognized
	escape sequence, and in the edit window when linting.
	* src/text.c (do_linter): Use the correct column number, also when
	messages are skipped.  And don't mind zero or negative numbers.
	This is a partial fix for Savannah bug #47131.

2016-02-21  Benno Schulenberg  <bensberg@justemail.net>
	* src/files.c (input_tab): If the first Tab added the part that all
	matches have in common, don't require a third Tab to show the list.
	* scr/global.c (thanks_for_all_the_fish): Remove unneeded checks.

2016-02-20  Benno Schulenberg  <bensberg@justemail.net>
	* src/search.c (get_history_completion): Avoid leaking memory
	when tabbing on a string that does not occur in the history.
	This fixes Savannah bug #47124 reported by Mike Frysinger.
	* src/files.c (input_tab): Parse a character in the correct
	buffer.  This fixes Savannah bug #47199.
	* src/prompt.c (do_statusbar_output): Reduce an allocation to what
	is actually needed.  This undoes the papering-over of above bug.

2016-02-18  Benno Schulenberg  <bensberg@justemail.net>
	* src/search.c (do_replace_loop), src/text.c (do_int_spell_fix),
	src/winio.c (edit_refresh): Fix Savannah bug #47127 the proper way.
	* src/nano.c (free_filestruct): Allow the parameter to be NULL.
	* src/search.c (search_init): Delete a debugging leftover.

2016-02-16  Benno Schulenberg  <bensberg@justemail.net>
	* src/files.c (initialize_buffer_text): Delete redundant assignment.

2016-02-15  Benno Schulenberg  <bensberg@justemail.net>
	* src/files.c (read_file): Free not just the struct but also the
	data it contains, and also when it is the first and only line.
	This fixes Savannah bug #47153 reported by Mike Frysinger.
	* src/files.c (get_full_path): Avoid losing a buffer when getcwd()
	fails. 	This fixes Savannah bug #47129 reported by Mike Frysinger.

2016-02-14  Benno Schulenberg  <bensberg@justemail.net>
	* src/search.c (do_replace_loop): Make iterating through replacement
	matches behave again like iterating through search matches: showing
	them centered when found offscreen.  This fixes Savannah bug #47127.
	* src/text.c (do_int_spell_fix): Restore the above behavior also for
	the internal spell fixer.
	* src/prompt.c (do_statusbar_input, do_statusbar_verbatim_input,
	do_statusbar_output): Do the copying from input to output just once.
	* src/prompt.c (do_statusbar_output): Rename and condense some stuff,
	and correct the main comment: filtering means allow_cntrls==FALSE.
	* README, TODO, doc/man/{nano.1,rnano.1,nanorc.5}: Say that 2.5.x
	is a "rolling" release, lock files are done, and prepare for 2.5.3.

2016-02-13  Benno Schulenberg  <bensberg@justemail.net>
	* src/browser.c (do_browser, browser_refresh): Rebuild the file list
	only when necessary, not for each and every cursor movement.  This
	fixes Savannah bug #47133.
	* src/files.c (save_poshistory): Allocate enough space for printing
	out the line and column numbers.  This fixes Savannah bug #47135.
	* src/*.c: Switch the cursor on and off at the appropriate moments,
	so that it no longer shows in the help screen nor in the file list.
	This fixes Savannah bug #47126.

GNU nano 2.5.2 - 2016.02.12

2016-02-11  Benno Schulenberg  <bensberg@justemail.net>
	* src/text.c (do_linter): Go to the next item in the list before
	freeing the current one.  This fixes Savannah bug #46796.
	* src/text.c (do_formatter): Don't leave curses mode, as that would
	hide any error messages upon reentry.  And if there are any messages,
	allow the user a little time to read them.
	* src/text.c (do_linter, do_formatter): Condense some declarations,
	rewrap some lines, and improve a few comments.
	* doc/syntax/go.nanorc: Make the formatter command more visible.

2016-02-10  Benno Schulenberg  <bensberg@justemail.net>
	* src/text.c (discard_until): Prevent a chain of editing actions from
	continuing after a discard.  This fixes Savannah bug #47104.
	* src/files.c (get_full_path): Plug a sneaky memory leak.  This fixes
	Savannah bug #47003 reported and solved by Mike Frysinger.
	* src/rcfile.c (parse_binding): Allow only control sequences in the
	proper range to be rebound.  This fixes Savannah bug #47025.
	* THANKS: Add a Spanish, a Catalan, and a Croat translator.
	* AUTHORS, THANKS: Remove SVN Id tags and a duplication.
	* src/winio.c (get_kbinput), src/nano.c (main): Switch the cursor on
	in the right place: in the central input routine.
	* src/files.c (load_poshistory): Free any records that are dropped.
	This fixes Savannah bug #47111 reported by Mike Frysinger.

2016-02-09  Benno Schulenberg  <bensberg@justemail.net>
	* src/files.c (stat_with_alloc, open_buffer, write_file): Check the
	result of a stat() to avoid referencing unitialized data.  Original
	patch was by Kamil Dudka.
	* doc/man/{nano.1,rnano.1,nanorc.5}: Adjust version for release.

2016-02-07  Benno Schulenberg  <bensberg@justemail.net>
	* src/files.c (update_poshistory): Don't put files in the history list
	when they have the default cursor position (line 1, column 1).
	* src/files.c (write_file): Avoid a pointless lstat() when not writing
	to a temp file, and in the bargain elide two variables.
	* src/files.c (write_file): Elide an unneeded 'if'.
	* doc/syntax/c.nanorc: Use a character class instead of a literal tab
	and space.  The change was inspired by David Niklas.
	* src/prompt.c (do_yesno_prompt): Normalize the indentation.
	* src/prompt.c (do_yesno_prompt): Rename a variable.

2016-02-06  Benno Schulenberg  <bensberg@justemail.net>
	* src/files.c (write_file): Remove the --nofollow option that hasn't
	been working for a dozen years.
	* src/winio.c (statusbar): Update the screen immediately whenever a
	message has been posted on the status bar.
	* src/winio.c (statusbar), src/nano.c (do_input): Turn the cursor off
	when writing in the status bar, and on when waiting for	input.
	* src/prompt.c (update_the_statusbar): Chop two parameters that are
	always the same, and that are global variables anyway.
	* src/prompt.c (update_bar_if_needed): Rename this for more contrast.
	* src/prompt.c (do_statusbar_backspace): Avoid updating the bar twice.
	* src/cut.c, src/files.c, src/prompt.c: Rewrap some lines and remove
	some useless comments.

2016-02-05  Benno Schulenberg  <bensberg@justemail.net>
	* doc/texinfo/nano.texi: Condense the descriptions of command-key
	sequences and of the screen layout, mention how to enter Unicode,
	and mention that regular expressions are line oriented.
	* src/global.c (shortcut_init): Put four strings in standard order.
	* src/text.c (do_undo), src/global.c (shortcut_init): Guide the
	translators a little bit.

2016-01-31  Benno Schulenberg  <bensberg@justemail.net>
	* src/files.c (has_valid_path): Be more specific in how a given path
	is invalid.  The change was improved by Rishabh Dave.
	* doc/syntax/nanorc.nanorc: Show ^^ and M-^ as valid key names.
	* src/prompt.c (do_statusbar_home): Make Home go always fully home.

2016-01-29  Benno Schulenberg  <bensberg@justemail.net>
	* src/files.c (do_insertfile): Do display the buffer when configured
	with only --disable-histories.  This fixes Savannah bug #47011.
	* src/nano.c (main): Check position history only when 'positionlog'
	is set.  This fixes a bug unconsciously reported by Mike Frysinger.
	* src/files.c (do_lockfile): Plug a couple of memory leaks.
	* src/files.c (update_poshistory): Plug another memory leak.
	* src/files.c (close_buffer): Update position history only when
	the option 'positionlog' is set.

2016-01-26  Benno Schulenberg  <bensberg@justemail.net>
	* src/files.c (update_poshistory): Do not add directories to the
	list of file positions.  This fixes Savannah bug #46971.
	* src/*.c: Adjust some indentation and some line wrapping.
	* src/prompt.c (do_statusbar_prev_word): When in the middle of a
	word, jump to the start of the current word, not to the start of
	the preceding one.  This fixes Savannah bug #46970.
	* src/prompt.c (do_statusbar_next_word): Use simpler algorithm.

2016-01-25  Benno Schulenberg  <bensberg@justemail.net>
	* src/files.c (update_poshistory): Handle an update of the first
	element correctly.
	* doc/texinfo/nano.texi: Document the --enable-altrcname option.
	The lack of this was pointed out by Frank.
	* doc/man/nano.1, doc/man/nanorc.5, doc/texinfo/nano.texi: Mention
	that the position history is limited to the 200 most recent files.

2016-01-24  Benno Schulenberg  <bensberg@justemail.net>
	* src/files.c (update_poshistory): Move an updated item to the end
	of the list, so that it won't be dropped any time soon.  The problem
	was pointed out by David Niklas.
	* src/winio.c (edit_redraw): Condense by removing a triplication.
	* src/prompt.c (do_statusbar_prev_word, do_statusbar_next_word):
	Chop an always-FALSE parameter and delete an unused return value.
	* src/prompt.c (do_prompt): Remove a superfluous free.
	* src/prompt.c (update_the_bar): Bundle some statements.
	* src/prompt.c (need_statusbar_update): Elide this function.
	* src/prompt.c (total_statusbar_refresh): Elide this function too.

2016-01-22  Benno Schulenberg  <bensberg@justemail.net>
	* src/utils.c (get_homedir): Don't use $HOME when we're root, because
	some sudos don't filter it out of the environment (which can lead to
	a root-owned .nano/ directory in the invoking user's home directory).
	It fixes https://bugs.launchpad.net/ubuntu/+source/nano/+bug/1471459.
	* src/files.c (read_line): Rename a variable for clarity and contrast.

2016-01-21  Benno Schulenberg  <bensberg@justemail.net>
	* src/prompt.c (get_prompt_string): Preserve the cursor position on
	the statusbar when just toggling a setting or making an excursion to
	the file browser.  This fixes Savannah bug #46945.
	* src/prompt.c (do_prompt_abort): Remove this unneeded function, as
	nothing can break out of do_prompt(), not a SIGWINCH either.
	* src/prompt.c (get_prompt_string): Delete code that is dead now.
	* src/prompt.c (get_prompt_string): Elide an unneeded variable.
	* src/browser.c (do_browser): Delete unneeded blanking of a variable.

2016-01-20  Benno Schulenberg  <bensberg@justemail.net>
	* src/files.c (open_buffer): Readjust the indentation and a comment.
	* src/files.c (has_valid_path): Get rid of a global variable.

2016-01-20  Rishabh Dave  <rishabhddave@gmail.com>
	* src/files.c (verify_path, open_buffer): When opening a new buffer,
	verify that the containing directory of the given filename exists.
	This fixes Savannah bug #44950.
	* src/files.c (do_lockfile): Remove the existence check on the
	directory, as this is now covered by verify_path().

2016-01-17  Benno Schulenberg  <bensberg@justemail.net>
	* src/global.c: Fix typo in #ifndef symbol.  Reported by Frank.
	* doc/syntax/nanorc.nanorc: Remove '+' as only one menu is allowed.
	* src/files.c (load_poshistory): Limit the number of loaded items.

2016-01-17  Mike Frysinger  <vapier@gentoo.org>
	* doc/syntax/nanorc.nanorc: Allow inline comments with key bindings.

2016-01-15  Benno Schulenberg  <bensberg@justemail.net>
	* src/winio.c (set_modified): Plug another memory leak.
	* src/files.c (set_modified): Move this function to its habitat.
	* src/files.c (open_file): Return the fantastic file descriptor
	when the opening of a non-existent file for reading succeeds.
	* src/nano.c (delete_opennode), src/text.c (discard_until):
	Free the items on the undo stack when a buffer is closed.
	This fixes Savannah bug #46904 reported by Mike Frysinger.

2016-01-15  Mike Frysinger  <vapier@gentoo.org>
	* src/files.c (open_file): Free the full filename in all cases.

2016-01-14  Benno Schulenberg  <bensberg@justemail.net>
	* doc/nanorc.sample.in: Remove a reference to an obsolete file.
	Reported by Mike Frysinger.
	* src/winio.c (edit_redraw): Delete an 'if' that is always FALSE.
	* src/winio.c (edit_redraw): Elide an unneeded variable and adjust
	some wrappings and whitespace.
	* src/proto.h: Delete two duplicate declarations.
	* src/rcfile.c (check_bad_binding): Elide this unneeded function.
	* src/rcfile.c (parse_binding): Show key only when it was rebound.

2016-01-13  Benno Schulenberg  <bensberg@justemail.net>
	* src/files.c (save_poshistory): Reduce the indentation.
	* src/*.c: Adjust a few comments and rewrap some lines.

2016-01-12  Benno Schulenberg  <bensberg@justemail.net>
	* NEWS: Fix some typos and whitespace, and normalize the dates.
	* src/files.c (load_poshistory): Rename a variable.
	* src/files.c (load_poshistory): Remove some code duplication.
	* src/files.c (save_poshistory, update_poshistory, check_poshistory,
	load_poshistory): Differentiate variable name from function names.
	* src/files.c (load_poshistory): Remove a senseless iteration.
	* src/files.c (load_poshistory): Condense the reading of a line.
	* src/files.c (load_poshistory): Reduce the indentation.

GNU nano 2.5.1 - 2016.01.11

2016-01-10  Benno Schulenberg  <bensberg@justemail.net>
	* NEWS: Add item for upcoming 2.5.1.
	* src/nano.c (version), src/winio.c (do_credits), doc/man/rnano.1,
	doc/man/nano.1, doc/man/nanorc.5: Adjust dates and version number.

2016-01-09  Benno Schulenberg  <bensberg@justemail.net>
	* src/color.c (precalc_multicolorinfo), src/winio.c (edit_draw):
	Make sure to keep advancing also when matches are zero-length.
	This fixes Savannah bug #26977 reported by Tigrmesh.
	* src/winio.c (update_line): For softwrap, don't go beyond the number
	of available rows in the edit window.  This fixes Savannah bug #42188.
	* ChangeLog: Snip inconsistent blank lines.

2016-01-07  Benno Schulenberg  <bensberg@justemail.net>
	* src/global.c (assign_keyinfo): Delete two unneeded #ifdefs: if
	they /could/ be false, the H and E keys would stop working.
	* src/global.c (assign_keyinfo): Add a comment and use a symbol.

2016-01-04  Benno Schulenberg  <bensberg@justemail.net>
	* src/global.c (shortcut_init): Nowadays the functions are defined
	only once, so there is no longer any need to free existing ones.
	* src/global.c (sctofunc): Rewrite the loop, and constify the input.
	* src/text.c (do_linter): Condense the exit code.
	* src/nano.c (allow_sigwinch): Improve its name and its comments.
	* src/global.c (shortcut_init): Add "Tab" as key description.
	* src/text.c (do_linter): Gettextize a forgotten string.
	* src/global.c (assign_keyinfo): Make "Tab" produce the appropriate
	keycode.  This fixes Savannah bug #46812 reported by Cody A. Taylor.

2016-01-04  Mike Frysinger  <vapier@gentoo.org>
	* src/global.c (strtosc, strtomenu): Constify the input parameter.

2016-01-03  Benno Schulenberg  <bensberg@justemail.net>
	* src/text.c (do_deletion), src/nano.c (do_input): Let reset_multis()
	figure out whether after a deletion a full refresh is needed, before
	doing a redraw of the current line.  This fixes Savannah bug #46794.
	* src/nano.c (do_output): Let reset_multis() figure out whether after
	an addition a full refresh is needed (for multiline-regexes' sake),
	instead of doing it always.
	* src/color.c (reset_multis): Abort when having no multiline regexes.
	* src/nano.c (do_input): A functionless shortcut should be impossible.
	* src/nano.c (do_input): Adjust indentation.

2016-01-02  Benno Schulenberg  <bensberg@justemail.net>
	* src/text.c (do_spell, do_formatter): Plug three tiny memory leaks.
	* src/text.c (do_alt_speller, do_formatter): There is no need here to
	reinitialize the windows; it will be done when polling the keybuffer.
	* src/winio.c (do_credits): Correctly restore the settings of NO_HELP
	and MORE_SPACE.

2015-12-31  Benno Schulenberg  <bensberg@justemail.net>
	* src/text.c (do_formatter): Restore the cursor position differently.
	* src/search.c (do_gotopos): Delete this now unused function.
	* src/search.c (do_gotolinecolumn): Chop an always-FALSE parameter.
	* src/search.c (do_gotolinecolumn): Chop a duplicate parameter --
	'allow_update' always has the same value as 'interactive'.

2015-12-30  Benno Schulenberg  <bensberg@justemail.net>
	* src/nano.c (main), src/files.c (open_buffer): Don't try to position
	the cursor when opening a buffer failed (because the user specified a
	directory, for example).  This fixes Savannah bug #46778.
	* doc/syntax/ocaml.nanorc: Normalize the comments.

2015-12-29  Benno Schulenberg  <bensberg@justemail.net>
	* doc/syntax/{c,objc,asm}.nanorc: Disable the regex for multiline
	strings as it colours some things wrong and is a glutton on time.

2015-12-23  Benno Schulenberg  <bensberg@justemail.net>
	* src/files.c (do_writeout, do_writeout_void), src/global.c
	(shortcut_init, strtosc), src/nano.c (do_exit, close_and_go),
	doc/man/nanorc.5, doc/texinfo/nano.texi: In the writeout menu,
	offer ^Q to close and discard the buffer without saving it.  By
	default, the key is bound only when --tempfile is in effect.
	* doc/man/nanorc.5: Improve ordering of bindable functions.
	* src/files.c (read_file): Don't open an extra blank buffer when
	an empty file is read.  Bug was exposed by r5498, December 18.
	* src/files.c (do_writeout): When the user decides to save the
	buffer after all, go back to the filename prompt because the
	buffer may not have a name yet.  This fixes Savannah bug #46752.

2015-12-23  Mike Frysinger  <vapier@gentoo.org>
	* doc/syntax/autoconf.nanorc: Handle .m4 files too, add the "elif"
	keyword, handle dnl comments better, and mark trailing whitespace.
	* src/files.c (save_history, save_poshistory): Don't make the user
	hit Enter when there's an error saving history state at exit; it is
	pointless and annoying.  Just notify the user and move on.
	* src/nano.c (main): On most 64-bit systems, casting a pointer to
	an integer can cause valid pointers to be truncated and rejected.
	Rework the code to test for the two invalid values directly.

2015-12-23  Christian Weisgerber  <naddy@mips.inka.de>
	* configure.ac: AC_CHECK_HEADERS_ONCE() is very special and cannot be
	conditionalized.  Use plain AC_CHECK_HEADERS() instead, to not check
	for magic.h and zlib.h when configuring with --disable-libmagic.

2015-12-22  Benno Schulenberg  <bensberg@justemail.net>
	* src/color.c (precalc_multicolorinfo, alloc_multidata_if_needed):
	Move these two functions to the file where they belong.  And make
	the checking for an impatient user into a separate routine.
	* src/proto.h, src/winio.c (parse_escape_sequence, convert_sequence,
	arrow_from_abcd): Better names for these three functions.
	* src/winio.c (convert_sequence): Use return instead of a variable.

2015-12-20  Benno Schulenberg  <bensberg@justemail.net>
	* src/files.c (display_buffer), src/nano.c (main): Precalculate the
	multiline-regex cache data for each buffer, not just for the first.
	This fixes Savannah bug #46511.

2015-12-18  Benno Schulenberg  <bensberg@justemail.net>
	* src/color.c (color_init): Use less #ifdefs, and adjust indentation.
	* src/color.c (set_colorpairs): Improve comments and rename vars.
	* src/files.c (read_line): Chop a superfluous bool -- 'prevnode' being
	NULL is enough indication that the first line is being read.
	* src/files.c (switch_to_prevnext_buffer): Tweak comment and var name.

2015-12-11  Benno Schulenberg  <bensberg@justemail.net>
	* doc/syntax/Makefile.am: Add missing autoconf and nftables syntaxes.
	* ChangeLog: Correct a bug number, plus a few other tweaks.

2015-12-08  Benno Schulenberg  <bensberg@justemail.net>
	* src/nano.c (splice_node, unlink_node): Let these functions update
	'filebot', instead of doing it in four different places each.
	* src/search.c (goto_line_posx), src/move.c (do_down): It should not
	be necessary to doubly check for being at the end of file.
	* src/text.c (do_justify): Rewrap and reorder a few lines.

2015-12-07  Benno Schulenberg  <bensberg@justemail.net>
	* src/winio.c (edit_draw): Quit the loop when there is no end match.
	* src/files.c (do_writeout): When --tempfile is given, make ^O not
	write out the file rightaway, as otherwise there is no way to discard
	the edits.  This undoes the core part of r5378 of September 29.  See
	https://lists.gnu.org/archive/html/help-nano/2015-11/msg00005.html.

GNU nano 2.5.0 - 2015.12.05

2015-12-05  Chris Allegretta  <chrisa@asty.org>
	* src/nano.c (main): key_defined() is an ncurses-ism.  Add better
	checks for this.

2015-12-05  Benno Schulenberg  <bensberg@justemail.net>
	* src/text.c: Fix compilation with --enable-tiny --enable-justify.
	* doc/man/{nano.1,rnano.1,nanorc.5}, doc/texinfo/nano.texi:
	Update date and version number to match the upcoming release.
	* src/files.c, src/winio.c: Avoid two compilation warnings.

2015-12-04  Benno Schulenberg  <bensberg@justemail.net>
	* src/proto.h: Avoid a compilation warning.
	* src/color.c (reset_multis_for_id, reset_multis_before/after):
	Fuse these three functions into a single one.
	* src/*.c: Rewrap some lines and tweak some comments.

2015-12-03  Benno Schulenberg  <bensberg@justemail.net>
	* src/text.c (discard_until): Move the trimming of the undo stack
	into a separate function, so it can be used elsewhere.
	* src/text.c (do_justify): Discard the entire undo stack, to prevent
	nano from dying (or making mistakes) when trying to undo edits after
	a justification.  This works around Savannah bug #45531.
	* src/text.c (do_indent): Also here discard the entire undo stack, to
	prevent nano from making mistakes when trying to undo edits after an
	indentation change.  This works around Savannah bug #46591.
	* doc/man/nano.1, doc/texinfo/nano.texi: Add a note about undo not
	working after a justification or reindentation.

2015-12-02  Benno Schulenberg  <bensberg@justemail.net>
	* doc/syntax/python.nanorc: Don't colour triple quotes by themselves.
	* doc/syntax/python.nanorc: Treat backslashed quotes properly, and
	don't colour triple-quoted strings in two manners.
	* src/text.c (do_justify): Accept not just the Uncut keystroke but
	also the Undo keystroke for undoing a justification.

2015-12-02  Arturo Borrero González  <arturo.borrero.glez@gmail.com>
	* doc/syntax/nftables.nanorc: New file; syntax colouring for nftables.
	This addresses Debian bug #805288.

2015-12-01  Benno Schulenberg  <bensberg@justemail.net>
	* src/files.c (do_insertfile): Mark the buffer as mofified only when
	actually something was inserted.  This fixes Savannah bug #45409.
	* src/files.c (do_insertfile): Rename two variables for clarity.
	* src/text.c (redo_cut): Delete two redundant assignments.
	* src/winio.c (edit_draw): Move a check to a better place.
	* src/winio.c (edit_draw): Rename a label and elide an 'else'.
	* src/winio.c (edit_draw): Unindent after previous change.
	* src/color.c (reset_multis_before, reset_multis_after): Delete four
	superfluous checks.

2015-11-30  Benno Schulenberg  <bensberg@justemail.net>
	* src/text.c (redo_cut, update_undo): When cutting reaches the EOF,
	and NONEWLINES is set, there is no next line at which to put the
	cutting point for a redo.  So put it at the very end of the cut.
	This fixes Savannah bug #46541.
	* src/text.c (add_undo, update_undo, do_undo, do_redo), src/nano.h:
	Store and retrieve the correct file size before and after an action.
	This fixes Savannah bug #45523.
	* src/files.c (free_chararray): Allow the parameter to be NULL.
	This fixes Savannah bug #46420.

2015-11-29  Benno Schulenberg  <bensberg@justemail.net>
	* src/color.c (reset_multis): Evaluate correctly whether to reset
	the multidata cache.  This fixes Savannah bug #46543.
	* src/color.c (reset_multis): Reset the multidata a bit less often.
	* src/color.c (reset_multis): Adjust whitespace and comments.
	* src/winio.c (edit_draw): When an end is found but nothing is painted
	(because the coloured part is horizontally scrolled off), nevertheless
	set the multidata to CBEGINBEFORE.  This fixes Savannah bug #46545.
	* src/winio.c (edit_draw): Use the main cache-allocation routine.
	* src/winio.c (edit_draw): Delete two redundant conditions, and move
	the least frequent case to the end.
	* src/winio.c (edit_draw): Elide a variable, tweak some comments.

2015-11-28  Benno Schulenberg  <bensberg@justemail.net>
	* src/nano.c (main): Allow the user full control over the values of
	MALLOC_CHECK_ and MALLOC_PERTURB_; nano shouldn't override these.
	This reverts r5344 from August 6.
	* src/nano.c (alloc_multidata_if_needed): When allocating a new
	multidata array, initialize the array.  Problem was betrayed by
	using MALLOC_PERTURB_, and was located with valgrind.

2015-11-26  Benno Schulenberg  <bensberg@justemail.net>
	* src/text.c (do_redo): Not just the undoing, also the redoing of a
	Backspace at EOF is a special case.  This fixes Savannah bug #46532.
	* src/text.c (do_redo): Warn about an impossible condition, instead
	of blithely continuing.  And elide an unneeded variable.

2015-11-25  Benno Schulenberg  <bensberg@justemail.net>
	* src/nano.c (do_output): Refreshing the whole edit window (instead
	of just the current line) is not needed for any kind of syntax, but
	only when there are multiline regexes.  And check for this not on
	every keystroke in a burst, but just once.
	* src/text.c (do_undo): Warn about a condition that should never
	occur, instead of silently continuing.
	* src/text.c (do_undo): Elide an unneeded variable, and don't skip
	the end of this function when things went wrong.
	* src/text.c (do_undo, do_redo, add_undo, update_undo): Handle more
	possible internal errors, and do it correctly.
	* AUTHORS: Add Mark and myself.

2015-11-24  Benno Schulenberg  <bensberg@justemail.net>
	* doc/syntax/makefile.nanorc: Also recognize the extensions .make and
	.mk as Makefiles.  Suggested by Emmanuel Bourg in Debian bug #804845.
	* src/color.c (color_update): Tell the user when a syntax name given
	on the command line does not exist.  This fixes Savannah bug #46503.
	* src/nano.c (splice_node): Inserting a new node into a linked list
	requires just two parameters: the insertion point and the new node.
	* src/nano.c (splice_node): Rename a variable for clarity.

2015-11-23  Benno Schulenberg  <bensberg@justemail.net>
	* src/nano.c (main), src/winio.c (parse_kbinput): Make Ctrl+Left and
	Ctrl+Right work on more terminals by asking ncurses for the keycodes.
	This addresses Debian bug #800681 reported by Arturo Borrero González.

2015-11-22  Benno Schulenberg  <bensberg@justemail.net>
	* src/text.c (add_undo): Delete a condition that will never occur --
	this function is only ever called with PASTE when cutbuffer != NULL.
	* src/text.c: Rewrap, rewrite, rename, and reorder some things.
	* src/text.c (do_undo, do_redo): Elide an unneeded variable.
	* src/nano.c (unlink_node): After unlinking, also delete the node.

2015-11-21  Benno Schulenberg  <bensberg@justemail.net>
	* src/nano.c (main): Let the value of a --fill option on the
	command	line override the value of a "set fill" in an rcfile.
	This fixes Savannah bug #46492.
	* ChangeLog, NEWS: Add the release marker and copy the news item.

2015-11-21  David Lawrence Ramsey  <pooka109@gmail.com>
	* ChangeLog, NEWS: Fix a typo and adjust some spacing.

GNU nano 2.4.3 - 2015.11.18

2015-11-12  Benno Schulenberg  <bensberg@justemail.net>
	* src/text.c (do_undo, update_undo): Store the correct end position of
	an inserted file, and use it when undoing.  Fixes Savannah bug #46414.
	* src/text.c (add_undo, update_undo): Delete an unneeded alias -- it
	wasn't being used consistently anyway.

2015-11-11  Benno Schulenberg  <bensberg@justemail.net>
	* src/text.c (do_redo, update_undo): Redo an Enter from the stored
	undo data, instead of running do_enter() again, because the latter
	will behave differently depending on the setting of autoindent.
	This addresses Debian bug #793053 reported by Clancy.
	* src/text.c (do_enter): Chop the now unused parameter 'undoing'.
	* src/text.c (do_enter_void): Discard this now useless function.

2015-11-10  Benno Schulenberg  <bensberg@justemail.net>
	* src/winio.c (edit_draw): Skip a zero-length match only when there
	/is/ a match.  Found with valgrind.  This fixes Savannah bug #41908.
	* src/files.c (do_lockfile, update_poshistory): Plug memory leaks.

2015-11-08  Benno Schulenberg  <bensberg@justemail.net>
	* src/global.c (shortcut_init): Allow exiting from the file browser
	with the same key (^T) as it was entered (as ^G for the help viewer).
	* doc/syntax/changelog.nanorc: Accept longer bug and patch numbers.

2015-11-07  Benno Schulenberg  <bensberg@justemail.net>
	* src/search.c (do_replace_loop): Correct the logic for adjusting the
	x position of the mark -- it happened to work because 'mark_begin' is
	NULL when 'old_mark_set' is FALSE.  Also improve the comments.

2015-11-06  Benno Schulenberg  <bensberg@justemail.net>
	* src/files.c (write_lockfile): Don't bail out when the hostname is
	overlong, but instead truncate it properly and continue.  This fixes
	Ubuntu bug #1509081 reported by Sam Reed.
	* src/global.c (length_of_list), src/winio.c(get_mouseinput): Don't
	check whether a function has a help line, since all of them have.
	(And even if some didn't, they would still be valid functions.)
	* src/cut.c (cut_line): There is no need to set 'openfile->mark_begin'
	just like that; it will be set when 'openfile->mark_set' becomes TRUE.
	* src/text.c (do_redo): Delete a redundant assignment.

2015-11-02  Benno Schulenberg  <bensberg@justemail.net>
	* src/nano.h: Delete an unused type definition.
	* src/nano.h: Improve several comments.
	* src/text.c (do_wrap): Elide two variables.
	* src/cut.c (do_cut_text): Chop the 'undoing' parameter, so that the
	calls of this function become more symmetrical.

2015-10-31  Benno Schulenberg  <bensberg@justemail.net>
	* src/nano.c (copy_from_filestruct): When pasting while the mark is
	on, the mark's pointer needs to be refreshed only when it is on the
	same line as the cursor, and the mark's x coordinate only when the
	mark is located after the cursor.  This fixes Savannah bug #46347.
	* src/nano.c (copy_from_filestruct): Improve comments and combine
	two conditions.
	* ChangeLog: Correct the description of an old change.

2015-10-29  Benno Schulenberg  <bensberg@justemail.net>
	* src/text.c (add_undo): Only skip adding an undo when the current
	action equals the last action.  This condition is needed for when
	typing text is broken by an undo+redo.  Fixes Savannah bug #46323.
	* src/text.c (do_redo): Check for "nothing to redo" earlier, so we
	can restore the possible warning about an internal error.
	* src/text.c (add_undo): Remove an 'if' that will never be true,
	and remove some assignments that have already been done.

2015-10-29  David Lawrence Ramsey  <pooka109@gmail.com>
	* src/files.c (do_writeout), src/nano.c (no_current_file_name_warning,
	do_exit): When option -t is given, make ^O work the same way as under
	Pico, writing out the file without prompting.  And make it work even
	better than Pico when the current file doesn't have a name yet.  This
	fixes Savannah bug #45415.  [Reverted in r5489 on December 7.]

2015-10-28  Benno Schulenberg  <bensberg@justemail.net>
	* src/text.c (do_redo): For an INSERT, 'u->mark_begin_lineno' is not
	an actual line number, so spoof it.  It can be spoofed, because 'f'
	is not used for the INSERT case.  This fixes Savannah bug #45524.
	* src/text.c (do_redo): Remove a condition that can never occur.
	Also rewrite a loop to become somewhat clearer.

2015-10-27  Benno Schulenberg  <bensberg@justemail.net>
	* src/move.c (do_next_word): Rewrite this function to use the same
	logic as do_prev_word(), reducing its number of lines to half.
	* src/move.c (do_down): Don't calculate the line length twice.  And
	in the bargain avoid a warning about comparison of signed/unsigned.

2015-09-05  Benno Schulenberg  <bensberg@justemail.net>
	* src/winio.c (display_string, edit_draw): Force a redraw of a line
	only when it contains a multicolumn character, to spare all regular
	text this significant slowdown.  This fixes Savannah bug #45684
	reported by Wyatt Ward.
	* src/move.c (do_prev_word): Drop a return value that is never used.
	* src/move.c (do_prev_word): When in the middle of a word, jump to
	its beginning instead of to the beginning of the preceding word.
	Nano now matches the behaviour of Pico and of most other editors.
	This fixes Savannah bug #45413.

2015-09-04  Benno Schulenberg  <bensberg@justemail.net>
	* src/chars.c: Reverting r5354 from August 12.  This fixes Savannah
	bug #45874.  Apparently there is /some/ state somewhere after all.

2015-08-29  Benno Schulenberg  <bensberg@justemail.net>
	* doc/syntax/autoconf.nanorc: New file; syntax colouring for Autoconf.
	* src/files.c: Rewrap some lines and tweak two comments.

2015-08-16  Benno Schulenberg  <bensberg@justemail.net>
	* src/help.c (help_init, help_line_len): Avoid wide paragraphs of text
	in the help screens: wrap them at 74 columns if the screen is wider.
	* src/help.c (help_init): Reduce the scope of a variable.
	* src/help.c: Adjust some comments and whitespace.
	* src/help.c (do_help, do_help_void): Don't bother passing a function
	when it's used only once.
	* src/help.c (help_line_len): The wrap location can be beyond the EOL,
	so for determining the length of the current line, don't start at that
	location but at the beginning.  This fixes Savannah bug #45770.
	* src/help.c (help_line_len): Rename and reorder most of it.
	* src/nano.c (make_new_opennode), src/files.c (initialize_buffer):
	Remove some duplication in the initialization of a new openfile node.
	* src/nano.c (make_new_opennode): Don't bother setting things to NULL
	when they will be initialized right away.
	* src/files.c (make_new_buffer): Don't bother with a separate function
	when it's used only once, right there.
	* src/help.c (help_init): Since the new SIGWINCH handling, a resizing
	of the window will no longer break out of the help viewer, so there is
	no need any more for an extra freeing of the help text.

2015-08-13  Benno Schulenberg  <bensberg@justemail.net>
	* src/search.c (do_find_bracket): Remove mistaken comparison between
	pointer and literal character.  Found with cppcheck.
	* src/browser.c (browser_init): Speed up the finding of the longest
	filename: don't limit the value to that of COLS all the time, as this
	is done later anyway, and don't bother skipping the dot entry.
	* src/global.c (shortcut_init): In restricted mode, allow changing
	the file format, but actually disable Appending, Prepending, making
	Backups, and opening the File Browser.

2015-08-12  Benno Schulenberg  <bensberg@justemail.net>
	* src/chars.c: UTF-8 is a stateless encoding, so there is no need to
	reset any state.  [Reverted in r5369 on September 4.]

2015-08-11  Benno Schulenberg  <bensberg@justemail.net>
	* src/files.c (write_file): Avoid calling copy_file() with a null
	pointer.  Found with cppcheck.
	* src/files.c (write_file): A failure to delete the temporary file
	does not mean that it wasn't copied properly.

2015-08-09  Benno Schulenberg  <bensberg@justemail.net>
	* src/global.c, src/help.c (help_init), src/nano.c (do_toggle, main),
	src/winio.c (display_string, statusbar): Allow toggling the display
	of whitespace also when support for nanorc files was not built in,
	because the default values are quite usable.
	* src/files.c (read_file), src/rcfile.c, src/nano.c (main, usage):
	Fix compilation with --enable-tiny; file formats are not available
	then, so option --unix has no place; also add its description.
	* src/nano.c (finish): Remove an unneeded and mistaken condition.
	* src/nano.c (say_there_is_no_help): Make it sound more definitive.

2015-08-08  Benno Schulenberg  <bensberg@justemail.net>
	* src/winio.c (display_string): For some reason the reallocation done
	by null_at() messes things up.  So put in the null byte "manually".
	This is a fix -- or workaround -- for Savannah bug #45718.

2015-08-06  Benno Schulenberg  <bensberg@justemail.net>
	* src/nano.c (main): For --enable-debug builds, let malloc() help
	to find initialization failures and uses-after-free.  Suggested by
	Mike Frysinger.  [Reverted in r5446 on November 28.]
	* doc/texinfo/nano.texi: Improve the formatting, using @t to mark
	double-quoted literal strings, @: to mark periods that do not end
	sentences, and @. to mark a finishing period after a capital.

2015-08-04  Benno Schulenberg  <bensberg@justemail.net>
	* src/nano.c (main), src/files.c (read_file), src/rcfile.c,
	doc/man/nano.1, doc/man/nanorc.5, doc/texinfo/nano.texi: Add
	the option --unix, to save a file by default in Unix format.
	* doc/nanorc.sample.in: Advertise the five new bindable functions.
	* doc/man/nano.1, doc/man/nanorc.5, doc/texinfo/nano.texi: Tweaks.

2015-08-03  Benno Schulenberg  <bensberg@justemail.net>
	* src/rcfile.c (parse_binding): Check the value of shortcut->toggle
	only if it actually is a toggle.  Found with valgrind.
	* src/files.c (write_lockfile): Plug a leak.  Found with valgrind.
	* src/rcfile.c (parse_binding): Plug a tiny leak.

2015-08-02  Benno Schulenberg  <bensberg@justemail.net>
	* src/files.c (initialize_buffer): Initialize also openfile->syntax.
	This addresses Debian bug #787914 reported by Paul Wise.

2015-08-01  Benno Schulenberg  <bensberg@justemail.net>
	* src/nano.c (precalc_multicolorinfo): Set each multiline-color
	value instead of OR-ing it.  This fixes Savannah bug #45640.
	* src/help.c (help_init): Show also the dedicated keys in the
	^G help text.  This helps to clarify some keys, and helps to
	see which ones could easily be rebound.
	* src/nano.c (usage): Add "and exit" to the description of --help,
	to match --version, and to distinguish it more from ^G.

2015-07-31  Benno Schulenberg  <bensberg@justemail.net>
	* src/text.c (do_cutword, do_cut_prev_word, do_cut_next_word),
	src/global.c (shortcut_init, strtosc), doc/texinfo/nano.texi,
	doc/man/nanorc.5: Add two new bindable functions, 'cutwordleft'
	and 'cutwordright', which delete all characters from the cursor
	to the preceding or succeeding word start.  Fixes bug #32803.

2015-07-30  Benno Schulenberg  <bensberg@justemail.net>
	* src/global.c (shortcut_init): Don't show ^R and ^T in the help
	lines in restricted mode (if possible), to give visual feedback.
	* src/*.c: Normalize the whitespace after the preceding changes.
	* src/nano.c (show_restricted_warning, say_there_is_no_help):
	Differentiate between something being disabled/restricted (because
	of the way of invocation) and help texts being unavailable (which
	is a compile-time decision).
	* src/global.c (shortcut_init): Change "Justify" to a tag and regroup.
	* src/nano.c (do_suspend_void, do_suspend): Provide feedback when
	suspension is not enabled; and it cannot be enabled in restricted
	mode any longer, so there is no need to check for that any more.

2015-07-29  Benno Schulenberg  <bensberg@justemail.net>
	* src/text.c (do_linter): When the linter is called in restricted mode
	(possible when nano was built with --disable-speller), it is better to
	say that this function is disabled than that no linter was defined.
	* src/nano.c (usage): When asking for --help in restricted mode, don't
	show options that don't have any effect.
	* src/nano.c (do_toggle): Make the four toggles that don't have any
	effect in restricted mode say that they're disabled.

2015-07-28  Benno Schulenberg  <bensberg@justemail.net>
	* src/text.c (do_formatter), src/nano.c (allow_pending_sigwinch):
	Reenable SIGWINCH-es also when invoking the formatter fails, and
	correct some comments.
	* src/text.c (do_linter, do_formatter): In restricted mode, no nanorc
	files are read, so no linter or formatter will be defined, so these
	routines will never be called.  Also, the formatter will only ever
	be called when a syntax applies to the current file and this syntax
	defines a formatter, so there is no need to check this again.

2015-07-26  Benno Schulenberg  <bensberg@justemail.net>
	* src/search.c (do_replace_loop): When doing regex replacements, find
	each zero-length match only once.  This fixes Savannah bug #45626.
	* src/global.c (shortcut_init, strtosc), src/search.c (do_findnext,
	do_findprevious), doc/man/nanorc.5, doc/texinfo/nano.texi: Add two
	new bindable functions, 'findnext' and 'findprevious', which repeat
	the last search command in a fixed direction without prompting.
	* src/global.c (shortcut_init): Tweak a string.
	* src/search.c, src/move.c: Improve a few of the comments.
	* src/search.c (replace_regexp, replace_line): Rename two variables,
	and make the calculation of the new line size more symmetrical.

2015-07-25  Benno Schulenberg  <bensberg@justemail.net>
	* src/global.c (shortcut_init, strtosc), src/files.c (savefile),
	doc/man/nanorc.5, doc/texinfo/nano.texi: Add a new bindable function,
	'savefile', which writes a file to disk without first asking for its
	name.  This implements Savannah patch #8208 submitted by Seiya Nuta.

2015-07-23  Benno Schulenberg  <bensberg@justemail.net>
	* doc/man/{nano.1,nanorc.5}, doc/texinfo/nano.texi: Add deprecation
	notices for the options 'set const', 'set poslog' and '--poslog'.
	Suggested by Eitan Adler.
	* doc/faq.html: Mention --disable-histories and --disable-libmagic.
	* src/chars.c (mbstrcasestr, mbrevstrcasestr): When searching, find
	only valid UTF-8 byte sequences.  This fixes Savannah bug #45579,
	first reported in 2009 by Mike Frysinger.

2015-07-22  Mike Frysinger  <vapier@gentoo.org>
	* src/files.c (check_dotnano), src/global.c (thanks_for_all_the_fish),
	src/rcfile.c (parse_binding): Plug a few memory leaks.

2015-07-19  Benno Schulenberg  <bensberg@justemail.net>
	* src/nano.c (main): Accept again a +LINE argument for each file
	given on the command line.  This fixes Savannah bug #45576.
	* src/nano.c (main): Adjust some comments and rewrap some lines.

2015-07-18  Benno Schulenberg  <bensberg@justemail.net>
	* src/winio.c (edit_draw): When looking for multiline-regex matches,
	look for a new start only after an end, instead of right after the
	last start.  This fixes bug #45525 and bug #41313 on Savannah.
	* src/nano.c, src/text.c, src/winio.c: Adjust some comments.
	* doc/faq.html: Fix a few typos and make some updates for 2.4.*.
	* ChangeLog: Make the release markers stand out more.

2015-07-17  Benno Schulenberg  <bensberg@justemail.net>
	* src/files.c (open_buffer): Verify that a named and existing file
	is a normal file, to avoid opening an empty buffer when the name of
	a directory is specified.  This fixes Savannah bug #45383 reported
	by Mike Frysinger, and also Savannah bug #27839 (which is an echo
	from Debian bug #551717 reported by Paul Wise).
	* src/files.c (load_history): Remove an earlier attempt to make M-W
	work at startup.  It no longer worked because the assigned value gets
	overwritten by a later initialization of 'last_search' to the empty
	string.  Found through the use of valgrind.
	* src/text.c (do_alt_speller): Avoid an unfounded warning about a
	possibly uninitialized variable.

2015-07-17  Mike Frysinger  <vapier@gentoo.org>
	* src/browser.c (browser_refresh): Use the proper type (off_t) for
	the size of a file, and avoid warnings about too large bit shifts.

2015-07-15  Benno Schulenberg  <bensberg@justemail.net>
	* src/nano.c, src/rcfile.c, doc/nanorc.sample.in, doc/man/nano.1,
	doc/man/nanorc.5, doc/texinfo/nano.texi, doc/syntax/nanorc.nanorc:
	Unabbreviate the long option --const to --constantshow, and --poslog
	to --positionlog, to be more understandable.
	* src/nano.h, src/global.c (add_to_sclist), src/help.c (help_init),
	src/rcfile.c (parse_binding), src/winio.c (get_shortcut): Rename
	the 'menu' item in the sc (shortcut) struct to 'menus', as it can
	refer to more than one menu.

2015-07-13  Benno Schulenberg  <bensberg@justemail.net>
	* src/text.c (do_int_spell_fix, do_alt_speller): Remove an unneeded
	condition; 'added_magicline' can only be true when NO_NEWLINES isn't.
	* src/files.c (replace_buffer): Prevent a segfault when spellchecking
	a marked region and nonewlines isn't set.

2015-07-12  Benno Schulenberg  <bensberg@justemail.net>
	* src/text.c (do_alt_speller): Rename the variable 'totsize_save'
	to 'size_of_surrounding', to better describe what it contains.
	* src/files.c (read_file): Remove a stray space from a message.

2015-07-10  Benno Schulenberg  <bensberg@justemail.net>
	* src/nano.c (delete_opennode): Plug a small memory leak.
	* src/files.c (do_lockfile): Rename a variable; it does not contain
	the size of the file but the size of the name.
	* src/nano.c (do_toggle): Elide an unneeded variable.
	* src/files.c: Unwrap some lines and rewrap some others in a more
	congenial manner; tweak some comments and whitespace and braces.
	* src/files.c (read_line): Remove two lines of dead code.
	* src/files.c (read_line): Rearrange a few lines and some whitespace.

2015-07-06  Benno Schulenberg  <bensberg@justemail.net>
	* src/global.c (add_to_sclist), src/help.c (help_init), src/nano.h,
	src/rcfile.c (parse_binding): When defining the toggles, give each
	of them a sequence number, so that, when they are rebound, they can
	still be listed in the original order in the help text.  This fixes
	Savannah bug #45417.
	* src/text.c (do_undo): Make it clearer what WAS_FINAL_BACKSPACE does.
	* src/text.c (add_undo, do_deletion): Move the check for a Delete at
	the end-of-file to a less frequently travelled path.
	* src/text.c (do_deletion): If a Backspace happens at the end-of-file,
	don't remove and then re-add the magic line; just add an undo item.
	* src/help.c (help_init), src/text.c (do_undo): Adjust whitespace and
	bracing after the previous changes.

GNU nano 2.4.2 - 2015.07.05

2015-06-28  Benno Schulenberg  <bensberg@justemail.net>
	* src/browser.c (browser_refresh): Limit the selected file to the
	available ones in the list -- after a refresh the number may have
	decreased.  This fixes Savannah bug #45424.
	* src/text.c (do_deletion): There is no need to check again for the
	line ending -- it was done already in the encompassing 'if'.
	* src/text.c: Unwrap some lines, rewrap some others more logically,
	plus several other esthetic tweaks.
	* doc/syntax/xml.nanorc: Recognize many more kinds of XML files.
	This addresses Debian bug #790017 reported by Emmanuel Bourg.
	Also colour the strings in tags differently, and add some comments.

2015-06-27  Benno Schulenberg  <bensberg@justemail.net>
	* src/text.c (do_undo, add_undo): Skip undoing a backspace *only* when
	it really tried to delete the final, magic newline.
	* src/nano.h, src/text.c: Rename three flags for clarity.
	* src/files.c (replace_buffer): This function is only ever called with
	a temporary file as parameter, so forget the case of an empty filename.
	Also, don't bother putting the pointer at the top of the buffer, as the
	first action after this function is to restore the cursor position.
	* src/files.c: Normalize whitespace and comments.
	* src/nano.h: Remove obsolete execute flag from the shortcut struct.
	* src/global.c (shortcut_init): Remove a duplicate binding of ^T, to
	prevent it being shown twice in the ^G help text.  It will be rebound
	dynamically when for the current syntax another function is available.

2015-06-23  Benno Schulenberg  <bensberg@justemail.net>
	* src/winio.c (edit_draw): Verify that there exists multidata for the
	found starting line before trying to use it.  When a file is inserted
	(^R), it will not have any precalculated multidata associated with it.
	This fixes Savannah bug #45377 reported by Cody A. Taylor.

2015-06-20  Benno Schulenberg  <bensberg@justemail.net>
	* src/search.c (do_research): If nothing was searched for yet during
	this run of nano, take the most recent item from the search history.
	This makes M-W work also right after startup, like <n> in vim/less.
	* src/utils.c (get_homedir): Keep homedir NULL when no home directory
	could be determined, so that nano will show a message about it.  This
	is a fix for Savannah bug #45343.
	* doc/syntax/nanorc.nanorc: Colour key-binding lines affirmatively
	only when the specified menu name is an existing one.
	* doc/syntax/changelog.nanorc: Stop the changed-files colour from
	spilling beyond a blank line.  Also highlight releases.
	* src/nano.c (main), src/rcfile.c: Remove the obsolete long option
	--undo.  And sort --help and the softwrap option more consistently.

2015-06-18  Benno Schulenberg  <bensberg@justemail.net>
	* src/rcfile.c: Allow a tiny nano's ~/.nanorc to enable search and
	position histories.  Also sort the options more strictly.
	* src/nano.h: Delete two unused things, and add two comments.

2015-06-17  Benno Schulenberg  <bensberg@justemail.net>
	* src/text.c (do_undo, add_undo): When undoing a Backspace at the tail
	of the file and nonewlines is not set, then don't add another newline
	but just reposition the cursor.  Also, when doing a Delete at the tail
	of the file, don't add a superfluous undo structure.  This prevents
	the appearance of an extra newline when undoing the Backspace/Delete.
	Patch partially by Mark Majeres.  The problem was first reported in
	https://lists.gnu.org/archive/html/nano-devel/2015-06/msg00003.html.
	* src/text.c (do_undo): Adjust whitespace after the previous change.
	* src/text.c (add_undo): Elide an unneeded variable and correct two
	comments.  And try to put the more frequent condition first.
	* src/text.c (add_undo): Rename the parameter 'current_action' to
	'action', to match the other functions.
	* src/text.c (do_undo, add_undo, update_undo): Improve the visibility
	of the undo-related debugging messages.

2015-06-14  Benno Schulenberg  <bensberg@justemail.net>
	* src/winio.c (edit_draw): Add some debugging code to track which
	multidata codes (for multiline regexes) get assigned to which lines.
	* src/winio.c (edit_draw): Start and end regexes can be very similar;
	so if a found start has been qualified as an end earlier, believe it
	and skip to the next step.  This helps with Python's docstrings.
	* src/winio.c (edit_draw): When the whole line has been coloured,
	don't bother looking for any more starts.  This prevents some lines
	from being erroneously marked as CENDAFTER instead of CWHOLELINE.
	* src/*.c: Don't check for non-NULL before freeing; it's unneeded.

2015-06-11  Benno Schulenberg  <bensberg@justemail.net>
	* src/winio.c (get_key_buffer): Add some debugging code to make it
	easy to see what codes a key stroke produces.

2015-06-07  Benno Schulenberg  <bensberg@justemail.net>
	* doc/texinfo/nano.texi: Show the node with the command-line options
	in the main menu, to make it easy to find.
	* doc/texinfo/nano.texi: Improve some formatting, hyphenation, wording
	and dashes.  And remove some confusing, historical things.
	* doc/man/nano.1, doc/man/nanorc.5, doc/texinfo/nano.texi: Clarify the
	meaning of --backupdir: it doesn't just specify a directory for saving
	backup files, it mainly causes uniquely numbered backups to be made.
	* doc/man/nano.1: Add a section on the non-obvious functioning of the
	cutbuffer and the mark.

2015-06-04  Benno Schulenberg  <bensberg@justemail.net>
	* src/nano.h: Fix compilation with --enable-tiny.
	* nano.spec.in: Add the post-install and pre-uninstall rules for the
	Info document, plus some tweaks.  (Patch was tested by Kamil Dudka.)

2015-06-02  Benno Schulenberg  <bensberg@justemail.net>
	* doc/man/nanorc.5, doc/texinfo/nano.texi: Tweak some wordings, and
	add some missing formatting to the Info document, and fix an mdash.
	* doc/syntax/debian.nanorc: Colour also an optional option.
	This addresses Debian bug #664456 reported by Shawn Landden.
	Also shorten the name of the syntax to "sources.list".
	* doc/syntax/python.nanorc: Require again that the triple quote	that
	starts a docstring is followed by some character -- it is better to
	*not* colour some strings than far too often colour far too much.
	This addresses Debian bug #785508 reported by Alexandre Detiste.

2015-05-31  Mahyar Abbaspour  <mahyar.abaspour@gmail.com>
