nano

nano with my custom patches
git clone git://bsandro.tech/nano
Log | Files | Refs | README | LICENSE

commit 5b9683cd641bce23b57fdfd4df67d9bbf67571fc
parent 7c1dfea59ebd36b0d0b9e543df0d54ed8e9ccb55
Author: Benno Schulenberg <bensberg@justemail.net>
Date:   Wed,  4 Jan 2017 16:01:50 +0100

docs: rename the Changelogs to indicate which periods they cover

Diffstat:
DChangeLog | 4007-------------------------------------------------------------------------------
RChangeLog.pre-2.1 -> ChangeLog.1999-2006 | 0
AChangeLog.2007-2015 | 4010+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 4010 insertions(+), 4007 deletions(-)

diff --git a/ChangeLog b/ChangeLog @@ -1,4007 +0,0 @@ -2016-03-31 Benno Schulenberg <bensberg@justemail.net> - * src/text.c (do_int_spell_fix): Replace a fake 'while', delete a - redundant 'if', rename a variable, and adjust whitespace. - -2016-03-30 Benno Schulenberg <bensberg@justemail.net> - * src/search.c (do_replace_loop, go_looking, findnextstr): Report - "Cancelled" instead of "Not found" when the user aborts a replace - that is taking too long. This fixes Savannah bug #47439. - * src/winio.c (do_replace_highlight): Rename this to 'spotlight', - for clarity, and for contrast with 'do_replace/do_replace_loop'. - * src/winio.c (spotlight): Rename a variable for clarity. - * src/files.c (input_tab), src/prompt.c (get_prompt_string): - Rename a variable to better indicate booleanness. - * src/text.c (do_int_speller): Unwrap a few lines. - -2016-03-29 Benno Schulenberg <bensberg@justemail.net> - * src/nano.c (main), src/text.c (do_justify, do_verbatim_input), - src/winio.c (parse_escape_sequence): Place the cursor in the edit - window also when --constantshow is in effect, after a ^J Justify or - an invalid escape sequence, and when entering a verbatim keystroke. - Leave the cursor off during Unicode input, for extra feedback. - * src/browser.c (do_browser): Improve the wording of a message. - * src/chars.c (is_valid_unicode): Speed up Unicode validation. - * src/text.c (do_int_spell_fix): Allow to stop replacing a word - without aborting the entire spell-fixing session. - * src/search.c (do_replace_loop): Chop a now-unused parameter. - -2016-03-28 Benno Schulenberg <bensberg@justemail.net> - * src/winio.c (statusbar): Don't bother putting back the cursor in - the edit window, as it is off anyway, and will be placed back in the - main loop. This prevents a segfault when trying to open a directory. - * src/search.c (findnextstr): Provide feedback when searching takes - longer than roughly half a second (on average). - * src/*.c: Remove the 'last_replace' variable that is never used. - * src/winio.c (parse_kbinput): Delete a no-op. - -2016-03-23 Benno Schulenberg <bensberg@justemail.net> - * src/search.c (findnextstr): Prevent the internal spell checker from - finding the first occurrence twice. And delete the piece of dead code - that was meant to do this. This fixes Savannah bug #47188. - * src/search.c (findnextstr): Clean up and rename a variable. - * src/search.c (findnextstr): Poll the keyboard once per second. - * src/winio.c (reset_cursor): Remove a pointless condition, and make - use of an existing intermediary variable. - * src/winio.c (reset_cursor): Tidy up and rename a variable. - * src/winio.c (onekey): Elide an unneeded 'if' and unneeded variable. - -2016-03-22 Thomas Rosenau <thomasr@fantasymail.de> - * configure.ac, src/*.c: Check for the existence of the REG_ENHANCED - regex flag, and use it when it's available (on OS X systems). This - completes the fix for Savannah bug #47325. - -2016-03-21 Benno Schulenberg <bensberg@justemail.net> - * src/browser.c (findnextfile): Trim a duplicate variable. - * src/browser.c (browser_refresh, findnextfile): Rename four vars. - -2016-03-20 Benno Schulenberg <bensberg@justemail.net> - * src/files.c (do_writeout), src/nano.c (do_exit): Normalize the - punctuation in some prompts: no space before a question mark, and - a semicolon instead of a comma between phrases. - * src/text.c (do_cutword): Don't put cut words into the cutbuffer -- - that is: treat the deletion of words like pressing Backspace/Delete. - * src/search.c (get_history_completion, find_history): Cycle through - the items from newest to oldest. This fixes Savannah bug #47205. - * src/files.c (do_writeout): When the name of the file was changed, - always ask whether this is okay. This fixes Savannah bug #46894. - * src/search.c (do_research): Use 'return' instead of 'else'. - * src/search.c (do_search): Don't bother setting 'answer'; just use - 'last_search', which has been set to 'answer' in search_init(). - * src/search.c (go_looking): Factor out the common part of - do_search() and do_research() into this new function. - -2016-03-19 Benno Schulenberg <bensberg@justemail.net> - * src/search.c (search_init): Always remember the last typed string, - also when it's an invalid regex. This fixes Savannah bug #47440. - * src/search.c (search_init, do_replace): Don't bother setting the - current answer to the empty string, as do_prompt() can handle a NULL. - * src/browser.c (do_browser): Delete a snippet of dead code. - * src/browser.c (do_browser): Delete an unneeded variable. - * src/search.c (do_gotolinecolumn): Delete another unneeded variable. - * src/search.c (search_init): Snip an always-FALSE condition. - * src/search.c (search_init): Reshuffle stuff to reduce indentation. - * src/search.c (do_replace): Snip a useless setting of answer. - -2016-03-17 Benno Schulenberg <bensberg@justemail.net> - * src/search.c (do_research): Use the Search key bindings also during - a Re-search, to enable cancelling. This fixes Savannah bug #47159. - * src/search.c (do_replace): Remove two redundant returns. - * src/search.c (findnextstr): Prune two #ifdefs. - * src/search.c: Adjust some indentation. - -2016-03-14 Benno Schulenberg <bensberg@justemail.net> - * src/color.c (color_update): Don't dereference a possible NULL. - * src/rcfile.c (parse_colors): Make error message equal to others. - * src/rcfile.c (parse_rcfile): Rearrange some things to reduce the - indentation level by four steps, so we can unwrap a dozen lines. - -2016-03-13 Benno Schulenberg <bensberg@justemail.net> - * src/search.c (regexp_init): Allow using the word boundary markers - \< and \> in search strings on non-GNU systems. This is a partial - fix for Savannah bug #47325 reported by Thomas Rosenau. - * src/rcfile.c (parse_rcfile, parse_colors, nregcomp): Combine the - regular-expression flags at compile time instead of at run time. - * src/rcfile.c (parse_syntax, parse_colors): Rename a variable. - * src/winio.c (edit_draw): Give a central variable a ringing name. - -2016-03-13 Thomas Rosenau <thomasr@fantasymail.de> (tiny change) - * autogen.sh, README.SVN: Mention SVN instead of CVS. - -2016-03-12 Benno Schulenberg <bensberg@justemail.net> - * src/color.c (color_update): Set the syntax and regex pointers - just once, in a single place. And unnest two 'if's. - * src/rcfile.c (parse_one_include, parse_includes): New names for - these functions, to be more distinguishable. - * src/rcfile.c (parse_colors): Reduce the indentation. - * src/rcfile.c (parse_colors): Rename a variable. - * src/rcfile.c (parse_colors, parse_rcfile): Refind the tail of - the colors list only when extending, not for every added color. - -2016-03-11 Benno Schulenberg <bensberg@justemail.net> - * src/browser.c (do_browser): Fix compilation when configured with - --enable-tiny plus --enable-browser. - * src/rcfile.c: Tweak some comments and reshuffle some lines. - * src/rcfile.c (color_to_short): Elide a variable. - * src/rcfile.c (grab_and_store): First check that there is an - open syntax before checking that it is named "default". - * src/rcfile.c (parse_rcfile): Fix compilation when configured with - --enable-tiny plus --enable-nanorc. - -2016-03-10 Benno Schulenberg <bensberg@justemail.net> - * src/rcfile.c (grab_and_store): Do not accept 'header' and 'magic' - commands for the default syntax. This fixes Savannah bug #47323. - * src/rcfile.c (pick_up_name): Fold the parsing of a linter and - formatter command into a single routine. - * src/rcfile.c (parse_header_exp, parse_magic_exp, grab_and_store): - Elide the first two functions, and reshuffle parameters in the last. - * src/rcfile.c (parse_syntax, parse_rcfile), src/color.c - (color_update): Turn the linked list of syntaxes upside-down, so that - the last-defined one comes first, so that searching can stop at the - first match instead of always having to run through the entire list. - * src/rcfile.c: Rename a variable to better fit its new role. - -2016-03-09 Benno Schulenberg <bensberg@justemail.net> - * src/rcfile.c (parse_syntax): Produce an adequate error message - when the syntax name is unquoted. This fixes Savannah bug #47324. - * src/rcfile.c (parse_syntax): Use the grab_and_store() function - also for gathering up extension regexes. - -2016-03-04 Benno Schulenberg <bensberg@justemail.net> - * src/color.c (found_in_list): Don't bother keeping the compiled - regular expression when it matched -- drop this tiny optimization - for when opening multiple files. Instead stop calling malloc(). - * src/nano.h: Delete a now-unused struct member. - * src/global.c (free_list_item): Elide this now too tiny function. - * scr/global.c (thanks_for_all_the_fish): Rename three variables. - * src/rcfile.c (parse_colors): Tweak a few things. - * src/color.c (color_update): Rename a variable. - -2016-03-01 Benno Schulenberg <bensberg@justemail.net> - * src/rcfile.c (parse_syntax), src/color.c (color_update): Don't - bother discarding a duplicate syntax (it's too rare, saves little - memory, and freeing it properly would cost even more code), just - select the last-defined one. This addresses Savannah bug #47303. - * src/color.c (color_update): Allow to select an empty syntax. - -2016-02-29 Benno Schulenberg <bensberg@justemail.net> - * src/nano.h, src/rcfile.c, src/color.c: Rename a struct member. - * src/rcfile.c (parse_rcfile): Don't allocate a struct for the - "none" syntax (and thus prevent it from being extended). - * src/nano.h, src/rcfile.c: Arrange some things more orderly. - * src/rcfile.c (parse_rcfile): Close an extended syntax again. - * src/rcfile.c (parse_rcfile): Rename a variable. - * src/rcfile.c (grab_and_store): Fix breakage of r5695. - * src/color.c (color_update): Do not dereference symlinks, so that - the syntax will be derived from the name given on the command line, - not from that of the target file. This fixes Savannah bug #47307. - -2016-02-28 Benno Schulenberg <bensberg@justemail.net> - * src/rcfile.c (parse_header_exp): Don't continue when something is - wrong -- skip the rest of the line. This fixes Savannah bug #47289. - * src/rcfile.c (parse_header_exp, parse_magic_exp, grab_and_store): - Use the now correct parsing of header regexes also for parsing magic - regexes. This fixes Savannah bug #47292 and saves 50 lines of code. - * src/rcfile.c (grab_and_store): Rename a variable and densify. - * src/rcfile.c (grab_and_store): Do not drop regexes that were - gathered earlier. This fixes Savannah bug #47285. - * src/rcfile.c (grab_and_store): Rearrange things in my style. - * src/rcfile.c (parse_syntax, parse_rcfile): Disallow adding any - further things to a syntax when an rcfile ends or when an invalid - syntax command is found. This fixes Savannah bug #47207. - -2016-02-26 Benno Schulenberg <bensberg@justemail.net> - * doc/man/nanorc.5, doc/texinfo/nano.texi, doc/syntax/nanorc.nanorc, - doc/nanorc.sample.in: Correct the description of 'justifytrim', add - it to the Info document, sort it, and tweak a wording. - * src/color.c (color_update): Look for a default syntax only when - all else failed -- forego the small, complicating optimization. - * src/color.c (color_update): Strip things bare to see the sameness. - * src/color.c (found_in_list): Factor out this triple repetition. - * src/color.c (color_update): Rename a variable for conciseness. - * src/color.c (nfreeregex): Elide this function, now used just once. - * src/nano.h: Rename a struct element for aptness and contrast. - * src/nano.h: Rename another element, because it refers not just - to file extensions, but also to header lines and magic strings. - -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 keystroke 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> - * src/prompt.c (get_statusbar_page_start): Prevent a floating-point - exception when the available length for an answer becomes zero. - -2015-05-28 Benno Schulenberg <bensberg@justemail.net> - * src/help.c (do_help), src/prompt.c (do_yesno_prompt): Normalize - the whitespace after the recent changes in logic. - * src/prompt.c (do_yesno_prompt): Use 'width' instead of hardcoded - 16. Also always first set the string and then position the cursor. - * TODO: Mark window resizes and better file-type detection as done. - * doc/syntax/debian.nanorc: Allow a CD name to contain any character. - This addresses Debian bug #688892 reported by Dani Möller Montull. - -2015-05-28 Mahyar Abbaspour <mahyar.abaspour@gmail.com> - * src/nano.c (handle_sigwinch, regenerate_screen), src/global.c, - src/prompt.c (do_statusbar_input, get_prompt_string, do_yesno_prompt), - src/browser.c (do_browser, browser_refresh), src/help.c (do_help), - src/winio.c (get_key_buffer, unget_input, get_input, parse_kbinput), - src/text.c (do_justify, do_linter), src/nano.h, src/proto.h: - Handle a SIGWINCH (signalling a change in window size) not when it - happens but only when checking for input. Report the SIGWINCH via - a special key value to the calling routine, to allow not only the - main editor but also the help viewer and the file browser to adapt - their display to the new size. (Patch edited by Benno.) - -2015-05-20 Devrim Gündüz <devrim@gunduz.org> - * doc/syntax/postgresql.nanorc: New file -- syntax highlighting for - PostgreSQL, first posted as Savannah patch #8601. Trimmed by Benno. - -2015-05-08 Benno Schulenberg <bensberg@justemail.net> - * src/browser.c (browser_refresh): Take the distant possibility of - terabyte files into account, and in the bargain get rid of the need - to calculate the number of digits in UINT_MAX. - * src/files.c (get_next_filename): Limit the number of backup files - to one hundred thousand -- which should be far more than enough -- - before finding an unused filename takes an annoying amount of time. - * src/utils.c (digits): Delete this now unneeded function. - -2015-05-03 Benno Schulenberg <bensberg@justemail.net> - * src/browser.c (browser_refresh): Display an ellipsis only when the - filename is longer than the available space, not when it still fits. - * src/browser.c, src/nano.c: Adjust a few comments and line wrappings. - * doc/syntax/groff.nanorc: Use character classes correctly. - -2015-04-28 Benno Schulenberg <bensberg@justemail.net> - * src/color.c (color_update): Match the file regex of a syntax against - the absolute, canonical path instead of against the path the user gave. - This fixes Savannah bug #44288, reported by Mike Frysinger. - * doc/syntax/po.nanorc: Improve the colouring of message tags. - * src/winio.c (get_escape_seq_kbinput): Unwrap a bunch of comments. - -2015-04-25 Benno Schulenberg <bensberg@justemail.net> - * src/search.c (do_replace_loop): Remove the unintended special - case for replacing multiple occurrences of a literal ^ or $; see - https://lists.gnu.org/archive/html/nano-devel/2015-04/msg00065.html. - * src/search.c (findnextstr): Delete an always-FALSE parameter. - * src/search.c (findnextstr): Rename the parameter 'whole_word' - to 'whole_word_only', for clarity. - -2015-04-21 Benno Schulenberg <bensberg@justemail.net> - * src/browser.c (findnextfile): Save the settings of the global - case-sens, direction, and regexp flags, and restore them on exit. - And do this not in do_filesearch() but in findnextfile(), so that - it will also work for do_fileresearch(). - * src/text.c (do_int_spell_fix): Save and restore the global flags - in the same short and quick way as above. - * src/nano.c (main): Initialize the search and replace strings in - a central place, to get rid of a bunch of ifs. - * src/search.c (search_init_globals): Elide this tiny function. - -2015-04-20 Benno Schulenberg <bensberg@justemail.net> - * src/winio.c (need_horizontal_update, need_vertical_update): Fuse - two identical functions into one: need_screen_update(). - * src/prompt.c (need_statusbar_horizontal_update): Rename function - to need_statusbar_update() as there is no vertical counterpart. - * src/search.c (do_search, do_research): Delete redundant reprises - of a regex search: finding an occurrence only at the very starting - point of the search necessarily means it is the only occurrence. - -2015-04-18 Benno Schulenberg <bensberg@justemail.net> - * src/global.c, src/nano.c, doc/man/nanorc.5, doc/texinfo/nano.texi: - Make the descriptions of the multibuffer feature more accurate. - * src/winio.c (display_string): Make sure an invalid starting byte - of a multibyte sequence is properly terminated, so that it doesn't - pick up lingering bytes of any previous content. This prevents the - displaying of ghosts -- characters that aren't really there -- when a - file contains valid ánd invalid UTF-8 sequences. For an example see: - https://lists.gnu.org/archive/html/nano-devel/2015-04/msg00052.html. - Also make two comments more accurate: an invalid multibyte sequence - will never be categorized as a control character or anything else. - -2015-04-18 Mark Oteiza <mvoteiza@udel.edu> - * doc/syntax/{python,ruby,sh,tex}.nanorc: Add a linter definition. - * doc/syntax/elisp.nanorc: New file; syntax highlighting for Elisp. - * doc/syntax/guile.nanorc: New file; syntax highlighting for Guile. - -2015-04-17 Benno Schulenberg <bensberg@justemail.net> - * src/text.c (do_alt_speller, do_linter, do_formatter): Distinguish - a failure to launch the linter from receiving zero parsable lines; - add a new function to glue together the invocation-error string. - * src/global.c (shortcut_init): In the Help Viewer and File Browswer, - bind the unbound Home and End keys to goto_top and goto_bottom, to - mimic the behaviour of these keys in file viewers and web browsers. - Also show ^Y and ^V in the WhereisFile menu instead of M-\ and M-/, - for similarity with the WhereIs menu. - * src/global.c (shortcut_init): Arrange the movement keys in the File - Browser in the order of ascending stride, as in the Help Viewer. - -GNU nano 2.4.1 - 2015.04.14 - -2015-04-13 Benno Schulenberg <bensberg@justemail.net> - * src/search.c (do_replace_loop): Fix compilation with --enable-tiny. - * README: Mention also the Savannah page for reporting bugs. - -2015-04-12 Benno Schulenberg <bensberg@justemail.net> - * src/browser.c (filesearch_init): Stop M-\ and M-/ in WhereisFile - menu (reached via ^R ^T ^W) from doing also an unrequested search - after having performed their function. Fixes Savannah bug #44790. - * src/global.c (shortcut_init): Rebind ^Y and ^V in the WhereisFile - menu from the pointless page_up() and page_down() to the effective - first_file() and last_file(). Also unbind some other useless keys. - * src/browser.c (filesearch_init): Remove an unused variable, and - adjust the introductory comment for the recently tweaked logic. - * src/rcfile.c (parse_linter, parse_formatter): Use mallocstrcpy() - in a correct manner; don't let it free an unrelated string. - -2015-04-11 Benno Schulenberg <bensberg@justemail.net> - * src/search.c (do_replace_loop): Do not split off the marked region - into a separate partition, but do the replacings in the current one, - taking good care to stay within the boundaries of the region. This - fixes an undo bug where the first part of a line would disappear if - the region started in the middle of a line. Bug was reported here: - https://lists.gnu.org/archive/html/nano-devel/2015-03/msg00077.html. - Original idea and patch were by Mark Majeres. - -2015-04-08 Benno Schulenberg <bensberg@justemail.net> - * src/browser.c (browser_select_dirname, findnextfile): Rename - 'currselected' to 'looking_at', for more contrast with 'selected', - and rename browser_select_filename() to browser_select_dirname(). - * src/text.c: Correct and adjust some comments. - -2015-04-07 Benno Schulenberg <bensberg@justemail.net> - * src/browser.c (do_fileresearch): Don't search for the empty string - when nothing was sought yet (when historylog is set). - * src/browser.c (filesearch_init): Remove an unfitting comment - (there are no toggles here) and tweak some others. - * src/search.c (do_search, do_research): Use the same variable as - in the surrounding code, for consistency. - * src/browser.c (findnextfile_wrap_reset): Elide this function, - and rename 'search_last_file' to 'came_full_circle'. - * src/browser.c (filesearch_init, do_fileresearch): Avoid setting - 'focusing' when searching only for filenames. - * src/browser.c (findnextfile, do_filesearch, do_fileresearch): - Greatly simplify the searching for the next matching filename. - * src/{browser,files,help,prompt,text,winio}.c: Let the function - bottombars() set the global variable 'currmenu' -- the displayed - menu must necessarily be the active one. - * src/browser.c (filesearch_abort): Elide this tiny function. - * THANKS: Add the names of recent translators, and sort the list. - * THANKS: A neater layout, plus two table headers. - -2015-04-05 Benno Schulenberg <bensberg@justemail.net> - * doc/texinfo/nano.texi: Expand on nano's features, condense the - synopsis, and "online" means something else to most people. - -2015-04-03 Benno Schulenberg <bensberg@justemail.net> - * README: Update text to the fifth milestone, 2.4.x, plus tweaks. - * src/rcfile.c: Remove two superfluous (because nested) #ifndefs. - * src/rcfile.c (parse_rcfile): Ignore any magic when libmagic was - disabled, and ignore a formatter when spell checking was disabled. - -2015-03-28 Benno Schulenberg <bensberg@justemail.net> - * src/search.c (search_init_globals, search_replace_abort), - src/winio.c (edit_redraw), src/proto.h, src/global.c: When finding - an off-screen string, put it on the center line of the screen and - not on the bottom or top line. This restores the old behaviour - that was unintentionally changed in r5149 six days ago. - * src/winio.c (edit_refresh): When pasting lines on the bottom line, - only scroll the required number of lines and not half a screen -- - that is, when smooth scrolling is enabled. - * doc/syntax/changelog.nanorc: Also colour a series of changed files - that spans more than one line. - -2015-03-27 Mark Majeres <mark@engine12.com> - * src/text.c (do_alt_speller): Adjust the end point of the marked - region for any change in length of the region's last line. - -2015-03-27 Benno Schulenberg <bensberg@justemail.net> - * doc/syntax/patch.nanorc: Recognize also Debian package diffs. - Fixes https://bugs.launchpad.net/ubuntu/+source/nano/+bug/1300565 - requested by Rolf Leggewie. - * src/search.c (do_replace_loop): Adjust some whitespace and wrapping. - * src/search.c (do_replace_loop): Place a call to edit_refresh better, - and remove two unneeded ones. This greatly speeds up nano when doing - a Replace All with *lots* of occurrences. - * src/{color,global,nano,text,utils}.c: Normalize some whitespace. - * src/global.c (strtosc): The linter is only available when colour is. - * src/global.c, src/text.c: Treat the formatter like a speller, to fix - compilation with --disable-speller. Fixes Savannah bug #44607. - -2015-03-25 Benno Schulenberg <bensberg@justemail.net> - * doc/syntax/debian.nanorc: Slightly widen and relax the header regex. - * doc/syntax/python.nanorc: Hashes inside triple-quoted strings should - not cause comment colouring. (Inside single-qouted strings neither, - but then quotes in comments will be coloured like strings.) This - solves https://bugs.launchpad.net/ubuntu/+source/nano/+bug/481363. - * src/global.c (strtomenu): Remove mistaken menu name -- as the - formatter allows no interaction it needs no associated menu. - * src/text.c (do_formatter): Remove unneeded statement -- nothing - has changed the value of 'currmenu'. - * src/global.c (strtosc), doc/man/nanorc.5: Allow rebinding the - linter when nano was configured with --disable-speller. - -2015-03-23 Benno Schulenberg <bensberg@justemail.net> - * src/text.c (do_alt_speller): Avoid the spell checker reporting - an error when the marked region is zero bytes long. The message - is not needed -- it gets printed by the caller. This generalizes - the fix for Savannah bug #29393. - * src/text.c (do_alt_speller): Do not unset the mark before the - possible bailout because of a zero-sized region. - * NEWS: Option --noread allows writing, not reading, to named pipes. - -2015-03-22 Chris Allegretta <chrisa@asty.org> - * src/text.c (do_alt_speller): timestamp can just be a time_t. - Fixes compilation on win32 and macOS. - -GNU nano 2.4.0 - 2015.03.22 - -2015-03-22 Benno Schulenberg <bensberg@justemail.net> - * src/chars.c (move_mbleft): Start looking for a multibyte char - not at the start of the string, but only as far back as such a - char can possibly be. Change suggested by Mark Majeres. - * src/search.c (findnextstr): Step backward or forward not simply - one byte but one character (possibly multibyte). Fixes Savannah - bug #42175, reported by myself, and the finding of ghosts seen in - https://lists.gnu.org/archive/html/nano-devel/2015-03/msg00055.html. - * src/winio.c (edit_redraw): Do not center the current line when - smooth scrolling is used. This fixes Savannah bug #42654. - -2015-03-21 Benno Schulenberg <bensberg@justemail.net> - * src/text.c (do_alt_speller): Remove some leftovers. - * src/search.c: Place some comments better and unwrap some lines. - -2015-03-21 Mark Majeres <mark@engine12.com> - * src/text.c (do_alt_speller): Restore the positions of the mark - and the cursor in a better way: to the columns where they were. - This fixes Savannah bug #44542, reported by Benno Schulenberg. - -2015-03-20 Benno Schulenberg <bensberg@justemail.net> - * src/nano.c (finish_stdin_pager, cancel_stdin_pager, stdin_pager): - Normalize the whitespace, remove an old comment, and place another - one better. - * src/text.c (do_undo): Make a message equal to another one. It - was mistakenly changed in r4950. (This is translation-neutral.) - * src/global.c (shortcut_init): Keep related items together in the - ^G help screen. - -2015-03-17 Benno Schulenberg <bensberg@justemail.net> - * src/text.c (do_alt_speller): Do not set the modified flag when - an external spell checker didn't make any changes. This fixes - Savannah bug #44320, reported by Cody A. Taylor. - -2015-03-14 Benno Schulenberg <bensberg@justemail.net> - * src/text.c (do_formatter): Fix a message plus a few comments. - -2015-03-14 Mark Majeres <mark@engine12.com> - * src/nano.c (renumber): Get out if there is nothing to renumber, - to prevent do_undo() from falling over trying to renumber emptiness. - This fixes Savannah bug #44488, reported by Dennis Decker Jensen. - -2015-03-08 Benno Schulenberg <bensberg@justemail.net> - * src/proto.h, src/nano.c: Fix compilation with --enable-tiny plus - --enable-nanorc. - * src/rcfile.c (parse_binding): Fix the rebinding of toggles. - * doc/man/{nano.1,rnano.1,nanorc.5}, doc/texinfo/nano.texi: Update - years and version numbers in the docs in anticipation of a release. - * src/nano.c (version): Drop compile time from version information - to enable a reproducible build. Proposed by Jérémy Bobbio and Jordi - Mallach (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=774388). - -2015-03-07 Benno Schulenberg <bensberg@justemail.net> - * doc/man/nanorc.5, doc/texinfo/nano.texi: Add a note about the - inherent imperfection of using regular expressions for syntax - highlighting, as suggested by Mike Frysinger in bug #30962. - * doc/man/nanorc.5: Improve the indentation of some lists. - * doc/man/nanorc.5, doc/texinfo/nano.texi: Remove the mistaken - square brackets around the arguments of "header" and "magic" -- - those arguments are not optional. Also add "formatter" to the - texinfo document, and slightly improve its punctuation. - -GNU nano 2.3.99pre3 - 2015.02.27 - -2015-02-25 Chris Allegretta <chrisa@asty.org> - * src/rcfile.c (parse_binding): Add an exception for do_toggle() as - rebinding toggles broke with r5022. (Fixed in r5134.) - -2015-02-21 Benno Schulenberg <bensberg@justemail.net> - * README: Fix the explanation of how to subscribe to a mailing list. - * doc/syntax/{java,lua,python,ruby}.nanorc: Wrap some overlong lines. - -2015-02-18 Mike Frysinger <vapier@gentoo.org> - * doc/syntax/sh.nanorc: Recognize also dash, openrc and runscript. - -2015-02-16 Mike Frysinger <vapier@gentoo.org> - * .gitignore: Ignore the autotools 'compile' file. - -2015-02-15 Benno Schulenberg <bensberg@justemail.net> - * src/file.c (do_lockfile): Also show the name of the affected file - when finding a lock file, for when many files are opened at once. - * src/file.c (do_lockfile): The user does the editing, not the editor. - -2015-02-09 Chris Allegretta <chrisa@asty.org> - * nano.spec.in: Add dependency on texinfo, docdir files for - RPM file creation. - -GNU nano 2.3.99pre2 - 2015.02.06 - -2015-02-03 Alex Henrie <alexhenrie24@gmail.com> - * src/cut.c (do_cut_text): Make sure to set modified even when - using --enable-tiny. - -2015-02-01 Kamil Dudka <kdudka@redhat.com> - * src/files.c (write_lockfile): Avoid writing uninitialized bytes to - the lock file -- a simple null_at() would not initialize the buffer. - * src/files.c (do_lockfile): Make sure that 'lockprog' and 'lockuser' - are terminated -- strncpy() does not guarantee that on its own. - * src/files.c (do_lockfile): Avoid printing a wrong PID on the status - bar due to treating serialized PID bytes as signed integers. This - addresses https://bugzilla.redhat.com/1186384 reported by Don Swaner. - * src/files.c (write_lockfile): Do not trim the nano version number - -- snprintf() counts the trailing zero into the size limit. - -2015-02-01 Benno Schulenberg <bensberg@justemail.net> - * src/winio.c (do_credits): Add a general entry for all translators. - * src/nano.c (version), src/winio.c (do_credits): Update the copyright - years to include 2015. - -2015-01-13 Chris Allegretta <chrisa@asty.org> - * src/files.c (open_buffer): Check here for locking and properly - handle choosing to not open a file when locked instead of in - open_file(). Fixes Savannah bug #42373 reported by Benno Schulenberg. - -GNU nano 2.3.99pre1 - 2015.01.06 - -2015-01-03 Chris Allegretta <chrisa@asty.org> - * New formatter code to support syntaxes like Go that have tools to - automatically lint and reformat the text (gofmt), which is lovely. - Added rcfile option formatter, a function do_formatter() in text.c - and some other calls. - -2014-12-28 Benno Schulenberg <bensberg@justemail.net> - * src/files.c (do_lockfile): Gettextize the "File being edited" - prompt, and improve its wording. - * src/winio.c (do_credits): Remove the names of past translators - from the Easter-egg scroll. - * THANKS: Add a missing historical translator name. - * src/winio.c (do_credits): Add Mark to the scroll, for all his - undo work, colouring nano's interface, and other patches. - -2014-11-30 Benno Schulenberg <bensberg@justemail.net> - * doc/syntax/spec.nanorc: Colorize %pretrans and %posttrans fully. - Original patch from Savannah patch #8573 by Daniel Vrátil. - -2014-09-21 Benno Schulenberg <bensberg@justemail.net> - * doc/syntax/{perl,python,ruby,sh}.nanorc: Recognize also header - lines of the form "#!/usr/bin/env thing" besides "#!/bin/thing". - This fixes Savannah bug #43270 reported by Kitty. - -2014-08-29 Benno Schulenberg <bensberg@justemail.net> - * src/text.c (do_justify): Replace the old get_shortcut() wrapper - with the new func_from_key(). - -2014-08-10 Benno Schulenberg <bensberg@justemail.net> - * doc/texinfo/nano.texi: Improve some wordings and formatting. - -2014-08-07 Benno Schulenberg <bensberg@justemail.net> - * doc/syntax/nanorc.nanorc: Remove a mistaken OR which causes a - 'Bad regex, empty (sub)expression' error on some systems. This - fixes Savannah bug #42929 reported by Misty De Meo. - -2014-08-03 Benno Schulenberg <bensberg@justemail.net> - * doc/man/nano.1, doc/man/rnano.1: Tweak the formatting a bit so that - po4a will create a nicer POT file. - * doc/man/nanorc.5: Improve some of the wordings and formatting. - -2014-08-02 Benno Schulenberg <bensberg@justemail.net> - * doc/texinfo/nano.texi: Standardize the formatting of command-line - options -- each one separately. Also add some more markup. - -2014-08-01 Benno Schulenberg <bensberg@justemail.net> - * doc/man/nano.1, doc/man/rnano.1: Separate short and long option - by a comma instead of putting the long one between parentheses. - And showing the required quotes around the argument of -Q. - -2014-07-31 Benno Schulenberg <bensberg@justemail.net> - * src/files.c (do_insertfile): Adjust some indentation. - * src/prompt.c (do_statusbar_input), src/browser.c (do_browser): - Reorder a few things, and adjust some whitespace. - -2014-07-27 Benno Schulenberg <bensberg@justemail.net> - * src/global.c (add_to_sclist): Remove the now unused and unneeded - addition ability from this builder function of the shortcut list. - * src/global.c (strtokeytype): Move this to a better place. - * src/global.c (first_sc_for): Move this too to a better place. - * src/prompt.c (do_yesno_prompt): Use the new and more direct - func_from_key() wrapper instead of get_shortcut(). - * src/text.c (do_linter): Likewise. - * src/files.c (do_insertfile, do_writeout): Likewise. - -2014-07-24 Jordi Mallach <jordi@gnu.org> - * doc/texinfo/nano.texi, doc/man/nanorc.5: Typo fix. - -2014-07-22 Benno Schulenberg <bensberg@justemail.net> - * doc/syntax/nanorc.nanorc: Remove 'undo' from the valid options. - -2014-07-21 Jordi Mallach <jordi@gnu.org> - * doc/nanorc.sample.in: Remove ‘undo’ section which is now obsolete. - -GNU nano 2.3.6 - 2014.07.17 - -2014-07-16 Jordi Mallach <jordi@gnu.org> - * doc/man/rnano.1: Additional printing formatting improvement from - Bjarni Ingi Gislason. - -2014-07-16 Jordi Mallach <jordi@gnu.org> - * doc/man/fr/nano.1, doc/man/fr/rnano.1: Apply similar escaping fixes - to French manpages. - * doc/man/fr/nano.1, doc/man/fr/rnano.1, doc/man/fr/nanorc.5: Recode - as UTF-8. - -2014-07-16 Jordi Mallach <jordi@gnu.org> - * doc/syntax/debian.nanorc: Add https, tor and spacewalk to supported - APT methods. - * doc/syntax/debian.nanorc: Apply the syntax to apt/sources.list.d/ - entries as well, as reported by Rodolphe Pelloux-Prayer. - -2014-07-16 Jordi Mallach <jordi@gnu.org> - * doc/man/nano.1, doc/man/rnano.1: Add some escaping and formatting - fixes as suggested Bjarni Ingi Gislason <bjarniig@rhi.hi.is> in - Debian bugs #662842 and #726956. - -2014-07-16 Benno Schulenberg <bensberg@justemail.net> - * src/text.c: Normalize the tabbing. - -2014-07-16 Mark Majeres <mark@engine12.com> - * src/text.c (do_undo): Make sure renumbering starts far enough back - after undoing a cut or paste. This fixes a segmentation fault when - undoing a repeated cutting and pasting of the first line of a file. - * src/nano.c (move_to_filestruct, copy_from_filestruct): Fix two leaks. - -2014-07-13 David Lawrence Ramsey <pooka109@gmail.com> - * ChangeLog: Typo fix. - -2014-07-12 Benno Schulenberg <bensberg@justemail.net> - * configure.ac: The warning about datarootdir being ignored is - not merely a warning, it also activates a workaround. - -2014-07-11 Mark Majeres <mark@engine12.com> - * src/text.c (do_undo, do_redo): Do not speak of "line wrap" - but instead of "text add" when undoing/redoing text additions - that caused automatic line breaks. - -2014-07-11 Benno Schulenberg <bensberg@justemail.net> - * src/files.c (write_lockfile): Refix typo in error message. - -GNU nano 2.3.5 - 2014.07.11 - -2014-07-11 Chris Allegretta <chrisa@asty.org> - * src/files.c (do_lockfile, open_file): If locking fails, - allow the lock failure message to be preserved AND - preserve the filename passed on the cmdline. Fixes - Savannah bug #42668. - -2014-07-02 Chris Allegretta <chrisa@asty.org> - * src/files.c (do_lockfile): Check whether the directory - of the file we're trying to lock exists, and make the - resulting error message more intuitive. Fixes - Savannah bug #42639 reported by Benno Schulenberg. - -2014-07-02 Mark Majeres <mark@engine12.com> - * src/text.c (undo_cut, redo_cut, update_undo): Handle the - cases of cutting-from-cursor-to-end-of-line correctly. - * src/nano.c (do_input): Don't preserve the cutbuffer when - CUT_TO_END is toggled -- it would intermix two cut types. - * src/text.c (redo_cut, do_undo, do_redo): Don't forget to - free the cutbuffer after use. - -2014-07-02 Benno Schulenberg <bensberg@justemail.net> - * src/proto.h: Add a typedef for a pointer to a function. - * src/global.c (func_from_key): New wrapper. - * src/prompt.c (get_prompt_string, do_prompt): Use the new - wrapper to make the code a bit cleaner. - * src/help.c (do_help, parse_help_input): Use the wrapper. - * src/browser.c (do_browser, parse_browser_input): Likewise. - * src/search.c (search_init, do_gotolinecolumn): Likewise. - * src/search.c (findnextstr): Replace a call of old wrapper - 'getfuncfromkey()' with a call of new 'func_from_key()'. - * src/winio.c (getfuncfromkey): Delete now unneeded wrapper. - * src/nano.c (usage, main), doc/texinfo/nano.texi: Properly - exclude the --quiet option when --disable-nanorc was given. - -2014-07-01 Benno Schulenberg <bensberg@justemail.net> - * src/browser.c (do_browser), src/help.c (do_help): Make sure - to always set 'currmenu', so that we can rely on it. - * src/*.c (get_shortcut): Now that 'currmenu' is really global, - stop passing it around. - * src/help.c (help_init), src/winio.c (bottombars): There are - no tagless functions, so there is no need to check. - * src/prompt.c (do_prompt, get_prompt_string): Don't pass the - menu, just set it earlier. - * src/prompt.c (get_prompt_string): Group the arguments better. - * src/global.c (shortcut_init), src/browser.c (do_filesearch): - Show that it is possible to have backwards, regular-expressive - and case-sensitive searching in the file browser. - * src/browser.c (filesearch_init, do_filesearch): Now delete - these abilities again and all provisions for them. - * src/global.c (shortcut_init): Add two defines to make the - functions list clearer. - -2014-06-30 Mark Majeres <mark@engine12.com> - * src/cut.c, src/global.c, src/nano.c: Rename 'cut_till_end' to - 'cut_till_eof', and 'do_cut_till_end' to 'do_cut_till_eof', to - reduce confusion with CUT_TO_END, which is about end-of-line. - -2014-06-30 Benno Schulenberg <bensberg@justemail.net> - * src/color.c (color_update): When there are no syntaxes, for example - with --ignorercfiles, do not try to find one, because that would lead - to the magic database being searched, which slows down startup a lot. - * src/color.c (color_update): Move some variables to a better place. - * src/*: Make 'meta_key' and 'func_key' into global variables, instead - of having them declared everywhere and passing them around endlessly. - * src/global.c (sc_seq_or): Now fix a bug introduced somewhere after - 2.3.2 where binding a movement function to a Meta key would make the - corresponding Arrow key stop working (producing a character instead). - -2014-06-29 Benno Schulenberg <bensberg@justemail.net> - * src/rcfile.c: Fix compilation with --enable-tiny --enable-nanorc. - * src/winio.c (parse_kbinput, get_escape_seq_kbinput): Make Ctrl-Left - and Ctrl-Right produce special codes, and map these codes to Prevword - and Nextword instead of reducing them to a plain Left and Right. The - codes 539 and 554 were so chosen because some terminals produce these. - -2014-06-29 Mark Majeres <mark@engine12.com> - * src/text.c (do_undo): Update the pointer to the bottom of the file - when undoing line deletions at file's end. - -2014-06-28 Benno Schulenberg <bensberg@justemail.net> - * src/prompt.c (do_statusbar_input): Remove the useless parameters - 'have_shortcut and 'allow_funcs'; the latter is only ever TRUE. - * src/global.c (shortcut_init), src/prompt.c (do_statusbar_input): - Eradicate the execute flag -- it is only FALSE for functions that are - empty placeholders (so executing them will not do anything anyway) or - for functions ('total_refresh', 'do_suspend_void') that do not exist - in menus with a prompt. The only two exceptions are 'do_cancel' and - 'do_gotolinecolumn_void'. The first is handled specially, so do that - too for the second and then get to drop 140 parameters. - * src/global.c (strtosc): Move recognition of the toggles to the end, - use a single assignment of do_toggle_void, trim the unneeded braces. - -2014-06-27 Benno Schulenberg <bensberg@justemail.net> - * src/global.c (shortcut_init): Add default keybindings for Cut, - PrevWord and NextWord in the prompt input lines; the code for those - special operations already exists, just the shortcuts were missing. - * src/rcfile.c (parse_binding): When binding keys, only allow those - menus where the bound function is actually present. This reduces - the meaning of 'all' to "all menus where the function exists". - * src/rcfile.c (is_universal): New function, returning TRUE for the - functions that are present in most menus but only listed in MMAIN. - * doc/man/nanorc.5, doc/texinfo/nano.texi: Update the docs for this. - * prompt.c (find_statusbar_bracket_match, do_statusbar_find_bracket): - Remove these functions and thus the ability to search for a matching - bracket in a prompt input line. The find_bracket function never had - a default keybinding outside MMAIN, so is unlikely to have been used. - * src/prompt.c (do_statusbar_input): Normalize the indentation. - * src/winio.c: Normalize some whitespace. - * Makefile.am, nano.spec.in: Stop distributing the BUGS file. - * BUGS: Remove obsolete file, as all the bugs in it have been fixed - long ago. Nowadays bugs are tracked on Savannah. - * configure.ac: Silence a useless warning about ignoring datarootdir. - -2014-06-25 Benno Schulenberg <bensberg@justemail.net> - * src/browser.c (do_browser): Allow 'firstfile' and 'lastfile' to be - rebound to Ctrl keys -- checking meta_key is wrong, the function has - already been determined, that is all that matters. - * src/help.c (do_help): Same thing for 'firstline'/'lastline'. - -2014-06-23 Benno Schulenberg <bensberg@justemail.net> - * src/nano.h, src/move.c (do_up, do_down), src/winio.c (edit_scroll): - Rename UP_DIR and DOWN_DIR to UPWARD and DOWNWARD, for clarity. - * src/proto.h, src/global.c, src/search.c: Rename 'no_replace_void()' - to 'flip_replace_void()', to show what it actually does. - * doc/man/nanorc.5, doc/texinfo/nano.texi: Update the docs for that. - * src/global.c (strtosc): Add the bindable function 'gotodir'. - * doc/man/nanorc.5, doc/texinfo/nano.texi: Document the bindable - functions 'tofiles','gotodir' and 'flipnewbuffer', and correct - the description of 'gototext' (not being about the file browser). - * doc/syntax/nanorc.nanorc: Show Ins and Del as valid rebindable keys. - * src/help.c (do_help): Normalize the indentation. - * src/files.c (do_insertfile): Give audible feedback when flipping - the new buffer to off is not allowed in view mode. - -2014-06-22 Benno Schulenberg <bensberg@justemail.net> - * src/browser.c (parse_browser_input), src/help.c (parse_help_input): - Remove two pointless calls of get_shortcut(), and adjust the comments. - * src/nano.c (do_toggle): When toggling softwrap, only the edit window - needs to be refreshed, not the entire screen. - * src/browser.c (do_browser): Remove superfluous abortion variable, - and place two comments better. - * src/text.c (do_redo): Rename 'undidmsg' to 'redidmsg', to be apt. - -2014-06-22 Mark Majeres <mark@engine12.com> - * src/text.c (do_redo): When redoing a line join at the tail - of the file, make sure openfile->filebot is updated. - * src/text.c (undo_cut, redo_cut, do_undo, add_undo, update_undo): - Fix three leaks of the cutbuffer, shorten and regroup some stuff, - and remove an unneeded iteration of cutbottom. - -2014-06-21 Mark Majeres <mark@engine12.com> - * src/text.c (undo_cut, add_undo): When undoing a cut-till-eof, - put the cursor back where the cut started, and not at the end. - * src/text.c (do_undo): When undoing a line break at the tail - of the file, make sure openfile->filebot is updated. - -2014-06-21 David Lawrence Ramsey <pooka109@gmail.com> - * src/move.c, src/nano.c: Miscellaneous whitespace fixes, one - type fix, and one more #ifdef NANO_TINY. - -2014-06-20 Benno Schulenberg <bensberg@justemail.net> - * src/proto.h, src/global.c: Remove two obsolete variables and an - unneeded extern, and regroup some stuff. - * src/files.c (check_dotnano): Wrap long lines and actually report - the name that is not a directory. - * src/*: Miscellaneous whitespace adjustments and comment tweaks. - * src/files.c: Fix compilation with --enable-tiny --enable-browser. - * doc/man/nano.1, doc/texinfo/nano.texi: History logging no longer - depends upon nanorc support, plus many other tweaks. - * src/global.c (strtosc): Fix compilation with --enable-tiny - --enable-histories --enable-nanorc. - * src/text.c: Fix compilation with --enable-tiny --enable-wrapping. - * src/files.c (do_insertfile): Fix compilation with --enable-tiny - --enable-histories --enable-multibuffer. - * src/nano.c: Fix compilation with --enable-tiny --enable-mouse. - * doc/man/nanorc.5, doc/texinfo/nano.texi: Explain better what "all" - means when rebinding keys. This is a fix for Savannah bug #42552. - * src/nano.c (main): Make +1 and +,1 start on line one column one, - overriding a historical position. This fixes Savannah bug #42538. - -2014-06-19 Benno Schulenberg <bensberg@justemail.net> - * src/nano.c (window_init): Rename 'no_more_space()' to 'more_space()' - for consistency, and tweak the related comments. - * src/files.c: Update some comments to match the current status. - * src/nano (finish, main): Allow -H/--historylog and -P/--poslog to - function also when -I/--ignorercfiles is given. - * configure.ac: Add a --disable-histories flag, to disable the code - for the histories of search/replace strings and cursor positions. - * doc/texinfo/nano.texi: Document the new configure flag. - * src/*: Transform many DISABLE_NANORC to the new DISABLE_HISTORIES. - This completes the fix for Savannah bug #42539. - -2014-06-18 Benno Schulenberg <bensberg@justemail.net> - * src/text.c: Rename 'to_end' to 'to_eof', to lessen confusion - with CUT_TO_END (which is about cutting to end-of-line). - * src/text.c: Upon better thought, elide the unneeded 'to_eof'. - * src/text.c: And elide a totally unused 'strdata2'. - * src/text.c: Rename the undo type UNSPLIT to JOIN, for clarity. - * src/global.c, src/rcfile.c: Rename function_type to key_type. - * src/text.c (break_line): Remove a condition and a break that - cancel each other. - -2014-06-18 Mark Majeres <mark@engine12.com> - * src/text.c (add_undo): Don't start a new undo for CUT when the - cutbuffer is being preserved, because then the cuts are contiguous - and will form a single undo item. And make sure the cutbuffer will - be cleared when a new undo item for CUT is created. - * src/cut.c (keeping_cutbuffer): New function, to access the status - of 'keep_cutbuffer' from the undo/redo code in src/text.c. - * src/cut.c (do_copy_text): Blow away the contents of the cutbuffer - if the mark is set or the cursor has moved between two copy commands. - -2014-06-17 Mark Majeres <mark@engine12.com> - * src/text.c (do_undo, do_redo): After an undo or redo, update the - 'placewewant' (the desired horizontal position of the cursor). - -2014-06-17 Benno Schulenberg <bensberg@justemail.net> - * src/text.c (do_undo, do_redo): Remove obsolete boolean variable. - * doc/man/nano.1, doc/man/nanorc.5, doc/texinfo/nano.texi: Replace - SYSCONFDIR with an absolute path or a circumlocution, as suggested - by Mike Frysinger, plus some other tweaks. - -2014-06-16 David Lawrence Ramsey <pooka109@gmail.com> - * src/nano.c (do_exit): Display the message "No file name" on the - statusbar for two seconds when --tempfile was given and the current - buffer has no name. This fixes Savannah bug #41750. - -2014-06-16 Benno Schulenberg <bensberg@justemail.net> - * configure.ac: For the sake of statically linked systems, make sure - the compiler also links against libz, which is used by libmagic. - This fixes Savannah bug #38378, reported by Alan Hourihane. - * src/nano.c (do_mouse, do_input): Don't bother returning zero when - the cursor moved, just reset the cutbuffer directly. This avoids an - "Unknown Command" message on every cursor-positioning mouse click. - * src/nano.c (do_mouse): Put a common statement outside of then/else. - * src/Makefile.am: Remove -I m4; it is needed only at the top level. - * Makefile.am: Trim the contents of EXTRA_DIST to what is required. - * doc/man/nano.1, doc/man/nanorc.5, doc/texinfo/nano.texi: Update - the docs for the changed location of nano's search history. - * doc/man/nano.1, doc/man/nanorc.5, doc/texinfo/nano.texi: Change - some wordings, triggered by Savannah bug #42539. - -2014-06-14 Mark Majeres <mark@engine12.com> - * src/nano.h, src/text.c (undo_cut, update_undo): When undoing a - backwards cut, put the cursor back in front of it, where it was. - -2014-06-13 Benno Schulenberg <bensberg@justemail.net> - * src/nano.c (do_input): Repositioning the cursor with the mouse - (result == 0) should break a series of ^Ks. - * src/nano.c (do_mouse): Clicking on the titlebar or the statusbar - should not break a series of ^Ks, thus result must not be zero. - * src/nano.c (do_input): A toggle should not break a series of ^Ks. - * src/winio.c (get_shortcut): Do not treat holding both Control and - Meta the same as holding only Control. - * src/global.c, src/rcfile.c, src/nano.h, src/nano.c, src/text.c: - Remove the --undo option, having the undo functions always enabled. - If wished, the user can unbind them. This fixes Savannah bug #42456. - * doc/man/{nano.1,nanorc.5}, doc/texinfo/nano.texi: Update the docs. - * nano.spec.in: Remove useless info dir file from the build directory, - don't clean this directory first, it's unnecessary, add a suggestion - for a pico symlink, and update the license and the source URL. - -2014-06-11 Benno Schulenberg <bensberg@justemail.net> - * src/winio.c (get_mouseinput): Produce the correct return value for - when a mouse event reinserted something into the keyboard buffer. - * src/nano.c (do_input): Do not continue when there is a spurious - mouse event (a touch of the touchpad, for example) but get out. - Continuing would result in the cutbuffer being cleared upon the - next cut. These two changes together fix Savannah bug #42326. - * src/nano.c (do_input): Always accept mouse events, also when - just looking for Unjustify. This fixes Savannah bug #42322. - * src/nano.c (do_input): Remove a superfluous switch statement. - * src/winio.c (get_mouseinput): Set the type of a reinserted key, - also when it is a function key. This fixes Savannah bug #42092. - -2014-06-10 Benno Schulenberg <bensberg@justemail.net> - * src/browser.c, src/files.c, src/nano.c src/prompt.c, src/winio.c: - A few minimalistic whitespace adjustments. - * src/rcfile.c (check_bad_binding): Avoid a compiler warning. - -2014-06-10 David Lawrence Ramsey <pooka109@gmail.com> - * src/winio.c: One more type fix and two tiny message tweaks. - -2014-06-09 David Lawrence Ramsey <pooka109@gmail.com> - * src/*.c: Cosmetic tweaks of comments and whitespace. - * src/help.c, src/rcfile.c, src/winio.c: Elide a function call by - not comparing with an empty string but checking for the final \0. - * src/files.c, src/nano.c, src/text.c, src/winio.c: Type fixes in - debugging stuff -- line numbers are long, x positions unsigned long. - * src/files.c, src/move.c, src/nano.c, src/text.c, src/winio.c: - Make tiny nano a bit tinier by preening out some soft-wrap stuff. - * src/global.c, src/nano.c, src/winio.c: A few more cosmetic tweaks - (whitespace, order, braces, parentheses, and a typo) and type fixes. - -2014-06-09 Benno Schulenberg <bensberg@justemail.net> - * src/nano.c (do_input): Remove two superfluous false conditions. - * src/nano.h, src/text.c (add_undo): Avoid a compiler warning with - --disable-wrapping. - -2014-06-09 Mark Majeres <mark@engine12.com> - * src/text.c (do_undo, do_redo, add_undo, update_undo, do-wrap): - Rewrite the line-wrapping code to make use of the existing line-break - code. And undo line wraps together with their causal text additions, - and not as separate actions because the user did not make them. - -2014-06-08 Mark Majeres <mark@engine12.com> - * src/text.c (do_delete, do_deletion, do_undo, do_redo, update_undo): - Differentiate between undoing a Delete and undoing a Backspace -- the - cursor should be in a slightly but significantly different position. - -2014-06-04 Benno Schulenberg <bensberg@justemail.net> - * src/global.c (shortcut_init), src/files.c (do_insertfile): Rename - 'ext_cmd_void' to 'flip_execute_void' to better match what it does. - * src/global.c (strtosc), doc/man/nanorc.5, doc/texinfo/nano.texi: - Add function name 'flipexecute' to enable rebinding ^X in the menus - Read File and Execute Command. - -2014-06-04 David Lawrence Ramsey <pooka109@gmail.com> - * src/*.c: Adjustments of whitespace and comments. - * doc/nanorc.sample.in: Interpunction tweaks. - * src/global.c (add_to_funcs): Add cast to subnfunc* for nmalloc(). - * src/files.c (do_lockfile): Properly make the variable 'lockfilesize' - a size_t instead of a ssize_t, since it holds the result of strlen(). - And use charalloc() instead of (char *)nmalloc(). - * src/text.c (do_undo): Use charealloc() and not (char *)nrealloc(). - * src/text.c (add_undo): Make use of null_at() to both null-terminate - the multibyte character and align it to use only the amount of memory - necessary. - -GNU nano 2.3.4 - 2014.06.02 - -2014-06-02 Chris Allegretta <chrisa@asty.org> - * doc/syntax/default.nanorc: Can't do trailing spaces in the - default syntax or it will hilight the spaces as you type them - into a new file, which for non-programming is infuriating. - -2014-05-29 Mark Majeres <mark@engine12.com> - * src/text.c (do_delete): For the undo structure, differentiate - between deleting a newline and any other character. - -2014-05-29 Chris Allegretta <chrisa@asty.org> - * src/chars.c (addstrings): This function needs to be available even - on non-utf-8 systems. - * nano-regress: Added --disable-utf8 to regression check. - -GNU nano 2.3.3 - 2014.05.29 - -2014-05-28 Chris Allegretta <chrisa@asty.org> - * doc/syntax/mutt.nanorc: Include Benno's awesome signature - matcher, modified slightly to also work for quoted sigs. - * doc/syntax/default.nanorc: Be far more gentle with something - which affects every file which doesn't match another syntax, and - the user may not be able to override if their distro turns on - highlighting by default. - -2014-05-28 Benno Schulenberg <bensberg@justemail.net> - * src/nano.c (do_input): Remove the three unused parameters 's_or_t', - 'ran_func', and 'finished'. They are only ever set and never used. - * src/text.c (do_justify): Adjust a call of do_input(). - * src/browser (do_browser): Actually translate the go-to-dir prompt. - * src/browser, src/search.c: There is no need to repeat translator - comments for the same string -- once is enough to get them included. - Add instead some translator comments for the prompts. - * src/global.c (shortcut_init): Make ^X in the Read-File menu toggle - between executing a command and inserting a file. The mechanism in - do_insertfile() in files.c is already present -- in the past just - the wrong function was used in the relevant function-list item: - 'do_insertfile_void' instead of the unintuitive 'ext_cmd_void'. - * src/browser (filesearch_init): Remove an unneeded format specifier. - * src/nano.c (usage): Add a translator comment for the --help output. - * src/global.c (shortcut_init): Elide four unneeded tags. - * src/global.c (shortcut_init): Make tiny nano just a bit tinier. - * src/global.c (shortcut_init): Standardize the add_to_funcs() calls, - breaking always between the menus and the tag. - -2014-05-27 Chris Allegretta <chrisa@asty.org> - * src/winio.c (edit_refresh): wredrawln() is not supported under - slang. - -2014-05-27 Benno Schulenberg <bensberg@justemail.net> - * src/global.c (shortcut_init): Improve the arrangement of help items - under certain compilation conditions. - * src/global.c (strtosc): Make tiny nano a bit tinier. - * src/global.c (strtosc): Allow rebinding 'suspend' in tiny nano. - * src/winio.c (set_modified): Adjust translator comment to make it - show up in the POT file, and make it take the "[ ]" into account. - -2014-05-26 Benno Schulenberg <bensberg@justemail.net> - * src/cut.c (cut_line): Fix compilation with --enable-tiny. - * src/text.c (do_linter): Avoid a warning with --enable-tiny. - * src/global.c (shortcut_init): Unwrap some lines, and reorder two. - -2014-05-25 Benno Schulenberg <bensberg@justemail.net> - * src/global.c: Cut down on the size of tiny nano, by not compiling - the function strtosc() when --disable-nanorc is given or implied. - -2014-05-25 Mark Majeres <mark@engine12.com> - * src/chars.c (addstrings): New function, concatenates two allocated - strings, tacking the second onto the first and freeing the second. - * src/cut.c (do_uncut_text): Update the undo structure for a paste. - * src/text.c (undo_cut, redo_cut, add_undo, update_undo): Place the - cursor after an undo there where it was before the do, and handle - multibyte characters correctly. - -2014-05-23 Benno Schulenberg <bensberg@justemail.net> - * src/winio.c (edit_draw): Finally, the proper fix for bug #31743; - telling ncurses to really redraw the line, without optimization, so - it will not mistakenly assume that a wide character at the start of - a line takes up just one column. This deletes the workaround that - had the side effect of creating pastes full of trailing whitespace. - -2014-05-19 Mark Majeres <mark@engine12.com> - * src/winio.c (edit_draw): Paint the current line *after* tickling the - terminal, so that the character in the final column will be displayed - properly. Bug was introduced five days ago. - -2014-05-18 Benno Schulenberg <bensberg@justemail.net> - * src/nano (precalc_multicolorinfo): Do not match the ^ anchor when - looking further on in a line. This prevents an end="^$" from being - sometimes mistakenly matched. Fix inspired by Savannah bug #27708. - * doc/syntax/default.nanorc: New file, example for a default syntax. - -2014-05-17 Benno Schulenberg <bensberg@justemail.net> - * doc/syntax/json.nanorc: New file, originally from Aapo Rantalainen, - but edited, extended, and improved. See Savannah patch #7410. - * src/winio.c (edit_draw): Do not skip the colour-off commands at the - end of the loop. Based on Savannah patch #7550 by Ryan Lothian. - This fixes bug #26111 reported by Dave Geering <dreamlax@Savannah>. - -2014-05-16 Benno Schulenberg <bensberg@justemail.net> - * src/text.c, src/winio.c: Remove some more double spaces. - * doc/syntax/patch.nanorc: Show trailing whitespace on added lines. - * doc/syntax/debian.nanorc: Make the component colouring simpler, - and the URI colouring completer, and improve the comments. - * doc/syntax/*.nanorc: Harmonize (partially) the syntax files. - -2014-05-16 David Lawrence Ramsey <pooka109@gmail.com> - * src/color.c, src/cut.c, src/text.c: Tweak some whitespace. - * src/global.c, src/move.c: Use TRUE and FALSE instead of 1 and 0. - * src/winio.c (edit_draw): Mention the name of the tickling character. - * src/search.c (goto_line_posx): Remove unneeded call of edit_refresh. - * src/text.c (do_undo, do_redo): Use size_t for line lengths. - -2014-05-15 Mark Majeres <mark@engine12.com> - * src/*, but mainly src/text.c (undo_cut, redo_cut, do_undo, do_redo): - Go to the correct positions for undoing/redoing the cuts and pastes. - This fixes several undo problems and Savannah bug #25585. - -2014-05-15 Benno Schulenberg <bensberg@justemail.net> - * doc/syntax/c.nanorc: Improve the magic regex, plus tweaks. - * src/color.c (color_update): Adjust a comment, and be clearer. - * src/nano.h: Improve two comments, and elide one macro. - * doc/syntax/Makefile.am: Add texinfo.nanorc to the packing list. - -2014-05-14 Benno Schulenberg <bensberg@justemail.net> - * src/winio.c (edit_draw): Poke a non-breaking space into the last - column of every line, to startle the terminal into handling wide, - two-column characters properly. This fixes Savannah bug #31743. - * src/nano.c (precalc_multicolorinfo): Improve debugging messages, - and remove superfluous assignment (fileptr already equals endptr). - * src/color.c (color_update): Move magic check to after headerline. - * src/color.c (color_update): Open the magic database only when - actually going to use it, and close it afterward. - * doc/syntax/{perl.nanorc,xml.nanorc}: Improve two magic regexes. - * src/color.c (color_update): Stop seeking when a magic matched. - * doc/nanorc.sample.in: Add an example of colouring nano's interface - elements, and tweak some of the other descriptions. - -2014-05-13 Benno Schulenberg <bensberg@justemail.net> - * src/text.c (do_linter): Make an error message somewhat clearer. - * src/rcfile.c (parse_binding): Improve another error message. - * doc/syntax/nanorc.nanorc: Show key names like M-6 and M-/ as valid. - * src/global.c (thanks_for_all_the_fish): Upon exit also free the - lists with functions and shortcuts. - * src/*.c: Several random whitespace and comment tweaks. - * src/global.c (replace_scs_for): Condense the function a bit. - * src/help.c (help_init): No need to keep looping when two are found. - * src/global.c: Improve compilation with --disable-browser. - * src/nano.h, src/*.c: A few more comment tweaks. - -2014-05-12 Benno Schulenberg <bensberg@justemail.net> - * src/text.c (do_spell): Provide startup feedback, as for the linter. - * doc/syntax/nanorc.nanorc: Show bright foreground colours as valid. - * src/rcfile.c: Improve some comments, and remove some others that - are mispasted or superfluous. - * doc/texinfo/nano.texi: Add missing parenthesis, remove blank line. - * src/rcfile.c (parse_magictype, parse_headers): Handle the libmagic - and headerline regexes in the same manner, eliding a static variable - while renaming some others. - * src/*.h, src/rcfile.c (parse_magictype, parse_headers): Rename them - to parse_magic_exp() and parse_header_exp() to be more fitting, further - symmetrify them, and improve some comments. - * src/nano.h, src/color.c, src/global.c, src/rcfile.c: Rename struct - type 'exttype' to 'regexlisttype', to better match its functions, and - upon exit also free the regexes for libmagic results and headerlines. - * doc/syntax/python.nanorc: Improve the multiline regexes, make the - one with single quotes work again, and add some comments. - * doc/syntax/{man,python,fortran}.nanorc: Add regexes for comments, - trailing whitespace and reminders, and trim some trailing spaces. - * src/rcfile.c: Move parse_magic_exp() next to its sister. - * src/color.c (color_update): Rename a variable, and elide another. - -2014-05-10 Chris Allegretta <chrisa@asty.org> - * src/rcfile.c (parse_color_names): Redefine false and true to - their appropriate macro names so --with-slang works (slangv2 anyway). - * src/text.c (do_linter): Care about whether user cancelled the file - save (cancel the operation) versus just said no (continue but don't - save the file). Also doupdate() after statusbar message that - linter is being invoked and blank the shortcuts to draw the eye. - Also allow user to cancel at the "open in a new buffer" prompt. - New function lint_cleanup(). Fixes Savannah bug #42203. - -2014-05-10 Benno Schulenberg <bensberg@justemail.net> - * doc/texinfo/nano.texi: Make syntax highlighting into a separate - section, and add the still missing section on rebinding keys. - -2014-05-10 Mark Majeres <mark@engine12.com> - * src/*.h, src/*.c: Make it possible for the foreground colour of - interface elements to be bright. - -2014-05-09 Benno Schulenberg <bensberg@justemail.net> - * src/winio.c (get_mouseinput): Count only shortcuts that are actually - shown, so that clicking on the ones after ^T (Speller/Linter) will work - again correctly. This fixes the second part of Savannah bug #42093. - * src/global.c (shortcut_init, strtosc): Do not define nor accept - shortcuts for functions that are disabled. - * src/global.c (shortcut_init, strtosc): Define shortcut for the linter - when speller is disabled, and fix compilation with --disable-speller. - * src/global.c (shortcut_init, strtosc), doc/man/nanorc.5: Put softwrap - back among the "Appearance" toggles. - * doc/man/nanorc.5: Describe bindable functions in the third person. - -2014-05-06 Benno Schulenberg <bensberg@justemail.net> - * doc/texinfo/nano.texi: Let makeinfo figure out the node pointers. - * doc/syntax/texinfo.nanorc: New file, colouring for Texinfo files. - * doc/texinfo/nano.texi: Add sections on the Cutbuffer and the Mark, - remove option '-?', and make some other tweaks. - * doc/man/{nano.1,nanorc.5}, doc/texinfo/nano.texi: Synchronize the - documentation, and tweak some wording here and there. - * doc/syntax/texinfo.nanorc: Stop the brace content from spilling. - -2014-05-05 Benno Schulenberg <bensberg@justemail.net> - * doc/man/nanorc.5: Give syntax highlighting its own section, - add the "header" command, tweak some wording and formatting, - and trim some duplicate introductory information. - * src/global.c (strtosc), doc/man/nanorc.5: Allow the function - do_cut_till_end (naming it "cutrestoffile") to be rebound. - * doc/syntax/nanorc.nanorc: Add the four new *color options. - * doc/syntax/nanorc.nanorc: Differentiate between options that - take an argument and those that don't. - -2014-05-04 Benno Schulenberg <bensberg@justemail.net> - * src/winio.c (statusbar): Elide a variable. - * src/*: Rename the variable 'reverse_attr' to 'hilite_attribute', - and remove an unneeded call of wattroff(). - * doc/man/nanorc.5, doc/texinfo/nano.tex: Document the settings - of titlecolor, statuscolor, keycolor and functioncolor. - * doc/man/nanorc.5, doc/texinfo/nano.tex: Show quotes where quotes - are needed, remove some unneeded spaces, and do other tweaks. - * src/global.c (strtosc), doc/man/nanorc.5: Allow the Backwards - toggle to be rebound, document it, and document Backspace too. - -2014-05-03 Benno Schulenberg <bensberg@justemail.net> - * src/*.h, src/*.c: Add the ability to colour four elements of - nano's interface differently: title bar, status bar, key combo, - and function tag. Idea and original patch #8421 by Mark Majeres. - * src/global.c (shortcut_init): Unfold long lines consistently. - * src/global.c (shortcut_init): Order the shortcuts in roughly - the same manner as in the help lines, and group them per menu. - * src/global.c (shortcut_init): Remove the search-mode toggles - from the inappropriate WHEREISFILE and REPLACEWITH menus. - * src/global.c (shortcut_init): Paragraph jumping only makes - sense in the main editing menu; remove it from all others. - -2014-04-30 Benno Schulenberg <bensberg@justemail.net> - * src/*, doc/*: Update the years in the copyright notices -- there - were releases in 2010, 2011, and 2013, and there will be in 2014. - -2014-04-27 Benno Schulenberg <bensberg@justemail.net> - * src/nano.c (usage, main): Don't blurt out the full help text - but just a hint when the command line contains some mistake, to - avoid drowning out the error message. - * src/nano.c (usage): Mention only those options that actually do - something. For the no-op compat flags the man page is the place. - * src/global.c (shortcut_init): In the help lines of Search/Replace - show the important toggles early on, and group them better. - * src/global.c (shortcut_init): Improve order and grouping in the - main help text and help lines. - * src/global.c (strtosc): Fix compilation with --enable-tiny. - * src/global.c (shortcut_init): Improve the order of the help items - still further, and make them also group nicely in the tiny version. - -2014-04-27 Mark Majeres <mark@engine12.com> - * src/rcfile.c (parse_include): Plug two tiny memory leaks. - -2014-04-26 Benno Schulenberg <bensberg@justemail.net> - * src/global.c (add_to_funcs): Add a pointer to the tail of the - functions list, to simplify and speed up adding new items. And - make use of it to remember the location of the Uncut item. - * src/global.c, src/files.c (make_new_buffer, close_buffer): Make - help lines show "Close" again when more than one buffer is open. - * src/global.c (strtosc), doc/man/nanorc.5: Allow the do_spell - (and thus do_lint) function to be bound to other key combos. - * src/global.c (strtosc), doc/man/nanorc.5: Group related functions - together, remove duplicate up/down, add missing prevpage/nextpage. - -2014-04-24 Benno Schulenberg <bensberg@justemail.net> - * doc/faq.html: Update a few URLs, delete some obsolete ones, update - the section on configuration flags and on translating nano, plus a - whole series of other small fixes and adjustments. - -2014-04-23 Benno Schulenberg <bensberg@justemail.net> - * src/winio.c, src/help.c, src/text.c, src/browser.c: Remove - several unneeded double semicolons, and two relic comments. - * src/help.c (parse_help_input), src/browser.c (parse_browser_input): - Make the Minus and Space keys work in the help viewer and file browser - also when the PrevPage and NextPage functions are bound to meta-key - sequences -- searching for these will not find them. So, instead put - in the standard key code. This fixes Savannah bug #42140. - * src/global.c (first_sc_for): Stop the whole charade of preferring - control keys over meta keys over function keys, but return the first - one in the list -- just like the function name implies. This will - make a user-defined shortcut appear in the two bottomlines without - having to unbind the existing one first -- better feedback. - * src/global.c (shortcut_init, flagtostr, strtosc): Put the two - wrapping toggles together and increase their contrast a bit. - * src/nano.c (usage), doc/man/nano{.1,rc.5}, doc/texinfo/nano.texi: - Increase the contrast between hard-wrapping and soft-wrapping. - -2014-04-22 Benno Schulenberg <bensberg@justemail.net> - * src/global.c (shortcut_init): Put the movement keys in the - help viewer in the order of increasing stride. - * src/global.c (shortcut_init): Rename many constants from - '*_msg' to '*_tag' to reduce confusion with 'nano_*_msg'. - * src/global.c (shortcut_init): Elide several pointless constants. - * src/global.c (shortcut_init): Elide more unneeded constants, and - update some translator comments and shorten a few tags. - * src/global.c (shortcut_init): Delete unneeded empty funcs; being - in the list of shortcuts is enough. - * src/global.c (shortcut_init): Put left/right in normal order. - * src/global.c (shortcut_init): List function key after meta key. - * src/help.c (help_init): Show just two shortcuts per function -- - only three functions showed three, but who has an F13, F14, F15? - This also fixes Savannah bug #41889: misalignment of help text. - * src/help.c (help_init): Split the toggles into three groups, - and do not show toggle keys that have been rebound. - -2014-04-21 Benno Schulenberg <bensberg@justemail.net> - * doc/syntax/nanorc.nanorc: There is no F0 key. - * src/global.c (first_sc_for): Adjust two comments -- the help - viewer no longer sorts keys to be control first, meta second. - * src/global.c (first_sc_for): Put meta first, for clarity. - * src/global.c (strtokeytype): No need to check for lowercase - 'm' or 'f', the source doesn't use them and rc-file processing - uppercases them. Also put control first, for clarity. - * src/global.c (strtosc, strtomenu): Sort functions slightly - better, and allow things to be rebound in the linter menu. - * src/nano.h: Delete a large bunch of unused defines. - * src/nano.h, src/proto.h: Delete some more unused stuff. - * src/rcfile.c (parse_binding), src/winio.c (get_mouseinput): - Avoid three compiler warnings with --enable-debug. - * src/global.c (assign_keyinfo): Decombine repetitive condition. - * src/global.c (assign_keyinfo, shortcut_init): Give nicer names - to the dedicated keys, for when they show up in the help lines. - * src/rcfile.c (parse_binding): K-keys no longer exist. - * src/global.c, src/rcfile.c, doc/nanorc.sample.in: Allow the - codes from the Ins and Del keys to be rebound. - * src/rcfile.c (parse_binding): Improve two error messages, and - complain about wrong menu names after wrong function names. - -2014-04-16 Benno Schulenberg <bensberg@justemail.net> - * src/winio.c (get_mouseinput): Properly find also the zeroeth - item from a certain menu in the list of functions. Until now - this accidentally worked, because "Get Help" was the very first - item in almost all menus. Partly fixes Savannah bug #42093. - * src/nano.h: MHELP should not be part of MALL, as ^B and ^F and - Enter and Backspace and so on don't make any sense there. - * src/nano.h, src/global.c (shortcut_init): Rename MALL to MMOST, - to be more accurate. - * src/nano.h, src/global.c, src/help.c, src/search.c: Rename - MREPLACE2 to MREPLACEWITH, for clarity. - * src/nano.h: Adjust some tabbing and spacing. - * src/global.c (shortcut_init): Make better use of MMOST. - -2014-04-15 Benno Schulenberg <bensberg@justemail.net> - * src/nano.c (precalc_multicolorinfo): Actually set the intended - non-blocking mode for keyboard input. - * src/winio.c: Relocate and correct a few comments. - * README.SVN: To build nano from svn, ssh is not required. - * src/*.c: Normalize whitespace around '==' comparison. - * configure.ac: Check for the availability of snprintf(), - fixes Savannah bug #42070 reported by David Lawrence Ramsey. - * src/global.c (shortcut_init), src/help.c (do_help): Add the - shortcuts M-\ and M-/ for First Line and Last Line to the help - viewer, instead of ^Y and ^V, which are already taken for Page - Up and Page Down. Also, stop them from aborting the viewer. - * src/help.c (do_help): Remove superfluous abortion variable. - * src/global.c (shortcut_init), src/help.c (do_help): Add the - shortcut ^L for Refresh to the help viewer and stop it aborting; - a changed version of patch #7013 from David Lawrence Ramsey. - -2014-04-14 Benno Schulenberg <bensberg@justemail.net> - * src/{proto.h,cut.c,nano.c,text.c}: Remove the unused parameter - 'file_bot' from copy_from_filestruct(), and rename the other. - * src/*: Remove the unused parameter 'func_key' from get_shortcut(), - and subsequently from parse_browser_input() and parse_help_input(). - * src/*: Adjust some whitespace and tweak a few comments. - * src/winio.c (getfuncfromkey): Elide variable and condense comment. - * src/text.c (break_line): Initialize a variable to avoid a compiler - warning, rename it to be more apt, add a comment, tweak some others, - and remove an unneeded 'if'. - * src/char.c (move_mbleft): Avoid a compiler warning (int → size_t), - rename the variable, and another, and straighten out the logic. - -2014-04-13 Benno Schulenberg <bensberg@justemail.net> - * proto.h, global.c, rcfile.c: Remove the unused parameter 'menu' - from strtosc(). - * global.c (shortcut_init): Remove mistaken browser item from the - Go-To-Line menu. - * global.c (shortcut_init): Delete a misplaced setting of 'currmenu'. - * global.c (shortcut_init, strtomenu): Cosmetic tweaks. - * doc/syntax/{changelog,c,po}.nanorc: Some small extra colourings. - * configure.ac, doc/texinfo/nano.texi: Make --enable-tiny disable - the use of libmagic, and document the --disable-libmagic flag. - * src/nano.c (version): Print the correct --enable/--disable option. - * configure.ac, src/*, doc/texinfo/nano.texi: Convert all occurrences - of #ifdef ENABLE_NANORC to #ifndef DISABLE_NANORC, and adapt for it. - * configure.ac: Complain about --enable-color without --enable-nanorc. - -2014-04-10 Benno Schulenberg <bensberg@justemail.net> - * doc/syntax/Makefile.am: Add four recent syntaxes to the packlist. - -2014-04-08 Benno Schulenberg <bensberg@justemail.net> - * doc: Add the documentation for the new --noread option. - * doc: Add missing --poslog option to the texinfo file, plus tweaks. - -2014-04-08 Hans Alves <fonsvandeachterburen@gmail.com> - * nano.h, files.c, nano.c: Adding the command-line option --noread - to treat any name on the command line as a new file. This allows - nano to write to named pipes -- it will start with a blank buffer, - and will write to the pipe when the user saves the file. This way - nano can be used as an editor in combination with for instance gpg - without having to write sensitive data to disk first. - -2014-04-08 David Lawrence Ramsey <pooka109@gmail.com> - * src/*.c: More editing of comment blocks and trimming of blank lines. - -2014-04-08 Benno Schulenberg <bensberg@justemail.net> - * src/rcfile.c: Correct two comments, and tweak two others. - * src/color.c (color_update): Correct one comment, tweak some others, - remove two superfluous ones, and remove an unneeded 'if'. - -2014-04-08 David Lawrence Ramsey <pooka109@gmail.com> - * src/nano.c (main): Convert the literal UTF-8 whitespace string into - its corresponding byte sequence, and add a comment for it. - * src/{files.c,global.c,help.c,winio.c}: Reformat some comment blocks, - fix a few typos, and remove a few unneeded blank lines. - -2014-04-08 Benno Schulenberg <bensberg@justemail.net> - * src/rcfile.c (parse_binding): Melt the binding and unbinding code, - which are very similar, into a single function. - * src/rcfile.c (parse_binding): Uppercase only the first two or three - characters of the key name, in order to preserve ^Space and M-Space, - so they can be unbound. Fixes Savannah bug #41940. - * doc/syntax/go.nanorc: Extend the syntax highlighting for Go lang, - from the submission by Robert Clausecker <fuzxxl@Savannah>. - -2014-04-07 Benno Schulenberg <bensberg@justemail.net> - * src/{proto.h,global.c,text.c}: Keep a pointer to the Uncut item in - the functions list, to be able to change its description to Unjustify - at the appropriate moment. This avoids having to fully repopulate - the functions and shortcuts lists before and after every Justify. - Also, look for ^U only in the main menu, to which ^W M-J factually - returns and which shortcut_init() "sneakily" sets. - * src/{proto.h,files.c,global.c,nano.c,rcfile.c}: Drop the obsolete - argument of shortcut_init(), and remove two unneeded calls of it. - * src/global.c (shortcut_init): Allow M-J after an --enable-justify. - * src/rcfile.c (parse_rcfile): The user documentation only speaks - of options, not of flags. Make the error messages conform. - * src/rcfile.c (check_vitals_mapped): Improve layout of message. - -2014-04-06 Benno Schulenberg <bensberg@justemail.net> - * src/global.c (shortcut_init): Limit M-T (cut-till-end-of-file) to - the main menu, and M-J (full-justify) to the main and search menus. - * src/proto.h: There is no need for the helpline tags to be external, - they are only ever used in src/global.c. - * src/global.c: Do not set any helpline tags to empty strings; - compilation should fail if they are needed and not defined. - -2014-04-05 Benno Schulenberg <bensberg@justemail.net> - * src/nano.c (version): Print the correct configuration options. - * src/{chars.c,nano.c,text.c}: Cosmetic tweaks. - * doc/texinfo/nano.texi: Adjust for new disabling config options. - -2014-04-05 Mike Frysinger <vapier@gentoo.org> - * src/nano.c (do_input): Reload possibly freed function pointer. - -2014-04-04 Benno Schulenberg <bensberg@justemail.net> - * src/{files.c,nano.c}: Avoid two more compilation warnings. - * configure.ac: Allow --enable-extra and --enable-multibuffer - to override --enable-tiny. - * src/rcfile.c (check_vitals_mapped): Do not allow 'set quiet' - to suppress a fatal-error message, make sure the user sees it. - * src/color.c: Comment tweaks. - * src/{*.h,*.c}, configure.ac: Convert all occurrences of - #ifdef ENABLE_COLOR to #ifndef DISABLE_COLOR. - * src/nano.h: Comment tweaks. - * configure.ac: Move the enabling stuff to after the disablers. - * configure.ac: Add submissive colour disabling to --enable-tiny. - * configure.ac: Allow other enablers to override --enable-tiny too. - * src/{proto.h,search.c}: Fix compilation with --enable-browser. - * src/global.c (shortcut_init): Fix warnings with --enable-help. - * src/text.c (do_justify): Fix compilation with --enable-justify. - * src/nano.c (do_mouse): Fix warning with --enable-mouse. - * src/prompt.c (get_prompt_string): Fix compilation for the - combination of --enable-tiny with --enable-tabcomp. - * src/prompt.c (get_prompt_string): Normalize the indentation. - * src/text.c: Comment tweaks. - -2014-04-03 Benno Schulenberg <bensberg@justemail.net> - * configure.ac: Remove unused '*_support' variables. - * doc/syntax/po.nanorc: New file, syntax colouring for PO files. - * configure.ac: Stop --with-slang from duplicating --enable-tiny. - * configure.ac: Sort all the disabling options alphabetically. - * src/{proto.h,files.c,global.c,nano.c,rcfile.c}, configure.ac: - Convert #ifdef ENABLE_MULTIBUFFER to #ifndef DISABLE_MULTIBUFFER. - * src/{proto.h,files.c,,nano.c,winio.c}, configure.ac: - Convert #ifdef NANO_EXTRA to #ifndef DISABLE_EXTRA. - * src/{global.c,text.c}: Fix two compilation warnings for tiny. - -2014-04-02 Benno Schulenberg <bensberg@justemail.net> - * configure.ac, doc/Makefile.am: Try to build the info documentation - only when 'makeinfo' is available. Patch partly by Mike Frysinger. - * configure.ac: Upping the required version of Autoconf, to ensure the - ONCE macros are defined. Suggested by Kamil Dudka and Mike Frysinger. - -2014-04-02 Mike Frysinger <vapier@gentoo.org> - * doc/man/{,fr}/Makefile.am: Simplify the man rules still further. - * .gitignore: Add 'config.cache', created by './configure -C'. - * src/nano.c (die_save_file): Newer gcc warns about set-but-unused - variables, so add a dummy if() check to kill that off. - * src/search.c (search_init): Silence a compiler warning about a - variable possibly being used uninitialized. - -2014-03-31 Chris Allegretta <chrisa@asty.org> - * doc/syntax/go.nanorc: New file, basic go syntax highlighting. - -2014-03-30 Benno Schulenberg <bensberg@justemail.net> - * doc/syntax/changelog.nanorc: New file, first attempt at colouring - Changelog files. - * ChangeLog: Consistently use a colon after names of changed files. - -2014-03-30 Mike Frysinger <vapier@gentoo.org> - * doc/Makefile.am, doc/man/Makefile.am, doc/man/fr/Makefile.am: - The build already provides a standard htmldir for installing html - files. Use that instead of creating our own. - * doc/man/Makefile.am, doc/man/fr/Makefile.am: Use dist_ prefixes - and += appending supported by automake to produce simpler files. - * doc/Makefile.am: Drop redundant localedir, as autoconf/automake - already creates this for us. - * src/rcfile.c, doc/nanorc.sample.in: Hard-listing all the wanted - syntax files is a PITA. Support globs in include paths, so people - can easily drop in new files and have it "just work". - -2014-03-27 Benno Schulenberg <bensberg@justemail.net> - * src/nano.c (main): Fix compilation with --disable-utf8. - * src/global.c (shortcut_init): Place a help string among - its kin, adjust some indentation, group function pairs more - tightly, bundle restricted stuff, and delete an unused item. - -2014-03-27 Mike Frysinger <vapier@gentoo.org> - * configure.ac: Make --disable-nanorc with --enable-color barf. - * configure.ac: Allow --disable-utf8 and --enable-utf8 to work. - -2014-03-26 Benno Schulenberg <bensberg@justemail.net> - * configure.ac: Word, tab, and comment tweaks. - * src/global.c: Some comment tweaks, and whitespace trimmings. - * src/global.c (print_sclist): Also print last shortcut in list. - * doc/texinfo/nano.texi: Explain how to select and paste with - the mouse when mouse support is enabled: by holding down Shift. - * nano.spec.in, doc/faq.html, doc/texinfo/nano.texi: Remove - vestiges of the obsolete '--enable-all' configure flag. - * src/rcfile.c: Fix compilation with --disable-color. - * src/rcfile.c: Allow (un)binding keys when colour is disabled. - * src/help.c: Fix compilation with --disable-browser. - * src/{proto.h,browser.c,help.c}: Remove a superfluous function. - -2014-03-26 Mike Frysinger <vapier@gentoo.org> - * configure.ac: Clean up most of the --with/--enable flags: - - use AS_HELP_STRING instead of writing the text ourselves; - - use the normal enable_xxx var AC_ARG_ENABLE creates for us; - - delete duplicate checks in a few places (due to previous cleanup); - - unwrap some macros/var assignments; - - delete trailing whitespace; - - delete old --enable-all flag; - - fix quoting on a lot of vars that come from the user; - - use AC_MSG_* helpers instead of raw `echo`. - -2014-03-24 Benno Schulenberg <bensberg@justemail.net> - * src/{nano,move,winio}.c: Fix a few compiler warnings. - * src/{global,rcfile,winio}.c: Print menu numbers for debugging - in hex, and tweak a few of those debugging messages. - * src/nano.c: Harmonize comments, and trim some blank lines. - -2014-03-24 Mike Frysinger <vapier@gentoo.org> - * doc/syntax/gentoo.nanorc: Match more files, add a trailing - whitespace check, and EAPI=5 updates. - * doc/syntax/javascript.nanorc: New file, based on C syntax. - * doc/syntax/{nanorc,python}.nanorc: Highlight trailing whitespace. - * configure.ac, m4/ax_check_compile_flag.m4: Start building with - warnings enabled, to help prevent issues from silently creeping in. - * configure.ac: Newer ncurses include pkg-config files which tell - us the right -I/-L paths we need, so default to that before trying - the legacy ways. - * configure.ac: Add a configure flag to disable the use of the - fattening libmagic. - -2014-03-23 Benno Schulenberg <bensberg@justemail.net> - * src/rcfile.c (parse_keybinding, parse_unbinding): Improve a - debugging message, fix a translator comment, and tweak others. - -2014-03-22 Benno Schulenberg <bensberg@justemail.net> - * THANKS: Add some missing translator names, and tweak others. - -2014-03-21 Benno Schulenberg <bensberg@justemail.net> - * src/chars.c (is_punct_mbchar, mbstrchr): Elide a variable, - thus making two ifs identical to six others. - * doc/syntax/nanorc.nanorc: Add the 'extendsyntax' directive, - and change two colours to be legible on a light background. - -2014-03-19 Benno Schulenberg <bensberg@justemail.net> - * doc/nanorc.sample.in: Document the changed whitespace defaults. - * src/global.c, doc/man/nanorc.5: Allow softwrap to be rebound. - * doc/nanorc.sample.in: Sort the includes alphabetically, and - add the ones for Lua, Magicpoint, and Spec files. - * doc/nanorc.sample.in: Add "poslog", plus tiny textual tweaks. - * src/global.c, doc/man/nanorc.5: Group softwrap with the toggles - that affect how things look -- it does not belong in the group of - general program functions, nor in the group of editing behaviour. - * doc/man/nanorc.5: Add the descriptions of six missing bindable - functions, and tweak those of a few others. - -2014-03-18 Benno Schulenberg <bensberg@justemail.net> - * src/global.c (shortcut_init): In the file browser one cannot - search for a regular expression, so do not mention it. - -2014-03-17 Benno Schulenberg <bensberg@justemail.net> - * src/global.c (shortcut_init): Show ^F and ^B instead of kright - and kleft in the help lines of the tiny version. - * src/global.c (shortcut_init): Remove some inconsistent spaces - and newlines, condense three statements into one, place an #endif - better, melt two #ifndefs into one, and add a comment. - * src/winio.c (edit_scroll): Remove the old softwrap scrolling code. - * src/{nano.h,proto.h,color.c,cut.c,files.c,global.c,help.c,nano.c, - search.c,text.c,utils.c}: Add, fix, and remove some #endif comments, - remove an obsolete comment, and remove some superfluous #ifndefs. - * src/global.c (shortcut_init): Put ^B and ^F in the same order as - all other command keys: first the backward then the forward motion. - * src/{nano.h,*.c}: Remove stray spaces before tabs. - -2014-03-16 Benno Schulenberg <bensberg@justemail.net> - * src/nano.h: Display more help items when the terminal is wider. - -2014-03-14 Benno Schulenberg <bensberg@justemail.net> - * src/nano.c (main): When in a UTF-8 locale, use prettier characters - (»·) for indicating whitespace, and for similarity use ">." instead of - ":." when not in a UTF-8 locale. Changes suggested by Mike Frysinger. - -2014-03-05 Benno Schulenberg <bensberg@justemail.net> - * src/move.c (do_down): Initialize the correct variable to zero. - Solves jumpy scrolling behaviour reported by Chris Allegretta. - -2014-03-04 Chris Allegretta <chrisa@asty.org> - * global.c (first_sc_for): Return raw keystrokes last, so - they will not be displayed if there are F-keys or Meta keys - mapped for an item in the shortcut list. - -2014-03-04 Benno Schulenberg <bensberg@justemail.net> - * doc/syntax/nanorc.nanorc: Add keyword 'quiet', sort 'locking', - and concatenate the two separate strings into one. - * src/nano.c (main), doc/nanorc.sample.in: Make the M-P toggle - actually do something by default, by using visible characters. - * src/global.c (shortcut_init): Normalize the writing of three - help-line items: "Write Out", "Uncut Text", and "Unjustify", to - better stress the O and U -- the big C and J were distracting. - * doc/{syntax/nanorc.nanorc,man/nanorc.5,texinfo/nano.texi}: - Remove erroneous 'suspendenable' -- it is not a settable option - but a bindable function. - -2014-03-03 Chris Allegretta <chrisa@asty.org> - * global.c (shortcut_init): Don't actually free the shortcut - list, since the next pass via justifying will then remove all - custom shortcuts. Fixes bug discovered by Benno Schulenberg. - * text.c (do_linter): Remove some unused variables to quiet - -pedantic -Wall. - -2014-03-03 Benno Schulenberg <bensberg@justemail.net> - * src/global.c (add_to_funcs): Add a newline, for clarity. - * src/global.c (shortcut_init): Mark, don't translate yet. - * src/move.c (do_down): Correctly compute the minimum amount - to scroll when softwrap is on and there are overlong lines. - * src/winio.c (edit_scroll): Disable amount computation here. - * src/move.c (do_down): Trim some redundant code, and correct - the scrolling behaviour when softwrap is off -- the construct - (amount ? amount : 1) wasn't doing what I intended. - * doc/man/nano{.1,rc.5}: Slightly improve formatting and wording. - * doc/{texinfo/nano.texi,man/nanorc.5}: Add some missing options - to the texinfo documentation, and improve alphabetization a bit. - * src/nano.c (usage): Don't mention --softwrap in tiny version. - -2014-03-01 Chris Allegretta <chrisa@asty.org> - * global.c (shortcut_init): Fix an issue with the split - do_research() setup when using --enable-tiny. - * rcfile.c (parse_linter): Allow linter to be unset using "". - * rcfile.c: Allow syntaxes to be extended via "extendsyntax" - directive. Color, header, magic and linter should all be - able to be extended. Man page updates for nanorc(5). - * doc/nanorc.sample.in: Document 'set quiet'. - -2014-03-01 Mike Frysinger <vapier@gentoo.org> - * src/color.c (color_update): Do not write to stderr on magic - errors. If the magic db has errors such that magic_load() fails, - the current code dumps to stderr which messes up the terminal. - The error message is also vague to the point where it's confusing - -- I thought nano had problems writing to the file I was editing. - Instead, use statusbar() and clarify the messages. - (Patch tweaked by Benno.) - -2014-02-28 Benno Schulenberg <bensberg@justemail.net> - * src/text.c (execute_command): Equalize pipe error messages. - * src/global.c (thanks_for_all_the_fish): Remove a redundant - '#ifdef DEBUG', it is contained within a wider one. - * src/global.c (strtosc): Correct a misspelled keyword. - * src/rcfile.c (check_vitals_mapped): Actually translate a - helpful message, and reword it somewhat for clarity. - * src/global.c: Remove unused function 'free_shortcutage'. - * src/global.c (strtosc): Indent conditions consistently. - -2014-02-28 Eitan Adler <lists@eitanadler.com> - * src/nano.c (do_toggle): Constify a char pointer, to fix - a warning when compiling with clang (and -Wall). - -2014-02-27 Mike Frysinger <vapier@gentoo.org> - * doc/man/nanorc.5: Relocate the misplaced unbind section, - and improve formatting. (Patch tweaked by Benno.) - * doc/syntax/nanorc.nanorc: Add the bind/unbind commands, - so they will look supported when using syntax highlighting. - -2014-02-27 Benno Schulenberg <bensberg@justemail.net> - * src/help.c (parse_help_input): Make 'Space' again an alias - for PageDown and 'Minus' for PageUp -- they were mistakenly - swapped during code conversion in r4223. - -2014-02-26 Mike Frysinger <vapier@gentoo.org> - * doc/syntax/sh.nanorc: Highlight more shell builtins and - common commands, and rewrite the variable highlighting to be - more exact and handle cases where string operations are used. - * doc/syntax/gentoo.nanorc: Update to newer EAPIs, and fold - in updated shell changes too. Much of this is based on work - by Davide Pesavento <pesa@gentoo.org>. - * doc/syntax/makefile.nanorc: Highlight trailing whitespace. - -2014-02-26 Benno Schulenberg <bensberg@justemail.net> - * src/global.c (shortcut_init): Put PageUp and PageDown - and also WhereIs and WhereIsNext together in the help lines - of the file browser, and WriteOut and Readfile in the help - lines of the main window -- related stuff in one column. - * doc/syntax/man.nanorc: Better colouring of manpage files. - -2014-02-26 Konstantin Abakumov <abakumov@Savannah> (tiny change) - * doc/syntax/python.nanorc: Slightly improve the regexes for - multiline strings in Python, reducing spillage. - -2014-02-26 Benno Schulenberg <bensberg@justemail.net> - * src/move.c (do_down), src/winio.c (edit_scroll): Scroll an - extra amount when softwrap is on and the current line would - otherwise run off the screen, and recalculate maxrows after - each scroll. Solves bug #27550 reported by Hannes Schueller. - -2014-02-25 Benno Schulenberg <bensberg@justemail.net> - * NEWS: Fix some typos and wordings, and rewrap a few lines. - * src/global.c: Correcting some translator comments, removal - of a few superfluous blank lines, and some pedantic comment - tweaks (mainly adding missing periods and stars). - * src/global.c: Ordering "Prev Word" and "Next Word" better. - * src/global.c: Make ^G not only call help but also exit from - it, and make ^C also exit from help and from the file browser. - Also remove two redundant shortcut definitions. - -2014-02-25 Mike Frysinger <vapier@gentoo.org> - * src/Makefile.am: Rename 'INCLUDES' to 'AM_CPPFLAGS', since - Automake changed the naming of these a while ago, and at least - version 1.13 now starts warning about it. - * .gitignore: Ignore generated files (and bak files). - -2014-02-25 Benno Schulenberg <bensberg@justemail.net> - * src/files.c (write_lockfile, do_lockfile): Fix a typo reported - by Jean-Philippe Guérard and inconsistent spelling of "lock file" - reported by myself on nano-devel in March 2013. - -2014-02-25 Benno Schulenberg <bensberg@justemail.net> - * src/help.c (do_help_void): Call the help browser with the correct - refresher for afterwards. This solves a bug reported by myself on - nano-devel in August 2010: after typing ^R ^T ^W ^G ^X, the file - being edited would get displayed instead of the list of files. - -2014-02-24 Chris Allegretta <chrisa@asty.org> - * New linter functionality, rcfile option "linter". - * src/global.c (shortcut_init): Actually free the sclist - if it was allocated before. - * src/winio.c (do_credits): Add Benno, my children, - update copyright info. - -2014-02-23 Benno Schulenberg <bensberg@justemail.net> - * doc/syntax/*.nanorc: Comment and punctuation tweaks. - * doc/syntax/sh.nanorc: Colour $VAR within a "" string - but not within a '' string, and do not colour strings - within comments. Fixes bug #29943. - -2014-02-23 Benno Schulenberg <bensberg@justemail.net> - * src/text.c (do_undo, do_redo, add_undo): Make warning - sentences in the status bar consistently end in a period. - -2014-02-22 Benno Schulenberg <bensberg@justemail.net> - * src/files.c (write_file): Add a missing malloc. - Reported by an anonymous cross compiler, bug #30671. - -2014-02-22 Benno Schulenberg <bensberg@justemail.net> - * src/winio.c (get_mouseinput): Correct an oversight, - use the proper 'do_up_void' and 'do_down_void' names. - Reported by Zhou Z.J. <zzj666@Savannah>, bug #38268. - -2014-02-22 Lauri Kasanen <laxy@Savannah> (tiny change) - * doc/syntax/html.nanorc: Also recognize htm as extension, - use cyan for tags (more visible on dark background), correct - the expression for ampersand codes, and colour strings too. - -2014-02-22 Dennis Jenkins <dennisjenkins@Savannah> (tiny change) - * doc/syntax/c.nanorc: Also recognize c++ as extension. - -2014-02-22 Benno Schulenberg <bensberg@justemail.net> - * src/nano.c (move_to_filestruct): Update the data in 'mark_begin' - when mark and cursor are on the same line. This avoids a segfault - after M-A, right, M-T, left, ^K, or a hang when the left is left out. - -2014-02-22 Benno Schulenberg <bensberg@justemail.net> - * src/nano.c (main): Add two conditions on ENABLE_NANORC. - * src/files.c (close_buffer, do_insertfile): Likewise. - This avoids compilation failure when nano is configured - with both --disable-color and --disable-nanorc. - -2014-02-22 Felipe Bugno <capent@Savannah> (tiny change) - * doc/nanorc.sample.in: Add an include for CMake files. - -2014-02-22 David Lawrence Ramsey <pooka109@gmail.com> - * src/nano.c (allow_pending_sigwinch): A (char *) cast for pedantic purposes. - * src/cut.c (do_cut_text): Wrap a reference to 'copy_text' in NANO_TINY. - -2014-02-22 David Lawrence Ramsey <pooka109@gmail.com> - * ChangeLog, NEWS, doc/faq.html: Fix typos, wording, and spacing. - -2014-01-25 Chris Allegretta <chrisa@asty.org> - * src/winio.c (set_modified): Check for a filename before trying to lock. - -2014-01-24 Benno Schulenberg <bensberg@justemail.net> - * src/nano.c (copy_from_filestruct): Refresh the mark's pointer when - stuff was pasted into the line where the mark is. This applies - Savannah patch #8180 and fixes the segfault reported on the list: - https://lists.gnu.org/archive/html/nano-devel/2012-07/msg00000.html. - -2014-01-01 Chris Allegretta <chrisa@asty.org> - * doc/texinfo/nano.texi: Change '@sp4' since makeinfo 5.1 hates the - lack of spacing. Fixes bug #40103 reported by flapane@Savannah. - Also change SVN status to non-binary so diffs work. - -2014-01-01 Chris Allegretta <chrisa@asty.org> - * src/global.c (strtokeytype): Check for lower-case 'f' for defining F-key - sequences for consistency (previously was two checks for upper case 'F'). - Fixes bug #40815 reported by David Binderman <dcb314@Savannah>. - -2013-06-13 Matthew Fischer <mfisch@Savannah> - * doc/syntax/c.nanorc: Add the 'auto' keyword. - -2013-06-13 David Lawrence Ramsey <pooka109@gmail.com> - * src/global.c (first_sc_for): Try to more consistently display keystrokes, - useful when the user has rebound a bunch of them. - -2013-06-13 Kamil Dudka <kdudka@redhat.com> - * doc/man/nano.1: Actually document the -P (--poslog) option. - -2013-04-12 Chris Allegretta <chrisa@asty.org> - * src/files.c (do_insertfile): Check for saved cursor position when inserting a - file as well. Fixes Savannah bug #38600 reported by Craig Barnes. - * src/files.c (write_file): Don't re-stat() the file if we're writing out - a marked portion (especially because it would give the wrong stat info). - Part two of issue reported by Benno Schulenberg. - -2013-04-07 Michael Berg <mike@berg-net.us> - * do_cut_text: Fix copying (not cutting) text setting Modified state. - Partly fixes an issue reported by Benno Schulenberg. - -GNU nano 2.3.2 - 2013.03.23 - -2013-03-17 Chris Allegretta <chrisa@asty.org> - * Revert r4547 as we should have a new release and the overlap code is not yet - ready for public consumption. - -2013-01-20 Chris Allegretta <chrisa@asty.org> - * src/text.c (do_histify): Don't allow sigwinch to be received while justifying - as that puts us into a wacky state. Fixes crash on justify by Joshua Rogers. - * configure.ac: Added --with-wordbounds option to let cross compilers force - whether their target system support GNU-style word boundaries or not. - Originally reported by Dave Festing. - * doc/man/nanorc.5: Fix typo in softwrap description, reported by - cbart387@Savannah. - -2013-01-19 Chris Allegretta <chrisa@asty.org> - * configure.ac: Make ncurses checking to set $LIBS and check the ncursesw lib - actually works before defaulting to it over ncurses! Shock! - -2013-01-13 Chris Allegretta <chrisa@asty.org> - * src/utils.c (parse_num): Initialize errno before calling strtol(). Fixes issue - where trying to go to a line number too long will break legitimate goto-lines - for the remainder of the editing session, reported by Joshua Rogers. - -2013-01-09 Mike Frysinger <vapier@gentoo.org> - * configure.ac: Check for ncursesw5-config and base $CPPFLAGS on it. - -2013-01-09 Fabian Groffen <grobian@Savannah> - * configure.ac, src/nano.h: Make the search for ncursesw more generalized. - -2013-01-02 David Benjamin <davidben@Savannah> - * src/search.c (parse_syntax): Fix blatantly and dangerously incorrect code - for deleting old syntaxes. - -2013-01-02 Mike Frysinger <vapier@gentoo.org> - * src/files.c (cwd_tab_completion): Remove unnecessary variables. - * src/search.c (search_init): Fix gcc complaints on certain versions. - -2013-01-02 Eitan Adler <lists@eitanadler.com> - * configure.ac: Remove unnecessary checks. - * src/nano.h, NEWS: Fix redundant wording. - -2012-12-31 Chris Allegretta <chrisa@asty.org> - * src/*: Introduce (basic) vim-style file locks. Does not allow vim to recover - our changes, and just lets a vim user know we're editing a file. Command-line - option "-G" or "--locking", nanorc option "locking". New functions in - src/files.c: do_lockfile(), write_lockfile(), and delete_lockfile(). - -2012-02-05 Chris Allegretta <chrisa@asty.org> - * src/*: Fix overlapping strings highlighting each other. New variables in edit_draw - (slmatcharray, pbegin, paintok), new logic (with repeated setting of values in the - array but it's BFI after all). FIXME: Need to create a new 'overlap'. - * src/*: Fix a silly issue with the argument to nregcomp, as it's confusing to the caller. - * src/nano.h: Change the color types to a compiler macro (COLORWIDTH), may not actually - even be worth doing, but someday who knows how wide a color curses implementation might - be, and maybe we'll even start checking for it in autoconf! - -GNU nano 2.3.1 - 2011.05.10 - -2011-05-10 Chris Allegretta <chrisa@asty.org> - * text.c (do_enter): Only increment totsize by the auto-indented amount, since the previous - line's size was already counted. Fixes bug reported by Robert Spanjaard. - -2011-05-08 Chris Allegretta <chrisa@asty.org> - * doc/syntax/Makefile.am: Finally get around to sorting the syntax file list. - -2011-05-08 Matthew Wild <mattj100@Savannah> - * doc/syntax/spec.nanorc: New lua syntax highlighting config. - -2011-03-28 Asterios Dramis <asterios.dramis@gmail.com> - * doc/syntax/spec.nanorc: New RPM spec file highlighting config. - -2011-03-12 Chris Allegretta <chrisa@asty.org> - * po/*: Sync latest translation fixes, add an update_linguas.sh script. Rename - existing update.pl to update_sources.pl to make it more specific. - -2011-03-04 Chris Allegretta <chrisa@asty.org> - * color.c (color_update): Add check for whether the file even exists - before we try to run the magic check on it. Fixes error messages to stderr - when reading in files that don't exist, reported by Mike Frysinger. - -2011-03-03 Chris Allegretta <chrisa@asty.org> - * color.c (color_update): Remove unneeded debugging message from libmagic commit. - Fixed extra messages going to stderr, reported by Mike Frysinger. - -GNU nano 2.3.0 - 2011.02.26 - -2011-02-26 Chris Allegretta <chrisa@asty.org> - * Change RAW in function_type enum to RAWINPUT, to fix compilation on AIX, - reported by Richard G Daniel <skunk@iskunk.org>. - -2011-02-23 Chris Allegretta <chrisa@asty.org> - * Fix some more severe warnings from 'g++ -pedantic', from patch originally - by Eitan Adler <lists@eitanadler.com>. - -2011-02-23 Kamil Dudka <kdudka@redhat.com> - * doc/man/nanorc.5: Fix small typo. Report and original patch by John Bradshaw. - -2011-02-22 Chris Allegretta <chrisa@asty.org> - * color.c (nfreeregex): Fix that we were trying to set the pointer passed by value - to NULL. Fixes crashes on file save reported by Ken Tyler and Matthieu Lejeune. - -2011-02-18 Chris Allegretta <chrisa@asty.org> - * New saved cursor position history option. Command line option -P or --poslog, rc file - entry "poslog". Search history changes to ~/.nano/search_history, cursor position log - is ~/.nano/filepos_history. Added checks to move the legacy .nano_history file to the - new location. Several new functions to files.c: load_poshistory(), save_poshistory(), - check_poshistory(), update_poshistory(), and reworking of histfilename(). New FAQ entry - 4.15 discussing the change and offering an interoperability workaround. - * files.c (load_history): Set last_search to the last search value we loaded from history, - so do_research will succeed without needing to manually load the last search in. Fixes - bug reported by Matthieu Lejeune. - -2011-02-12 Chris Allegretta <chrisa@asty.org> - * Initial libmagic implementation, adapted from Eitan Adler <eitanadlerlist@gmail.com>. - New nanorc entry "magic" to enable this functionality, nanorc file and man page updates. - -2011-02-06 Chris Allegretta <chrisa@asty.org> - * src/*: Retire iso_me_harder_funcmap based on suggestion by <bernd.spaeth@gmx.net>. - This does add 20KB to nano's executable size but it gets rid of a lot of indirection - that makes people's stomach turn. There are several new stub functions and a need of - more tidying as a result of this. - * files.c (write_file): Fix problems with writing the backup file (albeit interactively) - with new function prompt_failed_backupwrite(), allows more secure handling of problems - with failing to write the backup file compared to 'allow_insecure_backup'. - * winio.c (edit_redraw): Remove unused variable. - -GNU nano 2.2.6 - 2010.11.22 - -2010-11-15 Chris Allegretta <chrisa@asty.org> - * Add a section to the FAQ about using nanorc on Win32 systems. - -2010-11-12 Chris Allegretta <chrisa@asty.org> - * Add check for RESTRICTED mode back to speller, suspend and insert file routines, - since adding key bindings broke the fact that they should be disabled in restricted\ - mode. Fixes Savannah bug #31625 reported by Charlie Somerville. - -GNU nano 2.2.5 - 2010.08.05 - -2010-08-04 Lauri Kasanen <curaga@operamail.com> - * doc/syntax/mgp.nanorc: New Magicpoint syntax highlighting definition. - -2010-08-04 Peter <exodus@savannah> - * doc/syntax/tex.nanorc: No longer highlight escaped comments - -2010-06-20 Chris Allegretta <chrisa@asty.org> - * New rc file option allow_insecure_backup, allows the previous security - fixes for backup files to be overridden if you're really positive - you want to. Fixes Savannah bug #29732 by Brian Szymanski <skibrianski>. - -2010-05-23 Chris Allegretta <chrisa@asty.org> - * files.c (write_file): Don't even try to chown() the backup - file unless we're root, since it's probably going to fail if - we're editing a file we don't own. Fixes Savannah bug - #29514: [nano 2.2.2] backup should ignore chown errors. - -GNU nano 2.2.4 - 2010.04.15 - -2010-04-14 Chris Allegretta <chrisa@asty.org> - * doc/man/nano.1,nanorc.5: Remove the backup file warnings now - that a sufficient security fix exists for the backup file code. - -2010-04-14 Chris Allegretta <chrisa@asty.org> - * text.c (do_alt_speller): Skip invoking the alt speller if the file size - is 0 bytes. Fixes Savannah bug #29393 reported by Mike Frysinger. - * files.c (write_file): Don't set current_stat when tmp == TRUE, check - whether current_stat is set when trying to use it, and don't do the - modification check if the filename changed, since we have no way - of knowing about it in that case. Fixes Savannah bug #29392, reported - by Mike Frysinger. [CVE-2010-1160] - -2010-04-13 Felipe Bugno <necron@bol.com.br> - * doc/syntax/cmake.nanorc: Added cmake syntax highlighting file. - -2010-04-09 Chris Allegretta <chrisa@asty.org> - * files.c (do_writeout): Better security fixes for backup file writing, - mangled from submission by Dan Rosenberg <dan.j.rosenberg at gmail>. - [CVE-2010-1161] - -2010-04-08 Chris Allegretta <chrisa@asty.org> - * files.c (do_writeout): Previous fixes should not cause a crash - when saving a new file. Discovered by Mike Frysinger <vapier@gentoo.org>. - -2010-04-07 Chris Allegretta <chrisa@asty.org> - * doc/man/nano.1,nanorc.5: Add warnings about using backup - mode as root due to the Dan Rosenberg security analysis. - -2010-04-02 Chris Allegretta <chrisa@asty.org> - * files.c (do_writeout): Expand modification check to include both the - original file's device ID and inode number as reasons to warn the - user that the file has been modified. Also abort on writing a backup - file when its owner doesn't match the edited file. Based on security - analysis on nano by Dan Rosenberg. [CVE-2010-1160] - -2010-03-21 Chris Allegretta <chrisa@asty.org> - * nano.c (page_stdin et al): Don't attempt to reset/reopen the terminal - settings when reading stdin if it was aborted with SIGINT. May fix - Savannah bug #29114 reported by Mike Frysinger. - -2010-03-21 Mike Frysinger <vapier@gentoo.org> - * doc/syntax/c.nanorc: Add additional support for #include_next and #pragma. - -2010-03-21 Chris Allegretta <chrisa@asty.org> - * move.c (do_page_up, do_page_down()): Explicitly set current_y to 0 when - paging up when not in smooth scroll mode, as previous fixes would otherwise - cause the cursor to not really be moved to the top of the screen. - -2010-03-07 Chris Allegretta <chrisa@asty.org> - * configure.ac, nano.c (handle_sigwinch): Create check for whether LINES and - COLS can safely be redefined. Fixes compilation issues with Cygwin, and likely - with newer versions of ncurses. Fixes Savannah bug #28984 reported by Andy Koppe - and by Eric Oliver via mailing list. - * winio.c (get_mouseinput): Fix stray semicolon in code, also reported in - bug #28984. - -GNU nano 2.2.3 - 2010.02.11 - -2010-01-28 Chris Allegretta <chrisa@asty.org> - * move.c (do_page_up, do_page_down): Fix for smooth mode not preserving cursor - position. Part one of fix for Savannah bug #21178 by Mike Frysinger. - -GNU nano 2.2.2 - 2010.01.17 - -2010-01-17 Chris Allegretta <chrisa@asty.org> - * nano.c (main), prompt.c (do_statusbar_input): Handle problems with an unmapped - function due to key rebinding, fixes crashes on FreeBSD reported by Eitan - Adler <eitanadlerlist@gmail.com>. - -2010-01-14 Chris Allegretta <chrisa@asty.org> - * files.c (do_writeout): Fix for crash / incorrect external modification warning - due to earlier fix in r4467. - -2010-01-12 Chris Allegretta <chrisa@asty.org> - * move.c (do_page_up, do_page_down): Fix issues with not enough scrolling down/up - and cursor centering. - * winio.c (edit_scroll): Remove lots of needless checking of line length for - soft wrapping code. - * winio.c (edit_update): Remove extra code for when updating with old_current outside - of the new buffer boundary and centering issues. - -2010-01-05 Tito <farmatito@tiscali.it> - * search.c (update_history): Fix bad length check causing search crash on armel platform. - -2010-01-04 Chris Allegretta <chrisa@asty.org> - * winio.c: edit_update, edit_redraw: Fix search not scrolling to the middle of the screen - (reported by alpha@qzx.com) and places where we rely on maxrows but should not. - -2009-12-26 Jordi Mallach <jordi@gnu.org> - * doc/man/nano.1: Avoid a groff warning by prepending a zero-width - space to a line starting with '. - -2009-12-22 Chris Allegretta <chrisa@asty.org> - * files.c (write_file): Fix compatibility with previous stat fix and tiny mode. - -2009-12-22 David Lawrence Ramsey <pooka109@gmail.com> - * global.c: Add new strings for forward/back in the file browser. New variables - nano_forwardfile_msg and nano_backfile_msg. - -2009-12-20 Chris Allegretta <chrisa@asty.org> - * files.c (is_file_writable): remove assert check for f, since it's not - initialized at the time. Fixes Savannah bug #28309, reported by Zoltan Kovacs. - -2009-12-20 Brian Szymanski <skibrianski via Savannah> - * src/files.c (write_file): Check whether stat struct exists, and if not, use the - just obtained stat data. Fixes Ubuntu bug 471568, "reproducible crash in nano on - trying to save to a file different than the one specified on the command line". - -2009-12-15 Chris Allegretta <chrisa@asty.org> - * doc/nanorc.sample.in: Remove erroneous 'set suspendenable' as it's actually a - key binding (e.g. 'bind M-Z suspendenable all') and not a settable flag. Fixes - Savannah bug #28299 reported by Mike Frysinger. - -GNU nano 2.2.1 - 2009.12.12 - -2009-12-12 Chris Allegretta <chrisa@asty.org> - * text.c (do_delete), nano.c (do_output): Add check for length of current line - before and after adding/deleting text, and do full refresh if it is now - a different multiple of COLS. Also get rid of superfluous do_refresh - vars now that we have edit_refresh_needed. - -2009-12-09 David Lawrence Ramsey <pooka109@gmail.com> - * global.c (shortcut_init), browser.c (do_browser): Fix M-W not being bound to - research in either main menu or browser. - -2009-12-09 Chris Allegretta <chrisa@asty.org> - * files.c (read_file): Add parameter for whether we should even try to check - file writability, as the message is useless when we're inserting into an - existing buffer. Fixes Savannah bug #28219. - -2009-12-07 David Lawrence Ramsey <pooka109@gmail.com> - * global.c (shortcut_init): Many fixes for keybindings code oversights, including - restore page up/down and GotoDir in browser. - * browser.c (do_browser): Fix breaking out of a submenu (e.g. gotodir), it broke - out of the browser altogether. - * doc/nanorc.sample.in: Add missing entries for fortran/ObjC/OCaml entries. - -2009-12-03 David Lawrence Ramsey <pooka109@gmail.com> - * global.c (shortcut_init): Remove help shortcut from help shortcut list. :-) Tweaked - to reorder exit shortcut to end of list to not mess up prev/next shortcut symmetry. - -2009-12-03 Eitan Adler <eitanadlerlist@gmail.com> - * doc/syntax/makefile.nanorc: Fix poor regex for all alpha characters which sometimes - leads to error messages, reported by gibboris@gmail.com. - -2009-12-02 Chris Allegretta <chrisa@asty.org> - * text.c (add_undo, do_undo, do_redo): Do not execute cases for SPLIT when - DISABLE_WRAPPING is defined. Fixes Savannah bug #28151 (anon). - -2009-12-02 Jordi Mallach <jordi@gnu.org> - * doc/man/nano.1: Fix escaping of hyphens for the -$ option. - -2009-12-01 Kamil Dudka <kdudka@redhat.com> - * chars.c, file.c: Better handle unused results for things like mbtowc(), new - macro IGNORE_CALL_RESULT. - -2009-12-01 Chris Allegretta <chrisa@asty.org> - * global.c (shortcut_init): Remove redundant entries for ^Y/^V reported by - Christian Weisgerber. - * doc/man/nanorc.5: Fix typo in Meta documentation, reported by <gibboris@gmail.com>. - -2009-12-01 David Lawrence Ramsey <pooka109@gmail.com> - * global.c (shortcut_init): Add support for ^P and ^N in the help menu. - * Update documentation for 2.2 features including sample nanorc file, texinfo - file, man pages, UPGRADE file, and update copyright notice for the current year. - -GNU nano 2.2.0 - 2009.11.30 - -2009-11-29 Chris Allegretta <chrisa@asty.org> - * prompt.c (get_prompt_string): Universally handle help key when it is disabled. - Fixes Savannah bug #28117 by David Lawrence Ramsey <pooka109@gmail.com>. - * chars.c, files.c: Add junk vars to silence the compiler. Sigh. - -2009-11-29 David Lawrence Ramsey <pooka109@gmail.com> - * Change several *chars to const char, additional cleanups and casts to make compilers happier. - * global.c: Fix replace and insert file initializations for proper compilation options. - * nano.c (do_suspend): Update comments to reflect actual code path, bad Chris, and thanks for - noticing, Jordi. - * configure.ac: Fix typos. - -2009-11-27 Chris Allegretta <chrisa@asty.org> - * nano.c (do_suspend): Don't clear the screen but do move the cursor down to the last line - first in an effort to not corrupt the screen, which contradicts Pico but is consistent - with almost all other text editors. Fixes Savannah bug #28110 / Debian bug 460510 - reported by Tim Connors <reportbug@rather.puzzling.org>. - * doc/syntax/makefile.nanorc: Sample Makefile highlighting based on wiki.linuxhelp.net version. - -2009-11-26 Chris Allegretta <chrisa@asty.org> - * winio.c (edit_scroll): Adjust for long lines when scrolling. - * rcfile.c (parse_rcfile): initialize size argument to getline(), fixes crash on FreeBSD - reported by Eitan Adler <eitanadlerlist@gmail.com>. - -2009-11-26 Jordi Mallach <jordi@gnu.org> - * doc/man/*: Update all man pages to escape unescaped hyphens. - -2009-11-24 Chris Allegretta <chrisa@asty.org> - * move.c (do_page_up, do_page_down): Make these functions work better with soft - line wrapping. - * winio.c (compute_maxrows): Make maxrows calculation more accurate when all lines are > COLS. - -2009-11-22 Chris Allegretta <chrisa@asty.org> - * nano.c (main): Allow edit_refresh_needed to take effect when using --enable-tiny - (fixes Savannah bug #28076 reported by David Lawrence Ramsey). - -2009-11-22 David Lawrence Ramsey <pooka109@gmail.com> - * nano.c (move_to_filestruct): Fix bug 71 (cut at top of line recenters). - * Fix compilation with --enable-tiny. - -2009-11-22 Mike Frysinger <vapier@gentoo.org> - * doc/syntax/gentoo.nanorc: Tweak comment highlighting. - -GNU nano 2.1.99pre2 - 2009.11.21 - -2009-11-21 Chris Allegretta <chrisa@asty.org> - * rcfile.c: Add unbinding keyword, fixes Savannah bug #22852 reported by frankd. - * prompt.c (update_statusbar_line): Set statusbar_pww when updating the line. - Fixes Savannah bug #24957 reported by Mike Frysinger. - -2009-11-19 Chris Allegretta <chrisa@asty.org> - * nano.c (die_save_file): Try and match the permissions of the file we were - editing but only make a minimal effort to do so. Fixes Savannah bug #27273 - reported by Mike Frysinger. - -2009-11-18 Adrian Bunk <bunk via Savannah> - * nano.c (main): Allow --fill and --nowrap to override nanorc entries - and each other on the command line. - -2009-11-15 Chris Allegretta <chrisa@asty.org> - * winio.c (edit_refresh): Always computer maxsize regardless of whether smooth scrolling - is enabled. Fixes Savannah bug #28024 by Mike Frysinger. - -GNU nano 2.1.99pre1 - 2009.11.15 - -2009-11-14 Chris Allegretta <chrisa@asty.org> - * move.c (do_first_line, do_last_line): Just set edit_refresh_needed - rather than get messy. - * files.c (do_writeout): Only mention file modification if we're - writing the same file we originally opened. - -2009-11-13 Chris Allegretta <chrisa@asty.org> - * winio.c: Add new static maxsize for easier calculation with softwrap. - * nano.c (do_mouse): Fix mouse support not working with soft wrapping. - Fixes Savannah bug #27549 reported by Hannes Schueller. - -2009-11-11 Chris Allegretta <chrisa@asty.org> - * winio.c: Large tweaking of cursor and text display based on COLS not COLS - 1, - due to finally understanding that display_string wasn't being called properly - when softwrap was enabled. Fixes Savannah bug #27603, "Return key doesn't scroll - viewport" reported by Hannes Schueller. - * Fix size_t formatting issues with -pedantic - -2009-11-09 Chris Allegretta <chrisa@asty.org> - * files.c (read_file): Remove debugging messages from file load. - Fixes Savannah bug #27838. - -2009-11-07 Chris Allegretta <chrisa@asty.org> - * nano.h: Add bogus value at begin of flags enumeration because it - caused the casesens rcfile option to misbehave, reported by Helmut - Jarausch <jarausch@igpm.rwth-aachen.de>. - -2009-11-03 Chris Allegretta <chrisa@asty.org> - * nano.h: Fix comma at end of enumerator list which angers -pedantic. - * rcfile.c: Add in specific check for UNDOABLE and fix declaration as - to what flag it toggles. Fixes undo mode being able to be called from - the rc file, reported by Helmut Jarausch <jarausch@igpm.rwth-aachen.de>. - -2009-11-03 Mike Frysinger <vapier@gentoo.org> - * files.c: Move up is_file_writable() to stop implicit definition complaints. - -2009-10-27 Chris Allegretta <chrisa@asty.org> - * browser.c (browser_init): Set column width to something sane when - initializing in a directory with no file entries. Fixes Savannah - bug #24163 found (and initial patch) by Paul Wise. - -2009-09-15 Chris Allegretta <chrisa@asty.org> - * winio.c: Clean up some unused variables from the soft wrapping code. - -GNU nano 2.1.11 - 2009.09.14 - -2009-09-12 Chris Allegretta <chrisa@asty.org> - * winio.c (edit_update): properly update edittop when using soft wrapping. - Fixes lack of centering for searching for off-screen answers, found by - Hannes Schueller <mr_creosote@mutantwatch.de>. - -2009-09-03 Chris Allegretta <chrisa@asty.org> - * global.c (shortcut_init): Fix up/down keys not responding in the file browser, - discovered by Hannes Schueller <mr_creosote@mutantwatch.de>. - * move.c (do_up): Fix another scrolling issue with softwrap when the cursor - is beyond COLS, discovered by Hannes Schueller <mr_creosote@mutantwatch.de>. - -2009-09-02 Chris Allegretta <chrisa@asty.org> - * Attempt to check file writability and emit a warning on the status bar - if nano doesn't think the file can be written to. Feature originally - requested by Damien Joldersma <damien@skullsquad.com> et al. - -2009-08-29 Chris Allegretta <chrisa@asty.org> - * Fix more soft wrapping issues, particularly with scrolling, - discovered by Hannes Schueller <mr_creosote@mutantwatch.de>. - -2009-08-19 Chris Allegretta <chrisa@asty.org> - * Fix issue with soft wrapping not displaying the last character of each line, - fixed bug discovered by Hannes Schueller <mr_creosote@mutantwatch.de>. - -2009-08-17 Mike Frysinger <vapier@gentoo.org> - * doc/syntax/(gentoo|sh|tcl).nanorc: Fix problems with empty regexes on POSIX. - Fixes Savannah bug #27175. - -2009-08-17 Chris Allegretta <chrisa@asty.org> - * Initial soft line wrapping implementation. Command-line flags -$ or --softwrap. - * nano.c, text.c: Clean up some fprintf warnings in debug mode due to printing - a size_t without using the zd specifier. - -2009-08-13 Chris Allegretta <chrisa@asty.org> - * New global flag implementation courtesy of Adam Wysocki <gophi@arcabit.pl>, allows - previous undo flag to be implemented consistent with other flags. - -GNU nano 2.1.10 - 2009.07.28 - -2009-07-27 Chris Allegretta <chrisa@asty.org> - * text.c (undo_cut, redo_cut): Don't actually try and undo/redo an empty cut, i.e. the magicline. - Fixes crash on cutting last line discovered by Eitan Adler <eitanadlerlist@gmail.com>. - -2009-07-11 Chris Allegretta <chrisa@asty.org> - * nano-regress: Small tweaks. - * Change undo code to off unless enabled via a command line option (-u/--undo). - Until this code stabilizes this is the only responsible way to treat it. - -2009-03-08 Chris Allegretta <chrisa@asty.org> - * TODO: Break out some targets for various features into 2.2 - and 2.4 series for things which are feasible. - -2009-02-28 Chris Allegretta <chrisa@asty.org> - * configure.ac: Add check for whether _XOPEN_SOURCE_EXTENDED is needed for - curses to work w/color. Fixes compilation on HP-UX with older GCC, - reported by jay.krell@cornell.edu. - -2009-02-23 Eitan Adler <eitanadlerlist@gmail.com> - * doc/man/Makefile.am: Fix make variable substitution to be more portable. - -2009-02-23 Chris Allegretta <chrisa@asty.org> - * rcfile.c (parse_keybinding): Define a var before tryung to use it. Whoops! - * fix some redefinitions causing compiler warnings, from Eitan Adler. Other - (hopefully) fixes for uncasted malloc()s, reported by the same. - * doc/man/fr/Makefile.am: Add groff check fix to fr files. - -GNU nano 2.1.9 - 2009.02.16 - -2009-02-16 Chris Allegretta <chrisa@asty.org> - * Add new argument to reset_multis for force redraws without attempting to - guess whether we need to, for functions that we don't have good info about - the text state. New utility function color.c:reset_multis_for_id(). - -2009-02-15 Chris Allegretta <chrisa@asty.org> - * configure.ac, doc/man/Makefile.am: Add check for HTML output support in GNU - groff. Fixes Savannah bug #24461: build traps on groff. Also, add installation - of html-ized man pages to $datadir/nano/man-html, since we should probably - install files we went to all the trouble of generating. - -2009-02-14 Chris Allegretta <chrisa@asty.org> - * nano.c (precalc_multicolorinfo): Add debugging so we have a better clue if further - issues arise. Also start at the beginning of later lines when trying to match the - end of a multi-line regex. Fixes more overly aggressive highlighting found by - Mike Frysinger. Finally, advance to the match end for performance. - -2009-02-11 Chris Allegretta <chrisa@asty.org> - * nanorc.c (parse_include): Do call real_dir_from_tilde() on included - files in .nanorc, but still avoiding bug #25297. Fixes ~ and ~user - specifications for nanorc include files, as reported by Eitan Adler. - -2009-02-09 Chris Allegretta <chrisa@asty.org> - * New option -q, --quiet, rcfile option "quiet" implemented. Skips printing - errors about the rcfile and asking user to press enter. Also, nano should - now only ask for one enter press when there is an error when not using -q. - Based on discussion between Eitan Adler and Mike Frysinger. - * rcfile.c (parse_keybinding): Significant cleanups and fixes for - detecting and reporting errors in key bindings code. - -2009-02-08 Chris Allegretta <chrisa@asty.org> - * Make reset_multidata reset more lines, since contrary to previous problems the - syntax highlting is now too *un*ambitious, causing display glitches when - deleting a regex boundary. - * Add more multidata initliazers for new buffers and 'magic lines'. Fixes segfaults - with syntax highlighting in new buffers, initially reported by Mike Frysinger. - -GNU nano 2.1.8 - 2009.02.07 - -2009-02-06 Chris Allegretta <chrisa@asty.org> - * rcfile.c (parse_include): Abort on being unable to open an included rcfile. - Fixes Savannah bug #25490, nanorc: "include"ing a file which doesn't exist - causes nano to segfault. - -2009-02-05 Chris Allegretta <chrisa@asty.org> - * More color syntax speedups: Determine in reset_multis() whether we really need to call - edit_refresh(). Additional global var edit_refresh_needed() to hopefully reduce - repeated calls to the function. New helper funcs reset_multis_before() and - reset_multis_after(). - -2009-02-02 Chris Allegretta <chrisa@asty.org> - * New color precalculation code for mult-line regexes. New function precalc_multicolorinfo(), - new structure multidata for keeping track of where regexes start/stop. More - performance improvements forthcoming. - -2009-01-29 Chris Allegretta <chrisa@asty.org> - * nano.c (move_to_filestruct): Properly initialize new fileage for multiswatching, sigh. - Fix cut segfaults discovered by Mike Frysinger. - -2009-01-29 Chris Allegretta <chrisa@asty.org> - * nano.c (main): Add support for nano acting like a pager when invoked with - as first - file argument. - -2009-01-28 Davide Pesavento <davidepesa@gmail.com> - * doc/syntax/gentoo.nanorc: Updates from David and Mike Frysinger. - -2009-01-25 Chris Allegretta <chrisa@asty.org> - * files.c (open_file), nanorc.c (parse_include): Don't get_full_path on included - rc files, due to it potentially impacting the ability to read files in nano's - cwd(). Fixes Savnanah bug #25297 reported by Mike Frysinger. - -2009-01-24 Chris Allegretta <chrisa@asty.org> - * First pass at some caching of caching color info. Right now it's only for - multi-line regexes but this may not be enough to increase performance. - * Add interruptability to search functions. New functions enable_nodelay and - disable_nodelay and changes to the routines to handle checking for pending - searches. Fixes Savnnah bug #24946: Need interrrupt for search. - -2009-01-19 Chris Allegretta <chrisa@asty.org> - * Change function definitions to shorts instead of (void *)s. New mapping function - iso_me_harder_funcmap(). Fixes compilation complaints with -pedantic, - reported by Eitan Adler <eitanadlerlist@gmail.com>. - -GNU nano 2.1.7 - 2008.11.10 - -2008-10-20 Chris Allegretta <chrisa@asty.org> - * files.c (do_writeout): Add check for file modification when saving - the file so the user can at least know they may be blowing away changes. - -2008-10-14 Chris Allegretta <chrisa@asty.org> - * nanorc.5: Fix redo man page entry and update explanation, reported by - Eitan Adler <eitanadlerlist@gmail.com>. - * global.c (shortcut_init), search.c (search_init): Fix add_to_sclist for ^W^T so - invalid messages will display properly. Fixes Savannah bug #24507. - -2008-10-13 Chris Allegretta <chrisa@asty.org> - * Remove CUTTOEND as an undo type as it's unneeded, fix u->to_end logic in undo struct. - * undo.c (update_undo): Don't free cutbuffer if NULL, fixes Savannah bug #24499. - -2008-10-04 Chris Allegretta <chrisa@asty.org> - * cut.c (add_undo): Save last cut undo information so it can be used for - next uncut, fixes Savannah bug #24183. - -GNU nano 2.1.6 - 2008.10.03 - -2008-10-03 Pascal Gentil <pascal.gentil@univ-rennes1.fr> - * fortran.nanorc: Sample Fortran syntax highlighting file. - -2008-09-30 Dirkjan Ochtman <dirkjan@ochtman.nl> - * python.nanorc: Small Python syntax update. - -2008-09-30 <bluestorm_dylc@hotmail.com> - * ocaml.nanorc: Sample OCaml syntax highlighting file. - -2008-09-30 Dave Geering <dgeering@toshiba-tap.com> - * objc.nanorc: Sample Objective-C syntax hightlighting file. - -2008-09-30 Chris Allegretta <chrisa@asty.org> - * configure.ac: Change extra, multibuffer, color and rcfile configure options - to default to enabled --enable-tiny will now disable these options as well. - * python.nanorc, ruby.nanorc: Add header lines for Python and Ruby as well. - -2008-09-21 Chris Allegretta <chrisa@asty.org> - * rcfile.c, color.c, nano.h: Add new capability for matching a syntax type by - the "header" (1st line) of a file being edited. Based on Savannah bug #24197 - and initial proof of concept by Dave Geering <dgeering@toshiba-tap.com>. - -2008-09-16 Chris Allegretta <chrisa@asty.org> - * text.c: Add support for undoing a text uncut. Split out the undo and redo - of a text cut in order to avoid code duplication. - -2008-09-06 Chris Allegretta <chrisa@asty.org> - * nano.c: Do call disable_signals at startup regardless, since under Cygwin - we can't generate ^C without it. - -GNU nano 2.1.5 - 2008.08.30 - -2008-08-29 Chris Allegretta <chrisa@asty.org> - * configure.ac, color.c, rcfile.c, utils.c: 1st attempt at supporting systems - which don't support GNU-style word boundaries. New function fixbounds() to - translate from GNU-style to BSD-style, autoconf option GNU_WORDBOUNDS. - * nano-regress: New perl script to check for some of the more obvious issues - with compilation issues with certain configure options. - * global.c, help.c, browser.c, files.c, proto.h: Fix several compilation and - programmatic issues with --disable-help, especially that do-writeout was - treating ^G the same as ^M. - -2008-08-28 Chris Allegretta <chrisa@asty.org> - * configure.ac, rcfile.c: Add support for an alternate rcfilename at configure time. Maybe this - should become a command line option some day, but I don't see the need currently. Start of - fix for Savannah bug #24128: Add nanorc support to win32 platform. - -2008-08-21 Chris Allegretta <chrisa@asty.org> - * text.c: Change error messages where we may possibly get into a bad state and urge the - user to save when this happens. Originally by Benno Schulenberg <bensberg@justemail.net> - * text.c (do_enter): Fix issue when compiled with --enable-debug, fixes Savannah bug #24092. - -2008-08-08 Magnus Granberg <zorry@ume.nu> / Adam Conrad <?> - * files.c (write_file): Add needed flags to open() calls when writing out files. - Fixes Savannah bug #23827: Compilation fails with -D_FORTIFY_SOURCE=2. - -2008-08-08 Chris Allegretta <chrisa@asty.org> - * files.c (write_file): Check the exit code of fclose(), since in certain - out-of-space conditions the OS will happily report successful fwrite()s - until you try and close the file. Fixes Savannah bug #24000: no free - space on partition - nano claims successful write - file is empty. - -GNU nano 2.1.4 - 2008.08.09 - -2008-08-08 Chris Allegretta <chrisa@asty.org> - * files.c (write_file): Do not go on and attempt to write the main file if writing - the backup file failed, related to Savannah bug #24000. - * text.c (do_redo): Fix improperly restoring the text when redoing a line split. - * text.c (add_undo): Fix check for multi-line cut check skips adding other new legit events. - -2008-07-23 Chris Allegretta <chrisa@asty.org> - * text.c: Reset openfile-> to OTHER after an undo or redo so we don't - mistakenly think this is an update when it's really an add. Also - fix an extra ; after an if statement which makes nano try to free - a struct which may be NULL. - -GNU nano 2.1.3 - 2008.08.04 - -2008-07-23 Chris Allegretta <chrisa@asty.org> - * configure.ac: Add ncursesw dir to include path if lib is detected. - -2008-07-11 Mike Frysinger <vapier@gentoo.org> - * doc/nanorc.sample.in: Include the updated files in the default sample nanorc. - -2008-07-11 Fabian Groffen <grobian@gentoo.org> - * nano.c: Don't include langinfo.h if not using ENABLE_UTF8 - (Savannah patch #6565). - -2008-07-11 Mitsuya Shibata <mty.shibata@gmail.com> - * text.c: Fix crashing in help menu when using certain locales - (Savannah bug #23751). - -2008-07-09 Chris Allegretta <chrisa@asty.org> - * nano.c/nano.h/global.c/text.c: New generalized undo code, currently - just works for adding and deleting text and splitting and unsplitting lines. - -2008-06-29 Chris Allegretta <chrisa@asty.org> - * global.c: Fix for not having a search history when --disable-justify is used - (Savannah bug #23733). - -GNU nano 2.1.2 - 2008.06.24 - -2008-06-24 Chris Allegretta <chrisa@asty.org> - * rcfile.c: Added function check_bad_binding() to look for sequences which - shouldn't be bound, per Savannah bug #22674. - -2008-05-31 Chris Allegretta <chrisa@asty.org> - * prompt.c,search.c,global.c: Tentative fix for bug #23144: using arrow - keys in search buffer affects main window (by Mike Frysinger). - -2008-05-31 Chris Allegretta <chrisa@asty.org> - * global.c: Fix for Savannah bug #23442: left/right arrow keys - do not work with --enable-tiny (by Mike Frysinger). - -2008-05-31 Chris Allegretta <chrisa@asty.org> - * files.c,proto.h,text.c: Fix for conflicts with AIX curses - variables, from William Jojo <jojowil@hvcc.edu>. - -2008-05-31 Chris Allegretta <chrisa@asty.org> - * global.c: Fix for compile error when --disable-speller is used - (Savannah bug #23227 by Mike Frysinger). - -2008-05-31 Chris Allegretta <chrisa@asty.org> - * Fix for seg fault when window size is too small, - by Andreas Amann <andreas.amann@tyndall.ie>. - -GNU nano 2.1.1 - 2008.04.01 - -2008-05-31 Chris Allegretta <chrisa@asty.org> - * Added the following contributed files, by owner: - Donnie Berkholz <dberkholz@gentoo.org> - * Sample awk.nanorc - Simon Rupf <simon.rupf@int-ag.ch> - * Sample css.nanorc - Josef 'Jupp' Schugt <jupp@rubyforge.org> - * Sample ruby.nanorc - -2008-03-31 Chris Allegretta <chrisa@asty.org> - * global.c: Fix for issues compiling with --enable-tiny and - --enable-multibuffer, as reported by Mike Frysinger. - * files.c: Fix the fact that the insert file prompt text did not - properly appears in tiny mode. - -2008-03-19 Benno Schulenberg <bensberg@justemail.net> - * help.c, nano.c: Fix toggle help not being translated, fix allocation - issue. - -2008-03-19 Chris Allegretta <chrisa@asty.org> - * global.c: Fix bracket matching sequence to be M-] not M-[, as reported - Nick Warne <nick@ukfsn.org>. - * doc/syntax/Makefile.am: Actually include new syntaxes from Mike, etc. - * debian.nanorc: New debian sources.list config since we're including - gentoo, adapted from Milian Wolff <mail@milianw.de>. - -2008-03-18 Mike Frysinger <vapier@gentoo.org> - * winio.c: Remove unneeded variable in parse_kbinput(). - * rcfile.c: Relocate check_vitals_mapped() function to just above where - it actually gets used and declare it "static void" in the process. - * global.c: Only declare nano_justify_msg when justify support is enabled. - * php.nanorc: Php syntax highlighting config. - * tcl.nanorc: Tcl syntax highlighting config. - * gentoo.nanorc: Gentoo syntax highlighting config. - -2008-03-17 Benno Schulenberg <bensberg@justemail.net> - * global.c: Fix incorrect first line jump messsage, fix - more comments to assist translators. - * winio.c: Fix shortcut labels not being translated. - -2008-03-17 Mike Frysinger <vapier@gentoo.org> - * */.gitignore: Git ignore files for those running a local git - against SVN. - -2008-03-16 Benno Schulenberg <bensberg@justemail.net> - * src/help.c, src/global: Fix help strings no longer being - translated properly. - * src/global.c, doc/man/nanorc.5: Fix typos and poorly worded - lines in the source and man pages. - -2008-03-04 Chris Allegretta <chrisa@asty.org> - * everything: New shortcut backend. New structs subnfunc - for menu functions and toggles and sc for shortcut keys, old - 'shortcut' and 'toggles' structs are gone. The current implementation - has a bunch of broken stuff (some of which is documented in BUGS). - Updated nanorc.5 with some mostly complete documentation on configuring. - -2007-12-20 David Lawrence Ramsey <pooka109@gmail.com> - * AUTHORS, doc/faq.html: Update maintenance information. - * NEWS: Resync with NEWS from the 2.0 branch. - -2007-12-18 David Lawrence Ramsey <pooka109@gmail.com> - * nano.c (print_opt_full): Use strlenpt() instead of strlen(), - so that tabs are placed properly when displaying translated - strings in UTF-8, as found by Jean-Philippe Guérard. - -2007-12-17 David Lawrence Ramsey <pooka109@gmail.com> - * configure.ac, doc/texinfo/nano.texi, nano.c (terminal_init): - Change slang curses emulation support to turn off the same - options as --enable-tiny, as it's hopelessly broken otherwise. - * nano.c (disable_signals, main): Simplify terminal handling by - using raw mode instead of cbreak mode. - * text.c (execute_command): Call terminal_init() instead of just - disable_signals() after executing the command, as the command - may have changed the terminal settings. - * ChangeLog.pre-2.1: Add missing attribution. - * NEWS: Resync with NEWS from the 2.0 branch. - -2007-12-10 David Lawrence Ramsey <pooka109@gmail.com> - * nano.c (main): Exit if initscr() fails. - -2007-12-09 David Lawrence Ramsey <pooka109@gmail.com> - * faq.html: Add minor punctuation and wording fixes, and update - various sections to account for Alpine. - -2007-12-08 David Lawrence Ramsey <pooka109@gmail.com> - * prompt.c (do_statusbar_mouse, reset_statusbar_cursor, - update_statusbar_line, need_statusbar_horizontal_update): Fix - minor display and cursor placement problems when scrolling - between pages at the statusbar prompt. - -2007-12-07 David Lawrence Ramsey <pooka109@gmail.com> - * winio.c (get_mouseinput): Fix longstanding problem where mouse - clicks on the statusbar prompt text wouldn't be recognized - unless the NO_HELP flag was turned off. - * doc/man/rnano.1, doc/man/fr/rnano.1: Update copyright notices, - as Thijs Kinkhorst's copyrights have now been assigned to the - Free Software Foundation. - -2007-12-04 David Lawrence Ramsey <pooka109@gmail.com> - * nano.c (main), prompt.c (get_prompt_string), winio.c - (do_replace_highlight): Per OKATA Akio's patch, with minor - tweaks by me, add wnoutrefresh() calls after - reset_(statusbar_)?cursor() calls, to ensure that the cursor is - placed properly when using NetBSD curses. - * nano.c (disable_mouse_support, enable_mouse_support): When - toggling mouse support on or off, save and restore the mouse - click interval. - -2007-11-29 Jean-Philippe Guérard <jean-philippe.guerard@tigreraye.org> - * doc/man/fr/*.1, doc/man/fr/nanorc.5: Fix copyright notices. - The copyrights are disclaimed on these translations, but the - copyrights of the untranslated works also apply. - -2007-11-28 David Lawrence Ramsey <pooka109@gmail.com> - * doc/man/fr/nanorc.5: Remove trailing whitespace. - -2007-11-17 David Lawrence Ramsey <pooka109@gmail.com> - * files.c (read_file): Improve autodetection of DOS and Mac - format files to not trigger on carriage returns in the middle of - files, as found by Kjell Braden. - -2007-11-06 David Lawrence Ramsey <pooka109@gmail.com> - * doc/man/rnano.1, doc/man/fr/rnano.1: Update copyright notices, - as Jordi Mallach's copyrights have now been assigned to the Free - Software Foundation. - -2007-11-05 David Lawrence Ramsey <pooka109@gmail.com> - * search.c (do_gotolinecolumn): Use a clearer error message if - we enter an invalid line or column number, per Mike Melanson's - suggestion. - -2007-10-11 David Lawrence Ramsey <pooka109@gmail.com> - * doc/man/nano.1, doc/man/fr/nano.1, doc/texinfo/nano.texi, - src/*.c, src/*.h: Update copyright notices, as Chris - Allegretta's copyrights have now been assigned to the Free - Software Foundation. - * doc/man/nanorc.5, doc/man/fr/nanorc.5: Make copyright notices - for these files consistent in style. - * files.c (cwd_tab_completion): Remove unneeded assert. - * files.c (username_tab_completion, cwd_tab_completion): Rename - variable buflen to buf_len, for consistency. - * files.c (input_tab): Disable completion of usernames, - directories, and filenames if the cursor isn't at the end of the - line, as it can lead to odd behavior (e.g. adding a copy of the - entire match to the middle of the line instead of just the - uncompleted part of the match). - -2007-10-05 David Lawrence Ramsey <pooka109@gmail.com> - * src/*.c, src/*.h: Update copyright notices, as my copyrights - have now been assigned to the Free Software Foundation. - -2007-09-16 David Lawrence Ramsey <pooka109@gmail.com> - * winio.c (edit_scroll): Fix problem where the screen wouldn't - be updated properly if you paged up with the first line of the - file onscreen and the mark on. - -2007-08-26 David Lawrence Ramsey <pooka109@gmail.com> - * doc/faq.html: Update links to the Free Translation Project. - -2007-08-23 Jean-Philippe Guérard <jean-philippe.guerard@tigreraye.org> - * doc/man/fr/*.1, doc/man/fr/nanorc.5: Add translation of new - licensing terms. - -2007-08-23 David Lawrence Ramsey <pooka109@gmail.com> - * doc/man/fr/*.1, doc/man/fr/nanorc.5: Delete translation of - old licensing terms, until it can be updated. - -2007-08-22 David Lawrence Ramsey <pooka109@gmail.com> - * COPYING.DOC: Add a copy of the GNU FDL version 1.2. - * Makefile.am: Add COPYING.DOC to EXTRA_DIST. - * doc/man/*.1, doc/man/nanorc.5, doc/man/fr/*.1, - doc/man/fr/nanorc.5, doc/texinfo/nano.texi: Relicense to the GNU - GPL version 3 or later/the GNU FDL version 1.2 or later with no - Invariant Sections, Front-Cover Texts, or Back-Cover Texts. - -2007-08-21 David Lawrence Ramsey <pooka109@gmail.com> - * doc/man/rnano.1, doc/man/fr/rnano.1: Add missing copyright - notice from nano-tiny.1, which rnano.1 is based on. - * doc/man/fr/nano.1, doc/man/fr/nanorc.5, doc/man/fr/rnano.1: - Make all copyright notices consistent. - -2007-08-16 David Lawrence Ramsey <pooka109@gmail.com> - * files.c (do_insertfile): Properly handle more cases of - inserting a file with the mark on. - * nano.c (copy_from_file): Properly handle more cases of - uncutting text with the mark on. - -2007-08-15 David Lawrence Ramsey <pooka109@gmail.com> - * Makefile.am: Remove erroneous backslash after - ChangeLog.pre-2.1 in EXTRA_DIST, so that "make dist" works - again. - * files.c (do_insertfile): Make sure the mark is always properly - positioned after inserting a file with the mark on. - * nano.c (copy_from_file): Make sure the mark is always properly - positioned after uncutting multiple lines with the mark on. - -2007-08-11 David Lawrence Ramsey <pooka109@gmail.com> - * COPYING: Add a copy of the GNU GPL version 3. - * configure.ac, *.c, *.h: Relicense to the GNU GPL version 3 or - later. - -2007-08-10 David Lawrence Ramsey <pooka109@gmail.com> - * files.c (username_tab_completion, cwd_tab_completion, - input_tab): Update copyright notice to account for - modifications. - * utils.c (ngetdelim): Simplify. - * utils.c (ngetline, ngetdelim): Update copyright notice to - account for modifications. - -2007-08-07 David Lawrence Ramsey <pooka109@gmail.com> - * nano.c (copy_from_file): Fix potential segfault, found by Paul - Goins, after uncutting one line of text with the mark on by - properly preserving the beginning of the mark. - * nano.c (copy_from_file): Make sure the mark is always properly - positioned after uncutting one line of text with the mark on. - -2007-08-01 David Lawrence Ramsey <pooka109@gmail.com> - * nano.c (version): Display copyright notices. - -2007-07-31 David Lawrence Ramsey <pooka109@gmail.com> - * configure.ac: Update copyright notice to account for - modifications. - -2007-07-29 David Lawrence Ramsey <pooka109@gmail.com> - * doc/faq.html: Update RPM links for nano 2.0.x. - -2007-07-11 David Lawrence Ramsey <pooka109@gmail.com> - * files.c (copy_file): Assert that inn and out don't both point - to the same file. - -2007-07-10 David Lawrence Ramsey <pooka109@gmail.com> - * chars.c (nstrcasestr, mbstrcasestr, revstrstr, revstrcasestr, - mbrevstrcasestr): Simplify and rewrite to use the strncasecmp() - equivalents. - -2007-07-09 David Lawrence Ramsey <pooka109@gmail.com> - * chars.c (nstrcasestr, mbstrcasestr, revstrstr, revstrcasestr, - mbrevstrcasestr): Fix typo that broke the check for needle's - being blank. - * chars.c (mbstrncasecmp, mbstrnlen, mbstrpbrk, - has_blank_mbchars): Simplify by using for loops instead of while - loops where possible, to match the single-byte versions of these - functions. - * search.c (do_replace_loop): Fix problem where replacing e.g. - single-byte characters with multibyte ones could result in - openfile->totsize's being miscalculated. - -2007-07-06 David Lawrence Ramsey <pooka109@gmail.com> - * chars.c (nstrcasestr, mbstrcasestr, revstrstr, revstrcasestr, - mbrevstrcasestr): Return char* instead of const char*. - -2007-07-02 David Lawrence Ramsey <pooka109@gmail.com> - * chars.c (nstrcasestr, mbstrcasestr, revstrstr, revstrcasestr, - mbrevstrcasestr): For efficiency, return haystack/rev_start - immediately if needle is blank. - -2007-07-01 David Lawrence Ramsey <pooka109@gmail.com> - * chars.c (nstrncasecmp, mbstrncasecmp): For efficiency, return - zero immediately if s1 and s2 point to the same string. - -2007-06-30 David Lawrence Ramsey <pooka109@gmail.com> - * prompt.c (do_yesno_prompt): Remove redundant check for - NO_HELP's being FALSE. - -2007-06-28 David Lawrence Ramsey <pooka109@gmail.com> - * browser.c (do_browser), nano.c (do_mouse), prompt.c - (do_statusbar_mouse, do_yesno_prompt): Further simplify - processing of mouse events by consolidating if clauses. - * winio.c (do_mouseinput): Return unconditionally if we get a - mouse event that we don't deal with, instead of inside an else - clause. - -2007-05-29 David Lawrence Ramsey <pooka109@gmail.com> - * winio.c (do_mouseinput): Deal with clicks of the first mouse - button again. Oddly, ncurses built without --enable-ext-mouse - needs this, but ncurses built with --enable-ext-mouse doesn't. - -2007-05-25 David Lawrence Ramsey <pooka109@gmail.com> - * configure.ac, nano.c (main): Replace the current hackish check - for a UTF-8 locale with a proper call to nl_langinfo(). - * winio.c (get_key_buffer): Fix inaccurate comments. - -2007-05-22 David Lawrence Ramsey <pooka109@gmail.com> - * browser.c (do_browser), nano.c (do_mouse), prompt.c - (do_statusbar_mouse, do_yesno_prompt), winio.c (do_mouseinput): - Simplify processing of mouse events. Instead of calling - wenclose() to get the window a mouse event took place in and - manually adjusting the returned coordinates to be relative to - that window the mouse event took place in, call wmouse_trafo(), - which does both. - -2007-05-20 David Lawrence Ramsey <pooka109@gmail.com> - * browser.c (do_browser), nano.c (do_mouse), prompt.c - (do_statusbar_mouse, do_yesno_prompt), winio.c (do_mouseinput): - Fix processing of mouse events so that those we don't handle are - ignored instead of being erroneously passed through. - * winio.c (do_mouseinput): Simplify handling of mouse events - involving the first mouse button by only dealing with releases. - * winio.c (do_mouseinput): Improve mouse wheel support to only - move the cursor if we're in the edit window or on the statusbar. - -2007-05-15 David Lawrence Ramsey <pooka109@gmail.com> - * winio.c (do_mouseinput): Add mouse wheel support, per Helmut - Jarausch's suggestion. Now, if mouse support is enabled, and - nano is using a version of ncurses compiled with the - --enable-ext-mouse option, rolling the mouse wheel up or down - will move the cursor three lines up or down. - -2007-04-23 David Lawrence Ramsey <pooka109@gmail.com> - * TODO: Add entries for fixing limitations with pasting text and - handling bad/incomplete UTF-8 sequences. - -2007-04-22 David Lawrence Ramsey <pooka109@gmail.com> - * text.c (backup_lines): Avoid a segfault when the mark begins - and ends on the line after the last line of the paragraph. - -2007-04-21 David Lawrence Ramsey <pooka109@gmail.com> - * files.c (do_writeout): If we're in restricted mode, we're not - allowed to write selections to files, so don't display the - "Write Selection to File" prompt. - * files.c (do_writeout): Simplify. - -2007-04-19 David Lawrence Ramsey <pooka109@gmail.com> - * files.c (tail): Remove unneeded if statement. - -2007-04-18 John M. Gabriele <jmg3000@gmail.com> - * doc/faq.html: Add a new section 4.14 (with minor tweaks by - David Lawrence Ramsey) to explain how autoindent affects pasted - text. - -2007-04-18 David Lawrence Ramsey <pooka109@gmail.com> - * files.c (open_file): Open files using their full paths - whenever possible, so that ~user/file.txt and "~user/file.txt" - are treated the same way if ~user is a user's home directory. - * files.c (real_dir_from_tilde): Simplify. - * files.c (do_writeout): Properly display the warning in all - cases if we try to save (a) an existing file under a different - name, or (b) a file with no name under an existing file's name. - * files.c (do_writeout): Rename variable different_name to - do_warning, for clarity. - * rcfile.c (parse_include): Open files using their full paths - whenever possible, so that ~user/file.txt and "~user/file.txt" - are treated the same way if ~user is a user's home directory. - * rcfile.c (parse_include): Properly check for the included - file's being a directory, a character file, or a block file. - * rcfile.c (parse_include): For consistency, display the - filename as the user entered it if we can't read the specified - file. - * winio.c (parse_kbinput): Interpret Cancel and Shift-Cancel. - * winio.c (get_escape_seq_kbinput): Add missing comments. - -2007-04-17 David Lawrence Ramsey <pooka109@gmail.com> - * files.c (real_dir_from_tilde): Fix long-standing problem, - found by Justin Fletcher, where directory names that began with - "~", but that weren't users' home directories, could be - erroneously treated as users' home directories (e.g. "~d/" would - be treated as "~daemon/"). - * files.c (input_tab): Don't bother checking if num_matches is - less than zero, as it's a size_t and hence unsigned. - -2007-04-16 David Lawrence Ramsey <pooka109@gmail.com> - * files.c (real_dir_from_tilde): Fix segfault, found by Justin - Fletcher, when dealing with directory names that begin with "~", - but that aren't users' home directories. - -2007-04-11 Mike Frysinger <vapier@gentoo.org> - * doc/syntax/asm.nanorc, doc/syntax/c.nanorc, - doc/syntax/sh.nanorc: Copy the regex that highlights trailing - whitespace (with minor tweaks by David Lawrence Ramsey) from - doc/syntax/java.nanorc to these files, as it's also useful in - them. - -2007-04-04 David Lawrence Ramsey <pooka109@gmail.com> - * AUTHORS, faq.html: Update email address. - * winio.c (get_escape_seq_kbinput): Add escape sequences for - Terminal. - -2007-02-01 Benno Schulenberg <bensberg@justemail.net> - * global.c (shortcut_init): Reword the movement shortcut - descriptions so that they use "Go to" instead of "Move to", - since not all of them move the cursor in the same way. - * global.c (shortcut_init): Reword the paragraph movement - shortcut descriptions to more accurately describe how they work. - * nano.c (usage): Reword the description of the -S/--smooth - command line option in order to differentiate it from the - associated toggle description. - -2007-01-29 David Lawrence Ramsey <pooka109@cox.net> - * ChangeLog: Rework the 2.1 branch's changelog to be more - readable, per Jordi Mallach's suggestion. - * ChangeLog.pre-2.1: Move the 2.0 branch's changelog here, per - Jordi Mallach's suggestion. - * Makefile.am: Add ChangeLog.pre-2.1 to EXTRA_DIST. - * src/help.c (help_init): Add a missing space to the "Execute - Command" help text. diff --git a/ChangeLog.pre-2.1 b/ChangeLog.1999-2006 diff --git a/ChangeLog.2007-2015 b/ChangeLog.2007-2015 @@ -0,0 +1,4010 @@ +[Development moved to git on April 1. The Changelog was discontinued.] + + +2016-03-31 Benno Schulenberg <bensberg@justemail.net> + * src/text.c (do_int_spell_fix): Replace a fake 'while', delete a + redundant 'if', rename a variable, and adjust whitespace. + +2016-03-30 Benno Schulenberg <bensberg@justemail.net> + * src/search.c (do_replace_loop, go_looking, findnextstr): Report + "Cancelled" instead of "Not found" when the user aborts a replace + that is taking too long. This fixes Savannah bug #47439. + * src/winio.c (do_replace_highlight): Rename this to 'spotlight', + for clarity, and for contrast with 'do_replace/do_replace_loop'. + * src/winio.c (spotlight): Rename a variable for clarity. + * src/files.c (input_tab), src/prompt.c (get_prompt_string): + Rename a variable to better indicate booleanness. + * src/text.c (do_int_speller): Unwrap a few lines. + +2016-03-29 Benno Schulenberg <bensberg@justemail.net> + * src/nano.c (main), src/text.c (do_justify, do_verbatim_input), + src/winio.c (parse_escape_sequence): Place the cursor in the edit + window also when --constantshow is in effect, after a ^J Justify or + an invalid escape sequence, and when entering a verbatim keystroke. + Leave the cursor off during Unicode input, for extra feedback. + * src/browser.c (do_browser): Improve the wording of a message. + * src/chars.c (is_valid_unicode): Speed up Unicode validation. + * src/text.c (do_int_spell_fix): Allow to stop replacing a word + without aborting the entire spell-fixing session. + * src/search.c (do_replace_loop): Chop a now-unused parameter. + +2016-03-28 Benno Schulenberg <bensberg@justemail.net> + * src/winio.c (statusbar): Don't bother putting back the cursor in + the edit window, as it is off anyway, and will be placed back in the + main loop. This prevents a segfault when trying to open a directory. + * src/search.c (findnextstr): Provide feedback when searching takes + longer than roughly half a second (on average). + * src/*.c: Remove the 'last_replace' variable that is never used. + * src/winio.c (parse_kbinput): Delete a no-op. + +2016-03-23 Benno Schulenberg <bensberg@justemail.net> + * src/search.c (findnextstr): Prevent the internal spell checker from + finding the first occurrence twice. And delete the piece of dead code + that was meant to do this. This fixes Savannah bug #47188. + * src/search.c (findnextstr): Clean up and rename a variable. + * src/search.c (findnextstr): Poll the keyboard once per second. + * src/winio.c (reset_cursor): Remove a pointless condition, and make + use of an existing intermediary variable. + * src/winio.c (reset_cursor): Tidy up and rename a variable. + * src/winio.c (onekey): Elide an unneeded 'if' and unneeded variable. + +2016-03-22 Thomas Rosenau <thomasr@fantasymail.de> + * configure.ac, src/*.c: Check for the existence of the REG_ENHANCED + regex flag, and use it when it's available (on OS X systems). This + completes the fix for Savannah bug #47325. + +2016-03-21 Benno Schulenberg <bensberg@justemail.net> + * src/browser.c (findnextfile): Trim a duplicate variable. + * src/browser.c (browser_refresh, findnextfile): Rename four vars. + +2016-03-20 Benno Schulenberg <bensberg@justemail.net> + * src/files.c (do_writeout), src/nano.c (do_exit): Normalize the + punctuation in some prompts: no space before a question mark, and + a semicolon instead of a comma between phrases. + * src/text.c (do_cutword): Don't put cut words into the cutbuffer -- + that is: treat the deletion of words like pressing Backspace/Delete. + * src/search.c (get_history_completion, find_history): Cycle through + the items from newest to oldest. This fixes Savannah bug #47205. + * src/files.c (do_writeout): When the name of the file was changed, + always ask whether this is okay. This fixes Savannah bug #46894. + * src/search.c (do_research): Use 'return' instead of 'else'. + * src/search.c (do_search): Don't bother setting 'answer'; just use + 'last_search', which has been set to 'answer' in search_init(). + * src/search.c (go_looking): Factor out the common part of + do_search() and do_research() into this new function. + +2016-03-19 Benno Schulenberg <bensberg@justemail.net> + * src/search.c (search_init): Always remember the last typed string, + also when it's an invalid regex. This fixes Savannah bug #47440. + * src/search.c (search_init, do_replace): Don't bother setting the + current answer to the empty string, as do_prompt() can handle a NULL. + * src/browser.c (do_browser): Delete a snippet of dead code. + * src/browser.c (do_browser): Delete an unneeded variable. + * src/search.c (do_gotolinecolumn): Delete another unneeded variable. + * src/search.c (search_init): Snip an always-FALSE condition. + * src/search.c (search_init): Reshuffle stuff to reduce indentation. + * src/search.c (do_replace): Snip a useless setting of answer. + +2016-03-17 Benno Schulenberg <bensberg@justemail.net> + * src/search.c (do_research): Use the Search key bindings also during + a Re-search, to enable cancelling. This fixes Savannah bug #47159. + * src/search.c (do_replace): Remove two redundant returns. + * src/search.c (findnextstr): Prune two #ifdefs. + * src/search.c: Adjust some indentation. + +2016-03-14 Benno Schulenberg <bensberg@justemail.net> + * src/color.c (color_update): Don't dereference a possible NULL. + * src/rcfile.c (parse_colors): Make error message equal to others. + * src/rcfile.c (parse_rcfile): Rearrange some things to reduce the + indentation level by four steps, so we can unwrap a dozen lines. + +2016-03-13 Benno Schulenberg <bensberg@justemail.net> + * src/search.c (regexp_init): Allow using the word boundary markers + \< and \> in search strings on non-GNU systems. This is a partial + fix for Savannah bug #47325 reported by Thomas Rosenau. + * src/rcfile.c (parse_rcfile, parse_colors, nregcomp): Combine the + regular-expression flags at compile time instead of at run time. + * src/rcfile.c (parse_syntax, parse_colors): Rename a variable. + * src/winio.c (edit_draw): Give a central variable a ringing name. + +2016-03-13 Thomas Rosenau <thomasr@fantasymail.de> (tiny change) + * autogen.sh, README.SVN: Mention SVN instead of CVS. + +2016-03-12 Benno Schulenberg <bensberg@justemail.net> + * src/color.c (color_update): Set the syntax and regex pointers + just once, in a single place. And unnest two 'if's. + * src/rcfile.c (parse_one_include, parse_includes): New names for + these functions, to be more distinguishable. + * src/rcfile.c (parse_colors): Reduce the indentation. + * src/rcfile.c (parse_colors): Rename a variable. + * src/rcfile.c (parse_colors, parse_rcfile): Refind the tail of + the colors list only when extending, not for every added color. + +2016-03-11 Benno Schulenberg <bensberg@justemail.net> + * src/browser.c (do_browser): Fix compilation when configured with + --enable-tiny plus --enable-browser. + * src/rcfile.c: Tweak some comments and reshuffle some lines. + * src/rcfile.c (color_to_short): Elide a variable. + * src/rcfile.c (grab_and_store): First check that there is an + open syntax before checking that it is named "default". + * src/rcfile.c (parse_rcfile): Fix compilation when configured with + --enable-tiny plus --enable-nanorc. + +2016-03-10 Benno Schulenberg <bensberg@justemail.net> + * src/rcfile.c (grab_and_store): Do not accept 'header' and 'magic' + commands for the default syntax. This fixes Savannah bug #47323. + * src/rcfile.c (pick_up_name): Fold the parsing of a linter and + formatter command into a single routine. + * src/rcfile.c (parse_header_exp, parse_magic_exp, grab_and_store): + Elide the first two functions, and reshuffle parameters in the last. + * src/rcfile.c (parse_syntax, parse_rcfile), src/color.c + (color_update): Turn the linked list of syntaxes upside-down, so that + the last-defined one comes first, so that searching can stop at the + first match instead of always having to run through the entire list. + * src/rcfile.c: Rename a variable to better fit its new role. + +2016-03-09 Benno Schulenberg <bensberg@justemail.net> + * src/rcfile.c (parse_syntax): Produce an adequate error message + when the syntax name is unquoted. This fixes Savannah bug #47324. + * src/rcfile.c (parse_syntax): Use the grab_and_store() function + also for gathering up extension regexes. + +2016-03-04 Benno Schulenberg <bensberg@justemail.net> + * src/color.c (found_in_list): Don't bother keeping the compiled + regular expression when it matched -- drop this tiny optimization + for when opening multiple files. Instead stop calling malloc(). + * src/nano.h: Delete a now-unused struct member. + * src/global.c (free_list_item): Elide this now too tiny function. + * scr/global.c (thanks_for_all_the_fish): Rename three variables. + * src/rcfile.c (parse_colors): Tweak a few things. + * src/color.c (color_update): Rename a variable. + +2016-03-01 Benno Schulenberg <bensberg@justemail.net> + * src/rcfile.c (parse_syntax), src/color.c (color_update): Don't + bother discarding a duplicate syntax (it's too rare, saves little + memory, and freeing it properly would cost even more code), just + select the last-defined one. This addresses Savannah bug #47303. + * src/color.c (color_update): Allow to select an empty syntax. + +2016-02-29 Benno Schulenberg <bensberg@justemail.net> + * src/nano.h, src/rcfile.c, src/color.c: Rename a struct member. + * src/rcfile.c (parse_rcfile): Don't allocate a struct for the + "none" syntax (and thus prevent it from being extended). + * src/nano.h, src/rcfile.c: Arrange some things more orderly. + * src/rcfile.c (parse_rcfile): Close an extended syntax again. + * src/rcfile.c (parse_rcfile): Rename a variable. + * src/rcfile.c (grab_and_store): Fix breakage of r5695. + * src/color.c (color_update): Do not dereference symlinks, so that + the syntax will be derived from the name given on the command line, + not from that of the target file. This fixes Savannah bug #47307. + +2016-02-28 Benno Schulenberg <bensberg@justemail.net> + * src/rcfile.c (parse_header_exp): Don't continue when something is + wrong -- skip the rest of the line. This fixes Savannah bug #47289. + * src/rcfile.c (parse_header_exp, parse_magic_exp, grab_and_store): + Use the now correct parsing of header regexes also for parsing magic + regexes. This fixes Savannah bug #47292 and saves 50 lines of code. + * src/rcfile.c (grab_and_store): Rename a variable and densify. + * src/rcfile.c (grab_and_store): Do not drop regexes that were + gathered earlier. This fixes Savannah bug #47285. + * src/rcfile.c (grab_and_store): Rearrange things in my style. + * src/rcfile.c (parse_syntax, parse_rcfile): Disallow adding any + further things to a syntax when an rcfile ends or when an invalid + syntax command is found. This fixes Savannah bug #47207. + +2016-02-26 Benno Schulenberg <bensberg@justemail.net> + * doc/man/nanorc.5, doc/texinfo/nano.texi, doc/syntax/nanorc.nanorc, + doc/nanorc.sample.in: Correct the description of 'justifytrim', add + it to the Info document, sort it, and tweak a wording. + * src/color.c (color_update): Look for a default syntax only when + all else failed -- forego the small, complicating optimization. + * src/color.c (color_update): Strip things bare to see the sameness. + * src/color.c (found_in_list): Factor out this triple repetition. + * src/color.c (color_update): Rename a variable for conciseness. + * src/color.c (nfreeregex): Elide this function, now used just once. + * src/nano.h: Rename a struct element for aptness and contrast. + * src/nano.h: Rename another element, because it refers not just + to file extensions, but also to header lines and magic strings. + +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 keystroke 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> + * src/prompt.c (get_statusbar_page_start): Prevent a floating-point + exception when the available length for an answer becomes zero. + +2015-05-28 Benno Schulenberg <bensberg@justemail.net> + * src/help.c (do_help), src/prompt.c (do_yesno_prompt): Normalize + the whitespace after the recent changes in logic. + * src/prompt.c (do_yesno_prompt): Use 'width' instead of hardcoded + 16. Also always first set the string and then position the cursor. + * TODO: Mark window resizes and better file-type detection as done. + * doc/syntax/debian.nanorc: Allow a CD name to contain any character. + This addresses Debian bug #688892 reported by Dani Möller Montull. + +2015-05-28 Mahyar Abbaspour <mahyar.abaspour@gmail.com> + * src/nano.c (handle_sigwinch, regenerate_screen), src/global.c, + src/prompt.c (do_statusbar_input, get_prompt_string, do_yesno_prompt), + src/browser.c (do_browser, browser_refresh), src/help.c (do_help), + src/winio.c (get_key_buffer, unget_input, get_input, parse_kbinput), + src/text.c (do_justify, do_linter), src/nano.h, src/proto.h: + Handle a SIGWINCH (signalling a change in window size) not when it + happens but only when checking for input. Report the SIGWINCH via + a special key value to the calling routine, to allow not only the + main editor but also the help viewer and the file browser to adapt + their display to the new size. (Patch edited by Benno.) + +2015-05-20 Devrim Gündüz <devrim@gunduz.org> + * doc/syntax/postgresql.nanorc: New file -- syntax highlighting for + PostgreSQL, first posted as Savannah patch #8601. Trimmed by Benno. + +2015-05-08 Benno Schulenberg <bensberg@justemail.net> + * src/browser.c (browser_refresh): Take the distant possibility of + terabyte files into account, and in the bargain get rid of the need + to calculate the number of digits in UINT_MAX. + * src/files.c (get_next_filename): Limit the number of backup files + to one hundred thousand -- which should be far more than enough -- + before finding an unused filename takes an annoying amount of time. + * src/utils.c (digits): Delete this now unneeded function. + +2015-05-03 Benno Schulenberg <bensberg@justemail.net> + * src/browser.c (browser_refresh): Display an ellipsis only when the + filename is longer than the available space, not when it still fits. + * src/browser.c, src/nano.c: Adjust a few comments and line wrappings. + * doc/syntax/groff.nanorc: Use character classes correctly. + +2015-04-28 Benno Schulenberg <bensberg@justemail.net> + * src/color.c (color_update): Match the file regex of a syntax against + the absolute, canonical path instead of against the path the user gave. + This fixes Savannah bug #44288, reported by Mike Frysinger. + * doc/syntax/po.nanorc: Improve the colouring of message tags. + * src/winio.c (get_escape_seq_kbinput): Unwrap a bunch of comments. + +2015-04-25 Benno Schulenberg <bensberg@justemail.net> + * src/search.c (do_replace_loop): Remove the unintended special + case for replacing multiple occurrences of a literal ^ or $; see + https://lists.gnu.org/archive/html/nano-devel/2015-04/msg00065.html. + * src/search.c (findnextstr): Delete an always-FALSE parameter. + * src/search.c (findnextstr): Rename the parameter 'whole_word' + to 'whole_word_only', for clarity. + +2015-04-21 Benno Schulenberg <bensberg@justemail.net> + * src/browser.c (findnextfile): Save the settings of the global + case-sens, direction, and regexp flags, and restore them on exit. + And do this not in do_filesearch() but in findnextfile(), so that + it will also work for do_fileresearch(). + * src/text.c (do_int_spell_fix): Save and restore the global flags + in the same short and quick way as above. + * src/nano.c (main): Initialize the search and replace strings in + a central place, to get rid of a bunch of ifs. + * src/search.c (search_init_globals): Elide this tiny function. + +2015-04-20 Benno Schulenberg <bensberg@justemail.net> + * src/winio.c (need_horizontal_update, need_vertical_update): Fuse + two identical functions into one: need_screen_update(). + * src/prompt.c (need_statusbar_horizontal_update): Rename function + to need_statusbar_update() as there is no vertical counterpart. + * src/search.c (do_search, do_research): Delete redundant reprises + of a regex search: finding an occurrence only at the very starting + point of the search necessarily means it is the only occurrence. + +2015-04-18 Benno Schulenberg <bensberg@justemail.net> + * src/global.c, src/nano.c, doc/man/nanorc.5, doc/texinfo/nano.texi: + Make the descriptions of the multibuffer feature more accurate. + * src/winio.c (display_string): Make sure an invalid starting byte + of a multibyte sequence is properly terminated, so that it doesn't + pick up lingering bytes of any previous content. This prevents the + displaying of ghosts -- characters that aren't really there -- when a + file contains valid ánd invalid UTF-8 sequences. For an example see: + https://lists.gnu.org/archive/html/nano-devel/2015-04/msg00052.html. + Also make two comments more accurate: an invalid multibyte sequence + will never be categorized as a control character or anything else. + +2015-04-18 Mark Oteiza <mvoteiza@udel.edu> + * doc/syntax/{python,ruby,sh,tex}.nanorc: Add a linter definition. + * doc/syntax/elisp.nanorc: New file; syntax highlighting for Elisp. + * doc/syntax/guile.nanorc: New file; syntax highlighting for Guile. + +2015-04-17 Benno Schulenberg <bensberg@justemail.net> + * src/text.c (do_alt_speller, do_linter, do_formatter): Distinguish + a failure to launch the linter from receiving zero parsable lines; + add a new function to glue together the invocation-error string. + * src/global.c (shortcut_init): In the Help Viewer and File Browswer, + bind the unbound Home and End keys to goto_top and goto_bottom, to + mimic the behaviour of these keys in file viewers and web browsers. + Also show ^Y and ^V in the WhereisFile menu instead of M-\ and M-/, + for similarity with the WhereIs menu. + * src/global.c (shortcut_init): Arrange the movement keys in the File + Browser in the order of ascending stride, as in the Help Viewer. + +GNU nano 2.4.1 - 2015.04.14 + +2015-04-13 Benno Schulenberg <bensberg@justemail.net> + * src/search.c (do_replace_loop): Fix compilation with --enable-tiny. + * README: Mention also the Savannah page for reporting bugs. + +2015-04-12 Benno Schulenberg <bensberg@justemail.net> + * src/browser.c (filesearch_init): Stop M-\ and M-/ in WhereisFile + menu (reached via ^R ^T ^W) from doing also an unrequested search + after having performed their function. Fixes Savannah bug #44790. + * src/global.c (shortcut_init): Rebind ^Y and ^V in the WhereisFile + menu from the pointless page_up() and page_down() to the effective + first_file() and last_file(). Also unbind some other useless keys. + * src/browser.c (filesearch_init): Remove an unused variable, and + adjust the introductory comment for the recently tweaked logic. + * src/rcfile.c (parse_linter, parse_formatter): Use mallocstrcpy() + in a correct manner; don't let it free an unrelated string. + +2015-04-11 Benno Schulenberg <bensberg@justemail.net> + * src/search.c (do_replace_loop): Do not split off the marked region + into a separate partition, but do the replacings in the current one, + taking good care to stay within the boundaries of the region. This + fixes an undo bug where the first part of a line would disappear if + the region started in the middle of a line. Bug was reported here: + https://lists.gnu.org/archive/html/nano-devel/2015-03/msg00077.html. + Original idea and patch were by Mark Majeres. + +2015-04-08 Benno Schulenberg <bensberg@justemail.net> + * src/browser.c (browser_select_dirname, findnextfile): Rename + 'currselected' to 'looking_at', for more contrast with 'selected', + and rename browser_select_filename() to browser_select_dirname(). + * src/text.c: Correct and adjust some comments. + +2015-04-07 Benno Schulenberg <bensberg@justemail.net> + * src/browser.c (do_fileresearch): Don't search for the empty string + when nothing was sought yet (when historylog is set). + * src/browser.c (filesearch_init): Remove an unfitting comment + (there are no toggles here) and tweak some others. + * src/search.c (do_search, do_research): Use the same variable as + in the surrounding code, for consistency. + * src/browser.c (findnextfile_wrap_reset): Elide this function, + and rename 'search_last_file' to 'came_full_circle'. + * src/browser.c (filesearch_init, do_fileresearch): Avoid setting + 'focusing' when searching only for filenames. + * src/browser.c (findnextfile, do_filesearch, do_fileresearch): + Greatly simplify the searching for the next matching filename. + * src/{browser,files,help,prompt,text,winio}.c: Let the function + bottombars() set the global variable 'currmenu' -- the displayed + menu must necessarily be the active one. + * src/browser.c (filesearch_abort): Elide this tiny function. + * THANKS: Add the names of recent translators, and sort the list. + * THANKS: A neater layout, plus two table headers. + +2015-04-05 Benno Schulenberg <bensberg@justemail.net> + * doc/texinfo/nano.texi: Expand on nano's features, condense the + synopsis, and "online" means something else to most people. + +2015-04-03 Benno Schulenberg <bensberg@justemail.net> + * README: Update text to the fifth milestone, 2.4.x, plus tweaks. + * src/rcfile.c: Remove two superfluous (because nested) #ifndefs. + * src/rcfile.c (parse_rcfile): Ignore any magic when libmagic was + disabled, and ignore a formatter when spell checking was disabled. + +2015-03-28 Benno Schulenberg <bensberg@justemail.net> + * src/search.c (search_init_globals, search_replace_abort), + src/winio.c (edit_redraw), src/proto.h, src/global.c: When finding + an off-screen string, put it on the center line of the screen and + not on the bottom or top line. This restores the old behaviour + that was unintentionally changed in r5149 six days ago. + * src/winio.c (edit_refresh): When pasting lines on the bottom line, + only scroll the required number of lines and not half a screen -- + that is, when smooth scrolling is enabled. + * doc/syntax/changelog.nanorc: Also colour a series of changed files + that spans more than one line. + +2015-03-27 Mark Majeres <mark@engine12.com> + * src/text.c (do_alt_speller): Adjust the end point of the marked + region for any change in length of the region's last line. + +2015-03-27 Benno Schulenberg <bensberg@justemail.net> + * doc/syntax/patch.nanorc: Recognize also Debian package diffs. + Fixes https://bugs.launchpad.net/ubuntu/+source/nano/+bug/1300565 + requested by Rolf Leggewie. + * src/search.c (do_replace_loop): Adjust some whitespace and wrapping. + * src/search.c (do_replace_loop): Place a call to edit_refresh better, + and remove two unneeded ones. This greatly speeds up nano when doing + a Replace All with *lots* of occurrences. + * src/{color,global,nano,text,utils}.c: Normalize some whitespace. + * src/global.c (strtosc): The linter is only available when colour is. + * src/global.c, src/text.c: Treat the formatter like a speller, to fix + compilation with --disable-speller. Fixes Savannah bug #44607. + +2015-03-25 Benno Schulenberg <bensberg@justemail.net> + * doc/syntax/debian.nanorc: Slightly widen and relax the header regex. + * doc/syntax/python.nanorc: Hashes inside triple-quoted strings should + not cause comment colouring. (Inside single-qouted strings neither, + but then quotes in comments will be coloured like strings.) This + solves https://bugs.launchpad.net/ubuntu/+source/nano/+bug/481363. + * src/global.c (strtomenu): Remove mistaken menu name -- as the + formatter allows no interaction it needs no associated menu. + * src/text.c (do_formatter): Remove unneeded statement -- nothing + has changed the value of 'currmenu'. + * src/global.c (strtosc), doc/man/nanorc.5: Allow rebinding the + linter when nano was configured with --disable-speller. + +2015-03-23 Benno Schulenberg <bensberg@justemail.net> + * src/text.c (do_alt_speller): Avoid the spell checker reporting + an error when the marked region is zero bytes long. The message + is not needed -- it gets printed by the caller. This generalizes + the fix for Savannah bug #29393. + * src/text.c (do_alt_speller): Do not unset the mark before the + possible bailout because of a zero-sized region. + * NEWS: Option --noread allows writing, not reading, to named pipes. + +2015-03-22 Chris Allegretta <chrisa@asty.org> + * src/text.c (do_alt_speller): timestamp can just be a time_t. + Fixes compilation on win32 and macOS. + +GNU nano 2.4.0 - 2015.03.22 + +2015-03-22 Benno Schulenberg <bensberg@justemail.net> + * src/chars.c (move_mbleft): Start looking for a multibyte char + not at the start of the string, but only as far back as such a + char can possibly be. Change suggested by Mark Majeres. + * src/search.c (findnextstr): Step backward or forward not simply + one byte but one character (possibly multibyte). Fixes Savannah + bug #42175, reported by myself, and the finding of ghosts seen in + https://lists.gnu.org/archive/html/nano-devel/2015-03/msg00055.html. + * src/winio.c (edit_redraw): Do not center the current line when + smooth scrolling is used. This fixes Savannah bug #42654. + +2015-03-21 Benno Schulenberg <bensberg@justemail.net> + * src/text.c (do_alt_speller): Remove some leftovers. + * src/search.c: Place some comments better and unwrap some lines. + +2015-03-21 Mark Majeres <mark@engine12.com> + * src/text.c (do_alt_speller): Restore the positions of the mark + and the cursor in a better way: to the columns where they were. + This fixes Savannah bug #44542, reported by Benno Schulenberg. + +2015-03-20 Benno Schulenberg <bensberg@justemail.net> + * src/nano.c (finish_stdin_pager, cancel_stdin_pager, stdin_pager): + Normalize the whitespace, remove an old comment, and place another + one better. + * src/text.c (do_undo): Make a message equal to another one. It + was mistakenly changed in r4950. (This is translation-neutral.) + * src/global.c (shortcut_init): Keep related items together in the + ^G help screen. + +2015-03-17 Benno Schulenberg <bensberg@justemail.net> + * src/text.c (do_alt_speller): Do not set the modified flag when + an external spell checker didn't make any changes. This fixes + Savannah bug #44320, reported by Cody A. Taylor. + +2015-03-14 Benno Schulenberg <bensberg@justemail.net> + * src/text.c (do_formatter): Fix a message plus a few comments. + +2015-03-14 Mark Majeres <mark@engine12.com> + * src/nano.c (renumber): Get out if there is nothing to renumber, + to prevent do_undo() from falling over trying to renumber emptiness. + This fixes Savannah bug #44488, reported by Dennis Decker Jensen. + +2015-03-08 Benno Schulenberg <bensberg@justemail.net> + * src/proto.h, src/nano.c: Fix compilation with --enable-tiny plus + --enable-nanorc. + * src/rcfile.c (parse_binding): Fix the rebinding of toggles. + * doc/man/{nano.1,rnano.1,nanorc.5}, doc/texinfo/nano.texi: Update + years and version numbers in the docs in anticipation of a release. + * src/nano.c (version): Drop compile time from version information + to enable a reproducible build. Proposed by Jérémy Bobbio and Jordi + Mallach (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=774388). + +2015-03-07 Benno Schulenberg <bensberg@justemail.net> + * doc/man/nanorc.5, doc/texinfo/nano.texi: Add a note about the + inherent imperfection of using regular expressions for syntax + highlighting, as suggested by Mike Frysinger in bug #30962. + * doc/man/nanorc.5: Improve the indentation of some lists. + * doc/man/nanorc.5, doc/texinfo/nano.texi: Remove the mistaken + square brackets around the arguments of "header" and "magic" -- + those arguments are not optional. Also add "formatter" to the + texinfo document, and slightly improve its punctuation. + +GNU nano 2.3.99pre3 - 2015.02.27 + +2015-02-25 Chris Allegretta <chrisa@asty.org> + * src/rcfile.c (parse_binding): Add an exception for do_toggle() as + rebinding toggles broke with r5022. (Fixed in r5134.) + +2015-02-21 Benno Schulenberg <bensberg@justemail.net> + * README: Fix the explanation of how to subscribe to a mailing list. + * doc/syntax/{java,lua,python,ruby}.nanorc: Wrap some overlong lines. + +2015-02-18 Mike Frysinger <vapier@gentoo.org> + * doc/syntax/sh.nanorc: Recognize also dash, openrc and runscript. + +2015-02-16 Mike Frysinger <vapier@gentoo.org> + * .gitignore: Ignore the autotools 'compile' file. + +2015-02-15 Benno Schulenberg <bensberg@justemail.net> + * src/file.c (do_lockfile): Also show the name of the affected file + when finding a lock file, for when many files are opened at once. + * src/file.c (do_lockfile): The user does the editing, not the editor. + +2015-02-09 Chris Allegretta <chrisa@asty.org> + * nano.spec.in: Add dependency on texinfo, docdir files for + RPM file creation. + +GNU nano 2.3.99pre2 - 2015.02.06 + +2015-02-03 Alex Henrie <alexhenrie24@gmail.com> + * src/cut.c (do_cut_text): Make sure to set modified even when + using --enable-tiny. + +2015-02-01 Kamil Dudka <kdudka@redhat.com> + * src/files.c (write_lockfile): Avoid writing uninitialized bytes to + the lock file -- a simple null_at() would not initialize the buffer. + * src/files.c (do_lockfile): Make sure that 'lockprog' and 'lockuser' + are terminated -- strncpy() does not guarantee that on its own. + * src/files.c (do_lockfile): Avoid printing a wrong PID on the status + bar due to treating serialized PID bytes as signed integers. This + addresses https://bugzilla.redhat.com/1186384 reported by Don Swaner. + * src/files.c (write_lockfile): Do not trim the nano version number + -- snprintf() counts the trailing zero into the size limit. + +2015-02-01 Benno Schulenberg <bensberg@justemail.net> + * src/winio.c (do_credits): Add a general entry for all translators. + * src/nano.c (version), src/winio.c (do_credits): Update the copyright + years to include 2015. + +2015-01-13 Chris Allegretta <chrisa@asty.org> + * src/files.c (open_buffer): Check here for locking and properly + handle choosing to not open a file when locked instead of in + open_file(). Fixes Savannah bug #42373 reported by Benno Schulenberg. + +GNU nano 2.3.99pre1 - 2015.01.06 + +2015-01-03 Chris Allegretta <chrisa@asty.org> + * New formatter code to support syntaxes like Go that have tools to + automatically lint and reformat the text (gofmt), which is lovely. + Added rcfile option formatter, a function do_formatter() in text.c + and some other calls. + +2014-12-28 Benno Schulenberg <bensberg@justemail.net> + * src/files.c (do_lockfile): Gettextize the "File being edited" + prompt, and improve its wording. + * src/winio.c (do_credits): Remove the names of past translators + from the Easter-egg scroll. + * THANKS: Add a missing historical translator name. + * src/winio.c (do_credits): Add Mark to the scroll, for all his + undo work, colouring nano's interface, and other patches. + +2014-11-30 Benno Schulenberg <bensberg@justemail.net> + * doc/syntax/spec.nanorc: Colorize %pretrans and %posttrans fully. + Original patch from Savannah patch #8573 by Daniel Vrátil. + +2014-09-21 Benno Schulenberg <bensberg@justemail.net> + * doc/syntax/{perl,python,ruby,sh}.nanorc: Recognize also header + lines of the form "#!/usr/bin/env thing" besides "#!/bin/thing". + This fixes Savannah bug #43270 reported by Kitty. + +2014-08-29 Benno Schulenberg <bensberg@justemail.net> + * src/text.c (do_justify): Replace the old get_shortcut() wrapper + with the new func_from_key(). + +2014-08-10 Benno Schulenberg <bensberg@justemail.net> + * doc/texinfo/nano.texi: Improve some wordings and formatting. + +2014-08-07 Benno Schulenberg <bensberg@justemail.net> + * doc/syntax/nanorc.nanorc: Remove a mistaken OR which causes a + 'Bad regex, empty (sub)expression' error on some systems. This + fixes Savannah bug #42929 reported by Misty De Meo. + +2014-08-03 Benno Schulenberg <bensberg@justemail.net> + * doc/man/nano.1, doc/man/rnano.1: Tweak the formatting a bit so that + po4a will create a nicer POT file. + * doc/man/nanorc.5: Improve some of the wordings and formatting. + +2014-08-02 Benno Schulenberg <bensberg@justemail.net> + * doc/texinfo/nano.texi: Standardize the formatting of command-line + options -- each one separately. Also add some more markup. + +2014-08-01 Benno Schulenberg <bensberg@justemail.net> + * doc/man/nano.1, doc/man/rnano.1: Separate short and long option + by a comma instead of putting the long one between parentheses. + And showing the required quotes around the argument of -Q. + +2014-07-31 Benno Schulenberg <bensberg@justemail.net> + * src/files.c (do_insertfile): Adjust some indentation. + * src/prompt.c (do_statusbar_input), src/browser.c (do_browser): + Reorder a few things, and adjust some whitespace. + +2014-07-27 Benno Schulenberg <bensberg@justemail.net> + * src/global.c (add_to_sclist): Remove the now unused and unneeded + addition ability from this builder function of the shortcut list. + * src/global.c (strtokeytype): Move this to a better place. + * src/global.c (first_sc_for): Move this too to a better place. + * src/prompt.c (do_yesno_prompt): Use the new and more direct + func_from_key() wrapper instead of get_shortcut(). + * src/text.c (do_linter): Likewise. + * src/files.c (do_insertfile, do_writeout): Likewise. + +2014-07-24 Jordi Mallach <jordi@gnu.org> + * doc/texinfo/nano.texi, doc/man/nanorc.5: Typo fix. + +2014-07-22 Benno Schulenberg <bensberg@justemail.net> + * doc/syntax/nanorc.nanorc: Remove 'undo' from the valid options. + +2014-07-21 Jordi Mallach <jordi@gnu.org> + * doc/nanorc.sample.in: Remove ‘undo’ section which is now obsolete. + +GNU nano 2.3.6 - 2014.07.17 + +2014-07-16 Jordi Mallach <jordi@gnu.org> + * doc/man/rnano.1: Additional printing formatting improvement from + Bjarni Ingi Gislason. + +2014-07-16 Jordi Mallach <jordi@gnu.org> + * doc/man/fr/nano.1, doc/man/fr/rnano.1: Apply similar escaping fixes + to French manpages. + * doc/man/fr/nano.1, doc/man/fr/rnano.1, doc/man/fr/nanorc.5: Recode + as UTF-8. + +2014-07-16 Jordi Mallach <jordi@gnu.org> + * doc/syntax/debian.nanorc: Add https, tor and spacewalk to supported + APT methods. + * doc/syntax/debian.nanorc: Apply the syntax to apt/sources.list.d/ + entries as well, as reported by Rodolphe Pelloux-Prayer. + +2014-07-16 Jordi Mallach <jordi@gnu.org> + * doc/man/nano.1, doc/man/rnano.1: Add some escaping and formatting + fixes as suggested Bjarni Ingi Gislason <bjarniig@rhi.hi.is> in + Debian bugs #662842 and #726956. + +2014-07-16 Benno Schulenberg <bensberg@justemail.net> + * src/text.c: Normalize the tabbing. + +2014-07-16 Mark Majeres <mark@engine12.com> + * src/text.c (do_undo): Make sure renumbering starts far enough back + after undoing a cut or paste. This fixes a segmentation fault when + undoing a repeated cutting and pasting of the first line of a file. + * src/nano.c (move_to_filestruct, copy_from_filestruct): Fix two leaks. + +2014-07-13 David Lawrence Ramsey <pooka109@gmail.com> + * ChangeLog: Typo fix. + +2014-07-12 Benno Schulenberg <bensberg@justemail.net> + * configure.ac: The warning about datarootdir being ignored is + not merely a warning, it also activates a workaround. + +2014-07-11 Mark Majeres <mark@engine12.com> + * src/text.c (do_undo, do_redo): Do not speak of "line wrap" + but instead of "text add" when undoing/redoing text additions + that caused automatic line breaks. + +2014-07-11 Benno Schulenberg <bensberg@justemail.net> + * src/files.c (write_lockfile): Refix typo in error message. + +GNU nano 2.3.5 - 2014.07.11 + +2014-07-11 Chris Allegretta <chrisa@asty.org> + * src/files.c (do_lockfile, open_file): If locking fails, + allow the lock failure message to be preserved AND + preserve the filename passed on the cmdline. Fixes + Savannah bug #42668. + +2014-07-02 Chris Allegretta <chrisa@asty.org> + * src/files.c (do_lockfile): Check whether the directory + of the file we're trying to lock exists, and make the + resulting error message more intuitive. Fixes + Savannah bug #42639 reported by Benno Schulenberg. + +2014-07-02 Mark Majeres <mark@engine12.com> + * src/text.c (undo_cut, redo_cut, update_undo): Handle the + cases of cutting-from-cursor-to-end-of-line correctly. + * src/nano.c (do_input): Don't preserve the cutbuffer when + CUT_TO_END is toggled -- it would intermix two cut types. + * src/text.c (redo_cut, do_undo, do_redo): Don't forget to + free the cutbuffer after use. + +2014-07-02 Benno Schulenberg <bensberg@justemail.net> + * src/proto.h: Add a typedef for a pointer to a function. + * src/global.c (func_from_key): New wrapper. + * src/prompt.c (get_prompt_string, do_prompt): Use the new + wrapper to make the code a bit cleaner. + * src/help.c (do_help, parse_help_input): Use the wrapper. + * src/browser.c (do_browser, parse_browser_input): Likewise. + * src/search.c (search_init, do_gotolinecolumn): Likewise. + * src/search.c (findnextstr): Replace a call of old wrapper + 'getfuncfromkey()' with a call of new 'func_from_key()'. + * src/winio.c (getfuncfromkey): Delete now unneeded wrapper. + * src/nano.c (usage, main), doc/texinfo/nano.texi: Properly + exclude the --quiet option when --disable-nanorc was given. + +2014-07-01 Benno Schulenberg <bensberg@justemail.net> + * src/browser.c (do_browser), src/help.c (do_help): Make sure + to always set 'currmenu', so that we can rely on it. + * src/*.c (get_shortcut): Now that 'currmenu' is really global, + stop passing it around. + * src/help.c (help_init), src/winio.c (bottombars): There are + no tagless functions, so there is no need to check. + * src/prompt.c (do_prompt, get_prompt_string): Don't pass the + menu, just set it earlier. + * src/prompt.c (get_prompt_string): Group the arguments better. + * src/global.c (shortcut_init), src/browser.c (do_filesearch): + Show that it is possible to have backwards, regular-expressive + and case-sensitive searching in the file browser. + * src/browser.c (filesearch_init, do_filesearch): Now delete + these abilities again and all provisions for them. + * src/global.c (shortcut_init): Add two defines to make the + functions list clearer. + +2014-06-30 Mark Majeres <mark@engine12.com> + * src/cut.c, src/global.c, src/nano.c: Rename 'cut_till_end' to + 'cut_till_eof', and 'do_cut_till_end' to 'do_cut_till_eof', to + reduce confusion with CUT_TO_END, which is about end-of-line. + +2014-06-30 Benno Schulenberg <bensberg@justemail.net> + * src/color.c (color_update): When there are no syntaxes, for example + with --ignorercfiles, do not try to find one, because that would lead + to the magic database being searched, which slows down startup a lot. + * src/color.c (color_update): Move some variables to a better place. + * src/*: Make 'meta_key' and 'func_key' into global variables, instead + of having them declared everywhere and passing them around endlessly. + * src/global.c (sc_seq_or): Now fix a bug introduced somewhere after + 2.3.2 where binding a movement function to a Meta key would make the + corresponding Arrow key stop working (producing a character instead). + +2014-06-29 Benno Schulenberg <bensberg@justemail.net> + * src/rcfile.c: Fix compilation with --enable-tiny --enable-nanorc. + * src/winio.c (parse_kbinput, get_escape_seq_kbinput): Make Ctrl-Left + and Ctrl-Right produce special codes, and map these codes to Prevword + and Nextword instead of reducing them to a plain Left and Right. The + codes 539 and 554 were so chosen because some terminals produce these. + +2014-06-29 Mark Majeres <mark@engine12.com> + * src/text.c (do_undo): Update the pointer to the bottom of the file + when undoing line deletions at file's end. + +2014-06-28 Benno Schulenberg <bensberg@justemail.net> + * src/prompt.c (do_statusbar_input): Remove the useless parameters + 'have_shortcut and 'allow_funcs'; the latter is only ever TRUE. + * src/global.c (shortcut_init), src/prompt.c (do_statusbar_input): + Eradicate the execute flag -- it is only FALSE for functions that are + empty placeholders (so executing them will not do anything anyway) or + for functions ('total_refresh', 'do_suspend_void') that do not exist + in menus with a prompt. The only two exceptions are 'do_cancel' and + 'do_gotolinecolumn_void'. The first is handled specially, so do that + too for the second and then get to drop 140 parameters. + * src/global.c (strtosc): Move recognition of the toggles to the end, + use a single assignment of do_toggle_void, trim the unneeded braces. + +2014-06-27 Benno Schulenberg <bensberg@justemail.net> + * src/global.c (shortcut_init): Add default keybindings for Cut, + PrevWord and NextWord in the prompt input lines; the code for those + special operations already exists, just the shortcuts were missing. + * src/rcfile.c (parse_binding): When binding keys, only allow those + menus where the bound function is actually present. This reduces + the meaning of 'all' to "all menus where the function exists". + * src/rcfile.c (is_universal): New function, returning TRUE for the + functions that are present in most menus but only listed in MMAIN. + * doc/man/nanorc.5, doc/texinfo/nano.texi: Update the docs for this. + * prompt.c (find_statusbar_bracket_match, do_statusbar_find_bracket): + Remove these functions and thus the ability to search for a matching + bracket in a prompt input line. The find_bracket function never had + a default keybinding outside MMAIN, so is unlikely to have been used. + * src/prompt.c (do_statusbar_input): Normalize the indentation. + * src/winio.c: Normalize some whitespace. + * Makefile.am, nano.spec.in: Stop distributing the BUGS file. + * BUGS: Remove obsolete file, as all the bugs in it have been fixed + long ago. Nowadays bugs are tracked on Savannah. + * configure.ac: Silence a useless warning about ignoring datarootdir. + +2014-06-25 Benno Schulenberg <bensberg@justemail.net> + * src/browser.c (do_browser): Allow 'firstfile' and 'lastfile' to be + rebound to Ctrl keys -- checking meta_key is wrong, the function has + already been determined, that is all that matters. + * src/help.c (do_help): Same thing for 'firstline'/'lastline'. + +2014-06-23 Benno Schulenberg <bensberg@justemail.net> + * src/nano.h, src/move.c (do_up, do_down), src/winio.c (edit_scroll): + Rename UP_DIR and DOWN_DIR to UPWARD and DOWNWARD, for clarity. + * src/proto.h, src/global.c, src/search.c: Rename 'no_replace_void()' + to 'flip_replace_void()', to show what it actually does. + * doc/man/nanorc.5, doc/texinfo/nano.texi: Update the docs for that. + * src/global.c (strtosc): Add the bindable function 'gotodir'. + * doc/man/nanorc.5, doc/texinfo/nano.texi: Document the bindable + functions 'tofiles','gotodir' and 'flipnewbuffer', and correct + the description of 'gototext' (not being about the file browser). + * doc/syntax/nanorc.nanorc: Show Ins and Del as valid rebindable keys. + * src/help.c (do_help): Normalize the indentation. + * src/files.c (do_insertfile): Give audible feedback when flipping + the new buffer to off is not allowed in view mode. + +2014-06-22 Benno Schulenberg <bensberg@justemail.net> + * src/browser.c (parse_browser_input), src/help.c (parse_help_input): + Remove two pointless calls of get_shortcut(), and adjust the comments. + * src/nano.c (do_toggle): When toggling softwrap, only the edit window + needs to be refreshed, not the entire screen. + * src/browser.c (do_browser): Remove superfluous abortion variable, + and place two comments better. + * src/text.c (do_redo): Rename 'undidmsg' to 'redidmsg', to be apt. + +2014-06-22 Mark Majeres <mark@engine12.com> + * src/text.c (do_redo): When redoing a line join at the tail + of the file, make sure openfile->filebot is updated. + * src/text.c (undo_cut, redo_cut, do_undo, add_undo, update_undo): + Fix three leaks of the cutbuffer, shorten and regroup some stuff, + and remove an unneeded iteration of cutbottom. + +2014-06-21 Mark Majeres <mark@engine12.com> + * src/text.c (undo_cut, add_undo): When undoing a cut-till-eof, + put the cursor back where the cut started, and not at the end. + * src/text.c (do_undo): When undoing a line break at the tail + of the file, make sure openfile->filebot is updated. + +2014-06-21 David Lawrence Ramsey <pooka109@gmail.com> + * src/move.c, src/nano.c: Miscellaneous whitespace fixes, one + type fix, and one more #ifdef NANO_TINY. + +2014-06-20 Benno Schulenberg <bensberg@justemail.net> + * src/proto.h, src/global.c: Remove two obsolete variables and an + unneeded extern, and regroup some stuff. + * src/files.c (check_dotnano): Wrap long lines and actually report + the name that is not a directory. + * src/*: Miscellaneous whitespace adjustments and comment tweaks. + * src/files.c: Fix compilation with --enable-tiny --enable-browser. + * doc/man/nano.1, doc/texinfo/nano.texi: History logging no longer + depends upon nanorc support, plus many other tweaks. + * src/global.c (strtosc): Fix compilation with --enable-tiny + --enable-histories --enable-nanorc. + * src/text.c: Fix compilation with --enable-tiny --enable-wrapping. + * src/files.c (do_insertfile): Fix compilation with --enable-tiny + --enable-histories --enable-multibuffer. + * src/nano.c: Fix compilation with --enable-tiny --enable-mouse. + * doc/man/nanorc.5, doc/texinfo/nano.texi: Explain better what "all" + means when rebinding keys. This is a fix for Savannah bug #42552. + * src/nano.c (main): Make +1 and +,1 start on line one column one, + overriding a historical position. This fixes Savannah bug #42538. + +2014-06-19 Benno Schulenberg <bensberg@justemail.net> + * src/nano.c (window_init): Rename 'no_more_space()' to 'more_space()' + for consistency, and tweak the related comments. + * src/files.c: Update some comments to match the current status. + * src/nano (finish, main): Allow -H/--historylog and -P/--poslog to + function also when -I/--ignorercfiles is given. + * configure.ac: Add a --disable-histories flag, to disable the code + for the histories of search/replace strings and cursor positions. + * doc/texinfo/nano.texi: Document the new configure flag. + * src/*: Transform many DISABLE_NANORC to the new DISABLE_HISTORIES. + This completes the fix for Savannah bug #42539. + +2014-06-18 Benno Schulenberg <bensberg@justemail.net> + * src/text.c: Rename 'to_end' to 'to_eof', to lessen confusion + with CUT_TO_END (which is about cutting to end-of-line). + * src/text.c: Upon better thought, elide the unneeded 'to_eof'. + * src/text.c: And elide a totally unused 'strdata2'. + * src/text.c: Rename the undo type UNSPLIT to JOIN, for clarity. + * src/global.c, src/rcfile.c: Rename function_type to key_type. + * src/text.c (break_line): Remove a condition and a break that + cancel each other. + +2014-06-18 Mark Majeres <mark@engine12.com> + * src/text.c (add_undo): Don't start a new undo for CUT when the + cutbuffer is being preserved, because then the cuts are contiguous + and will form a single undo item. And make sure the cutbuffer will + be cleared when a new undo item for CUT is created. + * src/cut.c (keeping_cutbuffer): New function, to access the status + of 'keep_cutbuffer' from the undo/redo code in src/text.c. + * src/cut.c (do_copy_text): Blow away the contents of the cutbuffer + if the mark is set or the cursor has moved between two copy commands. + +2014-06-17 Mark Majeres <mark@engine12.com> + * src/text.c (do_undo, do_redo): After an undo or redo, update the + 'placewewant' (the desired horizontal position of the cursor). + +2014-06-17 Benno Schulenberg <bensberg@justemail.net> + * src/text.c (do_undo, do_redo): Remove obsolete boolean variable. + * doc/man/nano.1, doc/man/nanorc.5, doc/texinfo/nano.texi: Replace + SYSCONFDIR with an absolute path or a circumlocution, as suggested + by Mike Frysinger, plus some other tweaks. + +2014-06-16 David Lawrence Ramsey <pooka109@gmail.com> + * src/nano.c (do_exit): Display the message "No file name" on the + statusbar for two seconds when --tempfile was given and the current + buffer has no name. This fixes Savannah bug #41750. + +2014-06-16 Benno Schulenberg <bensberg@justemail.net> + * configure.ac: For the sake of statically linked systems, make sure + the compiler also links against libz, which is used by libmagic. + This fixes Savannah bug #38378, reported by Alan Hourihane. + * src/nano.c (do_mouse, do_input): Don't bother returning zero when + the cursor moved, just reset the cutbuffer directly. This avoids an + "Unknown Command" message on every cursor-positioning mouse click. + * src/nano.c (do_mouse): Put a common statement outside of then/else. + * src/Makefile.am: Remove -I m4; it is needed only at the top level. + * Makefile.am: Trim the contents of EXTRA_DIST to what is required. + * doc/man/nano.1, doc/man/nanorc.5, doc/texinfo/nano.texi: Update + the docs for the changed location of nano's search history. + * doc/man/nano.1, doc/man/nanorc.5, doc/texinfo/nano.texi: Change + some wordings, triggered by Savannah bug #42539. + +2014-06-14 Mark Majeres <mark@engine12.com> + * src/nano.h, src/text.c (undo_cut, update_undo): When undoing a + backwards cut, put the cursor back in front of it, where it was. + +2014-06-13 Benno Schulenberg <bensberg@justemail.net> + * src/nano.c (do_input): Repositioning the cursor with the mouse + (result == 0) should break a series of ^Ks. + * src/nano.c (do_mouse): Clicking on the titlebar or the statusbar + should not break a series of ^Ks, thus result must not be zero. + * src/nano.c (do_input): A toggle should not break a series of ^Ks. + * src/winio.c (get_shortcut): Do not treat holding both Control and + Meta the same as holding only Control. + * src/global.c, src/rcfile.c, src/nano.h, src/nano.c, src/text.c: + Remove the --undo option, having the undo functions always enabled. + If wished, the user can unbind them. This fixes Savannah bug #42456. + * doc/man/{nano.1,nanorc.5}, doc/texinfo/nano.texi: Update the docs. + * nano.spec.in: Remove useless info dir file from the build directory, + don't clean this directory first, it's unnecessary, add a suggestion + for a pico symlink, and update the license and the source URL. + +2014-06-11 Benno Schulenberg <bensberg@justemail.net> + * src/winio.c (get_mouseinput): Produce the correct return value for + when a mouse event reinserted something into the keyboard buffer. + * src/nano.c (do_input): Do not continue when there is a spurious + mouse event (a touch of the touchpad, for example) but get out. + Continuing would result in the cutbuffer being cleared upon the + next cut. These two changes together fix Savannah bug #42326. + * src/nano.c (do_input): Always accept mouse events, also when + just looking for Unjustify. This fixes Savannah bug #42322. + * src/nano.c (do_input): Remove a superfluous switch statement. + * src/winio.c (get_mouseinput): Set the type of a reinserted key, + also when it is a function key. This fixes Savannah bug #42092. + +2014-06-10 Benno Schulenberg <bensberg@justemail.net> + * src/browser.c, src/files.c, src/nano.c src/prompt.c, src/winio.c: + A few minimalistic whitespace adjustments. + * src/rcfile.c (check_bad_binding): Avoid a compiler warning. + +2014-06-10 David Lawrence Ramsey <pooka109@gmail.com> + * src/winio.c: One more type fix and two tiny message tweaks. + +2014-06-09 David Lawrence Ramsey <pooka109@gmail.com> + * src/*.c: Cosmetic tweaks of comments and whitespace. + * src/help.c, src/rcfile.c, src/winio.c: Elide a function call by + not comparing with an empty string but checking for the final \0. + * src/files.c, src/nano.c, src/text.c, src/winio.c: Type fixes in + debugging stuff -- line numbers are long, x positions unsigned long. + * src/files.c, src/move.c, src/nano.c, src/text.c, src/winio.c: + Make tiny nano a bit tinier by preening out some soft-wrap stuff. + * src/global.c, src/nano.c, src/winio.c: A few more cosmetic tweaks + (whitespace, order, braces, parentheses, and a typo) and type fixes. + +2014-06-09 Benno Schulenberg <bensberg@justemail.net> + * src/nano.c (do_input): Remove two superfluous false conditions. + * src/nano.h, src/text.c (add_undo): Avoid a compiler warning with + --disable-wrapping. + +2014-06-09 Mark Majeres <mark@engine12.com> + * src/text.c (do_undo, do_redo, add_undo, update_undo, do-wrap): + Rewrite the line-wrapping code to make use of the existing line-break + code. And undo line wraps together with their causal text additions, + and not as separate actions because the user did not make them. + +2014-06-08 Mark Majeres <mark@engine12.com> + * src/text.c (do_delete, do_deletion, do_undo, do_redo, update_undo): + Differentiate between undoing a Delete and undoing a Backspace -- the + cursor should be in a slightly but significantly different position. + +2014-06-04 Benno Schulenberg <bensberg@justemail.net> + * src/global.c (shortcut_init), src/files.c (do_insertfile): Rename + 'ext_cmd_void' to 'flip_execute_void' to better match what it does. + * src/global.c (strtosc), doc/man/nanorc.5, doc/texinfo/nano.texi: + Add function name 'flipexecute' to enable rebinding ^X in the menus + Read File and Execute Command. + +2014-06-04 David Lawrence Ramsey <pooka109@gmail.com> + * src/*.c: Adjustments of whitespace and comments. + * doc/nanorc.sample.in: Interpunction tweaks. + * src/global.c (add_to_funcs): Add cast to subnfunc* for nmalloc(). + * src/files.c (do_lockfile): Properly make the variable 'lockfilesize' + a size_t instead of a ssize_t, since it holds the result of strlen(). + And use charalloc() instead of (char *)nmalloc(). + * src/text.c (do_undo): Use charealloc() and not (char *)nrealloc(). + * src/text.c (add_undo): Make use of null_at() to both null-terminate + the multibyte character and align it to use only the amount of memory + necessary. + +GNU nano 2.3.4 - 2014.06.02 + +2014-06-02 Chris Allegretta <chrisa@asty.org> + * doc/syntax/default.nanorc: Can't do trailing spaces in the + default syntax or it will hilight the spaces as you type them + into a new file, which for non-programming is infuriating. + +2014-05-29 Mark Majeres <mark@engine12.com> + * src/text.c (do_delete): For the undo structure, differentiate + between deleting a newline and any other character. + +2014-05-29 Chris Allegretta <chrisa@asty.org> + * src/chars.c (addstrings): This function needs to be available even + on non-utf-8 systems. + * nano-regress: Added --disable-utf8 to regression check. + +GNU nano 2.3.3 - 2014.05.29 + +2014-05-28 Chris Allegretta <chrisa@asty.org> + * doc/syntax/mutt.nanorc: Include Benno's awesome signature + matcher, modified slightly to also work for quoted sigs. + * doc/syntax/default.nanorc: Be far more gentle with something + which affects every file which doesn't match another syntax, and + the user may not be able to override if their distro turns on + highlighting by default. + +2014-05-28 Benno Schulenberg <bensberg@justemail.net> + * src/nano.c (do_input): Remove the three unused parameters 's_or_t', + 'ran_func', and 'finished'. They are only ever set and never used. + * src/text.c (do_justify): Adjust a call of do_input(). + * src/browser (do_browser): Actually translate the go-to-dir prompt. + * src/browser, src/search.c: There is no need to repeat translator + comments for the same string -- once is enough to get them included. + Add instead some translator comments for the prompts. + * src/global.c (shortcut_init): Make ^X in the Read-File menu toggle + between executing a command and inserting a file. The mechanism in + do_insertfile() in files.c is already present -- in the past just + the wrong function was used in the relevant function-list item: + 'do_insertfile_void' instead of the unintuitive 'ext_cmd_void'. + * src/browser (filesearch_init): Remove an unneeded format specifier. + * src/nano.c (usage): Add a translator comment for the --help output. + * src/global.c (shortcut_init): Elide four unneeded tags. + * src/global.c (shortcut_init): Make tiny nano just a bit tinier. + * src/global.c (shortcut_init): Standardize the add_to_funcs() calls, + breaking always between the menus and the tag. + +2014-05-27 Chris Allegretta <chrisa@asty.org> + * src/winio.c (edit_refresh): wredrawln() is not supported under + slang. + +2014-05-27 Benno Schulenberg <bensberg@justemail.net> + * src/global.c (shortcut_init): Improve the arrangement of help items + under certain compilation conditions. + * src/global.c (strtosc): Make tiny nano a bit tinier. + * src/global.c (strtosc): Allow rebinding 'suspend' in tiny nano. + * src/winio.c (set_modified): Adjust translator comment to make it + show up in the POT file, and make it take the "[ ]" into account. + +2014-05-26 Benno Schulenberg <bensberg@justemail.net> + * src/cut.c (cut_line): Fix compilation with --enable-tiny. + * src/text.c (do_linter): Avoid a warning with --enable-tiny. + * src/global.c (shortcut_init): Unwrap some lines, and reorder two. + +2014-05-25 Benno Schulenberg <bensberg@justemail.net> + * src/global.c: Cut down on the size of tiny nano, by not compiling + the function strtosc() when --disable-nanorc is given or implied. + +2014-05-25 Mark Majeres <mark@engine12.com> + * src/chars.c (addstrings): New function, concatenates two allocated + strings, tacking the second onto the first and freeing the second. + * src/cut.c (do_uncut_text): Update the undo structure for a paste. + * src/text.c (undo_cut, redo_cut, add_undo, update_undo): Place the + cursor after an undo there where it was before the do, and handle + multibyte characters correctly. + +2014-05-23 Benno Schulenberg <bensberg@justemail.net> + * src/winio.c (edit_draw): Finally, the proper fix for bug #31743; + telling ncurses to really redraw the line, without optimization, so + it will not mistakenly assume that a wide character at the start of + a line takes up just one column. This deletes the workaround that + had the side effect of creating pastes full of trailing whitespace. + +2014-05-19 Mark Majeres <mark@engine12.com> + * src/winio.c (edit_draw): Paint the current line *after* tickling the + terminal, so that the character in the final column will be displayed + properly. Bug was introduced five days ago. + +2014-05-18 Benno Schulenberg <bensberg@justemail.net> + * src/nano (precalc_multicolorinfo): Do not match the ^ anchor when + looking further on in a line. This prevents an end="^$" from being + sometimes mistakenly matched. Fix inspired by Savannah bug #27708. + * doc/syntax/default.nanorc: New file, example for a default syntax. + +2014-05-17 Benno Schulenberg <bensberg@justemail.net> + * doc/syntax/json.nanorc: New file, originally from Aapo Rantalainen, + but edited, extended, and improved. See Savannah patch #7410. + * src/winio.c (edit_draw): Do not skip the colour-off commands at the + end of the loop. Based on Savannah patch #7550 by Ryan Lothian. + This fixes bug #26111 reported by Dave Geering <dreamlax@Savannah>. + +2014-05-16 Benno Schulenberg <bensberg@justemail.net> + * src/text.c, src/winio.c: Remove some more double spaces. + * doc/syntax/patch.nanorc: Show trailing whitespace on added lines. + * doc/syntax/debian.nanorc: Make the component colouring simpler, + and the URI colouring completer, and improve the comments. + * doc/syntax/*.nanorc: Harmonize (partially) the syntax files. + +2014-05-16 David Lawrence Ramsey <pooka109@gmail.com> + * src/color.c, src/cut.c, src/text.c: Tweak some whitespace. + * src/global.c, src/move.c: Use TRUE and FALSE instead of 1 and 0. + * src/winio.c (edit_draw): Mention the name of the tickling character. + * src/search.c (goto_line_posx): Remove unneeded call of edit_refresh. + * src/text.c (do_undo, do_redo): Use size_t for line lengths. + +2014-05-15 Mark Majeres <mark@engine12.com> + * src/*, but mainly src/text.c (undo_cut, redo_cut, do_undo, do_redo): + Go to the correct positions for undoing/redoing the cuts and pastes. + This fixes several undo problems and Savannah bug #25585. + +2014-05-15 Benno Schulenberg <bensberg@justemail.net> + * doc/syntax/c.nanorc: Improve the magic regex, plus tweaks. + * src/color.c (color_update): Adjust a comment, and be clearer. + * src/nano.h: Improve two comments, and elide one macro. + * doc/syntax/Makefile.am: Add texinfo.nanorc to the packing list. + +2014-05-14 Benno Schulenberg <bensberg@justemail.net> + * src/winio.c (edit_draw): Poke a non-breaking space into the last + column of every line, to startle the terminal into handling wide, + two-column characters properly. This fixes Savannah bug #31743. + * src/nano.c (precalc_multicolorinfo): Improve debugging messages, + and remove superfluous assignment (fileptr already equals endptr). + * src/color.c (color_update): Move magic check to after headerline. + * src/color.c (color_update): Open the magic database only when + actually going to use it, and close it afterward. + * doc/syntax/{perl.nanorc,xml.nanorc}: Improve two magic regexes. + * src/color.c (color_update): Stop seeking when a magic matched. + * doc/nanorc.sample.in: Add an example of colouring nano's interface + elements, and tweak some of the other descriptions. + +2014-05-13 Benno Schulenberg <bensberg@justemail.net> + * src/text.c (do_linter): Make an error message somewhat clearer. + * src/rcfile.c (parse_binding): Improve another error message. + * doc/syntax/nanorc.nanorc: Show key names like M-6 and M-/ as valid. + * src/global.c (thanks_for_all_the_fish): Upon exit also free the + lists with functions and shortcuts. + * src/*.c: Several random whitespace and comment tweaks. + * src/global.c (replace_scs_for): Condense the function a bit. + * src/help.c (help_init): No need to keep looping when two are found. + * src/global.c: Improve compilation with --disable-browser. + * src/nano.h, src/*.c: A few more comment tweaks. + +2014-05-12 Benno Schulenberg <bensberg@justemail.net> + * src/text.c (do_spell): Provide startup feedback, as for the linter. + * doc/syntax/nanorc.nanorc: Show bright foreground colours as valid. + * src/rcfile.c: Improve some comments, and remove some others that + are mispasted or superfluous. + * doc/texinfo/nano.texi: Add missing parenthesis, remove blank line. + * src/rcfile.c (parse_magictype, parse_headers): Handle the libmagic + and headerline regexes in the same manner, eliding a static variable + while renaming some others. + * src/*.h, src/rcfile.c (parse_magictype, parse_headers): Rename them + to parse_magic_exp() and parse_header_exp() to be more fitting, further + symmetrify them, and improve some comments. + * src/nano.h, src/color.c, src/global.c, src/rcfile.c: Rename struct + type 'exttype' to 'regexlisttype', to better match its functions, and + upon exit also free the regexes for libmagic results and headerlines. + * doc/syntax/python.nanorc: Improve the multiline regexes, make the + one with single quotes work again, and add some comments. + * doc/syntax/{man,python,fortran}.nanorc: Add regexes for comments, + trailing whitespace and reminders, and trim some trailing spaces. + * src/rcfile.c: Move parse_magic_exp() next to its sister. + * src/color.c (color_update): Rename a variable, and elide another. + +2014-05-10 Chris Allegretta <chrisa@asty.org> + * src/rcfile.c (parse_color_names): Redefine false and true to + their appropriate macro names so --with-slang works (slangv2 anyway). + * src/text.c (do_linter): Care about whether user cancelled the file + save (cancel the operation) versus just said no (continue but don't + save the file). Also doupdate() after statusbar message that + linter is being invoked and blank the shortcuts to draw the eye. + Also allow user to cancel at the "open in a new buffer" prompt. + New function lint_cleanup(). Fixes Savannah bug #42203. + +2014-05-10 Benno Schulenberg <bensberg@justemail.net> + * doc/texinfo/nano.texi: Make syntax highlighting into a separate + section, and add the still missing section on rebinding keys. + +2014-05-10 Mark Majeres <mark@engine12.com> + * src/*.h, src/*.c: Make it possible for the foreground colour of + interface elements to be bright. + +2014-05-09 Benno Schulenberg <bensberg@justemail.net> + * src/winio.c (get_mouseinput): Count only shortcuts that are actually + shown, so that clicking on the ones after ^T (Speller/Linter) will work + again correctly. This fixes the second part of Savannah bug #42093. + * src/global.c (shortcut_init, strtosc): Do not define nor accept + shortcuts for functions that are disabled. + * src/global.c (shortcut_init, strtosc): Define shortcut for the linter + when speller is disabled, and fix compilation with --disable-speller. + * src/global.c (shortcut_init, strtosc), doc/man/nanorc.5: Put softwrap + back among the "Appearance" toggles. + * doc/man/nanorc.5: Describe bindable functions in the third person. + +2014-05-06 Benno Schulenberg <bensberg@justemail.net> + * doc/texinfo/nano.texi: Let makeinfo figure out the node pointers. + * doc/syntax/texinfo.nanorc: New file, colouring for Texinfo files. + * doc/texinfo/nano.texi: Add sections on the Cutbuffer and the Mark, + remove option '-?', and make some other tweaks. + * doc/man/{nano.1,nanorc.5}, doc/texinfo/nano.texi: Synchronize the + documentation, and tweak some wording here and there. + * doc/syntax/texinfo.nanorc: Stop the brace content from spilling. + +2014-05-05 Benno Schulenberg <bensberg@justemail.net> + * doc/man/nanorc.5: Give syntax highlighting its own section, + add the "header" command, tweak some wording and formatting, + and trim some duplicate introductory information. + * src/global.c (strtosc), doc/man/nanorc.5: Allow the function + do_cut_till_end (naming it "cutrestoffile") to be rebound. + * doc/syntax/nanorc.nanorc: Add the four new *color options. + * doc/syntax/nanorc.nanorc: Differentiate between options that + take an argument and those that don't. + +2014-05-04 Benno Schulenberg <bensberg@justemail.net> + * src/winio.c (statusbar): Elide a variable. + * src/*: Rename the variable 'reverse_attr' to 'hilite_attribute', + and remove an unneeded call of wattroff(). + * doc/man/nanorc.5, doc/texinfo/nano.tex: Document the settings + of titlecolor, statuscolor, keycolor and functioncolor. + * doc/man/nanorc.5, doc/texinfo/nano.tex: Show quotes where quotes + are needed, remove some unneeded spaces, and do other tweaks. + * src/global.c (strtosc), doc/man/nanorc.5: Allow the Backwards + toggle to be rebound, document it, and document Backspace too. + +2014-05-03 Benno Schulenberg <bensberg@justemail.net> + * src/*.h, src/*.c: Add the ability to colour four elements of + nano's interface differently: title bar, status bar, key combo, + and function tag. Idea and original patch #8421 by Mark Majeres. + * src/global.c (shortcut_init): Unfold long lines consistently. + * src/global.c (shortcut_init): Order the shortcuts in roughly + the same manner as in the help lines, and group them per menu. + * src/global.c (shortcut_init): Remove the search-mode toggles + from the inappropriate WHEREISFILE and REPLACEWITH menus. + * src/global.c (shortcut_init): Paragraph jumping only makes + sense in the main editing menu; remove it from all others. + +2014-04-30 Benno Schulenberg <bensberg@justemail.net> + * src/*, doc/*: Update the years in the copyright notices -- there + were releases in 2010, 2011, and 2013, and there will be in 2014. + +2014-04-27 Benno Schulenberg <bensberg@justemail.net> + * src/nano.c (usage, main): Don't blurt out the full help text + but just a hint when the command line contains some mistake, to + avoid drowning out the error message. + * src/nano.c (usage): Mention only those options that actually do + something. For the no-op compat flags the man page is the place. + * src/global.c (shortcut_init): In the help lines of Search/Replace + show the important toggles early on, and group them better. + * src/global.c (shortcut_init): Improve order and grouping in the + main help text and help lines. + * src/global.c (strtosc): Fix compilation with --enable-tiny. + * src/global.c (shortcut_init): Improve the order of the help items + still further, and make them also group nicely in the tiny version. + +2014-04-27 Mark Majeres <mark@engine12.com> + * src/rcfile.c (parse_include): Plug two tiny memory leaks. + +2014-04-26 Benno Schulenberg <bensberg@justemail.net> + * src/global.c (add_to_funcs): Add a pointer to the tail of the + functions list, to simplify and speed up adding new items. And + make use of it to remember the location of the Uncut item. + * src/global.c, src/files.c (make_new_buffer, close_buffer): Make + help lines show "Close" again when more than one buffer is open. + * src/global.c (strtosc), doc/man/nanorc.5: Allow the do_spell + (and thus do_lint) function to be bound to other key combos. + * src/global.c (strtosc), doc/man/nanorc.5: Group related functions + together, remove duplicate up/down, add missing prevpage/nextpage. + +2014-04-24 Benno Schulenberg <bensberg@justemail.net> + * doc/faq.html: Update a few URLs, delete some obsolete ones, update + the section on configuration flags and on translating nano, plus a + whole series of other small fixes and adjustments. + +2014-04-23 Benno Schulenberg <bensberg@justemail.net> + * src/winio.c, src/help.c, src/text.c, src/browser.c: Remove + several unneeded double semicolons, and two relic comments. + * src/help.c (parse_help_input), src/browser.c (parse_browser_input): + Make the Minus and Space keys work in the help viewer and file browser + also when the PrevPage and NextPage functions are bound to meta-key + sequences -- searching for these will not find them. So, instead put + in the standard key code. This fixes Savannah bug #42140. + * src/global.c (first_sc_for): Stop the whole charade of preferring + control keys over meta keys over function keys, but return the first + one in the list -- just like the function name implies. This will + make a user-defined shortcut appear in the two bottomlines without + having to unbind the existing one first -- better feedback. + * src/global.c (shortcut_init, flagtostr, strtosc): Put the two + wrapping toggles together and increase their contrast a bit. + * src/nano.c (usage), doc/man/nano{.1,rc.5}, doc/texinfo/nano.texi: + Increase the contrast between hard-wrapping and soft-wrapping. + +2014-04-22 Benno Schulenberg <bensberg@justemail.net> + * src/global.c (shortcut_init): Put the movement keys in the + help viewer in the order of increasing stride. + * src/global.c (shortcut_init): Rename many constants from + '*_msg' to '*_tag' to reduce confusion with 'nano_*_msg'. + * src/global.c (shortcut_init): Elide several pointless constants. + * src/global.c (shortcut_init): Elide more unneeded constants, and + update some translator comments and shorten a few tags. + * src/global.c (shortcut_init): Delete unneeded empty funcs; being + in the list of shortcuts is enough. + * src/global.c (shortcut_init): Put left/right in normal order. + * src/global.c (shortcut_init): List function key after meta key. + * src/help.c (help_init): Show just two shortcuts per function -- + only three functions showed three, but who has an F13, F14, F15? + This also fixes Savannah bug #41889: misalignment of help text. + * src/help.c (help_init): Split the toggles into three groups, + and do not show toggle keys that have been rebound. + +2014-04-21 Benno Schulenberg <bensberg@justemail.net> + * doc/syntax/nanorc.nanorc: There is no F0 key. + * src/global.c (first_sc_for): Adjust two comments -- the help + viewer no longer sorts keys to be control first, meta second. + * src/global.c (first_sc_for): Put meta first, for clarity. + * src/global.c (strtokeytype): No need to check for lowercase + 'm' or 'f', the source doesn't use them and rc-file processing + uppercases them. Also put control first, for clarity. + * src/global.c (strtosc, strtomenu): Sort functions slightly + better, and allow things to be rebound in the linter menu. + * src/nano.h: Delete a large bunch of unused defines. + * src/nano.h, src/proto.h: Delete some more unused stuff. + * src/rcfile.c (parse_binding), src/winio.c (get_mouseinput): + Avoid three compiler warnings with --enable-debug. + * src/global.c (assign_keyinfo): Decombine repetitive condition. + * src/global.c (assign_keyinfo, shortcut_init): Give nicer names + to the dedicated keys, for when they show up in the help lines. + * src/rcfile.c (parse_binding): K-keys no longer exist. + * src/global.c, src/rcfile.c, doc/nanorc.sample.in: Allow the + codes from the Ins and Del keys to be rebound. + * src/rcfile.c (parse_binding): Improve two error messages, and + complain about wrong menu names after wrong function names. + +2014-04-16 Benno Schulenberg <bensberg@justemail.net> + * src/winio.c (get_mouseinput): Properly find also the zeroeth + item from a certain menu in the list of functions. Until now + this accidentally worked, because "Get Help" was the very first + item in almost all menus. Partly fixes Savannah bug #42093. + * src/nano.h: MHELP should not be part of MALL, as ^B and ^F and + Enter and Backspace and so on don't make any sense there. + * src/nano.h, src/global.c (shortcut_init): Rename MALL to MMOST, + to be more accurate. + * src/nano.h, src/global.c, src/help.c, src/search.c: Rename + MREPLACE2 to MREPLACEWITH, for clarity. + * src/nano.h: Adjust some tabbing and spacing. + * src/global.c (shortcut_init): Make better use of MMOST. + +2014-04-15 Benno Schulenberg <bensberg@justemail.net> + * src/nano.c (precalc_multicolorinfo): Actually set the intended + non-blocking mode for keyboard input. + * src/winio.c: Relocate and correct a few comments. + * README.SVN: To build nano from svn, ssh is not required. + * src/*.c: Normalize whitespace around '==' comparison. + * configure.ac: Check for the availability of snprintf(), + fixes Savannah bug #42070 reported by David Lawrence Ramsey. + * src/global.c (shortcut_init), src/help.c (do_help): Add the + shortcuts M-\ and M-/ for First Line and Last Line to the help + viewer, instead of ^Y and ^V, which are already taken for Page + Up and Page Down. Also, stop them from aborting the viewer. + * src/help.c (do_help): Remove superfluous abortion variable. + * src/global.c (shortcut_init), src/help.c (do_help): Add the + shortcut ^L for Refresh to the help viewer and stop it aborting; + a changed version of patch #7013 from David Lawrence Ramsey. + +2014-04-14 Benno Schulenberg <bensberg@justemail.net> + * src/{proto.h,cut.c,nano.c,text.c}: Remove the unused parameter + 'file_bot' from copy_from_filestruct(), and rename the other. + * src/*: Remove the unused parameter 'func_key' from get_shortcut(), + and subsequently from parse_browser_input() and parse_help_input(). + * src/*: Adjust some whitespace and tweak a few comments. + * src/winio.c (getfuncfromkey): Elide variable and condense comment. + * src/text.c (break_line): Initialize a variable to avoid a compiler + warning, rename it to be more apt, add a comment, tweak some others, + and remove an unneeded 'if'. + * src/char.c (move_mbleft): Avoid a compiler warning (int → size_t), + rename the variable, and another, and straighten out the logic. + +2014-04-13 Benno Schulenberg <bensberg@justemail.net> + * proto.h, global.c, rcfile.c: Remove the unused parameter 'menu' + from strtosc(). + * global.c (shortcut_init): Remove mistaken browser item from the + Go-To-Line menu. + * global.c (shortcut_init): Delete a misplaced setting of 'currmenu'. + * global.c (shortcut_init, strtomenu): Cosmetic tweaks. + * doc/syntax/{changelog,c,po}.nanorc: Some small extra colourings. + * configure.ac, doc/texinfo/nano.texi: Make --enable-tiny disable + the use of libmagic, and document the --disable-libmagic flag. + * src/nano.c (version): Print the correct --enable/--disable option. + * configure.ac, src/*, doc/texinfo/nano.texi: Convert all occurrences + of #ifdef ENABLE_NANORC to #ifndef DISABLE_NANORC, and adapt for it. + * configure.ac: Complain about --enable-color without --enable-nanorc. + +2014-04-10 Benno Schulenberg <bensberg@justemail.net> + * doc/syntax/Makefile.am: Add four recent syntaxes to the packlist. + +2014-04-08 Benno Schulenberg <bensberg@justemail.net> + * doc: Add the documentation for the new --noread option. + * doc: Add missing --poslog option to the texinfo file, plus tweaks. + +2014-04-08 Hans Alves <fonsvandeachterburen@gmail.com> + * nano.h, files.c, nano.c: Adding the command-line option --noread + to treat any name on the command line as a new file. This allows + nano to write to named pipes -- it will start with a blank buffer, + and will write to the pipe when the user saves the file. This way + nano can be used as an editor in combination with for instance gpg + without having to write sensitive data to disk first. + +2014-04-08 David Lawrence Ramsey <pooka109@gmail.com> + * src/*.c: More editing of comment blocks and trimming of blank lines. + +2014-04-08 Benno Schulenberg <bensberg@justemail.net> + * src/rcfile.c: Correct two comments, and tweak two others. + * src/color.c (color_update): Correct one comment, tweak some others, + remove two superfluous ones, and remove an unneeded 'if'. + +2014-04-08 David Lawrence Ramsey <pooka109@gmail.com> + * src/nano.c (main): Convert the literal UTF-8 whitespace string into + its corresponding byte sequence, and add a comment for it. + * src/{files.c,global.c,help.c,winio.c}: Reformat some comment blocks, + fix a few typos, and remove a few unneeded blank lines. + +2014-04-08 Benno Schulenberg <bensberg@justemail.net> + * src/rcfile.c (parse_binding): Melt the binding and unbinding code, + which are very similar, into a single function. + * src/rcfile.c (parse_binding): Uppercase only the first two or three + characters of the key name, in order to preserve ^Space and M-Space, + so they can be unbound. Fixes Savannah bug #41940. + * doc/syntax/go.nanorc: Extend the syntax highlighting for Go lang, + from the submission by Robert Clausecker <fuzxxl@Savannah>. + +2014-04-07 Benno Schulenberg <bensberg@justemail.net> + * src/{proto.h,global.c,text.c}: Keep a pointer to the Uncut item in + the functions list, to be able to change its description to Unjustify + at the appropriate moment. This avoids having to fully repopulate + the functions and shortcuts lists before and after every Justify. + Also, look for ^U only in the main menu, to which ^W M-J factually + returns and which shortcut_init() "sneakily" sets. + * src/{proto.h,files.c,global.c,nano.c,rcfile.c}: Drop the obsolete + argument of shortcut_init(), and remove two unneeded calls of it. + * src/global.c (shortcut_init): Allow M-J after an --enable-justify. + * src/rcfile.c (parse_rcfile): The user documentation only speaks + of options, not of flags. Make the error messages conform. + * src/rcfile.c (check_vitals_mapped): Improve layout of message. + +2014-04-06 Benno Schulenberg <bensberg@justemail.net> + * src/global.c (shortcut_init): Limit M-T (cut-till-end-of-file) to + the main menu, and M-J (full-justify) to the main and search menus. + * src/proto.h: There is no need for the helpline tags to be external, + they are only ever used in src/global.c. + * src/global.c: Do not set any helpline tags to empty strings; + compilation should fail if they are needed and not defined. + +2014-04-05 Benno Schulenberg <bensberg@justemail.net> + * src/nano.c (version): Print the correct configuration options. + * src/{chars.c,nano.c,text.c}: Cosmetic tweaks. + * doc/texinfo/nano.texi: Adjust for new disabling config options. + +2014-04-05 Mike Frysinger <vapier@gentoo.org> + * src/nano.c (do_input): Reload possibly freed function pointer. + +2014-04-04 Benno Schulenberg <bensberg@justemail.net> + * src/{files.c,nano.c}: Avoid two more compilation warnings. + * configure.ac: Allow --enable-extra and --enable-multibuffer + to override --enable-tiny. + * src/rcfile.c (check_vitals_mapped): Do not allow 'set quiet' + to suppress a fatal-error message, make sure the user sees it. + * src/color.c: Comment tweaks. + * src/{*.h,*.c}, configure.ac: Convert all occurrences of + #ifdef ENABLE_COLOR to #ifndef DISABLE_COLOR. + * src/nano.h: Comment tweaks. + * configure.ac: Move the enabling stuff to after the disablers. + * configure.ac: Add submissive colour disabling to --enable-tiny. + * configure.ac: Allow other enablers to override --enable-tiny too. + * src/{proto.h,search.c}: Fix compilation with --enable-browser. + * src/global.c (shortcut_init): Fix warnings with --enable-help. + * src/text.c (do_justify): Fix compilation with --enable-justify. + * src/nano.c (do_mouse): Fix warning with --enable-mouse. + * src/prompt.c (get_prompt_string): Fix compilation for the + combination of --enable-tiny with --enable-tabcomp. + * src/prompt.c (get_prompt_string): Normalize the indentation. + * src/text.c: Comment tweaks. + +2014-04-03 Benno Schulenberg <bensberg@justemail.net> + * configure.ac: Remove unused '*_support' variables. + * doc/syntax/po.nanorc: New file, syntax colouring for PO files. + * configure.ac: Stop --with-slang from duplicating --enable-tiny. + * configure.ac: Sort all the disabling options alphabetically. + * src/{proto.h,files.c,global.c,nano.c,rcfile.c}, configure.ac: + Convert #ifdef ENABLE_MULTIBUFFER to #ifndef DISABLE_MULTIBUFFER. + * src/{proto.h,files.c,,nano.c,winio.c}, configure.ac: + Convert #ifdef NANO_EXTRA to #ifndef DISABLE_EXTRA. + * src/{global.c,text.c}: Fix two compilation warnings for tiny. + +2014-04-02 Benno Schulenberg <bensberg@justemail.net> + * configure.ac, doc/Makefile.am: Try to build the info documentation + only when 'makeinfo' is available. Patch partly by Mike Frysinger. + * configure.ac: Upping the required version of Autoconf, to ensure the + ONCE macros are defined. Suggested by Kamil Dudka and Mike Frysinger. + +2014-04-02 Mike Frysinger <vapier@gentoo.org> + * doc/man/{,fr}/Makefile.am: Simplify the man rules still further. + * .gitignore: Add 'config.cache', created by './configure -C'. + * src/nano.c (die_save_file): Newer gcc warns about set-but-unused + variables, so add a dummy if() check to kill that off. + * src/search.c (search_init): Silence a compiler warning about a + variable possibly being used uninitialized. + +2014-03-31 Chris Allegretta <chrisa@asty.org> + * doc/syntax/go.nanorc: New file, basic go syntax highlighting. + +2014-03-30 Benno Schulenberg <bensberg@justemail.net> + * doc/syntax/changelog.nanorc: New file, first attempt at colouring + Changelog files. + * ChangeLog: Consistently use a colon after names of changed files. + +2014-03-30 Mike Frysinger <vapier@gentoo.org> + * doc/Makefile.am, doc/man/Makefile.am, doc/man/fr/Makefile.am: + The build already provides a standard htmldir for installing html + files. Use that instead of creating our own. + * doc/man/Makefile.am, doc/man/fr/Makefile.am: Use dist_ prefixes + and += appending supported by automake to produce simpler files. + * doc/Makefile.am: Drop redundant localedir, as autoconf/automake + already creates this for us. + * src/rcfile.c, doc/nanorc.sample.in: Hard-listing all the wanted + syntax files is a PITA. Support globs in include paths, so people + can easily drop in new files and have it "just work". + +2014-03-27 Benno Schulenberg <bensberg@justemail.net> + * src/nano.c (main): Fix compilation with --disable-utf8. + * src/global.c (shortcut_init): Place a help string among + its kin, adjust some indentation, group function pairs more + tightly, bundle restricted stuff, and delete an unused item. + +2014-03-27 Mike Frysinger <vapier@gentoo.org> + * configure.ac: Make --disable-nanorc with --enable-color barf. + * configure.ac: Allow --disable-utf8 and --enable-utf8 to work. + +2014-03-26 Benno Schulenberg <bensberg@justemail.net> + * configure.ac: Word, tab, and comment tweaks. + * src/global.c: Some comment tweaks, and whitespace trimmings. + * src/global.c (print_sclist): Also print last shortcut in list. + * doc/texinfo/nano.texi: Explain how to select and paste with + the mouse when mouse support is enabled: by holding down Shift. + * nano.spec.in, doc/faq.html, doc/texinfo/nano.texi: Remove + vestiges of the obsolete '--enable-all' configure flag. + * src/rcfile.c: Fix compilation with --disable-color. + * src/rcfile.c: Allow (un)binding keys when colour is disabled. + * src/help.c: Fix compilation with --disable-browser. + * src/{proto.h,browser.c,help.c}: Remove a superfluous function. + +2014-03-26 Mike Frysinger <vapier@gentoo.org> + * configure.ac: Clean up most of the --with/--enable flags: + - use AS_HELP_STRING instead of writing the text ourselves; + - use the normal enable_xxx var AC_ARG_ENABLE creates for us; + - delete duplicate checks in a few places (due to previous cleanup); + - unwrap some macros/var assignments; + - delete trailing whitespace; + - delete old --enable-all flag; + - fix quoting on a lot of vars that come from the user; + - use AC_MSG_* helpers instead of raw `echo`. + +2014-03-24 Benno Schulenberg <bensberg@justemail.net> + * src/{nano,move,winio}.c: Fix a few compiler warnings. + * src/{global,rcfile,winio}.c: Print menu numbers for debugging + in hex, and tweak a few of those debugging messages. + * src/nano.c: Harmonize comments, and trim some blank lines. + +2014-03-24 Mike Frysinger <vapier@gentoo.org> + * doc/syntax/gentoo.nanorc: Match more files, add a trailing + whitespace check, and EAPI=5 updates. + * doc/syntax/javascript.nanorc: New file, based on C syntax. + * doc/syntax/{nanorc,python}.nanorc: Highlight trailing whitespace. + * configure.ac, m4/ax_check_compile_flag.m4: Start building with + warnings enabled, to help prevent issues from silently creeping in. + * configure.ac: Newer ncurses include pkg-config files which tell + us the right -I/-L paths we need, so default to that before trying + the legacy ways. + * configure.ac: Add a configure flag to disable the use of the + fattening libmagic. + +2014-03-23 Benno Schulenberg <bensberg@justemail.net> + * src/rcfile.c (parse_keybinding, parse_unbinding): Improve a + debugging message, fix a translator comment, and tweak others. + +2014-03-22 Benno Schulenberg <bensberg@justemail.net> + * THANKS: Add some missing translator names, and tweak others. + +2014-03-21 Benno Schulenberg <bensberg@justemail.net> + * src/chars.c (is_punct_mbchar, mbstrchr): Elide a variable, + thus making two ifs identical to six others. + * doc/syntax/nanorc.nanorc: Add the 'extendsyntax' directive, + and change two colours to be legible on a light background. + +2014-03-19 Benno Schulenberg <bensberg@justemail.net> + * doc/nanorc.sample.in: Document the changed whitespace defaults. + * src/global.c, doc/man/nanorc.5: Allow softwrap to be rebound. + * doc/nanorc.sample.in: Sort the includes alphabetically, and + add the ones for Lua, Magicpoint, and Spec files. + * doc/nanorc.sample.in: Add "poslog", plus tiny textual tweaks. + * src/global.c, doc/man/nanorc.5: Group softwrap with the toggles + that affect how things look -- it does not belong in the group of + general program functions, nor in the group of editing behaviour. + * doc/man/nanorc.5: Add the descriptions of six missing bindable + functions, and tweak those of a few others. + +2014-03-18 Benno Schulenberg <bensberg@justemail.net> + * src/global.c (shortcut_init): In the file browser one cannot + search for a regular expression, so do not mention it. + +2014-03-17 Benno Schulenberg <bensberg@justemail.net> + * src/global.c (shortcut_init): Show ^F and ^B instead of kright + and kleft in the help lines of the tiny version. + * src/global.c (shortcut_init): Remove some inconsistent spaces + and newlines, condense three statements into one, place an #endif + better, melt two #ifndefs into one, and add a comment. + * src/winio.c (edit_scroll): Remove the old softwrap scrolling code. + * src/{nano.h,proto.h,color.c,cut.c,files.c,global.c,help.c,nano.c, + search.c,text.c,utils.c}: Add, fix, and remove some #endif comments, + remove an obsolete comment, and remove some superfluous #ifndefs. + * src/global.c (shortcut_init): Put ^B and ^F in the same order as + all other command keys: first the backward then the forward motion. + * src/{nano.h,*.c}: Remove stray spaces before tabs. + +2014-03-16 Benno Schulenberg <bensberg@justemail.net> + * src/nano.h: Display more help items when the terminal is wider. + +2014-03-14 Benno Schulenberg <bensberg@justemail.net> + * src/nano.c (main): When in a UTF-8 locale, use prettier characters + (»·) for indicating whitespace, and for similarity use ">." instead of + ":." when not in a UTF-8 locale. Changes suggested by Mike Frysinger. + +2014-03-05 Benno Schulenberg <bensberg@justemail.net> + * src/move.c (do_down): Initialize the correct variable to zero. + Solves jumpy scrolling behaviour reported by Chris Allegretta. + +2014-03-04 Chris Allegretta <chrisa@asty.org> + * global.c (first_sc_for): Return raw keystrokes last, so + they will not be displayed if there are F-keys or Meta keys + mapped for an item in the shortcut list. + +2014-03-04 Benno Schulenberg <bensberg@justemail.net> + * doc/syntax/nanorc.nanorc: Add keyword 'quiet', sort 'locking', + and concatenate the two separate strings into one. + * src/nano.c (main), doc/nanorc.sample.in: Make the M-P toggle + actually do something by default, by using visible characters. + * src/global.c (shortcut_init): Normalize the writing of three + help-line items: "Write Out", "Uncut Text", and "Unjustify", to + better stress the O and U -- the big C and J were distracting. + * doc/{syntax/nanorc.nanorc,man/nanorc.5,texinfo/nano.texi}: + Remove erroneous 'suspendenable' -- it is not a settable option + but a bindable function. + +2014-03-03 Chris Allegretta <chrisa@asty.org> + * global.c (shortcut_init): Don't actually free the shortcut + list, since the next pass via justifying will then remove all + custom shortcuts. Fixes bug discovered by Benno Schulenberg. + * text.c (do_linter): Remove some unused variables to quiet + -pedantic -Wall. + +2014-03-03 Benno Schulenberg <bensberg@justemail.net> + * src/global.c (add_to_funcs): Add a newline, for clarity. + * src/global.c (shortcut_init): Mark, don't translate yet. + * src/move.c (do_down): Correctly compute the minimum amount + to scroll when softwrap is on and there are overlong lines. + * src/winio.c (edit_scroll): Disable amount computation here. + * src/move.c (do_down): Trim some redundant code, and correct + the scrolling behaviour when softwrap is off -- the construct + (amount ? amount : 1) wasn't doing what I intended. + * doc/man/nano{.1,rc.5}: Slightly improve formatting and wording. + * doc/{texinfo/nano.texi,man/nanorc.5}: Add some missing options + to the texinfo documentation, and improve alphabetization a bit. + * src/nano.c (usage): Don't mention --softwrap in tiny version. + +2014-03-01 Chris Allegretta <chrisa@asty.org> + * global.c (shortcut_init): Fix an issue with the split + do_research() setup when using --enable-tiny. + * rcfile.c (parse_linter): Allow linter to be unset using "". + * rcfile.c: Allow syntaxes to be extended via "extendsyntax" + directive. Color, header, magic and linter should all be + able to be extended. Man page updates for nanorc(5). + * doc/nanorc.sample.in: Document 'set quiet'. + +2014-03-01 Mike Frysinger <vapier@gentoo.org> + * src/color.c (color_update): Do not write to stderr on magic + errors. If the magic db has errors such that magic_load() fails, + the current code dumps to stderr which messes up the terminal. + The error message is also vague to the point where it's confusing + -- I thought nano had problems writing to the file I was editing. + Instead, use statusbar() and clarify the messages. + (Patch tweaked by Benno.) + +2014-02-28 Benno Schulenberg <bensberg@justemail.net> + * src/text.c (execute_command): Equalize pipe error messages. + * src/global.c (thanks_for_all_the_fish): Remove a redundant + '#ifdef DEBUG', it is contained within a wider one. + * src/global.c (strtosc): Correct a misspelled keyword. + * src/rcfile.c (check_vitals_mapped): Actually translate a + helpful message, and reword it somewhat for clarity. + * src/global.c: Remove unused function 'free_shortcutage'. + * src/global.c (strtosc): Indent conditions consistently. + +2014-02-28 Eitan Adler <lists@eitanadler.com> + * src/nano.c (do_toggle): Constify a char pointer, to fix + a warning when compiling with clang (and -Wall). + +2014-02-27 Mike Frysinger <vapier@gentoo.org> + * doc/man/nanorc.5: Relocate the misplaced unbind section, + and improve formatting. (Patch tweaked by Benno.) + * doc/syntax/nanorc.nanorc: Add the bind/unbind commands, + so they will look supported when using syntax highlighting. + +2014-02-27 Benno Schulenberg <bensberg@justemail.net> + * src/help.c (parse_help_input): Make 'Space' again an alias + for PageDown and 'Minus' for PageUp -- they were mistakenly + swapped during code conversion in r4223. + +2014-02-26 Mike Frysinger <vapier@gentoo.org> + * doc/syntax/sh.nanorc: Highlight more shell builtins and + common commands, and rewrite the variable highlighting to be + more exact and handle cases where string operations are used. + * doc/syntax/gentoo.nanorc: Update to newer EAPIs, and fold + in updated shell changes too. Much of this is based on work + by Davide Pesavento <pesa@gentoo.org>. + * doc/syntax/makefile.nanorc: Highlight trailing whitespace. + +2014-02-26 Benno Schulenberg <bensberg@justemail.net> + * src/global.c (shortcut_init): Put PageUp and PageDown + and also WhereIs and WhereIsNext together in the help lines + of the file browser, and WriteOut and Readfile in the help + lines of the main window -- related stuff in one column. + * doc/syntax/man.nanorc: Better colouring of manpage files. + +2014-02-26 Konstantin Abakumov <abakumov@Savannah> (tiny change) + * doc/syntax/python.nanorc: Slightly improve the regexes for + multiline strings in Python, reducing spillage. + +2014-02-26 Benno Schulenberg <bensberg@justemail.net> + * src/move.c (do_down), src/winio.c (edit_scroll): Scroll an + extra amount when softwrap is on and the current line would + otherwise run off the screen, and recalculate maxrows after + each scroll. Solves bug #27550 reported by Hannes Schueller. + +2014-02-25 Benno Schulenberg <bensberg@justemail.net> + * NEWS: Fix some typos and wordings, and rewrap a few lines. + * src/global.c: Correcting some translator comments, removal + of a few superfluous blank lines, and some pedantic comment + tweaks (mainly adding missing periods and stars). + * src/global.c: Ordering "Prev Word" and "Next Word" better. + * src/global.c: Make ^G not only call help but also exit from + it, and make ^C also exit from help and from the file browser. + Also remove two redundant shortcut definitions. + +2014-02-25 Mike Frysinger <vapier@gentoo.org> + * src/Makefile.am: Rename 'INCLUDES' to 'AM_CPPFLAGS', since + Automake changed the naming of these a while ago, and at least + version 1.13 now starts warning about it. + * .gitignore: Ignore generated files (and bak files). + +2014-02-25 Benno Schulenberg <bensberg@justemail.net> + * src/files.c (write_lockfile, do_lockfile): Fix a typo reported + by Jean-Philippe Guérard and inconsistent spelling of "lock file" + reported by myself on nano-devel in March 2013. + +2014-02-25 Benno Schulenberg <bensberg@justemail.net> + * src/help.c (do_help_void): Call the help browser with the correct + refresher for afterwards. This solves a bug reported by myself on + nano-devel in August 2010: after typing ^R ^T ^W ^G ^X, the file + being edited would get displayed instead of the list of files. + +2014-02-24 Chris Allegretta <chrisa@asty.org> + * New linter functionality, rcfile option "linter". + * src/global.c (shortcut_init): Actually free the sclist + if it was allocated before. + * src/winio.c (do_credits): Add Benno, my children, + update copyright info. + +2014-02-23 Benno Schulenberg <bensberg@justemail.net> + * doc/syntax/*.nanorc: Comment and punctuation tweaks. + * doc/syntax/sh.nanorc: Colour $VAR within a "" string + but not within a '' string, and do not colour strings + within comments. Fixes bug #29943. + +2014-02-23 Benno Schulenberg <bensberg@justemail.net> + * src/text.c (do_undo, do_redo, add_undo): Make warning + sentences in the status bar consistently end in a period. + +2014-02-22 Benno Schulenberg <bensberg@justemail.net> + * src/files.c (write_file): Add a missing malloc. + Reported by an anonymous cross compiler, bug #30671. + +2014-02-22 Benno Schulenberg <bensberg@justemail.net> + * src/winio.c (get_mouseinput): Correct an oversight, + use the proper 'do_up_void' and 'do_down_void' names. + Reported by Zhou Z.J. <zzj666@Savannah>, bug #38268. + +2014-02-22 Lauri Kasanen <laxy@Savannah> (tiny change) + * doc/syntax/html.nanorc: Also recognize htm as extension, + use cyan for tags (more visible on dark background), correct + the expression for ampersand codes, and colour strings too. + +2014-02-22 Dennis Jenkins <dennisjenkins@Savannah> (tiny change) + * doc/syntax/c.nanorc: Also recognize c++ as extension. + +2014-02-22 Benno Schulenberg <bensberg@justemail.net> + * src/nano.c (move_to_filestruct): Update the data in 'mark_begin' + when mark and cursor are on the same line. This avoids a segfault + after M-A, right, M-T, left, ^K, or a hang when the left is left out. + +2014-02-22 Benno Schulenberg <bensberg@justemail.net> + * src/nano.c (main): Add two conditions on ENABLE_NANORC. + * src/files.c (close_buffer, do_insertfile): Likewise. + This avoids compilation failure when nano is configured + with both --disable-color and --disable-nanorc. + +2014-02-22 Felipe Bugno <capent@Savannah> (tiny change) + * doc/nanorc.sample.in: Add an include for CMake files. + +2014-02-22 David Lawrence Ramsey <pooka109@gmail.com> + * src/nano.c (allow_pending_sigwinch): A (char *) cast for pedantic purposes. + * src/cut.c (do_cut_text): Wrap a reference to 'copy_text' in NANO_TINY. + +2014-02-22 David Lawrence Ramsey <pooka109@gmail.com> + * ChangeLog, NEWS, doc/faq.html: Fix typos, wording, and spacing. + +2014-01-25 Chris Allegretta <chrisa@asty.org> + * src/winio.c (set_modified): Check for a filename before trying to lock. + +2014-01-24 Benno Schulenberg <bensberg@justemail.net> + * src/nano.c (copy_from_filestruct): Refresh the mark's pointer when + stuff was pasted into the line where the mark is. This applies + Savannah patch #8180 and fixes the segfault reported on the list: + https://lists.gnu.org/archive/html/nano-devel/2012-07/msg00000.html. + +2014-01-01 Chris Allegretta <chrisa@asty.org> + * doc/texinfo/nano.texi: Change '@sp4' since makeinfo 5.1 hates the + lack of spacing. Fixes bug #40103 reported by flapane@Savannah. + Also change SVN status to non-binary so diffs work. + +2014-01-01 Chris Allegretta <chrisa@asty.org> + * src/global.c (strtokeytype): Check for lower-case 'f' for defining F-key + sequences for consistency (previously was two checks for upper case 'F'). + Fixes bug #40815 reported by David Binderman <dcb314@Savannah>. + +2013-06-13 Matthew Fischer <mfisch@Savannah> + * doc/syntax/c.nanorc: Add the 'auto' keyword. + +2013-06-13 David Lawrence Ramsey <pooka109@gmail.com> + * src/global.c (first_sc_for): Try to more consistently display keystrokes, + useful when the user has rebound a bunch of them. + +2013-06-13 Kamil Dudka <kdudka@redhat.com> + * doc/man/nano.1: Actually document the -P (--poslog) option. + +2013-04-12 Chris Allegretta <chrisa@asty.org> + * src/files.c (do_insertfile): Check for saved cursor position when inserting a + file as well. Fixes Savannah bug #38600 reported by Craig Barnes. + * src/files.c (write_file): Don't re-stat() the file if we're writing out + a marked portion (especially because it would give the wrong stat info). + Part two of issue reported by Benno Schulenberg. + +2013-04-07 Michael Berg <mike@berg-net.us> + * do_cut_text: Fix copying (not cutting) text setting Modified state. + Partly fixes an issue reported by Benno Schulenberg. + +GNU nano 2.3.2 - 2013.03.23 + +2013-03-17 Chris Allegretta <chrisa@asty.org> + * Revert r4547 as we should have a new release and the overlap code is not yet + ready for public consumption. + +2013-01-20 Chris Allegretta <chrisa@asty.org> + * src/text.c (do_histify): Don't allow sigwinch to be received while justifying + as that puts us into a wacky state. Fixes crash on justify by Joshua Rogers. + * configure.ac: Added --with-wordbounds option to let cross compilers force + whether their target system support GNU-style word boundaries or not. + Originally reported by Dave Festing. + * doc/man/nanorc.5: Fix typo in softwrap description, reported by + cbart387@Savannah. + +2013-01-19 Chris Allegretta <chrisa@asty.org> + * configure.ac: Make ncurses checking to set $LIBS and check the ncursesw lib + actually works before defaulting to it over ncurses! Shock! + +2013-01-13 Chris Allegretta <chrisa@asty.org> + * src/utils.c (parse_num): Initialize errno before calling strtol(). Fixes issue + where trying to go to a line number too long will break legitimate goto-lines + for the remainder of the editing session, reported by Joshua Rogers. + +2013-01-09 Mike Frysinger <vapier@gentoo.org> + * configure.ac: Check for ncursesw5-config and base $CPPFLAGS on it. + +2013-01-09 Fabian Groffen <grobian@Savannah> + * configure.ac, src/nano.h: Make the search for ncursesw more generalized. + +2013-01-02 David Benjamin <davidben@Savannah> + * src/search.c (parse_syntax): Fix blatantly and dangerously incorrect code + for deleting old syntaxes. + +2013-01-02 Mike Frysinger <vapier@gentoo.org> + * src/files.c (cwd_tab_completion): Remove unnecessary variables. + * src/search.c (search_init): Fix gcc complaints on certain versions. + +2013-01-02 Eitan Adler <lists@eitanadler.com> + * configure.ac: Remove unnecessary checks. + * src/nano.h, NEWS: Fix redundant wording. + +2012-12-31 Chris Allegretta <chrisa@asty.org> + * src/*: Introduce (basic) vim-style file locks. Does not allow vim to recover + our changes, and just lets a vim user know we're editing a file. Command-line + option "-G" or "--locking", nanorc option "locking". New functions in + src/files.c: do_lockfile(), write_lockfile(), and delete_lockfile(). + +2012-02-05 Chris Allegretta <chrisa@asty.org> + * src/*: Fix overlapping strings highlighting each other. New variables in edit_draw + (slmatcharray, pbegin, paintok), new logic (with repeated setting of values in the + array but it's BFI after all). FIXME: Need to create a new 'overlap'. + * src/*: Fix a silly issue with the argument to nregcomp, as it's confusing to the caller. + * src/nano.h: Change the color types to a compiler macro (COLORWIDTH), may not actually + even be worth doing, but someday who knows how wide a color curses implementation might + be, and maybe we'll even start checking for it in autoconf! + +GNU nano 2.3.1 - 2011.05.10 + +2011-05-10 Chris Allegretta <chrisa@asty.org> + * text.c (do_enter): Only increment totsize by the auto-indented amount, since the previous + line's size was already counted. Fixes bug reported by Robert Spanjaard. + +2011-05-08 Chris Allegretta <chrisa@asty.org> + * doc/syntax/Makefile.am: Finally get around to sorting the syntax file list. + +2011-05-08 Matthew Wild <mattj100@Savannah> + * doc/syntax/spec.nanorc: New lua syntax highlighting config. + +2011-03-28 Asterios Dramis <asterios.dramis@gmail.com> + * doc/syntax/spec.nanorc: New RPM spec file highlighting config. + +2011-03-12 Chris Allegretta <chrisa@asty.org> + * po/*: Sync latest translation fixes, add an update_linguas.sh script. Rename + existing update.pl to update_sources.pl to make it more specific. + +2011-03-04 Chris Allegretta <chrisa@asty.org> + * color.c (color_update): Add check for whether the file even exists + before we try to run the magic check on it. Fixes error messages to stderr + when reading in files that don't exist, reported by Mike Frysinger. + +2011-03-03 Chris Allegretta <chrisa@asty.org> + * color.c (color_update): Remove unneeded debugging message from libmagic commit. + Fixed extra messages going to stderr, reported by Mike Frysinger. + +GNU nano 2.3.0 - 2011.02.26 + +2011-02-26 Chris Allegretta <chrisa@asty.org> + * Change RAW in function_type enum to RAWINPUT, to fix compilation on AIX, + reported by Richard G Daniel <skunk@iskunk.org>. + +2011-02-23 Chris Allegretta <chrisa@asty.org> + * Fix some more severe warnings from 'g++ -pedantic', from patch originally + by Eitan Adler <lists@eitanadler.com>. + +2011-02-23 Kamil Dudka <kdudka@redhat.com> + * doc/man/nanorc.5: Fix small typo. Report and original patch by John Bradshaw. + +2011-02-22 Chris Allegretta <chrisa@asty.org> + * color.c (nfreeregex): Fix that we were trying to set the pointer passed by value + to NULL. Fixes crashes on file save reported by Ken Tyler and Matthieu Lejeune. + +2011-02-18 Chris Allegretta <chrisa@asty.org> + * New saved cursor position history option. Command line option -P or --poslog, rc file + entry "poslog". Search history changes to ~/.nano/search_history, cursor position log + is ~/.nano/filepos_history. Added checks to move the legacy .nano_history file to the + new location. Several new functions to files.c: load_poshistory(), save_poshistory(), + check_poshistory(), update_poshistory(), and reworking of histfilename(). New FAQ entry + 4.15 discussing the change and offering an interoperability workaround. + * files.c (load_history): Set last_search to the last search value we loaded from history, + so do_research will succeed without needing to manually load the last search in. Fixes + bug reported by Matthieu Lejeune. + +2011-02-12 Chris Allegretta <chrisa@asty.org> + * Initial libmagic implementation, adapted from Eitan Adler <eitanadlerlist@gmail.com>. + New nanorc entry "magic" to enable this functionality, nanorc file and man page updates. + +2011-02-06 Chris Allegretta <chrisa@asty.org> + * src/*: Retire iso_me_harder_funcmap based on suggestion by <bernd.spaeth@gmx.net>. + This does add 20KB to nano's executable size but it gets rid of a lot of indirection + that makes people's stomach turn. There are several new stub functions and a need of + more tidying as a result of this. + * files.c (write_file): Fix problems with writing the backup file (albeit interactively) + with new function prompt_failed_backupwrite(), allows more secure handling of problems + with failing to write the backup file compared to 'allow_insecure_backup'. + * winio.c (edit_redraw): Remove unused variable. + +GNU nano 2.2.6 - 2010.11.22 + +2010-11-15 Chris Allegretta <chrisa@asty.org> + * Add a section to the FAQ about using nanorc on Win32 systems. + +2010-11-12 Chris Allegretta <chrisa@asty.org> + * Add check for RESTRICTED mode back to speller, suspend and insert file routines, + since adding key bindings broke the fact that they should be disabled in restricted\ + mode. Fixes Savannah bug #31625 reported by Charlie Somerville. + +GNU nano 2.2.5 - 2010.08.05 + +2010-08-04 Lauri Kasanen <curaga@operamail.com> + * doc/syntax/mgp.nanorc: New Magicpoint syntax highlighting definition. + +2010-08-04 Peter <exodus@savannah> + * doc/syntax/tex.nanorc: No longer highlight escaped comments + +2010-06-20 Chris Allegretta <chrisa@asty.org> + * New rc file option allow_insecure_backup, allows the previous security + fixes for backup files to be overridden if you're really positive + you want to. Fixes Savannah bug #29732 by Brian Szymanski <skibrianski>. + +2010-05-23 Chris Allegretta <chrisa@asty.org> + * files.c (write_file): Don't even try to chown() the backup + file unless we're root, since it's probably going to fail if + we're editing a file we don't own. Fixes Savannah bug + #29514: [nano 2.2.2] backup should ignore chown errors. + +GNU nano 2.2.4 - 2010.04.15 + +2010-04-14 Chris Allegretta <chrisa@asty.org> + * doc/man/nano.1,nanorc.5: Remove the backup file warnings now + that a sufficient security fix exists for the backup file code. + +2010-04-14 Chris Allegretta <chrisa@asty.org> + * text.c (do_alt_speller): Skip invoking the alt speller if the file size + is 0 bytes. Fixes Savannah bug #29393 reported by Mike Frysinger. + * files.c (write_file): Don't set current_stat when tmp == TRUE, check + whether current_stat is set when trying to use it, and don't do the + modification check if the filename changed, since we have no way + of knowing about it in that case. Fixes Savannah bug #29392, reported + by Mike Frysinger. [CVE-2010-1160] + +2010-04-13 Felipe Bugno <necron@bol.com.br> + * doc/syntax/cmake.nanorc: Added cmake syntax highlighting file. + +2010-04-09 Chris Allegretta <chrisa@asty.org> + * files.c (do_writeout): Better security fixes for backup file writing, + mangled from submission by Dan Rosenberg <dan.j.rosenberg at gmail>. + [CVE-2010-1161] + +2010-04-08 Chris Allegretta <chrisa@asty.org> + * files.c (do_writeout): Previous fixes should not cause a crash + when saving a new file. Discovered by Mike Frysinger <vapier@gentoo.org>. + +2010-04-07 Chris Allegretta <chrisa@asty.org> + * doc/man/nano.1,nanorc.5: Add warnings about using backup + mode as root due to the Dan Rosenberg security analysis. + +2010-04-02 Chris Allegretta <chrisa@asty.org> + * files.c (do_writeout): Expand modification check to include both the + original file's device ID and inode number as reasons to warn the + user that the file has been modified. Also abort on writing a backup + file when its owner doesn't match the edited file. Based on security + analysis on nano by Dan Rosenberg. [CVE-2010-1160] + +2010-03-21 Chris Allegretta <chrisa@asty.org> + * nano.c (page_stdin et al): Don't attempt to reset/reopen the terminal + settings when reading stdin if it was aborted with SIGINT. May fix + Savannah bug #29114 reported by Mike Frysinger. + +2010-03-21 Mike Frysinger <vapier@gentoo.org> + * doc/syntax/c.nanorc: Add additional support for #include_next and #pragma. + +2010-03-21 Chris Allegretta <chrisa@asty.org> + * move.c (do_page_up, do_page_down()): Explicitly set current_y to 0 when + paging up when not in smooth scroll mode, as previous fixes would otherwise + cause the cursor to not really be moved to the top of the screen. + +2010-03-07 Chris Allegretta <chrisa@asty.org> + * configure.ac, nano.c (handle_sigwinch): Create check for whether LINES and + COLS can safely be redefined. Fixes compilation issues with Cygwin, and likely + with newer versions of ncurses. Fixes Savannah bug #28984 reported by Andy Koppe + and by Eric Oliver via mailing list. + * winio.c (get_mouseinput): Fix stray semicolon in code, also reported in + bug #28984. + +GNU nano 2.2.3 - 2010.02.11 + +2010-01-28 Chris Allegretta <chrisa@asty.org> + * move.c (do_page_up, do_page_down): Fix for smooth mode not preserving cursor + position. Part one of fix for Savannah bug #21178 by Mike Frysinger. + +GNU nano 2.2.2 - 2010.01.17 + +2010-01-17 Chris Allegretta <chrisa@asty.org> + * nano.c (main), prompt.c (do_statusbar_input): Handle problems with an unmapped + function due to key rebinding, fixes crashes on FreeBSD reported by Eitan + Adler <eitanadlerlist@gmail.com>. + +2010-01-14 Chris Allegretta <chrisa@asty.org> + * files.c (do_writeout): Fix for crash / incorrect external modification warning + due to earlier fix in r4467. + +2010-01-12 Chris Allegretta <chrisa@asty.org> + * move.c (do_page_up, do_page_down): Fix issues with not enough scrolling down/up + and cursor centering. + * winio.c (edit_scroll): Remove lots of needless checking of line length for + soft wrapping code. + * winio.c (edit_update): Remove extra code for when updating with old_current outside + of the new buffer boundary and centering issues. + +2010-01-05 Tito <farmatito@tiscali.it> + * search.c (update_history): Fix bad length check causing search crash on armel platform. + +2010-01-04 Chris Allegretta <chrisa@asty.org> + * winio.c: edit_update, edit_redraw: Fix search not scrolling to the middle of the screen + (reported by alpha@qzx.com) and places where we rely on maxrows but should not. + +2009-12-26 Jordi Mallach <jordi@gnu.org> + * doc/man/nano.1: Avoid a groff warning by prepending a zero-width + space to a line starting with '. + +2009-12-22 Chris Allegretta <chrisa@asty.org> + * files.c (write_file): Fix compatibility with previous stat fix and tiny mode. + +2009-12-22 David Lawrence Ramsey <pooka109@gmail.com> + * global.c: Add new strings for forward/back in the file browser. New variables + nano_forwardfile_msg and nano_backfile_msg. + +2009-12-20 Chris Allegretta <chrisa@asty.org> + * files.c (is_file_writable): remove assert check for f, since it's not + initialized at the time. Fixes Savannah bug #28309, reported by Zoltan Kovacs. + +2009-12-20 Brian Szymanski <skibrianski via Savannah> + * src/files.c (write_file): Check whether stat struct exists, and if not, use the + just obtained stat data. Fixes Ubuntu bug 471568, "reproducible crash in nano on + trying to save to a file different than the one specified on the command line". + +2009-12-15 Chris Allegretta <chrisa@asty.org> + * doc/nanorc.sample.in: Remove erroneous 'set suspendenable' as it's actually a + key binding (e.g. 'bind M-Z suspendenable all') and not a settable flag. Fixes + Savannah bug #28299 reported by Mike Frysinger. + +GNU nano 2.2.1 - 2009.12.12 + +2009-12-12 Chris Allegretta <chrisa@asty.org> + * text.c (do_delete), nano.c (do_output): Add check for length of current line + before and after adding/deleting text, and do full refresh if it is now + a different multiple of COLS. Also get rid of superfluous do_refresh + vars now that we have edit_refresh_needed. + +2009-12-09 David Lawrence Ramsey <pooka109@gmail.com> + * global.c (shortcut_init), browser.c (do_browser): Fix M-W not being bound to + research in either main menu or browser. + +2009-12-09 Chris Allegretta <chrisa@asty.org> + * files.c (read_file): Add parameter for whether we should even try to check + file writability, as the message is useless when we're inserting into an + existing buffer. Fixes Savannah bug #28219. + +2009-12-07 David Lawrence Ramsey <pooka109@gmail.com> + * global.c (shortcut_init): Many fixes for keybindings code oversights, including + restore page up/down and GotoDir in browser. + * browser.c (do_browser): Fix breaking out of a submenu (e.g. gotodir), it broke + out of the browser altogether. + * doc/nanorc.sample.in: Add missing entries for fortran/ObjC/OCaml entries. + +2009-12-03 David Lawrence Ramsey <pooka109@gmail.com> + * global.c (shortcut_init): Remove help shortcut from help shortcut list. :-) Tweaked + to reorder exit shortcut to end of list to not mess up prev/next shortcut symmetry. + +2009-12-03 Eitan Adler <eitanadlerlist@gmail.com> + * doc/syntax/makefile.nanorc: Fix poor regex for all alpha characters which sometimes + leads to error messages, reported by gibboris@gmail.com. + +2009-12-02 Chris Allegretta <chrisa@asty.org> + * text.c (add_undo, do_undo, do_redo): Do not execute cases for SPLIT when + DISABLE_WRAPPING is defined. Fixes Savannah bug #28151 (anon). + +2009-12-02 Jordi Mallach <jordi@gnu.org> + * doc/man/nano.1: Fix escaping of hyphens for the -$ option. + +2009-12-01 Kamil Dudka <kdudka@redhat.com> + * chars.c, file.c: Better handle unused results for things like mbtowc(), new + macro IGNORE_CALL_RESULT. + +2009-12-01 Chris Allegretta <chrisa@asty.org> + * global.c (shortcut_init): Remove redundant entries for ^Y/^V reported by + Christian Weisgerber. + * doc/man/nanorc.5: Fix typo in Meta documentation, reported by <gibboris@gmail.com>. + +2009-12-01 David Lawrence Ramsey <pooka109@gmail.com> + * global.c (shortcut_init): Add support for ^P and ^N in the help menu. + * Update documentation for 2.2 features including sample nanorc file, texinfo + file, man pages, UPGRADE file, and update copyright notice for the current year. + +GNU nano 2.2.0 - 2009.11.30 + +2009-11-29 Chris Allegretta <chrisa@asty.org> + * prompt.c (get_prompt_string): Universally handle help key when it is disabled. + Fixes Savannah bug #28117 by David Lawrence Ramsey <pooka109@gmail.com>. + * chars.c, files.c: Add junk vars to silence the compiler. Sigh. + +2009-11-29 David Lawrence Ramsey <pooka109@gmail.com> + * Change several *chars to const char, additional cleanups and casts to make compilers happier. + * global.c: Fix replace and insert file initializations for proper compilation options. + * nano.c (do_suspend): Update comments to reflect actual code path, bad Chris, and thanks for + noticing, Jordi. + * configure.ac: Fix typos. + +2009-11-27 Chris Allegretta <chrisa@asty.org> + * nano.c (do_suspend): Don't clear the screen but do move the cursor down to the last line + first in an effort to not corrupt the screen, which contradicts Pico but is consistent + with almost all other text editors. Fixes Savannah bug #28110 / Debian bug 460510 + reported by Tim Connors <reportbug@rather.puzzling.org>. + * doc/syntax/makefile.nanorc: Sample Makefile highlighting based on wiki.linuxhelp.net version. + +2009-11-26 Chris Allegretta <chrisa@asty.org> + * winio.c (edit_scroll): Adjust for long lines when scrolling. + * rcfile.c (parse_rcfile): initialize size argument to getline(), fixes crash on FreeBSD + reported by Eitan Adler <eitanadlerlist@gmail.com>. + +2009-11-26 Jordi Mallach <jordi@gnu.org> + * doc/man/*: Update all man pages to escape unescaped hyphens. + +2009-11-24 Chris Allegretta <chrisa@asty.org> + * move.c (do_page_up, do_page_down): Make these functions work better with soft + line wrapping. + * winio.c (compute_maxrows): Make maxrows calculation more accurate when all lines are > COLS. + +2009-11-22 Chris Allegretta <chrisa@asty.org> + * nano.c (main): Allow edit_refresh_needed to take effect when using --enable-tiny + (fixes Savannah bug #28076 reported by David Lawrence Ramsey). + +2009-11-22 David Lawrence Ramsey <pooka109@gmail.com> + * nano.c (move_to_filestruct): Fix bug 71 (cut at top of line recenters). + * Fix compilation with --enable-tiny. + +2009-11-22 Mike Frysinger <vapier@gentoo.org> + * doc/syntax/gentoo.nanorc: Tweak comment highlighting. + +GNU nano 2.1.99pre2 - 2009.11.21 + +2009-11-21 Chris Allegretta <chrisa@asty.org> + * rcfile.c: Add unbinding keyword, fixes Savannah bug #22852 reported by frankd. + * prompt.c (update_statusbar_line): Set statusbar_pww when updating the line. + Fixes Savannah bug #24957 reported by Mike Frysinger. + +2009-11-19 Chris Allegretta <chrisa@asty.org> + * nano.c (die_save_file): Try and match the permissions of the file we were + editing but only make a minimal effort to do so. Fixes Savannah bug #27273 + reported by Mike Frysinger. + +2009-11-18 Adrian Bunk <bunk via Savannah> + * nano.c (main): Allow --fill and --nowrap to override nanorc entries + and each other on the command line. + +2009-11-15 Chris Allegretta <chrisa@asty.org> + * winio.c (edit_refresh): Always computer maxsize regardless of whether smooth scrolling + is enabled. Fixes Savannah bug #28024 by Mike Frysinger. + +GNU nano 2.1.99pre1 - 2009.11.15 + +2009-11-14 Chris Allegretta <chrisa@asty.org> + * move.c (do_first_line, do_last_line): Just set edit_refresh_needed + rather than get messy. + * files.c (do_writeout): Only mention file modification if we're + writing the same file we originally opened. + +2009-11-13 Chris Allegretta <chrisa@asty.org> + * winio.c: Add new static maxsize for easier calculation with softwrap. + * nano.c (do_mouse): Fix mouse support not working with soft wrapping. + Fixes Savannah bug #27549 reported by Hannes Schueller. + +2009-11-11 Chris Allegretta <chrisa@asty.org> + * winio.c: Large tweaking of cursor and text display based on COLS not COLS - 1, + due to finally understanding that display_string wasn't being called properly + when softwrap was enabled. Fixes Savannah bug #27603, "Return key doesn't scroll + viewport" reported by Hannes Schueller. + * Fix size_t formatting issues with -pedantic + +2009-11-09 Chris Allegretta <chrisa@asty.org> + * files.c (read_file): Remove debugging messages from file load. + Fixes Savannah bug #27838. + +2009-11-07 Chris Allegretta <chrisa@asty.org> + * nano.h: Add bogus value at begin of flags enumeration because it + caused the casesens rcfile option to misbehave, reported by Helmut + Jarausch <jarausch@igpm.rwth-aachen.de>. + +2009-11-03 Chris Allegretta <chrisa@asty.org> + * nano.h: Fix comma at end of enumerator list which angers -pedantic. + * rcfile.c: Add in specific check for UNDOABLE and fix declaration as + to what flag it toggles. Fixes undo mode being able to be called from + the rc file, reported by Helmut Jarausch <jarausch@igpm.rwth-aachen.de>. + +2009-11-03 Mike Frysinger <vapier@gentoo.org> + * files.c: Move up is_file_writable() to stop implicit definition complaints. + +2009-10-27 Chris Allegretta <chrisa@asty.org> + * browser.c (browser_init): Set column width to something sane when + initializing in a directory with no file entries. Fixes Savannah + bug #24163 found (and initial patch) by Paul Wise. + +2009-09-15 Chris Allegretta <chrisa@asty.org> + * winio.c: Clean up some unused variables from the soft wrapping code. + +GNU nano 2.1.11 - 2009.09.14 + +2009-09-12 Chris Allegretta <chrisa@asty.org> + * winio.c (edit_update): properly update edittop when using soft wrapping. + Fixes lack of centering for searching for off-screen answers, found by + Hannes Schueller <mr_creosote@mutantwatch.de>. + +2009-09-03 Chris Allegretta <chrisa@asty.org> + * global.c (shortcut_init): Fix up/down keys not responding in the file browser, + discovered by Hannes Schueller <mr_creosote@mutantwatch.de>. + * move.c (do_up): Fix another scrolling issue with softwrap when the cursor + is beyond COLS, discovered by Hannes Schueller <mr_creosote@mutantwatch.de>. + +2009-09-02 Chris Allegretta <chrisa@asty.org> + * Attempt to check file writability and emit a warning on the status bar + if nano doesn't think the file can be written to. Feature originally + requested by Damien Joldersma <damien@skullsquad.com> et al. + +2009-08-29 Chris Allegretta <chrisa@asty.org> + * Fix more soft wrapping issues, particularly with scrolling, + discovered by Hannes Schueller <mr_creosote@mutantwatch.de>. + +2009-08-19 Chris Allegretta <chrisa@asty.org> + * Fix issue with soft wrapping not displaying the last character of each line, + fixed bug discovered by Hannes Schueller <mr_creosote@mutantwatch.de>. + +2009-08-17 Mike Frysinger <vapier@gentoo.org> + * doc/syntax/(gentoo|sh|tcl).nanorc: Fix problems with empty regexes on POSIX. + Fixes Savannah bug #27175. + +2009-08-17 Chris Allegretta <chrisa@asty.org> + * Initial soft line wrapping implementation. Command-line flags -$ or --softwrap. + * nano.c, text.c: Clean up some fprintf warnings in debug mode due to printing + a size_t without using the zd specifier. + +2009-08-13 Chris Allegretta <chrisa@asty.org> + * New global flag implementation courtesy of Adam Wysocki <gophi@arcabit.pl>, allows + previous undo flag to be implemented consistent with other flags. + +GNU nano 2.1.10 - 2009.07.28 + +2009-07-27 Chris Allegretta <chrisa@asty.org> + * text.c (undo_cut, redo_cut): Don't actually try and undo/redo an empty cut, i.e. the magicline. + Fixes crash on cutting last line discovered by Eitan Adler <eitanadlerlist@gmail.com>. + +2009-07-11 Chris Allegretta <chrisa@asty.org> + * nano-regress: Small tweaks. + * Change undo code to off unless enabled via a command line option (-u/--undo). + Until this code stabilizes this is the only responsible way to treat it. + +2009-03-08 Chris Allegretta <chrisa@asty.org> + * TODO: Break out some targets for various features into 2.2 + and 2.4 series for things which are feasible. + +2009-02-28 Chris Allegretta <chrisa@asty.org> + * configure.ac: Add check for whether _XOPEN_SOURCE_EXTENDED is needed for + curses to work w/color. Fixes compilation on HP-UX with older GCC, + reported by jay.krell@cornell.edu. + +2009-02-23 Eitan Adler <eitanadlerlist@gmail.com> + * doc/man/Makefile.am: Fix make variable substitution to be more portable. + +2009-02-23 Chris Allegretta <chrisa@asty.org> + * rcfile.c (parse_keybinding): Define a var before tryung to use it. Whoops! + * fix some redefinitions causing compiler warnings, from Eitan Adler. Other + (hopefully) fixes for uncasted malloc()s, reported by the same. + * doc/man/fr/Makefile.am: Add groff check fix to fr files. + +GNU nano 2.1.9 - 2009.02.16 + +2009-02-16 Chris Allegretta <chrisa@asty.org> + * Add new argument to reset_multis for force redraws without attempting to + guess whether we need to, for functions that we don't have good info about + the text state. New utility function color.c:reset_multis_for_id(). + +2009-02-15 Chris Allegretta <chrisa@asty.org> + * configure.ac, doc/man/Makefile.am: Add check for HTML output support in GNU + groff. Fixes Savannah bug #24461: build traps on groff. Also, add installation + of html-ized man pages to $datadir/nano/man-html, since we should probably + install files we went to all the trouble of generating. + +2009-02-14 Chris Allegretta <chrisa@asty.org> + * nano.c (precalc_multicolorinfo): Add debugging so we have a better clue if further + issues arise. Also start at the beginning of later lines when trying to match the + end of a multi-line regex. Fixes more overly aggressive highlighting found by + Mike Frysinger. Finally, advance to the match end for performance. + +2009-02-11 Chris Allegretta <chrisa@asty.org> + * nanorc.c (parse_include): Do call real_dir_from_tilde() on included + files in .nanorc, but still avoiding bug #25297. Fixes ~ and ~user + specifications for nanorc include files, as reported by Eitan Adler. + +2009-02-09 Chris Allegretta <chrisa@asty.org> + * New option -q, --quiet, rcfile option "quiet" implemented. Skips printing + errors about the rcfile and asking user to press enter. Also, nano should + now only ask for one enter press when there is an error when not using -q. + Based on discussion between Eitan Adler and Mike Frysinger. + * rcfile.c (parse_keybinding): Significant cleanups and fixes for + detecting and reporting errors in key bindings code. + +2009-02-08 Chris Allegretta <chrisa@asty.org> + * Make reset_multidata reset more lines, since contrary to previous problems the + syntax highlting is now too *un*ambitious, causing display glitches when + deleting a regex boundary. + * Add more multidata initliazers for new buffers and 'magic lines'. Fixes segfaults + with syntax highlighting in new buffers, initially reported by Mike Frysinger. + +GNU nano 2.1.8 - 2009.02.07 + +2009-02-06 Chris Allegretta <chrisa@asty.org> + * rcfile.c (parse_include): Abort on being unable to open an included rcfile. + Fixes Savannah bug #25490, nanorc: "include"ing a file which doesn't exist + causes nano to segfault. + +2009-02-05 Chris Allegretta <chrisa@asty.org> + * More color syntax speedups: Determine in reset_multis() whether we really need to call + edit_refresh(). Additional global var edit_refresh_needed() to hopefully reduce + repeated calls to the function. New helper funcs reset_multis_before() and + reset_multis_after(). + +2009-02-02 Chris Allegretta <chrisa@asty.org> + * New color precalculation code for mult-line regexes. New function precalc_multicolorinfo(), + new structure multidata for keeping track of where regexes start/stop. More + performance improvements forthcoming. + +2009-01-29 Chris Allegretta <chrisa@asty.org> + * nano.c (move_to_filestruct): Properly initialize new fileage for multiswatching, sigh. + Fix cut segfaults discovered by Mike Frysinger. + +2009-01-29 Chris Allegretta <chrisa@asty.org> + * nano.c (main): Add support for nano acting like a pager when invoked with - as first + file argument. + +2009-01-28 Davide Pesavento <davidepesa@gmail.com> + * doc/syntax/gentoo.nanorc: Updates from David and Mike Frysinger. + +2009-01-25 Chris Allegretta <chrisa@asty.org> + * files.c (open_file), nanorc.c (parse_include): Don't get_full_path on included + rc files, due to it potentially impacting the ability to read files in nano's + cwd(). Fixes Savnanah bug #25297 reported by Mike Frysinger. + +2009-01-24 Chris Allegretta <chrisa@asty.org> + * First pass at some caching of caching color info. Right now it's only for + multi-line regexes but this may not be enough to increase performance. + * Add interruptability to search functions. New functions enable_nodelay and + disable_nodelay and changes to the routines to handle checking for pending + searches. Fixes Savnnah bug #24946: Need interrrupt for search. + +2009-01-19 Chris Allegretta <chrisa@asty.org> + * Change function definitions to shorts instead of (void *)s. New mapping function + iso_me_harder_funcmap(). Fixes compilation complaints with -pedantic, + reported by Eitan Adler <eitanadlerlist@gmail.com>. + +GNU nano 2.1.7 - 2008.11.10 + +2008-10-20 Chris Allegretta <chrisa@asty.org> + * files.c (do_writeout): Add check for file modification when saving + the file so the user can at least know they may be blowing away changes. + +2008-10-14 Chris Allegretta <chrisa@asty.org> + * nanorc.5: Fix redo man page entry and update explanation, reported by + Eitan Adler <eitanadlerlist@gmail.com>. + * global.c (shortcut_init), search.c (search_init): Fix add_to_sclist for ^W^T so + invalid messages will display properly. Fixes Savannah bug #24507. + +2008-10-13 Chris Allegretta <chrisa@asty.org> + * Remove CUTTOEND as an undo type as it's unneeded, fix u->to_end logic in undo struct. + * undo.c (update_undo): Don't free cutbuffer if NULL, fixes Savannah bug #24499. + +2008-10-04 Chris Allegretta <chrisa@asty.org> + * cut.c (add_undo): Save last cut undo information so it can be used for + next uncut, fixes Savannah bug #24183. + +GNU nano 2.1.6 - 2008.10.03 + +2008-10-03 Pascal Gentil <pascal.gentil@univ-rennes1.fr> + * fortran.nanorc: Sample Fortran syntax highlighting file. + +2008-09-30 Dirkjan Ochtman <dirkjan@ochtman.nl> + * python.nanorc: Small Python syntax update. + +2008-09-30 <bluestorm_dylc@hotmail.com> + * ocaml.nanorc: Sample OCaml syntax highlighting file. + +2008-09-30 Dave Geering <dgeering@toshiba-tap.com> + * objc.nanorc: Sample Objective-C syntax hightlighting file. + +2008-09-30 Chris Allegretta <chrisa@asty.org> + * configure.ac: Change extra, multibuffer, color and rcfile configure options + to default to enabled --enable-tiny will now disable these options as well. + * python.nanorc, ruby.nanorc: Add header lines for Python and Ruby as well. + +2008-09-21 Chris Allegretta <chrisa@asty.org> + * rcfile.c, color.c, nano.h: Add new capability for matching a syntax type by + the "header" (1st line) of a file being edited. Based on Savannah bug #24197 + and initial proof of concept by Dave Geering <dgeering@toshiba-tap.com>. + +2008-09-16 Chris Allegretta <chrisa@asty.org> + * text.c: Add support for undoing a text uncut. Split out the undo and redo + of a text cut in order to avoid code duplication. + +2008-09-06 Chris Allegretta <chrisa@asty.org> + * nano.c: Do call disable_signals at startup regardless, since under Cygwin + we can't generate ^C without it. + +GNU nano 2.1.5 - 2008.08.30 + +2008-08-29 Chris Allegretta <chrisa@asty.org> + * configure.ac, color.c, rcfile.c, utils.c: 1st attempt at supporting systems + which don't support GNU-style word boundaries. New function fixbounds() to + translate from GNU-style to BSD-style, autoconf option GNU_WORDBOUNDS. + * nano-regress: New perl script to check for some of the more obvious issues + with compilation issues with certain configure options. + * global.c, help.c, browser.c, files.c, proto.h: Fix several compilation and + programmatic issues with --disable-help, especially that do-writeout was + treating ^G the same as ^M. + +2008-08-28 Chris Allegretta <chrisa@asty.org> + * configure.ac, rcfile.c: Add support for an alternate rcfilename at configure time. Maybe this + should become a command line option some day, but I don't see the need currently. Start of + fix for Savannah bug #24128: Add nanorc support to win32 platform. + +2008-08-21 Chris Allegretta <chrisa@asty.org> + * text.c: Change error messages where we may possibly get into a bad state and urge the + user to save when this happens. Originally by Benno Schulenberg <bensberg@justemail.net> + * text.c (do_enter): Fix issue when compiled with --enable-debug, fixes Savannah bug #24092. + +2008-08-08 Magnus Granberg <zorry@ume.nu> / Adam Conrad <?> + * files.c (write_file): Add needed flags to open() calls when writing out files. + Fixes Savannah bug #23827: Compilation fails with -D_FORTIFY_SOURCE=2. + +2008-08-08 Chris Allegretta <chrisa@asty.org> + * files.c (write_file): Check the exit code of fclose(), since in certain + out-of-space conditions the OS will happily report successful fwrite()s + until you try and close the file. Fixes Savannah bug #24000: no free + space on partition - nano claims successful write - file is empty. + +GNU nano 2.1.4 - 2008.08.09 + +2008-08-08 Chris Allegretta <chrisa@asty.org> + * files.c (write_file): Do not go on and attempt to write the main file if writing + the backup file failed, related to Savannah bug #24000. + * text.c (do_redo): Fix improperly restoring the text when redoing a line split. + * text.c (add_undo): Fix check for multi-line cut check skips adding other new legit events. + +2008-07-23 Chris Allegretta <chrisa@asty.org> + * text.c: Reset openfile-> to OTHER after an undo or redo so we don't + mistakenly think this is an update when it's really an add. Also + fix an extra ; after an if statement which makes nano try to free + a struct which may be NULL. + +GNU nano 2.1.3 - 2008.08.04 + +2008-07-23 Chris Allegretta <chrisa@asty.org> + * configure.ac: Add ncursesw dir to include path if lib is detected. + +2008-07-11 Mike Frysinger <vapier@gentoo.org> + * doc/nanorc.sample.in: Include the updated files in the default sample nanorc. + +2008-07-11 Fabian Groffen <grobian@gentoo.org> + * nano.c: Don't include langinfo.h if not using ENABLE_UTF8 + (Savannah patch #6565). + +2008-07-11 Mitsuya Shibata <mty.shibata@gmail.com> + * text.c: Fix crashing in help menu when using certain locales + (Savannah bug #23751). + +2008-07-09 Chris Allegretta <chrisa@asty.org> + * nano.c/nano.h/global.c/text.c: New generalized undo code, currently + just works for adding and deleting text and splitting and unsplitting lines. + +2008-06-29 Chris Allegretta <chrisa@asty.org> + * global.c: Fix for not having a search history when --disable-justify is used + (Savannah bug #23733). + +GNU nano 2.1.2 - 2008.06.24 + +2008-06-24 Chris Allegretta <chrisa@asty.org> + * rcfile.c: Added function check_bad_binding() to look for sequences which + shouldn't be bound, per Savannah bug #22674. + +2008-05-31 Chris Allegretta <chrisa@asty.org> + * prompt.c,search.c,global.c: Tentative fix for bug #23144: using arrow + keys in search buffer affects main window (by Mike Frysinger). + +2008-05-31 Chris Allegretta <chrisa@asty.org> + * global.c: Fix for Savannah bug #23442: left/right arrow keys + do not work with --enable-tiny (by Mike Frysinger). + +2008-05-31 Chris Allegretta <chrisa@asty.org> + * files.c,proto.h,text.c: Fix for conflicts with AIX curses + variables, from William Jojo <jojowil@hvcc.edu>. + +2008-05-31 Chris Allegretta <chrisa@asty.org> + * global.c: Fix for compile error when --disable-speller is used + (Savannah bug #23227 by Mike Frysinger). + +2008-05-31 Chris Allegretta <chrisa@asty.org> + * Fix for seg fault when window size is too small, + by Andreas Amann <andreas.amann@tyndall.ie>. + +GNU nano 2.1.1 - 2008.04.01 + +2008-05-31 Chris Allegretta <chrisa@asty.org> + * Added the following contributed files, by owner: + Donnie Berkholz <dberkholz@gentoo.org> + * Sample awk.nanorc + Simon Rupf <simon.rupf@int-ag.ch> + * Sample css.nanorc + Josef 'Jupp' Schugt <jupp@rubyforge.org> + * Sample ruby.nanorc + +2008-03-31 Chris Allegretta <chrisa@asty.org> + * global.c: Fix for issues compiling with --enable-tiny and + --enable-multibuffer, as reported by Mike Frysinger. + * files.c: Fix the fact that the insert file prompt text did not + properly appears in tiny mode. + +2008-03-19 Benno Schulenberg <bensberg@justemail.net> + * help.c, nano.c: Fix toggle help not being translated, fix allocation + issue. + +2008-03-19 Chris Allegretta <chrisa@asty.org> + * global.c: Fix bracket matching sequence to be M-] not M-[, as reported + Nick Warne <nick@ukfsn.org>. + * doc/syntax/Makefile.am: Actually include new syntaxes from Mike, etc. + * debian.nanorc: New debian sources.list config since we're including + gentoo, adapted from Milian Wolff <mail@milianw.de>. + +2008-03-18 Mike Frysinger <vapier@gentoo.org> + * winio.c: Remove unneeded variable in parse_kbinput(). + * rcfile.c: Relocate check_vitals_mapped() function to just above where + it actually gets used and declare it "static void" in the process. + * global.c: Only declare nano_justify_msg when justify support is enabled. + * php.nanorc: Php syntax highlighting config. + * tcl.nanorc: Tcl syntax highlighting config. + * gentoo.nanorc: Gentoo syntax highlighting config. + +2008-03-17 Benno Schulenberg <bensberg@justemail.net> + * global.c: Fix incorrect first line jump messsage, fix + more comments to assist translators. + * winio.c: Fix shortcut labels not being translated. + +2008-03-17 Mike Frysinger <vapier@gentoo.org> + * */.gitignore: Git ignore files for those running a local git + against SVN. + +2008-03-16 Benno Schulenberg <bensberg@justemail.net> + * src/help.c, src/global: Fix help strings no longer being + translated properly. + * src/global.c, doc/man/nanorc.5: Fix typos and poorly worded + lines in the source and man pages. + +2008-03-04 Chris Allegretta <chrisa@asty.org> + * everything: New shortcut backend. New structs subnfunc + for menu functions and toggles and sc for shortcut keys, old + 'shortcut' and 'toggles' structs are gone. The current implementation + has a bunch of broken stuff (some of which is documented in BUGS). + Updated nanorc.5 with some mostly complete documentation on configuring. + +2007-12-20 David Lawrence Ramsey <pooka109@gmail.com> + * AUTHORS, doc/faq.html: Update maintenance information. + * NEWS: Resync with NEWS from the 2.0 branch. + +2007-12-18 David Lawrence Ramsey <pooka109@gmail.com> + * nano.c (print_opt_full): Use strlenpt() instead of strlen(), + so that tabs are placed properly when displaying translated + strings in UTF-8, as found by Jean-Philippe Guérard. + +2007-12-17 David Lawrence Ramsey <pooka109@gmail.com> + * configure.ac, doc/texinfo/nano.texi, nano.c (terminal_init): + Change slang curses emulation support to turn off the same + options as --enable-tiny, as it's hopelessly broken otherwise. + * nano.c (disable_signals, main): Simplify terminal handling by + using raw mode instead of cbreak mode. + * text.c (execute_command): Call terminal_init() instead of just + disable_signals() after executing the command, as the command + may have changed the terminal settings. + * ChangeLog.pre-2.1: Add missing attribution. + * NEWS: Resync with NEWS from the 2.0 branch. + +2007-12-10 David Lawrence Ramsey <pooka109@gmail.com> + * nano.c (main): Exit if initscr() fails. + +2007-12-09 David Lawrence Ramsey <pooka109@gmail.com> + * faq.html: Add minor punctuation and wording fixes, and update + various sections to account for Alpine. + +2007-12-08 David Lawrence Ramsey <pooka109@gmail.com> + * prompt.c (do_statusbar_mouse, reset_statusbar_cursor, + update_statusbar_line, need_statusbar_horizontal_update): Fix + minor display and cursor placement problems when scrolling + between pages at the statusbar prompt. + +2007-12-07 David Lawrence Ramsey <pooka109@gmail.com> + * winio.c (get_mouseinput): Fix longstanding problem where mouse + clicks on the statusbar prompt text wouldn't be recognized + unless the NO_HELP flag was turned off. + * doc/man/rnano.1, doc/man/fr/rnano.1: Update copyright notices, + as Thijs Kinkhorst's copyrights have now been assigned to the + Free Software Foundation. + +2007-12-04 David Lawrence Ramsey <pooka109@gmail.com> + * nano.c (main), prompt.c (get_prompt_string), winio.c + (do_replace_highlight): Per OKATA Akio's patch, with minor + tweaks by me, add wnoutrefresh() calls after + reset_(statusbar_)?cursor() calls, to ensure that the cursor is + placed properly when using NetBSD curses. + * nano.c (disable_mouse_support, enable_mouse_support): When + toggling mouse support on or off, save and restore the mouse + click interval. + +2007-11-29 Jean-Philippe Guérard <jean-philippe.guerard@tigreraye.org> + * doc/man/fr/*.1, doc/man/fr/nanorc.5: Fix copyright notices. + The copyrights are disclaimed on these translations, but the + copyrights of the untranslated works also apply. + +2007-11-28 David Lawrence Ramsey <pooka109@gmail.com> + * doc/man/fr/nanorc.5: Remove trailing whitespace. + +2007-11-17 David Lawrence Ramsey <pooka109@gmail.com> + * files.c (read_file): Improve autodetection of DOS and Mac + format files to not trigger on carriage returns in the middle of + files, as found by Kjell Braden. + +2007-11-06 David Lawrence Ramsey <pooka109@gmail.com> + * doc/man/rnano.1, doc/man/fr/rnano.1: Update copyright notices, + as Jordi Mallach's copyrights have now been assigned to the Free + Software Foundation. + +2007-11-05 David Lawrence Ramsey <pooka109@gmail.com> + * search.c (do_gotolinecolumn): Use a clearer error message if + we enter an invalid line or column number, per Mike Melanson's + suggestion. + +2007-10-11 David Lawrence Ramsey <pooka109@gmail.com> + * doc/man/nano.1, doc/man/fr/nano.1, doc/texinfo/nano.texi, + src/*.c, src/*.h: Update copyright notices, as Chris + Allegretta's copyrights have now been assigned to the Free + Software Foundation. + * doc/man/nanorc.5, doc/man/fr/nanorc.5: Make copyright notices + for these files consistent in style. + * files.c (cwd_tab_completion): Remove unneeded assert. + * files.c (username_tab_completion, cwd_tab_completion): Rename + variable buflen to buf_len, for consistency. + * files.c (input_tab): Disable completion of usernames, + directories, and filenames if the cursor isn't at the end of the + line, as it can lead to odd behavior (e.g. adding a copy of the + entire match to the middle of the line instead of just the + uncompleted part of the match). + +2007-10-05 David Lawrence Ramsey <pooka109@gmail.com> + * src/*.c, src/*.h: Update copyright notices, as my copyrights + have now been assigned to the Free Software Foundation. + +2007-09-16 David Lawrence Ramsey <pooka109@gmail.com> + * winio.c (edit_scroll): Fix problem where the screen wouldn't + be updated properly if you paged up with the first line of the + file onscreen and the mark on. + +2007-08-26 David Lawrence Ramsey <pooka109@gmail.com> + * doc/faq.html: Update links to the Free Translation Project. + +2007-08-23 Jean-Philippe Guérard <jean-philippe.guerard@tigreraye.org> + * doc/man/fr/*.1, doc/man/fr/nanorc.5: Add translation of new + licensing terms. + +2007-08-23 David Lawrence Ramsey <pooka109@gmail.com> + * doc/man/fr/*.1, doc/man/fr/nanorc.5: Delete translation of + old licensing terms, until it can be updated. + +2007-08-22 David Lawrence Ramsey <pooka109@gmail.com> + * COPYING.DOC: Add a copy of the GNU FDL version 1.2. + * Makefile.am: Add COPYING.DOC to EXTRA_DIST. + * doc/man/*.1, doc/man/nanorc.5, doc/man/fr/*.1, + doc/man/fr/nanorc.5, doc/texinfo/nano.texi: Relicense to the GNU + GPL version 3 or later/the GNU FDL version 1.2 or later with no + Invariant Sections, Front-Cover Texts, or Back-Cover Texts. + +2007-08-21 David Lawrence Ramsey <pooka109@gmail.com> + * doc/man/rnano.1, doc/man/fr/rnano.1: Add missing copyright + notice from nano-tiny.1, which rnano.1 is based on. + * doc/man/fr/nano.1, doc/man/fr/nanorc.5, doc/man/fr/rnano.1: + Make all copyright notices consistent. + +2007-08-16 David Lawrence Ramsey <pooka109@gmail.com> + * files.c (do_insertfile): Properly handle more cases of + inserting a file with the mark on. + * nano.c (copy_from_file): Properly handle more cases of + uncutting text with the mark on. + +2007-08-15 David Lawrence Ramsey <pooka109@gmail.com> + * Makefile.am: Remove erroneous backslash after + ChangeLog.pre-2.1 in EXTRA_DIST, so that "make dist" works + again. + * files.c (do_insertfile): Make sure the mark is always properly + positioned after inserting a file with the mark on. + * nano.c (copy_from_file): Make sure the mark is always properly + positioned after uncutting multiple lines with the mark on. + +2007-08-11 David Lawrence Ramsey <pooka109@gmail.com> + * COPYING: Add a copy of the GNU GPL version 3. + * configure.ac, *.c, *.h: Relicense to the GNU GPL version 3 or + later. + +2007-08-10 David Lawrence Ramsey <pooka109@gmail.com> + * files.c (username_tab_completion, cwd_tab_completion, + input_tab): Update copyright notice to account for + modifications. + * utils.c (ngetdelim): Simplify. + * utils.c (ngetline, ngetdelim): Update copyright notice to + account for modifications. + +2007-08-07 David Lawrence Ramsey <pooka109@gmail.com> + * nano.c (copy_from_file): Fix potential segfault, found by Paul + Goins, after uncutting one line of text with the mark on by + properly preserving the beginning of the mark. + * nano.c (copy_from_file): Make sure the mark is always properly + positioned after uncutting one line of text with the mark on. + +2007-08-01 David Lawrence Ramsey <pooka109@gmail.com> + * nano.c (version): Display copyright notices. + +2007-07-31 David Lawrence Ramsey <pooka109@gmail.com> + * configure.ac: Update copyright notice to account for + modifications. + +2007-07-29 David Lawrence Ramsey <pooka109@gmail.com> + * doc/faq.html: Update RPM links for nano 2.0.x. + +2007-07-11 David Lawrence Ramsey <pooka109@gmail.com> + * files.c (copy_file): Assert that inn and out don't both point + to the same file. + +2007-07-10 David Lawrence Ramsey <pooka109@gmail.com> + * chars.c (nstrcasestr, mbstrcasestr, revstrstr, revstrcasestr, + mbrevstrcasestr): Simplify and rewrite to use the strncasecmp() + equivalents. + +2007-07-09 David Lawrence Ramsey <pooka109@gmail.com> + * chars.c (nstrcasestr, mbstrcasestr, revstrstr, revstrcasestr, + mbrevstrcasestr): Fix typo that broke the check for needle's + being blank. + * chars.c (mbstrncasecmp, mbstrnlen, mbstrpbrk, + has_blank_mbchars): Simplify by using for loops instead of while + loops where possible, to match the single-byte versions of these + functions. + * search.c (do_replace_loop): Fix problem where replacing e.g. + single-byte characters with multibyte ones could result in + openfile->totsize's being miscalculated. + +2007-07-06 David Lawrence Ramsey <pooka109@gmail.com> + * chars.c (nstrcasestr, mbstrcasestr, revstrstr, revstrcasestr, + mbrevstrcasestr): Return char* instead of const char*. + +2007-07-02 David Lawrence Ramsey <pooka109@gmail.com> + * chars.c (nstrcasestr, mbstrcasestr, revstrstr, revstrcasestr, + mbrevstrcasestr): For efficiency, return haystack/rev_start + immediately if needle is blank. + +2007-07-01 David Lawrence Ramsey <pooka109@gmail.com> + * chars.c (nstrncasecmp, mbstrncasecmp): For efficiency, return + zero immediately if s1 and s2 point to the same string. + +2007-06-30 David Lawrence Ramsey <pooka109@gmail.com> + * prompt.c (do_yesno_prompt): Remove redundant check for + NO_HELP's being FALSE. + +2007-06-28 David Lawrence Ramsey <pooka109@gmail.com> + * browser.c (do_browser), nano.c (do_mouse), prompt.c + (do_statusbar_mouse, do_yesno_prompt): Further simplify + processing of mouse events by consolidating if clauses. + * winio.c (do_mouseinput): Return unconditionally if we get a + mouse event that we don't deal with, instead of inside an else + clause. + +2007-05-29 David Lawrence Ramsey <pooka109@gmail.com> + * winio.c (do_mouseinput): Deal with clicks of the first mouse + button again. Oddly, ncurses built without --enable-ext-mouse + needs this, but ncurses built with --enable-ext-mouse doesn't. + +2007-05-25 David Lawrence Ramsey <pooka109@gmail.com> + * configure.ac, nano.c (main): Replace the current hackish check + for a UTF-8 locale with a proper call to nl_langinfo(). + * winio.c (get_key_buffer): Fix inaccurate comments. + +2007-05-22 David Lawrence Ramsey <pooka109@gmail.com> + * browser.c (do_browser), nano.c (do_mouse), prompt.c + (do_statusbar_mouse, do_yesno_prompt), winio.c (do_mouseinput): + Simplify processing of mouse events. Instead of calling + wenclose() to get the window a mouse event took place in and + manually adjusting the returned coordinates to be relative to + that window the mouse event took place in, call wmouse_trafo(), + which does both. + +2007-05-20 David Lawrence Ramsey <pooka109@gmail.com> + * browser.c (do_browser), nano.c (do_mouse), prompt.c + (do_statusbar_mouse, do_yesno_prompt), winio.c (do_mouseinput): + Fix processing of mouse events so that those we don't handle are + ignored instead of being erroneously passed through. + * winio.c (do_mouseinput): Simplify handling of mouse events + involving the first mouse button by only dealing with releases. + * winio.c (do_mouseinput): Improve mouse wheel support to only + move the cursor if we're in the edit window or on the statusbar. + +2007-05-15 David Lawrence Ramsey <pooka109@gmail.com> + * winio.c (do_mouseinput): Add mouse wheel support, per Helmut + Jarausch's suggestion. Now, if mouse support is enabled, and + nano is using a version of ncurses compiled with the + --enable-ext-mouse option, rolling the mouse wheel up or down + will move the cursor three lines up or down. + +2007-04-23 David Lawrence Ramsey <pooka109@gmail.com> + * TODO: Add entries for fixing limitations with pasting text and + handling bad/incomplete UTF-8 sequences. + +2007-04-22 David Lawrence Ramsey <pooka109@gmail.com> + * text.c (backup_lines): Avoid a segfault when the mark begins + and ends on the line after the last line of the paragraph. + +2007-04-21 David Lawrence Ramsey <pooka109@gmail.com> + * files.c (do_writeout): If we're in restricted mode, we're not + allowed to write selections to files, so don't display the + "Write Selection to File" prompt. + * files.c (do_writeout): Simplify. + +2007-04-19 David Lawrence Ramsey <pooka109@gmail.com> + * files.c (tail): Remove unneeded if statement. + +2007-04-18 John M. Gabriele <jmg3000@gmail.com> + * doc/faq.html: Add a new section 4.14 (with minor tweaks by + David Lawrence Ramsey) to explain how autoindent affects pasted + text. + +2007-04-18 David Lawrence Ramsey <pooka109@gmail.com> + * files.c (open_file): Open files using their full paths + whenever possible, so that ~user/file.txt and "~user/file.txt" + are treated the same way if ~user is a user's home directory. + * files.c (real_dir_from_tilde): Simplify. + * files.c (do_writeout): Properly display the warning in all + cases if we try to save (a) an existing file under a different + name, or (b) a file with no name under an existing file's name. + * files.c (do_writeout): Rename variable different_name to + do_warning, for clarity. + * rcfile.c (parse_include): Open files using their full paths + whenever possible, so that ~user/file.txt and "~user/file.txt" + are treated the same way if ~user is a user's home directory. + * rcfile.c (parse_include): Properly check for the included + file's being a directory, a character file, or a block file. + * rcfile.c (parse_include): For consistency, display the + filename as the user entered it if we can't read the specified + file. + * winio.c (parse_kbinput): Interpret Cancel and Shift-Cancel. + * winio.c (get_escape_seq_kbinput): Add missing comments. + +2007-04-17 David Lawrence Ramsey <pooka109@gmail.com> + * files.c (real_dir_from_tilde): Fix long-standing problem, + found by Justin Fletcher, where directory names that began with + "~", but that weren't users' home directories, could be + erroneously treated as users' home directories (e.g. "~d/" would + be treated as "~daemon/"). + * files.c (input_tab): Don't bother checking if num_matches is + less than zero, as it's a size_t and hence unsigned. + +2007-04-16 David Lawrence Ramsey <pooka109@gmail.com> + * files.c (real_dir_from_tilde): Fix segfault, found by Justin + Fletcher, when dealing with directory names that begin with "~", + but that aren't users' home directories. + +2007-04-11 Mike Frysinger <vapier@gentoo.org> + * doc/syntax/asm.nanorc, doc/syntax/c.nanorc, + doc/syntax/sh.nanorc: Copy the regex that highlights trailing + whitespace (with minor tweaks by David Lawrence Ramsey) from + doc/syntax/java.nanorc to these files, as it's also useful in + them. + +2007-04-04 David Lawrence Ramsey <pooka109@gmail.com> + * AUTHORS, faq.html: Update email address. + * winio.c (get_escape_seq_kbinput): Add escape sequences for + Terminal. + +2007-02-01 Benno Schulenberg <bensberg@justemail.net> + * global.c (shortcut_init): Reword the movement shortcut + descriptions so that they use "Go to" instead of "Move to", + since not all of them move the cursor in the same way. + * global.c (shortcut_init): Reword the paragraph movement + shortcut descriptions to more accurately describe how they work. + * nano.c (usage): Reword the description of the -S/--smooth + command line option in order to differentiate it from the + associated toggle description. + +2007-01-29 David Lawrence Ramsey <pooka109@cox.net> + * ChangeLog: Rework the 2.1 branch's changelog to be more + readable, per Jordi Mallach's suggestion. + * ChangeLog.pre-2.1: Move the 2.0 branch's changelog here, per + Jordi Mallach's suggestion. + * Makefile.am: Add ChangeLog.pre-2.1 to EXTRA_DIST. + * src/help.c (help_init): Add a missing space to the "Execute + Command" help text.