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: cl
Subject: Re: [vile] vile strange behavior in 9.5n
Date: Mon, 15 Jan 2007 09:23:59 +0000
User-agent: Mutt/1.5.13 (2006-08-11)

On Sun, Jan 14, 2007 at 02:02:14PM -0500, Thomas Dickey wrote:
> 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).
> 
Well, just to encourage you, I use digraph.rc but I must admit that I
don't think I map anything connected with it.

-- 
Chris Green (address@hidden)




reply via email to

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