[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:
>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:

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:

>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.

reply via email to

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