[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Nano-devel] Outstanding 1.2.4 items?
From: |
David Lawrence Ramsey |
Subject: |
Re: [Nano-devel] Outstanding 1.2.4 items? |
Date: |
Tue, 22 Jun 2004 06:58:49 +0200 |
User-agent: |
Mutt/1.5.6+20040523i |
--- Chris Allegretta <address@hidden> wrote:
>Hello,
>
>Slacking as usual, I know. Anything queued up in 1.2 that I missed?
>We should probably have a release, that permissions bug is pretty major
>in my mind, or at least severely annoying that I want it officially
>fixed sooner rather than later.
You might want the bit of code in CVS that appears to fix resizing:
curses no longer requires wresize() and resizeterm() (since the latter
is ncurses-specific anyway; however, this needs to be verified to work
under non-ncurses curses) and slang no longer corrupts the screen after
being resized:
http://pooka_regent.tripod.com/patches/nano/nano123resize-patch.txt
If that's a bit too intrusive, I can trim it to just include the code
that prevents screen corruption when resizing under slang.
There are also the fixes for potential memory corruption in statusq()
caused when its return value is assigned to answer (since statusq()
changes the value of answer). They're Christian Weisgerber's fixes in
the OpenBSD port of 1.2.3, ported to 1.2.3-cvs. (1.3.2 has the same
fixes, but with additions by bort, DB and myself that depend to some
extent on the changes in 1.3.x.) The patch is here:
http://pooka_regent.tripod.com/patches/nano/nano123memcorr-patch.txt
>Also I REALLY need to see if there's any way around these curses
>glitches in cursor placement. David, anything in 1.3 for that? (since
>I haven't been paying attention, my apologies) No other text editor
>seems to have issues like this.
No problem. There have been a few cases where the cursor is left in the
wrong place in 1.2.x and 1.3.x; I've fixed most cases in 1.3.x by adding
a few extra reset_cursor() calls (since ncurses apparently leaves the
cursor in one place while other curses implementations and slang leave
it in another). I can backport these to 1.2, but I need to know where
and when the placement glitches occur. There is one case under slang
where, if the window is small enough, the Yes/No/Cancel shortcuts aren't
drawn in quite the right places that I don't know how to fix, but I
think it's a slang bug.
Speaking of placement, in CVS I've fixed a minor bug with updates and a
few minor bugs with the changes to the justify code, among other things,
and documented the use of the SPELL environment variable in nano.1 and
nano.texi. Also, when I said before that I'd cleaned out my patch
queue, I forgot to mention that I'd also applied the smart home patch
(which, I might add, especially saves time when autoindent is turned
on). I'm working on a few last minor fixes as well: the escape sequence
for F3 on the FreeBSD console isn't interpreted correctly, and wrapping
occasionally adds too many spaces.
>If only slang worked properly with reverse highlighted blank lines....
Among many other things. Aside from the aforementioned placement
problem, its raw mode acts just like its cbreak mode (i.e, it still
interprets the special control keys when it shouldn't), and its
curs_set() equivalent always returns 0 upon success instead of returning
the previous cursor visibility state.
I've also worked around the last of these in CVS. According to the
curs_set() manpage, some other versions of curses have a broken version
of it too, so its return value, used in DB's changes to do_help() to
allow arrow key scrolling, is unreliable. Therefore, in the interest of
having things Just Work under ncurses, curses, slang, etc., I've gone
back for the time being to the old behavior of turning it off at the
beginning of do_help() and back on at the end, and it now is turned off
manually if we went into help from the file browser, in which the
cursor's also supposed to be off.