7c78b45e76
foreground color git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@2618 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
6207 строки
266 KiB
Plaintext
6207 строки
266 KiB
Plaintext
CVS code -
|
||
- 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". 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)
|
||
- Replace all instances of strncpy() with charcpy(), since the
|
||
only difference between them is that the former pads strings
|
||
with nulls when they're longer than the number of characters
|
||
specified, which doesn't appear to be used anywhere. Changes
|
||
to input_tab(), do_browser(), do_enter(), replace_regexp(),
|
||
replace_line(), and mallocstrncpy(). (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 promptin 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. Changes to shortcut_init(), usage(),
|
||
main(), search_init(), nanorc.sample, nano.1, nanorc.5,
|
||
nano.texi, etc. (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)
|
||
- 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)
|
||
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)
|
||
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)
|
||
cwd_tab_completion(), browser_init()
|
||
- Rename variable next to nextdir to avoid confusion. (DLR)
|
||
input_tab()
|
||
- Since list is a bool, assign it 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)
|
||
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)
|
||
save_history()
|
||
- Properly save history when 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)
|
||
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)
|
||
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)
|
||
do_alt_speller()
|
||
- Replace a set_modified() with SET(MODIFIED) to avoid an
|
||
unnecessary update, and remove an unneeded clearok(FALSE).
|
||
(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)
|
||
- rcfile.c:
|
||
parse_colors()
|
||
- Properly parse a background color without a foreground color.
|
||
(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 variable create_flag to create 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)
|
||
- utils.c:
|
||
num_of_digits()
|
||
- Use a size_t instead of an int, and rename to digits(). (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)
|
||
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)
|
||
do_help()
|
||
- Don't treat NANO_CANCEL_KEY as NANO_EXIT_KEY anymore, for
|
||
consistency. (DLR)
|
||
do_yesno()
|
||
- Allow refreshing the screen via Ctrl-L, as Pico does. (DLR)
|
||
total_update()
|
||
- Simplify to call clearok(TRUE) and wrefresh() on edit, which
|
||
updates the entire screen in fewer function calls. (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)
|
||
- 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)
|
||
- doc/faq.html:
|
||
- Update the question about the FAQ to mention the current
|
||
maintainer. (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)
|
||
- 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_update().
|
||
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<47>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<47>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(); 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<47>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<6B>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<47>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:statubar() 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<47>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<47>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<47>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<47>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<47>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<6B>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<6B>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<47>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<6B>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<72>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<47>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<72>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<72>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<4B>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<72>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 of 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$
|