[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Nano-devel] updates, etc.
From: |
David L. Ramsey |
Subject: |
[Nano-devel] updates, etc. |
Date: |
Mon, 31 May 2004 14:51:03 -0400 |
In the interest of getting this into testing mode soon, since (a) it's
been exactly 2 months since the release of 1.3.2, and (b) I haven't
heard much on this list lately in terms of feedback, I've gone ahead and
emptied my patch queue and added a few other things. Specifically:
* nanoinputstate.patch is applied; the input should work the same way as
before except that the ignored keys are now properly always ignored
instead of only being ignored when not prefixed with escapes; the main
functions get_kbinput() and get_verbatim_kbinput() are now the only
input functions that call the curses input routines, and all the other
low-level input functions (get_ascii_kbinput(), get_control_kbinput(),
get_escape_seq_kbinput(), and get_(un)?translated_kbinput()) just
interpret the input from them
* nanomover2.patch is applied; the movement routines use
need_(horizontal|vertical)_update(), the vertical movement routines now
use the new routine edit_scroll() to move the window down, and other
movement routines that don't change the text such as searching,
replacing after updating the line, and paragraph searching, use the new
routine edit_redraw(); edit_redraw() only updates the starting and
current lines (and all lines between the two if the mark is on), and
calls edit_refresh() only if one of the two lines is offscreen; all this
does add ~2K, but the performance is much better; try e.g. scrolling
down and back up through a file with a lot of multiline color syntaxes
in it; fixed a bug in this later where not all updates were done
properly, after which edit_redraw() takes the old value of current and
the old value of placewewant instead of just the former
* nanomfspacers.patch is applied; maybe the error message displayed if
you try to use control characters for whitespace characters could be
worded better?
* nanomiscbugs3a.patch is applied; maybe the error message displayed if
you try to use whitespace for closing punctuation or closing brackets
could be worded better?
* Pico can read the SPELL environment variable to determine the
alternate spell checker; we do this now too if no alternate spell
checker is specified in the rcfile(s) or on the command line
* added DB's changes to titlebar(), with a few changes of mine, to make
it use display_string() to display the filename and to handle shorter
screen widths better; this required strnlen(), which is a GNU extension,
so I've added an equivalent function nstrnlen() for non-GNU systems
* added DB's changes to do_help() to allow scrolling through the help
text with the arrow keys as well as the paging keys; Pico 4.7 can do
this with ^P and ^N, but not with their arrow key equivalents
* added DB's changes to do_wrap() to make things a bit more efficient
and to make the binary a bit smaller, since most of the new code has
just made it bigger
* fixed a bug caused by my cutting and pasting of the "search for end of
paragraph" shortcut to turn it into a "full justify" shortcut; it now
properly displays its own description
* fixed a bug where full justify wasn't properly disabled in view mode
* fixed a bug where saving a selection would change the current filename
(and, in a similar vein, tweaked die_save_file() to not change the
current filename either, since it doesn't need to), and added spaces to
the ends of the "Overwrite" and "Different Name" prompts for consistency
and to match Pico 4.7
Some of the things I *really* need to get to soon (sorry I didn't get to
them by now):
1. Convert high-level input to use the low-level input routines.
2. Work on TODO items involving toggle options such as ^R^X and ^W^T and
the existence of the global resetstatuspos in the course of #1.
3. Implement verbatim input at the statusbar prompt in the course of #1.
4. Convert nano to use UTF-8 once #1 is done.
5. Deal with the inability to build nano CVS if glib isn't installed
even if we don't need to use glib's v?snprintf(). When v?snprintf()
isn't available, glib 2.4.x has moved to using v?asnprintf() from gnulib
CVS and providing its own wrappers around those functions to implement
all the printf functions. We could do the same with the files from
gnulib and borrow just the wrappers for v?snprintf() (and possibly the
tests for C99-compliant v?snprintf()) from glib, so that all of glib
doesn't have to be installed to get the v?snprintf() functions on
systems that lack them. Thoughts?
6. mkstemp() is only available under BSD 4.3 and POSIX 1003.1-2001.
There should be an included version of it for systems that don't have
it.
7. Add Brand Huntsman's color updates once they're closer to being
finished. (Note: They're severely out of sync with CVS by now and I
haven't had time to update them yet, and in any case, if I did, they'd
be out of sync with any work done on them since then.)
8. Implement searching in the file browser.
9. Figure out how to properly handle mouse clicks on the search history
shortcuts. Currently, the sentinel key values are ungetch()ed instead
of the corresponding actual key values. Note that some of the weirdness
is caused by having to use one shortcut (up) for two values (up and
down), so that should probably be dealt with somehow.
10. Deal with Andrew Ho's flashing bracket patch. (Note: I've tried the
version for 1.2.3 and I can't get it to show anything different from the
usual.)
Etc.
signature.asc
Description: Text document
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Nano-devel] updates, etc.,
David L. Ramsey <=