Subject: Re: bug#6758: 23.2; xterm.el: please provide an option to not discard input in terminal-init-xterm

From: Jim Paris <[email-masked]>
Date: Mon, 2 Aug 2010 17:36:18 -0400

Andreas Schwab wrote:
> Jim Paris <[email-masked]> writes:
> 
> > +    ;; The reply should be of the form: \e ] 11 ; rgb: NUMBER1 / NUMBER2 / NUMBER3 \e \\
> > +    (while (not (equal (setq chr (read-char)) ?\\))
> > +      (setq str (concat str (string chr))))
> 
> At least this loop needs to have a timeout, in case the terminator
> character gets lost for whatever reason.
> 
> > +    ;; The reply should be of the form: \e [ > NUMBER1 ; NUMBER2 ; NUMBER3 c
> > +    (while (not (equal (setq chr (read-char)) ?c))
> > +      (setq str (concat str (string chr))))
> 
> Likewise.  (It isn't all that hard to type ESC [ > by accident).

Ok, (read-char) can be replaced with (read-event nil nil 2).  There
may also need to be a (let (coding-system-for-read 'binary)) in there
somewhere -- I'm really not familiar with emacs programming, this is
mostly just based on other code I've found (like xt-mouse.el)

-jim