bug-bash
[Top][All Lists]
Advanced

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

Re: [PATCH] Add active mark, face support; activate mark on paste


From: gentoo_eshoes
Subject: Re: [PATCH] Add active mark, face support; activate mark on paste
Date: Sun, 12 Apr 2020 20:15:42 +0200 (CEST)



Apr 12, 2020, 19:30 by chet.ramey@case.edu:

>
> I'm glad it worked, but I think this is a more correct version:
>
> *** ../bash-20200408/lib/readline/display.c   2020-04-07 14:55:15.000000000 
> -0400
> --- lib/readline/display.c    2020-04-12 12:01:22.000000000 -0400
> ***************
> *** 1759,1762 ****
> --- 1759,1765 ----
>  nd = newbytes;
>  nfd = new + nd;
> +               ofdf = old_face + oldbytes;
> +               nfdf = new_face + newbytes;
> +
>  goto dumb_update;
>  }
>

tested it to (also) work.

There is one more/different 'face' issue: if I paste a line and then press 
Enter (as opposed to any alphanumeric key or arrow keys) then the highlight 
remains(highlighted), possibly because the ^M is echoed and thus moves the 
cursor one line up(?) before the highlight is attempted to be removed. But I'm 
just guessing.




>>>
>>>
>
> It may be the case that this is called from a signal handler context, where
> the terminating signal is blocked. This patch should fix that:
>
> *** ../bash-20200408/sig.c    2020-04-07 16:41:19.000000000 -0400
> --- sig.c     2020-04-12 13:26:50.000000000 -0400
> ***************
> *** 609,613 ****
>  /* We don't change the set of blocked signals. If a user starts the shell
>  with a terminating signal blocked, we won't get here (and if by some
> !      magic chance we do, we'll exit below). */
>  set_signal_handler (sig, SIG_DFL);
>
> --- 609,617 ----
>  /* We don't change the set of blocked signals. If a user starts the shell
>  with a terminating signal blocked, we won't get here (and if by some
> !      magic chance we do, we'll exit below). What we do is to restore the
> !      top-level signal mask, in case this is called from a terminating signal
> !      handler context, in which case the signal is blocked. */
> !   restore_sigmask ();
> !
>  set_signal_handler (sig, SIG_DFL);
>
>
Confirmed working, much appreciated. Cheers!
That's an intriguing patch format, may I inquire as to how it was generated 
(some unusual 'diff' args?) ?







reply via email to

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