vile
[Top][All Lists]
Advanced

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

Re: [vile] vile strange behavior in 9.5n


From: Thomas Dickey
Subject: Re: [vile] vile strange behavior in 9.5n
Date: Sun, 14 Jan 2007 14:02:14 -0500 (EST)

On Sat, 13 Jan 2007, Gary Jennejohn wrote:

OK, without digraph.rc 9.5n's behavior is back to what it was prior to 9.5l.

The behavior was exactly as you describe it - vile seemed to be waiting for
the next character before deciding what to do with it.

I'd say that not too many people use digraph.rc.

It's an interesting bug.  Here's what happened:

        a) in eval.c, I changed two places that had

                while (isBlank(*src))
                        ++src;

           to

                src = skip_blanks(src);

        b) but skip_blanks() uses isSpace() rather than isBlank().

        c) ^K is treated as a "space" by vile (because of the locale
           code - see the items marked "sp" when doing show-printable).
           A "blank" is exactly space or tab (built-in).

        d) ^K is the first character of the map! command.

        e) so the code skipped over the ^K, and mapped the more-intrusive
           equivalent, e.g., "ss" rather than "^Kss".

On reflection, I don't think I wanted skip_blanks() to skip over ^K.
It's probably using isSpace() in case I ran into a ^M.

Anyway, as you note, not many people seem to use digraph.rc (and not
many would have seen this bug because it's mostly limited to the map/map! commands).

--
Thomas E. Dickey
http://invisible-island.net
ftp://invisible-island.net




reply via email to

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