From xemacs-m  Wed May 21 11:49:03 1997
Received: from martigny.ai.mit.edu (daemon@martigny.ai.mit.edu [18.43.0.152])
	by xemacs.org (8.8.5/8.8.5) with ESMTP id LAA26863
	for <xemacs-beta@xemacs.org>; Wed, 21 May 1997 11:49:02 -0500 (CDT)
Received: from berne.ai.mit.edu by martigny.ai.mit.edu with SMTP
	(1.40.112.8/16.2) id AA081813326; Wed, 21 May 1997 12:48:46 -0400
From: Bill Dubuque <wgd@martigny.ai.mit.edu>
Message-Id: <199705211648.AA081813326@martigny.ai.mit.edu>
Received: by berne.ai.mit.edu
	(1.40.112.8/16.2) id AA215523324; Wed, 21 May 1997 12:48:44 -0400
Date: Wed, 21 May 1997 12:48:44 -0400
To: hniksic@srce.hr
Cc: xemacs-beta@xemacs.org
In-Reply-To: <kig67wc4wv2.fsf@jagor.srce.hr> (message from Hrvoje Niksic on 21
	May 1997 18:24:01 +0200)
Subject: Re: Tests in event-stream.c

Hrvoje Niksic <hniksic@srce.hr> wrote:
| 
| Since my recent-keys patch changed event-stream.c, I tried to run the
| recommended tests.  I found that, while I break nothing, some tests do 
| misbehave.  Specifically:
| 
| (setq x (list (read-char) quit-flag))^J^G
| 
| According to the comment, this should set `x' to (7 t), without any
| result printed.  However, in all the versions of XEmacs I've tried it
| on (19.13, 20.2 and 20.3-b1+recent-keys patch) it prints:
| 
| (?\^G nil)             ; or (7 nil) on 19.13
| 
| ...and sets x to the same value.  So, the second argument is wrong,
| and the test fails.  GNU Emacs never prints anything, nor does it set
| `x'.

In FSF 19.34.1 and 19.6 (Win-Emacs) I get the correct answer (7 t).
So apparently this was broken between 19.6 and 19.13.
 
| The following works correctly on X, but fails on TTY-s:
| 
| (defun tst ()
| (list (condition-case c
| 	  (sleep-for 20)
| 	  (quit c))
| 	(read-char)))
| 
| (tst)^Ja^G    ==>  ((quit) 97) with no signal
| (tst)^J^Ga    ==>  ((quit) 97) with no signal
| (tst)^Jabc^G  ==>  ((quit) 97) with no signal, and "bc" inserted in buffer

What are you claiming is correct?

In Win-Emacs the second case returns ((quit) 7) vs. ((quit) 97);
the others are the same.

In an FSF 19.34.1 tty, the 1st case waits until another char is typed
and returns that char as 2nd elt. The 2nd case is the same as above.
The 3rd case also waits for another char but does not insert anything.

-Bill Dubuque

