2007-12-17 David Lawrence Ramsey * configure.ac, doc/texinfo/nano.texi, nano.c (version, handle_sigwinch, terminal_init), winio.c (total_redraw): Remove slang curses emulation support, as it's hopelessly broken, and it doesn't make the binary very much smaller, especially when --enable-tiny is used. * nano.c (disable_signals, main): Simplify terminal handling by using raw mode instead of cbreak mode. This eliminates the need for disable_signals(). * 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.