1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-01 11:14:55 +00:00

(terminal-init-xterm): Experiment with a longer

timeout.
This commit is contained in:
Dan Nicolaescu 2007-10-23 14:24:43 +00:00
parent 5eceba819d
commit 657e833239
2 changed files with 13 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2007-10-23 Dan Nicolaescu <dann@ics.uci.edu>
* term/xterm.el (terminal-init-xterm): Experiment with a longer
timeout.
2007-10-23 Katsumi Yamaoka <yamaoka@jpl.org>
* emacs-lisp/advice.el (ad-make-advised-docstring):

View File

@ -480,9 +480,14 @@
(send-string-to-terminal "\e[>0c")
;; The reply should be of the form: \e [ > NUMBER1 ; NUMBER2 ; NUMBER3 c
(when (equal (read-event nil nil 0.1) ?\e)
(when (equal (read-event nil nil 0.1) ?\[)
(while (not (equal (setq chr (read-event nil nil 0.1)) ?c))
;; If the timeout is completely removed for read-event, this
;; might hang for terminals that pretend to be xterm, but don't
;; respond to this escape sequence. RMS' opinion was to remove
;; it completely. That might be right, but let's first try to
;; see if by using a longer timeout we get rid of most issues.
(when (equal (read-event nil nil 2) ?\e)
(when (equal (read-event nil nil 2) ?\[)
(while (not (equal (setq chr (read-event nil nil 2)) ?c))
(setq str (concat str (string chr))))
(when (string-match ">0;\\([0-9]+\\);0" str)
;; NUMBER2 is the xterm version number, look for something