From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3432 invoked by alias); 25 Nov 2014 18:06:19 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 33797 Received: (qmail 4568 invoked from network); 25 Nov 2014 18:06:17 -0000 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-0.5 required=5.0 tests=BAYES_00,RCVD_IN_BRBL_LASTEXT, RCVD_IN_DNSWL_NONE autolearn=no version=3.3.2 X-Biglobe-Sender: Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\)) Subject: Re: Confirming X02zlevi test failures From: "Jun T." In-Reply-To: Date: Wed, 26 Nov 2014 02:32:05 +0900 Content-Transfer-Encoding: 7bit Message-Id: <900E2DDB-B03E-4E1F-9F22-869D5A645E52@kba.biglobe.ne.jp> References: <141119085006.ZM18951@torch.brasslantern.com> <11014.1416438322@quattro> <141119222019.ZM2717@torch.brasslantern.com> <5A1A98B7-42E0-4EE1-9468-32E2D6434246@kba.biglobe.ne.jp> <141120091803.ZM3693@torch.brasslantern.com> To: zsh-workers@zsh.org X-Mailer: Apple Mail (2.1878.6) X-Biglobe-Spnum: 55298 Sorry for disturbing. I modified the dputs() as below, and got: T 1 1 1 0 0 S 0 10000 T 0 0 0 0 10 R <^[> T 1 1 1 0 9 S 1 10000 R <~> (snip) T 0 0 0 1 1 R <^X> T 1 1 1 0 0 S 0 10000 T 0 0 0 0 0 R <^@> So all the 10 characters (ESC ~ a I ESC ~ o ESC ~ ^X) are already available when reading the 1st ESC. diff --git a/Src/Zle/zle_main.c b/Src/Zle/zle_main.c index d157e36..38197ce 100644 --- a/Src/Zle/zle_main.c +++ b/Src/Zle/zle_main.c @@ -531,6 +531,12 @@ raw_getbyte(long do_keytmout, char *cptr) #endif calc_timeout(&tmout, do_keytmout); + { + int val; + ioctl(SHTTY, FIONREAD, (char *)&val); + dputs("T %d %d %d %d %d", do_keytmout, tmout.tp, + tmout.tp ? tmout.exp100ths : 0, delayzsetterm, val); + } /* * Handle timeouts and watched fd's. If a watched fd or a function @@ -635,6 +641,7 @@ raw_getbyte(long do_keytmout, char *cptr) selret = select(fdmax+1, (SELECT_ARG_2_T) & foofd, NULL, NULL, tvptr); winch_block(); + dputs("S %d %d",selret,tvptr->tv_usec); # endif /* * Make sure a user interrupt gets passed on straight away. @@ -853,6 +860,7 @@ raw_getbyte(long do_keytmout, char *cptr) winch_unblock(); ret = read(SHTTY, cptr, 1); winch_block(); + dputs("R <%c>\n",*cptr); return ret; }