nano-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Nano-devel] updates (yes, I'm still alive...)


From: David Lawrence Ramsey
Subject: Re: [Nano-devel] updates (yes, I'm still alive...)
Date: Wed, 15 Jun 2005 13:25:51 -0400
User-agent: Mozilla Thunderbird 1.0.2 (X11/20050317)

Major changes since last time:

* add a word count option, accessible via Meta-D at the edit window, by
extending do_next_word() slightly, using it to move through the entire
file, and keeping a total of the number of words found; if the mark is
on, only the words inside the mark will be counted

* characters used in words are now detected using their own wrapper
function, which, when its allow_punct parameter is TRUE, uses ispunct()
in addition to isalnum() so as to be closer to what "wc -w" produces
when doing a word count; do(_statusbar)?_next_word() and
do(_statusbar)?_prev_word() call the wrapper with allow_punct set to
TRUE, but is_whole_word() calls the wrapper with allow_punct set to
FALSE (since if it doesn't, misspelled words e.g. connected by hyphens
won't be caught by the internal spell checker)

* the mark can now be used in view mode, as in Pico; this allows word
counts of marked text in view mode

* add various cleanups to chars.c, and also some new functions to
simplify multibyte character handling elsewhere

* make_mbstring() has been renamed make_valid_mbstring(), and it's now
properly included (and nano also compiles) when --enable-nanorc isn't
used and --enable-extra is

* in 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; I
accidentally broke this when I fixed the problem in 1.3.7 where exiting
the help browser would kick you out of the "Insert File" prompt

* in die(), if the current filestruct's been partitioned, it's now
unpartitioned before the associated file is saved, so if nano dies while
replacing text in a marked selection, the entire file is saved instead
of just the selection

* disable_extended_input() is now disable_extended_io(), and it disables
extended output processing as well as extended input processing

* two rcfile parsing fixes: a background color without a foreground
color such as "color ,green" will now be parsed properly instead of
causing a segfault (DB's overhauled parsing code, introduced in 1.3.6,
is easier to understand than the older code, so I was finally able to do
this), and an error will now be generated on a color directive without a
regex string

* a screen update problem in do_replace_loop() has been fixed;
edit_redraw() 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, so edit_refresh() is used again

* another memory corruption problem in display_string(), triggered by
displaying tabs at the end of the line that go past the edge of the
screen, has been fixed as far as I can tell; a minor memory leak has
also been fixed

* the screen can now be refreshed via Ctrl-L at the Yes/No/All prompt,
as it can in the equivalent prompt in Pico

* there is no -R/--regex command line or rcfile option anymore, since
(a) we're running out of command line options, (b) nano-tiny already
allows prepend and append toggles, and (c) having an option only for
that search mode is inconsistent, since case-sensitive and backwards
searching don't have corresponding options; nano-tiny now allows the
"Regexp" toggle, since it adds very little space after all the code for
the command line option is removed

* don't work around invalid multibyte sequences in rcfile options
anymore, but generate errors; also make the check for blank characters
in the "punct" and "brackets" options more accurate; do both of these
using new functions in chars.c (is_valid_mbstring(), which is a wrapper
for mbstowcs(), and has_blank_mbchars(), which indicates if any
character in a string is in the "blank" class)

* in the "nanorc" regexes, tweak the "comment" regex to handle comments
that don't start at the beginning of the line; this sometimes causes
miscolorations, but the same kinds of miscolorations occur with
C++-style comments, and there doesn't seem to be much we can do about it

* mouse clicks in the file browser window now work properly when
-O/--morespace is used

* some #ifdefs have been fixed so nano compiles with NANO_SMALL defined
and DISABLE_TABCOMP undefined

Any comments?





reply via email to

[Prev in Thread] Current Thread [Next in Thread]