Re: [PATCH v2 0/4] builtin add -p: hopefully final readkey fixes

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

 



Junio C Hamano <gitster@xxxxxxxxx> writes:

>> These patches are based on 'pw/single-key-interactive'
>
> Is it still true, or does the base only apply to v1?
>
> $ git checkout --detach pw/single-key-interactive
> HEAD is now at ac618c418e add -p: disable stdin buffering when interactive.singlekey is set
> $ git am -s ./+pw4-v2-add-p-single
> Applying: terminal: use flags for save_term()
> Applying: terminal: don't assume stdin is /dev/tty
> Applying: terminal: work around macos poll() bug
> error: patch failed: compat/terminal.c:397
> error: compat/terminal.c: patch does not apply
> Patch failed at 0003 terminal: work around macos poll() bug
> hint: Use 'git am --show-current-patch=diff' to see the failed patch
> When you have resolved this problem, run "git am --continue".
> If you prefer to skip this patch, run "git am --skip" instead.
> To restore the original branch and stop patching, run "git am --abort".
> $ exit

I think I figured it out.  A merge of pw/single-key-interactive into
a recent tip of 'master' wants the "return 0" in the preimage below
to be "break" in compat/terminal.c


> @@ -397,12 +433,7 @@ int read_key_without_echo(struct strbuf *buf)
>  		 * half a second when we know that the sequence is complete.
>  		 */
>  		while (!is_known_escape_sequence(buf->buf)) {
> -			struct pollfd pfd = { .fd = 0, .events = POLLIN };
> -
> -			if (poll(&pfd, 1, 500) < 1)
> -				break;
> -
> -			ch = getchar();
> +			ch = getchar_with_timeout(500);
>  			if (ch == EOF)
>  				return 0;
>  			strbuf_addch(buf, ch);

I'll wiggle it in to see how well it fares with other topics in
flight.

Thanks.



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux