nano/ChangeLog

7464 lines
324 KiB
Plaintext
Raw Normal View History

CVS code -
- 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 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, in order
to make its help text easier to read. Changes to
sc_init_one() and shortcut_init(). (DLR, suggested by Benno
Schulenberg)
- files.c:
open_file()
- Remove redundant wording in the error message when we try to
open a device file. (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 message when writing a temporary file for
prepending fails. (DLR)
- Simplify the routine for closing the file just before we
indicate success on the statusbar. (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)
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)
- nano.c:
renumber()
- Remove invalid assert. (DLR, found by Filipe Moreira)
- rcfile.c:
parse_argument()
- Rename variable ptr_bak to ptr_save, for consistency. (DLR)
parse_syntax()
- Properly generate an error if we've read in a previous syntax
without any associated color commands. (DLR)
- 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)
parse_colors()
- Check for a color command's not following a syntax line before
anything else. (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)
- configure.ac:
- Remove old warning about color support. (DLR)
- doc/nano.1, doc/nanorc.5, doc/rnano.1, 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)
- doc/nano.texi:
- 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)
- 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:
- 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)
- UPGRADE:
- Miscellaneous minor fixes. (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)