GNU nano 2.1.5 - 2008.08.30 2008-08-29 Chris Allegretta * 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 compipation and programmatic issues with --disable-help, especially that do-writeout was treating ^G the same as ^M. 2008-08-28 Chris Allegretta * 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 * 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 * text.c (do_enter): Fix issue when compiled with --enable-debug, fixes Savannah bug 24092. 2008-08-08 Magnus Granberg / 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 * files.c (write_file): Check 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. Fix for Savannah bug #24000: no free space on partition - nano claims successful write - file empty GNU nano 2.1.4 - 2008.08.09 2008-08-08 Chris Allegretta * 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 * text.c: Reset openfile-> to OTHER after an undo or redo so we don't mistakenly 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 * configure.ac: Add ncursesw dir to include path if lib detected 2008-07-11 Mike Frysinger * doc/nanorc.sample.in: Include the updates files in the default sample nanorc. 2008-07-11 Fabian Groffen * nano.c: Don't include langinfo.h if not using ENABLE_UTF8 (Savannah patch 6565) 2008-07-11 Mitsuya Shibata * text.c: Fix crashing in help menu when using certain locales (Savannah bug 23751) 2008-07-09 Chris Allegretta * 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 * global.c: Fix for not having search history when --disable-justify is used (Savannah bug 23733) GNU nano 2.1.2 - 2008.06.24 2008-06-24 Chris Allegretta * 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 * 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 * 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 * files.c,proto.h,text.c: Fix for conflicts with AIX curses variables, from William Jojo 2008-05-31 Chris Allegretta * global.c: Fix for compile error when --disable-speller is used (Savannah bug 23227 by Mike Frysinger) 2008-05-31 Chris Allegretta * Fix for seg fault when window size too small, by Andreas Amann GNU nano 2.1.1 - 2008.04.01 2008-05-31 Chris Allegretta * Added the following contributed files, by owner: Donnie Berkholz * Sample awk.nanorc Simon Rupf * Sample css.nanorc Josef 'Jupp' Schugt * sample ruby.nanorc 2008-03-31 Chris Allegretta * 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 * help.c, nano.c: Fix toggle help not being translated, fix allocation issue. 2008-03-19 Chris Allegretta * gloabl.c: Fix bracket matching sequence to be M-] not M-[, as reported Nick Warne . * 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 2008-03-18 Mike Frysinger * 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 * 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 * */.gitignore: Git ignore files for those running a local git against SVN. 2008-03-16 Benno Schulenberg * src/help.c, src/global: Fix help strings no longer being translated properly. * src/global.c, doc/man/nanorc.5: Fix typos and poorlly worded lines in the source and man pages. 2008-03-04 Chris Allegretta * AUTHORS, doc/faq.html: Update maintenance information. * NEWS: Resync with NEWS from the 2.0 branch. 2007-12-18 David Lawrence Ramsey * 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 * 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 * nano.c (main): Exit if initscr() fails. 2007-12-09 David Lawrence Ramsey * faq.html: Add minor punctuation and wording fixes, and update various sections to account for Alpine. 2007-12-08 David Lawrence Ramsey * 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 * 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 * 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 * 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 * doc/man/fr/nanorc.5: Remove trailing whitespace. 2007-11-17 David Lawrence Ramsey * 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 * 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 * 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 * 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 * 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 * 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 * doc/faq.html: Update links to the Free Translation Project. 2007-08-23 Jean-Philippe Guérard * doc/man/fr/*.1, doc/man/fr/nanorc.5: Add translation of new licensing terms. 2007-08-23 David Lawrence Ramsey * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * nano.c (version): Display copyright notices. 2007-07-31 David Lawrence Ramsey * configure.ac: Update copyright notice to account for modifications. 2007-07-29 David Lawrence Ramsey * doc/faq.html: Update RPM links for nano 2.0.x. 2007-07-11 David Lawrence Ramsey * files.c (copy_file): Assert that inn and out don't both point to the same file. 2007-07-10 David Lawrence Ramsey * chars.c (nstrcasestr, mbstrcasestr, revstrstr, revstrcasestr, mbrevstrcasestr): Simplify and rewrite to use the strncasecmp() equivalents. 2007-07-09 David Lawrence Ramsey * 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 * chars.c (nstrcasestr, mbstrcasestr, revstrstr, revstrcasestr, mbrevstrcasestr): Return char* instead of const char*. 2007-07-02 David Lawrence Ramsey * chars.c (nstrcasestr, mbstrcasestr, revstrstr, revstrcasestr, mbrevstrcasestr): For efficiency, return haystack/rev_start immediately if needle is blank. 2007-07-01 David Lawrence Ramsey * chars.c (nstrncasecmp, mbstrncasecmp): For efficiency, return zero immediately if s1 and s2 point to the same string. 2007-06-30 David Lawrence Ramsey * prompt.c (do_yesno_prompt): Remove redundant check for NO_HELP's being FALSE. 2007-06-28 David Lawrence Ramsey * 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 * 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 * 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 * 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 * 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 * 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 * TODO: Add entries for fixing limitations with pasting text and handling bad/incomplete UTF-8 sequences. 2007-04-22 David Lawrence Ramsey * 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 * 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 * files.c (tail): Remove unneeded if statement. 2007-04-18 John M. Gabriele * 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 * 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 * 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 * 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 * 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 * AUTHORS, faq.html: Update email address. * winio.c (get_escape_seq_kbinput): Add escape sequences for Terminal. 2007-02-01 Benno Schulenberg * 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 * 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.