nano-devel
[Top][All Lists]
Advanced

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

[Nano-devel] status of patches


From: David Lawrence Ramsey
Subject: [Nano-devel] status of patches
Date: Mon, 15 Sep 2003 13:55:29 -0700 (PDT)

After testing nanodbdisplay.patch some more and writing the changelog
entries for it, I think it's ready to go in, although I'm going to test
it a bit more just in case.

http://pooka_regent.tripod.com/patches/nano/nanodbdisplay-patch.txt

I'm planning to focus on Brand Huntsman's color updates patch next; I've
been applying it to my most recent local builds for testing purposes.

There are a few other patches I've been working on lately, as well.

http://pooka_regent.tripod.com/patches/nanomouseinput-patch.txt

This patch splits the low-level mouse routines (i.e, the second half of
do_mouse(), which checks for mouse clicks on onsreen shortcuts) into a
separate function do_mouseinput().  do_mouse() currently calls
do_mouseinput(), and the various routines still scattered around the
source still call do_mouse(), which I can't properly fix until I get to
rewriting and consolidating the high-level input routines so that only
they (and not the various scattered routines) call the low-level
routines.

(In case it isn't clear, what I mean by low-level routines are routines
that act the same way regardless of what mode you're in, and what I mean
by high-level routines are routines that act differently depending on
what mode you're in.  This means that at some point, I'll have to
consolidate the routines for checking to see if you've hit a shortcut
key and put them in one or the other set of routines.  I'm not sure
which at the moment, only because some of the functions in the shortcut
list depend on what mode you're in.)

The patch also fixes a few oversights and one severe bug in the
low-level keyboard input routines.  The bug was in the verbatim input
routines; it would corrupt memory if you attempted to insert more than
one character at once, and it turned out to be caused by one missing set
of parentheses.  Additionally, it adds verbatim input capability to the
edit window in a much less hackish way than my old patch for that did. 
Verbatim input isn't yet added to the statusbar prompt, but I'm planning
to do that as soon as I can restructure the statusbar i/o routines so
that they're a bit more like the edit window's routines, i.e, so they
have a do_char() equivalent.

The patch also cleans up the shortcut code to not reference any high
ncurses key values, since with the new low-level input code, those high
values are translated to normal ASCII values before the
shortcut-handling code ever sees them.  Without those, all shortcuts
without function key equivalents except for the buffer-switching
commands had one miscellaneous key value free.  To deal with this
opening, and to allow the miscellaneous key values to actually be
printed in the help screen, I modified the shortcut structure to have,
instead of misc1 and misc2, func_key (reserved for function key values)
and misc, and modified the help screen routines to handle the changes. 
So now, Meta-, and Meta-. are displayed in the help screen as alternates
for Meta-< and Meta->.  I also reorganized some of the (non-visible
main) shortcuts so that they're in a somewhat more consistent order, e.
g. search functions are grouped together for the most part.

Finally, it also makes a few cosmetic comment tweaks.  I've been using
it for a few days now and it appears to be holding so far.

http://pooka_regent.tripod.com/patches/nano/nanodbcut-patch.txt

This patch is a port of DB's changes to the cutting code, initially done
with the help of wiggle
(http://www.cse.unsw.edu.au/~neilb/source/wiggle/) due to the divergence
from nano 1.2.0's cut.c.  It simplifies a few things, removes a lot of
editbot references, and changes how marked text is written to disk (it's
not done via cutting in non-destructive mode anymore, but rather by
backing up fileage and filebot, setting them so that they point to the
top and bottom of the marked text, writing the "file" to disk, and
restoring fileage and filebot; a similar technique could be used to
implement the "spell check only marked text" item in the TODO).  I
ported this around the time 1.3 was branched, and I've been applying it
to my local builds since then.  I've also studied it in detail and added
some extra comments to it help explain what it's doing in some cases. 
Note that this overlaps with nanodbdisplay.patch in terms of its needing
the mark_order() function and the charmove() macro.


_____________________________________________________________
Sluggy.Net: The Sluggy Freelance Community!




reply via email to

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