| GNU nano 2.0.3 - 2007.01.29 |
| - General: |
| - Miscellaneous comment fixes. (DLR) |
| - More int -> bool conversions. (DLR) |
| - Don't install the nanorc manpages or generate their HTML |
| versions if nano is built without nanorc support. Changes to |
| configure.ac, doc/man/Makefile.am, and doc/man/fr/Makefile.am. |
| (DLR) |
| - Simplify the commands that generate HTML documentation in |
| order to remove unnecessary usage of cat. Changes to |
| doc/man/Makefile.am, doc/man/fr/Makefile.am, and |
| doc/texinfo/Makefile.am. (DLR) |
| - files.c: |
| do_writeout() |
| - When setting retval to the return value of |
| write_(marked_)?file(), use the "?" operator instead of an |
| if/else clause. (DLR) |
| is_dir() |
| - Don't assign dirptr's value using buf until we've asserted |
| that buf isn't NULL. (DLR) |
| - Remove unneeded assert. (DLR) |
| - proto.h: |
| - Add missing is_dir() prototype. (DLR) |
| - search.c: |
| regexp_init() |
| - Don't assign rc's value via regcomp() until we've asserted |
| that regexp_compiled is FALSE. (DLR) |
| - text.c: |
| do_alt_speller() |
| - Rename variable altspell_error to alt_spell_error, for |
| consistency. (DLR) |
| do_spell() |
| - Rename variable i to status, for clarity. (DLR) |
| - winio.c: |
| do_credits() |
| - Update the last copyright notice to include 2007. (DLR) |
| - Makefile.am: |
| - Add README.CVS to EXTRA_DIST, so that nano's CVS checkout |
| instructions aren't only available in its CVS snapshots. (DLR) |
| - README: |
| - Add more miscellaneous cosmetic fixes. (DLR) |
| - README.CVS: |
| - Update for the 2.0 branch of nano. (DLR) |
| - NEWS: |
| - Formatting fix. (DLR) |
| - m4/glib-2.0.m4: |
| - Import the latest version of this file from glib 2.10.3. (DLR) |
| - doc/faq.html: |
| - Update section 4.1 to describe how to open files with names |
| beginning with '+' at specified columns as well as lines. |
| (DLR) |
| - doc/man/fr/Makefile.am: |
| - Set mandir before setting man_MANS, to more closely match |
| doc/man/Makefile.am. (DLR) |
| - doc/syntax/python.nanorc: |
| - Improve string highlighting regexes. (Mike Frysinger) |
| |
| GNU nano 2.0.2 - 2006.12.20 |
| - General: |
| - Miscellaneous comment fixes. (DLR) |
| - browser.c: |
| do_browser() |
| - Properly handle directories that contain nulls. (DLR) |
| - files.c: |
| do_insertfile() |
| - Properly handle filenames and executable commands that contain |
| nulls. (DLR) |
| write_file() |
| - Properly handle filenames that contain nulls. (DLR) |
| do_writeout() |
| - Fix a segfault when we can't get the full path of either the |
| filename we want to save under or the original filename. (DLR, |
| found by Mike Frysinger) |
| - nano.h: |
| - Rename NANO_ALT_REPLACE_KEY to NANO_REPLACE_ALTKEY, for |
| consistency. (DLR) |
| - Rename NANO_ALT_.* and NANO_.*ALTKEY to NANO_META_.* and |
| NANO_.*METAKEY, for consistency. (DLR) |
| - search.c: |
| update_history() |
| - Fix minor memory leak. (DLR) |
| - text.c: |
| do_spell() |
| - When setting i to the return value of write_(marked_)?file(), |
| use the "?" operator instead of an if/else clause. (DLR) |
| do_verbatim_input() |
| - Fix minor memory leak. (DLR) |
| - winio.c: |
| parse_kbinput() |
| - Add missing break. (DLR) |
| - Fix minor memory leak. (Itay Perl) |
| parse_verbatim_kbinput() |
| - Fix minor memory leak. (DLR) |
| edit_draw() |
| - Fix potential warnings when assigning -1 to paintlen by using |
| if/else clauses instead of "?" operators. (DLR) |
| - configure.ac: |
| - Reword several option descriptions, for clarity. (DLR) |
| - doc/faq.html: |
| - Add miscellaneous wording and capitalization fixes. (DLR) |
| - BUGS: |
| - Add miscellaneous cosmetic fixes. (DLR) |
| - README: |
| - Update for the 2.0 branch of nano. (DLR) |
| |
| GNU nano 2.0.1 - 2006.11.20 |
| - General: |
| - Miscellaneous comment fixes. (DLR) |
| - Fix copyright notices to not abbreviate the year list using a |
| range. Changes to do_credits() and all source files. (DLR) |
| - files.c: |
| get_full_path() |
| - Remove unneeded assert. (DLR) |
| - Fix problem where only paths would be returned when both paths |
| and filenames should have been. (DLR) |
| do_writeout() |
| - For consistency, when saving a file with no name, don't allow |
| overwriting an existing file when in restricted mode. (DLR) |
| - Fix problem where a file could sometimes be overwritten |
| without a warning prompt. (DLR) |
| - winio.c: |
| do_replace_highlight() |
| - Include the code to display zero-length matches even when |
| regex.h isn't found, as it can also be used to display |
| zero-length Unicode characters. (DLR) |
| - doc/rnano.1, doc/fr/rnano.1: |
| - Add missing "(C)" to the copyright notice in the comments. |
| (DLR) |
| - doc/nano.texi: |
| - Remove unneeded "." from the copyright notice in the comments. |
| (DLR) |
| - NEWS: |
| - Add missing entries for nano 1.0.2 and 1.0.3, since 1.1.0 |
| includes their changes. (DLR) |
| |
| GNU nano 2.0.0 - 2006.11.06 |
| - General: |
| - Miscellaneous comment fixes. (DLR) |
| - Add syntax for POV-Ray files. New file doc/syntax/pov.nanorc; |
| changes to doc/nanorc.sample.in and doc/syntax/Makefile.am. |
| (Donnie Berkholz, minor tweaks by DLR) |
| - AUTHORS: |
| - Update for the 2.0 branch of nano. (DLR) |
| - nano.spec.in: |
| - Update links for the 2.0 branch of nano. (DLR) |
| - Update for newer RPM-based distributions. (DLR, adapted from |
| the nano 1.3.12-1.1.spec file in Fedora Rawhide) |
| - Delete the changelog section, as it hasn't been kept up to |
| date, and all its changes are documented here in any case. |
| (DLR) |
| - doc/faq.html: |
| - Update links for the 2.0 branch of nano. (DLR) |
| - doc/nano.1, doc/nanorc.5, doc/rnano.1: |
| - Add minor wording fixes. (DLR) |
| - doc/man/fr/nano.1, doc/man/fr/nanorc.5, doc/man/fr/rnano.1: |
| - Updated manpage translations by Jean-Philippe Guérard. |
| - doc/nano.texi: |
| - Add minor wording and punctuation fixes. (DLR) |
| |
| GNU nano 1.9.99pre3 - 2006.10.25 |
| - chars.c: |
| nstrncasecmp() |
| - When returning, use the "?" operator instead of an if/else |
| clause. (DLR) |
| - cut.c: |
| do_cut_text() |
| - When uncutting text in the process of copying it, always set |
| placewewant, as do_uncut_text() does, so that the current line |
| is always updated properly. (DLR) |
| - files.c: |
| input_tab() |
| - Since the field precision operator used in the sprintf() uses |
| ints and not size_t's, replace it with two strncpy()s, which |
| use size_t's, and a null termination. (DLR) |
| - help.c: |
| parse_help_input() |
| - Add 'E' and 'e' as aliases for Exit, for consistency with the |
| file browser. (DLR) |
| - m4/ac_define_dir.m4: |
| - Import the latest version of this file from |
| http://autoconf-archive.cryp.to/ac_define_dir.m4. (DLR) |
| - doc/faq.html: |
| - Update the question in section 4.13 to match the version of it |
| in the answer section. (DLR) |
| - doc/syntax/c.nanorc: |
| - Simplify "undef", "ifn?def", "elif", and "else" in the |
| preprocessor regexes. (DLR) |
| |
| GNU nano 1.9.99pre2 - 2006.10.02 |
| - General: |
| - Miscellaneous comment fixes. (DLR) |
| - Make sure that the statusbar cursor position is always |
| properly reset when we get out of all statusbar prompts. |
| Changes to do_insertfile(), do_writeout(), |
| handle_sigwinch(), main(), and do_prompt_abort(). (DLR) |
| - prompt.c: |
| do_statusbar_input() |
| - If we get a verbatim input sequence ending with Ctrl-J, remove |
| the Ctrl-J from the buffer before interpreting it as Enter, so |
| that it doesn't erroneously fall through to the edit window |
| and get interpreted as Justify. (DLR) |
| - winio.c: |
| get_input() |
| - Simplify to avoid an unnecessary key_buffer_len check. (DLR) |
| - doc/syntax/c.nanorc: |
| - Add "size_t" and "ssize_t" to the types regexes. (DLR, |
| suggested by Mike Frysinger) |
| - Simplify "signed" and "unsigned" in the types regexes. (DLR) |
| |
| GNU nano 1.9.99pre1 - 2006.08.29 |
| - General: |
| - Miscellaneous comment fixes. (DLR) |
| - Fix option descriptions. At least one of the two parts of |
| +LINE,COLUMN must be specified at all times; COLUMN is not the |
| only optional value. Also, fix wording problems in |
| -O/--morespace and -W/--wordbounds. Changes to usage(), |
| UPGRADE, nano.1, nanorc.5, rnano.1, nano.texi, and |
| nanorc.sample.in. (DLR) |
| - Fix mouse support so that it truly ignores everything except |
| releases and clicks of button 1. Changes to |
| enable_mouse_support() and get_mouseinput(). (DLR) |
| - In certain places, call wnoutrefresh(bottomwin) after calling |
| blank_statusbar(), in order to ensure that the statusbar is |
| actually blanked. Changes to do_help(), do_continue(), |
| handle_sigwinch(), and update_statusbar_line(). (DLR) |
| - If the mark isn't on, allow Meta-} and Meta-{ to indent and |
| unindent only the current line, just as it would if the mark |
| covered only the current line, instead of displaying a |
| statusbar message and quitting. Changes to shortcut_init(), |
| do_indent_marked() (renamed do_indent()), |
| do_indent_marked_void() (renamed do_indent_void()), |
| do_unindent_marked_void() (renamed do_unindent()), and |
| UPGRADE. (DLR, suggested by John M. Gabriele) |
| - Consolidate do_scroll_(up|down)() into do_(up|down)(), as |
| they have a lot of duplicate code. New functions do_up_void() |
| and do_down_void(); changes to shortcut_init(), do_up(), |
| do_scroll_up(), do_down(), do_scroll_down(), do_left(), and |
| do_right(). (DLR) |
| - Make Jordi's email address, and the description of what the |
| manual pages were written for, consistent in the |
| documentation. Changes to AUTHORS, nano.1, nanorc.5, and |
| rnano.1. (DLR, based on suggestions by Jordi) |
| - Don't include sys/ioctl.h in nano.c when NANO_TINY is defined, |
| as ioctl() is never used then. (DLR) |
| - Improve the display of bools in debugging statements. Changes |
| to parse_kbinput(), get_escape_seq_kbinput(), |
| parse_escape_seq_kbinput(), get_shortcut(), and get_toggle(). |
| (DLR) |
| - Rename the values of the scroll_dir enum to UP_DIR and |
| DOWN_DIR, since UP is defined as a termcap value in Tru64's |
| and NetBSD 3.0's curses.h, which breaks compilation on those |
| systems. Changes to do_page_up(), do_page_down(), do_up(), |
| do_down(), nano.h, and edit_scroll(). (DLR; found by Daniel |
| Richard G. and Adam Wysocki, repectively) |
| - Rename the DISABLE_ROOTWRAP #define to DISABLE_ROOTWRAPPING. |
| (DLR) |
| - When using slang 2.x, call SLutf8_enable() with an argument of |
| 1 instead of TRUE, as that's the proper way to enable its |
| UTF-8 support. Changes to main() and configure.ac. (DLR) |
| - Fix punctuation relating to "i.e." in various comments and |
| documentation. (Benno Schulenberg and DLR) |
| - Make bad_mbchar a static const char* const in chars.c, as its |
| value doesn't change. (DLR) |
| - Add various clarifications to translated strings. Changes to |
| do_insertfile_void(), shortcut_init(), toggle_init(), |
| help_init(), print_view_warning(), usage(), and do_mark(). |
| (Benno Schulenberg, minor tweaks by DLR) |
| - Properly preserve the cursor position when going from the |
| "Read File" or "Save File As" prompt to the file browser to |
| the "Go To Directory" prompt, and then canceling back to the |
| "Read File" or "Save File As" prompt. Changes to |
| get_prompt_string() and do_prompt(). (DLR) |
| - Rename the parameter old_pww to pww_save in |
| need_statusbar_horizontal_update(), need_horizontal_update(), |
| need_vertical_update(), and edit_redraw(); and rename the |
| variable old_pww to pww_save in do_search() and do_research(); |
| for consistency. (DLR) |
| - browser.c: |
| do_browser() |
| - Refactor the mouse support, modeling it after do_mouse() for |
| consistency. (DLR) |
| - Remove unneeded call to blank_edit(). (DLR) |
| - After entering "..", select the directory we were in before |
| instead of the first filename in the list, as Pico does. (DLR) |
| - Simplify screen update handling and exiting. (DLR) |
| - Fix potential segfault when going to a directory that doesn't |
| begin with '/'. (DLR) |
| do_browse_from() |
| - During the operating directory check, if path isn't NULL, |
| don't bother freeing it before mallocstrcpy()ing operating_dir |
| into it, as the latter operation will free it. (DLR) |
| - Don't bother freeing path if it's NULL. (DLR) |
| browser_init() |
| - Fix off-by-one error when calculating longest that kept the |
| rightmost column of the screen from being used. (DLR) |
| - Calculate width here instead of in browser_refresh(), as it's |
| more consistent. (DLR) |
| - If filelist is initialized, free it here instead of in several |
| places in do_browser(). (DLR) |
| browser_refresh() |
| - Simplify. (DLR) |
| - Fix problems where translated versions of "(dir)" could be |
| truncated, and where file sizes could be too long. (DLR) |
| - For the ".." entry, display "(parent dir)" instead of "(dir)", |
| as Pico does. (DLR) |
| - If a filename is too long, truncate it and display an ellipsis |
| before it, as titlebar() does. (DLR) |
| - Add translator comments explaining the maximum intended |
| lengths of "(dir)" and "(parent dir)". (DLR) |
| - Fix problem where width wouldn't be properly initialized if |
| the file list took up one line or less. (DLR) |
| - Don't display overly long filenames with ellipses if the |
| number of columns is extremely small. (DLR) |
| browser_select_filename() |
| - New function, used to select a specific filename in the list. |
| (DLR) |
| findnextfile() |
| - Simplify the uses of tail(). (DLR) |
| striponedir() |
| - Since all the strings passed to this are dynamically |
| allocated, use null_at() to strip the directory from the |
| string. Also, return the stripped path instead of modifying |
| path. (DLR) |
| - chars.c: |
| mbstrncasecmp(), mbstrcasestr(), mbrevstrcasestr() |
| - Don't allocate space for multibyte characters until we've |
| asserted that the parameters we're using aren't NULL. (DLR) |
| - files.c: |
| do_insertfile() |
| - If we execute a command in a new buffer, move back to the |
| beginning of the first line of the buffer afterwards, for |
| consistency. (DLR) |
| - If we don't insert a file into a new buffer, properly update |
| the x-coordinate to account for the number of characters |
| inserted on the current line. (DLR) |
| get_full_path() |
| - Don't return NULL when the current directory doesn't exist, as |
| we can still recover from that. (DLR, found by Mike Frysinger) |
| - Add various cleanups. (DLR) |
| - global.c: |
| sc_init_one(), shortcut_init() |
| - Don't include blank_after when DISABLE_HELP is defined, as |
| it's never used then. (DLR) |
| shortcut_init() |
| - Remove the ^X shortcut for CutTillEnd at the search prompt, as |
| official Pico doesn't include it, and it can be confused with |
| Exit. (DLR, suggested by Benno Schulenberg) |
| - Make the help shortcut for the "Go to Directory" prompt call |
| do_browser_help() instead of do_help_void(), as this prompt is |
| only accessible inside the file browser. (DLR, found by Benno |
| Schulenberg) |
| toggle_init() |
| - Don't include desc or blank_after when DISABLE_HELP is |
| defined, as neither are ever used then. (DLR) |
| - Make sure that a blank line is not displayed after the Meta-Q |
| toggle when mouse support is disabled and we're in restricted |
| mode, and that it is displayed all other times. (DLR) |
| toggle_init_one() |
| - Don't include desc or blank_after when DISABLE_HELP is |
| defined, as neither are ever used then. (DLR) |
| - help.c: |
| do_help() |
| - Simplify screen update handling and exiting. (DLR) |
| - Don't allow moving down a page when the last line of the help |
| text is onscreen. (DLR) |
| help_init() |
| - Adjust the first two chunks of the main help text so that |
| they're no more than 509 characters again. (DLR) |
| - move.c: |
| do_scroll_up(), do_scroll_down() |
| - Fix problems where, after scrolling, the previous and current |
| lines would not be updated properly if the current line was |
| not the first or last line of the edit window. (DLR, found by |
| Mike Frysinger) |
| - nano.c: |
| handle_sigwinch() |
| - Just in case we're in the statusbar prompt, reset the |
| statusbar cursor position when resizing the window. (DLR) |
| - nano.h: |
| - Remove the manual disabling of color support if regex.h isn't |
| found, as configure.ac now handles that. (DLR) |
| - rcfile.c: |
| parse_rcfile() |
| - Add missing ENABLE_COLOR #ifdef around the second check for a |
| syntax with no color commands, to fix compilation with rcfile |
| support and without color support. (Daniel Richard G.) |
| - search.c: |
| replace_regexp() |
| - Remove unnecessary casting of c to int. (DLR) |
| - text.c: |
| execute_command() |
| - Remove the marking of the file as modified, as do_insertfile() |
| now handles that. (DLR) |
| - utils.c: |
| digits() |
| - Tweak to remove the assumption that n is always positive, |
| although it always is in this particular case. (DLR) |
| - winio.c: |
| parse_kbinput() |
| - Properly handle combined meta and escape sequences, so that |
| e.g. Meta-/ will work properly when the / is on the numeric |
| keypad and NumLock is off. Also, properly handle combined |
| control character and escape sequences, so that e.g. Esc Esc / |
| will work properly when the / is on the numeric keypad and |
| NumLock is off. (DLR) |
| - Translate extended keypad keys to their ASCII equivalents even |
| when we hit Escape once or twice before typing them, for |
| consistency. (DLR) |
| - If they're defined, translate KEY_SUP into NANO_PREVLINE_KEY |
| and KEY_SDOWN into NANO_NEXTLINE_KEY, since they are sometimes |
| generated by Shift-Up and Shift-Down. (DLR) |
| parse_escape_seq_kbinput() |
| - Handle unknown and unignored escape sequences once here |
| instead of twice in parse_kbinput(). (DLR) |
| - Don't ignore escape sequences anymore. Instead, return the |
| corresponding key so that parse_kbinput() can translate it. |
| (DLR) |
| display_string() |
| - Properly handle buf[start_index]'s being a null terminator. |
| (DLR) |
| edit_draw() |
| - Simplify the setting of paintlen. (DLR) |
| titlebar() |
| - Don't display overly long filenames with ellipses if the |
| number of columns is extremely small. (DLR) |
| - Don't display any blank space for the state if we're in the |
| file browser, as Pico doesn't. (DLR) |
| - configure.ac: |
| - If regex.h isn't found, display an error message if we try to |
| enable color support. (DLR) |
| - Fix the spacing of the error message displayed when slcurses.h |
| isn't found. (DLR) |
| - If we use the --disable-wrapping option, ignore the |
| --disable-wrapping-as-root option. (DLR) |
| - Add minor cosmetic tweaks. (DLR) |
| - doc/Makefile.am: |
| - Don't include nanorc.sample in EXTRA_DIST, as it's only useful |
| when we're building from source, as opposed to building a |
| distribution. (DLR) |
| - Tweak to remove usage of the += operator again. (DLR) |
| - doc/man/Makefile.am: |
| - Tweak to remove usage of the += operator again. (DLR) |
| - doc/man/fr/nano.1, doc/man/fr/nanorc.5, doc/man/fr/rnano.1: |
| - Updated manpage translations by Jean-Philippe Guérard. |
| - doc/faq.html: |
| - Update section 5.3 again to not state "the latest development |
| version" before 1.3.12, as it's no longer accurate. (DLR) |
| - Add some minor spacing fixes. (DLR) |
| - doc/nano.texi: |
| - Add missing description of the -O/--morespace command line |
| option. (DLR) |
| - doc/syntax/c.nanorc: |
| - Since .i and .ii are preprocessed C and C++ output, colorize |
| them here. (Mike Frysinger) |
| - Remove redundancy from the file extension regexes. (DLR) |
| - doc/syntax/ruby.nanorc: |
| - Add missing blank line after the first comment, for |
| consistency. (DLR) |
| - Improve highlighting of constants. (John M. Gabriele, minor |
| tweaks by DLR) |
| |
| GNU nano 1.3.12 - 2006.06.26 |
| - General: |
| - Miscellaneous comment fixes. (DLR) |
| - Implement filename searches in the file browser. New |
| functions filesearch_init(), findnextfile(), |
| findnextfile_wrap_reset(), filesearch_abort(), |
| do_filesearch(), do_fileresearch(), do_first_file(), |
| do_last_file(), do_help_void(), and do_browser_help(); changes |
| to do_browser(), parse_browser_input(), shortcut_init(), |
| do_help(), and help_init(). (DLR) |
| - Open all files in binary mode for consistency and robustness. |
| Changes to load_history() and do_rcfile(). (DLR) |
| - Change translator-specific comments in global.c and prompt.c |
| so that they show up in nano.pot, and make them all |
| consistent. (Benno Schulenberg and DLR) |
| - Reduce USE_UTF8 to a static bool in chars.c, allow nano.c to |
| set it via a function, and allow winio.c to read its value |
| when needed. New functions utf8_init() and using_utf8(); |
| changes to is_alnum_mbchar(), is_blank_mbchar(), |
| is_cntrl_mbchar(), is_punct_mbchar(), control_mbrep(), |
| mbrep(), mbwidth(), mb_cur_max(), make_mbchar(), |
| parse_mbchar(), mbstrncasecmp(), mbstrcasestr(), |
| mbrevstrcasestr(), mbstrnlen(), mbstrchr(), mbstrpbrk(), |
| mbrevstrpbrk(), has_blank_mbchars(), is_valid_mbstring(), |
| main(), display_string(), and do_credits(). (DLR) |
| - Add the ability to use bold text instead of reverse video |
| text, via the -D/--boldtext command line option and the |
| "boldtext" rcfile option. Changes to browser_refresh(), |
| do_help(), usage(), main(), update_statusbar_prompt(), |
| do_yesno_prompt(), titlebar(), statusbar(), onekey(), |
| edit_draw(), do_replace_highlight(), nano.1, nanorc.5, |
| nano.texi, and nanorc.sample. (DLR, suggested by Benno |
| Schulenberg) |
| - Add the ability to use self-contained color syntaxes from |
| separate files, accessible in the nanorc via the "include" |
| command. New function parse_include(); changes to |
| parse_rcfile(), do_nanorc(), nanorc.5, and nanorc.sample. |
| (Victor Ananievsky, Brand Huntsman and DLR) |
| - Change references to the "help menu" to the "help text |
| display" refer to display, for clarity. Changes to |
| shortcut_init(), configure.ac, and faq.html. (DLR, suggested |
| by Benno Schulenberg) |
| - Adjust the shortcut list display and related mouse support to |
| not waste the last few characters of bottomwin when the screen |
| width isn't a clean multiple of the column width. Changes to |
| do_mouseinput() and bottombars(). (Benno Schulenberg, minor |
| tweaks by DLR) |
| - Add several blank entries to the main shortcut list and the |
| global toggle list, in order to make the help text easier to |
| read. Changes to sc_init_one(), toggle_init(), |
| toggle_init_one(), shortcut_init(), get_toggle(), and |
| help_init(). (DLR, suggested by Benno Schulenberg) |
| - Reduce NO_RCFILE to a static bool in nano.c, since it's only |
| used there. Changes to finish() and main(). (DLR) |
| - Readd the Cancel -> Exit aliases for the file browser and help |
| browser. New function parse_help_input(); changes to |
| parse_browser_input() and do_help(). (DLR, suggested by Benno |
| Schulenberg) |
| - Add the ability to copy text into the cutbuffer without |
| cutting it, via Meta-^ (Meta-6). Note that this is disabled |
| when NANO_TINY is defined. New functions do_cut_text_void() |
| and do_copy_text(); changes to do_cut_text(), shortcut_init(), |
| and do_input(). (DLR, suggested by Ken Tyler) |
| - Add the ability to indent and unindent all marked lines of |
| text, via Meta-} (Meta-]) and Meta-{ (Meta-[). New functions |
| do_indent_marked(), do_indent_marked_void(), and |
| do_unindent_marked_void(); changes to shortcut_init(). (Chris |
| and DLR) |
| - Change the shortcut to find the matching bracket to Ctrl-]. |
| Changes to shortcut_init() and do_statusbar_input(). (DLR) |
| - Drop the Meta-] and Meta-[ aliases for Meta-} and Meta-{, and |
| change the shortcut to find the matching bracket from Ctrl-] |
| back to Meta-], since Ctrl-] is used as the telnet escape key. |
| Changes to shortcut_init() and do_statusbar_input(). (DLR, |
| found by Chris) |
| - Add the ability to move to the first and last line of the help |
| text and the first and last file in the file browser via |
| Meta-\ (Meta-|) and Meta-/ (Meta-?). Changes to do_browser(), |
| shortcut_init(), and do_help(). (DLR) |
| - Allow unjustifying if we resize the window immediately after |
| justifying, as Pico does, and make input handling across |
| resizes more consistent. Changes to handle_sigwinch(), |
| main(), get_kbinput(), parse_kbinput(), get_byte_kbinput(), |
| and get_unicode_kbinput(); removal of reset_kbinput(). (DLR) |
| - Handle statusbar blanking in two places instead of many, so |
| that it always works consistently. Changes to do_browser(), |
| do_cut_text(), do_uncut_text(), do_first_line(), |
| do_last_line(), do_page_up(), do_page_down(), do_para_begin(), |
| do_para_end(), do_para_end(), do_next_word(), do_prev_word(), |
| do_home(), do_end(), do_up(), do_scroll_up(), do_down(), |
| do_scroll_down(), do_left(), do_right(), do_indent_marked(), |
| do_verbatim_input(), and get_kbinput(). (Benno Schulenberg, |
| minor tweaks by DLR) |
| - Handle prepending of wrapped text in one place instead of |
| many, so that it always works consistently. Changes to |
| do_uncut_text(), do_insertfile(), do_page_up(), |
| do_page_down(), do_up(), do_scroll_up(), do_down(), |
| do_scroll_down(), do_input(), do_search(), do_research(), and |
| do_delete(). (DLR) |
| - Ignore unhandled meta key sequences, function keys, and escape |
| sequences, indicate it on the statusbar, and beep when we get |
| an unhandled shortcut or toggle, as Pico does. To get this to |
| work properly, add a shortcut for moving to the next |
| search/replace string. New function is_ascii_cntrl_char(); |
| changes to shortcut_init(), do_input(), do_statusbar_input(), |
| get_prompt_string(), and parse_kbinput(). (DLR, suggested by |
| Nick Warne and Benno Schulenberg) |
| - Explain the mouse support in more detail, and sync the text of |
| its description across all documentation. Changes to nano.1, |
| nanorc.5, nanorc.sample, and nano.texi. (Benno Schulenberg and |
| DLR) |
| - If we're using verbatim input to enter a Unicode sequence, |
| indicate it on the statusbar, and add a translator comment |
| explaining the message. Also, refactor get_unicode_kbinput() |
| to remove redundant code. New function add_unicode_digit(); |
| changes to get_unicode_kbinput() and parse_verbatim_kbinput(). |
| (Benno Schulenberg, minor tweaks by DLR) |
| - Allow normal typing of high-bit control characters, as Pico |
| does. Changes to do_output() and do_statusbar_output(). (DLR) |
| - Move color regexes into separate files, make nanorc.sample |
| reference them, and make them install properly. In the |
| process, rename nanorc.sample to nanorc.sample.in, put |
| @PKGDATADIR@ at the beginning of all nanorc file paths, add |
| needed AC_DEFINE_DIR macro from the Autoconf Macro Archive at |
| http://autoconf-archive.cryp.to/ac_define_dir.m4, and make |
| configure.ac do the substitution, so that the proper paths |
| will always be used in nanorc.sample. New files |
| m4/ac_define_dir.m4, doc/syntax/Makefile.am, |
| doc/syntax/asm.nanorc, doc/syntax/c.nanorc, |
| doc/syntax/groff.nanorc, doc/syntax/html.nanorc, |
| doc/syntax/java.nanorc, doc/syntax/man.nanorc, |
| doc/syntax/mutt.nanorc, doc/syntax/nanorc.nanorc, |
| doc/syntax/patch.nanorc, doc/syntax/perl.nanorc, |
| doc/syntax/python.nanorc, doc/syntax/ruby.nanorc, |
| doc/syntax/sh.nanorc, and doc/syntax/tex.nanorc; changes to |
| configure.ac, nano.spec.in, doc/Makefile.am, and |
| m4/Makefile.am; removal of doc/nanorc.sample. (DLR) |
| - Replace usage of the bool curses_ended with the isendwin() |
| function, and remove curses_ended. Changes to do_suspend(). |
| (DLR) |
| - Remove the workaround for glibc 2.2.3's broken regexec(), and |
| replace it with a FAQ entry explaining the problem, since it |
| could break anything using extended regular expressions, and |
| glibc 2.2.3 is old. Changes to configure.ac, faq.html, |
| nano.h, proto.h, and UPGRADE; removal of safe_regexec(). (DLR) |
| - Minor wording fixes to various messages. Changes to |
| load_history(), shortcut_init(), toggle_init(), usage(), |
| do_suspend(), do_input(), rcfile_error(), parse_argument(), |
| parse_rcfile(), nano.1, nano.texi, and nanorc.sample.in. |
| (Benno Schulenberg, minor tweaks by DLR and Nick Warne) |
| - Make suspension clear the screen and put the cursor on the |
| last line before displaying anything, as Pico does. New |
| functions disable_mouse_support() and enable_mouse_support(); |
| changes to do_mouse(), do_suspend(), do_continue(), and |
| terminal_init(). (DLR) |
| - browser.c: |
| do_browser() |
| - Reference NANO_GOTODIR_(ALT|F)?KEY instead of |
| NANO_GOTOLINE_(ALT|F)?KEY for the "Go to Directory" shortcut. |
| (DLR) |
| parse_browser_input() |
| - Remove redundant key checks. (DLR) |
| browser_refresh() |
| - Rename variable editline to line, for consistency. (DLR) |
| - Change variable i from an int to a size_t in order to match |
| selected, which it's compared against. (DLR) |
| - color.c: |
| color_update() |
| - Fix incorrect setting of defcolor, which prevented the |
| reserved "default" syntax from being handled correctly. (DLR) |
| - cut.c: |
| cut_to_eof() |
| - New function, containing the main functionality of |
| do_cut_till_end(). (DLR) |
| do_cut_text() |
| - Add parameter cut_till_end, to indicate when we're cutting |
| from the current cursor position to the end of the file, and |
| call cut_to_eof() when it's TRUE. (DLR) |
| do_cut_till_end() |
| - Convert to a wrapper for do_cut_text(). (DLR) |
| - files.c: |
| open_file() |
| - Remove redundant wording in the error message when we try to |
| open a device file. (DLR) |
| do_insertfile() |
| - Use actual gettext calls instead of no-ops, for consistency. |
| (DLR) |
| safe_tempfile() |
| - Don't ignore $TMPDIR if it's set but blank, for consistency. |
| (DLR) |
| write_file() |
| - Don't free backupname before displaying it in a statusbar error |
| message. (DLR, found by Bill Marcum) |
| - If we can't save the backup file for some reason, at least |
| save the original file, if possible, since that's better than |
| saving nothing. (DLR, problem found by Bill Marcum, solution |
| suggested by Jordi) |
| - Clarify the error messages when creating a temporary file or |
| writing one for prepending fails. (DLR) |
| - Simplify the routine for closing the file just before we |
| indicate success on the statusbar. (DLR) |
| do_writeout() |
| - Fix problem where the modifiers at the "Write File" prompt |
| were marked for translation via gettext no-ops but never |
| actually translated. (Benno Schulenberg) |
| free_chararray() |
| - Assert that array isn't NULL, for consistency with the other |
| free_.*() functions. (DLR) |
| - global.c: |
| shortcut_init() |
| - Change the cursor position display help text to use "display" |
| instead of "show", for consistency. (DLR) |
| - In the main shortcut list, move the "Refresh" shortcut down to |
| after the "Enter" shortcut, for consistency. (DLR) |
| - Add the ability to move to the first and last line of the |
| current file from the main list via Meta-\ (Meta-|) and Meta-/ |
| (Meta-?). Also, make sure all the equivalent shortcuts in the |
| search, replace, and "Go To Line" lists accept both the meta |
| keys and the equivalent function keys. (DLR) |
| - Reorganize the main shortcut list to make it easier for new |
| users. It now lists the twelve Pico-compatible default |
| operations, followed by search and replace shortcuts, followed |
| by cut and paste shortcuts, followed by marking shortcuts, |
| followed by back and forth movement shortcuts, followed by |
| start and end movement shortcuts, followed by buffer-switching |
| shortcuts, followed by insertion and deletion shortcuts, |
| followed by special movement shortcuts, followed by advanced |
| word and paragraph shortcuts, followed by display shortcuts. |
| (DLR and Benno Schulenberg, suggested by Benno Schulenberg) |
| - Tweak the descriptions of some shortcut keys to make them more |
| uniform. (Benno Schulenberg, minor tweaks by DLR) |
| - Shorten the "Where is Next" shortcut name to fit on the screen |
| after adding Meta-\ (Meta-|) and Meta-/ (Meta-?). (DLR) |
| - Lengthen the "UnCut Txt" shortcut name to "UnCut Text", as |
| there's enough room to display it unabbreviated. (DLR) |
| - Clarify the descriptions of the "Search" and "Replace" |
| shortcuts, and add spaces to the "Exit" shortcut's description |
| in multibuffer mode. (Benno Schulenberg) |
| - Remove the "Go To Line" shortcut in the replace shortcut list, |
| for compatibility with Pico. (DLR) |
| toggle_init() |
| - In the global toggle list, move the "Constant cursor position |
| display" toggle up to after the "Use more space for editing" |
| toggle, for consistency. (DLR) |
| - Reorganize the global toggle list to make it easier for new |
| users. It now lists toggles that affect the way things are |
| displayed, followed by toggles that affect editing, followed |
| by toggles that have to do with peripheral things. (DLR, |
| suggested by Benno Schulenberg) |
| - help.c: |
| do_help() |
| - Call get_shortcut() after getting input, so that we only have |
| to check for a main shortcut key instead of both it and all of |
| its equivalents. (DLR) |
| - Clean up the handling of NANO_REFRESH_KEY. (DLR) |
| - Remove redundant key checks. (DLR) |
| help_init() |
| - If we have at least two entries' worth of blank space, use it |
| to display more of "^Space" and "M-Space". (DLR, suggested by |
| Benno Schulenberg) |
| - Add various wording fixes. (DLR and Benno Schulenberg) |
| - If one of the help strings ends in newlines followed by a |
| space, move the space to the next help string to make it |
| easier for translators to see. (Benno Schulenberg) |
| - Make sure we have enough memory in all cases when displaying |
| the shortcut and toggle lists. (DLR) |
| - Wrap the shortcut list help text, and display it even when we |
| have fewer than 24 columns, for consistency with the toggle |
| help text. (DLR, suggested by Benno Schulenberg) |
| parse_help_input() |
| - Add Space and '-' as aliases for PageDown and PageUp, for |
| consistency with the file browser. (DLR, suggested by Benno |
| Schulenberg) |
| - Remove redundant key checks. (DLR) |
| help_line_len() |
| - Properly handle the case where we can't break the line of help |
| text. (DLR) |
| - Wrap the line of help text at (COLS - 1) instead of |
| (COLS - 8), for consistency. (DLR, suggested by Benno |
| Schulenberg) |
| - nano.c: |
| print1opt_full() |
| - Rename to print_opt_full(), for consistency. (DLR) |
| usage() |
| - Fix inaccuracies in the usage example. (DLR) |
| - Put command line arguments in <>'s instead of []'s, as the |
| latter imply that the arguments are optional when they aren't. |
| (DLR, found by Benno Schulenberg) |
| renumber() |
| - Remove invalid assert. (DLR, found by Filipe Moreira) |
| do_input() |
| - Remove redundant check for allow_funcs' being TRUE when we get |
| KEY_MOUSE. (DLR) |
| - Don't blow away the cutbuffer when we get a shortcut and the |
| function associated with it is do_cut_till_end(). (DLR) |
| - Simplify the routine to preserve the cutbuffer when we call a |
| cutting or copying function associated with a shortcut. (DLR) |
| - nano.h: |
| - Reorder the toggle #defines to match their corresponding order |
| in toggle_init(). (DLR) |
| - Move the #include for sys/param.h here from nano.c, and add an |
| #ifdef around it. (DLR) |
| - prompt.c: |
| get_prompt_string() |
| - Include the handling of the help key even when help is |
| disabled, so that we aren't erroneously kicked out of the |
| statusbar prompt under any circumstances. (DLR, found by Benno |
| Schulenberg) |
| do_statusbar_input() |
| - Remove redundant check for allow_funcs' being TRUE when we get |
| KEY_MOUSE. (DLR) |
| - Improve the handling of NANO_REFRESH_KEY. (DLR) |
| total_statusbar_refresh() |
| - New function, called when we get NANO_REFRESH_KEY in |
| do_statusbar_input(). (DLR) |
| do_yesno_prompt() |
| - Handle the keys in a switch statement instead of a long if |
| block, for simplicity. (DLR) |
| - rcfile.c: |
| parse_argument() |
| - Rename variable ptr_bak to ptr_save, for consistency. (DLR) |
| - Add double quotes around invalid string arguments in error |
| messages, for consistency. (DLR) |
| - Add single quotes around the invalid string argument in the |
| error message about unterminated strings, to avoid confusion. |
| (Benno Schulenberg) |
| parse_syntax() |
| - Don't generate an error if we find a duplicate syntax name, |
| since we might be trying to override a syntax in the global |
| nanorc with one in our local nanorc. Instead, free any |
| duplicate syntaxes we find, so that we always use the last |
| syntax with a given name. (DLR) |
| color_to_short() |
| - Add quotes around invalid string arguments in error messages, |
| for consistency. (DLR) |
| parse_colors() |
| - Check for a color command's not following a syntax line before |
| anything else. (DLR) |
| - Add quotes around invalid string arguments in error messages, |
| for consistency. (DLR) |
| parse_rcfile() |
| - Properly generate an error if we've read in a syntax without |
| any associated color commands. (DLR) |
| - Change variable i from an int to a size_t, for consistency. |
| (DLR) |
| - Properly handle rcfiles that don't end in newlines. (DLR) |
| - Add quotes around invalid string arguments in error messages, |
| for consistency. (DLR) |
| do_rcfile() |
| - Check for the rcfile's being a directory or device file and |
| reject it if it is, for consistency with file handling |
| elsewhere. (DLR) |
| - Remove SYSCONFDIR #ifdef, as SYSCONFDIR should always be set. |
| (DLR) |
| - Change all rcfile error messages to refer to commands instead |
| of directives, for consistency with nanorc.5. (DLR) |
| - text.c: |
| break_line() |
| - Fix problem where tab widths in columns would always be |
| calculated as tabsize. (DLR, found by Alexey Toptygin) |
| - Handle newlines consistently when searching for the last blank |
| in the first group of blanks in the range of (goal - 1). (DLR, |
| found by Benno Schulenberg) |
| do_justify() |
| - Remove redundant key checks. (DLR) |
| do_spell() |
| - Clarify the error message when creating a temporary file |
| fails. (DLR) |
| - Set currshortcut to main_list before calling total_refresh() |
| near the end of the function, so that we don't display the |
| wrong shortcut list. (DLR) |
| do_verbatim_input() |
| - Add a translator comment explaining the "Verbatim Input" |
| statusbar message. (Benno Schulenberg) |
| - Unconditionally blank the statusbar as soon as we're finished |
| getting input. (DLR, suggested by Benno Schulenberg) |
| - utils.c: |
| digits() |
| - Return the proper number of digits when n is exactly 10. (DLR) |
| - Simplify to use a for loop instead of a while loop. (DLR) |
| ngetdelim() |
| - Set errno to EINVAL if stream is not a valid file stream. |
| This matches the manual page. (DLR) |
| nperror() |
| - Simplify. (DLR) |
| check_linenumbers() |
| - Removed, as it's no longer used, and since there's no way to |
| tell if its return value will be in int or ssize_t range. |
| (DLR) |
| - winio.c: |
| parse_kbinput() |
| - If we get NANO_CONTROL_8, properly handle it in all cases. |
| (DLR) |
| parse_escape_seq_kbinput() |
| - New function used to interpret escape sequences, formerly part |
| of parse_kbinput(). (DLR) |
| get_byte_kbinput() |
| - Fix typo preventing Esc Esc 3 through Esc Esc 6 from being |
| interpreted as control key sequences. (DLR) |
| - Tweak to more closely match get_unicode_kbinput(). (DLR) |
| get_control_kbinput() |
| - Add Ctrl-/ as an alias for Ctrl-_. (DLR, found by Benno |
| Schulenberg) |
| - Simplify the if blocks wherever possible. (DLR) |
| parse_verbatim_kbinput() |
| - Don't include the ability to enter a Unicode sequence via |
| verbatim input mode if ENABLE_UTF8 isn't defined or we're not |
| in a UTF-8 locale. (DLR) |
| check_statusblank() |
| - Avoid redundant updates when statusblank is 0. (DLR) |
| display_string() |
| - Properly display double-column characters if they're past the |
| first virtual page and their first column is covered by the |
| "$" displayed at the beginning of the line. (DLR) |
| statusbar() |
| - Blank the statusbar after 26 keystrokes instead of 25, for |
| conpatibility with Pico. (DLR) |
| edit_draw() |
| - Properly ignore zero-length regexes in multi-line regexes as |
| well as single-line ones. This avoids a segfault when trying |
| to color e.g. "start="$" end="$"". (DLR, found by Trevor |
| Caira) |
| - Don't display any statusbar message when we get a zero-length |
| regex, as we can get one under legitimate circumstances. (DLR, |
| found by Mike Frysinger) |
| update_line() |
| - Remove unneeded assert. (DLR) |
| edit_redraw() |
| - Fix problem where not all lines would be updated properly if |
| we'd scrolled off the screen and the mark was on. (DLR) |
| do_credits() |
| - Update the last copyright notice to include 2006. (DLR) |
| - configure.ac: |
| - Remove old warnings about color support. (DLR) |
| - Remove conditional header checks for fcntl.h and termios.h, as |
| nano won't build without them, and add conditional header |
| check for sys/param.h, as some systems need only limits.h. |
| (DLR) |
| - doc/faq.html: |
| - Add a new section 4.4, and move all section 4 entries after it |
| down one number, to explain how to deal with problems typing |
| Meta-[. (DLR) |
| - Add a new section 4.5, and move all section 4 entries after it |
| down one number, to explain a problem that can occur when |
| holding down keys to generate Meta sequences. (Benno |
| Schulenberg, minor tweaks by DLR) |
| - Add a few capitalization and wording fixes. (DLR) |
| - Remove section 4.4, and move all section 4 entries after it up |
| one number, since it no longer applies. Meta-] and Meta-[ are |
| no longer used to indent and unindent marked text, since they |
| require that the bracket matching key change to Ctrl-], which |
| is used as the telnet escape key. (DLR, found by Chris) |
| - Make the link to the nano CVS page a bit more readable. (DLR) |
| - Update section 3.8 to mention the new "Unicode Input" prompt, |
| and how Unicode input only works when Unicode support is |
| enabled. (DLR) |
| - Add minor punctuation, wording, and typo fixes. (DLR) |
| - Update section 5.3, due to the display fix for two-column |
| Unicode characters. (DLR) |
| - doc/nano.1: |
| - Update the copyright years to include 2006. (DLR) |
| - Explicitly mention that all regexes should be extended regular |
| expressions. (DLR, suggested by John M. Gabriele) |
| - Miscellaneous minor fixes. (DLR) |
| - Add various wording fixes. (Benno Schulenberg and DLR) |
| - Put command line arguments in <>'s instead of []'s, as the |
| latter imply that the arguments are optional when they aren't. |
| (Benno Schulenberg) |
| - doc/nanorc.5: |
| - Update the copyright years to include 2006. (DLR) |
| - Explicitly mention that all regexes should be extended regular |
| expressions. (DLR, suggested by John M. Gabriele) |
| - Miscellaneous minor fixes. (DLR) |
| - Add various wording fixes. (Benno Schulenberg and DLR) |
| - Mention that the nanorc file should not be in DOS or Mac |
| format. (DLR) |
| - doc/rnano.1: |
| - Update the copyright years to include 2006. (DLR) |
| - Explicitly mention that all regexes should be extended regular |
| expressions. (DLR, suggested by John M. Gabriele) |
| - Miscellaneous minor fixes. (DLR) |
| - Add various wording fixes. (Benno Schulenberg and DLR) |
| - Add description of the +LINE[,COLUMN] option. (DLR) |
| - doc/nano.texi: |
| - Update the copyright years to include 2006. (DLR) |
| - Explicitly mention that all regexes should be extended regular |
| expressions. (DLR, suggested by John M. Gabriele) |
| - Miscellaneous minor fixes. (DLR) |
| - Add various wording fixes. (Benno Schulenberg and DLR) |
| - Change license to GPL, in order to match the rest of the |
| documentation, and because the current license is incompatible |
| with everything else in any case. (DLR) |
| - Mention that backup files and spell checking are disabled in |
| restricted mode, as rnano.1 does. (DLR) |
| - Add minor updates to put some text back in sync with nano's |
| help text, and with nano's current feature set. (DLR) |
| - Add a "Nanorc Files" section to explain the nanorc file format |
| in detail, using text from nanorc.5. (DLR) |
| - Put command line arguments in <>'s instead of []'s, as the |
| latter imply that the arguments are optional when they aren't. |
| (Benno Schulenberg) |
| - Add missing description of -H/--historylog, and move |
| -x/--nohelp down so that all the command line options are in |
| alphabetical order. (Benno Schulenberg) |
| - Change all occurrences of "file name" to "filename". (Benno |
| Schulenberg) |
| - doc/man/Makefile.am: |
| - Simplify the setting of SUBDIRS. (DLR) |
| - doc/man/fr/nano.1, doc/man/fr/nanorc.5, doc/man/fr/rnano.1: |
| - Updated manpage translations by Jean-Philippe Guérard. |
| - doc/nanorc.sample: |
| - Miscellaneous minor fixes. (DLR and Benno Schulenberg) |
| - Tweak the "c-file" regex for characters to accept '"' again, |
| as it's apparently valid, and simplify it. (DLR) |
| - Simplify the "shellscript" regex for command line options. |
| (DLR) |
| - Replace instances of \" with ", since quotes inside string |
| parameters don't need to be escaped with backslashes. (DLR) |
| - Mention in the comments that more than one start/end regex can |
| be included per line. Also, change the comment for the |
| "whitespace" option so that the hexadecimal character values |
| are six digits long, and state which character values work |
| with which encodings. (DLR) |
| - Add sample regexes for Python. (singular on the Gentoo forums, |
| http://forums.gentoo.org/viewtopic.php?t=86562; minor tweaks |
| by DLR, suggested by John M. Gabriele) |
| - Explicitly mention that all regexes should be extended regular |
| expressions. (DLR, suggested by John M. Gabriele) |
| - Simplify the "nanorc" regex for commands. (DLR) |
| - Mention that the nanorc file should not be in DOS or Mac |
| format. (DLR) |
| - Add various wording fixes. (Benno Schulenberg and DLR) |
| - Replace instances of "\w" with its equivalent "[0-9A-Z_a-z]", |
| and instances of "\W" with its equivalent "[^0-9A-Z_a-z]", for |
| greater readability. (DLR) |
| - Remove unneeded foreground color for the Java source regex |
| used to highlight trailing whitespace, since we now support |
| background colors without foreground colors. (DLR) |
| - Further simplify the "groff" regexes. (DLR) |
| - Tweak the "shellscript" regexes to properly color all special |
| variables, such as $? and $@. (Benno Schulenberg) |
| - Tweak the "nanorc" regexes to color keywords bright green |
| instead of cyan, and comments bright blue instead of blue. |
| (John M. Gabriele) |
| - Simplify the extensions associated with the "nanorc" regexes. |
| (DLR) |
| - Add regexes for Ruby. (John M. Gabriele, minor tweaks by DLR) |
| - doc/nanorc.sample.in: |
| - Add comments describing the relationships between syntax file |
| names and the names used as their short descriptions. (John M. |
| Gabriele) |
| - doc/java.nanorc: |
| - Simplify a comment. (DLR) |
| - doc/man.nanorc: |
| - Change the name of the "manpage" regexes to "man", for |
| consistency. (John M. Gabriele) |
| - doc/nanorc.nanorc: |
| - Tweak the "nanorc" regexes to color comments starting with a |
| double ## cyan instead of bright blue. (John M. Gabriele) |
| - doc/ruby.nanorc: |
| - Add regex for "here" docs. (John M. Gabriele) |
| - doc/sh.nanorc: |
| - Tweak the regex for special variables, moving "-" to the end, |
| to avoid excessive coloring or an "Invalid range end" error. |
| (Benno Schulenberg) |
| - Tweak the "sh" regexes to color comments cyan instead of |
| yellow. (John M. Gabriele) |
| - src/Makefile.am: |
| - If we're uninstalling, remove the "rnano" symlink. (DLR, found |
| by Benno Schulenberg) |
| - Remove "-Iintl" from INCLUDES, as we don't use an intl |
| directory inside the source directory anymore. (DLR) |
| - README, README.CVS: |
| - Add various cosmetic and wording improvements. (John M. |
| Gabriele, minor tweaks by DLR) |
| - TODO: |
| - Update for nano 2.0, since we're now in a feature freeze. |
| (DLR) |
| - UPGRADE: |
| - Miscellaneous minor fixes. (DLR) |
| - Update for nano 2.0, since we're now in a feature freeze. |
| (DLR) |
| |
| GNU nano 1.3.11 - 2006.03.30 |
| - General: |
| - Miscellaneous comment fixes. (DLR) |
| - Remove unnecessary #ifdef around termios.h #include in nano.c. |
| (DLR) |
| - Sort the default strings for brackets and punct, and the "or" |
| atom in the default regex string for quotestr, according to |
| ASCII. Changes to main(), nano.1, nanorc.5, and |
| nanorc.sample. (DLR) |
| - Rework the bracket searching code to handle multibyte bracket |
| characters, and allow specifying matching bracket characters |
| other than the default via the "matchbrackets" rcfile option. |
| New functions mbstrpbrk() and mbrevstrpbrk(); changes to |
| find_statusbar_bracket_match(), do_statusbar_find_bracket(), |
| find_bracket_match(), do_find_bracket(), main(), |
| parse_rcfile(), nanorc.5, and nanorc.sample. (DLR) |
| - Rework input parsing in the file browser to be more flexible. |
| New function parse_browser_input(); changes to do_browser(). |
| (DLR) |
| - Allow tab completion of directories at the "Go To Directory" |
| prompt. Also, move the browser drawing routines to a separate |
| function, and make sure it's used when refreshing or doing tab |
| completion at the prompt in the file browser. New function |
| browser_refresh(); changes to do_browser(), browser_init(), |
| do_insertfile(), do_writeout(), cwd_tab_completion(), |
| input_tab(), do_statusbar_input(), get_prompt_string(), |
| do_prompt(), search_init(), do_replace(), do_gotolinecolumn(), |
| and do_int_spell_fix(). (DLR) |
| - browser.c: |
| do_browser() |
| - Properly set currshortcut back to the file browser shortcut |
| list after a "Go To Directory" prompt, and properly restore |
| the file list display after returning from the help browser at |
| the "Go To Directory" prompt. (DLR) |
| - Rename variable j to i, for consistency. (DLR) |
| - Make fileline, old_selected, and the static selected size_t's, |
| since the first and second can hold the value of the third, |
| and the first can be that large. (DLR) |
| - chars.c: |
| mbstrchr() |
| - Make parameter c const. (DLR) |
| - files.c: |
| do_writeout() |
| - Remove unneeded setting of currshortcut. (DLR) |
| is_dir() |
| - Rename parameter ret to retval, for consistency. (DLR) |
| - global.c: |
| shortcut_init() |
| - Remove erroneous handling of the "Get Help" shortcut in the |
| file browser shortcut list. (DLR) |
| - nano.h: |
| - Remove now-unneeded VERMSG #define. (DLR) |
| - prompt.c: |
| get_prompt_string() |
| - Redraw the prompt and set finished to FALSE when NANO_HELP_KEY |
| is pressed, so that we don't leave the prompt, enter the help |
| browser, and restart the prompt after leaving it. This will |
| properly preserve the cursor position after doing the last of |
| these. (DLR) |
| - utils.c: |
| ngetdelim() |
| - Do sanity checks manually again instead of in an assert, and |
| set errno to EINVAL as well as return -1 if they fail. This |
| matches the manual page. (DLR) |
| - winio.c: |
| get_key_buffer() |
| - If we fail to get a character MAX_BUF_SIZE times in a row, |
| hang up regardless of the value of errno. This fixes a |
| problem where nano doesn't terminate properly under xterm if |
| the user su's to root, runs nano, and then closes the terminal |
| window. errno isn't set properly to EIO then. (DLR, found by |
| John <acocaracha@gmail.com>) |
| parse_kbinput() |
| - Interpret Shift-Begin, Shift-Delete, Shift-End, Shift-Home, |
| Shift-Insert, and Shift-Suspend as Begin, Delete, End, Home, |
| Insert, and Suspend, respectively, regardless of whether |
| --rebindkeypad is used. (DLR, found by David Benbennick) |
| titlebar() |
| - Use PACKAGE_STRING, as defined by autoconf, instead of VERMSG. |
| (DLR) |
| edit_redraw() |
| - If either current or old_current is offscreen, we're not on |
| the first page, and/or we're not on the same page as before, |
| update old_current before scrolling the edit window. This |
| fixes a potential display problem when a search moves the |
| cursor offscreen and onto a different page. (DLR, found by |
| Mike Frysinger) |
| display_string() |
| - Fix minor memory leak. (DLR) |
| - Fix memory corruption problems caused by not allocating enough |
| space for converted when a line ends in a tab(s) and we're not |
| in UTF-8 mode. (DLR, found by Duncan Geoffry Doyle, Nick |
| Warne, and Mike Frysinger) |
| - doc/faq.html: |
| - Update the Free Translation Project's address, change the |
| character set to UTF-8, and remove broken links to contributed |
| RedHat nano packages. (DLR) |
| - doc/nano.1: |
| - Better display the default values for quotestr. (DLR) |
| - doc/nanorc.5: |
| - Give the default values for the brackets and punct options, |
| and better display the default values for quotestr. (DLR) |
| - Mention that quotes inside string parameters don't need to be |
| escaped with backslashes. (John M. Gabriele, minor tweaks by |
| DLR) |
| - doc/rnano.1: |
| - Remove unneeded comments. (DLR) |
| - doc/nanorc.sample: |
| - Remove unneeded comment. (DLR) |
| - Mention that quotes inside string parameters don't need to be |
| escaped with backslashes. (John M. Gabriele, minor tweaks by |
| DLR) |
| - THANKS: |
| - Add new Swedish translator. |
| |
| GNU nano 1.3.10 - 2005.12.23 |
| - General: |
| - Miscellaneous comment fixes. (DLR) |
| - More int -> bool conversions. (DLR) |
| - Add the ability to scroll up or down single lines without |
| scrolling the cursor, via Meta-- and Meta-+. Note that this |
| is disabled when NANO_SMALL is defined. New functions |
| do_scroll_up() and do_scroll_down(); changes to |
| shortcut_init(). (DLR, suggested by Mike Frysinger) |
| - Properly handle mouse clicks on the statusbar prompt text. |
| New functions statusbar_xplustabs() and |
| get_statusbar_page_start(); changes to do_statusbar_mouse(), |
| nanoget_repaint(), nanogetstr(), and statusq(). (DLR) |
| - Since the statusbar prompt code needs at least 4 columns in |
| order to work properly, make that the minimum number of |
| columns that nano requires in order to run, and remove |
| assertions and code that make use of a smaller number of |
| columns. Changes to window_init(), nanoget_repaint(), |
| titlebar(), statusbar(), and get_page_start(). (DLR) |
| - Move get_page_start(), xplustabs(), actual_x(), strnlenpt(), |
| strlenpt(), check_linenumbers(), dump_buffer(), and |
| dump_buffer_reverse() from winio.c to utils.c, as they're |
| really utility functions. (DLR) |
| - Add missing stdio.h #include to text.c and winio.c, and remove |
| unneeded sys/wait.h #include from files.c. (DLR) |
| - Move functions specific to the statusbar prompt to their own |
| source file, adjust related variables accordingly, and rename |
| variable resetstatuspos reset_statusbar_x. New file prompt.c; |
| changes to do_statusbar_input(), do_statusbar_mouse(), |
| do_statusbar_output(), do_statusbar_home(), |
| do_statusbar_end(), do_statusbar_right(), do_statusbar_left(), |
| do_statusbar_backspace(), do_statusbar_delete(), |
| do_statusbar_cut_text(), do_statusbar_next_word(), |
| do_statusbar_prev_word(), do_statusbar_verbatim_input(), |
| statusbar_xplustabs(), get_statusbar_page_start(), |
| nanoget_repaint(), nanogetstr(), statusq(), statusq_abort(), |
| and do_yesno() (all moved to prompt.c). (DLR) |
| - Move functions specific to the help browser to their own |
| source file, and adjust related variables accordingly. New |
| file help.c; changes to help_init(), help_line_len(), and |
| do_help() (all moved to help.c). (DLR) |
| - Tweak a few functions to remove the assumption that the file |
| always ends in a magicline. Changes to cut_line(), |
| do_cut_till_end(), open_buffer(), read_file(), write_file(), |
| do_last_line(), do_para_end(), do_wrap(), backup_lines(), |
| find_paragraph(), do_justify(), do_alt_speller(), and |
| do_wordlinechar_count(). (DLR) |
| - Tweak a few functions to rely on fileage and filebot instead |
| of NULL for their checks to detect the top or bottom of the |
| file. Changes to cut_line(), cut_to_eol(), do_page_up(), |
| do_page_down(), do_para_end(), do_next_word(), do_prev_word(), |
| do_up(), do_down(), do_scroll_down(), do_right(), do_mouse(), |
| do_gotolinecolumn(), do_delete(), begpar(), find_paragraph(), |
| do_wrap(), remove_magicline(), and edit_scroll(). (DLR) |
| - Add new -L/--nonewlines command line option, and new |
| "nonewlines" rcfile option, to control whether nano adds |
| magiclines to the ends of files. Changes to read_file(), |
| write_marked_file(), move_to_filestruct(), |
| copy_from_filestruct(), usage(), do_output(), main(), |
| do_replace_loop(), do_delete(), do_int_spell_fix(), |
| do_alt_speller(), nano.1, nanorc.5, nano.texi, and |
| nanorc.sample. (DLR, suggested by Jaime |
| <re2823@Safe-mail.net>) |
| - Move functions specific to the file browser to their own |
| source file, and adjust related variables accordingly. New |
| file browser.c; changes to striponedir(), browser_init(), |
| do_browser(), and do_browse_from() (all moved to browser.c). |
| (DLR) |
| - Add the statusbar prompt's equivalent of placewewant, |
| statusbar_pww, to prompt.c, and convert its functions to use |
| it. New functions reset_statusbar_cursor() and |
| need_statusbar_horizontal_update(); changes to |
| do_statusbar_mouse(), do_statusbar_output(), |
| do_statusbar_home(), do_statusbar_end(), do_statusbar_right(), |
| do_statusbar_left(), do_statusbar_delete(), |
| do_statusbar_cut_text(), do_statusbar_next_word(), |
| do_statusbar_prev_word(), do_statusbar_verbatim_input(), |
| nanoget_repaint() (renamed update_statusbar_line()), |
| nanogetstr() (renamed get_prompt_string()), statusq() (renamed |
| do_prompt()), statusq_abort() (renamed do_prompt_abort()), and |
| do_yesno() (renamed do_yesno_prompt()). (DLR) |
| - Initialize the static pid_t pid in text.c to -1. (DLR) |
| - Fix copyright years on source files. All functions in |
| browser.c were originally added in 2001; the oldest function |
| in color.c is do_colorinit() (now color_init()), which was |
| originally added in 2001; the oldest function in chars.c is |
| revstrstr(), which was originally added in 2001; the oldest |
| function in help.c is do_help(), which was originally added in |
| 2000; the oldest function in prompt.c is statusq() (now |
| do_prompt()), which was originally added before 0.6.6, which |
| was apparently in 1999; all functions in rcfile.c were |
| originally added in 2001; one of the oldest functions in |
| search.c is do_search(), which was originally added in 0.2.7, |
| which was apparently in 1999; and one of the oldest functions |
| in text.c is do_wrap(), which was originally added in 0.3.1, |
| which was apparently in 1999. (DLR) |
| - For functions originally adapted from other sources, add |
| notices from the original files, as we do with the tab |
| completion functions adapted from busybox, updating the Free |
| Software Foundation's address as needed. Also, invoke LGPL |
| clause 3 to convert the LGPLed ngetdelim() and ngetline() |
| functions to use the GPL instead. This is done so that we |
| don't have to include a copy of the LGPL, and because the |
| changes made to integrate these functions with nano make them |
| dependent on nano's GPLed functions and hence useless |
| elsewhere. (DLR) |
| - Don't install the localized versions of the manpages if |
| nano is built with --disable-nls. Changes to Makefile.am and |
| doc/man/Makefile.am. (Mike Frysinger) |
| - Rename the NANO_SMALL #define to NANO_TINY. (DLR) |
| - Overhaul the bracket searching code so that it no longer |
| requires regex support to work. New functions revstrpbrk() |
| and find_bracket_match(); changes to shortcut_init() and |
| do_find_bracket(). (DLR) |
| - Add the ability to do bracket searches at the statusbar |
| prompt. New functions find_statusbar_bracket_match() and |
| do_statusbar_find_bracket(); changes to do_statusbar_input(). |
| (DLR) |
| - Beep whenever we can't read a file or directory and have to |
| indicate it on the statusbar, as Pico does. Changes to |
| do_browser(), open_file(), and write_file(). (DLR) |
| - Adjust copyright notices in all source files to account for |
| Chris' reassigning the 2005-2006 copyright on nano to me. |
| Changes to do_credits(). (DLR) |
| - Readd RETSIGTYPE return types for signal handlers, since any |
| problems with its being defined as the wrong type aren't |
| nano's fault. Changes to handle_hupterm(), do_suspend(), |
| do_continue(), handle_sigwinch(), and cancel_command(). (DLR) |
| - Since proto.h includes nano.h, and nano.h includes config.h |
| first, include proto.h first and remove redundant includes of |
| config.h in all non-header source files. (DLR) |
| - Refer to the Enter key instead of the Return key for |
| consistency. Changes to load_history() and rcfile_error(). |
| (DLR) |
| - browser.c: |
| do_browser() |
| - When setting the width of each file, use the "?" operator |
| instead of an if/else clause. (DLR) |
| - chars.c: |
| mbwidth() |
| - If wcwidth() returns -1 for the character passed in, treat the |
| character as having the width of Unicode U+FFFD (Replacement |
| Character) instead of having a width of zero, since display |
| problems can crop up with the latter approach. (DLR) |
| mbstrchr() |
| - Detect the case where the character isn't found in the string |
| more accurately. (DLR) |
| - cut.c: |
| cut_line() |
| - Since placewewant will always be zero after the line is cut, |
| set it to zero directly instead of assigning it the value of |
| xplustabs(). (DLR) |
| - files.c: |
| read_file() |
| - Remove apparently unneeded logic to handle a case where |
| current is NULL, since it shouldn't be NULL there. (DLR) |
| get_next_filename() |
| - Store the value of digits(ULONG_MAX) in a static, since it |
| doesn't change and hence doesn't need to be recalculated. |
| (DLR) |
| - global.c: |
| shortcut_init() |
| - Change the description of the Meta-] shortcut to "Find |
| matching bracket", as it's clearer. (DLR) |
| - nano.c: |
| version() |
| - If DISABLE_WRAPPING is defined, the code in DISABLE_ROOTWRAP |
| #ifdefs isn't included, so don't display |
| "--disable-wrapping-as-root" in that case. (DLR) |
| do_cont() |
| - Rename to do_continue(), and rename parameter s to signal, for |
| consistency. (DLR) |
| do_verbatim_input() |
| - Move to text.c, since it's an advanced text-based operation. |
| (DLR) |
| - nano.h: |
| - Readd MIN_EDITOR_COLS #define, set to 4. (DLR) |
| - proto.h: |
| - Remove now-unused externs for currslen, shortcut_list, |
| fileinfo, syntaxfile_regexp, and synfilematches. (DLR) |
| - prompt.c: |
| do_statusbar_input() |
| - Fix misplaced break when handling NANO_VERBATIM_KEY. (DLR) |
| reset_statusbar_cursor() |
| - Fix cursor placement problem by modeling the code more closely |
| after reset_cursor(). (DLR) |
| get_prompt_string() |
| - Adjust #ifdefs to leave out disabled keys entirely instead of |
| keeping enough code to just ignore them. (DLR) |
| - rcfile.c: |
| do_rcfile() |
| - Remove unneeded assert. (DLR) |
| - search.c: |
| search_abort() |
| - Rename to search_replace_abort(). (DLR) |
| findnextstr() |
| - Remove parameter can_display_wrap, as it's always set to TRUE |
| now, and rename parameter wholeword to whole_word, for |
| consistency. (DLR) |
| - Only include the whole_word parameter when DISABLE_SPELLER |
| isn't defined, as it's only used then. (DLR) |
| replace_abort() |
| - Replace with search_replace_abort(), since it does the same |
| things that this function does. (DLR) |
| do_replace_loop() |
| - Change order of parameters to more closely match those of |
| findnextstr(), and rename parameter wholewords to whole_word, |
| for consistency. (DLR) |
| - Only include the whole_word parameter when DISABLE_SPELLER |
| isn't defined, as it's only used then. (DLR) |
| - text.c: |
| execute_command() |
| - Instead of hardcoding /bin/sh as the shell to use when |
| executing a command, use $SHELL, and only fall back to /bin/sh |
| if $SHELL isn't set. (DLR) |
| do_wrap() |
| - Rename variable wrapping to prepending, to avoid confusion, |
| and rename the static bool same_line_wrap to prepend_wrap to |
| match. (DLR) |
| - Properly add a new magicline when needed if, in the process of |
| wrapping, we prepend text to the last line of the file. (DLR) |
| break_line() |
| - Only include the newline parameter if DISABLE_HELP isn't |
| defined, as it's only used then. (DLR) |
| - In the surrounding #ifdef, replace the combination of |
| !DISABLE_JUSTIFY and !DISABLE_WRAPPING with |
| !DISABLE_WRAPJUSTIFY, for consistency. (DLR) |
| begpar() |
| - Return FALSE if foo is NULL, as inpar() does. (DLR) |
| backup_lines() |
| - Return void instead of a pointer to the copy of the first |
| line, since current will point to the same location after the |
| text is copied and so can be used instead of the old return |
| value. (DLR) |
| - Remove unused quote_len parameter. (DLR) |
| do_justify() |
| - Don't save current_y and restore it if the user unjustifies, |
| as the reset_cursor() called by edit_refresh() after restoring |
| edittop and current will ensure that current_y is restored to |
| its original value. (DLR) |
| - Renumber after justifying each individual paragraph, since |
| find_paragraph() needs the line numbers to be right as well as |
| edit_refresh(). This fixes a potential segfault when doing |
| full justify with auto-indent turned on. (DLR) |
| do_alt_speller() |
| - Move the code that replaces the text of the current file with |
| the text of the spell-checked file into its own function, |
| replace_buffer(). (DLR) |
| - utils.c: |
| parse_line_column() |
| - Simplify parsing of the column number. (DLR) |
| ngetdelim() |
| - Do sanity checks in an assert instead of checking them |
| manually and returning -1 if they fail. (DLR) |
| is_whole_word() |
| - Only include when DISABLE_SPELLER isn't defined, as it's only |
| used then. (DLR) |
| get_page_start() |
| - Fix test so that we scroll through the line in 8-character |
| chunks when COLS is greater than 8, not when COLS is greater |
| than 9. (DLR) |
| remove_magicline() |
| - Add assert. (DLR) |
| - winio.c: |
| nanoget_repaint() |
| - Rename parameter inputbuf to buf, for consistency. (DLR) |
| reset_cursor() |
| - Rename variable x to xpt, to avoid confusion. (DLR) |
| update_line() |
| - Remove now-unneeded logic that set the index parameter to zero |
| if the fileptr parameter didn't point to current. (DLR) |
| edit_add() |
| - Rename to edit_draw(), and rename parameter yval to line. |
| (DLR) |
| do_cursorpos() |
| - Remove unneeded assert. (DLR) |
| do_yesno() |
| - Make mouse clicks on the Yes/No/All shortcuts work properly |
| when the MORE_SPACE flag is set. (DLR) |
| - configure.ac: |
| - Clarify description of --disable-speller. (DLR) |
| - Disable wrapping entirely when --enable-tiny is used, as it |
| matches the FAQ, it makes nano even smaller, and it eliminates |
| the need for --disable-wrapping-as-root in that case (in which |
| it's impossible to turn wrapping back on without nanorc |
| support). (DLR) |
| - README.CVS: |
| - Mention that the minimum required version of texinfo is 4.0, |
| since that's the first version that supports generating HTML. |
| (DLR) |
| - Mention that the minimum required version of groff is 1.12, |
| since that's the first version that supports generating HTML. |
| (DLR) |
| - Update the given cvs commands so that they work again. (DLR) |
| - doc/faq.html: |
| - Add a new section 5.3 to explain the status of nano's Unicode |
| support. (Mike Frysinger, minor tweaks by DLR) |
| - Clarify section 5.3 to better explain how to enable Unicode |
| support, and remove the mention of quirks, since they turned |
| out to not be a nano problem. (Mike Frysinger and DLR) |
| - doc/nano.1: |
| - Make one non-bold instance of "nano" bold, for consistency. |
| (DLR) |
| - doc/man/fr/nano.1, doc/man/fr/nanorc.5: |
| - Updated manpage translations by Jean-Philippe Guérard. |
| - doc/rnano.1: |
| - Add rnano.1 manpage from Thijs Kinkhorst. (Jordi) DLR: Merge |
| a few minor updates from nano.1. |
| - doc/nano.texi: |
| - Fix inconsistent wording and punctuation. (DLR) |
| - Add missing configure options. (Mike Frysinger, minor tweaks |
| by DLR) |
| - Sort the configure options more consistently, and add missing |
| --disable-utf8 option. (DLR) |
| - Move --disable-wrapping above --enable-tiny, as the latter now |
| turns it on. (DLR) |
| - doc/nanorc.sample: |
| - Tweak the "c-file" regex for characters to properly accept |
| '\"' and reject '"' and '''. (DLR) |
| - doc/texinfo/Makefile.am: |
| - Automatically generate an HTML version of the info page, |
| nano.html. (DLR) |
| - src/Makefile.am: |
| - Add browser.c, help.c, and prompt.c to nano_SOURCES. (DLR) |
| |
| GNU nano 1.3.9 - 2005.10.23 |
| - General: |
| - Miscellaneous comment fixes. (DLR) |
| - More int -> bool conversions. (DLR) |
| - Fix a few last instances of the current line number's being |
| saved as an int instead of a ssize_t. Changes to |
| renumber_all(), renumber(), do_alt_speller(), and |
| backup_lines(). (DLR) |
| - Reorder some functions for consistency. (DLR) |
| - Rename variable open_files openfile, for consistency. (DLR) |
| - Remove renumber()'s dependency on the main filestruct. |
| Changes to renumber(); removal of renumber_all(). (DLR) |
| - Restructure things so that every file has its own |
| openfilestruct, and so that the values in it are used directly |
| instead of being periodically synced up with the globals. |
| Accordingly, remove the globals. Changes to pretty much |
| every function. Rename add_open_file() make_new_buffer(), |
| rename load_buffer() open_buffer(), rename load_open_file() |
| display_buffer(), rename open_prevnext_file() |
| switch_to_prevnext_buffer(), rename open_prevfile_void() |
| switch_to_prev_buffer(), rename open_nextfile_void() |
| switch_to_next_buffer(), rename write_marked() |
| write_marked_file(), remove load_file(), rename cancel_fork() |
| cancel_command(), rename open_pipe() execute_command(), remove |
| execute_command(), rename resize_variables(), rename |
| global_init() window_size_init(), rename get_buffer() |
| get_key_buffer(), and rename get_buffer_len() |
| get_key_buffer_len(). (DLR) |
| - Replace all mvwaddstr(hblank) calls with a new function that |
| does the same thing without the need for hblank. New function |
| blank_line(); changes to do_browser(), blank_titlebar(), |
| blank_topbar(), blank_edit(), blank_statusbar(), |
| blank_bottombars(), update_line(), and edit_refresh(). (DLR) |
| - Make the static pid variable used by execute_command() and |
| cancel_command() a pid_t instead of an int, for consistency. |
| (DLR) |
| - Consistently make the flags global and any variables used to |
| hold it longs. (DLR) |
| - Make edit_scroll() sophisticated enough to keep track of |
| current and current_x, update the lines before and after the |
| scrolled region, and properly scroll more than editwinrows |
| lines; and change the movement functions that use |
| edit_scroll() to (a) set current and current_x before calling |
| it, and (b) no longer call edit_redraw() afterward, as it's |
| now unnecessary. These changes eliminate redundant screen |
| updates when the mark is on, since the mark display depends on |
| current and current_x. Also change edit_redraw() to use |
| edit_scroll() instead of edit_refresh() when one of its two |
| reference lines is offscreen. Changes to edit_scroll(), |
| do_page_up(), do_page_down(), do_up(), and do_down(). (DLR) |
| - Consistently make the fg and bg colortype struct entries and |
| any variables used to hold them shorts. Changes to |
| do_colorinit() (renamed color_init()), color_to_int() (renamed |
| color_to_short()), and parse_colors(). (DLR) |
| - Change color handling to save only the extension and color |
| regex strings constantly, and to actually compile them on an |
| as-needed basis. Also, make a color syntax specified on the |
| command line override the syntax associated with the current |
| file extension, add a "default" syntax that takes no |
| extensions for those files that don't match any other |
| syntax's extensions, and add a "none" syntax that's the same |
| as having no syntax at all. Changes to update_color(), |
| thanks_for_all_the_fish(), nregcomp(), parse_syntax(), and |
| parse_colors(). (Brand Huntsman and DLR) |
| - Various other color fixes. Handle unspecified foreground |
| colors properly, treat syntax names case sensitively, flag |
| duplicate syntax names as errors, don't automatically |
| reinitialize the displayed colors every time we update the |
| current buffer's colors (since the buffer may not be displayed |
| immediately), don't bother doing complete refreshes of the |
| screen when color support is enabled if there's no regex |
| associated with the current file, and rename variable |
| exttype->val to exttype->ext, for consistency. Changes to |
| do_colorinit() (renamed color_init()), update_color() (renamed |
| color_update()), write_file(), do_input(), do_output(), and |
| parse_syntax(). (DLR) |
| - Simplify get_totals() to only get the total number of |
| characters, and eliminate dependence on its old ability to get |
| the total number of lines by renumber()ing when necessary and |
| using the number of the last line of a filestruct. Changes to |
| read_file(), move_to_filestruct(), copy_from_filestruct(), |
| do_justify(), get_totals() (renamed get_totsize()), and |
| do_cursorpos(). (DLR) |
| - Change the NANO_WIDE #define to ENABLE_UTF8, as the latter is |
| clearer. (DLR) |
| - Minor history code fixes: Make sure that the current position |
| in the history list is properly set to the bottom if we cancel |
| out of the prompt, and that magichistory is properly updated |
| when we change it and then move up. New function |
| history_reset(); changes to nanogetstr(). (DLR) |
| - Various character-handling cleanups. If we get an invalid |
| multibyte sequence, treat it as Unicode FFFD (Replacement |
| Character), unless we're searching for a match to it. Also, |
| remove unneeded variables and checks when parsing multibyte |
| sequences. Changes to is_alnum_mbchar(), is_blank_mbchar(), |
| is_cntrl_mbchar(), is_punct_mbchar(), control_mbrep(), |
| mbwidth(), make_mbchar(), parse_mbchar(), mbstrncasecmp(), |
| mbstrcasestr(), mbrevstrcasestr(), mbstrchr(), and |
| display_string(). (DLR) |
| - Move advanced text operations (command execution in a buffer, |
| wrapping, spell checking, justifying, and word counting) to |
| their own source file, and adjust related variables |
| accordingly. New file text.c; changes to cancel_command(), |
| execute_command(), do_backspace(), do_delete(), do_tab(), |
| do_enter(), do_mark(), wrap_reset(), do_wrap(), |
| do_int_spell_fix(), do_int_speller(), do_alt_speller(), |
| do_spell(), break_line(), indent_length(), justify_format(), |
| quote_length(), quotes_match(), indents_match(), begpar(), |
| inpar(), backup_lines(), find_paragraph(), do_justify(), |
| do_justify_void(), do_full_justify(), and do_word_count() (all |
| moved to text.c). (DLR) |
| - Since the total number of lines in a file is the same as the |
| number of its last line when all its lines are numbered |
| properly, use that in place of openfile->totlines, and |
| eliminate references to openfile->totlines. Changes to |
| initialize_buffer_text(), read_file(), move_to_filestruct(), |
| copy_from_filestruct(), do_delete(), do_enter(), do_wrap(), |
| do_justify(), do_alt_speller(), do_wordlinechar_count(), |
| new_magicline(), remove_magicline(), and do_cursorpos(). (DLR) |
| - Various fill-related cleanups. Move check_die_too_small() and |
| window_size_init()'s code into window_init(), as they really |
| belong there, remove associated separate calls to them, make |
| sure window_init() is always called at the same time when |
| redrawing the screen, and turn the keypad on in topwin in case |
| we ever read input from it. Changes to window_init(), main(), |
| and do_alt_speller(); removal of check_die_too_small() and |
| window_size_init(). (DLR) |
| - Remove still more redundant screen updates. Change all |
| wrefresh() calls to wnoutrefresh() calls, except for those in |
| total_update() and do_credits(); call doupdate() just before |
| using blocking input, since nano spends the most time using |
| it, for blocking input; and only do constant sursor position |
| display if we're just about to use blocking input. Changes to |
| input_tab(), do_browser(), do_output(), main(), |
| get_key_buffer(), check_statusblank(), nanogetstr(), |
| titlebar(), statusbar(), bottombars(), edit_refresh(), |
| do_yesno(), and do_help(). (DLR) |
| - Treat the Unicode characters D800-DFFF, FDD0-FDEF, and |
| xxFFFE-xxFFFF, as invalid, since the C library's multibyte |
| functions don't seem to. New function is_valid_unicode(); |
| changes to mbrep() and make_mbchar(). (DLR) |
| - Store Unicode values in longs instead of ints, and cover the |
| entire range of Unicode. Changes to make_mbchar(), |
| is_valid_unicode(), parse_kbinput(), get_unicode_kbinput(), |
| parse_verbatim_kbinput(), and faq.html. (DLR) |
| - Readd the option to turn the keypad off by default from nano |
| 1.2.x, but rename the long option from --keypad to |
| --rebindkeypad, clarify its description on the command line, |
| and add an updated FAQ entry about its use. Changes to |
| window_init(), usage(), main(), get_verbatim_kbinput(), |
| nanorc.sample, nano.1, nanorc.5, nano.texi, and faq.html. |
| (DLR) |
| - Add new -W/--wordbounds command line option, and new |
| "wordbounds" rcfile option, to control whether |
| the word movement functions treat punctuation characters as |
| part of a word. Changes to do_next_word_void(), |
| do_prev_word_void(), usage(), main(), nano.1, nanorc.5, |
| nano.texi, and nanorc.sample. (DLR, suggested by Mike |
| Frysinger) |
| - Update email address. Changes to faq.html and AUTHORS. (DLR) |
| - Remove do_(left|right)()'s ability to optionally not update |
| the current line, as this was only used in do_backspace(), and |
| it didn't always update the screen properly. Changes to |
| shortcut_init(), do_left(), do_right(), and do_backspace(); |
| removal of do_left_void() and do_right_void(). (DLR; problem |
| found by Mike Frysinger) |
| - color.c: |
| - Remove unneeded fcntl.h include. (DLR) |
| - chars.c: |
| control_rep(), control_mbrep() |
| - Assert that the multibyte character passed in is a control |
| character if it's valid. (DLR) |
| - If crep is an invalid multibyte sequence, copy Unicode 0xFFFD |
| (Replacement Character) into it using strncpy() instead of |
| assigning the former to it. This avoids segfaults when freeing |
| crep later, since it's supposed to be dynamically allocated. |
| (DLR) |
| mbrep() |
| - New function, the equivalent of control_mbrep() for non-control |
| characters. (DLR) |
| parse_mbchar() |
| - Remove now-unneeded bad_chr parameter. (DLR) |
| mbstrchr() |
| - Don't count matches between valid and invalid multibyte |
| sequences anymore, for consistency. (DLR) |
| - files.c: |
| open_file() |
| - Assert that filename isn't NULL, and don't do anything special |
| if it's blank, as the the former case shouldn't occur, and the |
| latter case is now handled elsewhere. (DLR) |
| write_file(), write_marked_file(), do_writeout() |
| - Make append an append_type enum instead of an int. (DLR) |
| input_tab() |
| - Make columns an int instead of a size_t, since it's limited by |
| COLS. (DLR) |
| - global.c: |
| shortcut_init() |
| - Simplify wording of nano_gotoline_msg. (Jordi and Ken Tyler) |
| - Clarify wording of nano_wordcount_msg, as it will only go |
| through the marked portions of the file if the mark is on. |
| (DLR) |
| - move.c: |
| do_first_line(), do_last_line() |
| - Simplify by only using edit_redraw(), and also make them call |
| check_statusblank(). (DLR) |
| do_page_up(), do_page_down() |
| - If there's less than a page of text onscreen, just call |
| do_(first|last)_line(). (DLR) |
| do_para_begin(), do_para_begin_void(), do_para_end(), |
| do_para_end_void(), do_next_word(), do_next_word_void(), |
| do_prev_word(), do_prev_word_void() |
| - Move here from nano.c, as they're movement functions, and also |
| make them call check_statusblank(). |
| - nano.c: |
| move_to_filestruct() |
| - Fix problem where edittop wouldn't be reset properly if it was |
| inside the text moved to another filestruct. (DLR) |
| copy_from_filestruct() |
| - Miscellaneous cleanups. (DLR) |
| usage() |
| - Properly mention the support for "[+LINE,COLUMN]" on the |
| command line when HAVE_GETOPT_LONG isn't defined. (DLR) |
| - Remove unneeded translation of "--quickblank". (DLR) |
| do_verbatim_input() |
| - If constant cursor position display is on, make sure the |
| cursor position is displayed properly when we finish. (DLR) |
| do_next_word() |
| - Rework to be more like do_prev_word(), to avoid a potential |
| problem if we start at the end of a line. (DLR) |
| do_mouse() |
| - Avoid redundant screen updates by using edit_redraw() instead |
| of edit_refresh(), and remove now-erroneous code that disables |
| setting the mark while in view mode. (DLR) |
| do_output() |
| - When adding a character, just add its length in bytes to |
| current_x instead of calling do_right(), and set placewewant |
| afterward. (DLR) |
| do_alt_speller() |
| - If we can't invoke the spell checker, use sprintf() instead of |
| snprintf() to write the error string we return, as the one |
| formatted value is a simple string, and so altspell_error will |
| always be long enough to hold it. Also remove unnecessary |
| initialization of altspell_error, refactor so that msglen is |
| no longer needed, and make the error message more similar to |
| what the internal spell checker returns under the same |
| circumstances. (DLR) |
| - Block any pending SIGWINCHes while the alternate spell checker |
| is running, so that it can handle them, and unblock them once |
| it's finished and we've loaded the spell-checked file back in. |
| (DLR) |
| - Use doupdate() to reenter curses mode instead of refresh(). |
| (DLR) |
| do_spell() |
| - When displaying an error message from do_(int|alt)_speller(), |
| don't display the error message corresponding to errno if |
| errno is zero. (David Benbennick) |
| do_justify() |
| - If constant cursor position display is on, make sure the |
| cursor position is displayed properly when we finish. (DLR) |
| handle_sigwinch() |
| - Use doupdate() to reenter curses mode instead of refresh(). |
| (DLR) |
| allow_pending_sigwinch() |
| - Simplify by using the "?" operator instead of an if clause. |
| (DLR) |
| main() |
| - When opening files with "+LINE,COLUMN" arguments on the |
| command line, don't update the screen when moving to their |
| specified lines and columns. (DLR) |
| - Rename variable fill_flag_used to fill_used, for consistency. |
| (DLR) |
| - nano.h: |
| - Since we only use vsnprintf() now, remove the #ifdef block for |
| HAVE_SNPRINTF. (DLR) |
| - Remove TOP from the topmidnone enum, and rename the latter |
| centernone. (DLR) |
| - Move stdlib.h, dirent.h, regex.h, and assert.h includes here, |
| as every source file needs them. (DLR) |
| - Rename the updown enum scroll_dir and the centernone enum |
| update_type for clarity, and add an append_type enum. (DLR) |
| - If we don't have regex.h and hence regex support, disable |
| color support, as it depends on the use of regexes. (DLR) |
| - rcfile.c: |
| nregcomp() |
| - Return TRUE when the compilation succeeds and FALSE otherwise, |
| instead of the other way around. (DLR) |
| - search.c: |
| search_init() |
| - Don't blank out last_replace anymore when we get a new string, |
| as it'll be blanked out in do_replace(). Also, consolidate |
| the cases for blank and new search strings, as they now differ |
| only in which string they pass to regexp_init(). (DLR) |
| is_whole_word() |
| - Move to utils.c, as it's really a utility function in the same |
| vein as regexp_bol_or_eol(). (DLR) |
| replace_abort() |
| - Remove unnecessary update of placewewant. (DLR) |
| do_replace() |
| - Blank out last_replace properly again just before displaying |
| the "Replace" prompt. (DLR, found by Mike Frysinger) |
| - Remove unnecessary renumber(). (DLR) |
| do_gotolinecolumn() |
| - Add parameter allow_update to control whether the screen is |
| updated after moving. If it's TRUE, call edit_refresh() after |
| edit_update(). (DLR) |
| do_gotopos() |
| - Only include this function when DISABLE_SPELLER isn't defined, |
| as the alternate spell checking code is now the only place |
| where it's used. (DLR) |
| do_find_bracket() |
| - Add comments and minor cleanups. (DLR) |
| find_history() |
| - Make parameters const where possible. (DLR) |
| update_history() |
| - Don't renumber the history list starting after the entry we |
| found if the entry we found is at the bottom of the list. |
| (DLR, found by Simon Strandman) |
| get_history_completion() |
| - Make parameters const where possible. (DLR) |
| - text.c: |
| do_tab() |
| - Make sure that we insert the correct number of spaces if the |
| TABS_TO_SPACES flag is set and placewewant is greater than the |
| current column position of the cursor. (DLR) |
| do_enter() |
| - Don't update the edit window until we set placewewant. (DLR) |
| break_line() |
| - Fix a problem where a line could be broken in the middle of a |
| multibyte character. (DLR) |
| do_word_count() |
| - Rename to do_wordlinechar_count(), and expand to also count |
| the number of lines and characters in the file or selection, |
| as wc does. (DLR) |
| - winio.c: |
| get_key_buffer() |
| - Only save all open buffers and hang up when a blocking |
| wgetch() returns ERR and errno is set to EIO (input/output |
| error). If errno is set to something else, recover properly. |
| This fixes problems with nano's erroneously hanging up while |
| e.g. resizing or unsuspending in a chroot. (DLR, found by Mike |
| Frysinger) |
| get_escape_seq_kbinput() |
| - Fix typo preventing the VT100/VT220/VT320/xterm/rxvt escape |
| sequence for ',' on the numeric keypad with NumLock off from |
| being interpreted properly. (DLR) |
| get_word_kbinput() |
| - Multiply the entered digits by hexadecimal numbers instead of |
| decimal numbers for clarity, rename to get_unicode_kbinput(), |
| and rename variables word and word_digits to uni and |
| uni_digits. (DLR) |
| parse_verbatim_kbinput() |
| - Rename variables word_mb and word_mb_len to uni_mb and |
| uni_mb_len. (DLR) |
| display_string() |
| - Instead of using parse_mbchar()'s bad_chr parameter, use |
| mbrep() to get the representation of a bad character. (DLR) |
| - If column is less than start_col and the character's a tab, |
| which can be possible if there are enough tabs and the |
| terminal size is sufficiently large, don't try to display it |
| using control_mbrep(). (DLR, found by Duncan Geoffry Doyle) |
| - Really avoid a memory corruption problem by allocating enough |
| space for COLS characters. (DLR) |
| edit_redraw(), edit_refresh() |
| - Clean up and simplify. (DLR) |
| edit_update() |
| - Since we no longer use TOP, remove references to it. Also, |
| don't call edit_refresh() anymore; it will call us. (DLR) |
| do_statusbar_next_word() |
| - Rework to be more like do_statusbar_prev_word(), to avoid a |
| potential problem if we start at the end of a line. (DLR) |
| do_statusbar_input() |
| - Call do_statusbar_mouse() instead of do_mouse(). (DLR) |
| do_statusbar_output() |
| - When adding a character, just add its length in bytes to |
| statusbar_x instead of calling do_statusbar_right(). (DLR) |
| titlebar() |
| - Rework to display only one space after the version number, so |
| that there's more room for other things, and to not display |
| the status when we're in the file browser, since Pico doesn't. |
| (DLR) |
| do_credits() |
| - Various cleanups. Turn on the MORE_SPACE and NO_HELP flags |
| before showing the credits, so that they use as much of the |
| screen as possible, and set the flags back to their original |
| values afterward. Also, call wscrl(1) instead of scroll(), |
| only call scrollok() just before and after we scroll, and |
| tweak where screen updates occur so that messages are properly |
| displayed when they first scroll onto the bottom line of the |
| screen. (DLR) |
| - Add Mike Frysinger to credits. (DLR) |
| - configure.ac: |
| - Since we only use vsnprintf() now, remove the tests for |
| snprintf(). (DLR) |
| - Change the description of "sufficient wide character support" |
| to "sufficient UTF-8 support", as the latter is clearer. (DLR) |
| - Update the description of the ENABLE_COLOR option to mention |
| the need for regex.h. (DLR) |
| - doc/faq.html: |
| - Update section 4.10 to mention that pasting from the X |
| clipboard via the middle mouse button also works when the |
| Shift key is used. (DLR) |
| - doc/nanorc.sample: |
| - Add regexes for Bourne shell scripts. (Mike Frysinger, minor |
| tweaks by DLR) |
| - Explain how the "none" and "default" syntaxes work. (DLR) |
| - Tweaks and additions to the "c-file" regexes: handle #defined |
| constants more accurately and use a brighter color for them, |
| support C99 standard integer types, support more GCC builtins, |
| and color code flow control statements differently. (Mike |
| Frysinger) DLR: Slightly simplify the integer types regex. |
| - Tweak one "TeX" regex to use the "icolor" directive. (DLR) |
| - doc/man/nanorc.5: |
| - Explain how the "none" and "default" syntaxes work. (DLR) |
| - doc/man/fr/nano.1, doc/man/fr/nanorc.5: |
| - Updated translation by Jean-Philippe Guérard. |
| - src/Makefile.am: |
| - Add text.c to nano_SOURCES. (DLR) |
| - AUTHORS: |
| - Add Mike Frysinger. (DLR) |
| - README.CVS: |
| - Since we only use vsnprintf() now, remove the mention of |
| snprintf(). (DLR) |
| - THANKS: |
| - Add Bulgarian and Dutch translators. |
| |
| GNU nano 1.3.8 - 2005.06.30 |
| - General: |
| - Miscellaneous comment fixes. (DLR) |
| - Various #include fixes. Since proto.h includes nano.h, only |
| include the former in source files. Also add an #include |
| guard to proto.h, and make the config.h #include in nano.h |
| match the config.h #includes everywhere else. (DLR) |
| - Change all hardcoded instances of 128 bytes to MAX_BUF_SIZE, |
| and #define MAX_BUF_SIZE as 128 in nano.h. (DLR) |
| - Display the key to go to the previous strings in the |
| search/replace history as "^P" instead of "Up". This makes |
| mouse clicks work properly on it. Changes to shortcut_init(), |
| help_init(), nanogetstr(), and do_statusbar_input(). (DLR) |
| - Update the Free Software Foundation's mailing address in |
| various comments. (DLR) |
| - Add the ability to open a file on a specified column as well |
| as a specified line, by allowing an argument of the form |
| +LINE,COLUMN. New function parse_line_column(); changes to |
| shortcut_init(), main(), do_gotoline() (renamed |
| do_gotolinecolumn()), do_gotoline_void() (renamed |
| do_gotolinecolumn_void()), nano.1, and nano.texi. (DLR, |
| suggested by PFTank) |
| - Overhaul the history code to work more consistently, and clean |
| up various parts of it. New function history_has_changed(); |
| changes to load_history(), writehist(), |
| thanks_for_all_the_fish(), history_init(), find_node() |
| (renamed find_history()), update_history(), |
| get_history_older(), get_history_newer(), |
| get_history_completion(), do_search(), do_replace(), |
| nanogetstr(), and statusq(); removal of remove_node() and |
| insert_node(). (DLR) |
| - Remove all instances of charcpy() and replace them with |
| strncpy(), since there's no way to be sure that a charcpy()ed |
| string will always be properly null-terminated, and strcpy()'s |
| null termination is the only difference between it and |
| charcpy(). (DLR) |
| - When using a backup directory, make sure all the filenames |
| written are unique by using get_next_filename() when |
| necessary. Changes to get_next_filename(), write_file(), |
| die(), usage(), nano.1, nanorc.5, nanorc.sample, and |
| nano.texi. (DLR, suggested by James Collings) |
| - Rework the file-writing routines so that they can work |
| properly with already-opened files, such as the |
| mkstemp()-created files used by the spell-checking code. |
| Changes to safe_tempnam() (renamed safe_tempfile()), |
| write_file(), write_marked(), die(), do_spell(), and |
| do_exit(). (DLR) |
| - Remove the -R/--regexp command line option and enable the |
| toggle at the search prompt in tiny mode, as it already |
| allows the prepend and append toggles at the search prompt. |
| For consistency, rename TOGGLE_REGEXP_KEY to NANO_REGEXP_KEY, |
| and move it out of the toggles block to where NANO_PREPEND_KEY |
| and NANO_APPEND_KEY are. Also, change the short command line |
| option for --restricted from -Z to -R. Changes to |
| shortcut_init(), usage(), main(), search_init(), nano.1, |
| nano.texi, etc. (DLR) |
| - Various cleanups and improvements in chars.c. Remove some |
| unnecessary w?ctype wrappers and variables; change the wctype |
| wrappers to take wint_t instead of wchar_t to match the |
| functions they wrap; rename some functions for consistency; |
| add functions to detect blank characters in a string, for use |
| in rcfile option parsing; and don't count matches between |
| valid and invalid multibyte sequences anymore, as it causes |
| problems when doing a replace. New functions |
| is_valid_mbstring(), has_blank_chars(), and |
| has_blank_mbchars(); changes to is_alnum_mbchar(), |
| is_blank_char() (renamed nisblank()), is_blank_mbchar(), |
| is_blank_wchar() (renamed niswblank()), is_cntrl_wchar(), |
| control_rep(), control_mbrep(), make_mbstring() (renamed |
| make_valid_mbstring()), mbstrncasecmp(), mbstrcasestr(), |
| mbrevstrcasestr(), etc.; removal of is_alnum_char() and |
| is_alnum_wchar(). (DLR) |
| - Implement word count via Meta-D at the main window. Note that |
| this is disabled when NANO_SMALL is defined. Also, convert |
| all word detection functions to use the same wrapper function |
| for ease of maintenance, and make them return more |
| information. New functions is_punct_mbchar(), |
| is_word_mbchar(), do_next_word_void(), do_prev_word_void(), |
| and do_word_count(); changes to shortcut_init(), |
| do_next_word(), do_prev_word(), is_whole_word(), |
| do_statusbar_next_word(), and do_statusbar_prev_word(). (DLR) |
| - Fix #ifdefs so that nano compiles with NANO_SMALL defined and |
| DISABLE_TABCOMP undefined. Changes to revstrstr() and |
| free_charptrarray() (renamed free_chararray()). (DLR) |
| - Change the wctype wrappers to take wchar_t's again, as they |
| still work the same way with them. This also fixes |
| compilation on Mac OS X 10.4.1, which doesn't seem to define a |
| wint_t type. (DLR, found by Emily Jackson) |
| - Add the ability to convert typed tabs to spaces using |
| the -E/--tabstospaces command line options, the "tabstospaces" |
| rcfile option, and the toggle Meta-Q (since QBasic did this by |
| default :)). Note that this doesn't affect tabs entered using |
| verbatim input, and that it's disabled when NANO_SMALL is |
| defined. Also, change the short command line option for |
| --backupdir from -E to -C. Changes to toggle_init(), usage(), |
| do_tab(), main(), nanorc.sample, nano.1, nanorc.5, and |
| nano.texi. (DLR, suggested by many people) |
| - Change the CONSTUPDATE, REVERSE_SEARCH, and SMOOTHSCROLL flags |
| to the CONST_UPDATE, BACKWARDS_SEARCH, and SMOOTH_SCROLL |
| flags, respectively. (DLR) |
| - Change the SMOOTHSCROLL flag to the SMOOTH_SCROLL flag. (DLR) |
| - Change the NO_UTF8 flag to the USE_UTF8 flag, and reverse its |
| meaning. (DLR) |
| - Add rcfile options "casesensitive" and "backwards", to do |
| case sensitive and backwards searches by default. Changes to |
| nanorc.sample and nanorc.5. (DLR) |
| - Since the DISABLE_CURPOS flag is only used in winio.c, reduce |
| it to a static bool there. Changes to statusbar() and |
| disable_cursorpos(). (DLR) |
| - Add -U/--quickblank option and a "quickblank" rcfile option to |
| blank the statusbar after 1 keystroke instead of 25. Note |
| that this obviously has no effect when constant cursor |
| position display is turned on, and that this is disabled when |
| NANO_SMALL is defined. Changes to usage(), main(), |
| statusbar(), nanorc.sample, nano.1, and nanorc.5. (DLR, |
| suggested by CHAO Wei-Lun) |
| - Add support for case insensitive expression matching when |
| using color syntax highlighting, via the "icolor" directive, |
| and add it to those regexes that can use it. Changes to |
| parse_colors(), parse_rcfile(), nanorc.sample, and nanorc.5. |
| (Brand Huntsman, minor tweaks by DLR) |
| - Add various type changes to avoid problems on systems where |
| int and ssize_t are different sizes. Make filestruct->lineno |
| a ssize_t (so that we can avoid negative line numbers at the |
| "Go To Line" prompt), current_y a ssize_t (in order to hold |
| the maximum difference between two filestruct->lineno's), |
| totlines a size_t, and change related variables to match. |
| (DLR, initial problem with parse_line_column() found by Mike |
| Frysinger) |
| - Rework the credits handling to display Florian König's name |
| properly whether we're in a UTF-8 locale or not, and without |
| requiring a massive function that we only use once. Changes |
| to do_credits(); removal of make_valid_mbstring(). (DLR) |
| - chars.c: |
| make_mbstring() |
| - Change erroneous ENABLE_EXTRA #ifdef to NANO_EXTRA to fix a |
| compilation problem when --enable-nanorc isn't used and |
| --enable-extra is. (DLR) |
| - color.c: |
| update_color() |
| - Use mbstrcasecmp() instead of strcasecmp(), so that UTF-8 |
| color syntax names are properly detected. (DLR) |
| - cut.c: |
| cut_line() |
| - Set placewewant properly after cutting a line, to avoid a |
| problem where the screen won't be updated if (a) we're not on |
| the first page when we cut the line, and (b) immediately after |
| we cut the line, we hit End to move to the end of the line |
| after it. (DLR) |
| - files.c: |
| read_line() |
| - Rename variable prev to prevnode to avoid confusion. (DLR) |
| - Rename variable len to buf_len, for consistency. (DLR) |
| load_open_file() |
| - Remove an unneeded clearok(FALSE). (DLR) |
| get_next_filename() |
| - Use an unsigned long instead of an int for the number |
| prepended to the filename. (DLR) |
| do_insertfile() |
| - Set i to 0 when we get a filename via the file browser, so |
| that it's read in properly when we exit the file browser. |
| (DLR) |
| open_prevnext_file() |
| - Move up a misplaced assert. (DLR) |
| - Rename variable next to next_file, to avoid confusion. (DLR) |
| write_file() |
| - Since lineswritten is a size_t, print its value as an unsigned |
| long instead of an unsigned int. (DLR) |
| - Declare the size_t i only in the loop where it's used. (DLR) |
| diralphasort() |
| - Use mbstrcasecmp() instead of strcasecmp(), so that UTF-8 |
| filenames are sorted properly. (DLR) |
| cwd_tab_completion(), browser_init() |
| - Rename variable next to nextdir to avoid confusion. (DLR) |
| input_tab() |
| - Since list is a bool, set it to FALSE instead of 0. (DLR) |
| - Add multibyte/wide character support, so that we don't end up |
| with a string that contains only part of a multibyte |
| character during tab completion. (DLR) |
| - Rename variable buflen to buf_len, for consistency. (DLR) |
| do_browser() |
| - Don't treat NANO_CANCEL_KEY as NANO_EXIT_KEY anymore, for |
| consistency. (DLR) |
| - When displaying "(dir)" in the available screen space, make |
| sure that the string it's stored in is always null-terminated. |
| (DLR) |
| - Rename variable selectedbackup to old_selected, for |
| consistency. (DLR) |
| - Make mouse clicks in the browser window work properly when the |
| MORE_SPACE flag is set. (DLR) |
| - Make foo_len a size_t instead of an int. (DLR) |
| save_history() |
| - Properly save history when we're in view mode. (DLR) |
| - global.c: |
| shortcut_init() |
| - Move the "Refresh" and "Exit" shortcuts to the beginning of |
| the help browser shortcut list, for consistency. (DLR) |
| - Remove unnecessary "Refresh" placeholder in the file browser |
| shortcut list. (DLR) |
| - Allow the mark to be used in view mode, as Pico does. (DLR) |
| - Clarify the description of ^X when --enable-multibuffer is |
| used. (DLR) |
| - Change the description of the Meta-B toggle at the search |
| prompt from "Direction" to "Backwards", for consistency. (DLR) |
| toggle_init() |
| - Clarify the descriptions of M-C and M-L. (DLR) |
| - Reorder the toggles to put more toggles with similar functions |
| together. (DLR) |
| thanks_for_all_the_fish() |
| - Remove free_toggles() and move its code here verbatim, as it's |
| only called here anyway. (David Benbennick) |
| - Fix the code to free all open file buffers to work properly |
| with the previous overhaul of the multibuffer code instead of |
| going into an infinite loop. (David Benbennick) |
| - Add additional checks for variables' not being NULL before we |
| try to free them, to avoid assertion failures. (DLR) |
| - nano.c: |
| die() |
| - Rename variable ret to retval for consistency. (DLR) |
| - Tweak the message displayed when a backup file can't be |
| written, so as to not duplicate a translated string. (DLR) |
| - If the current filestruct's been partitioned, unpartition it |
| before saving the associated file. (DLR) |
| resize_variables() |
| - Use charset() instead of memset() to initialize hblank. (DLR) |
| copy_filestruct() |
| - Rename variable prev to copy to avoid confusion. (DLR) |
| print1opt_full() |
| - If desc should be empty, allow it to be NULL instead of |
| "", since the latter is not necessarily translated as "". |
| (DLR, found by Jordi) |
| usage() |
| - Add missing N_() around one message, so that it isn't |
| erroneously translated twice. (DLR) |
| - Remove inaccurate default listed for -Q/--quotestr. (DLR) |
| version() |
| - Add --enable-utf8 to the displayed compilation options, put |
| the options in alphabetical order, and handle --enable-tiny |
| the same way as all the other options. (DLR) |
| do_tab() |
| - Remove unneeded variable kbinput. (DLR) |
| do_int_spell_fix() |
| - Display highlighted misspelled words using display_string(), |
| as do_replace_loop() does. (DLR) |
| do_alt_speller() |
| - Replace a set_modified() with SET(MODIFIED) to avoid an |
| unnecessary update, and remove an unneeded clearok(FALSE). |
| (DLR) |
| - Move the spell checking error handling block down and refactor |
| it so that we go back into curses mode, reinitialize the |
| terminal, turn the cursor back on, and turn the mark back on |
| if necessary before returning the error message. (DLR) |
| do_spell() |
| - If the spell-checker printed any error messages onscreen, call |
| total_refresh() to make sure they're cleared off. (DLR, found |
| by CHAO Wei-Lun) |
| find_paragraph() |
| - Reset placewewant as well as current_x to 0, in order to avoid |
| a potential screen update problem. (DLR) |
| do_justify() |
| - Save placewewant, and restore it if we unjustify, in order to |
| avoid a potential screen update problem. (DLR) |
| do_output() |
| - Properly allow wrapping when we insert a tab, for consistency. |
| (DLR) |
| - Don't set current_len until after it's been asserted that both |
| current and current->data aren't NULL. (DLR) |
| do_toggle() |
| - Properly treat color syntax highlighting as enabled by |
| default, and only treat wrapping as enabled by default when |
| DISABLE_WRAPPING isn't defined. (DLR) |
| disable_extended_input() |
| - Disable extended output processing as well as extended input |
| processing, and rename to disable_extended_io(). (DLR) |
| disable_flow_control(), enable_flow_control() |
| - Only turn off flow control on output, as it might be needed |
| for input on slow terminals. (DLR) |
| - nano.h: |
| - Add macro charset(), a wrapper that calls memset(). (DLR) |
| - Readd #defines for the isblank() and iswblank() equivalents. |
| (DLR) |
| - In the colortype struct, make bright a bool instead of an int, |
| for consistency. (DLR) |
| - proto.h: |
| - Add missing NANO_SMALL and HAVE_REGEX_H #ifdefs around the |
| do_find_bracket() prototype. (DLR) |
| - rcfile.c: |
| color_to_int() |
| - Since colorname's being NULL is handled elsewhere now, assert |
| that it isn't NULL at the beginning of the function. (DLR) |
| parse_colors() |
| - Properly parse a background color without a foreground color. |
| (DLR) |
| - Properly generate an error if we get a color directive without |
| a regex string. (DLR) |
| parse_rcfile() |
| - Properly generate an error if we get an invalid multibyte |
| string for an option, instead of working around it. (DLR) |
| - Use has_blank_mbchars() to check for blank characters in the |
| "punct" and "brackets" options, and clarify the error message |
| displayed when we find blank characters. (DLR) |
| - search.c: |
| do_gotoline() |
| - Properly show an error message if we try to go to line 0, |
| since the first line in the file is 1. (DLR) |
| - Start the search for a line from fileage instead of current |
| (again). (DLR) |
| replace_regexp() |
| - Rename variables create_flag and new_size to create and |
| new_line_size, for consistency. (DLR) |
| - Make new_line_size, search_match_count, and i size_t's, for |
| consistency. (DLR) |
| replace_line() |
| - Make new_line_size and search_match_count size_t's, for |
| consistency. (DLR) |
| do_replace_loop() |
| - When moving to the next match, update the screen using |
| edit_refresh() instead of edit_redraw(), as the latter won't |
| work properly when we've replaced one or more instances of a |
| string in copy and haven't yet updated current->data to match |
| copy. (DLR) |
| do_find_bracket() |
| - Miscellaneous cleanups: rename variables for consistency, and |
| save the search direction and regexp setting in two bools |
| instead of one flags variable. (DLR) |
| - utils.c: |
| num_of_digits() |
| - Use a size_t instead of an int, and rename to digits(). (DLR) |
| align() |
| - Rename variable strp to str for consistency. (DLR) |
| - winio.c: |
| do_statusbar_output() |
| - Don't set answer_len until after it's been asserted that |
| answer isn't NULL. (DLR) |
| display_string() |
| - Avoid a memory corruption problem by allocating enough space |
| for len plus a trailing multibyte character and/or tab. (DLR) |
| - Don't check for multicolumn characters if the NO_UTF8 flag |
| isn't set. (DLR) |
| - Free buf_mb when we're done using it. (DLR) |
| nanogetstr() |
| - Rename variable def to curranswer to avoid confusion. (DLR) |
| - Only declare and use the tabbed variable if DISABLE_TABCOMP |
| isn't defined. (DLR) |
| - Refactor to replace unnecessary variable answer_len with |
| curranswer_len, and hence avoid an assertion failure involving |
| the former. (DLR) |
| statusq() |
| - Rename variable which_history to history_list, for |
| consistency. (DLR) |
| - Rename variables def and ret to curranswer and retval to avoid |
| confusion. (DLR) |
| - Call wnoutrefresh(bottomwin) after getting an answer and |
| blanking out the statusbar, to make sure that the blanking is |
| done. This fixes a problem where the statusbar is not |
| properly blanked after using the "Go To Line" prompt with the |
| NO_HELP flag set. (DLR) |
| titlebar() |
| - Use actual_x() to calculate the number of characters VERMSG |
| takes up, in case it's UTF-8. (DLR) |
| do_cursorpos() |
| - Properly display the value of totsize as unsigned. (DLR) |
| - If constant is TRUE, only display the cursor position when |
| disable_cursorpos is FALSE. Don't refuse to display it when |
| the cursor position hasn't changed, as that doesn't always |
| keep it properly updated. (DLR, found by Mike Frysinger) |
| do_help() |
| - Don't treat NANO_CANCEL_KEY as NANO_EXIT_KEY anymore, for |
| consistency. (DLR) |
| statusbar() |
| - Set statusblank to 25 instead of 26, to match current Pico. |
| (DLR) |
| edit_redraw() |
| - Make do_refresh a bool instead of an int. (DLR) |
| do_yesno() |
| - Allow refreshing the screen via Ctrl-L, as Pico does. (DLR) |
| - Add a missing assert, and use actual_x() to calculate the |
| number of characters buf takes up, in case it's UTF-8. (DLR) |
| - Get input from bottomwin instead of edit, so that the cursor |
| isn't erroneously put in the edit window while we wait for an |
| answer. (DLR) |
| - Call wnoutrefresh(edit) to make sure that the edit window is |
| refreshed before we get input, as statusq() does. (DLR) |
| total_redraw() |
| - Simplify to just call wrefresh() on curscr, which updates the |
| entire screen in one function call without moving the cursor |
| from the window it's currently in. (DLR) |
| - When using slang, use SLsmg_touch_screen() and SLsmg_refresh() |
| to update the screen, as slang doesn't define curscr. (DLR) |
| do_replace_highlight() |
| - Use waddch() instead of waddstr() to display a space when we |
| have a zero-length regex. (DLR) |
| - Rename variable highlight_flag to highlight, for consistency. |
| (DLR) |
| do_credits() |
| - Save the keystroke that breaks us out of the credits (if any) |
| and put it back so that it isn't lost. This is especially |
| needed if the keystroke is part of a multibyte character. |
| (DLR) |
| - nano.1: |
| - Clarify and consolidate the descriptions of --fill and |
| --tabsize. (DLR) |
| - nanorc.5: |
| - Update the description of how the "color" regex works. (DLR) |
| - Clarify descriptions of the characters that aren't allowed |
| in the "punct" or "brackets" options. (DLR) |
| - Use .B instead of \fB ... \fP where possible, as nano.1 does. |
| (DLR) |
| - Clarify and consolidate the descriptions of "fill" and |
| "tabsize". (DLR) |
| - nano.texi: |
| - Update the "Feature Toggles" section to match current nano. |
| (DLR) |
| - Clarify and consolidate the descriptions of --fill and |
| --tabsize. (DLR) |
| - configure.ac: |
| - Minor tweaks to some of the test blocks to avoid XSI:isms. |
| (DLR, adapted from a Debian patch for GNU ed by David |
| Weinehall) |
| - Don't refer to the built-in file browser as crappy anymore. |
| (DLR) |
| - Check for iswpunct() and mbstowcs(). (DLR) |
| - Change the behavior of --enable-extra to only define |
| NANO_EXTRA, instead of defining both it and |
| ENABLE_MULTIBUFFER. (DLR) |
| - Check for get_wch() instead of wget_wch() to determine if |
| there's a wide curses library, as it's a more generic |
| function. (DLR) |
| - Check for possibly unavailable functions in alphabetical |
| order. (DLR) |
| - doc/faq.html: |
| - Update section 1.1 to mention the current maintainer. (DLR) |
| - Minor capitalization and wording fixes. (DLR) |
| - Update description of --enable-extra, and add missing line |
| breaks. (DLR) |
| - doc/nanorc.sample: |
| - In the "nanorc" regexes, tweak the "color" regex to properly |
| color a line that specifies a background color without a |
| foreground color, and update the associated comments. (DLR) |
| - Clarify descriptions of the characters that aren't allowed |
| in the "punct" or "brackets" options. (DLR) |
| - Update comment referring to --enable-extra. (DLR) |
| - Add "cxx" and "hxx" to the list of extensions that the |
| "c-file" regexes apply to, and add "warning" and "error" to |
| them as well. (Mike Frysinger) |
| - Add regexes for assembler files. (Mike Frysinger) |
| - In the preprocessor directives regex string in the "c-file" |
| regexes, cover more whitespace characters than just " " by |
| using "[[:space:]]" instead. (Mike Frysinger) DLR: Extend |
| this to other regex strings whenever possible. |
| - Move some overly long split-up regex strings that cover |
| similar areas onto the same line. (DLR) |
| - Add GCC builtins to the "c-file" regexes. (Mike Frysinger) |
| - Simplify the file extension regex for groff. (DLR) |
| - Clarify and consolidate the descriptions of "fill" and |
| "tabsize". (DLR) |
| - Makefile.am, m4/Makefile.am: |
| - Make sure that the files in EXTRA_DIST are in alphabetical |
| order, and that the lines are wrapped at 72 characters. (DLR) |
| - doc/man/fr/Makefile.am: |
| - Set mandir to @mandir@/fr, so French manpages get installed |
| where they belong (Jordi). |
| - THANKS: |
| - Add new translators to the credits. |
| |
| GNU nano 1.3.7 - 2005.04.10 |
| - General: |
| - Miscellaneous comment fixes. (DLR) |
| - After (re)initializing the terminal, make sure the cursor is |
| always turned on. Changes to do_alt_speller(), |
| handle_sigwinch(), and main(). (DLR) |
| - Make sure that all references to cut-to-end are left out when |
| NANO_SMALL is defined. Changes to cut_to_eol(), |
| do_cut_text(), and do_statusbar_cut_text(). (DLR) |
| - chars.c: |
| make_mbchar() |
| - Remove unneeded assert. (DLR) |
| move_mbleft() |
| - Fix assert to reference the proper variable, so that nano |
| builds with DEBUG defined again. (Mike Frysinger, found by |
| Dmitri Vassilenko) |
| - files.c: |
| do_insertfile() |
| - Fix problem where going into the help browser at the "Insert |
| File" prompt would always result in the current answer's being |
| used as the filename afterward. (DLR) |
| get_full_path() |
| - Rework handling of the results of getcwd() in order to avoid |
| segfaults if they fail, and to remove uses of the nonportable |
| GNU extension where passing a size of 0 will get a string as |
| long as we need. (DLR) |
| do_browser() |
| - Rename variable lineno to fileline to avoid confusion. (DLR) |
| do_browse_from() |
| - Rework handling of the results of getcwd() in order to avoid |
| segfaults if they fail, and to remove uses of the nonportable |
| GNU extension where passing a size of 0 will get a string as |
| long as we need. (DLR) |
| - nano.c: |
| help_init() |
| - When calculating allocsize, take multibyte characters into |
| account, and keep the column number limits consistent. (DLR) |
| - Break htx up into three chunks, in case the string is too long |
| for the compiler to handle (e.g. an ISO C89 compiler that can |
| only handle up to 509 characters). (DLR) |
| - Minor wording fixes. (DLR) |
| print1opt() |
| - Don't include longflag if HAVE_GETOPT_LONG isn't defined. |
| Rename this function to print1opt_full(), leave out the |
| longflag parameter if HAVE_GETOPT_LONG isn't defined, and make |
| print1opt() a macro for print1opt_full() that does that |
| without the need for a lot of extra #ifdefs. (David |
| Benbennick) DLR: Rename print1opt_f() to print1opt_full(). |
| - Rework the special case of options that are ignored for Pico |
| compatibility so that they display more neatly when |
| HAVE_GETOPT_LONG isn't defined. (DLR) |
| usage() |
| - Fix erroneous #ifdef that resulted in the -d/--rebinddelete |
| option's not being printed when NANO_SMALL was defined. (DLR) |
| find_paragraph() |
| - Fix problem where a search for the next paragraph would skip |
| over certain cases of one-line paragraphs. (DLR) |
| do_justify() |
| - Instead of breaking a line at a space and readding the space |
| afterwards, just break the line after the space, as it's more |
| efficient. (DLR) |
| main() |
| - Change 0 to NULL in the option struct where needed. (David |
| Benbennick) |
| - nano.h: |
| - Define PATH_MAX as 4096 if it isn't defined, as passing a size |
| of 0 to get a string as long as we need is a nonportable GNU |
| extension, and hence it won't work on non-GNU systems that |
| don't define PATH_MAX. (DLR) |
| - rcfile.c: |
| parse_rcfile() |
| - Fix debugging message to display the long value of a flag |
| properly. (DLR) |
| - utils.c: |
| regexec_safe() |
| - Rename to safe_regexec() for consistency. (DLR) |
| - winio.c: |
| nanogetstr() |
| - Fix misplaced break. (DLR) |
| statusq() |
| - Make sure that the vsnprintf(foo) call and foo's subsequent |
| null termination both take the proper number of bytes when |
| using multibyte characters, so that multibyte prompt strings |
| aren't prematurely cut off. (DLR) |
| titlebar() |
| - Make sure that the (mv)?waddnstr() calls take the proper |
| number of bytes when using multibyte characters, so that |
| multibyte strings aren't prematurely cut off. (DLR, found by |
| Jordi) |
| - Allow the "View" state to be displayed when a filename is |
| passed in, in case we're in multibuffer mode and inside the |
| file browser. (DLR) |
| help_line_len() |
| - Make the text display more flexible, and closer to what nano |
| 1.2.x does. (DLR) |
| - configure.ac: |
| - Allow more flexible handling of UTF-8 support by allowing |
| the --enable-utf8 and --disable-utf8 options. (Mike |
| Frysinger) DLR: Extend these options to work with slang as |
| well as curses, consolidate the warning and error messages |
| dealing with UTF-8 support as much as possible, and add a few |
| minor consistency fixes. |
| - Mention explicitly that the check for the broken regexec() is |
| needed for glibc 2.2.3. (DLR) |
| - nanorc.sample: |
| - Fix the description for the whitespace option to mention that |
| only single-column characters are allowed. (DLR) |
| - Add C++ regexes. (Neil Brown, merged into c-file regexes by |
| DLR) |
| - Break up overly long perl and nanorc regexes into separate |
| regexes of no more than 256 bytes, as POSIX-compliant regexp |
| implementations can reject regexes of over 256 bytes. (DLR) |
| - nano.1, nano.texi: |
| - Mention the -? alias for -h/--help, and add various |
| consistency fixes. (DLR) |
| - nanorc.5: |
| - Fix the description for the whitespace option to mention that |
| only single-column characters are allowed. (DLR) |
| |
| GNU nano 1.3.6 - 2005.03.20 |
| - General: |
| - More int -> bool conversions. (DLR and David Benbennick) |
| - Overhaul the cutting and uncutting routines to use the |
| partitioning code, as it greatly simplifies how they work. |
| New functions move_to_filestruct(), copy_from_filestruct(), |
| cut_line(), cut_marked(), and cut_to_eol(); changes to |
| add_to_cutbuffer(), do_cut_text(), do_uncut_text(), etc.; |
| removal of functions get_cutbottom(), add_to_cutbuffer(), and |
| cut_marked_segment(). (DLR) |
| - Overhaul the justify-related routines to back up and restore |
| unjustified text to use the partitioning code, as it greatly |
| simplifies how they work, and to store such text in its own |
| buffer rather than the cutbuffer. Changes to backup_lines(), |
| do_justify(), etc. (DLR) |
| - Overhaul the multibuffer routines to increase efficiency, most |
| importantly making them use a doubly linked list for the open |
| files so that switching between them is no longer O(N), and |
| only including free_openfilestruct() when --enable-debug is |
| used. Also use some of the same efficiency tweaks when |
| dealing with filestruct nodes. New function |
| open_prevnext_file(); changes to make_new_opennode(), |
| splice_opennode(), unlink_opennode(), delete_opennode(), |
| free_openfilestruct(), add_open_file(), load_open_file(), |
| close_open_file(), shortcut_init(), die(), make_new_node(), |
| copy_node(), splice_node(), delete_node(), and |
| free_filestruct(); removal of open_prevfile() and |
| open_nextfile(). (David Benbennick, minor tweaks and additions |
| by DLR) |
| - Change references to "open files" to "open file buffers", for |
| consistency. (DLR) |
| - Add flag to disable UTF-8 sequence interpretation, so that |
| people using single-byte encodings such as KOI8-R can type |
| properly again. (DLR, found by Arthur Ivanov) |
| - Massively overhaul the input and output routines to support |
| buffered input and output, the first steps toward |
| wide/multibyte character input and output, and verbatim input |
| of double-byte Unicode characters instead of single-byte ASCII |
| characters. New functions is_byte(), get_buffer(), |
| get_buffer_len(), buffer_to_keys(), unget_input(), |
| get_input(), parse_kbinput(), and parse_verbatim_kbinput(); |
| new macro charcpy(); changes to do_char() (renamed to |
| do_output()), get_edit_input() (renamed to do_input() and |
| moved to nano.c), get_edit_mouse() (renamed do_mouse() and |
| moved to nano.c), do_verbatim_input(), do_tab(), main(), and |
| get_ascii_kbinput() (renamed to get_byte_kbinput()). The wide |
| version of ncurses is required in order for wide/multibyte |
| input and output to work properly. (DLR; buffered input/output |
| based on ideas from mutt 1.4.2.1; input of Unicode characters |
| in hexadecimal suggested by Michael Piefel) |
| - More steps toward wide character/multibyte character support. |
| New functions control_rep(), parse_char(), move_left(), and |
| move_right(); changes to do_left(), do_right(), do_delete(), |
| breakable(), break_line(), do_output(), get_buffer(), |
| unget_input(), actual_x(), strnlenpt(), display_string(), |
| titlebar(), statusbar(), onekey(), edit_add(), |
| do_replace_highlight(), and do_credits(). (David Benbennick |
| and DLR) |
| - Overhaul the high-level input routines for the statusbar to |
| make them read the shortcut lists for functions instead of |
| manually running them, to make nanogetstr() less complex, and |
| to increase flexibility. Note that currshortcut is now used |
| regardless of #ifdefs, and that cutting text at the statusbar |
| now respects the CUT_TO_END flag. Changes to shortcut_init() |
| and nanogetstr(); new functions do_statusbar_input(), |
| do_statusbar_mouse(), do_statusbar_home(), do_statusbar_end(), |
| do_statusbar_right(), do_statusbar_left(), |
| do_statusbar_backspace(), do_statusbar_delete(), |
| do_statusbar_cut_text(), and do_statusbar_output(). (DLR) |
| - Even more steps toward wide character/multibyte character |
| support. Movement and cursor display at the statusbar prompt |
| should now (mostly) work properly with a string containing |
| multibyte characters, and text display of such strings should |
| now (mostly) work properly as well. Changes to search_init(), |
| nanoget_repaint(), do_statusbar_right(), do_statusbar_left(), |
| do_statusbar_backspace(), and do_statusbar_delete(). (David |
| Benbennick and DLR) |
| - Implement cutting from the current position to the end of the |
| file, using Ctrl-X from the search prompt and Meta-T from the |
| edit window. New function do_cut_till_end(). Note that this |
| is disabled when NANO_SMALL is defined. (DLR, based on ideas |
| from a patch for Pico by Eduardo Chappa, suggested by Ryan |
| Dlugosz and Paul Adams) |
| - Implement verbatim input for the statusbar prompt. Changes to |
| do_statusbar_input() and do_statusbar_output(); new functions |
| keys_to_buffer(), unparse_kbinput(), and |
| do_statusbar_verbatim_input(). (DLR) |
| - Yet more steps toward full wide character/multibyte character |
| support. Overhaul the functions that already have support for |
| them to work with multibyte strings as much as possible, add |
| support to a few more functions as well, and move multibyte |
| character-specific functions to their own source file. New |
| file chars.c; new functions is_alnum_char(), |
| is_alnum_mbchar(), is_alnum_wchar(), is_blank_mbchar(), |
| is_blank_wchar(), is_cntrl_mbchar(), is_cntrl_wchar(), |
| control_mbrep(), control_wrep(), mbwidth(), mb_cur_max(), |
| make_mbchar(), mbstrlen(), mbstrnlen(), mbstrcasecmp(), |
| mbstrncasecmp(), mbstrcasestr(), and mbrevstrcasestr(); |
| changes to help_init(), do_wrap(), break_line(), is_byte() |
| (moved to chars.c), is_blank_char() (moved to chars.c), |
| is_cntrl_char() (moved to chars.c), nstricmp() (renamed |
| nstrcasecmp() and moved to chars.c), nstrnicmp() (renamed |
| nstrncasecmp() and moved to chars.c), nstristr() (renamed |
| nstrcasestr() and moved to chars.c), revstrstr() (moved to |
| chars.c), revstristr() (renamed revstrcasestr() and moved to |
| chars.c), nstrnlen() (moved to chars.c), parse_char() (renamed |
| parse_mbchar() and moved to chars.c), move_left() (renamed |
| move_mbleft() and moved to chars.c), move_right() (renamed |
| move_mbright() and moved to chars.c), do_home(), |
| do_verbatim_input(), do_delete(), do_tab(), do_enter(), |
| indent_length(), do_next_word(), do_prev_word(), do_wrap(), |
| do_input(), do_output(), is_whole_word(), strstrwrapper(), |
| get_buffer(), unget_input(), unget_kbinput(), get_input(), |
| parse_kbinput(), unparse_kbinput(), parse_verbatim_kbinput(), |
| do_statusbar_input(), do_statusbar_home(), |
| do_statusbar_verbatim_kbinput(), do_statusbar_output(), |
| do_help(), help_line_len(), and display_string(); removal of |
| buffer_to_keys() and keys_to_buffer(). (DLR) |
| - Add -O/--morespace command line option, plus a corresponding |
| Meta-O toggle and a "morespace" rcfile option. When these are |
| used, the normally-unused blank line below the titlebar will |
| be treated as part of the edit window. New functions |
| no_more_space() and blank_topbar(); changes to global_init(), |
| window_init(), handle_sigwinch(), do_toggle(), do_mouse(), |
| get_mouseinput(), etc. (DLR; suggested by Mike Frysinger, |
| Rocco, and Robert Schultz) |
| - Add support for moving to the next or previous word at the |
| statusbar prompt. New functions do_statusbar_next_word() and |
| do_statusbar_prev_word(); changes to do_statusbar_input(). |
| (DLR) |
| - Make resizing more flexible. We now can work with as few as |
| one row, and with no limit on the number of columns (except of |
| course the curses-imposed limit that it be greater than zero). |
| New function resize_variables(); changes to die_too_small() |
| (renamed check_die_too_small()), global_init(), window_init(), |
| and handle_sigwinch(). (David Benbennick) |
| - Use void instead of RETSIGTYPE, as signal handlers are |
| supposed to return void anyway. Also, the value of RETSIGTYPE |
| is sometimes misdetected as int, leading to compilation |
| warnings or errors. Changes to cancel_fork(), |
| handle_hupterm(), do_suspend(), and do_cont(). (David |
| Benbennick) |
| - Change flags to an unsigned long, and totsize to a size_t. |
| (DLR) |
| - Store the number of multibyte characters instead of the number |
| of single-byte characters in totsize, and use get_totals() to |
| get the value of totsize in a few more places. Changes to |
| read_line(), read_file(), do_delete(), do_input(), |
| get_totals(), and do_cursorpos(). (DLR) |
| - Overhaul the tab completion code, the file browser code, and |
| related functions to increase efficiency and support multibyte |
| characters. New function is_dir(); changes to |
| get_full_path(), check_writable_directory(), safe_tempnam(), |
| diralphasort(), username_tab_completion(), |
| cwd_tab_completion(), input_tab(), tail(), striponedir(), |
| browser_init(), do_browser(), and do_browse_from(); removal of |
| append_slash_if_dir(), readable_dir(), and |
| check_wildcard_match(). (David Benbennick) DLR: Move the |
| routine to get the current user's home directory into the new |
| function get_homedir(), and use it where necessary. Also add |
| a few miscellaneous tweaks. |
| - Overhaul the rcfile parsing code to make it simpler and more |
| accurate, remove now-redundant checks from the color code, |
| change the COLOR_SYNTAX toggle to the NO_COLOR_SYMTAX toggle, |
| and improve various debugging messsages. Changes to |
| set_colorpairs(), do_colorinit(), parse_next_word(), |
| parse_argument(), colortoint(), parse_next_regex(), |
| parse_syntax(), parse_colors(), parse_rcfile(), do_rcfile(), |
| etc. (David Benbennick) DLR: Rename colortoint() to |
| color_to_int(), and add a few miscellaneous tweaks. |
| - Overhaul the paragraph-searching code to make it use the |
| paragraph-searching utility functions when possible instead of |
| duplicating code. Also overhaul the justify code to make it |
| leave the right number of spaces at the ends of the lines of a |
| paragraph, to make it support multibyte characters, and to |
| make it simpler. Also, don't remove a space after a duplicate |
| character in punct anymore, as it doesn't really make us more |
| compatible with Pico. New functions mbstrchr(), |
| do_para_begin_void(), and do_para_end_void(); changes to |
| justify_format(), do_para_begin(), inpar(), do_para_end(), |
| break_line(), do_para_search() (renamed find_paragraph()), and |
| do_justify(); removal of breakable(). (DLR) |
| - Still more steps toward full wide/multibyte character support. |
| Make sure all rcfile arguments are valid multibyte strings, |
| make whitespace display mode work with multibyte characters, |
| and add a few related documentation updates. New function |
| make_mbstring(); changes to make_mbchar(), make_mbstring(), |
| main(), parse_rcfile(), display_string(), and do_help(). (DLR) |
| - cut.c: |
| do_cut_text() |
| - If keep_cutbuffer is FALSE, only blow away the text in the |
| cutbuffer if the cutbuffer isn't empty. (DLR) |
| do_uncut_text() |
| - No longer duplicate Pico's adding an extra magicline to the |
| file if uncutting leaves the cursor on the current one. This |
| behavior appears to be a bug, as inserting a file in the same |
| manner doesn't add an extra magicline. (DLR) |
| - files.c: |
| get_full_path() |
| - Remove unneeded NANO_SMALL #ifdef, so that it's included |
| whenever its prototype is, and so it can compile when |
| DISABLE_OPERATINGDIR isn't defined and NANO_SMALL is. (DLR) |
| do_browser() |
| - Refresh the screen when Ctrl-L is pressed in the file browser, |
| as Pico does. (DLR) |
| - global.c: |
| shortcut_init() |
| - Fix misplaced #endif keeping the "Full Justify" shortcut in |
| the search shortcut list from being included when NANO_SMALL |
| is defined but DISABLE_JUSTIFY isn't. (DLR) |
| - Use NULL instead of 0 when a shortcut has no associated |
| function. (DLR) |
| thanks_for_all_the_fish() |
| - Free the justify buffer if it isn't empty. (DLR) |
| - nano.c: |
| help_init() |
| - Clarify the text describing double-escape character input. |
| Since ASCII is technically only seven bits wide, characters |
| 128-255 aren't ASCII. (DLR, suggested by Michael Piefel) |
| do_toggle() |
| - When we get the whitespace display toggle, update the titlebar |
| as well as the edit window, in case the filename displayed on |
| the titlebar contains spaces or tabs. (DLR) |
| handle_sigwinch() |
| - If the justify buffer isn't empty, blow it away and don't |
| display "UnJustify" in the shortcut list anymore. (DLR) |
| usage() |
| - Typo fix. (DLR) |
| do_wrap() |
| - Make wrap_loc and word_back ssize_t's, to match fill. (DLR) |
| break_line() |
| - Fix compilation problem caused by its returning int when it |
| should return ssize_t according to its prototype. (Jeremy |
| Huddleston) |
| indent_length() |
| - Make the #ifdef around it match that of its prototype to avoid |
| compilation problems when compiling with --enable-tiny and |
| without DISABLE_JUSTIFY's being defined. (DLR) |
| do_justify() |
| - For consistency, preserve placewewant if we didn't unjustify |
| instead of setting it to 0. (DLR) |
| - When justifying the entire file, properly break out of the |
| loop if we've found at least one paragraph, there are no more |
| paragraphs after the current one, and the paragraph search |
| left us on the magicline. This avoids a segfault. (DLR) |
| do_input() |
| - Add finished parameter, used to indicate when we run or try to |
| run a function associated with a shortcut. (DLR) |
| main() |
| - Try to automatically detect whether UTF-8 support is needed by |
| setting the NO_UTF8 flag if setlocale() returns a string that |
| doesn't contain "UTF8" or "UTF-8", case insensitively. When |
| using slang 2.x, enable UTF-8 support with SLutf8_enable(). |
| (DLR, string checks beyond case-sensitive "UTF-8" adapted from |
| Debian's UTF-8 patch for slang) |
| - nano.h: |
| - Remove now-unneeded #defines for functions that now have |
| multibyte equivalents. (DLR) |
| - Remove now-unneeded MIN_EDITOR_COLS. (David Benbennick) |
| - utils.c: |
| regexec_safe() |
| - Remove redundant regexec #define, and move the regexec #undef |
| to nano.h. (DLR) |
| is_blank_char() |
| - Rewrite to use ctype functions instead of checking directly |
| for spaces and tabs. (DLR) |
| revstrstr(), revstristr() |
| - Add asserts. (DLR) |
| - winio.c: |
| get_buffer() |
| - If we get ERR when using blocking input, it means that the |
| input source that we were using is gone. In this case, call |
| handle_hupterm(), so that nano dies gracefully instead of |
| going into an infinite loop. (DLR, found by Jim Uhl) |
| titlebar() |
| - Rename some variables for consistency, make space an int |
| instead of a size_t, properly handle the case where the prefix |
| length plus the path length is greater than the amount of |
| space available, and fix a typo in an assert. (DLR) |
| unget_kbinput() |
| - Remove the wide character handling, as it didn't work properly |
| with respect to function keys. (DLR) |
| get_kbinput(), get_translated_kbinput(), get_ascii_kbinput(), |
| get_untranslated_kbinput() |
| - Make the ascii_digits variables ints instead of size_t's, |
| since they will only hold very small values. (DLR) |
| get_kbinput() |
| - Remove the wide character handling, as it didn't work properly |
| with respect to adding multiple wide characters at once, and |
| ungetting them just caused other problems elsewhere. (DLR) |
| get_translated_kbinput() |
| - Remove the wide character handling, as it didn't work properly |
| with respect to adding multiple wide characters at once, and |
| ungetting them just caused other problems elsewhere. (DLR) |
| - Use if statements instead of switch/case statements to handle |
| ASCII character sequence mode, as they take up less room. |
| get_ascii_kbinput() |
| - Use if statements instead of switch/case statements to handle |
| ASCII character sequence mode, as they take up less room. |
| get_verbatim_kbinput() |
| - Don't pass v_kbinput in as a parameter, since we're |
| dynamically allocating it and then returning it. (DLR) |
| - Remove v_first parameter, and go back to the old behavior of |
| putting back the first character of the escape sequence, as it |
| worked just as well and was less complicated. (DLR) |
| get_mouseinput() |
| - Return TRUE instead of FALSE only when we have a control key, |
| a prinary meta key sequence, or both. (DLR) |
| get_shortcut() |
| - Add a debug message. (DLR) |
| - Take kbinput as a reference instead of a value, so that it's |
| translated when the key is translated to its equivalent |
| control key or meta key shortcut. (DLR) |
| - Return s instead of NULL only when we have a control key, a |
| prinary meta key sequence, or both. (DLR) |
| get_toggle() |
| - Add a debug message. (DLR) |
| bottombars() |
| - Initialize foo, in case a keystroke meets none of the handled |
| cases. (DLR) |
| total_refresh() |
| - Refresh bottomwin using the value of currshortcut, and change |
| the code around do_refresh() calls to accommodate this. (DLR) |
| - Split out the code that updates the screen before refreshing |
| it into the new function total_redraw(). |
| do_help() |
| - Refresh the screen when Ctrl-L is pressed in the help browser, |
| as Pico does. (DLR) |
| - configure.ac: |
| - Remove specific references to control key shortcuts. (DLR) |
| - Check for the wide versions of ncurses or slang, without which |
| multibyte strings don't seem to be displayed properly, and |
| associated multibyte/wide character functions. (DLR) |
| - Check for wchar.h, for those systems that need it for the |
| wcwidth() prototype. (DLR) |
| - Remove checks for all include files that we include |
| unconditionally. (DLR) |
| - Remove references to termio.h here and elsewhere, since it's |
| obsolete and it defines a struct termio that we don't use |
| anywhere. (DLR) |
| - Typo fixes. (DLR) |
| - Add checks for isascii(), iswalnum(), iswblank() or |
| iswspace(), mblen(), and wctype.h. (DLR) |
| - README: |
| - Updated for the 1.3 branch. (DLR) |
| - README.CVS: |
| - Updated to mention the need for a wide character-supporting |
| version of curses or slang if UTF-8 support is desired. (DLR) |
| - doc/faq.html: |
| - Remove now-inaccurate note about verbatim input's not working |
| at prompts, and update its description to mention that it |
| handles hexadecimal values now. (DLR) |
| - Add question about opening files with names beginning with |
| '+'s, and add a few more miscellaneous cosmetic fixes. |
| - nanorc.sample: |
| - Add return to the "c-file" regexes. (DLR) |
| - Clarify the text describing good values for whitespace |
| display. Since ASCII is technically only seven bits wide, |
| characters 128-255 aren't ASCII. (DLR, suggested by Michael |
| Piefel) |
| - Add the "morespace" option. (DLR) |
| - Add support for characters to the "c-file" regexes. (DLR) |
| - Add the hexadecimal equivalents of the decimal values |
| suggested for whitespace display, now that it can handle |
| multibyte characters. (DLR) |
| - Add "manpage" regex. (Mike Frysinger, minor tweaks by DLR) |
| - nano.1. nanorc.5, nano.texi: |
| - Add the "morespace" option, and sync with the descriptions in |
| nanorc.sample in a few places. (DLR) |
| - Miscellaneous wording tweaks. (DLR) |
| - src/Makefile.am: |
| - Add chars.c to nano_SOURCES. (DLR) |
| - If we're installing and the "rnano" symlink already exists, |
| remove it so that we can create it again without an error. |
| (DLR) |
| - AUTHORS: |
| - Updated to mention UTF-8 support. |
| |
| GNU nano 1.3.5 - 2004.11.22 |
| - General: |
| - Convert more ints that hold only TRUE and FALSE values to |
| bools. (DLR) |
| - Consolidate the code for finding and running a shortcut in a |
| shortcut list, the code for finding and toggling a toggle in a |
| toggle list, and the code for doing both of those and |
| interpreting mouse clicks in the edit window. Also move the |
| code for do_mouse() to get_edit_mouse() and tweak it to |
| properly handle cases where a shortcut isn't clicked. New |
| functions get_shortcut(), get_toggle(), get_edit_input(), and |
| get_edit_mouse(); changes to do_browser(), do_justify(), |
| do_help(), and main(). (DLR) |
| - Simplify a few more translated messages. (DLR) |
| - Translation updates (see po/ChangeLog for details). |
| - Remove reference to @includedir@ in src/Makefile.am, as it's |
| unneeded and can break cross-compilation. (DLR, found by Mike |
| Frysinger) |
| - Overhaul the file opening, reading, and loading operations to |
| increase efficiency, avoid problems on invalid filenames |
| specified on the command line, and eliminate corner cases that |
| erroneously leave edittop or current NULL when they shouldn't |
| be. Also split out the code to execute a command into a |
| separate function, eliminate a workaround for one of the |
| aforementioned corner cases, handle files with a mix of DOS |
| and Mac format lines, and remove the code to turn on the |
| NO_CONVERT flag when opening a binary file, as it's not always |
| reliable and will cause problems with UTF-8 text files. New |
| functions open_file(), execute_command(), and mallocstrassn(); |
| changes to read_line(), load_file(), read_file(), open_file(), |
| get_next_filename(), do_insertfile(), do_insertfile_void(), |
| do_alt_speller(), and edit_refresh(). (David Benbennick) DLR: |
| Add a few minor fixes to make sure that current is set |
| properly in all cases, indicate on the statusbar when the file |
| has a mix of DOS and Mac format lines, move the test for DOS |
| line endings from read_line() to read_file() to avoid |
| inaccurate statusbar messages and to reduce fileformat to a |
| local variable in read_file(), eliminate another workaround in |
| edit_update(), rename open_the_file() to open_file() since the |
| latter has been removed, and rename load_a_file() to |
| load_buffer(). |
| - Add alternative shortcuts to the main and search shortcut |
| lists for moving to the beginning and end of a paragraph and |
| justifying the entire file: Meta-( (Meta-9), Meta-) (Meta-0), |
| and Meta-J, respectively. Do this because Pico's practice of |
| putting these shortcuts only in the search shortcut list is |
| rather odd. (DLR) |
| - Turn off extended input processing (the IEXTEN termios flag) |
| as nano 1.2.x does. New function disable_extended_input(); |
| changes to terminal_init(). (DLR) |
| - Remove redundant include of limits.h from nano.c. nano.c |
| includes nano.h and nano.h includes limits.h. (DLR) |
| - Add a func_key flag to the low-level input functions and the |
| currently existing high-level input functions, to indicate |
| extended keypad values. This is needed for UTF-8 support. |
| Changes to unget_kbinput(), get_kbinput(), |
| get_translated_kbinput(), get_shortcut(), get_edit_input(), |
| etc. (DLR) |
| - Add a multibuffer mode toggle to the "Execute Command" prompt, |
| for consistency with the "Read File" prompt. Changes to |
| do_insertfile() and shortcut_init(). (DLR) |
| - Add an ^X toggle to the "Execute Command" prompt to go back to |
| the "Insert File" prompt, and add a ^T toggle to the "Go To |
| Line" prompt to go back to the "Where Is" prompt. Changes to |
| do_insertfile(), shortcut_init(), do_gotoline(), etc. |
| - Make sure a few uninitialized static variables are initialized |
| to sane values. (DLR) |
| - After reading in a file and detecting the format it's in, set |
| the file format flags (DOS_FILE and MAC_FILE) to match, and |
| preserve them across multiple file buffers. Changes to |
| read_file(), add_open_file(), and load_open_file(). (DLR, |
| suggested by Bill Soudan) |
| - Remove the -D/--dos and -M/--mac command line options, as they |
| aren't much use with the new file format autodetection. Also |
| remove the global versions of the toggles, so that they can |
| only be used at the "Write File" prompt as similar options |
| can. Finally, change the Mac format toggle to Meta-M, since |
| that no longer conflicts with the global -m/--mouse toggle. |
| (DLR) |
| - Add support for reading in UTF-8 sequences to the low-level |
| input routines. Changes to get_kbinput() and |
| get_translated_kbinput(). (DLR) |
| - Reduce search_last_line to a static variable in search.c, and |
| allow it to be set to FALSE via a function. New function |
| findnextstr_wrap_reset(); changes to do_int_spell_fix(), |
| findnextstr(), do_search(), do_research(), do_replace_loop(), |
| do_replace(), and do_find_bracket(). (DLR, problem with making |
| search_last_line local to findnextstr() found by Rocco) |
| - When saving or changing file positions, be sure not to ignore |
| placewewant. Changes to do_int_spell_fix(), findnextstr(), |
| do_replace_loop(), and do_replace(). (DLR) |
| - Convert current_x and mark_beginx to size_t's, and convert |
| some functions that use them as a parameter to use size_t as |
| well. Also change some related assertions to handle them. |
| (David Benbennick and DLR) |
| - Add code to partition a filestruct between a set of arbitrary |
| coordinates. Given the coordinates of the beginning and end |
| of the mark, this allows proper and easier handling of saving |
| marked selections, replacing text only in marked selections |
| (suggested by Joseph Birthisel), and spell-checking marked |
| selections using either the internal or alternate spell |
| checker. Do all these using a global partition structure. |
| New functions partition_filestruct(), |
| unpartition_filestruct(), remove_magicline(), and |
| get_totals(); changes to write_marked(), do_int_spell_fix(), |
| do_alt_speller(), handle_sigwinch(), and do_replace_loop(). |
| (DLR) |
| - Remove most redundant includes of sys/stat.h. It's included |
| in nano.h, so it doesn't need to be included in files that |
| include nano.h. (DLR) |
| - Remove the DOS_FILE and MAC_FILE flags, as they're only used |
| in files.c, and replace them with a static file_format enum. |
| Change the openfilestruct structure accordingly in order to |
| handle this. (DLR) |
| - Convert some ints with predefined boundaries to enums. (DLR) |
| - Include config.h only if HAVE_CONFIG_H. (Jordi) |
| - cut.c: |
| cut_marked_segment() |
| - Respect concatenate_cut, as we need to use it if we do a |
| marked cut and immediately follow it with a cut-to-end (which |
| uses this function). (DLR) |
| do_cut_text() |
| - Set concatenate_cut to TRUE unconditionally when doing a |
| marked cut. This fixes an incompatibility with Pico where an |
| extra line is uncut if we do a marked cut that includes the |
| magicline and immediately follow it with an unmarked cut. |
| (DLR) |
| do_uncut_text() |
| - Maintain current_y's value when uncutting blocks so that |
| smooth scrolling works correctly. (DLR) |
| - files.c: |
| read_file() |
| - Rename variable fileformat to format, to avoid confusion with |
| the file_format enum type. (DLR) |
| load_buffer() |
| - Don't change the file format when we insert another file into |
| the current one. (DLR) |
| do_insertfile() |
| - Simplify by reusing variables whereever possible, and add a |
| parameter execute to indicate whether or not to be in "Execute |
| Command" mode. (DLR) |
| - Rework so that goto is no longer needed, using do_writeout() |
| as a model. (DLR) |
| - If file browsing succeeds, call statusq_abort() so that the |
| cursor position at the statusbar is reset. (DLR) |
| - Add missing #ifdefs around the wrap_reset() call so that nano |
| compiles with wrapping disabled again. (DLR) |
| - If we're not inserting a file into a new buffer, partition the |
| current buffer so that it's effectively a new buffer just |
| before inserting the file, and only restore placewewant |
| afterwards. This is the same behavior we would get if we |
| opened the file, added all of it to the cutbuffer, closed the |
| file, and uncut at the current cursor position. (DLR) |
| - Maintain current_y's value when inserting so that smooth |
| scrolling works correctly. (DLR) |
| do_writeout() |
| - Restructure if blocks for greater efficiency, using |
| do_insertfile() as a model. (DLR) |
| - Simplify where possible, and use an int retval to hold the |
| return value instead of i. (DLR) |
| - If file browsing succeeds, call statusq_abort() so that the |
| cursor position at the statusbar is reset. (DLR) |
| - Remove unneeded calls to display_main_list(). (DLR) |
| do_writeout_void() |
| - Call display_main_list(), for consistency with |
| do_insertfile_void(). (DLR) |
| write_file() |
| - If we've tried to write to an unwritable file and we're not |
| prepending, tempname is NULL when it's passed to unlink(). |
| This can cause problems if unlink() can't handle NULL, so |
| don't call it in that case. (David Benbennick) |
| write_marked() |
| - Remove check for MARK_ISSET's not being set. (DLR) |
| open_prevfile(), open_nextfile() |
| - Translate the "New Buffer" string when displaying "Switched |
| to" messages on the statusbar. (DLR) |
| input_tab() |
| - Fix snprintf() call so that we don't segfault when trying to |
| complete a filename containing %'s. (Ulf Härnhammar) |
| - global.c: |
| shortcut_init() |
| - Remove redundant NANO_SMALL #ifdef. (DLR) |
| - Change an erroneous _() around the "New Buffer" string to |
| N_(). (DLR) |
| - Add new key aliases: F15 for "Mark Text" (DLR) and F16 for |
| "Where Is Next" (Chris). |
| - Leave "Mark Text" and "Where Is Next" out entirely when |
| NANO_SMALL is defined. Since they aren't in the visible main |
| list, there's no point in having them in but disabled. (DLR) |
| - In the search prompt shortcut list, move "Full Justify" to |
| after "History", so that the latter is visible onscreen |
| again. (DLR) |
| - nano.c: |
| die_save_file() |
| - Clarify the error message when there are too many backup files |
| and the current one can't be written. (DLR) |
| help_init() |
| - Rework to be a bit more flexible. Only add tabs for shortcut |
| key entries if those entries exist, and if there's only one |
| entry left but there's room for more than one, add enough tabs |
| to put that entry at the end. Also, make sure a function key |
| is displayed in the middle if it's the first entry. These |
| changes allow e.g. the miscellaneous meta key sequence to be |
| displayed in a shortcut that has a control key, a primary meta |
| key sequence, and a miscellaneous meta key sequence, but no |
| function key. (DLR) |
| - Update the help text to mention replacing and spell checking |
| only selected text, and also add a few cosmetic fixes to it. |
| (DLR) |
| - Update the help text to mention how to get a blank buffer at |
| the "Execute Command" prompt. (DLR) |
| do_prev_word() |
| - Tweak to avoid an infinite loop, since current_x is now a |
| size_t and hence is unsigned. (DLR) |
| do_int_spell_fix() |
| - Move the REVERSE_SEARCH flag toggling into the NANO_SMALL |
| #ifdef, since the tiny version of nano doesn't support reverse |
| searching. Move the CASE_SENSITIVE flag toggling out in order |
| to allow the internal spell checker to work properly when |
| NANO_SMALL is defined and DISABLE_SPELLER isn't. Also, turn |
| the USE_REGEXP flag off during spell checking in order to |
| avoid a potential segfault. (DLR) |
| - Fix a problem where if the cursor is in the middle of a file, |
| the spell checker will sometimes only correct the misspelled |
| word instances that appear before the cursor position and then |
| stop. (Rocco) |
| - Use do_replace_loop()'s canceled parameter in order to ensure |
| that the spell checking stops if we canceled at the replace |
| prompt. (DLR) |
| do_alt_speller() |
| - Call terminal_init() unconditionally after running the |
| alternate spell checker, so that the terminal state is |
| properly restored in all cases. (DLR) |
| justify_format() |
| - For more compatibility with Pico, remove extra space after a |
| character in punct if that character is the same as the one |
| before it. For example, with the default values of punct and |
| brackets, only one space will be left after "...". (DLR) |
| do_para_begin(), do_para_end() |
| - Maintain current_y's value when moving up or down lines so |
| that smooth scrolling works correctly. (DLR) |
| breakable(), break_line() |
| - Make goal a ssize_t instead of an int, since fill is now a |
| ssize_t, and the position at which a line is broken can be |
| greater than COLS. (DLR) |
| main() |
| - Tweak the command line parsing routine so that multiple +LINE |
| flags are properly interpreted in multibuffer mode. (DLR) |
| - nano.h: |
| - Add WIDTH_OF_TAB #define, containing the default width of a |
| tab. (DLR) |
| - Move the PATH_MAX #define here from files.c. |
| - Remove unused COPYFILEBLOCKSIZE #define. (DLR) |
| - proto.h: |
| - Add missing NANO_SMALL #ifdef around the cut_marked_segment() |
| prototype. (DLR) |
| - rcfile.c: |
| parse_rcfile() |
| - Add missing brackets around an if statement block so that |
| parsing the numeric argument after "tabsize" works properly |
| again. (DLR, found by Mike Frysinger) |
| - Since flag values are longs, use "%ld" instead of "%d" in the |
| debugging messages indicating when a flag is set or unset. |
| (DLR) |
| - search.c: |
| regexp_init() |
| - If NANO_SMALL is defined, don't bother checking the |
| CASE_SENSITIVE flag or using its value when compiling a list |
| of matching regular expressions. (DLR) |
| search_init() |
| - Add parameter use_answer. When it's TRUE, only set |
| backupstring to answer. This is needed to preserve the text |
| of the statusbar when switching to the search prompt from |
| the "Go To Line" prompt. Also, set backupstring before doing |
| anything else, add one minor efficiency tweak, and preserve |
| the text of the statusbar no matter what when switching from |
| the search prompt to the "Go To Line" prompt, since the |
| toggling works both ways now and non-numeric text shouldn't be |
| lost when going only one of those ways. (DLR) |
| - When we're replacing and the mark is on, display a prompt |
| indicating that we're replacing text only in the selection |
| instead of the usual prompt. (DLR) |
| findnextstr() |
| - Take the no_sameline parameter after can_display_wrap and |
| wholewords, not after all other parameters. (DLR) |
| - Maintain current_y's value when moving up or down lines so |
| that smooth scrolling works correctly. (DLR) |
| - Fix handling of the wholewords flag so that it works with |
| regular expressions and in conjunction with the no_sameline |
| flag, and add new parameter needle_len (used to return the |
| length of the match). (DLR) |
| do_replace_loop() |
| - Miscellaneous cleanups: treat real_current as current and |
| real_current_x as current_x, only turn the mark off and call |
| edit_refresh() if the mark was originally on, and make |
| length_change a ssize_t. (DLR) |
| - Return ssize_t instead of int. (DLR) |
| - Add new parameter canceled, set to TRUE if we canceled at the |
| prompt and FALSE otherwise. (DLR) |
| - utils.c: |
| regexp_bol_or_eol() |
| - Don't assume any longer that string will be found if |
| REG_NOTBOL and REG_NOTEOL are not set. (DLR) |
| mallocstrncpy() |
| - New function, used as a malloc()ing equivalent of strncpy(). |
| (DLR) |
| mallocstrcpy() |
| - Refactor to be a wrapper for mallocstrncpy(). (DLR) |
| mark_order() |
| - Add new parameter right_side_up. Set it to TRUE If the mark |
| begins with (mark_beginbuf, mark_beginx) and ends with |
| (current, current_x), or FALSE otherwise. (DLR) |
| - winio.c: |
| unget_kbinput() |
| - New function used as a wrapper for ungetch(). (DLR) |
| get_kbinput() |
| - When reading an escape sequence, set get_verbatim_kbinput()'s |
| new first parameter to the first character of the sequence |
| instead of putting that character back and reading the entire |
| sequence afterwards. (DLR) |
| get_escape_seq_kbinput() |
| - Make the escape_seq parameter a const int*, since it's never |
| modified. (DLR) |
| - Support the escape sequences for F15 and F16. (DLR) |
| get_verbatim_kbinput() |
| - Add new parameter first. If first isn't ERR, make it the |
| first character in the returned sequence instead of reading |
| the first character in via blocking input. (DLR) |
| get_mouseinput() |
| - Consolidate two if statements to increase efficiency. (DLR) |
| - Check kbinput against metaval instead of (erroneously) ctrlval |
| when putting back a meta sequence. (DLR) |
| - If there are more than MAIN_VISIBLE shortcuts available, only |
| register clicks on the first MAIN_VISIBLE shortcuts, since |
| bottombars() only shows that many shortcuts. (DLR) |
| check_statblank() |
| - Rename to check_statusblank(), and rename its associated |
| global int statusblank too. (DLR) |
| nanogetstr() |
| - Refresh the screen when Ctrl-L is pressed at the statusbar |
| prompt, as Pico does. (DLR) |
| - Always return the key pressed by the user. (DLR) |
| statusq() |
| - Rework slightly to reset the cursor position when the user |
| hits Enter as well as Cancel. This means that resetstatuspos |
| no longer needs to be global. (DLR) |
| statusq_abort() |
| - New function to set resetstatuspos to FALSE when we don't |
| properly exit the statusbar prompt, e.g. when we get a file |
| from the file browser). (DLR) |
| bottombars() |
| - For efficiency, no longer dynamically allocate space for each |
| visible shortcut, as they're all of a constant short length. |
| (David Benbennick) |
| reset_cursor() |
| - If this is called before any files have been opened, as it can |
| be by statusbar(), put the cursor at the top left corner of |
| the edit window before getting out. (DLR) |
| edit_refresh() |
| - Call edit_update() with NONE instead of CENTER when smooth |
| scrolling is on, for consistency with the movement routines. |
| (DLR) |
| edit_update() |
| - Simplify so as not to require the fileptr parameter anymore, |
| since it's set to current in all calls. (DLR) |
| - Add comments better explaining what the update actually does, |
| and avoid an infinite loop when location is NONE and current_y |
| is greater than (editwinrows - 1). (DLR) |
| do_yesno() |
| - Don't bother assigning the value of get_mouseinput() to |
| anything. Since allow_shortcuts is FALSE, its return value |
| will always be FALSE. (DLR) |
| - configure.ac: |
| - When calling AC_TRY_RUN() to test for a broken regexec() |
| function, set the fourth parameter to default to "no" (since |
| it apparently only occurs on glibc 2.2.3-based systems) so |
| that cross-compiling will work. (DLR, found by Mike Frysinger) |
| - Simplify the curses library tests by only checking for |
| initscr(), which ncurses, curses, and pdcurses should all |
| have, and not tgetent(), which is a termcap-specific function. |
| (DLR) |
| - Check only for glib 2.x, as it's much more common than |
| glib 1.2.x now, and it has a better v?snprintf() |
| implementation. (DLR, suggested by Jordi) |
| - nanorc.sample: |
| - Remove specific references to control key shortcuts other than |
| XON and XOFF. (DLR) |
| - Add continue and goto to the "c-file" regexes. (DLR) |
| - Change the included speller value to "aspell -x -c". The -x |
| option makes aspell not create backup files, and this is |
| consistent with the internal spell checker's behavior. (DLR) |
| - doc/man/fr/nano.1, doc/man/fr/nanorc.1: |
| - Updated manpage translations by Jean-Philippe Guérard. |
| - README.CVS: |
| - Mention the requirement for glib 2.x on systems lacking |
| v?snprintf(), and add minor formatting changes. |
| - Mention the requirement for groff in order to create html |
| versions of the manpages. (DLR) |
| - Update the given cvs commands so that they work again, and |
| mention the need for ssh to do cvs checkouts. (DLR) |
| - List sh as an example of a Bourne shell. (DLR) |
| - faq.html: |
| - Fixed inaccuracy: Pico compatibility mode was made the default |
| in nano 1.1.99pre1, not 1.2.2. (DLR) |
| - Added question about how to type F13-F16 on terminals lacking |
| keys past F12 (suggested by Chris), question about how to |
| select text for the clipboard in X terminals with nano's mouse |
| support turned on (answer found by Joseph Birthisel), and |
| miscellaneous fixes and link updates. (DLR) |
| - nano.1: |
| - Eliminate references to the now removed -D/--dos and -M/--mac |
| command line options. (DLR) |
| - nano.texi: |
| - Eliminate references to the now removed -D/--dos and -M/--mac |
| command line options, and their corresponding toggles. (DLR) |
| - m4/Makefile.am: |
| - Add glib-2.0.m4 to EXTRA_DIST, so that nano builds from CVS |
| with automake 1.7.x again. For some reason, automake 1.9.x |
| didn't have a problem with its (erroneously) being left out. |
| (DLR, problem found by Chris) |
| - m4/glib-2.0.m4: |
| - New file imported from glib 2.4.7. This is needed to detect |
| glib 2.x on systems that may not have it installed. (DLR, |
| suggested by Jordi) |
| - src/Makefile.am: |
| - Don't use DEFS to define things. Use INCLUDES instead. |
| (Jordi) |
| |
| GNU nano 1.3.4 - 2004.08.17 |
| - General: |
| - More minor comment cleanups. (DLR) |
| - Convert more ints and functions using 0 and 1 to bools using |
| TRUE and FALSE. (David Benbennick and DLR) |
| - Change more instances of ints that have large enough upper |
| bounds and which can never be negative to size_t's, and |
| convert nano to handle them properly. (DLR) |
| - Convert the shortcut list functions and most related functions |
| to return void instead of int, as the return values of all |
| those functions are essentially unused. Changes to |
| sc_init_one(), shortcut_init(), etc. (David Benbennick and |
| DLR) |
| - Make flags and all variables meant to store the value of flags |
| longs for consistency. (David Benbennick) |
| - Rename the TEMP_OPT flags to TEMP_FILE, as it's more |
| descriptive. (DLR) |
| - Remove unused global variable search_offscreen. (David |
| Benbennick) |
| - Add new N_() macro to mark strings that aren't translated |
| immediately, and convert nano to use it in cases where the |
| translated string is stored in a const char*. Changes |
| to sc_init_one(), print1opt(), help_init(), rcfile_error(), |
| do_credits(), etc. (David Benbennick) DLR: Do this for |
| toggle_init_one() too. |
| - Minor tweaks and clarifications to some option descriptions. |
| (DLR) |
| - Overhaul the shortcut list and toggle list initialization |
| code for efficiency. Changes to shortcut_init() and |
| toggle_init(). (David Benbennick) DLR: Move "Cancel" to just |
| after "Get Help" in the file browser list, for consistency |
| with all the other lists, have the replace list accept all the |
| same function keys as the search list, and clarify a few |
| shortcut descriptions. |
| - Convert nano to use the new parse_num() function to read in |
| numeric values at the command line and in the rcfile, and |
| duplicate the messages used in the rcfile in the command line |
| for consistency. (David Benbennick) DLR: Tweak parse_num() to |
| parse ssize_t values instead of ints and to return a bool |
| indicating whether parsing succeeded. Convert tabsize, |
| wrap_at, and fill to ssize_t in order to work with |
| parse_num() properly and also to increase their capacity |
| while keeping the ability to hold negative numbers in case of |
| errors. Also exit instead of calling usage() in the event of |
| an invalid fill value, for consistency with how an invalid |
| tabsize value is handled. Finally, handle invalid tabsize |
| entries in the rcfile the same way as on the command line, |
| and reset tabsize and wrap_at to their default values if |
| invalid rcfile entries are specified for them. |
| - Remove several unnecessary reset_cursor() calls. (David |
| Benbennick) |
| - Include <sys/types.h> in proto.h. (David Benbennick) DLR: |
| Remove some redundant inclusions of <sys/types.h> elsewhere. |
| - Move the main terminal initialization functions, aside from |
| initscr(), into a new terminal_init() function, and convert |
| nano to use it. (DLR) |
| - Convert placewewant to a size_t, and convert some functions |
| that use it as a parameter to use size_t as well. (David |
| Benbennick and DLR) |
| - Overhaul the paragraph searching code and some of the justify |
| code to clarify it and fix a bug where searches from the |
| previous paragraph would move up too far. Also make |
| quotestr-related variables global so that they only have to be |
| compiled once, and remove the no-longer-needed IFREG() macro. |
| New functions begpar() and inpar(); changes to quote_length(), |
| quotes_match(), do_para_search(), do_para_begin(), |
| do_para_end(), and do_justify(). (David Benbennick) |
| - Readded the errors flag and moved the ending prompt from |
| rcfile_error() to parse_rcfile() so that we only get prompted |
| once for all errors instead of separately for each error. |
| (DLR) David Benbennick: Make sure that no rcfile error |
| messages end in newlines, and show the ending prompt if we |
| can't read the .nano_history file while starting nano. |
| - Don't treat the return value of strn?(case)?cmp() as boolean. |
| (DLR and David Benbennick) |
| - Automatically install a symlink "rnano" pointing to nano. |
| Changes to src/Marefile.am. (DLR) |
| - Move the static int pid to the beginning of nano.c with all |
| the other static variables. (DLR) |
| - Consolidate some if blocks to remove some redundant code. |
| (David Benbennick) |
| - Fix warnings when compiling with ENABLE_NLS undefined and with |
| the fwritable-strings option. (David Benbennick) |
| - Add various #ifdefs to fix warnings and compilation problems |
| when compiling with every option manually turned on, including |
| NANO_SMALL. (David Benbennick) |
| - Simplify some of the rcfile and statusbar error messages, and |
| make some of them more consistent. (David Benbennick and DLR) |
| - Change some functions to take const char*'s instead of char*'s |
| where possible. (David Benbennick) |
| - Tweak some #ifdefs around indent_length() and references to |
| fill_flag_used to avoid warnings when compiling with |
| --disable-wrapping, --disable-justify, or a combination of the |
| two. (DLR) |
| - Overhaul the routines used to read the rcfiles and history |
| files for efficiency, make them work properly on lines over |
| 1023 characters long and on lines containing nulls, and make |
| them properly handle the case where the user's home directory |
| changes in the middle of a session. New functions |
| histfilename() and writehist(); changes to |
| thanks_for_all_the_fish(), load_history(), save_history(), and |
| do_rcfile(). (David Benbennick) |
| - files.c: |
| get_next_filename() |
| - Tweak for efficiency, and add the ".save" suffix to the file |
| here. (David Benbennick) |
| close_open_file() |
| - Tweak to no longer rely on the return values of |
| open_(prev|next)file(). (DLR) |
| write_file() |
| - For consistency with nano 1.2.x and with other editors, make |
| the mode of newly created files 666 instead of 600 before |
| it's modified by the umask. (DLR, found by Toni Suokas) |
| do_writeout() |
| - If we're in restricted mode and the current filename isn't |
| blank, we can't change it, so disable tab completion in that |
| case. (DLR) |
| - Fix spacing problem in the "Save Under Different Name" |
| prompt. (DLR) |
| - global.c: |
| shortcut_init() |
| - Fix erroneous #ifdef so that nano compiles with |
| --disable-justify again. (DLR, found by Mike Frysinger) |
| - Change the Cancel shortcut in the file browser to an Exit |
| shortcut, to be more compatible with the current version of |
| Pico. (DLR) |
| thanks_for_all_the_fish() |
| - Delete topwin, edit, and bottomwin. (David Benbennick) |
| - nano.c: |
| die() |
| - Don't add the ".save" suffix to a saved file here anymore, |
| since get_next_filename() does that now. (David Benbennick) |
| die_save_file() |
| - Tweak for efficiency. (David Benbennick) |
| help_init() |
| - Fix the display of the translated key descriptions "Up" and |
| "Space" under all circumstances, and make the help browser |
| work properly when there are fewer than 24 columns available. |
| (David Benbennick) |
| usage() |
| - Don't translate the option strings for -Z/--restricted. |
| (David Benbennick) |
| do_enter() |
| - Don't treat it as a special case when the user presses Enter |
| on the last line of the screen and smooth scrolling is on, for |
| consistency. (DLR) |
| do_alt_speller() |
| - When reloading the newly spell-checked temporary file, call |
| terminal_init() to make sure that all the original terminal |
| settings are restored, as a curses-based alternative spell |
| checker (e.g. aspell) can change them. (DLR) |
| quote_length() |
| - Fix problem where quoted justify wouldn't work if HAVE_REGEX_H |
| wasn't set. (David Benbennick) |
| do_justify() |
| - Add allow_respacing flag, used to indicate when we've moved to |
| the next line after justifying the current line, and only run |
| the respacing routine when it's true. This keeps the |
| respacing routine from erroneously being run more than once on |
| the same line. (DLR) |
| - Check for first_par_line's not being NULL and only run the |
| renumbering and cutbuffer-splicing routines depending on that |
| if that's the case. This fixes a segfault occurring when |
| trying to do full justification on a file with no paragraphs |
| (in which case there are no normal lines to renumber and no |
| backed-up lines to be stored in the cutbuffer or spliced back |
| in during unjustify). (DLR) |
| do_exit() |
| - Tweak for efficiency. (David Benbennick) |
| main() |
| - Move the reset_cursor() call to the beginning of the main |
| input loop, and remove the apparently unnecessary wrefresh() |
| call. (David Benbennick) |
| - Call setlocale() outside the ENABLE_NLS #ifdef, since UTF-8 |
| support won't work properly if the locale isn't set, whether |
| NLS is enabled or not. (Junichi Uekawa) |
| - Add titlebar() calls before all open_file() calls and remove |
| the titlebar() call after them, so that the titlebar is |
| displayed properly for all file(s) loaded. Also call |
| display_main_list() after adding the first file to open_files, |
| so that "Close" is properly displayed then instead of "Exit". |
| (DLR) |
| - nano.h: |
| - Reassign the key for full justification to Ctrl-U, for |
| compatibility with the current version of Pico. (DLR) |
| - Remove justbegend enum, as it's no longer needed. (DLR) |
| - proto.h: |
| - Change the variables in the prototypes for do_justify(), |
| get_verbatim_kbinput(), and get_mouseinput() to match the ones |
| used in the actual functions. (DLR) |
| - Remove unused declaration of temp_opt. (David Benbennick) |
| - Add missing copy_file() prototype. (David Benbennick) |
| - Move the load_history() and save_history() prototypes up to |
| match their corresponding location in files.c. (DLR) |
| - rcfile.c: |
| rcfile_msg() |
| - Removed and replaced with calls to rcfile_error(). (David |
| Benbennick) |
| - Removed the reference to "starting nano" in the statusbar |
| message, as it may be called when we exit if the history file |
| can't be saved. (DLR) |
| parse_rcfile() |
| - Have whitespace display default to off instead of on. (Mike |
| Frysinger) |
| nregcomp() |
| - Rename the variable flags to eflags so as not to conflict with |
| the global flags. (DLR) |
| - search.c: |
| do_replace_loop() |
| - Make sure old_pww is updated to the current value of |
| placewewant when a new match is found, so that edit_redraw() |
| will redraw the screen properly when only placewewant changes. |
| (DLR, found by Mike Frysinger) |
| do_replace() |
| - Instead of using edit_update() to redraw the screen with |
| edittop at the top, set edittop beforehand and call |
| edit_refresh(). (DLR) |
| do_gotoline() |
| - Use parse_num() to interpret a line entered by the user, and |
| start the search for a line from current instead of fileage. |
| (DLR) |
| do_gotopos(), find_node(), free_history() |
| - Tweak for efficiency. (David Benbennick) |
| free_history() |
| - Only include when DEBUG is defined. (David Benbennick) |
| - utils.c: |
| parse_num() |
| - New function to parse numeric values, so that we don't have to |
| duplicate code that calls strtol() all over the place. (David |
| Benbennick) DLR: Renamed from parse_int() to parse_num() and |
| converted to use ssize_t instead of int. |
| nstrnicmp() |
| - Remove code chacking for n's being less than 0 that will never |
| be run, since n is a size_t and is hence unsigned. (David |
| Benbennick) |
| ngetdelim(), ngetline() |
| - New functions equivalent to getdelim() and getline(), which |
| are both GNU extensions. (DLR, adapted from GNU mailutils |
| 0.5 with minor changes to better integrate with nano and |
| increase efficiency) |
| - winio.c: |
| get_kbinput() |
| - Since the only valid values for escapes are 0, 1, and 2, |
| convert it to an int. (DLR) |
| get_control_kbinput() |
| - Fix erroneous debugging statement so that nano compiles with |
| --enable-debug again. (Jon Oberheide) |
| nanogetstr() |
| - Tweak the code to update the edit window just before getting |
| statusbar input for efficiency, and update bottomwin just |
| before then too. (David Benbennick) |
| - Don't delete the statusbar line on UnCut, since the current |
| version of Pico doesn't. (DLR) |
| do_cursorpos() |
| - Add assert to check whether totsize is correct. (David |
| Benbennick) |
| line_len() |
| - Rename to help_line_len() so as not to conflict with the |
| line_len variable used elsewhere, and move inside the |
| DISABLE_HELP #ifdef surrounding do_help() since it's only |
| called in do_help(). (DLR) |
| do_help() |
| - Have help_line_len() properly return an int again, since its |
| value can't be larger than COLS. (DLR) |
| - Allow the user to exit the help browser via Ctrl-C as well as |
| Ctrl-X, for consistency with the file browser. (DLR) |
| - configure.ac: |
| - Add AC_PROG_LN_S, so that we can portably create symlinks. |
| (DLR) |
| - Check for getdelim() and getline(), which are both GNU |
| extensions. (DLR) |
| - nanorc.sample: |
| - Add sample regexes for patch files. (Mike Frysinger) |
| - Various improvements to the "c-file" regexes. Add double, |
| typedef, extern, union, unsigned, inline, and long to the |
| green list. (Mike Frysinger) DLR: Also add signed, short, and |
| enum to the green list. |
| - nano.spec.in: |
| - Tweak to include all files in %{_bindir} instead of just nano, |
| so that the "rnano" symlink will be properly packaged. (DLR) |
| |
| GNU nano 1.3.3 - 2004.06.28 |
| - General: |
| - Minor comment cleanups. (DLR) |
| - Convert more ints used as boolean values to use TRUE and |
| FALSE. (David Benbennick) |
| - Make sure the special control keys are handled the same way |
| after the window is resized or we come out of suspend mode. |
| Changes to do_cont() and handle_sigwinch(). (DLR) |
| - Change some instances of ints that can never be negative to |
| size_t's. (DLR) |
| - Add better explanations for and in the "Terminal breakage" |
| comments, and handle missing key #ifdefs inside the functions |
| that use those keys. (DLR) |
| - Add restricted mode, accessible via the -Z/--restricted |
| command line option or by invoking nano with any name |
| beginning with 'r' (e.g. "rnano"). In restricted mode, nano |
| will not read or write to any file not specified on the |
| command line, read any nanorc files, allow suspending, or |
| allow a file to be appended to, prepended to, or saved under a |
| different name if it already has one. (IO ERROR) DLR: Also |
| disable backup files and spell checking (since the latter can |
| leave a pre-spell-checked version of the file in a temporary |
| directory), use tail() to get the program name so that the |
| check for its beginning with 'r' will work when a path is |
| specified, disable toggles that are only useful with options |
| that are disabled in restricted mode, call nano_disabled_msg() |
| when trying to read or spell check a file instead of leaving |
| the shortcuts out of the main list, and instead of acting as |
| though TEMP_OPT is enabled when exiting with a modified file |
| (which caused problems if the filename was blank), only allow |
| a filename to be modified at the writeout prompt if it's blank |
| beforehand. Changes to do_writeout(), toggle_init(), |
| shortcut_init(), die_save_file(), and nanogetstr(). |
| - Call nano_disabled_msg() directly from the shortcut list |
| instead of inside the disabled functions. (David Benbennick) |
| - Clarifications to comments explaining exactly what control |
| characters and escape sequences are supported. (DLR) |
| - Disable "Where Is Next" in tiny mode. (DLR) |
| - Added the ability to justify the entire file at once, which |
| Pico has via ^W^J. Changes to backup_lines() and |
| do_justify(); new functions do_justify_void() and |
| do_full_justify(). (DLR) |
| - Modify the justification algorithm to work the same way as in |
| the current version of Pico, i.e. add a space at the end of |
| each line of the justified paragraph except for the last one, |
| and if there was a space at the end of the last one, remove |
| it. Changes to justify_format() and do_justify(). Note that |
| we can no longer reliably detect the first modified line in a |
| paragraph, since a line unmodified by justify_format() may get |
| a space tacked onto the end of it or removed from the end of |
| it later. The entire original paragraph is now always backed |
| up, and justify_format() no longer has a non-modifying mode, |
| so it's now only called in backup_lines(). (DLR) |
| - Wrap the long jump code in NANO_SMALL #ifdefs, since we only |
| use it if we're resizing the window, which is disabled when |
| NANO_SMALL is defined. (DLR) |
| - Add smart home key option, accessible via -A/--smarthome on |
| the command line, "set smarthome" in the rcfile, and the |
| Meta-H toggle in the edit window. Smart home works as |
| follows: When Home is pressed anywhere but at the very |
| beginning of non-whitespace characters on a line, the cursor |
| will jump to that beginning (either forwards or backwards). |
| If the cursor is already at that position, it will jump to the |
| true beginning of the line. This option is disabled in tiny |
| mode. Changes to do_home(), nanogetstr(), etc. (DLR; |
| suggested by Stephan T. Lavavej) |
| - Minor tweaks to the punctuation in some statusbar messages. |
| (DLR) |
| - Overhaul the low-level input routines into main routines that |
| actually get the input and state machines that interpret the |
| input. This allows better handling of the input (e.g. ignored |
| keys are now always ignored instead of just being ignored when |
| there are no escapes prefixing them) and will make it easier |
| to port to interfaces that don't have blocking input. New |
| functions reset_kbinput(), get_translated_kbinput(), |
| get_control_kbinput(), and get_untranslated_kbinput(); changes |
| to do_verbatim_input(), handle_sigwinch(), get_kbinput(), |
| get_ascii_kbinput(), get_escape_seq_kbinput(), and |
| get_verbatim_kbinput(); removal of get_ignored_kbinput() and |
| get_accepted_kbinput(). (DLR) |
| - Overhaul all the movement functions in order to avoid |
| redundant screen redraws (and regexec()s when color support is |
| available) whenever possible during ordinary cursor movement |
| when the text doesn't change. Do the same for moving in |
| do_char(), do_delete(), do_next_word(), do_prev_word(), |
| do_search(), do_research(), and do_replace_loop. Changes to |
| do_first_line(), do_last_line(), do_home(), do_end(), |
| do_page_up(), do_page_down(), do_up(), do_down(), do_left(), |
| do_right(), do_delete(), do_backspace(), do_search(), |
| do_research(), do_replace_loop(), do_find_bracket(), and |
| edit_refresh(). New functions do_left_void(), |
| do_right_void(), need_horizontal_update(), |
| need_vertical_update(), edit_scroll(), and edit_redraw(). All |
| of these functions but the first two require the previous |
| versions of current and/or placewewant as parameters, so that |
| they can redraw properly when the location has changed. Also |
| rename the int refresh in do_delete() and do_backspace() to |
| do_refresh so as not to conflict with refresh(). (DLR) |
| - Add some comments better explaining what is disabled in |
| restricted mode and why. (DLR) |
| - Since KEEP_CUTBUFFER is only used in cut.c, make it a static |
| variable in cut.c instead of a flag, and unset it in other |
| files via the new function cutbuffer_reset(). (DLR) |
| - Add the ability to change the characters used to display the |
| beginning characters of tabs and spaces via the rcfile entry |
| "whitespace". This is disabled if nanorc support is disabled |
| or if we're in tiny mode. Displaying the new characters is |
| toggled on and off by Meta-P; the default is on. (Mike |
| Frysinger; minor changes and adaptations by DLR) |
| - Add the ability to change the closing punctuation and closing |
| brackets used to control justification, via the rcfile |
| entries "punct" and "brackets". (DLR) |
| - Translation updates (see po/ChangeLog for details). |
| - Make the former flag same_line_wrap use TRUE and FALSE |
| instead of 1 and 0. (DLR) |
| - files.c: |
| add_open_file() |
| - Rearrange the NANO_SMALL #ifdef so that the code to set the |
| MODIFIED flag in open_files->flags is included only once. |
| (DLR) |
| write_marked() |
| - Call write_file() with nonamechange set to TRUE so that we |
| don't erroneously change the current filename when writing a |
| selection, and don't take a nonamechange parameter anymore |
| since we don't use it. (DLR) |
| do_writeout() |
| - Refactor so that no recursion is needed if we try to exit with |
| a modified file that has no name when TEMP_OPT is set. (DLR) |
| - Add spaces to the ends of the "Overwrite" and "Different Name" |
| prompts, for consistency. (DLR) |
| do_browser() |
| - Call check_statblank() instead of blanking the statusbar |
| unconditionally, for consistency. (David Benbennick) |
| - global.c: |
| shortcut_init() |
| - Don't assign any handler functions to the help browser keys, |
| as the help browser handles them all internally. (David |
| Benbennick) |
| - move.c: |
| do_first_line(), do_last_line() |
| - Move these functions here from winio.c. (DLR) |
| - nano.c: |
| finish() |
| - Call blank_statusbar() and blank_bottombars() to blank out |
| the statusbar and shortcut list in bottomwin. (DLR) |
| - Since all of the calls to finish() use 0 for the value of |
| sigage, and the return value of finish() is never used, make |
| it accept and return void. (David Benbennick) |
| die_save_file() |
| - Call write_file() with nonamechange set to TRUE since we don't |
| need to change the current filename if we're writing emergency |
| backup files. (DLR) |
| do_early_abort() |
| - Removed, as it's no longer called anywhere. (David Benbennick) |
| usage() |
| - Add missing "[dir]" and two missing _()'s around the strings |
| describing the -E [dir]/--backupdir=[dir]" option. (CHAO |
| Wei-Lun) |
| open_pipe() |
| - Call enable_signals() at the beginning and disable_signals() |
| at the end, so that we get a SIGINT when Ctrl-C is pressed |
| during wait() and can then call cancel_fork() properly. (DLR) |
| do_delete(), do_enter() |
| - Tweak for efficiency. (David Benbennick) |
| do_prev_word() |
| - Switch the last test (current != NULL or not) around to match |
| the order of the same test in do_next_word() (current == |
| NULL). The results are the same either way. (DLR) |
| do_wrap() |
| - Tweak for efficiency. (David Benbennick) |
| do_spell() |
| - Tweak for efficiency. (David Benbennick) |
| - Change the statusbar entries used in cases of failure so that |
| they all display the actual error that occurred. (David |
| Benbennick and DLR) |
| do_int_speller(), do_alt_speller() |
| - Make these functions return const char*'s instead of char*'s. |
| (David Benbennick) |
| justify_format() |
| - Remove redundant assignment. (DLR) |
| do_para_search() |
| - Remove unneeded edit_update() calls. (David Benbennick) |
| - Convert to use an enum to specify the search type: JUSTIFY, |
| BEGIN, or END. (DLR) |
| - Refactor to properly do searches for beginnings of paragraphs |
| in the same way as searches for endings of paragraphs, without |
| needing the old (and somewhat inaccurate) recursive approach. |
| (DLR) |
| do_justify() |
| - Remove unneeded edit_update() calls, and add a few minor |
| efficiency tweaks. (David Benbennick) |
| - Simplify an if statement. (DLR) |
| do_exit() |
| - Refactor so that no recursion is needed if we try to exit with |
| a modified file that has no name when TEMP_OPT is set. (DLR) |
| print_numlock_warning() |
| - Removed, as it's no longer needed and was never called |
| anywhere after the input overhaul. (DLR) |
| signal_init() |
| - Don't use termios and _POSIX_VDISABLE to disable keys anymore, |
| as there's no real equivalent of it when the latter isn't |
| defined. (DLR) |
| handle_sigwinch() |
| - Call resetty() to get the original terminal settings back. |
| (DLR) |
| - Rework so that nano properly redraws the screen on systems |
| that don't have resizeterm() and/or wresize(). In curses, we |
| now leave and immediately reenter curses mode via endwin() and |
| refresh(), and then reinitialize all windows via |
| window_init(). In slang, the above routine will only work if |
| the resize made the window smaller, so we now leave and |
| immediately reenter screen management mode via |
| SLsmg_reset_smg() and SLsmg_init_smg(), and then reinitialize |
| all windows via window_init(). (DLR, adapted from code in |
| Minimum Profit 3.3.0 and mutt 1.4.2.1, respectively) |
| do_toggle() |
| - Call blank_statusbar() and blank_bottombars() to blank out |
| the statusbar and shortcut list in bottomwin. (DLR) |
| do_verbatim_input() |
| - If PRESERVE is set, disable flow control characters before |
| getting input and reenable them after getting input. (DLR) |
| disable_signals(), enable_signals(), disable_flow_control(), |
| enable_flow_control() |
| - New functions that allow more fine-grained control of the |
| terminal: disabling and enabling signals without having to use |
| _POSIX_VDISABLE and disabling and enabling flow control |
| characters. (DLR) |
| main() |
| - Don't open the first file in quiet mode, since if we do, an |
| error message won't be shown if it's unreadable. (DLR; found |
| by Jaap Eldering) |
| - If we've specified multiple files on the command line and |
| multibuffer support is compiled in, turn multibuffer mode on |
| when reading those files and turn it off afterward if it was |
| off before. This allows us to open multiple files without |
| having to turn multibuffer mode on at the command line or in |
| the nanorc first, both of which are unintuitive. Multibuffer |
| mode should only affect how the "Read File" command behaves |
| anyway. (DLR) |
| - Remove the disabling of implementation-defined input |
| processing, as cbreak mode appears to turn it off anyway. |
| (DLR) |
| - After noecho(), call disable_signals() and |
| disable_flow_control(), the latter only if PRESERVE is not |
| set. (DLR) |
| - Move the savetty() call down from just after initscr() to just |
| after the terminal is properly set up, so that we can restore |
| it easily after a resize. (DLR) |
| - Add missing cast to char when calling do_char(). (DLR) |
| - Don't initialize the backup directory if we're in restricted |
| mode, since backups are disabled then. (DLR) |
| - Check $SPELL for an alternative spell checker if we didn't get |
| one from the command line and/or rcfile, as Pico does. Don't |
| do this if we're in restricted mode, since spell checking is |
| disabled then. (DLR) |
| - Add some cleanups for greater readability, and remove a few |
| bits of redundant code. (DLR and David Benbennick) |
| - nano.h: |
| - Since REGEXP_COMPILED is only used in search.c, convert it |
| from a flag to a static int there. (DLR) |
| - Add justbegend enum, used in do_para_search(). (DLR) |
| - Add updown enum, used in edit_scroll(). (DLR) |
| - proto.h: |
| - Remove unused xpt() and add_marked_sameline() prototypes. |
| (DLR) |
| - Add missing #ifdefs around the nstristr() and get_mouseinput() |
| prototypes. (DLR) |
| - rcfile.c: |
| - Move "rebinddelete" up in the list of options so that the list |
| is in alphabetical order. (DLR) |
| - Cosmetic reorganization of the order in which some options are |
| interpreted. (DLR) |
| - Explicitly check for rcopts[i].name's being "tabsize" to avoid |
| a spurious error under some circumstances about tabsize's |
| being 0 when there's no tabsize entry in the rcfile. (DLR) |
| - search.c: |
| regexp_init() |
| - Overhaul for efficiency. Also check if regcomp() failed, and |
| if so, display "Bad regex" message on the statusbar, so that |
| we don't have to display it separately after every call to |
| this function. (David Benbennick) |
| search_init() |
| - Only check whether USE_REGEXP is set, and hence whether or not |
| to display "[Regexp]" on the search prompt, if HAVE_REGEX_H is |
| defined. (DLR) |
| not_found_msg() |
| - Convert to properly handle strings generated by |
| display_string() that have been used in the search prompt |
| since 1.3.0. (David Benbennick) |
| - Use display_string() directly to display the text that we |
| didn't find instead of relying on statusbar() to do it |
| indirectly, since the latter won't display its text with the |
| user-specified whitespace characters and the former will. |
| (DLR) |
| - utils.c: |
| is_blank_char() |
| - New function used as an isblank() equivalent, since isblank() |
| is a GNU extension. (DLR) |
| nstricmp(), nstrnicmp() |
| - Add extra blank lines for greater readability, and remove |
| unneeded test for n's being less than zero (since it's already |
| been tested for being greater than zero or equal to zero at |
| that point) from nstrnicmp(). (DLR) |
| stristr() |
| - Rename to nstristr() to avoid a potential conflict with an |
| existing stristr() function, and move up to just after |
| nstrnicmp(). (DLR) David Benbennick: Tweak for efficiency. |
| - Include and use only when strcasestr() is unavailable, since |
| strcasestr() is a GNU extension. (DLR) |
| nstrnlen() |
| - New function used as a strnlen() equivalent, since strnlen() |
| is a GNU extension. (DLR) |
| - winio.c: |
| get_verbatim_kbinput() |
| - Refactor the output in the DEBUG #ifdef. It didn't work |
| properly ever since this function was changed to use an int* |
| instead of a char*. (DLR) |
| - When reading characters from input, properly reallocate |
| verbatim_kbinput via (int*)nrealloc() instead of an uncast |
| realloc(). (DLR) |
| get_accepted_kbinput() |
| - Add proper support for the keypad values and escape sequences |
| generated by the NumLock glitch and by certain keys on the |
| numeric keypad. (DLR) |
| - Add an extra break and move an #endif down to fix a potential |
| problem when NANO_SMALL is defined or KEY_RESIZE isn't, and |
| when PDCURSES isn't defined. (DLR) |
| get_escape_seq_kbinput() |
| - Add proper support for the keypad values and escape sequences |
| generated by the NumLock glitch. (DLR) |
| - Add ignore_seq parameter. If a sequence is recognized but |
| ignored, we will now return ERR and set ignore_seq to TRUE, and |
| if a sequence is unrecognized, we will now return ERR and set |
| ignore_seq to FALSE. Also, here and elsewhere, don't bother |
| assigning ERR to retval when that's its initial value. (DLR) |
| - Fix problem where the escape sequence for F3 on the FreeBSD |
| console would not be interpreted properly. (DLR) |
| get_mouseinput() |
| - Don't ungetch() anything if there's no control key and no meta |
| key defined in the shortcut we clicked. (DLR) |
| bottombars() |
| - Don't display any more than MAIN_VISIBLE shortcuts. Adding |
| justification of the entire file above made the search |
| shortcut list longer than this and hence made the shortcuts in |
| it so short as to be almost incomprehensible. (DLR) |
| - Tweak for efficiency and to better handle shorter screen |
| widths. (David Benbennick) |
| - Restructure the if block used for the sentinel key values, |
| dynamically allocate keystr based on the number of columns |
| available, and make sure we can display shortcuts even when |
| the number of available columns is too short for any complete |
| one. (DLR) |
| onekey() |
| - Don't bother padding the displayed shortcuts with spaces. |
| (David Benbennick) |
| - Convert len to a size_t. (DLR) |
| edit_add() |
| - Minor cosmetic reformatting. Also remove unused int |
| searched_later_lines. (DLR) |
| blank_bottomwin() |
| - Removed, as it does the same thing as blank_bottombars(). |
| (David Benbennick) |
| blank_titlebar() |
| - New function used to blank the titlebar in topwin. (DLR) |
| blank_statusbar_refresh() |
| - Removed, as it's now unnecessary. (David Benbennick) |
| titlebar() |
| - Overhaul to use display_string() to display the filename, and |
| to better handle shorter screen widths. Also remove |
| now-unneeded wrefresh(topwin) calls. (David Benbennick) |
| DLR: Tweak to reserve enough space for "Modified", plus |
| padding, in all cases, to make sure that the version message |
| takes up no more more than 1/3 of the available width, minus |
| padding, and to include a reset_cursor() call so that the |
| cursor is always in the right place. |
| bottombars() |
| - Call blank_bottombars() instead of blank_bottomwin(). (David |
| Benbennick) |
| check_statblank() |
| - Overhaul for efficiency, (David Benbennick) DLR: Add |
| reset_cursor() call to ensure that the cursor is always in the |
| right place. |
| update_cursor() |
| - Removed, as it's no longer called anywhere. (David Benbennick) |
| edit_refresh() |
| - Remove apparently unneeded leaveok() calls. (David Benbennick) |
| edit_refresh_clearok(), center_cursor() |
| - Removed, as they are now unnecessary. (David Benbennick) |
| statusq() |
| - Don't allow "Full Justify" when in view mode. (DLR) |
| statusbar() |
| - Call reset_cursor() just before refreshing the edit window, so |
| that slang and other non-ncurses versions of curses will |
| properly place the cursor back in the edit window instead of |
| leaving it at the end of the statusbar. (DLR) |
| do_help() |
| - Overhaul for efficiency, and allow scrolling through the help |
| via the arrow keys as well as the paging keys. (David |
| Benbennick) DLR: Revert the use of the return value of |
| curs_set() to restore the previous state of the cursor, as |
| some curses implementations (including slang) get it wrong, |
| and explicitly turn the cursor off where needed instead. |
| do_credits() |
| - Use napms() instead of nanosleep(), as it does the same thing |
| (aside from taking an argument in milliseconds instead of |
| microseconds) and curses includes it. (DLR) |
| - Overhaul for efficiency, and make sure the xlcredits |
| translations are done after initialization in order to avoid |
| an error when compiling with -pedantic. (David Benbennick) |
| do_yesno() |
| - Add a comment to encourage translators to use both native and |
| English shortcuts, if possible. (Jordi) |
| - configure.ac: |
| - Add tests for isblank(), strcasestr(), and strnlen(), and |
| define _GNU_SOURCE so that the tests work properly. Increase |
| the minimum required autoconf version to 2.54. (DLR) |
| - Reformat the test programs so that they aren't packed into |
| fewer lines than usual, so as to make them easier to read, and |
| remove unnecessary inclusion of stdio.h in the slang test |
| programs. (DLR) |
| - Remove the checks for resizeterm() and wresize(), as they're |
| no longer needed. (DLR) |
| - config.rpath: |
| - Replace usage of egrep with grep -E, avoiding a XSI:ism (David |
| Weinehall) |
| - faq.html: |
| - Removed question about the NumLock glitch, as it's no longer |
| needed. (DLR) |
| - nano.1: |
| - Document restricted mode. (IO ERROR) DLR: Add minor |
| modifications to account for the above changes. |
| - Document the smart home key option. (DLR) |
| - Document the use of the SPELL environment variable. (DLR) |
| - nanorc.5: |
| - Document the smart home key option. (DLR) |
| - Document the whitespace option. (DLR, adapted from |
| documentation by Mike Frysinger) |
| - Document the punct and brackets options. (DLR) |
| - nano.texi: |
| - Fix toggle inaccuracies: Meta-L now toggles line wrapping, and |
| Meta-< and Meta-> aren't toggles. (DLR) |
| - Document restricted mode. (IO ERROR) DLR: Add minor |
| modifications to account for the above changes. |
| - Fix version number inaccuracies: Search/replace history and |
| sorting/uniqueness filtering for the internal spell checker |
| were added in nano 1.1.99pre1. (DLR) |
| - Document the smart home key option. (DLR) |
| - Document the use of the SPELL environment variable. (DLR) |
| - nanorc.sample: |
| - Add missing mouse entry, and update the nanorc sample regexes |
| to account for the backupdir and mouse options. (DLR) |
| - Add smarthome description. (DLR) |
| - Document the whitespace option. (DLR, adapted from |
| documentation by Mike Frysinger) |
| - README.CVS: |
| - Increase the minimum required autoconf version to 2.54, and |
| change the recommended automake version 1.7 to the minimum |
| required automake version. Note that autoconf 2.54 will |
| technically also work with automake 1.6c, but that is a CVS |
| version as opposed to a stable release version, and automake |
| 1.7 requires at least autoconf 2.54 in any case. (DLR) |
| - TODO: |
| - Added entry for justifying the entire file at once, since Pico |
| can do it, and with "[DONE]" since it's already been |
| implemented. (DLR) |
| |
| GNU nano 1.3.2 - 2004.03.31 |
| - General: |
| - Change instances in the code that refresh the entire edit |
| window when color support is enabled (in order to properly |
| handle multi-line color regexes) to only do so when |
| it's necessary, i.e. when COLOR_SYNTAX is set. (DLR) |
| - Minor cosmetic tweaks to the code involving direction keys. |
| NANO_UP_KEY and NANO_DOWN_KEY are now NANO_PREVLINE_KEY and |
| NANO_NEXTLINE_KEY, and the help messages for them have been |
| changed accordingly. Also remove extraneous references to |
| NANO_DOWN_KEY in the search history shortcut entries. (DLR) |
| - Add NANO_UNJUSTIFY_FKEY (the same as NANO_UNCUT_FKEY) to the |
| shortcut list, and tweak the unjustify routine to use it. |
| Also add NANO_FIRSTLINE_FKEY and NANO_LASTLINE_FKEY, and tweak |
| the statusbar input routines to handle them and NANO_HELP_FKEY |
| properly. (DLR) |
| - Block SIGWINCH after setting up its handler, and only unblock |
| and handle it when we're in a stable state, i.e. when we're |
| waiting for input from the user. New function |
| allow_pending_sigwinch(); changes to signal_init(), |
| get_kbinput(), and get_verbatim_kbinput(). (DLR) |
| - Decouple the paragraph searching code and the justifying code. |
| Removed function do_para_operation(); new function |
| do_para_search(); changes to do_justify(). (DLR) |
| - Add -E/--backupdir option. When used with -B/--backup, backup |
| files will be saved in the specified directory with their |
| canonical pathnames encoded in their names (all '/'s replaced |
| with '!'s). Changes to write_file(). (Martin Ehmsen) DLR: |
| Add function init_backup_dir() to handle relative paths |
| correctly, use get_full_path() to get the canonical pathname, |
| and use tail() to get the filename if get_full_path() fails. |
| - Port to the Tandem NonStop Kernel (nsr-tandem-nsk). (Tom |
| Bates; minor tweaks by DLR) |
| - Change some instances of boolean 0 and 1 to TRUE and FALSE. |
| (David Benbennick) |
| - Fix memory corruption problem occurring when answer is used as |
| the value of def; if the realloc() of answer leads to its |
| pointing to a different memory block, there will be a segfault |
| when the value of def is copied into it via strcpy(). |
| (bort@alltel.net, Christian Weisgerber, David Benbennick, and |
| DLR) |
| - Remove the last editbot references, to avoid any potential |
| segfaults related to them. Also remove fix_editbot(), as it's |
| no longer needed. (David Benbennick) |
| - Rename several variables to make their use clearer and to |
| avoid conflicts. (DLR) |
| - Set the input mode before turning the keypad on. (DLR) |
| - cut.c: |
| add_to_cutbuffer() |
| - Add parameter allow_concat to determine whether we're allowed |
| to concatenate strings in the cutbuffer. (DLR) |
| - files.c: |
| do_insertfile() |
| - Wrap one reference to NANO_EXTCMD_KEY in a NANO_SMALL #ifdef. |
| (DLR) |
| - Save the already-typed answer when switching from "Insert |
| File" to "Execute Command" mode via Ctrl-X, just in case we |
| started typing a command before switching. (DLR) |
| add_open_files() |
| - Make the saving of marked status in open_files->file_flags |
| work properly again; a tweak to the ISSET() macro in 1.3.0 |
| to make it only return 0 or 1 broke it. (DLR) |
| write_marked() |
| - New function used to write the current marked selection to a |
| file, split out from do_writeout(). (DLR) |
| do_writeout() |
| - Tweak for efficiency. (David Benbennick) DLR: Modify to have |
| the current answer preserved between toggles again. |
| filestat() |
| - Removed, as it is only called in one place and is |
| redundant. (DLR) |
| do_browser() |
| - Replace the filestat() call with an equivalent stat() call. |
| (DLR) |
| - global.c: |
| shortcut_init() |
| - Only allow verbatim input when we're not in view mode. (DLR) |
| - Set the associated function for unjustify to 0 instead of |
| do_uncut_text(), since it's currently unused. (DLR) |
| - nano.c: |
| usage() |
| - Clarify the description for -T/--tabsize a bit. (DLR) |
| do_verbatim_input() |
| - Remove the now-unneeded code to disable XON, XOFF, and |
| suspend, since we now go into raw mode in |
| get_verbatim_kbinput() and bypass them. (DLR) |
| do_next_word() |
| - Simplify and remove references to editbot so as to avoid a |
| segfault. (David Benbennick) |
| do_prev_word() |
| - Simplify and remove references to edittop. (David Benbennick) |
| do_int_speller(), do_alt_speller(), do_spell() |
| - Modify to write only the current selection from a file to the |
| temporary file used for spell checking when the mark is on, |
| and add a few miscellaneous cosmetic cleanups. (DLR) |
| do_int_spell_fix() |
| - Store the value of current_x in a size_t instead of an int, |
| and add a few minor efficiency tweaks. (David Benbennick) |
| - Remove comment explaining why findnextstr() is called with |
| bracket_mode set to TRUE even though we aren't doing a bracket |
| search, since after the above efficiency tweaks, it's now more |
| accurately called can_display_wrap. (DLR) |
| indent_length() |
| - Remove unneeded #ifdef. (David Benbennick) |
| do_justify() |
| - Remove references to the now-unneeded JUSTIFY_MODE flag. (DLR) |
| signal_init() |
| - Trap SIGQUIT in addition to turning it off via termios in |
| main(). This is consistent with SIGINT, which we trap here |
| and turn off via termios in main(), as well as with the |
| associated comment. (DLR) |
| handle_sigwinch() |
| - Set keypad() to TRUE and switch to cbreak mode just before |
| calling siglongjmp(), in case we resized during verbatim |
| input. (DLR) |
| main() |
| - Move the call to raw() on systems that don't define |
| _POSIX_VDISABLE outside the main input/output loop, as it |
| doesn't need to be called every time through the loop. Call it |
| instead of cbreak() on such systems, as it overrides cbreak() |
| anyway. (DLR) |
| - Add more descriptive comments explaining the termios and |
| curses setup routines, and turn the keypad on before setting |
| the input mode. (DLR) |
| - Remove stray HAVE_GETOPT_LONG #ifdefs. (DLR) |
| - Don't call keypad() before initializing the windows it needs |
| via window_init(). (DLR) |
| - nano.h: |
| - Move the NANO_H include guard up before the first #include. |
| (DLR) |
| - Remove the now-unneeded JUSTIFY_MODE flag. (DLR) |
| - search.c: |
| regexp_cleanup() |
| - Only do anything if REGEXP_COMPILED is set. (David Benbennick) |
| search_abort() |
| - Only test if the mark is set when NANO_SMALL isn't defined. |
| (David Benbennick) |
| search_init() |
| - Add some more comments and comment tweaks, don't indicate that |
| the search has been canceled when we enter a blank string in |
| replace mode, only call regexp_init() when USE_REGEXP is set, |
| and return -1 instead of -3 since a canceled search and a |
| canceled replace should be mostly equivalent. (David |
| Benbennick) DLR: Tweak to use the old behavior if we try to |
| search for invalid regexes. |
| findnextstr() |
| - Refactor to use a loop invariant, and tweak for greater |
| efficiency and simplicity. Also modify so that all searches |
| start one character after (or before, if we're doing a |
| backwards search) the current one, as opposed to all searches |
| except for regex searches for "^" and the like, for |
| consistency with other searches. (David Benbennick) |
| do_search() |
| - Handle search_init()'s no longer returning -3 above. (David |
| Benbennick) |
| - Port the code from do_replace_loop() to skip the current line |
| if we're searching for a regex with "^" and/or "$" in it and |
| end up on the same line to this function. This fixes a |
| problem where doing a forward search for "^" on a file with |
| more than one line would erroneously stop at the magicline and |
| indicate that that was the only occurrence. (DLR) |
| do_research() |
| - Port David Benbennick's efficiency tweaks and the |
| aforementioned code ported from do_replace_loop() to this |
| function. (DLR) |
| replace_regexp() |
| - Completely refactor for increased efficiency. (David |
| Benbennick) |
| replace_line() |
| - Use a char* parameter for the replacement string instead of |
| last_search, and add minor efficiency tweaks. (David |
| Benbennick) |
| do_replace_loop() |
| - Fix segfault when doing a regex replace of a string that |
| matches inside a line (e.g. replace the "b" in "abc" with |
| anything). (David Benbennick) |
| - If the mark is on at the beginning of the function, turn it |
| off and turn it back on just before returning. Also overhaul |
| to rely on the return value of findnextstr() instead of a loop |
| invariant, to not need to take an int* parameter, and store |
| the beginning x-coordinate in a size_t instead of an int. |
| (David Benbennick) |
| do_replace() |
| - Handle search_init()'s no longer returning -3 above, and add |
| efficiency tweaks. (David Benbennick) DLR: Tweak to follow |
| the old behavior of adding non-blank strings entered at the |
| "Replace: " prompt to the search history. (DLR) |
| do_gotoline() |
| - Simplify the edit_update() call depending on the value of |
| save_pos. (David Benbennick) |
| do_bracket() |
| - Add efficiency tweaks. (David Benbennick) DLR: Remove |
| reliance on the hardcoded bracket string length; instead, only |
| require that the bracket string length be even. |
| - utils.c: |
| regexec_safe() |
| - Wrap in HAVE_REGEX_H #ifdefs. (DLR) |
| regexp_bol_or_eol() |
| - New function used to check if a regex contains "^" and/or "$", |
| assuming that the regex would be found if the REG_NOT(BOL|EOL) |
| flags aren't used in the regexec() call; it replaces the |
| direct regexec()s used before. (DLR) |
| strstrwrapper() |
| - Refactor for increased efficiency, and eliminate the need for |
| the line_pos parameter. (David Benbennick) |
| mallocstrcpy() |
| - Tweak so that when src is "", "" is allocated and returned |
| instead of NULL. (David Benbennick) |
| - winio.c: |
| get_verbatim_kbinput() |
| - Set keypad() to FALSE and switch to raw mode while reading |
| input, and set it back to TRUE and go back into cbreak mode |
| mode afterwards. (Note that if _POSIX_VDISABLE isn't defined, |
| we don't need to change to or from raw mode since we're |
| already in it exclusively.) This ensures that we don't end up |
| reading in extended keypad values that are outside the ASCII |
| range or having to deal with interrupt-generating key values. |
| Also, with keypad() set to TRUE, xterm generates KEY_BACKSPACE |
| when the user hits Ctrl-H, which, when cut down to ASCII |
| range, ends up being Ctrl-G, which can be confusing. (DLR) |
| - For consistency with get_kbinput(), use an int* to store and |
| return the input instead of a char*, and tweak the functions |
| that call it to handle this. (DLR) |
| get_accepted_kbinput() |
| - Don't use "kbinput = wgetch(win)" as a switch value. (DLR) |
| get_escape_seq_kbinput() |
| - Add support for the escape sequences for F1-F14 whenever |
| possible (i.e. whenever a conflict doesn't occur), some |
| additional comments, and a few cosmetic cleanups. (DLR) |
| - Use switch statements instead of strncmp() to read in the long |
| xterm sequences for Ctrl-[arrow key] and Shift-[arrow key]. |
| (DLR) |
| get_escape_seq_abcd() |
| - A resurrected version of the old abcd() function, readded in |
| order to simplify get_escape_seq_kbinput(). (DLR) |
| get_mouseinput() |
| - Interpret shortcut key values slightly more stringently when |
| ungetch()ing them. (DLR) |
| strlenpt() |
| - Properly cast the second parameter of the strnlenpt() call to |
| size_t. (DLR) |
| get_page_start() |
| - For consistency, tweak so that scrolling always occurs when we |
| try to move onto the "$" at the end of the line, as opposed to |
| (a) when we move onto the "$" at the end of the line on the |
| first page and (b) when we move onto the character just before |
| the "$" on subsequent pages. (DLR) |
| reset_cursor() |
| - Tweak for efficiency. (David Benbennick) |
| edit_refresh() |
| - Tweak for efficiency. (David Benbennick) |
| statusq() |
| - Rename "tabs" to "allowtabs". (David Benbennick) |
| do_credits() |
| - Use nanosleep() instead of usleep(). The latter is only |
| standard under BSD, whereas the former is POSIX compliant. |
| Accordingly, only include time.h if we use this function, i.e. |
| if NANO_EXTRA is defined. (DLR) |
| - Add explanatory comment. (DLR) |
| - configure.ac: |
| - Change instances of "int main ()" to "int main(void)". (DLR) |
| - faq.html: |
| - Fixed inaccuracy: multibuffer mode was first in nano 1.1.0, |
| not 1.1.12. (DLR) |
| - nano.1, nanorc.5, nano.texi |
| - Clarify the description for -T/--tabsize a bit. (DLR) |
| - Add -E/--backupdir description. (Martin Ehmsen; minor cosmetic |
| fixes by DLR) |
| - nanorc.sample: |
| - Add backupdir description. (Martin Ehmsen; minor cosmetic |
| fixes by DLR) |
| - README: |
| - Reformat to 72 characters per line, fix wording in one spot, |
| and fix spacing and capitalization in several spots. (DLR) |
| - NEWS: |
| - Capitalization fix. (DLR) |
| - TODO: |
| - Clarify the paragraph searching item, and add item for |
| filename searches in the file browser. (DLR) |
| |
| GNU nano 1.3.1 - 2004.01.09 |
| - General: |
| - Minor overhaul and abstraction of the lowest level of mouse |
| input, mostly adapted from the code in do_mouse() that handles |
| clicking on the shortcut list. New function do_mouseinput(); |
| changes to do_mouse(). (DLR) David Benbennick: Add a few |
| efficiency/extensibility tweaks. |
| - Modify the shortcut structure so that instead of having two |
| miscellaneous key values (misc1 and misc2), there is one key |
| value reserved for function keys (func_key) and one |
| miscellaneous key value (misc), and tweak the |
| shortcut-handling code to deal with this. These changes allow |
| NANO_OPEN(PREV|NEXT)_ALTKEY to work properly when added to the |
| shortcut entries for NANO_OPEN(PREV|NEXT)_KEY. Also remove |
| the values in the shortcut list and elsewhere that were made |
| redundant by the low-level input overhaul, use toupper() |
| instead of subtracting 32 from values for greater code |
| readability, and eliminate use of adding 32 to values when |
| testing for toggles, as get_kbinput_accepted() converts toggle |
| values to lowercase before returning them. (DLR) |
| - Remove the workarounds for missing KEY_UP and KEY_DOWN, as |
| they appear to be holdovers of the old way of denoting the |
| search history shortcuts; if they aren't defined, KEY_LEFT and |
| KEY_RIGHT probably shouldn't work either, and all four appear |
| to be standard keys in termcap/terminfo in any case. Add new |
| special sentinel key values NANO_NO_KEY (for no shortcut key) |
| and NANO_HISTORY_KEY (for search history keys, both Up and |
| Down), modify the shortcut list to use them, and modify the |
| shortcut display routines to handle them. Also modify the |
| shortcut list code to not treat non-control character values |
| of val as Meta-sequences, and fix dependencies on that |
| behavior. Also rename several variables: "alt" -> "meta", |
| "altval" -> "metaval". (DLR) |
| - Hook up the verbatim input functions so that verbatim input |
| can be used in the edit window. New function |
| do_verbatim_input(); changes to do_char(). (DLR) Additional |
| minor tweaks to do_char() by David Benbennick. |
| - Clarify the description of the --rebinddelete option. (DLR) |
| - Miscellaneous comment tweaks, and copyright year updates in |
| the comments and in do_credits(). (DLR) |
| - cut.c: |
| - Overhaul to increase efficiency and add various cleanups. |
| Changes to add_to_cutbuffer(), cut_marked_segment(), and |
| do_uncut_text(). (David Benbennick) |
| - files.c: |
| check_operating_dir() |
| - Add an assert to ensure that full_operatingdir isn't NULL, |
| a fix for reporting nonexistent (incomplete) directory names |
| as being outside the operating directory when tab completion |
| is being used, and cosmetic cleanups. (David Benbennick) |
| copy_file() |
| - New function used to create a copy of a file, split out from |
| do_writeout(). (David Benbennick) |
| write_file() |
| - Completely overhauled to properly ignore appending/prepending |
| to symlinks when NOFOLLOW_SYMLINKS is defined, to properly |
| support writing a selection to a file under the changed |
| cutting code, to have more concise error messages, to add |
| various cleanups, and so on. (David Benbennick) |
| do_writeout() |
| - Prompt the user if we're trying to save an existing file (and |
| not just a selection of it) under a different name. (DLR; |
| suggested by Jean-Philippe Guérard) |
| - Overhaul the code used to write a selection of a file to |
| temporarily set fileage and filebot to the top and bottom of |
| the selection and then call write_file(), instead of following |
| the old hackish behavior with cut_marked_segment() (which |
| won't work after the cutting code changes anyway). (David |
| Benbennick) DLR: Tweak to not add an extra blank line to the |
| end of the written selection if the cursor is at the beginning |
| of the last line of the selection. |
| open_prevfile(), open_nextfile() |
| - For consistency with the rest of the multibuffer code, change |
| "No more open files" to "No more open file buffers". (DLR) |
| do_browser() |
| - Allow '?' to open the help browser, and readd the ability of |
| 'G'/'g' to open the "Go to Directory" prompt (which was |
| erroneously removed before), for compatibility with Pico. |
| (DLR) |
| - global.c: |
| shortcut_init() |
| - Allow WHEREIS_NEXT_KEY to be used in view mode. (DLR) |
| - nano.c: |
| do_int_spell_fix() |
| - Add comment explaining why findnextstr() is called with |
| bracket_mode set to TRUE even though we aren't doing a bracket |
| search. (DLR) |
| do_para_operation() |
| - Convert to use the new low-level input functions. (DLR) |
| main() |
| - Remove unused variable option_index. (DLR) |
| - Fix omission of NANO_NO_KEY in the shortcut list scanning |
| code. (DLR) |
| - Remove now-unnecessary initialization of kbinput. (DLR) |
| - nano.h: |
| - Comment additions and cosmetic tweaks. (DLR) |
| - search.c: |
| findnextstr(), do_replace_loop() |
| - Fix potential infinite loops and other misbehavior when doing |
| beginning-of-line or end-of-line regex replacements ("^", "$", |
| and "^$"). Add a no_sameline parameter to findnextstr(), and |
| set it in the calls in do_replace_loop() when such regexes are |
| found, so that such regexes are only found once per line. |
| Also change length_change from a long to an int; size_t is |
| unsuitable due to its being unsigned. (DLR; found by Mike |
| Frysinger and DLR) David Benbennick: Add a few minor cleanups |
| to do_replace_loop(). |
| - winio.c: |
| get_kbinput(), get_accepted_kbinput() |
| - Don't pass in the value of the REBIND_DELETE flag anymore. |
| Instead, handle it directly inside the functions. (DLR) |
| get_accepted_kbinput() |
| - Translate Ctrl-8 into NANO_DELETE_KEY (or NANO_BACKSPACE_KEY |
| if REBIND_DELETE is set), since it apparently is generated |
| sometimes even when keypad() is TRUE. (DLR) |
| - Translate KEY_SLEFT into NANO_BACK_KEY and KEY_SRIGHT into |
| NANO_FORWARD_KEY, since they are sometimes generated by |
| Shift-Left and Shift-Right. (DLR) |
| get_ascii_kbinput() |
| - Tweak to make it slightly more readable. (DLR) |
| get_verbatim_kbinput() |
| - Modify to take an extra parameter indicating if we should |
| interpret ASCII codes or not. (DLR) |
| get_escape_seq_kbinput() |
| - Expand to deal with more broken terminals that don't generate |
| keypad values. Support the escape sequences for Insert, |
| Delete, Home, End, PageUp, and PageDown, [arrow key], |
| Ctrl-[arrow key], and Shift-[arrow key] when needed in the |
| Linux console, the FreeBSD console, the Hurd console, xterm, |
| rxvt, and Eterm. Also, use get_verbatim_kbinput(), with ASCII |
| interpretation disabled, to read in the sequences. (DLR) |
| get_skip_tilde_kbinput() |
| - Removed, as it is unneeded due to the expansion of |
| get_escape_seq_kbinput(). (DLR) |
| get_mouseinput() |
| - Modify to take an extra parameter indicating if we should |
| ungetch() the key equivalents of shortcuts we click on or not. |
| (DLR) |
| nanogetstr() |
| - Properly interpret the Meta key value in misc if we hit it at |
| the statusbar prompt. (DLR) |
| do_yesno() |
| - Add a few efficiency/extensibility tweaks. (David Benbennick) |
| - Convert to use the new low-level input functions, and remove |
| two last hardcoded widths left after the above tweaks. (DLR) |
| do_replace_highlight() |
| - Display a highlighted space if the word length is zero, so |
| that we can see zero-length regexes we're replacing. (DLR; |
| suggested by Mike Frysinger) |
| - configure.ac: |
| - Check for glib 2.x and then 1.2.x if we need glib. (DLR) |
| - faq.html: |
| - Add question explaining how verbatim input works, as well as a |
| few minor fixes. (DLR) |
| - nano.1, nanorc.5: |
| - Add nano version numbers (minus any "-cvs" suffixes). (DLR) |
| - nano.spec.in: |
| - Update for the 1.3 branch of nano. (DLR) |
| - NEWS: |
| - Reformat so all lines are limited to 72 columns, add a few |
| typo fixes, and make a few minor cosmetic cleanups. (DLR) |
| - THANKS: |
| - Add Danilo Segan, for the Serbian translation. |
| |
| GNU nano 1.3.0 - 2003.10.22 |
| - General: |
| - Complete overhaul and abstraction of the lowest level of |
| keyboard input, mostly rewritten but incorporating a few bits |
| from the old functions and adding support for Pico's Esc Esc |
| [three-digit decimal ASCII code] input method. New functions |
| get_kbinput(), get_verbatim_kbinput(), get_ignored_kbinput(), |
| get_accepted_kbinput(), get_ascii_kbinput(), |
| get_escape_seq_kbinput(), and get_skip_tilde_kbinput(). These |
| should work properly on FreeBSD (due to code and input |
| provided by Lee Nelson and Wouter van Hemel, respectively). |
| (DLR) |
| - The -K/--keypad command line/rcfile option has been removed, |
| and keypad() is now always TRUE. keypad_on() in winio.c and |
| the check for _use_keypad in configure.ac have both been |
| removed. (DLR) |
| - The -d/--rebinddelete command line/rcfile option, equivalent |
| to Pico's -d, has been added. It is intended to work around |
| the problem with Backspace/Delete confusion on some terminals, |
| notably FreeBSD; if your Backspace key acts like Delete, this |
| option will fix that. (DLR) |
| - Remove unneeded breaks at the ends of default: clauses. (DLR) |
| - Add the ability to repeat the last search without prompting |
| via Meta-W, and move the line wrapping toggle to Meta-L. New |
| function do_research(). (Wouter van Hemel) |
| - Added the ability to move to the beginning or end of the |
| paragraph, which Pico has via ^W^W (previous paragraph) |
| and ^W^O (next paragraph). Changes to do_justify(); new |
| functions do_para_operation(), do_para_begin(), and |
| do_para_end(). Note that the last three functions are |
| disabled if justification is disabled. (DLR) |
| - Make sure the "historylog" option isn't included at all if |
| NANO_SMALL is defined. (DLR) |
| - Source reorganization: move code to src/, docs to doc/. |
| (Jordi) |
| - Translation updates (see po/ChangeLog for details). |
| - Since SAMELINEWRAP is only used in nano.c, make it a static |
| variable in nano.c instead of a flag, and surround all |
| wrap_reset() calls with DISABLE_WRAPPING #ifdefs. (DLR) |
| - Change enum "topmidbotnone" to "topmidnone", as there's no |
| BOTTOM option anymore. (DLR) |
| - Split out the string-displaying routine from update_line() |
| into a separate function; convert the edit window, statusbar |
| display, and statusbar prompt to use it, so that they can all |
| properly display control characters and tabs; free and NULL |
| the backup search string in one place in the search code |
| instead of several; and do some other minor refactoring of |
| related display functions to simplify them. New functions |
| mark_order() and display_string(); new macro charmove(); |
| changes to actual_x(), strnlenpt(), blank_bottombars(), |
| blank_edit(), get_page_start(), edit_add(), update_line(), |
| statusbar(), and do_replace_highlight(). (David Benbennick) |
| DLR: Add minor cosmetic tweaks, add missing NANO_SMALL #ifdef |
| around the text for a backwards search in the refactored code, |
| and enclose dump_buffer() and dump_buffer_reverse() in one |
| ENABLE_DEBUG #ifdef instead of two. |
| - Convert memmove() function calls to charmove() macro calls, as |
| the former all work on char*'s. (DLR) |
| - Miscellaneous #define cleanups: only include the prototype for |
| and definition of wrap_at if wrapping and/or justification are |
| enabled, remove duplicate wrap_at prototype, and define |
| DISABLE_MOUSE if NCURSES_MOUSE_VERSION isn't defined in nano.h |
| instead of all over the code. (DLR) |
| - Autogenerate the html versions of the manpages in the |
| Makefile.am's in doc/man/, make sure that they're properly |
| installed via "make dist", and make sure that "make distcheck" |
| works too. Also be sure to set EXTRA_DIST properly. (Jordi, |
| DLR and Jeff Bailey) |
| - files.c: |
| read_file() |
| - After we've read in a file and possibly converted it from |
| DOS/Mac format, set fileformat back to 0 to prevent erroneous |
| conversion messages when we read other files in. (DLR) |
| do_browser() |
| - Some of the Pico compatibility options in the file browser |
| that don't work properly for current Pico have been removed. |
| Backspace, 'g', 'l', 'q', and 'u' are invalid. 'd' deletes |
| the highlighted file, and 'r' renames the highlighted file; |
| neither of these are implemented. (DLR) |
| - global.c: |
| toggle_init() |
| - Change the message for the line wrapping toggle from "Auto |
| wrap" to "Auto line wrap", to more clearly associate it with |
| Meta-L. (DLR) |
| shortcut_init() |
| - Change multibuffer-enabled references to |
| opening/closing/toggling the previous/next loaded file to |
| toggling/switching to/closing the previous/next file buffer, |
| for consistency with other references. (DLR) |
| - nano.c: |
| window_init() |
| - Set keypad() to TRUE regardless of whether PDCurses is being |
| used, as Meta-X apparently turns it off even under ncurses. |
| (DLR) |
| do_backspace() |
| - Vastly simplify, and remove dependency on page_up(). (David |
| Benbennick) |
| help_init() |
| - Document the support for Esc Esc [character]'s being |
| interpreted as Ctrl-[character], and the support for Pico's |
| Esc Esc [three-digit decimal ASCII code] input method. (DLR) |
| do_mark() |
| - Toggle MARK_ISSET at the beginning of the function instead of |
| setting it in one place and unsetting it in another place. |
| (David Benbennick) |
| do_suspend() |
| - Use handle_hupterm() to handle SIGHUP and SIGTERM so we can |
| properly deal with them while nano is suspended. (DLR; problem |
| found by David Benbennick) |
| abcd() |
| - Removed, as it's unneeded due to the low-level input overhaul. |
| (DLR) |
| - nano.h: |
| - Define KEY_RESIZE and KEY_SUSPEND as -1 when slang is used, as |
| slang has no equivalent of either. When nano is compiled with |
| slang support, resizing the window doesn't generate |
| KEY_RESIZE, and pressing Ctrl-Z to suspend nano at the Linux |
| console with keypad(TRUE) generates Ctrl-Z instead of |
| KEY_SUSPEND, both unlike ncurses. (DLR) |
| - Define KEY_RESIZE as -1 if it isn't defined, as it isn't in |
| the curses library included with SunOS 5.7-5.9. Also define |
| KEY_SUSPEND as -1 if it isn't defined, in case it isn't in |
| more than just Slang. (DLR) |
| - Define all potentially missing keys as different negative |
| values (ERR is -1, so use -2, -3, etc.) so as to avoid having |
| duplicate case values when keys are missing. (DLR) |
| - move.c: |
| - Remove unneeded inclusion of stdio.h, make various cleanups, |
| and preserve the cursor's coordinates when paging up and down. |
| (David Benbennick) DLR: Readd the ability to behave the old |
| way while paging, make it so the new behavior is only used in |
| smooth-scrolling mode, and modify page_down() to always go |
| down a full page (even when there's less than one page of text |
| left) for consistency. |
| page_up() |
| - Removed due to rewrite of movement functions. (David |
| Benbennick) |
| - proto.h: |
| - Surround the do_prev_word() and do_next_word() prototypes with |
| NANO_SMALL #ifdefs, since the actual functions aren't included |
| in tiny mode. (DLR) |
| - rcfile.c: |
| parse_colors() |
| - Generate an error if we try to use a bright background color |
| in a nanorc file. (DLR; found by Brand Huntsman) |
| - Make sure all rcfile error messages are capitalized, for |
| consistency. (DLR) |
| - winio.c: |
| get_verbatim_kbinput() |
| - Fix a silly memory corruption bug that would occur when trying |
| to read a sequence of more than one key verbatim. (DLR) |
| get_accepted_kbinput() |
| Handle Ctrl-{ to Ctrl-~ correctly, and drop support for |
| converting Esc ` to Esc Space, since making Meta-[key] |
| correspond to Ctrl-[key] in all cases is inconsistent due to |
| the different natures of Contol and Meta key sequences. (DLR) |
| do_first_line() |
| - Call edit_update() with TOP instead of CENTER; both do the |
| same thing, but it works faster with TOP. (DLR) |
| nanogetstr() |
| - Don't let the user type in ASCII 127 at the statusbar prompt. |
| (DLR) |
| titlebar() |
| - Fix problem with the available space for a filename on the |
| titlebar's being short by one. (DLR) |
| edit_add() |
| - Fix problems with the marking highlight's being drawn |
| improperly in some cases. (DLR) |
| edit_update() |
| - Tweak for efficiency and remove the fix_editbot() call. (David |
| Benbennick) |
| do_credits() |
| - Update the copyright years to "1999-2003", to match those |
| given in the rest of the code. (DLR) |
| - configure.ac: |
| - Change instances of "GNU Nano" to "GNU nano" for consistency. |
| (DLR) |
| - nano.1, nanorc.5, nano.texi: |
| - Change all instances of $SYSCONFDIR to SYSCONFDIR, since |
| SYSCONFDIR is set at compile time and can't be overridden by |
| setting SYSCONFDIR in the environment. (David Benbennick) |
| - Remove -K/--keypad, and document -d/--rebinddelete. (DLR) |
| - Document the support for Esc Esc [character]'s being |
| interpreted as Ctrl-[character], and the support for Pico's |
| Esc Esc [three-digit decimal ASCII code] input method, if |
| applicable. (DLR) |
| - French translation by Jean-Philippe Guérard. |
| - nano.1.html, nanorc.5.html: |
| - Regenerated. (DLR) |
| - nanorc.sample: |
| - Remove duplicate "historylog" entry, remove "keypad" entry, |
| and add "rebinddelete" entry. (DLR) |
| - Update and add comments to the regexes for nanorc files. |
| (Brand Huntsman) |
| - Fix an attempt at a bright background color in the sample Java |
| source regexes. (DLR) |
| - Since tabs are shown as groups of spaces, they are interpreted |
| as such when parsed by color regexes. Accordingly, simplify |
| regexes that handle both spaces and tabs to just handle |
| spaces, as the results are the same. (DLR) |
| - AUTHORS: |
| - Updated to show 1.2/1.3 maintainers. |
| |
| - 1.3 tree forks here |
| |
| GNU nano 1.2.2 - 2003.08.11 |
| - General: |
| - Translation updates (see po/ChangeLog for details). |
| - Change uncast nrealloc()s assigned to char pointers/arrays to |
| charealloc()s, and cast all other nrealloc()s and all |
| nmalloc()s. (David Benbennick and DLR) |
| - Remove gettext marks from all debug messages. Good for developers, |
| better for translators. (Jordi) |
| - Add translator comments on strings that should be short, like in |
| status bar strings, etc. (Jordi) |
| - utils.c: |
| align() |
| - Tweak to avoid a potential problem when strp is non-NULL but |
| *strp is NULL. (David Benbennick) |
| nstricmp(), nstrnicmp() |
| - Add these functions, equivalent to strcasecmp() and |
| strncasecmp(), and convert nano to use them when strcasecmp() |
| and/or strncasecmp() are unavailable. (DLR) |
| - winio.c: |
| do_help() |
| - Get rid of keypad_on() call for bottomwin, which should not be |
| needed (DLR). |
| nanogetstr() |
| - Fix problem with search history where a temporary string |
| added at the bottom of the history (but which was not in the |
| history) would not be preserved after scrolling down to the |
| blank bottom entry and then scrolling back up. (DLR) |
| - Fix problem where pressing down,up,down does not blank the |
| search prompt but keeps the previous search (DLR). |
| - Handle Alt-[-F and H (DLR, fixed home and end not working with |
| -K in statusbar). |
| - configure.ac: |
| - Change the program used to detect a broken regexec() function |
| so that it works properly, using information found at |
| http://sources.redhat.com/ml/libc-hacker/2001-06/msg00015.html. |
| (DLR) |
| - nanorc.sample: |
| - Revised comment explaining the non-escaping of quotes to cover |
| non-escaping of all shell-interpreted characters. (DLR) |
| - Fixes to the descriptions and examples in the comments, and |
| changes to some default values. (David Benbennick and DLR) |
| - Add regexes for Perl syntax. (Richard Smith, tweaked for |
| greater efficiency by David Benbennick) |
| - Add regexes for Java source syntax. (David Benbennick) |
| Regex for C++-style comments (colored the same way as C-style |
| comments) added by DLR. |
| - THANKS: |
| - Added Laurentiu Buzdugan, for Romanian. |
| - Added Geir Helland, for Norwegian BokmĂĄl. |
| - TODO: |
| - Move the items for nano 1.2 to the "Old Requests" section, |
| and mark color syntax highlighting as done. (David Benbennick) |
| - faq.html: |
| - Added question about nano's not showing color when it's |
| compiled with color support. (DLR; suggested by Jordi) |
| - nano.1, nanorc.5: |
| - Formatting improvements by Jean-Philippe Guérard. |
| - Minor fixes by DLR. |
| - nano.1.html, nanorc.5.html: |
| - Regenerated from nano.1 and nanorc.5. (DLR) |
| |
| GNU nano 1.2.1 - 2003.04.19 |
| - General: |
| - Translation updates (see po/ChangeLog for details). |
| - Work around broken regexec() on some systems that segfaults |
| when passed an empty string. This is known to be in glibc |
| 2.2.3. New function regexec_safe(). (David Benbennick) |
| - Fix various bugs with search string history logging: don't |
| print a broken error message and freeze if ~/.nano_history is |
| unreadable, actually show an error message in save_history() |
| if ~/.nano_history is unwritable, and prevent ~/.nano_history |
| from being completely overwritten by save_history() if it's |
| unreadable but writable. (David Benbennick) |
| - Only unset KEEP_CUTBUFFER in main() when we do something other |
| than cut text in the main input loop, instead of unsetting it |
| all over the place (which, as written, didn't handle cases |
| like a cut followed by M-Space properly). Also, instead of |
| checking for keyhandled's not being set inside the for loops, |
| do it in if blocks surrounding the for loops to increase |
| efficiency. (David Benbennick) DLR: Also unset KEEP_CUTBUFFER |
| if we hit a shortcut key other than the one for cutting text. |
| - Make it so a marked cut immediately followed by an unmarked |
| cut tacks the latter's text onto the end of the former's text |
| instead of putting it on a new line, as Pico does. (DLR) |
| - Convert instances of "(char *)nrealloc()" to the macro |
| charealloc(), which does the same thing. (DLR) |
| - Change justify_mode from a boolean int to a flag (DLR). |
| - cut.c: |
| do_cut_text() |
| - Tweak where KEEP_CUTBUFFER is set so that a marked cut |
| immediately followed by an unmarked cut preserves the |
| cutbuffer between the two. (David Benbennick) DLR: Also |
| properly set KEEP_CUTBUFFER in tiny mode. |
| do_uncut_text() |
| - If we're about to uncut on the magicline, always make a new |
| magicline in advance, as Pico does. (DLR) |
| - global.c: |
| shortcut_init() |
| - Simplify the #ifdef used to enable file insertion in view mode |
| if multibuffer support has been compiled in. (DLR) |
| - nano.c: |
| justify_format() |
| - If we shave spaces off the end of the line, make sure totsize |
| is properly updated. (DLR; much simplified by David |
| Benbennick) |
| - nano.h: |
| - Simplify #ifdefs relating to HAVE_STRCASECMP and |
| HAVE_STRNCASECMP. (David Benbennick) |
| - search.c: |
| goto_abort() |
| - Removed, with all instances replaced with display_main_list(), |
| since with the removal of all the scattered calls to |
| SET(KEEP_CUTBUFFER), that function was all that was left of |
| it. (DLR) |
| do_find_bracket() |
| - If a matching bracket wasn't found, call update_line() after |
| setting current and current_x back to their original values, |
| in case current_x's original value is greater than the width |
| of the screen. (DLR) |
| - winio.c: |
| nanogetstr() |
| - Remove a few unnecessary breaks occurring immediately after |
| gotos, and properly interpret the up and down arrow keys when |
| ALT_KEYPAD is set. (DLR) |
| - configure.ac: |
| - Enable autodetection of broken regexec(). (DLR) Re-added |
| regex.h check to ensure compile under Debian w/autoconf 1.6. |
| - README: |
| - Update obsolete 1.1.x information. |
| - TODO: |
| - Fix typo. (David Benbennick) |
| - faq.html: |
| - Update RPM links for nano 1.2.x. (DLR) |
| |
| GNU nano 1.2.0 - 2003.02.19 |
| - General: |
| - Translation updates (see po/ChangeLog for details). |
| - files.c: |
| read_file() |
| - If the file we're loading has already been detected as a DOS |
| or Mac formatted file, don't turn on NOCONVERT if we find |
| binary chars in it. This is because if it's detected as |
| DOS/Mac format, at least one line has already been converted, |
| so setting NOCONVERT (which is supposed to signal that none |
| of the file should be converted) makes no sense. (DLR) |
| - nano.c: |
| justify_format() |
| - Fix ugly behavior when wrapping spaces at the end of long |
| words (David Benbennick). |
| - nanorc.5: |
| - Fix formatting error and update copyright year (Jordi). |
| - Several enhancements (David Benbennick). |
| |
| GNU nano 1.1.99pre3 - 2003.02.13 |
| - General: |
| - Translation updates (see po/ChangeLog for details). |
| - Fix globals and externs such that nano will compile with |
| DISABLE_SPELLER (David Benbennick). |
| - Fix unreasonable fill values by wrapping at length 0 instead |
| of erroring out, and don't start up if the window size is too |
| small but fill is set reasonably. Changes to |
| nano.c:global_init(), window_init(), and handle_sigwinch(). |
| New macro MIN_EDITOR_COLS replaces MIN_FILL_LENGTH |
| (David Benbennick). |
| - Change ngettext macro to P_(), to avoid a clash with the |
| reserved C __ identifier (Jordi). |
| - Memory leak fixes for files.c:do_insertfile(),do_browser(), |
| nano.c:do_spell(), and search.c:do_replace() (David |
| Benbennick). |
| - Remove do_preserve_msg, as using -p still gives Pico-style |
| string behavior, so an annoying message every invocation is |
| probably unneeded (all cheer). |
| - Change resetpos function to be global (now called |
| resetstatuspos. Fixes annoying but small odd problem with |
| cursor placement when inserting a file. This needs to be done |
| better in 1.3 (originally by David Lawrence Ramsey). Added |
| this issue to TODO. |
| - files.c: |
| cwd_tab_completion() |
| - Memory leak fix (David Benbennick). |
| input_tab() |
| - Fix assumption that matches is null terminated (David |
| Benbennick). |
| load_history() |
| - Fix segfault on loading huge strings from history file |
| (David Benbennick). |
| load_history(), save_history() |
| - Changed to look at $HOME before getpwuid(geteuid()), see |
| details in comment for rcfile.c:do_rcfile(). |
| real_dir_from_tilde() |
| - Change check for the running user's home dir to use |
| getpwuid(geteuid()) rather than a getpwent() loop |
| (suggested by Jordi). |
| - nano.c: |
| breakable() |
| - Fix incorrect return value on short lines (David Benbennick). |
| do_help() |
| - Fix line lengths not being computed properly, causes display |
| glitches most noticeable with < 20 rows. New function |
| nano.c:line_len(). (David Benbennick). |
| do_justify() |
| - Add regfree() to quote regex (David Benbennick). |
| - Only copy previous indent if AUTOINDENT is set (David |
| Benbennick). |
| do_suspend() |
| - Fix untranslated message (David Benbennick). |
| do_wrap() |
| - Fix isspace() call to operate on int. |
| help_init() |
| - Fix crashing in do_help when COLS < 23 (David Benbennick). |
| main() |
| - Fix nano not compiling with ENABLE_RCFILE and DISABLE_TABCOMP |
| (David Benbennick). |
| - Silence annoying compiler messages about clobbering and |
| uninitialized variables by moving variable inits to the top |
| of main() and re-initializing them after the sigsetjmp(). |
| - rcfile.c: |
| colortoint() |
| - Don't bomb after invalid color and print bad color name |
| (David Benbennick). |
| colortoint, parse_colors() |
| - Don't add strings with invalid fg colors at all. |
| do_rcfile() |
| - Revert (somewhat) previous behavior of looking at |
| $HOME, and only run getpw* if it is NULL. Most *nix programs |
| seem to only care about $HOME, and at the user-level |
| getpw* may not be reliable (and its slower). |
| - search.c: |
| do_gotoline() |
| - Only goto_abort() if we *didnt* abort the command, making |
| the function seem horribly misnamed ;-) (David Benbennick). |
| - winio.c: |
| browser_init(), striponedir(), do_browse_from() |
| - Various memory leak fixes (David Benbennick). |
| do_yesno(), do_help() |
| - Add defined(NCURSES_MOUSE_VERSION) to macro so systems that |
| don't understand MEVENT will compile. |
| nanogetstr() |
| - Remove unnecessary reset of x since it is now handled |
| elsewhere (David Lawrence Ramsey). |
| statusq() |
| - Always blank the statusbar on exit (David Benbennick). |
| - nano.1, nano.1.html: |
| - Add initialization file comments, change some options from |
| bracketed to underlined to emphasize that they are not |
| optional. |
| - Add SEE ALSO section (Jordi). |
| - Moved nano.1 color and syntax sections to nanorc, pointed |
| nano.1 to nanorc.5 for initialization file. Changed |
| nanorc.5 variables to be italics to match nano.1. Added |
| nanorc.5.html to CVS tree. |
| - nanorc.5: |
| - Add nanorc manpage, with descriptions of all available commands |
| (Jordi). |
| - nanorc.sample: |
| - Make nanorc entry less tolerant of invalid colors. |
| - nano.spec.in: |
| - Change default flags to --enable-all. |
| - THANKS: |
| - Add Kalle Kivimaa and Kalle Olavi Niemitalo, for Finnish (Jordi). |
| - UPGRADE: |
| - Add upgrading information document for 1.0 users (Jordi). |
| |
| GNU nano 1.1.99pre2 - 2003.02.03 |
| - General: |
| - Changed some translatable debug messages to use %s |
| instead of the function name, and removed gettext from |
| two strings that had no actual words in them that |
| should be translated. Suggested originally by |
| Christian Rose. |
| - Fix subexpression replacement to work consistently. |
| Affects search.c:replace_regexp() and |
| utils.c:strstrwrapper() (David Benbennick). |
| - Fix cursor position being saved when escaping out |
| of nanogetstr with keys like ^Y and ^V. New arg |
| resetpos to nanogetstr(), added static int |
| resetpos in statusq() (bug found by DLR). |
| - Fix constant curos updates from obliterating other |
| system messages, and fix statusbar message length. |
| Affects files.c:load_open_file(), nano.c:main(), |
| search.c:findnextstr(), winio.c:statusbar() and |
| do_cursorpos() (David Benbennick). |
| - Fix nano crashing when searching/replacing an invalid |
| regex (try "^*"). Changed regexp_init() to return |
| 1 or 0 based on regcomp()'s return value and search_init |
| to exit with an error message (sorry Jordi!). Added |
| another check when using last_search instead of answer. |
| - Move regcomp into rcfile.c rather than each display refresh |
| of winio.c. New function rcfile.c:nregcomp(). |
| This fixes much of nano's resource hogging behavior |
| in syntax higlighting. (David Benbennick). |
| - Fix justify failing for certain lines, new function |
| nano.c:breakable() (David Benbennick). |
| - Fix screen getting trashed on signals nano can catch |
| (TERM and HUP). New global variable curses_ended, |
| changes to winio.c:statusbar() and nano.c:die() |
| (David Benbennick). |
| - cut.c: |
| do_cut_text() |
| - Fix incorrect cursor location when cutting long lines |
| (David Benbennick). |
| - files.c: |
| - Set a default PATH_MAX for getcwd() etc calls (David |
| Benbennick). |
| do_browse_from() |
| - Fix path checking to fix bad paths, escaping |
| the operating directory, new function readable_dir() (David |
| Benbennick). |
| do_browser() |
| - Fix incorrect path check for check_operating_dir() |
| (David Benbennick). |
| - Fix goto directory operating dir check and tilde expansion |
| (David Benbennick). |
| - Even more checks and operating dir fixes (David Benbennick). |
| do_insertfile() |
| - Add some more checks and fix recursion when toggling |
| multibuffer (David Benbennick). |
| open_file() |
| - Fix FD leak with file load error (David Benbennick). |
| add_open_file() |
| - Revert the fix for the supposed minor logic error from before; |
| it was keeping some updates from happening when they should, |
| which was leading to segfaults with both multibuffer and view |
| mode on. (DLR; found by David Benbennick) |
| save_history() |
| - Fix nrealloc return value being ignored (David Benbennick). |
| - Fix off-by-one bug causing write to unallocated memory |
| (David Benbennick). |
| - global.c: |
| thanks_for_all_the_fish() |
| - Fix compiling with DEBUG and multibuffer (David Benbennick). |
| - nano.c: |
| do_char() |
| - Remove unneeded check_statblank() (David Benbennick). |
| do_int_spell_fix(), do_int_speller() |
| - Fix crashes with mark position, current_x position, |
| and edit_update args (David Benbennick). |
| do_justify() |
| - Unset KEEP_CUTBUFFER so nano won't crash with subsequent |
| ^K cuts and justifies (David Benbennick). |
| do_mouse() |
| - Fix the mouse code to work with lines longer than COLS and |
| with the proper positioning, including special characters |
| (David Benbennick). |
| do_preserve_msg(): |
| - Unsplit error message into a single fprintf call (Jordi). |
| main() |
| - Call load_file with arg 0 for insert, as we aren't really |
| doing an insert, allows new_file() to run if we open a |
| non-file at startup. |
| usage() |
| - Remove gettext markings from -p/--preserve (Jordi). |
| - Revamp -H option message to fit in 80 column terminal. |
| window_init() |
| - Fix leaking *WINDOWs (no pun intended) (David Benbennick). |
| - search.c: |
| do_search(), do_replace_loop() |
| - Fix edit_update call to use CENTER instead of current_x |
| (related to David Benbennick's fixes for spelling). |
| do_replace_loop() |
| - Fix various bugs having to do with replace string length |
| and positioning (David Benbennick). |
| edit_refresh() |
| - Fix cursor being above as well as below the current screen |
| (David Benbennick). |
| - winio.c: |
| bottombars() |
| - Change strcpy of gettext() "Up" string to strncpy of max |
| width 8, to stop stupid strcpy crash. |
| do_yesno() |
| - Fix mouse interaction bugs with yes/no prompt (David Benbennick). |
| - nanorc.sample: |
| - Change comment to say magenta instead of purple. |
| |
| GNU nano 1.1.99pre1 - 2003.01.17 |
| - General: |
| - New date format for NEWS and ChangeLog. |
| - Completely removed PICO_MODE, as with the search/replace |
| history patch we should have the extended functionality we can |
| without being incompatible with Pico. Removed all code for |
| different search/replace string editing and alternate shortcut |
| list. I'm sure I won't even have to ask for feedback on this |
| one :-) |
| - Add in Pico's -p flag, (-p, --preserve). To preserve the XON |
| and XOFF keys (^Q and ^S). Add warning if we invoke -p and |
| add checks for using --preserve (to skip warning) and --pico |
| (to force showing it). New flag PRESERVE, function |
| do_preserve_msg(), changes to main(), signal_init(). |
| - Search history and replace history up/down cursor arrows, |
| w/history tab completion, not available w/NANO_SMALL. Changes |
| to statusq(), others (Ken Tyler). Added shortcut to |
| search/replace shortcuts so people will know it's there, |
| forced KEY_UP and KEY_DOWN defs in nano.h (Chris, in case |
| blame needs to be placed later). Minor fixes by DLR: allow ^P |
| and ^N as alternatives to the up and down arrows, make sure |
| the "Up" shortcut is displayed properly in the help menu, |
| remove a few bits of unneeded and/or warning-generating code, |
| and fix some missing statusq() prompts with --enable-tiny. |
| - Added search/replace history log. Flag -H, --historylog. |
| Flags HISTORY_CHANGED and HISTORYLOG (only room for one more |
| flag!), added entries in nanorc.sample, new functions |
| log_history and save_history (Ken Tyler). |
| - Translation updates (see po/ChangeLog for details). |
| - Forward-ported Chris' --disable-wrapping-as-root option from |
| 1.0.9. Per Jordi's suggestions, have it override |
| $SYSCONFDIR/nanorc but not ~/.nanorc. (DLR) |
| - Change all references to /etc/nanorc in the documentation to |
| $SYSCONFDIR/nanorc. (DLR) |
| - Minor cosmetic tweaks to the ngettext() macro, and fix to |
| properly detect systems lacking ngettext() and correctly |
| compile on them; the previous fix didn't work. (DLR) |
| - Fix problems with some code sections' not being #ifdef'ed out |
| when they should be, or being #ifdef'ed out improperly. (David |
| Benbennick and DLR) |
| - Change FOLLOW_SYMLINKS to NOFOLLOW_SYMLINKS, and rework the |
| associated logic accordingly, throughout the code. (David |
| Benbennick) |
| - Rework #ifdefs to not include mouse_init() at all if |
| DISABLE_MOUSE is defined or NCURSES_MOUSE_VERSION isn't. (DLR) |
| - For consistency, change many references of (!x) to (x == NULL) |
| and (x) to (x != NULL). (DLR) |
| - Define KEY_IC properly (and KEY_DC more portably) when slang |
| support is enabled, and remove the hack to work around the |
| former's not being defined. (David Benbennick and DLR) |
| - Miscellaneous tweaks to update_color() calls, to make sure |
| they're called at the right times and that refreshes are done |
| afterwards only when needed. (David Benbennick) |
| - Renamed [have_]past_editbuff [have_]search_offscreen. (DLR) |
| - Add the "preserve" option to the nanorc file, to match |
| nanorc.sample. (DLR) |
| - Fixed awful scrolling in do_int_speller. Problem was |
| findnextstr() calling edit_update(), though screen updating |
| is not its business. Added checks in do_search() and |
| do_replace_loop() to do the checks. It really should not be |
| done here, as some function in winio.c should handle this, |
| but I can't seem to find a good place to put this check. |
| - Updated all copyright notices to say 2003 rather than 2002, as |
| nearly all the source files have been worked on this year |
| (DLR). |
| - configure.ac: |
| - Added tr and eu to ALL_LINGUAS (Jordi). |
| - Fix now inaccurate description of --enable-tiny's effects; it |
| no longer disables NLS support. (DLR) |
| - Fix typo. (David Benbennick) |
| - Check for strcasecmp() and strncasecmp(), since they are |
| apparently only standard under BSD. (DLR) |
| - Small cleanups. Add copyright header, add autopoint support and |
| define bug report address and full package name in AC_INIT. Move |
| ALL_LINGUAS to po/LINGUAS, recommended place for gettext 0.11. |
| - Added --enable-all option to compile in all the extra stuff |
| we'd normally need extra flags for. |
| - color.c: |
| update_color(): |
| - Remove an unneeded edit_refresh() call after do_colorinit(). |
| (David Benbennick) |
| - cut.c: |
| do_cut_text() |
| - Fix a memory corruption problem caused by accessing edittop |
| after it was freed but before it was reset to a sane value |
| from current. (David Benbennick) |
| do_uncut_text() |
| - If uncutting more than one line of unmarked text at editbot, |
| don't center the screen, since Pico doesn't. (DLR) |
| - If uncutting previously unmarked text, uncut to end if we're |
| not at the beginning of the line, and set placewewant to 0 if |
| we are. This matches Pico's behavior. (DLR) |
| - files.c: |
| load_file() |
| - Remove unneeded wmove() call. (David Benbennick) |
| read_line() |
| - Miscellaneous cleanups. (David Benbennick) |
| open_file() |
| - If we're in multibuffer mode and there's an error opening the |
| file in read-only mode, display the error message on the |
| statusbar regardless of the value of quiet. (DLR) |
| read_file() |
| - Miscellaneous cleanups. (David Benbennick) |
| - Fix len's being off by one when reading in Mac-format files, |
| exposed by one of David Benbennick's cleanups. (DLR) |
| - If NO_CONVERT isn't set when we first enter, and it gets set |
| while reading in the file, unset it again afterwards. (DLR) |
| do_insertfile() |
| - If we're in multibuffer mode and there's an error opening the |
| file that we're trying to insert, close the new buffer that we |
| made to hold it and reload the buffer we had open before. |
| (DLR) |
| add_open_file() |
| - Fix minor logic error when determining when to resave fileage |
| and filebot. (DLR) |
| load_open_file() |
| - If switching between files when CONSTUPDATE is set, only force |
| a cursor position display update if DISABLE_CURPOS isn't set. |
| This will ensure that the "Switching to [file]" messages are |
| shown. (DLR) |
| write_file() |
| - Change lineswritten from a long to an int, to match |
| filestruct->lineno. (DLR; mismatch found by David Benbennick) |
| real_dir_from_tilde() |
| - Since this is needed for proper interpretation of paths |
| containing tildes and not just for tab completion, include and |
| use it regardless of whether tab completion is disabled. |
| (David Benbennick and DLR) |
| input_tab() |
| - Variable name change: matchBuf -> matchbuf. (DLR) |
| diralphasort() |
| - Remove the HAVE_STRCASECMP #ifdef block; see the changes to |
| configure.ac and nano.h for why. (DLR) |
| - global.c: |
| thanks_for_all_the_fish() |
| - Miscellaneous cleanups. (David Benbennick) |
| - move.c: |
| do_page_down() |
| - If there's a page or less of text, do an edit_update() if the |
| mark is on; otherwise, the highlight won't be displayed. (DLR) |
| - nano.c: |
| - Added free_history() list calls clean up, added init of list |
| headers, and modified statusq() calls (Ken Tyler). |
| do_prev_word() |
| - Make the assert match that in do_next_word(). (DLR) |
| do_enter() |
| - If smooth scrolling is on, and Enter is pressed on the |
| magicline, don't center the screen. (DLR) |
| do_justify() |
| - Fix memory corruption problem triggered when edittop and |
| current->next pointed to the same value and current->next was |
| destroyed during justification. (DLR) |
| - Center the screen when justification moves the cursor entirely |
| off the bottom of the screen, instead of when it moves the |
| cursor near the bottom of the screen, to more closely match |
| Pico's behavior. (DLR) |
| version() |
| - Remove obsolete reference to --enable-undo. (David Benbennick) |
| - Move up check for --disable-nls as it's independent of |
| --enable-tiny now (DLR). |
| do_int_speller() |
| - Make internal spell program use sort -f and uniq to create a |
| less redundant word list. [The only reason this is going in |
| during feature freeze is because the int speller is useless as |
| is and should either be improved or removed. I chose |
| improved]. |
| - Change all child error checks to use one goto (gasp!) called |
| close_pipes_and_exit, so we don't leak FDs. |
| - Fix FD leaks which occur outside of errors (David Benbennick). |
| do_int_speller(), do_alt_speller() |
| - Programs now return char *, NULL for successful completion, |
| otherwise the error string to display. This allows us to give |
| more useful feedback to the user when spell checking fails. |
| ABCD() |
| - Renamed abcd(). (DLR) |
| main() |
| - Remove an unneeded do_colorinit() call, do major cleanups, and |
| allow loading of multiple files on the command line when |
| multibuffers are used. (David Benbennick) |
| - nano.h: |
| - Make sure NO_RCFILE and COLOR_SYNTAX aren't set to the same |
| value. (DLR; discovered by Ken Tyler) |
| - If strcasecmp() and/or strncasecmp() aren't available, use |
| strcmp() and/or strncmp() instead. (DLR) |
| - proto.h: |
| - Fix the #ifdef block for DISABLE_TABCOMP's being undefined |
| so that functions only used with tab completion are properly |
| #ifdef'ed out. (DLR) |
| - search.c: |
| do_gotoline() |
| - Don't call blank_statusbar_refresh() so if there's an error |
| returned in multibuffer mode, we can actually see it. |
| do_search() |
| - Remove erroneously introduced near-duplicate call to |
| update_history(). (DLR) |
| print_replaced() |
| - Remove and replace with an equivalent ngettext() call. (DLR) |
| do_replace_loop() |
| - Fix bug where if text on the magicline was replaced (which can |
| be done via a regexp replace of "^$" with something other than |
| ""), a new magicline wouldn't be created. (DLR) |
| - Remove check for answer being a blank string, presumed to be |
| a PICO_MODE holdover, but it stops us from doing a blank |
| spelling replacement. |
| do_replace() |
| - For greater Pico compatibility, when an attempt to replace a |
| string results in 0 replacements due to the string's not being |
| found, display "[string] not found" instead of "Replaced 0 |
| occurrences". (DLR) |
| - utils.c: |
| is_cntrl_char() |
| - Rework to fix a problem with displaying certain high-bit |
| characters. (David Benbennick; reported by Andrzej Marecki) |
| align() |
| - Don't just assert that the string passed in isn't NULL; check |
| that it isn't and only do the alignment when it isn't. (David |
| Benbennick) |
| nmalloc(), nrealloc() |
| - If the size passed to nmalloc() or nrealloc() is zero, don't |
| die with an erroneous out-of-memory error. Also, change |
| their dying messages to "nano is out of memory!". (David |
| Benbennick) |
| charalloc() |
| - Removed and redefined as a macro that calls nmalloc(). (David |
| Benbennick) |
| - winio.c: |
| nanogetstr() |
| - Tweak to make the cursor stay in the same place if we hit a |
| prompt-changing toggle while it's in the middle of the string. |
| Reset it to -1 (so next time we come here, it'll be set to the |
| end of the string) if we leave the prompt via Enter or Cancel. |
| Also fix minor problem with search history where the current |
| search item could be at the bottom of the history twice in a |
| row under certain conditions. (DLR) |
| - Remove parens in NANO_CONTROL_I check so nano won't complain if |
| just NANO_SMALL is defined (David Benbennick). |
| edit_refresh() |
| - Miscellaneous cleanups that fix a bug where the screen |
| isn't updated after uncutting chunks of upwardly marked cut |
| text that are over a page in length. (David Benbennick) |
| do_credits() |
| - Add David Benbennick to credits. (DLR) |
| - nanorc.sample: |
| - Added comment to explain the non-escaping of quotes in |
| color regexes, based on info provided by David Benbennick. |
| (DLR) |
| - Added some examples for groff and the nanorc courtesy of |
| Robert D. Goulding. |
| - Added double hash marks to comment lines, so people who |
| uncomment the beginning of every line won't get syntax errors. |
| - faq.html: |
| - Miscellaneous fixes and updates for typos, broken links, and |
| slashes at the end of directories. It is now fully compliant |
| with HTML 4.01 Transitional. (DLR and David Benbennick) |
| - Added docs about the new unified search string interface and |
| search histories, and added --enable-all into configure docs. |
| - nano.texi: |
| - Typo fixes and updates. (David Benbennick) |
| - Updates for the most recent and not so recent changes. |
| - nano.1, nano.1.html |
| - Updated for the --preserve and --historylog options. |
| - TODO |
| - Added some wishlist stuff. |
| - THANKS: |
| - Added Doruk Fisek and Peio Ziarsolo (Jordi). |
| |
| GNU nano 1.1.12 - 10/24/2002 |
| - General: |
| - Translation updates (see po/ChangeLog for details). |
| - Remove malloc.h, as it's unneeded and just causes annoyances on |
| *BSD systems. Added stdlib.h to global.c. |
| - Added Meta-Y toggle to disable/enable color syntax highlighting |
| completely. This may eventually be per-buffer, but that's too |
| complicated for a feature freeze. |
| - Disable VSTOP keystroke. Stops people accidentally locking up |
| nano (suggested by David Benbennick). |
| - Pluralize messages with ngettext() where needed. (David |
| Benbennick) Tweaked to compile on systems lacking ngettext() |
| by DLR (problem found by Ken Tyler). |
| - Update nano.1 and nano.1.html to show that nano now does an |
| emergency save on receiving SIGHUP or SIGTERM. (DLR) |
| - Don't include "nowrap" in the long options if |
| DISABLE_WRAPPING is defined. (DLR) |
| - files.c: |
| read_file() |
| - Minor efficiency fixes, some of which fit in with the change |
| to ngettext() usage mentioned above. (David Benbennick) |
| do_browser() |
| - Make sure the value of path is mallocstrcpy()ed into retval |
| and not just assigned to it, to avoid memory corruption |
| problems. (DLR) |
| - nano.c: |
| version() |
| - If ENABLE_NLS isn't defined, display "--disable-nls" |
| (suggested by Ken Tyler). (DLR) |
| justify_format() |
| - Make sure the double space maintained after sentence-ending |
| punctuation is done when that punctuation is immediately |
| followed by a bracket-type character, so justifying e.g. |
| sentences in parentheses works properly. (David Benbennick) |
| handle_hup() |
| - Renamed handle_hupterm() to show that it now handles SIGTERM |
| as well as SIGHUP. (DLR) |
| signal_init() |
| - Do an emergency save on receiving either SIGHUP or SIGTERM, |
| not just SIGHUP. (David Benbennick) |
| main() |
| - Fix a problem where control key commands were printed |
| literally instead of interpreted after a failed search of a |
| one-line file. (David Benbennick) |
| - proto.h: |
| handle_hup() |
| - Renamed handle_hupterm(); see above for why. (DLR) |
| - winio.c: |
| edit_add() |
| - Fix a potential infinite loop occurring with certain |
| zero-length regexes. (David Benbennick) |
| |
| GNU nano 1.1.11 - 10/01/2002 |
| - General: |
| - Translation updates (see po/ChangeLog for details). |
| - Upgraded to gettext 0.11.5 (Jordi). |
| - Updated nano.1, nano.1.html, and nano.texi to fix an |
| inaccuracy in the description of -Q/--quotestr. (DLR) |
| - Set REG_EXTENDED in all regcomp() calls. (DLR) |
| - Minor cosmetic code cleanups. (DLR) |
| - Changed do_insertfile to (a) report multibuffer status at the |
| prompt and allowing it to be toggled, taking into account the |
| need to keep the translatable strings, and (b) added a |
| variable inspath to keep track of what the string was before |
| toggling. I'm sure there's bugs, have at it. |
| - Make sure all functions have prototypes in proto.h, and swap |
| some functions around to put similar functions closer |
| together (for this, rename clear_bottombars() to |
| blank_bottombars()). (DLR; suggested by David Benbennick) |
| - More changes of char *'s to const char *'s when possible. |
| (David Benbennick) |
| - Fix various minor memory leaks in files.c. (David Benbennick) |
| - Fix minor problems with the operating directory code: set the |
| operating directory properly if it's specified only in a |
| nanorc file, and handle an operating directory of "/" |
| properly. New function init_operating_dir() to handle |
| setting it both on the command line and in the nanorc file. |
| (David Benbennick) |
| - Major rewrite of color and screen update routines to fix |
| minor bugs and increase efficiency. New function |
| set_colorpairs() for the former. (David Benbennick) |
| - configure.ac: |
| - Added pt_BR to ALL_LINGUAS (Jordi). |
| - Changed --enable-color warning to be slightly less severe. |
| - Put the configure options in more or less alphabetical order, |
| and remove --enable-undo, since it doesn't do anything. (DLR) |
| - files.c: |
| open_file() |
| - String change: "File "x" is a directory" -> ""x" is a |
| directory". (Jordi) |
| do_insertfile() |
| - Disallow multibuffer toggling at the "Insert File" prompt if |
| we're in both view and multibuffer mode, so as to keep proper |
| integration between the two, and make sure the toggle |
| actually works all the time otherwise. Also, make sure |
| TOGGLE_LOAD_KEY isn't referenced when NANO_SMALL and |
| ENABLE_MULTIBUFFER are both defined. (DLR) |
| open_prevfile_void(), open_nextfile_void() |
| - Return the return values of open_prevfile() and |
| open_nextfile(), respectively, instead of (incorrectly) |
| calling them and returning 0. (DLR) |
| real_dir_from_tilde() |
| - Rework to use getpwent() exclusively and end reliance on |
| $HOME. Adapted from equivalent code in do_rcfile(). (DLR) |
| input_tab() |
| - Most likely fixed the check marked with FIXME, so that tab |
| completion works properly when we're trying to tab-complete a |
| username and the string already contains data. (DLR) |
| - global.c: |
| shortcut_init() |
| - Disable the new multibuffer toggle at the file insertion |
| prompt when NANO_SMALL and ENABLE_MULTIBUFFER are both |
| defined. (DLR) |
| thanks_for_all_the_fish() |
| - Make sure the reference to help_text is #ifdefed out when |
| --disable-help is used. (DLR) |
| - move.c: |
| page_up() |
| - Fix bug where current is moved up two lines when the up arrow |
| is pressed on the top line of the edit window; this causes a |
| segfault if the top line in the edit window is the second |
| line of the file, as the line current ends up on doesn't |
| exist. (Jeff DeFouw) |
| do_down() |
| - Fix bug where, if the last line in the edit window is the |
| line before the magicline, and smooth scrolling is turned |
| off, pressing the down arrow on that last line centers the |
| cursor without updating the edit window. (Jeff DeFouw) |
| - nano.c: |
| version() |
| - Put the listed configure options in more or less alphabetical |
| order. (DLR) |
| open_pipe() |
| - If we're in view mode here (in which case we're also in |
| multibuffer mode), don't set the modification flag. (DLR) |
| do_next_word(), do_prev_word() |
| - If we're on the last/first line of the file, don't center the |
| screen; Pico doesn't in the former case. (DLR) |
| do_backspace() |
| - Rework to call edit_refresh() regardless of the value of |
| current_x if ENABLE_COLOR is defined, so that multiple-line |
| color regexes are properly updated onscreen as they are in |
| do_delete(). (DLR) |
| do_delete() |
| - Rework to only call edit_refresh() unconditionally if |
| ENABLE_COLOR is defined; if it isn't, and we're not deleting |
| the end of the line, only call update_line(). (DLR) |
| do_wrap() |
| - Make sure wrapping is done properly when the number of |
| characters on the line is exactly one over the limit. (David |
| Benbennick) |
| - Restore the previous wrapping point behavior (pre 1.1.10) |
| (David Benbennick). Minor fix by DLR to prevent spaces from |
| being added to the ends of lines ending in spaces or lines |
| ending in tabs (the latter case found by David Benbennick). |
| do_alt_speller() |
| - Readd DLR's fix to preserve marking when using the alternate |
| spell checker; it was accidentally dropped. (David |
| Benbennick) |
| do_justify() |
| - Fix cosmetic problems caused when justifying on the |
| magicline, and a minor problem where the cursor would |
| sometimes be moved to the wrong line after justification. |
| (David Benbennick) |
| main() |
| - When searching through the main shortcut list looking for a |
| shortcut key, stop searching after finding one; this avoids a |
| rare segfault. (DLR) |
| - nano.h: |
| - Change search toggles for case sensitive searching and regexp |
| searching to M-C and M-R, respectively. (DLR; suggested by |
| Chris) |
| - Add support for HP-UX's curses, which doesn't seem to support |
| KEY_HOME and KEY_END. |
| - nanorc.sample: |
| - Fix the c-file regex for all caps words to be extended regex |
| format ({} instead of \{\}) (found by DLR). |
| - Add a better string matching sequence that includes escaped |
| quotes (thanks to Carl E. Lindberg, who doesn't even know he |
| helped ;-). Some unneeded \'s in that sequence removed, and |
| a new sequence to handle multi-line quotes added, by David |
| Benbennick. |
| - Add some examples for HTML and TeX files (David Benbennick). |
| - rcfile.c: |
| parse_colors() |
| - Stop infinite loop when syntax doesn't begin with " char. |
| - utils.c: |
| charalloc() |
| - Switch from using calloc() to using malloc(). (David |
| Benbennick) |
| - faq.html: |
| - Typo fix. (DLR) |
| - AUTHORS: |
| - Add David Benbennick. (Jordi and Chris) |
| - TODO: |
| - Add entry in the 1.4 section for Pico's paragraph searching |
| ability (at the search prompt, ^W goes to the paragraph's |
| beginning, and ^O goes to the paragraph's end). (DLR) |
| |
| GNU nano 1.1.10 - 07/25/2002 |
| - General: |
| - Translation updates (see po/ChangeLog for details). |
| - Upgraded to gettext 0.11.2 (Jordi). |
| Removed intl/ entirely, and a few more tweaks by gettextize. |
| - i18nized a few strings used in DEBUG mode. (DLR) |
| - Some chars being assigned 0 are now assigned '\0'. (DLR) |
| - Put header file #includes in a more consistent order. (DLR) |
| - Remove some unneeded blank lines and spaces, and make some |
| spacing more consistent. (DLR) |
| - When possible, use iscntrl() to determine whether a character |
| is a control character or not. (DLR) |
| - Miscellaneous typo fixes. (DLR) |
| - Many fixes to the help browser and shortcut lists: efficiency |
| updates, consistency fixes, help text fixes and improvements, |
| and spacing improvements. (David Benbennick) |
| - Make some functions use const variables when possible, and |
| also make them static when necessary. (David Benbennick, |
| necessary redefined by Chris ;-) |
| - Add Carl Drinkwater's backup file option (-B or --backup on the |
| command line, M-B in nano's global shortcuts). If the original |
| file is unchanged from when it was loaded, it is backed up to |
| filename~; if the original file has been changed or deleted |
| since it was originally loaded, it isn't backed up. The backup |
| file retains the permissions, owner/group, and |
| access/modification times of the original file. This option is |
| disabled when --enable-tiny is used. It will not back up |
| temporary files. Minor fixes to it by David Benbennick and |
| DLR. Changes to open_file(), add_open_file(), |
| load_open_file(), write_file(), and do_writeout(). |
| - Add \n's to the ends of "filename is %s" debugging strings. |
| (Carl Drinkwater) |
| - Add the long option --quotestr as an alternative for -Q, and |
| --regexp as an alternative for -R; they were listed in nano's |
| usage information, but weren't actually in nano. Also, display |
| "-?" as an alternative for "-h" in nano's usage information, |
| put the command line options in a more consistent (i.e. mostly |
| alphabetical) order in nano, put the long options in a more |
| consistent order in rcfile.c and nanorc.sample, don't include |
| rcfile options if their equivalent command line options are |
| disabled, and remove obsolete relative option from |
| nanorc.sample. (DLR) |
| - Change "File Name to Append/Prepend" to "File Name to |
| Append/Prepend to". The original prompt could confusingly |
| imply that we are appending/prepending another file to the |
| current file, when we are actually appending/prepending the |
| current file to another file. (DLR) |
| - Put nano.1, nano.1.html, and nano.texi up to date, and fix a |
| few inconsistencies in them. (DLR) |
| - Typo fixes for the ChangeLog. (David Benbennick and DLR) |
| - Complete rewrite of justification code to fix some bugs and |
| improve its functionality. (David Benbennick) |
| - If a variable isn't going to be used in tiny mode, #define it |
| out when possible. (David Benbennick) |
| - Major reworking of the cutting/screen-updating code in cut.c, |
| some functions in utils.c, the cursor placement code in |
| winio.c, and many, many other areas to increase efficiency. |
| (David Benbennick) |
| - Rework handling of prompts when there's a list of partial |
| filename matches on the screen: remove kludgy case-by-case |
| handling (which didn't even handle every case), and have |
| statusq() handle it directly for all cases. (David Benbennick |
| and DLR) |
| - Fix some warnings and errors that show up when using gcc's |
| -pedantic option. (DLR) |
| - Add a comment to nanorc.sample warning that an out-of-range |
| negative value for fill can make nano die complaining that |
| the screen is too small (which may not be immediately |
| obvious). (DLR) |
| - There were some opendir() calls in files.c without |
| corresponding closedir() calls; add them. (DLR) |
| - Move align() and null_at() from nano.c to utils.c, and move |
| the openfilestruct handling functions from nano.c to files.c. |
| (DLR) |
| - In color.c, start the "#ifdef ENABLE_COLOR" block after |
| including all the header files, as rcfile.c does; this fixes |
| a warning about ANSI C'S inability to handle blank files. |
| (DLR) |
| - Add new function is_cntrl_char() as a wrapper for iscntrl(); |
| this is needed to treat ASCII 0x80-0x9f as control characters |
| consistently. (Without this, they will only be treated as |
| such when gettext is used; when it isn't used, they will be |
| printed as-is and be interpreted as commands by xterm, which |
| will corrupt the display.) (DLR) |
| - Add command line option -I/--ignorercfiles to ignore |
| $SYSCONFDIR/nanorc and ~/.nanorc. (Carl Drinkwater). Fix to |
| parsing getopt args (DLR). |
| - Fix minor bugs with importing certain text files in Mac |
| format. (DLR) |
| - files.c: |
| append_slash_if_dir(), input_tab() |
| - Changed variable names: lastWasTab -> lastwastab, matchBuf -> |
| matchbuf. (DLR) |
| check_operating_dir() |
| - Memory leak fix. (David Benbennick) |
| check_writable_directory() |
| - Optimizations (David Benbennick). |
| cwd_tab_completion() |
| - Changed a variable name: dirName -> dirname. (DLR) |
| do_browser() |
| - Optimizations and mouse selection fixes (David Benbennick). |
| do_writeout() |
| - Fix problem with formatstr's being defined as NULL when |
| --enable-tiny is used. Since formatstr isn't ever used in tiny |
| mode, don't bother even creating the variable. (David |
| Benbennick and DLR) |
| do_insertfile() |
| - Memory leak fix (accidentally dropped 1st time). |
| (David Benbennick). |
| get_full_path() |
| - Memory leak fix. Also, make it properly interpret ~/ notation |
| so, among other things, the option "--operatingdir ~" works. |
| (David Benbennick) |
| - More optimizations (David Benbennick). |
| new_file() |
| - Make sure current_x is zero; this fixes a problem where the |
| current cursor position wasn't reset when reading in a file in |
| multibuffer mode. (David Benbennick) |
| - Use make_new_node rather than setting up fileage by hand |
| (David Benbennick). |
| read_file(), read_line() |
| - Rework to properly handle nulls in the input file, fix |
| detection of binary files to properly mark a file as binary if |
| the only binary characters it contains are ASCII 127's, and |
| after reading the last line of a file that doesn't end in a |
| newline, increment totsize. Remove previous kludge to set |
| totsize properly. (DLR) |
| write_file() |
| - Rework to properly handle nulls in the input file. When |
| appending/prepending, don't change the current file's name to |
| the name of the file it's being appended/prepended to. When |
| writing a marked selection to a file, save and restore totsize |
| so it isn't decreased by the size of the selection afterward. |
| (DLR) |
| - Optimizations (David Benbennick). |
| - global.c: |
| free_toggles() |
| - Only include if we're not using tiny mode. (David Benbennick) |
| toggle_init() |
| - Remove global entries for search toggles, as they aren't really |
| global. (DLR) |
| - Don't reinititialize the toggles if they've already been |
| initialized; it's unnecessary and even causes a segfault in |
| do_toggle() if Pico emulation mode is the toggle in question. |
| Don't free the toggles here, either; it's unnecessary after the |
| above change. (David Benbennick) |
| - If wrapping is disabled, don't include the toggle for it. |
| (DLR) |
| shortcut_init() |
| - Rework IFHELP macro (David Benbennick). |
| - move.c |
| page_down(), page_up() |
| - Put sanity checks for current_x back in, to avoid rare |
| segfaults (oops). Now, however, they are only called when |
| placewewant is zero instead of being called unconditionally; |
| see changes to winio.c:actual_x_from_start() below. (DLR) |
| - nanorc.sample: |
| - Put in much less crappy example regex rules for c-file. |
| - nano.c: |
| clear_filename() |
| - Remove this function, as it has unneeded functionality, is |
| short enough to be inlined, and is only called in two spots |
| anyway. (DLR) |
| die() |
| - Rework slightly to remove redundant printing of last message |
| and print all messages after resetting the terminal. (DLR) |
| do_backspace() |
| - Make sure placewewant is set properly, and that the mark is |
| moved backwards. (David Benbennick) |
| do_char() |
| - Fix a problem where, if ENABLE_COLOR wasn't used, typing |
| characters on a marked line before the beginning of the mark |
| would make the highlight short by one. (David Benbennick) |
| do_cont() |
| - Handle the case where the window was resized while we were |
| stopped. (David Benbennick) |
| do_delete() |
| - Make sure placewewant is set properly, to match Pico's |
| behavior. (DLR) |
| do_int_spell(), do_alt_spell() |
| - Rework to save the marked selection before doing spell checking |
| and restore it afterward. (DLR) |
| do_next_word(), do_prev_word() |
| - Fix a problem where highlighting isn't done properly after |
| calling either of these, and another problem where the cursor |
| would move back too far in certain cases with do_prev_word(). |
| (David Benbennick) |
| do_toggle() |
| - Since the search mode toggles aren't global anymore, we don't |
| need to explicitly block them here anymore (which will end up |
| blocking the global backup mode toggle, which is the same as |
| the backwards search toggle). (DLR) |
| do_wrap() |
| - fill fixes and 'two short word wrap' bug (David Benbennick). |
| global_init() |
| - Call die_too_small() when fill is 0. (DLR) |
| handle_sigwinch() |
| - Make sure we adjust fill when the window is resized. (David |
| Benbennick) |
| - Call die_too_small() when fill is 0. (DLR) |
| help_init() |
| - Since the return value of snprintf() isn't well defined, use |
| sprintf() instead. (David Benbennick) |
| main() |
| - Rework to blank out filename manually before doing anything |
| with it, instead of calling clear_filename() in two places. |
| Make startline an int instead of a long, since it's supposed to |
| hold a line number. (DLR) |
| - Properly handle multiple -r settings on the command line. (Carl |
| Drinkwater) |
| - Fix a bug that prevented file insertion via the Insert key |
| from working at all when --enable-multibuffer wasn't used |
| (oops). (DLR) |
| - Adapt David Benbennick's fix to get fill to accept negative |
| numbers properly in parse_rcfile() (see below) to the |
| handlers for the -r and -T options as well, so that -r/-T 0 |
| can be treated separately from -r/-T string. (DLR) |
| - Fix so that Esc-Esc-Space is properly treated as Ctrl-Space. |
| (DLR) |
| usage() |
| - List the options that are ignored for the purpose of Pico |
| compatibility, and make some minor consistency fixes. (DLR) |
| - nano.h: |
| - Fix some space/tab formatting for flags (DLR). |
| - proto.h: |
| - Remove external declaration of the global int fill, since |
| it's now static. (DLR) |
| - rcfile.c: |
| parse_rcfile() |
| - Add David Benbennick's fix that allows fill to accept |
| negative numbers properly. Specifically, use strtol() there |
| instead of atoi() so that errors can be detected. Also |
| adapted for tabsize by DLR. |
| parse_next_regex(), colortoint() |
| - Only include if ENABLE_COLOR is defined. (DLR) |
| - search.c: |
| search_init() |
| - Since the search mode toggles aren't global anymore, rework the |
| part of this function referencing them so that they still work. |
| (DLR) |
| - Remove unneeded toggles variable. (David Benbennick) |
| - Fix a problem where the first character of buf was overwritten |
| if the last search string was one third the number of columns |
| plus one. (David Benbennick) |
| findnextstr() |
| - Update the current line at current_x if we don't find a match. |
| Also, pass current_x_find to strstrwrapper() so we know whether |
| we're at the beginning of a string or not (see changes to |
| strstrwrapper() below), and reset it between lines. (DLR) |
| do_gotoline(): |
| - Make sure placewewant is zero after we go to a line. (David |
| Benbennick) |
| do_gotopos() |
| - Simplify the sanity check to only put x within the range of the |
| current line; don't call actual_x() anymore. (DLR) |
| - utils.c: |
| - Add sunder() and unsunder(). These functions convert nulls |
| other than the terminating null in strings to newlines and |
| back; they're used to handle null characters in files properly. |
| (DLR) |
| lowercase() |
| - Remove, since it isn't actually used anywhere. (David |
| Benbennick) |
| strstrwrapper() |
| - Set REG_NOTBOL when we're not at the beginning of a |
| string, to avoid false positives when searching for regular |
| expressions prefixed with ^. Make it take a new parameter, |
| line_pos, to determine where we are in the string. (DLR) |
| check_wildcard_match() |
| - Changed variable names: retryPat -> retrypat, retryText -> |
| retrytext. (DLR) |
| - winio.c: |
| actual_x_from_start() |
| - Overhaul to make cursor placement more like that of Pico: add |
| sanity check for i, and then place i as close to the value of |
| xplus column as possible. This change is most noticeable when |
| moving down through binary files. (DLR) |
| do_credits() |
| - Fix for the i18ned credits so it will compile with -pedantic |
| (DLR & Chris). |
| do_help() |
| - Add support for the handled keyboard escape sequences in the |
| help menu, as they are needed with some terminals (e.g. xterm |
| with TERM=ansi). (DLR) |
| edit_refresh() |
| - Turn on leaveok() so the cursor doesn't bounce around the |
| screen while we're updating it (most noticeable when using |
| color syntax over a very slow connection). |
| do_replace_highlight() |
| - When using regexps, make sure the highlight is the length of |
| the search result and not the regexp string. (DLR) |
| nanogetstr() |
| - After the user presses Enter at the prompt, refresh the edit |
| window in case there's a list of possible filename matches |
| (left over from attempted tab completion) on it. (DLR) |
| statusbar() |
| - Limit statusbar display to the number of columns less four, and |
| don't allow it to go over its original row. (David Benbennick) |
| titlebar() |
| - Tweak text spacing and printing so that the titlebar text looks |
| better on smaller terminals. (Carl Drinkwater) |
| update_line() |
| - When marking control characters, make sure the mark moves |
| forward by two characters instead of one. Rework control |
| character display routine to display newlines within the line |
| (which should never occur under normal circumstances; they will |
| only be there if the line had nulls in it and was unsunder()ed |
| beforehand) as ^@'s. (DLR) |
| - Fix to properly treat ASCII 128-159 as control characters. |
| (DLR) |
| - configure.ac: |
| - Added ms to ALL_LINGUAS (Jordi). |
| - Merged acconfig.h in (Jordi). |
| - Fixed so that --enable-debug defines DEBUG and undefines |
| NDEBUG. (Carl Drinkwater) |
| - THANKS: |
| - Completed a bit (Jordi). |
| - Fixed David Benbennick's email address. (David Benbennick) |
| - Typo fix. (DLR) |
| |
| GNU nano 1.1.9 - 05/12/2002 |
| - General: |
| - Typos n misspellings all over the place (David Benbennick). |
| - Allow --tiny and --multibuffer to cooperate (who the heck |
| would want this is beyond me but ;-). Changes to |
| configure.ac, global.c, , (David Benbennick). |
| - Change to openfilestruct for multibuffer mode by DLR. |
| New functions nano.c:make_new_opennode(), free_openfilestruct(), |
| delete_opennode(), unlink_opennode(), splice_opennode(), |
| new struct openfilestruct in nano.h. |
| - Preliminary prepend code. This may be a bad idea, but I've |
| been wanting it for awhile now and we'll see how bad it messes |
| everything up. Changes to files.c:do_writeout(), write_file(). |
| Fixes for O_CREAT & append compatibility by David Benbennick. |
| - Change from read() and write() to file streams by Jay Carlson. |
| Allows OS to implement read and write ahead rather than making |
| us do it. Hopefully merged properly. |
| - More cleanups with DISABLE flags, better free_shortcutage and |
| free_toggle, and get rid of unnecessary variable decls with |
| NANO_SMALL in shortcut_init() by David Benbennick. |
| - Added "syntax" command to .nanorc file, to allow multiple |
| syntaxes. New function color.c:update_color(), calls in various |
| files.c places, syntaxtype struct, global variables syntaxes, |
| syntaxfile_regexp and synfilematches. Global flag -Y ,--syntax |
| to specify the type on the command line, if there's no good |
| filename regex to use. Global variable syntaxstr. |
| - Changed many strcmp()s and strcpy()s to their equivalent |
| '\0' counterparts (David Lawrence Ramsey). |
| - Many changes to allow marked cutting to work with multiple |
| file buffers: changes to openfilestruct type in nano.h and |
| files.c (David Lawrence Ramsey). |
| - Changed NANO_SMALL to ENABLE_NLS for gettext disabling |
| (David Benbennick). |
| - Move next_key and pev_key definitions out of main() and into |
| global.c where they belong (David Benbennick). |
| - color.c: |
| update_color() |
| - Add regfree call here to avoid memory leaks. |
| - configure.ac: |
| - Define NDEBUG to silence asserts (David Benbennick). |
| - files.c: |
| get_next_filename() |
| - Optimizations (David Benbennick). |
| - global.c: |
| shortcut_init() |
| - Add missing free_shortcutage()s (David Benbennick). |
| thanks_for_all_the_fish() |
| - Only defined when using DEBUG, makes sense (David Benbennick). |
| - nano.c: |
| die_save_file() |
| - Add missing free (David Benbennick). |
| do_justify() |
| - Optimizations (David Benbennick). |
| do_wrap() |
| - Complete rewrite (David Benbennick). |
| help_init() |
| - A little less readable, a lot shorter :-) (David Benbennick). |
| - Fix Meta-A not getting capitalized, and convert the ASCII |
| #s to their character equivalent. |
| main() |
| - Changed charalloc(), strcpy()s to mallocstrcpy()s. |
| - nano.h: |
| - NANO_ALT_COMMAND and NANO_ALT_PERIOD were reversed (lol) |
| (David Benbennick). |
| - nano.spec.in: |
| - Don't put Chris' name as the Packager in the distribution |
| by default (Im an idiot). |
| - Fixed Source line (David Lawrence Ramsey). |
| - nano.1: |
| - Changed references to Debian GNU/Linux to Debian GNU (Jordi). |
| - nano.1.html: |
| - Updated for -Y option (David Lawrence Ramsey). |
| - rcfile.c: |
| - Made some rc file errors less fatal. |
| - Added in my patch for getpwent instead of relying on $HOME |
| (David Lawrence Ramsey). |
| - winio.c: |
| edit_add() |
| - Changed some syntax highlight computations for the sake of COLS. |
| - Add in the necessary regfree() calls to stop nano from leaking |
| memory like a sieve when using color syntax highlighting :-) |
| bottombars(), onekey() |
| - Cleanups (David Benbennick). |
| - po/gl.po: |
| - Galician translation updates (Jacobo Tarrio). |
| - po/de.po: |
| - German translation updates (Michael Piefel). |
| - po/fr.po: |
| - French translation updates (Jean-Philippe Guérard). |
| - po/ca.po, po/es.po: |
| - Catalan and Spanish translation updates (Jordi). |
| - po/sv.po: |
| - Swedish translation updates (Christian Rose). |
| - po/nl.po: |
| - Dutch translation updates (Guus Sliepen). |
| - po/it.po: |
| - Italian translation updates (Marco Colombo). |
| - po/ru.po, po/uk.po: |
| - Russian and Ukrainian translation updates (Sergey A. Ribalchenko). |
| - po/id.po: |
| - Indonesian translation updates (Tedi Heriyanto). |
| - po/sv.po: |
| - Swedish translation updates (Christian Rose). |
| |
| GNU nano 1.1.8 - 03/30/2002 |
| - General |
| - Type misalignments and mem leaks in renumber_all, do_justify |
| and do_spell (Rocco & Steven Kneizys). |
| - New "External Command" code, originally by Dwayne Rightler, |
| various fixes and changes by Chris, Rocco and David Benbennick. |
| New function nano.c:open_pipe() and signal handler cancel_fork(), |
| changes to do_insertfile(), new list extcmd_list, cmd is |
| ^X after ^R. |
| - Added separate regex variable (color_regex and colormatches) |
| so that color syntax and regex search/replace can coexist. |
| - Added new nano.spec file from Brett <brett@bad-sports.com>, |
| added because maintaining the spec file is getting to be a large |
| hassle ;) |
| - files.c: |
| check_writable_directory() |
| - Stat full_path, not path (Steven Kneizys). |
| open_pipe() |
| - I18nize the pipe error (DLR). |
| do_insertfile() |
| - Handle cancel from ExtCmd properly (David Benbennick). |
| read_file() |
| - Abort if we read a file of 0 lines (num_lines == 0), fixes BUG #70. |
| - Reverse tests to stop segfault on editing a new file of 0 |
| lines (David Benbennick) |
| - Change input var to one char instead of array (David Benbennick). |
| - Move NO_CONVERT check up so chars get read in properly (DLR). |
| - nano.c: |
| do_justify() |
| - More fixes for indented justify (David Benbennick). |
| do_int_speller() |
| - Fix zombie processes and spelling buffer issues (Rocco Corsi). |
| help_init() |
| - Capitalize Meta altkeys. |
| - Various fixes and string changes. |
| main() |
| - Put NANO_SMALL defines around toggle pointer (noticed by Jordi); |
| usage() |
| - Rewritten to encompass systems with and without GETOPT_LONG. |
| New function print1opt does most of the dirty work, stops |
| duplication of effort and eases translator's jobs. Also |
| breaks all the current translations ;-) |
| - proto.h: |
| - Missing externs (Rocco). |
| - rcfile.c: |
| do_rcfile() |
| - Reset lineno between system and local .nanorc file. |
| - Fix errno->strerror(errno) mismatch. |
| parse_rcfile() |
| - Don't use i for both for loop and atoi(), fixes lots of |
| potential crashes, 1st reported by Jean-Philippe Guérard. |
| rcfile_error() |
| - Don't print out the file name if we haven't opened the file |
| yet (lineno == 0). |
| - search.c: |
| search_init() |
| - Fix a missing free (Rocco). |
| do_gotoline() |
| - Set placewewant if we actually move to a different line. |
| - utils.c: |
| stristr() |
| - Defined regardless of NANO_SMALL (noticed by Jordi). |
| nperror() |
| - New wrapper for perror (David Benbennick). |
| - winio.c: |
| do_credits() |
| - Add Thomas Dickey. |
| do_cursorpos() |
| - Make col numbering start from 1 (suggested by Andrew Ho). |
| update_line(), xpt() |
| - Add check for 127 (DLR). |
| - po/sv.po: |
| - Swedish translation updates (Christian Rose). |
| - po/de.po: |
| - German translation updates (Michael Piefel). |
| - po/id.po: |
| - Indonesian translation updates (Tedi Heriyanto). |
| - po/it.po: |
| - Serious typo. |
| - po/ca.po, po/es.po: |
| - Catalan and Spanish translation updates (Jordi). |
| - Typo (DLR). |
| - po/fr.po: |
| - French translation updates (Jean-Philippe Guérard). |
| - po/gl.po: |
| - Galician translation updates (Jacobo Tarrio). |
| - po/uk.po, po/ru.po: |
| - Russian and Ukrainian translation updates (Sergey A. Ribalchenko). |
| - po/pl.po: |
| - Polish translation updates (Wojciech Kotwica). |
| - po/fr.po: |
| - French translation updates (Jean-Philippe Guérard). |
| - po/it.po: |
| - Italian translation updates (Marco Colombo). |
| - po/da.po: |
| - Danish translation updates (Keld Simonsen). |
| |
| GNU nano 1.1.7 - 03/05/2002 |
| - General |
| - malloc->calloc, etc cleanups (DLR). |
| - New option, noconvert (-N, --noconvert) to completely stop |
| the translation of files from DOS or Mac format (DLR). |
| - New functions check_writable_directory() and safe_tempnam() |
| to get around the tempnam warning. More improvements (DLR) |
| Still needs testing. |
| - Added DOS and Mac format options to write file routine. |
| Changes to shortcut_init() and do_writeout(). |
| - Removed stupid static definitions of toggles and shortcut |
| lists. Many changes to shortcut_init(), toggle_init(), |
| statusq(), nanogetstr(), main(), and many other places. |
| - Multibuffer mode now allows multiple empty filenames. |
| Changes to add_open_files(), removed open_file_dup_search(), |
| open_file_dup_fix(), etc (DLR). |
| - New code to handle multiple .save files. Changes to |
| die_save_file(), new function files.c:get_next_filename() |
| and utils.c:num_of_digits(). (Dwayne Rightler, DLR & Chris) |
| - Many malloc() cleanups and files.c tweaks by Steven Kneizys, |
| new functions utils.c:free_shortcutage() (got to love that |
| name!) & free_toggles(), and big cleanup program |
| thanks_for_all_the_fish() (originally |
| thanks_for_the_memories()). Mods to shortcut_init() by Chris. |
| - Preliminary quoting support for justify. New arg -Q, |
| --quotestr, changes to do_justify(), global variable |
| quotestr(). |
| - Makefile.am: |
| - Add SYSCONFDIR to DEFS, so we can have a $SYSCONFDIR/nanorc. |
| - Change localedir line to 1.0's version. |
| - Moved m4/ stuff to its own m4/Makefile.am. |
| - m4/aclocal_inc.m4: |
| - New macro AM_ACLOCAL_INCLUDE, tells configure.ac where to look |
| for macros (Gergely Nagy). |
| - configure.in: |
| - Renamed to configure.ac. |
| - configure.ac: |
| - Moved to autoconf 2.52 (Jeff Bailey). |
| - Added call to AM_ACLOCAL_INCLUDE. |
| - files.c: |
| read_byte() |
| - Added check for control characters (indicative of a binary |
| file), set NO_CONVERT if found (fixes by DLR). |
| do_insertfile() |
| - Added support for -o in prompt (Steven Kneizys). |
| - global.c: |
| - Move openprev and opennext functions to shortcuts, they really |
| aren't toggles (DLR). |
| - rcfile.c: |
| parse_next_regex() |
| - Allow " symbol to be in regex without leading \ by checking |
| for *ptr+1 is not the end of the regex. |
| do_rcfile() |
| - Parse rcfile in $SYSCONFDIR as well (Dwayne Rightler). |
| - nano.1: |
| - Added Noconvert option to man page (DLR). |
| - nano.c: |
| justify_format(), do_justify() |
| - Various fixes for starting blank spaces, spaces after |
| punctuation, & segfault with quoting strings (David Benbennick). |
| do_justify() |
| - Don't continue to justify string if it's indented more |
| (quoting wise) than the beginning of the justification. |
| help_init() |
| - Added message re: having multiple blank buffers (DLR). |
| main() |
| - Add 407 as equiv of 26, this seems to be sent when using |
| ^Z in linux console with keypad() enabled. |
| - rcfile.c: |
| - Get rid of unneeded relativechars from rcopts (DLR). |
| - search.c |
| do_replace(), findnextstr() |
| - Fixes for various search issues (Ken Tyler) |
| - winio.c: |
| do_cursorpos() |
| - Rewritten to show col place as well as character place, without |
| needing an entirely separate flag. |
| bottombars(), onekey() |
| - Make bottom list dynamic with screen size (Guus Sliepen & Chris). |
| - More cleanups w/width of shortcut. |
| - utils.c: |
| strcasestr(),revstrcasestr() |
| - Renamed to stristr and revstristr since strcasestr has not |
| been confirmed to be detected properly on various Linux |
| systems. |
| strstrwrapper() |
| - NANO_SMALL test was backwards (Ken Tyler). |
| - winio.c: |
| strlenpt() |
| - Changed main function to strnlenpt() for new justify changes, |
| original function now just a stub. |
| - nanorc.sample |
| - Mention unset in the sample nanorc. |
| - po/ca.po, po/es.po: |
| - Catalan and Spanish translation updates (Jordi). |
| - po/sv.po: |
| - Swedish translation updates (Christian Rose). |
| - po/fr.po: |
| - French translation updates (Jean-Philippe Guérard). |
| - po/nn.po: |
| - Norwegian nynorsk translation updates (Kjetil Torgrim Homme). |
| - po/de.po: |
| - German translation updates (Michael Piefel). |
| - po/it.po: |
| - Italian translation updates (Marco Colombo). |
| - po/cs.po: |
| - Partial Czech translation updates (Vaclav Haisman). |
| - po/hu.po: |
| - Hungarian translation updates, or to be precise, rewrite |
| (Gergely Nagy). |
| - po/uk.po, po/ru.po: |
| - Russian and Ukrainian translation updates (Sergey A. Ribalchenko). |
| - po/da.po: |
| - Danish translation updates (Keld Simonsen). |
| - po/nb.po: |
| - Norwegian bokmĂĄl translation updates (Stig E Sandoe). |
| - po/nl.po: |
| - Dutch translation updates (Guus Sliepen). |
| - po/pl.po: |
| - Polish translation updates (Wojciech Kotwica). |
| |
| nano-1.1.6 - 01/25/2002 |
| - General |
| - Add Meta-A as alternate keystroke for ^^ for people with |
| non-US keyboards. |
| - Add Alt-G (NANO_ALT_GOTO_KEY) as alternate for goto dir in |
| browser. |
| - Better partial word checking code. New function |
| search.c:is_whole_word(), changes to findnextstr(), |
| and nano.c:do_int_spell_fix() (Rocco Corsi). |
| - Added multiple-line regex support. Format in .nanorc is |
| start="regex" end="regex". Cleaned up nanorc:parse_colors(), |
| added parse_next_regex(), changes to edit_add in winio.c(), |
| changes to colortype, cleaning up some old cruft. |
| - Upgrade to gettext 0.10.40, probably broke everything again :) |
| - Upgraded to and then downgraded from automake 1.5, as there |
| are severe security implications. |
| - color.c: |
| do_colorinit() |
| - Moved some comments and braces around so color can work |
| w/slang (DLR). |
| - global.c: |
| shorcut_init() |
| - Replace hard coded ALT_G and ALT_H values in the replace |
| and goto shortcuts with their macro counterparts NANO_ALT_*_KEY. |
| - nano.c: |
| usage() |
| - Remove extra \n in --keypad description (Jordi). |
| main() |
| - Check that alt value is an alpha char before comparing to |
| val - 32, fixes Alt-R calling doprev instead of replace. |
| do_char() |
| - Run edit_refresh() if ENABLE_COLOR is defined so adding |
| multi-liners will update (e.g. /* in C). |
| do_int_spell_fix() |
| - Temporarily unset REVERSE_SEARCH if it's set (Rocco Corsi). |
| do_suspend() |
| - Call tcsetattr() to restore the old terminal settings, so |
| tcsh can use ^C after suspend for example (fixes BUG #68). |
| do_wrap() |
| - Move "right" increment to part where new line is created, |
| should change (fix?) some wrapping problems with autoindent. |
| version() |
| - Show --enable-multibuffer independently of --enable-extra being |
| compiled in (Jordi). |
| - nano.h: |
| - Changed color struct slightly, because of previous issue with |
| applying color painting in order, the "str" portion was |
| useless. Renamed "val" in colortype to "start", added "end" |
| for multi-line color strings. |
| - rcfile.c: |
| General |
| - Took silly variables being passed everywhere like lineno and |
| filename and made them static variables. |
| - Re-indented. |
| - Added stdarg.h to includes. |
| rcfile_error() |
| - Now automatically prepends the "error in line blah at foo" |
| message to error messages. |
| parse_colors() |
| - Added section for computing "end" section. |
| parse_next_word() |
| - Added support for "\ ", in word parsing. |
| - search.c: |
| do_search() |
| - Check position of cursor and return value of findnextstr and |
| tell user if search string only occurs once (Rocco & Chris). |
| findnextstr() |
| - Fix off by one in check for wrap around (Rocco Corsi). |
| - winio.c: |
| edit_refresh() |
| - Rename lines to nlines to fix AIX breakage (reported by |
| Dennis Cranston, re-reported by arh14@cornell.edu). |
| edit_add() |
| - Refuse to honor regex matches of 0 characters when applying |
| color highlighting, and say so on the statusbar. Otherwise |
| we go into an infinite loop, the error message should clue |
| users into the fact that their regex is doing something bad. |
| - THANKS: |
| - Oops, correct Eivind's entry. His translation was Norwegian nynorsk, |
| not bokmĂĄl as we claimed (Jordi). |
| - .cvsignore |
| - Added config.guess config.sub install-sh missing & mkinstalldirs |
| - po/ca.po, po/es.po: |
| - Catalan and Spanish translation updates (Jordi). |
| - po/sv.po: |
| - Swedish translation update (Christian Rose). |
| - po/de.po: |
| - German translation update (Michael Piefel). |
| - po/fr.po: |
| - French translation update (Jean-Philippe Guérard). |
| - po/ru.po, po/uk.po: |
| - Russian and Ukrainian translation updates (Sergey A. Ribalchenko). |
| - po/no.po: |
| - Moved to po/nn.po, which is the correct name for Norwegian nynorsk. |
| - po/nn.po: |
| - Norwegian nynorsk translation updates (Kjetil Torgrim Homme). |
| - po/nb.po: |
| - New Norwegian bokmĂĄl translation (Stig E Sandoe <stig@ii.uib.no>). |
| - po/da.po: |
| - Danish translation update (Keld Simonsen). |
| |
| nano-1.1.5 - 01/05/2002 |
| - General |
| - Better integration of View mode (-v) and multibuffer. |
| Fixes to new_file(), do_insertfile_void(), shortcut_init() |
| (David Lawrence Ramsey). |
| - The keypad handling has changed (again). We now use |
| the keypad() function by default. New flag -K, --keypad |
| allows the old behavior for those using the keypad arrow keys |
| and rxvt-based terminals. |
| - Updated copyright notices to 2002 (Jordi). |
| - nano.c: |
| die() |
| - Only save files that were modified (David Lawrence Ramsey). |
| do_cont() |
| - Run signal_init() after doupdate() so ^Y wont suddenly |
| start suspending after returning from ^Z suspend in Hurd. |
| signal_init() |
| - Unconditionally disable VDSUSP if it exists, stops ^Y |
| suspending nano on the Hurd. |
| help_init() |
| - Typo fixes in help strings (Jordi). |
| - New variable helplen needed cause currslen is not always |
| the length we want (bug found by David Lawrence Ramsey). |
| - Typo in file switch string (found by David Lawrence Ramsey). |
| main() |
| - Handle Alt prev/next file keys (,.), as well as normal ones (<>). |
| - Handle OS-specific insert keys by jump to do_insertkey (David |
| Lawrence Ramsey). |
| - files.c: |
| read_file() |
| - Make conversion message less confusing (suggested by Jordi). |
| - rcfile.c: |
| parse_next_word() |
| - Get rid of ptr == \n check to abort, screws up option |
| parsing (bug found by David Lawrence Ramsey) |
| - winio.c: |
| update_line() |
| - set realdata check to >= 1 && <= 31, lack of > 0 check screwed |
| high ascii characters. |
| titlebar() |
| - gettextized a pair of strings. |
| bottombars() |
| - Get rid of that annoying reversed line when color is on! :) |
| edit_add() |
| - Little fixes to let color highlights not bleed onto the next line. |
| statusq() |
| - Initialize "list". |
| - m4/gettext.m4: |
| - Back down to 1.1.3 version. |
| - faq.html: |
| - Various link updates and other fixes (Aaron S. Hawley). |
| - Typo fixes (David Lawrence Ramsey). |
| - AUTHORS |
| - Add DLR. |
| - po/sv.po: |
| - Swedish translation update (Christian Rose). |
| - po/ru.po, po/uk.po: |
| - Russian and Ukrainian translations updates (Sergey A. Ribalchenko). |
| - po/ca.po, po/es.po: |
| - Catalan and Spanish translations updates (Jordi). |
| - po/pl.po: |
| - New Polish, partial translation, by Cezary Sliwa <sliwa@cft.edu.pl>. |
| - Wojciech Kotwica <wkotwica@post.pl> completed it and is the new |
| official maintainer. |
| - po/fr.po: |
| - French translation update (Michel Robitaille). |
| - po/gl.po: |
| - Galician translation update (Jacobo TarrĂo). |
| - po/it.po: |
| - Italian translation update (Marco Colombo). |
| - po/de.po: |
| - German translation update (Michael Piefel). |
| - po/fr.po: |
| - French translation update (Jean-Philippe Guérard). |
| |
| nano-1.1.4 - 12/11/2001 |
| - General |
| - Preliminary syntax highlighting support. New functions |
| colortoint() and parse_color() in rcfile.c, new code in |
| edit_add() in winio.c to actually do the highlighting. It's |
| not even close to pretty yet :P |
| - Many int/long alignments (David Lawrence Ramsey). |
| - files.c: |
| - Fixes for tab completion and screen refresh (David Lawrence |
| Ramsey). |
| add_open_file() |
| - Get rid of unsetting MARK_ISSET because otherwise writing |
| marked text will automatically unset the marker with |
| multibuffer enabled. |
| - global.c: |
| - Define currshortcut and currslen when either DISABLE_MOUSE |
| or DISABLE_HELP or DISABLE_BROWSER is not defined (Silvan |
| Minghetti). |
| - nano.c: |
| main() |
| - Add Esc-[-[IGL] keys for FreeBSD Console (PgUp,PgDn,Insert). |
| - Added better Hurd support for function keys (Alt-V,U,9,@,F). |
| signal_init() |
| - do SIG_IGN for the SIGTSTP sigaction regardless of whether |
| we have _POSIX_VDISABLE or not (more Hurd fixes) |
| help_init() |
| - Typo fixes and additions to the new help texts. |
| do_curpos() |
| - Now takes arg for constant updating to always show the cursor |
| position (David Lawrence Ramsey). |
| do_wrap() |
| - Many fixes (David Lawrence Ramsey). |
| do_spell() |
| - Dont prompt for replace if we don't change the word in |
| question (Rocco Corsi). |
| - po/de.po: |
| - German translation updates (Karl Eichwalder). |
| - po/ru.po: |
| - Russian translation updates (Sergey A. Ribalchenko). |
| - po/sv.po: |
| - Swedish translation updates (Christian Rose). |
| - po/da.po: |
| - Danish translation updates (Keld Simonse). |
| - po/es.po: |
| - Spanish translation updates (Jordi). |
| - po/fr.po: |
| - French translation updates (Michel Robitaille). |
| - m4/gettext.m4: |
| - diff against mutt 1.2.5's gettext.m4. |
| |
| nano-1.1.3 - 10/26/2001 |
| - General |
| - Finally wrote function-specific help mode. Changes to |
| nano.c:help_init() and winio.c:do_help(). Changed |
| currshortcut and currslen #ifdefs to depend on both |
| DISABLE_HELP and DISABLE_MOUSE being defined to not |
| include. Changed all the shortcuts and lengths. |
| - Fixed null_at to ACTUALLY DO SOMETHING with its arg. Again, |
| this was causing nasty errors if the call to nrealloc moved |
| where the data was located. |
| - Changed header comments to say "version 2" instead of "version |
| 1" as the COPYING file is actually version 2 of the GPL (bug |
| noticed by Jordi Mallach). |
| - cut.c: |
| do_cut_text() |
| - Check to see whether marked text is contained within edit |
| window and if so only do an edit_refresh (variable dontupdate |
| replaces cuttingpartialline). |
| do_uncut_text() |
| - Similar display fixes (David Lawrence Ramsey). |
| - faq.html |
| - Removed nano-editor.org FTP site address [deprecated] and added |
| the GNU one. |
| - files.c: |
| - Added status messages for converted DOS and Mac files. |
| People should know that their file wasnt normally formatted. |
| load_file() |
| - Status message when trying to load an already loaded file with multiple |
| buffers (David Lawrence Ramsey). |
| read_file() |
| - Get rid of useless linetemp variable and name num_lines int |
| (David Lawrence Ramsey). |
| - nano.c: |
| - New function do_prev_word, similar to do_next_word. Hard coded as |
| Alt-space, as next word is hard coded as control-space. Fixed |
| goofy logic setting x pos to value of last line when hitting the |
| beginning of first line, prog should simply abort. Added |
| the #ifdefs around the code in main(). |
| - nano.h: |
| - Additional #define, SMALL_TOO to determine how long |
| MAIN_LIST_LEN is. We need this because of the find matching |
| bracket code. |
| main() |
| - Moved #ifndef NANO_SMALL down past the case 0: line so |
| control-space doesn't insert a \0 (ack!) |
| - rcfile.c: |
| - Fix incorrect number of rc options (David Lawrence Ramsey). |
| - po/sv.po: |
| - Updated Swedish translation (Christian Rose). |
| - po/da.po: |
| - Updated Danish translation (Keld Simonsen). |
| - po/es.po: |
| - Style updates to Spanish translation (Santiago Vila). |
| - po/ru.po, po/uk.po: |
| - Updated Russian and Ukrainian translation (Sergey A. Ribalchenko). |
| |
| nano-1.1.2 - 10/03/2001 |
| - General |
| - Added BUGS #63 & 64. Fixes in search_init() and nanogetstr(), |
| new flag CLEAR_BACKUPSTRING because there's no easy way to |
| clear the backupstring without making it global (messy), so we |
| use a flag instead (just as messy?) |
| - --enable-tiny now leaves out the Auto Indent code, do you really |
| need that on a bootdisk? =-) |
| - New flag -o, --operatingdir, similar to Pico's -o mode. New |
| function check_operating_dir(), changes to load_file (arg), |
| open_file_dup_search (arg), new function do_gotopos for -F |
| (David Lawrence Ramsey). |
| - Code to read/write dos formatted files. Massive amounts of |
| new code in read_line and write_file. New cmdline flag |
| (-D --dos) to automatically write the file in DOS format, |
| regardless of the original format. |
| - Mac file writing supported too. Flag -M, --mac. Toggle |
| Meta-O (MacOS? OS-X? =-) |
| - New smooth scroll code by Ken Tyler. New flag -S, --smooth, |
| changes to page_up() and page_down(). Many fixes to paging by |
| David Lawrence Ramsey. |
| - Bracket (brace, parens, etc) matching code by Ken Tyler. |
| New functions do_find_bracket(), changes to findnextstr(), |
| command is Meta-] (hope you dont mind since I already sold off |
| Meta-O to the MacOS file code Ken...) Fixes to bracket_msg |
| by DLR. |
| - Call do_gotopos from do_alt_spell() to keep position |
| consistent when invoking alt speller (DLR). |
| - Readded DISABLE_CURPOS because in certain instances (like |
| all the "Search Wrapped" lines) the cursor position will |
| be different yet we don't want the cursor position displayed. |
| - Take control-space out of -tiny build, unneeded. |
| - cut.c: |
| cut_marked_segment() |
| - Add magic line when cutting a selection including filebot |
| (discovered by DLR, fixed by DLR & Chris, fixes BUG #66). |
| do_cut_text() |
| - Don't recenter the line when cutting one line (DLR) (Bug #65). |
| - faq.html: |
| - Notes about the Free Translation Project. |
| - Debian additions. |
| - files.c: |
| do_writeout() |
| - Expanded strings to not use %s and ?: to determine |
| write/append string to be nice to translators. |
| new_file() |
| - Initialize totsize (DLR). |
| - nano.c: |
| main() |
| - Added var constcheck as a CRC-like check of whether cursor |
| pos has changed and if so update the pos with -c. |
| - Many tweaks and changes from numerics to char equivs |
| (David Lawrence Ramsey). |
| - Fix the KEY_IC being undefined when using slang. |
| do_mouse() |
| - Send 27 when the menu item clicked is an alt key seq... The |
| lines aren't lined up since the menu width changed though, |
| this breakage depends on whether the new widths will be kept |
| or not (FEEDBACK!!) |
| - Change k based on currslen to allow the new widths in |
| bottombars(). |
| do_wrap() |
| - Fixes for Pico incompatibility in cases 2b and 2c. |
| (David Lawrence Ramsey). |
| global_init() |
| - New arg save_cutbuffer, allows cutbuffer to not be lost when |
| using multibuffer. |
| - nano.1: |
| - Added new features, fixed some typos (Jordi). |
| - nano.texi: |
| - Corrected the Mouse Toggle section, noticed by Daniel Bonniot. |
| - Added many command line options, toggles and other additions |
| (Jordi). |
| - rcfile.c: |
| - NUM_RCOPTS fix (DLR). |
| - Add tabsize support to rc file (Nathan Heagy). |
| - Fix incorrect argument in fill and tabsize error message |
| (Nathan Heagy) |
| - search.c: |
| - Changed search prompt to "Search" followed by a list of |
| bracketed, free-standing modifiers that do not imply a grammar, |
| and the (to replace) string separately. Hopefully this resolves |
| the i18n problems that this provoked. |
| findnextstr() |
| - Various fixes that need testing (Ken Tyler). |
| - winio.c: |
| - Add David Lawrence Ramsey to credits. |
| bottombars() |
| - Spread out the menu items, feedback definitely needed on this. |
| nanogetstr() |
| - More key fixes (David Lawrence Ramsey) |
| - Don't be clever and wasteful, just repaint every iteration. |
| - po/nl.po: |
| - New Dutch translation, by Guus Sliepen <guus@nl.linux.org>. |
| - po/ca.po, po/es.po: |
| - Updated Catalan and Spanish translation (Jordi). |
| - po/gl.po: |
| - Updated Galician translation (Jacobo TarrĂo). |
| - po/da.po: |
| - New Danish translation, by Keld Simonsen <keld@dkuug.dk>. |
| - po/sv.po: |
| - Updated Swedish translation (Christian Rose). |
| - po/it.po: |
| - Updated Italian translation (Marco Colombo). |
| - po/fi.po: |
| - Updated Finnish translation (Pauli Virtanen). |
| |
| nano-1.1.1 - 07/28/2001 |
| - General |
| - Reverted included gettext from 0.10.38 to 0.10.35 in intl/ dir. |
| - Added m4/ directory to allow rebuilding using only the internal |
| version of gettext.m4 (Albert Chin). |
| - nano.c: |
| main() |
| - Change the multibuffer getopt option to 'F' (David Lawrence |
| Ramsey) |
| do_mark() |
| - Temporarily disable cursorpos when enabled to be able to see |
| the mark (un)set message (Ken Tyler). |
| - nanorc.sample |
| - Typo fixes and updates (David Lawrence Ramsey) |
| - files.c: |
| new_file() |
| - Do add_open_files if there aren't any open yet (David Lawrence |
| Ramsey). |
| close_open_file() |
| - Try to open the next file first, then the previous one |
| (David Lawrence Ramsey). |
| - global.c: |
| shortcut_init() |
| - Rewrote the whereis and replace lists to put CANCEL at the end |
| of the list, and not include the toggle functions when using |
| NANO_SMALL. |
| - nano.h: |
| - Fix type in INSERTFILE_LIST_LEN. |
| - Rewrote all the macro definitions to be a little less messy, |
| for the #ifdefs anyway. |
| - rcfile.c: |
| - Update for the multibuffer option (oops) (David Lawrence Ramsey). |
| - search.c: |
| - Added #ifdef NANO_SMALLs around the REVERSE_SEARCH code. |
| search_init() |
| - add #ifdef NANO_SMALL around toggles code. |
| - winio.c: |
| bottombars() |
| - Fixed an off by one that wasn't letting lines with odd # |
| shortcuts work in certain cases. |
| |
| nano-1.1.0 - 07/15/2001 |
| - General |
| - New global variables currshortcut and currslen to support using |
| the mouse with the shortcuts. Also supports clicking on files |
| in browser. Added #ifdef DISABLE_MOUSE around this code also. |
| - Changed mouse disabling code from depending on --enable-tiny |
| to its own flag, --disable-mouse. The --tiny option defines |
| this automatically, but now just mouse support can be disabled |
| if desired. |
| - File Browser supports the "Goto Directory" |
| - Added rcfile.c source file. Only includes much of anything when |
| --enable-nanorc is used. Tons of new funcs, most notably |
| do_rcfile() called from nano.c:main(). Added much needed |
| function ncalloc(), will have to go through source code later |
| and change the appropriate calls which used nmalloc for lack of |
| an appropriate calloc function *** FIXME *** |
| - After "Alternate" spell checker is called, cursor is repositioned on |
| the same line as before ^T was pressed. |
| - Moved config.h up in all .c files #include list (Albert Chin). |
| - Added config.guess and config.sub to distribution because, |
| apparently, newer autoconf/automakes can't live without them. |
| - Various spelling updates by David Lawrence Ramsey. |
| - Changed all string allocations to charalloc(), new function |
| designed to take nmalloc argument but call calloc based on |
| (char *) size. |
| - New macro DISABLE_WRAPJUSTIFY to easily check for both wrapping |
| and justify being disabled. This allows us to compile out the |
| -r flag if neither are set, and will also allow us to comment |
| out -W when it is written. |
| - Allow fill to take a negative value to signify a "from right side" |
| value. This allows the value to vary with the screen size yet |
| still be correct. New static value wrap_at to minimize code |
| impact. Updated man page and info file. |
| - Allow file appending. New shortcut list nano_insertfile_list (since |
| insert and write routines can't share shortcut lists anymore), |
| new args to do_writeout and write_file called append, and of source |
| code changes to those functions. |
| - Allow backwards searching. Drastic rewrite of the search prompt |
| string by Chris. All other code by Ken Tyler. New globals |
| nano_reverse_msg, new functions revstrstr and revstrcasestr, |
| many changes to search functions. Not too big a code size |
| increase! |
| - Moved extension functions (Case Sensitive, Regexp, and Backwards |
| Search, Append key in write file function) to Meta keys, as |
| people are complaining loudly about nano not being control-key |
| compatible with Pico, which is a Bad Thing (TM). Changes to |
| shortcut_init, toggle_init, new toggles for backwards and regexp |
| (and you can now toggle all search options including regexp at |
| the Search: prompt!) Changes to nanogetstr to enable Meta |
| keys to be grabbed, changes to onekey to print M-style shortcuts. |
| - New macro TOGGLE which just toggles, no more silly checking |
| ISSET and then using SET or UNSET when we want a simple toggle |
| for a flag. |
| - Added multiple buffer capability (God help us). New configure |
| option --enable-multibuffer (-F), changes to do_insertfile(), |
| do_insertfile_void(), toggle_init(), do_gotoline(), edit_update(), |
| and write_file(), new functions add_open_file(), |
| open_file_change_name(), load_open_file(), open_file_dup_search(), |
| open_file_dup_fix(), open_prevfile(), open_nextfile(), |
| close_open_file(), get_full_path(), die_save_file(), etc. |
| (David Lawrence Ramsey). |
| - Using --enable-extra automatically defines --enable-multibuffer |
| changes to version() and configure.in. |
| - Moved to gettext 0.10.38 at the last second, sure to break |
| something, but at least I can run make distcheck! |
| - Makefile.am: |
| - Include ABOUT-NLS and the new THANKS files to the distributed list. |
| - THANKS: |
| - Initial, incomplete list of people to thank. |
| - Added some more people. |
| - configure.in: |
| - New option, --enable-nanorc, which allows people to have a .nanorc |
| initialization file and set options normally used on the command |
| line, and color later on. |
| - Added --enable-color option to allow color and syntax highlighting |
| (stub as of now). |
| - cut.c: |
| add_to_cutbuffer() |
| - Remove useless statements (Rocco). |
| cut_marked_segment() |
| - Add bizarre copy of bot node, else *BSD goes ballistic (fixes |
| BUG #60). |
| - Added 'destructive' argument. Allows the selected text to be |
| added to the cutbuffer without changing the contents of the |
| file. This allows writing selection to separate files. |
| do_cut_text() |
| - If the line is empty when using -k and wasn't already added, |
| create a dummy line and add it to the cutbuffer (fixes bug #61) |
| - Reset marked_cut if we blow away the cutbuffer. |
| - Moved the case of current == mark_beginbuf into cut_marked |
| segment, so do_writeout could call it when writing selection to |
| file. |
| do_uncut_text() |
| - Reset cutbuffer even if we're uncutting marked or cut to end text! |
| - faq.html: |
| - Brought the FAQ up to date, many little changes (Jordi). |
| - Added sections 3.7 and 3.8 for the multibuffer and nanorc support. |
| - files.c: |
| do_browser() |
| - Minor fixes to the processing of SELECT function (Rocco) |
| - Added the "Goto Directory" code (Rocco) |
| - Don't shift the size of the file is it's less than 1K. Fixed |
| files less than 1K being displayed as 0B (Rocco). |
| - More Picoish keystrokes for the browser, ^P, ^N, etc, for up, |
| down, etc, and add the consistent ^C to exit (Jim Knoble). |
| do_writeout() |
| - New code to allow writing selected text to a separate file. |
| When this is done, the current state is preserved. |
| write_file() |
| - New arg, nonamechange, means whether or not to update the |
| current filename after writing the file out. |
| - Increment lineswritten when the very last line isn't null. |
| Fixes off by one count when writing selection to file. |
| - global.c: |
| - Updated some of the lists for the "Goto Directory" code (Rocco) |
| - move.c: |
| page_up() |
| - Rewritten with a loop to make screen updates work when |
| mark is set (fixes bug #59). |
| do_home(), do_end() |
| - Don't keep cutbuffer. |
| - nano.1: |
| - Added the missing -r flag (Jordi). |
| - nano.c: |
| do_alt_speller() |
| - Reposition cursor on same line as before ^T was called (Rocco) |
| ABCD(), main() |
| - Add Alt-whatever-[a-d] support as well as Alt-whatever-[A-D]. |
| main() |
| - Code to silently process "-g" and "-j" (Rocco) |
| - Added Alt-[-7,8 support for home/end keys (Jeff Teunissen). |
| signal_init() |
| - Reorder sigaction calls, use sigfillset() to stop SIGTSTP and |
| SIGCONT from being interrupted, allows suspending nano |
| to work more reliably, esp. with mutt, etc. |
| do_suspend() |
| - Don't try to play with the handler inside the handler. Just |
| raise a SIGSTOP. We also now write the "use "fg"" message to |
| stdout instead of stderr. |
| - Added _POSIX_VDISABLE macro to fully ignore suspend keystroke. |
| Eliminates the possibility that nano can be suspended when |
| it's not supposed to be. Many many many thanks to Jordi and |
| Tom Lear for helping out finding and fixing this bug! |
| do_cont() |
| - Now just does a refresh call instead of playing with the SIGTSTP |
| handler. |
| - nano.h: |
| - Updated the BROWSER_LIST_LEN for the "Goto Directory" code (Rocco) |
| - proto.h: |
| - New shortcut list added: gotodir_list (Rocco). |
| - search.c: |
| do_gotoline() |
| - Optimizations, remove "$" goes-to-last-line, less messages (Rocco) |
| do_replace() |
| - If we manage to make it in somehow with VIEW_MODE on, abort |
| nicely (fixes BUG #59). |
| - utils.c |
| strcasestr() |
| - Replaced by mutt's mutt_stristr function, because the thought |
| of dynamically allocating memory and copying each line in a file |
| to do a search or replace was causing me to lose sleep. |
| - winio.c: |
| actual_x() |
| - Remove inline from function decl (Albert Chin). |
| - po/POTFILES.in: |
| - Added utils.c to the list. |
| - po/es.po, po/ca.po: |
| - Updated (Jordi). |
| - po/gl.po: |
| - Galician translation by Jacobo TarrĂo. |
| - po/uk.po, po/ru.po: |
| - New Ukrainian and Russian translations by Sergey A. Ribalchenko |
| <fisher@obu.ck.ua>, thanks! |
| - po/id.po: |
| - Updated Indonesian translation by Tedi Heriyanto. |
| - po/it.po |
| - Updated Italian translation by Marco Colombo. |
| - po/no.po: |
| - New Norwegian translation by Eivind Kjørstad <ekj@vestdata.no>. |
| - po/sv.po: |
| - New Swedish translation by Christian Rose <menthos@menthos.com>. |
| |
| nano 1.1 tree forked here 04/07/2001 |
| |
| nano 1.0.1 - 04/06/2001 |
| - General: |
| - added configure option --disable-wrapping. Does what it says, |
| no wrapping or checks are done. Separate from --enable-tiny, |
| some may want a bare-bones Pico clone that does wrap text. |
| Affects configure, nano.c:do_char() and check_wrap() obviously, |
| version(), and do_char(). |
| - aclocal.m4: |
| - Minor patch for intl check (really this time) (Albert Chin) |
| - faq.html: |
| - Fixed typo in section 6.1 (discovered by Bob Farmer). |
| - files.c: |
| - fix two typos in comments, one in ChangeLog (Matthias Andree) |
| diralphasort() |
| - Stop abort on symlinks (Matthias Andree) |
| - use strcasecmp to sort directory if available, pilot does that |
| as well (Matthias Andree) |
| filestat(), do_browse() |
| - Changed lstat calls to stat, which fixes the browser not |
| following links to directories. We only use lstat() when |
| printing the details of the file, and if it is a link, then |
| check via lstat() for link to a directory. If it is |
| a directory, display (dir), else use the normal "--". |
| do_browser() |
| - Fix broken size suffix off-by-one errors (Matthias Andree) |
| cwd_tab_completion(), do_browse_from() |
| - Use PATH_MAX instead of 0 arg to getcwd (Matthias Andree). |
| - Changed above to use PATH_MAX only when defined on the |
| system, as the HURD e.g. does not support it. |
| - intl/Makefile.in: |
| distclean |
| - added intl/libintl.h to the rm -f rule, should fix the unresolved |
| gettext symbols problem (Jordi). |
| |
| nano-1.0.0 - 03/22/2001 |
| - General |
| - Added void to functions declared as () args, nano.c:do_mark() |
| and search.c:regexp_cleanup(). (Christian Weisgerber). |
| - Changed internal variables called "new" to "newnode" to avoid |
| the "new" C++ reserved word, even though there is likely no way |
| nano will EVER be compilable with a C++ compiler. (suggested by |
| Rocco Corsi). |
| - ca.po, es.po: |
| - Final tweaks for Nano 1.0. |
| - cs.po: |
| - Czech translation from Vaclav Haisman. |
| - nano.info: |
| - Added dir entry (Albert Chin). |
| - winio.c: |
| statusq() |
| - Added NANO_BACK_KEY and NANO_FORWARD_KEY cases for left and right. |
| |
| 1.0-test prerelease - 03/17/2001 |
| - nano.c: |
| do_wrap() |
| - Added case for autoindenting text causing new line (Adam). |
| - Added SAMELINE case to above. Added checks to cases 1b and |
| 2b for placement of cursor. |
| - move.c: |
| page_down() |
| - Check for totlines < editwinrows in check for superfluous |
| edit update (fixed BUG #57). |
| - search.c: |
| print_replaced() |
| - s/occurence/occurrence typos (Jordi). |
| search_init() |
| - If using Pico mode and regex and same answer is entered, use |
| last_search string instead of answer (fixes BUG #56). |
| - nano.texi: |
| - Meta-Z correction and grammar in --enable-tiny desc (Neil Parks). |
| |
| nano-0.9.99pre3 - 02/19/2001 |
| - General |
| GNU compliance issues: |
| - Reworked shortcut list, put "Get Help" into default list, |
| removed "Goto Line", aligned "Read File" with "Write Out" and |
| "Replace" with "Where is" for consistency. |
| - Added texinfo manual nano.texi. Added texi options to |
| Makefile.am. |
| - configure.in: |
| - Autoconf compatibility fixes (Pavel Roskin) |
| - Added separate check for resizeterm(). |
| - ALL_LINGUAS: added hu and ca. |
| - cut.c: |
| do_cut_text() |
| - marked text cut fixes (Rocco) (Fixes bug #54). |
| - nano.c: |
| do_delete() |
| - Added check for current->next == fileptr, as we have a magic |
| line code again, fixes silliness at the end of the last line |
| before the magic line (reported by J.A. Neitzel). |
| do_justify() |
| - If the keystroke after the justify is not the unjustify key, |
| blank the statusbar (bug reported by Neil Parks). |
| main() |
| - Added ENABLE_NLS check around gettext stuff. |
| - winio.c: |
| do_yesno() |
| - Added localized yes, no and all strings to function and rewrote |
| handler for the new format. |
| - de.po: |
| - Translation updates by Florian König. |
| - fi.po: |
| - Translation updates by Pauli Virtanen. |
| - hu.po: |
| - Hungarian translation by Horvath Szabolcs. |
| - id.po: |
| - Translation updates by Tedi Heriyanto. |
| - es.po: |
| - Translation updates and grammatical/typo fixes (Jordi). |
| - ca.po: |
| - Catalan translation by Jordi Mallach :) |
| - Miquel Vidal <miquel@sindominio.net> went over it and corrected |
| many typos and completed bits that remained untranslated by error. |
| |
| nano-0.9.99pre2 - 01/31/2001 |
| General |
| - Removed center_x and center_y globals. center_y was |
| completely unused and center_x was only used a few places, |
| easily replaced with COLS / 2 (oops, not current_x & y (Rob)). |
| - Deleted free_node, duplicate of delete_node, and changed all |
| free_node calls to delete_node. |
| - Fix for resizing the window in modes other than normal edit mode |
| Changes to handle_sigwinch(), main(). Fixes bug #52 (Rocco). |
| - files.c: |
| write_file() |
| - Don't free() realname on error, if it needs to be free()d later |
| it will be (fixes crash on successful write after failed write, |
| discovered by David Sobon). |
| username_tab_completion() |
| - Optimization and removal of useless vars (Rocco). |
| - Rewritten using getpwent (suggested by Rocco). |
| - Removed redundant conditional (Rocco). |
| real_dir_from_tilde() |
| - Rewritten using getpwent (suggested by Adam, much optimized by |
| Rocco). |
| - global.c: |
| - Don't define toggles global or toggle_init_one if using --tiny. |
| - nano.c: |
| do_justify() |
| - Added restoration of totsize after unjustify command. |
| usage() |
| - Add arg to -T help (Rocco). |
| global_init(), handle_sigwinch() |
| - Messy loops replaced with memset calls (Rocco). |
| do_alt_speller() |
| - Added code to parse multi-word alt_speller strings. |
| - Fix initialization before fork() (Rocco). |
| - proto.h: |
| - Fix do_credits() proto (oops!) |
| - winio.c: |
| nanogetstr() |
| - Sanity check for x overrunning the string buffer len. |
| |
| nano 0.9.99pre1 - 01/17/2001 |
| General |
| - Changed #ifdefs to check for both DISABLE_TABCOMP and |
| NANO_SMALL, makes tiny option leave out tab completion, which |
| should be left out in that circumstance. Saves at least 5k. |
| - Previous change to #ifdefs DISABLE_TABCOMP and NANO_SMALL rolled |
| back. (Rocco) |
| - Various #ifdef & #ifndef cleanups. (Rocco) |
| - Added message for when keypad goes awry. Added code in main and |
| function print_numlock_warning() to notify user, and added an |
| appropriate section in the faq to refer to this brokenness. |
| - Added macros in nano.h for magic values that might be unclear in |
| nano.c:global_init(). (Rocco) |
| - configure.in: |
| - Fix for _use_keypad check breaking slang support (Christian |
| Weisgerber). |
| - Changed to automatically define the 5 DISABLE variables when |
| NANO_SMALL (enable-tiny) is requested at configure. |
| - faq.html: |
| - Added some info on making the binary smaller with the configure |
| script. |
| - Added section on keypad bugginess. |
| - files.c: |
| real_dir_from_tilde() |
| - Oops, fix case where buf ="~", silly crash (bug discovered by |
| Neil Parks). |
| do_browser() |
| - Added space and - keys to do page up and down. |
| cwd_tab_completion(), input_tab() |
| - Changed bare malloc/calloc calls to nmalloc (found by Rocco). |
| - Added memset() to matchBuf to ensure sanity (Rocco, Adam). |
| - nano.c: |
| ABCD() |
| - New function, figures out what kbinput to return given |
| input common to several switch statements, allows us to |
| support the default Konsole key settings. |
| main() |
| - Alternate speller option no longer valid if DISABLE_SPELLER is |
| active. (Rocco) |
| - Removed direct calls to usage() (#else) for -k (cut) or -s (speller) |
| options when these have been disabled. (Rocco) |
| - Initialized kbinput to get around stupid compiler warning. |
| nano_small_msg() |
| - This function has been removed. All references now call |
| nano_disabled_msg. (Rocco) |
| version() |
| - When NANO_SMALL (enable-tiny) is defined, the 5 main DISABLE |
| variables (SPELLER, HELP, JUSTIFY, BROWSER, TABCOMP) are not |
| reported as enabled when Nano is called with -V (--version) |
| command line option. (Rocco) |
| usage() |
| - Alternate speller option no longer valid if DISABLE_SPELLER is |
| active. (Rocco) |
| window_init(), handle_sigwinch() |
| - Added check for not having enough LINES to do anything useful, |
| if so die with an error. (Rocco) |
| die_too_small() |
| - Function to print the window too small error message, avoids |
| repeated string defs and globals. |
| do_justify() |
| - Small fix for totsize calculation (Rob) |
| |
| - fi.po: |
| - Update by Pauli Virtanen. |
| |
| nano 0.9.25 - 01/07/2001 |
| General - |
| - New file browser code. New functions in files.c:do_browser(), |
| helper functions browser_init(), tail(), striponedir(), |
| filestat(). New shortcut list browser_list. Some new |
| strings to translate. Added function do_browse_from(). |
| - Keypad code has been changed slightly. Now checks for |
| _use_keypad flag in window to see whether or not to turn |
| the keypad() back off when finished (taken from aumix). Moved |
| to winio.c where it should probably be anyway. New configure |
| check for _use_keypad in window struct. This will have to do |
| for now. |
| - Moved keypad() calls for PDCurses from main() to window_init() |
| so the keypad continues to work after a Meta-X, for example. |
| Fixed bug #51. |
| - faq.html: |
| - Fix typos and small mistakes (Jordi). |
| - files.c: |
| username_tab_completion() |
| - Added the (char *) sizeof when allocating memory for the filename |
| array (Rocco). |
| cwd_tab_completion() |
| - removed skipping . and .. when tabulating matches. |
| - Added the (char *) sizeof when allocating memory for the filename |
| array (Rocco). |
| do_writeout() |
| - Now takes an argument so the string typed in can be retained |
| when calling the browser. |
| do_browser() |
| - Don't decrement longest by the length of path. Fixes crashes |
| on entering various dirs (Rocco). |
| - Don't ungetch() the exit key, unneeded, fixes inserting a file |
| causes exit code. |
| - move.c: |
| page_down() |
| - Don't do an edit_update when there is only one page of text |
| (fileage == edittop && filebot == editbot). Fixes Bug #50. |
| - nano.c: |
| main() |
| - Reorder the getopt options to be more or less alphabetical |
| (suggested by Sven Guckes). |
| - winio.c: |
| do_cursorpos() |
| - Optimizations and cleanups by Rocco Corsi. |
| do_credits() |
| - Spell Erik Andersen's name right. |
| titlebar() |
| - Now takes an arg, needed for browser function. |
| do_help() |
| - Changed way of temporarily bringing up shortcuts at the |
| bottom in the help screen (actually works). |
| - utils.c: |
| mallocstrcpy() |
| - Takes char pointers now instead of void (makes debugging a |
| helluva lot easier) |
| - Duh, don't do anything if src == dest! |
| - es.po: |
| - Updates for file browser (Jordi). |
| |
| nano 0.9.24 - 12/18/2000 |
| General |
| - Added --disable-help option, affects acconfig.h, configure(.in), |
| winio.c:do_help, nano.c:help_init,help_text_init,version. |
| - Changed filename to no longer use PATH_MAX, so it can work on the |
| HURD. Changes in files.c:write_file(), new function |
| nano.c:clear_filename(), many changed in main(), a few other |
| places. Please test this! |
| - Added -b, -e, and -f flags, which we ignore as nano provides |
| their functionality already. |
| - cut.c: |
| do_uncut_text() |
| - Fix renumbering bug when uncutting marked text at filebot. |
| - Fix screen not being displayed when we are uncutting marked |
| text at editbot (Bug discovered by Ken Tyler). |
| - Fix magic line not getting created when (you guessed it) |
| uncutting marked text at filebot (Ryan Krebs). |
| - files.c: |
| read_file() |
| - If we encounter an error and insert is not set, run new_file(). |
| (bug discovered by Ben Roberts). |
| write_file() |
| - Change open call flags, basically copy joe's way of doing it so |
| a more recent version will actually be included in (un)stable. |
| - Remove useless fstat call. |
| open_file() |
| - Added check for S_ISBLK and S_ISCHR, don't open device files! |
| - nano.c: |
| renumber() |
| - Don't stupidly assign the value of prev->lineno if prev == NULL! |
| main() |
| - Added code to check for Alt-Alt (27-27) keystrokes and set the |
| next keystroke as a control sequence. New variable |
| modify_control_key. Removed #ifdef _POSIX_VDISABLE check |
| around Control-S,Q,Z handlers because we need it now for |
| the Alt-Alt-x code. |
| - Added --view option to getopt_long() call. Bug discovered |
| by Rocco Corsi. |
| help_init() |
| - Fix off by one error that was making ^G help in normal mode and |
| ^_ in Pico mode not be displayed in the help (bug discovered by |
| Rocco Corsi). |
| do_toggle() |
| - Added fix_editbot() call to fix improper redisplay of edit |
| window when using nohelp toggle (bug discovered by Rocco Corsi). |
| - nano.1, nano.1.html: |
| - Updated man page for -b, -e, -f and expanded explanation for -p. |
| - winio.c |
| do_help() |
| - Force keypad on so F-keys and PageUp/Down will work properly. |
| Added check for NANO_EXIT_FKEY to loop. |
| - utils.c: |
| new_magicline() |
| - Increment totsize!! We decrement it when we've read a file, |
| everywhere else it should automatically be incremented |
| |
| nano 0.9.23 - 12/08/2000 |
| General |
| - Changed --disable-spell to --disable speller. The term is |
| "speller" for -s, so it should be --disable-speller. |
| - files.c: |
| write_file() |
| - Added tmp check to TMP_OPT section (how appropriate). |
| - Added new consistency checking code from securityfocus |
| article by Oliver Friedrichs, and use O_EXCL if tmp == 1. |
| - We now run check on result of lstat(), not stat(), to be |
| safer. New variable anyexists, we use still use realexists |
| later in the program. |
| - OOPS, line up link/unlink/rename check if conditional with |
| top if conditional. Option -l has been broken for 9 versions, |
| no one noticed?! |
| - Added saving perms at end of link so we can apply them to the |
| new file if --nofollow is used. |
| - winio.c: |
| edit_add() |
| - Off by one display error (fix by Rocco Corsi). |
| do_replace_highlight() |
| - New code to handle being past COLS (Rocco Corsi). |
| - Moved from search.c, as it's definitely a winio function now =) |
| update_line() |
| - More '$' display fixes (Rocco Corsi). |
| |
| nano 0.9.22 - 12/02/2000 |
| - General |
| - Username tab completion code, and cleaned up existing tabcomp |
| code. New functions real_dir_from_tide(), append_slash_if_dir(), |
| username_tab_completion is more than a stub now =-). |
| - Ignore key sequence 543 & 545, right control and alt keys in |
| windows. Affects main() and winio.c:nanogetstr(). |
| - Took out help from spell_list and changed SPELL_LIST_LEN to 1. |
| Is using a spell checker THAT difficult? =-) |
| - New function nano_disabled_msg(), to alert that certain |
| functions have been disabled, similar to nano_tiny feature. |
| - New configure options: |
| - Added configure argument --disable-tabcomp. Affects |
| bottom of files.c and write_file, utils.c:check_wildcard_match() |
| and winio.c:nanogetstr(). |
| - New options --enable-extra. New code in nano.c:version() to |
| print out various options from ./configure, function do_credits(). |
| - Added --disable-spell option for those who want to just disable |
| the spell check feature. Affects the spelling functions |
| do_spell, do_int_speller and do_alt_speller. |
| - Added --disable-justify to get rid of the justify function. |
| Affects do_justify() (not surprisingly). |
| - files.c: |
| write_file() |
| - Unsetting modified on temp files bug fixed (Rocco Corsi). |
| - Okay, if tmp == 1 and the file exists, we abort. |
| do_insertfile() |
| - Added call to real_name_from tilde, oops. Added check for |
| DISABLE_TABCOMP. |
| read_file() |
| - Added check for fileptr == NULL. |
| - global.c: |
| shortcut_init() |
| - Now takes an argument as to whether to display the unjustify |
| shortcut or the normal uncut text one. Needed to accommodate |
| the kludgey unjustify code. |
| - nano.1, nano.1.html: |
| - Updated date on pages because of -p changes. |
| - Added "NOTES" section, where I explain what nano.save & friends |
| are. |
| - Added a copyright notice for the manpage, under the GPL. |
| - Other minor changes. |
| - nano.c: |
| do_justify() |
| - Wrote unjustify code. Borrows cutbuffer and stores the unjustified |
| text there, then grabs the next keystroke and, if the unjustify |
| key, gets rid of the justified text and calls do_uncut_text. |
| Added macro NANO_UNJUSTIFY_KEY. |
| do_int_spell* |
| - Various fixes (Rocco Corsi). |
| - Changed abort of program to aborting based on value of "edit a |
| replacement" question, and not caring about the replace loop |
| return value. That way the user can get out of the replace loop |
| and continue spell checking (very important to me anyway). |
| version() |
| - Took out huge check for the various --disabled macros, |
| eventually there will be too many to reasonably check for. |
| nano_small_msg(), nano_disabled_msg() |
| - Added checks for disabled functions to see whether or not to |
| declare them. |
| do_next_word() |
| - Update the previous line as well as the current one in case we |
| have moved beyond COLS or back from COLS, patch submitted |
| by Ryan Krebs. |
| die() |
| - Now creates .save file using variable-length strings. Also |
| calls write_file with tmp == 1, which happens to do exactly what |
| we want (abort on save file exists and use mode 0600). |
| handle_sighup() |
| - Now calls die instead of writing on its own and exiting normally. |
| - search.c: |
| do_replace_highlight() |
| - New function, displays the currently selected word as highlighted |
| in the spell check. Called from do_replace_loop (Rocco Corsi). |
| - Added calls to curs_set(0) and (1) to disable the cursor when |
| highlighting, looks much better. |
| - es.po: |
| - Traditional Spanish strings updates. |
| |
| nano 0.9.21 - 11/23/2000 |
| - AUTHORS |
| - Added Rocco Corsi. |
| - nano.c: |
| main() |
| - Changed check for argc == 1 to argv[optind] == NULL to decide |
| whether or not to display "New File" in the statusbar. |
| - search.c: |
| findnextstr() |
| - Fix current_x increment bug by using another variable (Rocco Corsi). |
| search_init() |
| - Silly typo in our "one simple call" of statusq. Stopped |
| previous search string from being displayed. |
| do_replace() |
| - Copy back the previous value of last_replace into answer if |
| using PICO_MODE and answer == "" |
| - winio.c: |
| do_up() |
| - Deleted first update_line() call, screws up display when marker is |
| set. |
| - nano.1, nano.1.html |
| - Updated man page for new -p definition. |
| |
| nano 0.9.20 - 11/18/2000 |
| - General |
| - Ran source through indent -kr again. Make everything pretty. |
| - Changed behavior of "search" and "replace" prompts to make all |
| previous values editable. This change was made so that you can |
| replace with the null string without needing a special key for it. |
| changed code in search_init(), do_replace(), nanogetstr (see |
| below). |
| - Added some missing gettext calls here and there (Jordi). |
| - Revamped nanogetstr() and calls to it to use variable length |
| strings. |
| MANY changes in nanogetstr(), many chances in search.c, new |
| function mallocstrcpy which is sure to be a programmatic |
| nightmare, changed last_search, last_replace, answer to |
| pointers. New function not_found_msg in search.c for displaying |
| truncated strings in statusbar when the string is not found |
| (-pedantic fixes by Rocco Corsi). We disable this feature when |
| using PICO_MODE (-p). |
| - New spelling code by Rocco Corsi. New functions |
| do_int_speller, do_alt_speller, changes to do_spell in nano.c, |
| New functions search_init_globals and do_replace_loop, changes |
| to search_init(), do_replace, findnextstr, moved last_search and |
| last_replace back to nano.c (*shrug*). |
| - New tab completion code. Used check_wildcard_match, input_tab, |
| cwd_tab_completion, username_tab_completion from busybox, |
| hacked them a lot, changes to nanogetstr(). nanogetstr() and |
| statusq() now take an arg for whether or not to allow tab |
| completion. |
| - Fixed value being input in statusbar during a search or replace |
| and CASE_SENSITIVE or the other search is called and the |
| string being typed in is blown away. Reported by Ken Tyler. |
| - Changed PICO_MSGS flag to PICO_MODE, changed help strings |
| accordingly. |
| - files.c: |
| do_writeout() |
| - Change strcpy to answer to mallocstrcpy. |
| - global.c |
| - New global replace_list_2, for 2nd half of the replace dialog |
| ("Replace with:"), has fewer options than first half because |
| they were inappropriate. |
| toggle_init() |
| - Added #ifdef around toggle_regex_msg to get rid of compiler |
| warning. |
| |
| - nano.c: |
| keypad_on() |
| - New function, toggles turning the keypad on and off in edit and |
| bottomwin(). Added call to this in finish(), fixes bug #45. |
| - search.c |
| findnextstr() |
| - New arg for begin_x variable, basically a rewrite that |
| makes a little more sense and isn't quite as messy (Rocco Corsi). |
| - Update the line we're checking if not the whole screen, because |
| it's quite possible the search team could exist somewhere way |
| to the right on the same line, for example. |
| replace_abort() |
| - Add reset of placewewant, stops cursor from jumping when moving |
| cursor after a replace. |
| do_replace() |
| - Added code for Gotoline key after entering the search term. |
| Fixes bug #46. |
| - Removed redundant code involving processing replacement string. |
| Converted if statements to switch statements. |
| - Optimizations by Rocco Corsi. |
| - Removed code for deleted shortcuts from in replace_list_2. |
| do_search() |
| - Converted if statements to one switch statement. |
| - winio.c |
| nanogetstr() |
| - Added check for 343 in while loop to get rid of getting "locked" |
| into statusbar" bug in odd $TERMs like iris-ansi. |
| - Changed check to return -2 on "enter" from answer == "" |
| to answer == def. |
| - Fixed fallthrough code because there was no break. Make much |
| more sense now. |
| - Added check for ASCII 54[124] when using PDCurses, ignore them |
| if noticed. |
| nanoget_repaint() |
| - New function, removes about 30 lines of duplicate code in |
| nanogetstr(). |
| - Black magic code to make $ appear in prompt if we're past |
| COLS. |
| blank_edit() |
| - Removed wrefresh() call, much less choppy now. If there's a need |
| for a wrefresh after a specific call, let me know. |
| - es.po: |
| - Updated translation for 0.9.20 (Jordi). |
| |
| nano 0.9.19 - 10/02/2000 |
| - General |
| - Added PDCurses support under cygwin, which allows building |
| a nice stand-alone nano.exe for those poor Windows users. |
| Extra check in configure.in for initscr() in -lcurses (as |
| PDcurses has no tgetent), some #ifdef PDCURSES statements |
| in main(). |
| - Changed web site and email to new nano-editor.org domain. |
| - nano.c |
| - Added (int) casts to remove compile warnings with -Wall. |
| main() |
| - Added check for _POSIX_VDISABLE around term variable definition. |
| - search.c |
| - Added initializations for last_search and last_replace (Rocco Corsi) |
| |
| nano 0.9.18 - 09/18/2000 |
| - General |
| - Changed _POSIX_VERSION checks in regex code to HAVE_REGEX_H, |
| added check for regex.h in configure.in. |
| - configure.in: |
| - Added default case for cross-compiling to get rid of annoying |
| AC_TRY_RUN warning. |
| - cut.c: |
| do_cut_text() |
| - Don't immediately abort if we're on filebot and the marker is |
| set (fixes bug #42). |
| - files.c: |
| open_file() |
| - Fix for bug #44 (Rocco Corsi). |
| - global.c: |
| shortcut_init() |
| - Added in FKEYs that for some reason were left out. *boggle* |
| - nano.c: |
| main() |
| - Added check for _POSIX_VDISABLE and use raw mode if not |
| available, allows nano to work with cygwin. |
| - Added gettext calls to enable/disable strings (Jordi). |
| - Revamped a great deal of the F-key and keypad key handling, |
| because we not longer use keypad() (see below). |
| - Removed keypad() call because nano was not working with the |
| keypad in many terms, which is very bad. |
| - Made insert key call do_insertfile(). |
| do_toggle() |
| - Rewrote function to allow NOHELP toggle to work on systems |
| without a working resizewin(). New function window_init(). |
| mouse_init() |
| - Add keypad only if mouse support is on, otherwise mouse doesn't |
| work. I guess you have to choose between having the mouse and |
| having a working keypad for the time being (thank god for Meta-M). |
| - winio.c: |
| total_refresh() |
| - Added titlebar() call. |
| onekey() |
| - Off by one error fix fix ;-) (Rocco Corsi). |
| |
| - search.c: |
| findnextstr() |
| - Reset starting at current for search instead of begin. |
| - es.po: |
| - Translated new strings and minor updates (Jordi). |
| - de.po |
| - Revised translations by floki@bigfoot.com |
| |
| nano-0.9.17 - 09/04/2000 |
| - General |
| - New shortcuts to toggle certain options that are normally only |
| flags via Alt/Meta. See Alt-C,E,I,K,M,P,X,Z. New struct called |
| toggles in nano.h, toggle_init(), toggle_init_one() in global.c |
| called from shortcut_init(), and do_toggle in nano.c. Also |
| moved the signal code into a separate function in nano.c called |
| signal_init(). Moved "struct sigaction act"into a static in |
| nano.c. |
| - Changed from Alt-key symbol (@) which is completely nonstandard |
| to the *nix "Meta" symbol (M-). Changed help_init to show |
| the M-key usage and the help text to explain keys which generate |
| Meta. Moved the toggle Meta keystrokes to the first column |
| instead of the third as they are the primary keystrokes for the |
| functions. Thanks Mini editor team :-> |
| - Changed last_search and last_replace vars to statically |
| allocated (hence nulled) and moved to search.c (Matt Kraai). |
| - global.c: |
| toggle_init() |
| - Changed "No auto wrap" and "No help mode" to "Auto wrap" and |
| "Help mode". See the change to do_toggle() below. |
| - nano.c: |
| do_mouse() |
| - Patch for handling lines w/tabs and mouse better (Ben Roberts). |
| do_wrap() |
| - Made wrapping code less ambitious. |
| do_toggle() |
| - Added checks for no help and no wrap mode, and print opposite |
| enable/disable message. |
| do_suspend(), do_cont(): |
| - New functions, handle suspend signal in a Pico-like manner and |
| work with Meta-Z. |
| - winio.c: |
| total_refresh() |
| - Added edit_refresh() call to actually update the screen if messy. |
| edit_refresh_clearok() |
| - New function, does a total update for edit refresh, needed to fix |
| lack of reversed text on searching with MARK_ISSET. |
| onekey() |
| - Off by one error fix (Rocco Corsi). |
| |
| update_line() |
| - Added check for binary data >= 1 and <= 26, and use ^+letter |
| to display it. Should fix editing text files with binary |
| data in them. Placing of the cursor seems to be a bit screwed |
| though... |
| - search.c: |
| search_abort() |
| - Now calls edit_refresh_clearok when MARK_ISSET to handle screen |
| ugliness bug (reported by Ken Tyler). |
| findnextstr(): |
| - Added reset for placewewant (Ben Roberts). |
| - Fixed check for string that only occurs on the same line failing |
| (discovered by Ken Tyler). |
| |
| nano-0.9.16 - 08/09/2000 |
| - cut.c: |
| do_cut_text() |
| - Fixed getting locked into cutbuffer on cutting first line of file. |
| - Added check_statblank(). |
| - Check for fileptr == filebot, if so return, we shouldn't bother |
| cutting the magic line. |
| do_uncut_text() |
| - Added check_statblank(). |
| - nano.c: |
| main() |
| - Changed tabsize long arg to actually accept an argument *sigh*. |
| - po/Makefile.in.in: |
| - Patch to handle $DESTDIR (orig by Dan Harnett contributed by |
| Christian Weisgerber) |
| - configure.in: |
| - New (and severally revised =) slang test code (Albert Chin-A-Young) |
| |
| nano-0.9.15 - 08/03/2000 |
| - Changed edit_update call to take arguments TOP, CENTER or BOTTOM. |
| Affects many many functions. Removed functions edit_update_top and |
| edit_update_bot. |
| - Added global variable tabsize, we no longer screw with the curses |
| library in order to implement -T (suggested by Christian Weisgerber). |
| - configure.in: |
| - Finally fixed check for slang to report "no" if not called |
| with --with-slang or --without-slang |
| - nano.c: |
| splice_node() |
| - New function, abstracts linking in nodes. Fixes bug #36. |
| null_at() |
| - New function, nulls a string at a given index and realigns it. |
| delete_buffer() |
| - Removed, same as free_filestruct(). |
| do_backspace() |
| - Now calls page_up_center instead of page_up (as it should?) |
| do_enter() |
| - Fixed typo (?) in check for inptr->next. Caused lots of |
| grief for editing lines at filebot. |
| main() |
| - Removed now useless usertabsize variable (Christian Weisgerber). |
| - search.c: |
| replace_abort() |
| - redundant, now just calls search abort until it does something |
| different. |
| - winio.c: |
| edit_refresh() |
| - Added check for current line "running" off the screen. |
| Hopefully this will not cause any recursive lockups. |
| (Who am I kidding, of course it will!) |
| - Added check to stop infinite loop calling edit_update. |
| edit_update() |
| - Rewritten, hopefully this will remove a lot of the |
| scrolling the cursor back and forth needlessly. |
| - move.c: |
| page_down() |
| - do an edit_update() at last case. Made function more like |
| Pico's version, only move down to two lines before editbot. |
| page_up() |
| - Made function more like Pico's version, only move down to two |
| lines after edittop. |
| |
| nano-0.9.14 - 07/27/2000 |
| - nano.h: |
| - Set CUT_TO_END to a different bit than TEMP_OPT. Fixes bug #32. |
| - cut.c: |
| do_cut_text() |
| - Added check for MARK_ISSET when using CUT_TO_END. Fixes bug #31. |
| - Simplified check for freeing cutbuffer. Added checks for doing |
| multiple cuts with -k, now sets marked_cut to 2 for later |
| processing by do_uncut_text(). |
| do_uncut_text() |
| - Added handler for uncutting with -k cuts. |
| - files.c: |
| write_file() |
| - Removed (redundant) check for writing out files with -t. |
| do_writeout() |
| - Changed check for filename to filename[0]. Added some code, |
| overall fixes bug #30 =-) |
| - nano.c: |
| do_justify() & do_wrap(): |
| - totsize-related fixes (Rob) |
| - de.po |
| - Revised translations by floki@bigfoot.com |
| |
| nano-0.9.13 - 07/23/2000 |
| - Implemented Pico's -k mode. New flag CUT_TO_END, option (-k, --cut), |
| affects do_cut_text in cut.c. Not available with SMALL_NANO because it |
| depends on the marker code which is not available with that setting. |
| - Changed static temp_opt to flag TEMP_OPT. Fixed bug #29 (using |
| -t with an unwritable file causes users to get locked into editor). |
| - move.c |
| page_down() |
| - Don't edit_refresh() if the bottom of the file is in the edit |
| buffer. (Adam) |
| - nano.c: |
| main(): |
| - TABSIZE now set before first call to edit_refresh (Bill Soudan) |
| - Different ^C kill code (patch by Christian Weisgerber). |
| die(): |
| - More intelligent emergency-save filename selection (Rob) |
| do_spell(): |
| - Changed exit semantics a bit so that aspell wouldn't get |
| all screwy (bug discovered by Joshua Jensen. |
| - files.c: |
| read_file(): |
| - Added init of buf variable, hopefully this will stop the |
| "bleeding" of text seen with mutt and using i18n. |
| write_file(): |
| - Added code to check to see if using -l and the file is not |
| in fact a link. This should fix the behavior where a file |
| that does not have write permission but could be removed and |
| rewritten is saved without error. Please test this feature |
| and give feedback. |
| - search.c: |
| search_init(): |
| - Added " (to replace)" statement to end of search string if |
| we are doing a replace. Manually converted all the translations |
| from '%s' to '%s%s' to ensure they still work with the new code. |
| Also put in the translation for " (replace)" in the .po's. Hope |
| I didn't step on your toes doing this Jordi. (Chris) |
| do_search(), do_replace(): |
| - Removed call to search_abort()/replace_abort() before call to |
| the opposite function. |
| - Fixed bug #28. |
| findnextstr() |
| - do not center string found if it is currently visible. (Adam) |
| - fr.po: |
| - French update by Clement Laforet <clem_laf@wanadoo.fr>. |
| - es.po: |
| - Updated strings to 0.9.13 (Jordi). |
| |
| nano-0.9.12 - 07/07/2000 |
| - all: |
| - New regexp search feature by Bill Soudan. New flags USE_REGEXP |
| and REGEXP_COMPILED, new functions regexp_init, regexp_cleanup |
| replace_line, replace_regexp in search.c, changes to |
| search_init() and do_replace() and strstrwrapper(). |
| - Added _POSIX_VERSION check to regexp code. Better than nothing |
| for non-POSIX systems... |
| - Made search functions & keys more like Pico. Added goto line from |
| search and replace function, changed wording to "No Replace" instead |
| of "To Search", "To Replace" to simply "Replace", and changed to |
| Pico's keystroke by default, ^R. Affects search_init(), |
| do_search() in search.c, globals in nano.h and |
| shortcut_init() in global.c. |
| - changed 'sprintf' calls to safer 'snprintf' (Rob) |
| - cut.c |
| - further totsize update corrections |
| - files.c: |
| - changed do_insertfile to call fix_editbot (Rob) |
| - Magic Line code in read_file (Rob) |
| - nano.c: |
| - Removed dual alt_speller variables, oops! (Rocco Corsi) |
| - Removed unnecessary do_oldspell function (Rocco Corsi). Added |
| SMALL_NANO #ifdef around actual spell function. |
| - Moved page_up() to move.c where is belongs. |
| - Corrected FIXME in do_enter with explanation. (Rob) |
| - Fixed FIXME in do_justify, resulted in creation of |
| fix_editbot [also fixed in do_enter] (winio.c) (Rob) |
| help_init(): |
| - Moved newline out of if statement (Rocco Corsi) |
| do_char(): |
| - Magic Line related code in do_char (Rob) |
| do_backspace(), do_delete(): |
| - Added magic line code here too. |
| |
| - de.po: |
| - Revised translations by floki@bigfoot.com. |
| - fi.po: |
| - Finnish translation by pauli.virtanen@saunalahti.fi. |
| - utils.c: |
| - Added new_magicline() |
| - winio.c: |
| - Added stdlib.h to includes, found by OpenBSD gcc. |
| - lots of new commenting around display functions |
| do_yesno(), nanogetstr(): |
| - Removed now unnecessary raw/cbreak combos. |
| - Removed gettext calls from "Y(es)", "N(o)", "A(ll)" and "^C", till |
| we decide if those keybindings should be translated. (Jordi) |
| clear_bottomwin(): |
| - Removed wrefresh(edit) call. |
| edit_update_top(): |
| - Fixed a bug that caused nano to not update when |
| current->next == NULL (e.g. paging down to the very bottom of |
| ABOUT NLS wouldn't work). |
| fix_editbot: |
| - Added (should rebuild editbot from a valid edittop) (Rob) |
| edit_add: |
| - removal of redundant call to mvwaddnstr |
| |
| nano-0.9.11 - 06/20/2000 |
| - New flag "-T" or "--tabsize" to specify how to display tab widths. |
| Affects main() in nano.c, strlenpt(), xpt() and actual_x() (et al) in |
| winio.c, and nano.h. Many hardcoded "8"s have been changed to the |
| TABSIZE int. Added changes to nano.1 and nano.1.html. |
| - id.po: |
| - Indonesian translation by Tedi Heriyanto. |
| - es.po: |
| - Updated translation (Jordi Mallach). |
| - winio.c |
| - Rewrite of display functions to correct the display problems |
| we had been seeing. Affects: add_marked_sameline, edit_add, |
| and many others. (Rob Siemborski) |
| - totsize fixes (Rob Siemborski) |
| total_refresh(): |
| - Cut display_main_list call, as this function is only supposed to |
| refresh what's already on the screen, not go through the process |
| of adding the text again. |
| - cut.c: |
| - totsize fixes (Rob Siemborski) |
| - nano.c: |
| - experimental do_wrap and check_wrap (Adam Rogoyski) |
| - Removed editwineob, as it was redundant for (editwinrows - 1). |
| Changed all calls to editwinrows - 1 in nano.c and move.c. |
| - Removed all functions that were split into other files. |
| Affects LOTS of funcs. |
| do_enter(): |
| - Added reset of placewewant to end. |
| do_insertfile(): |
| - Fix display problem when using ctrl-r to load a file |
| into the buffer (Rob Siemborski) |
| handle_sigwinch(): |
| - Added titlebar(), edit_refresh() and display_main_list() calls |
| because a resize wasn't picking up on possible different width |
| correctly. |
| - utils.c: |
| - Moved nmalloc() and nrealloc() here. |
| - move.c: |
| - New file, contains movement functions (like do_home(), do_up(), |
| do_down(), page_up(), etc...). |
| - files.c: |
| - Contains functions for files (read_file, insert_file, |
| do_writeout(), etc). |
| - search.c: |
| - Contains all our searching and related functions, (do_search(), |
| findnextstr(), do_replace(), do_gotoline()). |
| |
| nano-0.9.10 - 06/04/2000 |
| - es.po: |
| - Translation updates (Jordi). |
| - AUTHORS, nano.1.html, TODO, README: |
| - Documentation and email address updates (Jordi). |
| - nano.c: |
| main(): |
| - Moved Adam's termio code down to after getopt() and before initscr() |
| to stop people losing their SIGINT character when using args that |
| exit nano before it runs (--version, --help, etc). |
| |
| nano-0.9.9 - 05/31/2000 |
| - Makefile.am: |
| - Added proper lines for defining LOCALEDIR. |
| - configure.in: |
| - Spelling fixes (Jordi Mallach) |
| - Removed CFLAGS changes for gcc, reduces portability according to |
| some, and it certainly doesn't seem to decrease exe size. |
| - es.po: |
| - Spanish translation updates (Jordi Mallach) |
| - POTFILES.in: |
| - Added global.c file, was screwing up translations (i.e. they |
| weren't getting done). |
| - cut.c: |
| add_to_cutbuffer(): |
| - Added totsize increment. |
| - Cut fixes and optimizations (Rob Siemborski). |
| do_uncut_text(): |
| - Added totsize increment in several places. |
| - nano.c: |
| headers: |
| - Removed LOCALEDIR define. |
| do_justify(): |
| - Added edit_refresh() call (bug discovered by Adam). |
| page_down_center(): |
| - Added call to edit_update(current) for last case. Removed |
| increment of current_y since it's now just wasteful. |
| do_enter(): |
| - Added totsize increment. |
| renumber(), renumber_all(): |
| - Removed totsize-- and totsize init in renumber_all. |
| do_mouse(): |
| - Added edit_refresh() call to show highlight updates. Removed |
| unnecessary wrefresh(edit). |
| main(): |
| - Moved up locale calls so that translated --help messages would |
| actually get translated. |
| do_backspace(), do_delete(): |
| - Added decrement of totsize. |
| init_help_msg(): |
| - New function, initializes help text if NANO_SMALL isn't set (fixes |
| broken i18n). |
| read_file(): |
| - malloc call changed to nmalloc (Rob Siemborski). |
| - winio.c: |
| total_refresh(): |
| - Completely rewrote function, not quite so brain-damaged now. |
| |
| nano-0.9.8 - 05/18/2000 |
| - nano.c: |
| main(): |
| - Added awesome code that disables the CINTR and CQUIT |
| character (Adam Rogoyski). Removed raw()/noraw() calls so that |
| nano gets input in 'normal' mode, which is the Right Way(tm) to |
| do it. ^S, ^Z and ^Q now work properly as a result, as well as |
| ^C. New variable term, global variable oldterm to save previous |
| term settings, and changes to finish() and die(). |
| - Added extra #ifdefs in getopt code, so that above code and |
| flag init is run even if GETOPT_LONG is not #defined. |
| - Added memset line before sigactions. (Adam Rogoyski) |
| do_suspend(): |
| Removed function, see above for why. |
| - winio.c: |
| update_line(), center_cursor(): |
| - Removed wrefresh(edit) from bottom of functions. wrefresh |
| should now only be called once, at the bottom of the main() |
| loop. |
| - global.c: |
| shortcut_init(): |
| - Removed suspend sc_init call and suspend message because suspend |
| is no longer needed in the shortcut list to work properly. |
| |
| nano-0.9.7 - 05/14/2000 |
| - nano.c: |
| do_home(), do_end(): |
| - Added calls to update_line for the current line, fixes |
| lack of update (bug discovered by Alberto GarcĂa). |
| main(): |
| - Added SET(FOLLOW_SYMLINKS) before getopt call, fixes not |
| following symlinks even when -l isn't set, and "no changes" |
| error when nano is called from crontab -e (Adam Rogoyski). |
| - cut.c: |
| do_cut_text(): |
| - Added edit_update_top to cut when mark is set, fixes lack of |
| display update (bug discovered by Ken Tyler). |
| |
| nano-0.9.6 - 05/08/2000 |
| - New Italian translation (it.po), by Daniele Medri. |
| - nano.c: |
| page_up(), page_down(): |
| - Added reset of placewewant to 0, as it should be. |
| do_up(), do_down(): |
| - Added call to update_line() for line we move from and line we |
| move to, in order to keep the highlighting correct. |
| do_wrap(): |
| - Added var chop, new code to wrap lines more like Pico, mostly. |
| THIS STILL DEFINITELY NEEDS TO BE REWRITTEN! |
| - winio.c: |
| do_help(): |
| - Added edit_refresh() before exit. |
| update_cursor(): |
| - Removed cursor updating which really wasn't needed anyway. |
| edit_update(): |
| - Removed yucky code that didn't work, this function now just |
| computes edittop and editbot and calls edit_refresh() to do the |
| rest, which removes a lot of duplicate code... |
| |
| nano-0.9.5 - 05/01/2000 |
| - Removed bytes from file struct because it was computationally wasteful. |
| - cut.c: |
| do_uncut_text(): |
| - Added call to edit_refresh(). |
| - nano.c: |
| do_backspace(): |
| - Added reset of editbot when deleting the last line of the file |
| (bug discovered by Adam). |
| do_char(): |
| - Removed call to reset_cursor(). |
| do_delete(): |
| - Added similar check as to do_backspace(). |
| do_enter(): |
| - Added call to edit_refresh(). |
| do_left(), right(): |
| - Added call to update_line(), still redundant but better... |
| do_up(), do_down(): |
| - Added refresh calls both for current line and line to which |
| we are moving. |
| main(): |
| - Removed inefficient call to edit_refresh() after every keystroke. |
| It is now up each function to leave the screen in a good state. |
| - winio.c: |
| do_cursorpos() |
| - Rewritten to not use bytes from filestruct by an incremental sum. |
| update_line(), reset_cursor(): |
| - Optimized calls to xplustabs() through a single variable. |
| - update_line() now takes a new arg, an index into the string |
| for where to update the line from. Needed for new update |
| code. |
| - configure.in: |
| - Better checks for slang, allows argument to --with-slang. |
| (Albert Chin-A-Young) |
| - Removed -Iintl from CFLAGS in gcc check. |
| - Makefile.am: |
| - Addition of -Iintl for gettext (Albert Chin-A-Young) |
| |
| nano-0.9.4 - 04/25/2000 |
| - Fixed calls to no_help and changed them to the more consistent |
| ISSET(NO_HELP). Fixed return val of no_help to be what it should (2, |
| not 1. Code to temporarily disable NO_HELP when in the |
| help system. (Adam Rogoyski) |
| - cut.c: |
| do_marked_cut(), do_cut(), do_uncut(): |
| - Commented out unnecessary bits when NANO_SMALL is being used. |
| - winio.c: |
| xpt(), strlenpt(), actual_x(): |
| - Added check for value of data[i] & 0x80, if so do not make |
| character 2 chars wide (orig. by Chris, 0x80 check by Adam). |
| edit_refresh(): |
| - New check for temp == NULL (bad thing), if so go back to the |
| previous line. New filestruct var hold points to prev line. |
| Fixes segfault when paging down to the end of a file. |
| - nano.c: |
| write_file(): |
| - Added check for if file exists and is not equal to the current |
| filename, prompt for overwrite (Adam Rogoyski). |
| do_down(): |
| - Removed check for current->next == NULL, now checks return value |
| of do_down before setting current_x = 0 (discovered by Adam). |
| do_justify(): |
| - Fixed segfault when reaching the last line (tried to assign |
| current->next->data when current->next == NULL) (discovered |
| by Adam). |
| - utils.c: |
| - Removed extra macro defs that are now in nano.h. |
| - nano.h: |
| - Changed macro SET() to use |= instead of ^=. Fixes bug in |
| cut code when cutting more than one line, and cutbuffer gets |
| blown away when it shouldn't. |
| |
| nano-0.9.3 - 04/29/2000 |
| - cut.c: |
| do_marked_cut(): |
| - Fixed off by one error in cut code for marked text. |
| do_cut_text(): |
| - Removed check for being on the last line, part of |
| magic line code. |
| add_to_cutbuffer(): |
| - Moved tmp->prev = inptr line to part where cutbuffer != NULL. |
| - Added inptr->prev = NULL for case where cutbuffer == NULL. |
| - nano.c: |
| do_backspace(), do_char(): |
| - Removed "magic line" code. It was basically causing more bugs |
| than it was helping for the sake of compatibility. This fixes |
| at least one known segfault condition. |
| do_enter(): |
| - Added setting editbot to new node if the new node is the last |
| node in the file. |
| write_file(): |
| - Changed writing file behavior. Now, if last line of the file |
| has any data on it, we write a newline on it, else we don't. |
| - winio.c: |
| add_marked_sameline(): |
| - New code that checks for whether the begin and end of the marker |
| are on different lines. Missing previously. |
| edit_add(): |
| - added some more checks for text length. Cleaned up some |
| mvwaddnstrs that could be written more simply as waddnstrs. |
| edit_refresh(): |
| - Removed check for temp == filebot, it is now treated like any other |
| line. Fixes a bug where selected text on the last line shows |
| normally. |
| xpt(): |
| - Removed an extra computation for tabs variable that was incorrect. |
| xplustabs(): |
| - Since xpt now actually works, this func is now just a wrapper for |
| xpt(current, current_x) |
| - nano.1, nano.1.html: |
| - Added -l option to man pages. |
| - configure.in: |
| - New option --enable-tiny, #defines NANO_SMALL in config.h. |
| Disables call to gettext in functions and other i18n stuff in |
| nano.c, the detailed help mode, the resize functions, and the |
| justify code which no one ever uses. |
| - New option --with-slang. Enables slang libraries instead of |
| ncurses, requires slcurses.h for wrapper functions. (Based |
| on patches for 0.8.7 by Glenn McGrath). |
| |
| nano-0.9.2 - 04/15/2000 |
| - This release just fixes the serious segfault problem if nano is |
| invoked any way other than using the absolute path. The bug was |
| in the new code for checking whether nano is invoked as 'pico'. |
| |
| nano-0.9.1 - 04/14/2000 |
| - Added Pico compatibility for ^T when in search or switch to switch |
| to the opposite function. Added one to REPLACE_LIST_LEN and |
| WHEREIS_LIST_LEN in nano.h, new args to sc_init_one in global.c and |
| new strings that will have to be gettext()ed. New argument 'replacing' |
| to search_init(). Handlers in do_replace and do_search(). |
| - New write code, now follows symbolic links instead of replacing them |
| with the new file. New option (-l, --nofollow) to enable the old |
| (incorrect, but secure) behavior (Adam Rogoyski). |
| - nano.c: |
| do_wrap(): |
| - Fixed another bug relating to wrapping, and which would cause |
| a segfault *sigh*. |
| do_replace(): |
| - Incremented current_x by the length of the replacement |
| text inside the main replace loop. Fixes bug #15. |
| add_marked_sameline(): |
| - New function, handles marked text when start & end of marker is |
| on one line, also supports most marked text when cursor > COLS. |
| main(): |
| - Code to check if nano is invoked as 'pico', and if so |
| automatically set pico_msgs (Robert Jones). |
| |
| nano-0.9.0 - 04/07/2000 |
| - nano.1, nano.1.html: Updated man page with my email address and homepage. |
| - winio.c: |
| reset_cursor(), update_line(): |
| - Changed update algorithm for x value to (COLS - 7) multiple when x |
| value > (COLS - 2). |
| - edit_refresh(): |
| - Removed inner loop code, now calls update_line() for each line |
| in question, MUCH nicer. |
| - xplustabs(), xpt(): |
| - Removed redundant increment of tabs when column no % 8 == 0. |
| - Added check for data[i] < 32, most of such bits are 2 chars wide. |
| - update_line(): |
| - Fixed a stupid call to strlenpt with col when we should have |
| been using actual_col. Ugh. |
| |
| nano-0.8.9 - 03/22/2000 |
| - nano.c: |
| empty_line(), no_spaces(), justify_format(), do_justify(): |
| Actually added these (screwup applying patch). |
| do_justify(): Added call to set_modified(). |
| |
| nano-0.8.8 - 03/12/2000 |
| - Preliminary internationalization support. Many many functions modified |
| to use gettext (via _() macro). es.po file included. (Jordi Mallach) |
| New dirs po/ and intl/, changes to configure.in and Automake.am to |
| support i18n. |
| - nano.c: |
| includes: Added sys/param.h and limits.h. (Adam Rogoyski). |
| statics: Changed some things that were not necessarily static |
| (Adam Rogoyski). |
| nrealloc(): New function, similar to nmalloc(). Changed calls from |
| realloc() to nrealloc (Adam Rogoyski). |
| empty_line(), no_spaces(), justify_format(), do_justify(): |
| New functions for justify function (Adam Rogoyski). |
| - winio.c: |
| blank_edit(): Added wrefresh call to edit so that screen updates (like |
| on ^L) actually work. |
| xplustabs(), xpt(), strlenpt(): Fixed off-by-one buglets (Adam Rogoyski). |
| |
| nano-0.8.7 - 03/01/2000 |
| - main.c: |
| do_wrap(): Better fix for segfaults, and fix for lines being wrapped |
| to a single character on one line when no good place to |
| break the line exists, and for wrapping lines longer than |
| COLS. |
| - nano.1.html: |
| Html version of man page, now included in dist. For |
| the benefit of nano packages in Linux distributions. |
| |
| nano-0.8.6 - 02/24/2000 |
| - global.c: |
| shortcut_init(): |
| Added shortcuts for goto_line and do_replace when using |
| pico_msgs. Oops. |
| - nano.c: |
| statics: Changed fill back to 0 from 71 by default (Adam Rogoyski). |
| do_wrap(): Added check for backing up past tabs, which we shouldn't do. |
| Removed check for backing up past spaces first. |
| main(): Added for loop to check for alt keys instead of hard list. |
| do_enter(): Fix for bug #14, added call to reset_cursor and messed |
| up do_char quite a bit. |
| version(): Added time and date stamp for compile on version message. |
| Added mail and web page info. |
| - README: Updated mailing list info. |
| |
| nano-0.8.5 - 02/18/2000 |
| - nano.c: |
| main(): Finally fixed tilde being input on page up/down keys in |
| certain terminal types. Fix was input 26->91->5[34] check |
| for 126, if so make the kbinput PAGE UP/DOWN, else unget |
| the keystroke and continue. Added #include <ioctl.h> for |
| ioctl call. |
| handle_hup(): |
| Handler for hangup signal. Belated include of patch from |
| Tim Sherwood. |
| - winio.c: |
| edit_refresh(): |
| Temporary fix for selecting text when temp == current. |
| edit_refresh() is now unmanageably complex, and must be |
| revamped. |
| check_statblank(): |
| Added check for constupdate, makes things less choppy |
| (Adam Rogoyski) |
| |
| nano-0.8.4 - 02/11/2000 |
| - Moved global variables that were only (or mostly) used in one file into |
| its proper file as a static. Affects cut.c, nano.c, global.c (Andy Kahn). |
| - global.c: |
| shortcut_init(): |
| Removed redundant NANO_CONTROL_H from backspace shortcut, |
| added char 127 which should have been there. |
| - nano.c: |
| main(): Fix for loops looping until MAIN_LEN, added -1 to stop |
| segfaults (Adam Rogoyski). |
| - Makefile.am: Added all source filenames (Adam Rogoyski). |
| - nano.1: Fixed mail addressed and added mailing list address. |
| - README: Updated my email address and the nano web page. |
| |
| nano-0.8.3 - 02/08/2000 |
| - New Pico mode (-p, --pico), toggles (more) compatibility with the |
| Pico messages displayed in the shortcut list. Note that there are still |
| small differences in this mode. |
| - nano.h: New shortcut struct format, for the benefit of i18n and |
| our help menu. Removed shortcut message macros, they are |
| now all in shortcut_init in global.c. |
| - nano.c: |
| do_wrap(): Removed resetting of current_x when we are in fact |
| wrapping to the next line, fixes a bug in -i mode. |
| do_enter(): |
| Rewrote the autoindent mode code to be a lot less pretty, |
| but a lot more magical. |
| main(): |
| Removed case for ignoring char 126 (~). That's kind of |
| important, we'll have to fix handling that sequence when |
| paging up/down on a terminal some other way... Revamped |
| main switch loop in much snazzier fashion based on the |
| shortcut list. |
| - winio.c: |
| New function display_main_list. Affects all functions |
| that used to call bottombars() with main_list. Added |
| because we now only call bottombars with the macro |
| MAIN_VISIBLE instead of MAIN_LIST_LEN, because of the |
| changes to the main_list shortcut list (see global.c below). |
| New function do_help, our preliminary dynamic help system. |
| - Many many funcs: |
| Changed from int to void to allow one uniform type to call |
| from the shortcut struct. Also a few functions that do |
| not simple have void argument have new functions called |
| funcname_void(void) to be called from the shortcut list. |
| do_cut_text and do_uncut_text were changed to void |
| arguments because they were never called with a filestruct |
| other than *current anyway. |
| - global.c: |
| Shortcut list main_list was expanded to cover all |
| shortcuts that could be caught in the main loop. |
| Consequently there is a new macro MAIN_VISIBLE which tells |
| how many items in the main list to actually show. |
| |
| nano-0.8.2 - 02/02/2000 |
| - Added initial mouse (-m, --mouse) support. New global variable |
| use_mouse. (Adam Rogoyski) |
| |
| - nano.c: Set initial value of fill to COLS - 8 rather than just 72 |
| regardless. (Adam Rogoyski). |
| do_delete(): |
| Deleted call to do_backspace() when on the end of a line, |
| because it won't update the line properly. |
| do_backspace(): |
| Removed unnecessary pointer manipulation that was being |
| handled by unlink_node(). |
| open_file(): |
| Added check for trying to open a directory (currently we |
| segfault on this). Bug pointed out by Chad Ziccardi. |
| |
| nano-0.8.1 - 01/28/2000 |
| - Implemented Pico's -r (fill) mode, command line flag -r or --fill. New |
| global variable fill, affects check_wrap(), do_wrap(), main(), usage(), |
| global.c and proto.h. |
| - nano.c: |
| write_file(): Added (incredibly) necessary check for EPERM when |
| link() fails. This allows us to actually save |
| files via rename() on filesystems that dont |
| support hard links (AIEEEEEE). |
| do_goto(): |
| Fixed a stupid mistake where we were calling |
| bottombars() with replace_list instead of goto_list. |
| - nano.h: |
| New char *help in shortcut structure for help |
| feature. Added NANO_*_MSG and NANO_*_HELP #defines |
| for help function and i18n. |
| - global.c: |
| New functions shortcut_init (called in nano.c) and |
| sc_init_one() to initialize the shortcuts without |
| using {}s (for i18n). |
| |
| nano-0.8.0 - 01/25/2000 |
| - View flag (-v, --view) implemented. Global variable view_mode, affects |
| main loop of nano.c and new_file(). (me) |
| - nano.c: |
| split checks for TERMIOS_H and TERMIO_H up so we |
| can (theoretically) include them both, which is good. |
| handle_sigwinch(): |
| Added check for ncurses.h. (Andy Kahn) |
| do_spell(): |
| We now only try ispell because we don't as of yet |
| handle the 'spell' program the right way, now that |
| I finally know what the right way is =-). Added |
| call to edit_update(fileage) to stop segfaults. |
| global_init(): |
| Added initialization of edit* filestruct pointers |
| to stop segfaults on spell check. |
| usage(): |
| Check for getopt_long, and if no leave out the |
| GNU options everyone seems to love so much (Andy Kahn) |
| main(): |
| Added checks for getopt_long (Andy Kahn) |
| We ignore character 126 because it gets put into |
| the buffer when we page up/down on a vt terminal. |
| write_file(): |
| Fixes for umask (Adam Rogoyski). Renamed tmpfile |
| variable to tmp. Documented the tmp option |
| better in the function comments. Fixed my |
| stupidly commented out check for tmp on setting |
| umask which I really like => |
| - nano.h: |
| Made desc variable in shortcut struct a pointer |
| instead of a fixed-length string. |
| - utils.c: |
| Fixed check for config.h before nano.h. |
| - configure.in: |
| New checks for getopt_long, getopt.h, removed |
| CFLAGS and LDFLAGS changes. Gonna have to run |
| strip manually now =-) (Andy Kahn) |
| Added check for HAVE_WRESIZE, new file acconfig.h |
| (me). |
| |
| nano-0.7.9 - 01/24/2000 |
| - New autoindent feature. Command flag 'i' or '--autoindent'. New |
| function do_char() to clean up character output, global |
| variable autoindent in global.c. (Graham Mainwaring) |
| - New flag 't' or '--tempfile', like Pico's -t mode, automatically saves |
| files on exit without prompting. Affects do_writeout(). Also |
| do_writeout() now takes a parameter for if exiting. |
| Global variable temp_opt in global.c (Graham Mainwaring) |
| - Preliminary spell program support. Added command flag '-s' or |
| '--speller' for alternative speller command. Added function do_spell() |
| and exit_spell() to nano.c. New global variable alt_speller. |
| - nano.c: |
| main(): We now ignore input of decimal 410 because these get entered |
| when we resize the screen. Sorted options in getopt() |
| switch statement. |
| usage(): Sorted options and changed tabs to make room for -s option. |
| write_file(): Now takes a second parameter 'tmpfile', uses mask 0600 and |
| doesn't print the number of lines written on the statusbar. |
| global_init(): |
| Added more initializations to globals to support do_spell(). |
| |
| nano-0.7.8 - 01/23/2000 |
| - Stubbed justify function. Affects main() in nano.c and nano.h defines. |
| - Added Fkey equivalents for Pico compatibility. Affects nano.h defines |
| and main() in nano.c |
| - Removed redundant reset_cursor() calls from the blank() routines. |
| - nano.c: |
| main(): Fixed typo in main while loop for NANO_ALT_REPLACE_KEY. |
| Removed check for isprint() characters in main while loop |
| for people with odd character sets *shrug*. Added some X |
| window F-key combos. |
| read_line(): New function, consolidates of most of the special |
| sections of the file reading code. (Rob Siemborski) |
| do_replace(): Many scattered fixes. (Rob Siemborski) |
| write_file(): Added check for empty filename. |
| - winio.c: |
| nanogetstr(): Fixes for deleting at places other than the end of the |
| buffer, cut support. (Adam Rogoyski) |
| blank_edit(): New function, blanks edit buffer. Added call to it in |
| total_refresh(). |
| - configure: Checks for glib if snprintf or vsnprintf aren't available |
| (Andy Kahn). Changed warning message when no termcap lib |
| is found. |
| |
| nano-0.7.7 - 01/19/2000 |
| - Option '-v' for version moved to '-V', because -v is Pico's "read only" |
| mode (affects getopt() in main() and usage() function in nano.c |
| - New flag -c, always show cursor position. Affects main() in nano.c and |
| statusbar() in winio.c |
| - Option '-x' doesn't show help window at the bottom of the editor. |
| New variable no_help in nano.h and proto.h, affects main(), usage(), |
| and global_init() in nano.c, blank_bottombars(), clear_bottomwin(), |
| bottombars(), and do_yesno() in winio.c (I had to apply this patch by |
| hand =P) (Adam Rogoyski) |
| - nano.c: |
| handle_sigwinch(): New function (Adam Rogoyski), handles resizing. |
| page_up(), page_down(): |
| - New functions. We now set the cursor at the top right corner, |
| not at the center line, and page up and down a full screen |
| rather than a half screen. Original functions renamed to |
| page_up_center() and page_down_center(). |
| main(): |
| - Added check for keystroke key sequence 407 or NANO_CONTROL_Z |
| in main while loop because suspend mode was broken. This should |
| fix it, at least for now. |
| - Added long option support (By popular harassment ;-) - Added |
| #include for getopt.h, changed getopt() to getopt_long(). |
| Options added so far: --version (-V), --nowrap (-w), --suspend |
| (-z), --help (-h), --nohelp (-x). |
| - Rewrote signal statements (Adam Rogoyski) |
| |
| nano 0.7.6 - 01/15/2000 |
| - New ChangeLog format |
| - nano.c: |
| main(): Bound CONTROL_H to backspace (oops) |
| Added more Alt-[-key combinations, for page up & down. |
| read_bytes(): New function (Adam Rogoyski) |
| read_file(): Optimizations - malloc()s *buf a little at a time rather |
| than one huge buffer, and replaced the strcat at the end |
| with an index variable. Added call to read_bytes(). |
| do_next_word(): New function, binding is control-space (0) (me) |
| |
| - winio.c: |
| bottombars(): Fixed non-expanding shortcut keys at bottom of screen. |
| (formula is extra space needed = COLS / 6 - 13). |
| actual_x() & strlenpt(): |
| Added bug#9 fix - when tabs % 8 == 0, we should only |
| increment tabs by 1. |
| titlebar(): Fixed overrun in titlebar on very long filenames. |
| |
| 0.7.5 Pico 'last line' feature added (Rob Siemborski & me). Eliminated |
| writing a newline at EOF. do_cursorpos and do_replace are now not |
| directly bound to signals but picked up as their control sequences |
| in raw mode. Bug fix in do_backspace. Fixed bug #9 (woohoo!) |
| 0.7.4 Optimized (obfuscated?) edit_refresh. Malloc() calls checked for |
| available memory, align bug fixed (Big Gaute). |
| |
| --- As of version 0.7.4 TIP is renamed to nano. |
| |
| 0.7.3 Fixed a double blank_statusbar() when jumping to first and last |
| lines. Took out unnecessary updates in load_file. Bug fix in |
| do_left. Missing updates to totlines, fixed bug #7 (last line not |
| having a newline at the end doesn't get read, bugfix in do_replace |
| with replace all, more/better comments (Robert Siemborski) |
| 0.7.2 Our first patch accepted into the source! configure fixes |
| and optimizations (Erik Anderson). Added missing stdarg.h to winio.c. |
| Bug fix in update_line for editing long lines. Fixed arguments |
| being put into the filename when none is specified. Preliminary |
| +line command argument function. |
| 0.7.1 configure tweak for better FreeBSD support. Removed refresh() from |
| edit_refresh to stop cursor "jumping" during screen updates. This |
| will probably cause a bug or two. Replace is now Alt-R (@R) and |
| Goto line is Alt-G (@G), but they have control key aliases of ^\ and |
| ^_ respectively. Made Control-F,B,N,P work like they do in Pico. |
| Control-G will become the Help key, but for now is stubbed out. |
| 0.7.0 Fixed missing stdlib.h from cut.c. Fixed a few message bugs in |
| findnextstr. Bound Control-D to Delete. Refixed segfault on zero |
| length file. Added Esc-[-A,B,C,D cursor key sequences. |
| 0.6.9 Preliminary cursor position function. Split up tip.c more, made |
| new files cut.c and winio.c. Fixed a bug in cut_marked_segment |
| that was leaving out a character. |
| 0.6.8 By request, optchr in main() is now an int. Removed unneeded |
| globals. Bound functions for next/prev page, and wrote functions |
| do_home and do_end. |
| 0.6.7 Bugfix in do_uncut_text for totlines. Broke up open_file and |
| created read_file. Implemented Insert File. Fixes in tipgetstr |
| for erroneous keystrokes. Added leave_cursor arg to do_yesno(). |
| 0.6.6 Fixes in do_search(), do_replace(), do_writeout, and do_exit() for |
| aborted searches and more Pico-compatible messages. statusq() now |
| returns -2 on a blank entry instead of -1. Bug fix in actual_x(). |
| 0.6.5 More BSD compatibility. Fixed two bugs in do_uncut_text |
| regarding buffers with filebot in them. Fixins in do_backspace |
| and do_enter. Removed unused variables. Removed strip_newline. |
| 0.6.4 Took out the awful newlines from each string buffers. This will |
| certainly cause more bugs. Fixes in do_exit(). Better empty file |
| handling (I hope). |
| 0.6.3 Implemented ^E. Removed now unneeded wrapline from filestruct. |
| do_enter() rewritten. |
| 0.6.2 Better default file permissions. Complete rewrite of do_wrap(). |
| Better handling of editing with cursor near COLS - 1. |
| 0.6.1 Starting to implement wrapping toggle. Fix for unhandled control |
| codes being entered into the buffer. Bug fix in actual_x; more |
| > COLS - 1 functionality, especially on lines with TABs. Fixed being |
| locked into cutbuffer when cutting more than one marked screen of |
| text. |
| 0.6.0 We have TABs!!! To do this, placewewant is now set to the actual |
| width on the screen we want to be, not an index of current->data. |
| New functions xplustabs and actual_x convert the actual place |
| the cursor should be on the screen to and from the place in the |
| string. |
| 0.5.5 Changed do_right to test do_down before setting current_x to 0, |
| eliminating the "looping" on the last line when holding the right |
| arrow. Preliminary support for longer than COLS - 1 lines. |
| Wrote do_delete. |
| 0.5.4 Fixed a bug in total_update that wasn't repainting the screen |
| properly. tipgetstr is much more messy but text is now more |
| editable ;) Fixed crash on entering a new file, hopefully. Awful |
| stub for tab handling, only in do_right() to save me some sanity. |
| 0.5.3 Added check for malloc.h. Implementing uncut from marker slowly. |
| Fixed a few bugs in do_uncut when not uncutting from marked text. |
| I would not trust your data with the mark code right now, but then |
| we're not at version 1.0 yet so dont trust anything ;) |
| 0.5.2 Added reset_cursor() before end of update_line so cursor doesn't |
| jump after each keystroke entered. Select text stubbed. Fixed |
| a bug in total_refresh(). Setting a mark will highlight properly, |
| but does not actually affect what gets put in the cutbuffer (yet). |
| 0.5.1 Writing a file out causes modified to be set back to 0. Good. |
| Set_modified function written. Cut and uncut text now set |
| modified when called. |
| 0.5.0 Half way there! Implemented write out, save function seems |
| stable. Changed statusbar blank routing to not refresh, a separate |
| program calls it and then refreshes. Made the program not clear |
| the screen on exit, just the bottom two lines (like Pico). |
| 0.4.2 Implemented replace all in replace function. Crude exit function |
| (asks yes or no if modified but does not write to file). |
| 0.4.1 Implementing search & replace. Fixed crash on deleting at top of |
| edit buffer. Implemented "timeout" of statusbar messages. |
| Implemented ^A and ^E (beginning and end of line). |
| 0.4.0 Split code into global.c and proto.h to allow for better multiple |
| file handling. Added #defines for the majority of the shortcut |
| keys in tip.h for easy modification. |
| 0.3.1 Write edit_refresh which doesn't move the screen around, just |
| updates what's there already. do_wrap() and do_enter() added. |
| 0.3.0 Preliminary cutbuffer (cut and uncut) support. |
| 0.2.7 Check for Modification added. do_search() works. |
| 0.2.5 Rewrite of file data struct. |
| 0.2 Read in data to buffer, bound keystrokes to stub functions, |
| initial cursor movement on screen. Initial autoconf support. |
| 0.1 Initial program setup w/ncurses |