mirror of
git://git.sv.gnu.org/nano.git
synced 2024-11-26 22:59:38 +03:00
cfffbf71ce
the code more closely after reset_cursor() git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@3185 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
7085 lines
307 KiB
Plaintext
7085 lines
307 KiB
Plaintext
CVS code -
|
|
- General:
|
|
- 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(), 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. Also, invoke LGPL
|
|
clause 3 to convert all LGPLed functions to GPLed ones, so
|
|
that we don't have to include a copy of the LGPL. (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 sc_init_one() and
|
|
do_find_bracket(). (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)
|
|
- nano.c:
|
|
do_verbatim_input()
|
|
- Move to text.c, since it's an advanced text-based operation.
|
|
(DLR)
|
|
- nano.h:
|
|
- Readd MIN_EDITOR_COLS #define. (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)
|
|
- rcfile.c:
|
|
do_rcfile()
|
|
- Remove unneeded assert. (DLR)
|
|
- search.c:
|
|
findnextstr()
|
|
- Remove parameter can_display_wrap, as it's always set to TRUE
|
|
now, and rename parameter wholeword to whole_word, for
|
|
consistency. (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)
|
|
- text.c:
|
|
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_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:
|
|
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)
|
|
- 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_yesno()
|
|
- Make mouse clicks on the Yes/No/All shortcuts work properly
|
|
when the MORE_SPACE flag is set. (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)
|
|
- 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)
|
|
- 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)
|
|
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 chacker
|
|
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().
|
|
- 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 is 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 an $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
|
|
|
|
$Id$
|