Subject: bug#13655: 23.2; sit-for doesn't return on input in other X displays

From: Jan Djärv <[email-masked]>
Date: Sat, 16 Feb 2013 18:13:13 +0100

Hello.

When you evaluate sit-for, Emacs switches to single keyboard mode, and only acts upon events from the frame where sit-for was called.  I don't know why it does so.  It seems to be a generic behaviour because it is Fcall_interactively that does so.  But for sit-for it seems the wrong thing to do.  Unfortunately I'm not that familiar with this piece of code.

	Jan D.

8 feb 2013 kl. 18:38 skrev Peter Szilagyi <[email-masked]>:

> Evaluate (sit-for 60) in a frame created on one display (D1).  Switch to
> a frame on another display (D2) without sending any input events to D1.
> (In our case, this was typically a frame on the same X terminal, but
> forwarded over a different SSH connection, so with a different DISPLAY
> setting on the Emacs host.  This is also the most convenient repro; just
> "ssh -X localhost" and "emacsclient -n -c" to get a frame with a
> different DISPLAY.)
> 
> Sorry, Emacs didn't crash.  Thanks!
> 
> We were also able to see this in Emacs 24.2.
> 
> In GNU Emacs 23.2.1 (x86_64-unknown-linux-gnu, GTK+ Version 2.18.9)
> of 2012-05-01 on nyc-qws-079.delacy.com
> Windowing system distributor `CentOS', version 11.0.11006000
> configured using `configure  '--build=x86_64-unknown-linux-gnu' '--host=x86_64-unknown-linux-gnu' '--target=x86_64-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/var/lib' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--with-dbus' '--with-gif' '--with-jpeg' '--with-png' '--with-rsvg' '--with-tiff' '--with-xft' '--with-xpm' '--with-x-toolkit=gtk' 'build_alias=x86_64-unknown-linux-gnu' 'host_alias=x86_64-unknown-linux-gnu' 'target_alias=x86_64-redhat-linux-gnu' 'CFLAGS=-DMAIL_USE_LOCKF -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic''
> 
> Important settings:
>  value of $LC_ALL: C
>  value of $LC_COLLATE: nil
>  value of $LC_CTYPE: nil
>  value of $LC_MESSAGES: nil
>  value of $LC_MONETARY: nil
>  value of $LC_NUMERIC: nil
>  value of $LC_TIME: nil
>  value of $LANG: en_US.utf8
>  value of $XMODIFIERS: nil
>  locale-coding-system: nil
>  default enable-multibyte-characters: t
> 
> Major mode: Shell
> 
> Minor modes in effect:
>  shell-dirtrack-mode: t
>  diff-auto-refine-mode: t
>  iswitchb-mode: t
>  show-paren-mode: t
>  mouse-wheel-mode: t
>  file-name-shadow-mode: t
>  global-font-lock-mode: t
>  font-lock-mode: t
>  auto-encryption-mode: t
>  auto-compression-mode: t
>  column-number-mode: t
>  line-number-mode: t
>  transient-mark-mode: t
> 
> Recent input:
> C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n
> C-n C-n C-n C-x 0 M-> M-< C-x C-s C-s c f l a g s C-s
> C-s C-s C-s C-a C-x C-s C-c C-l C-c C-r C-x o M-> M-v
> M-v M-v M-v M-< C-n C-n C-n C-n C-n C-n C-n C-n C-n
> C-n C-n C-n C-n C-n C-n C-n C-n C-v C-v C-v C-v C-v
> C-v C-v C-v C-v C-v C-v C-v C-v C-v C-v C-v C-v C-v
> C-v C-v C-v C-v C-v C-v C-v C-v C-v C-v C-v M-> C-r
> c f l a g s C-r C-r C-r C-r C-r C-r C-r C-r C-r C-r
> C-r C-r C-r C-r C-r C-r C-r M-> C-p C-p C-p C-p C-e
> M-b M-b M-b M-b M-b M-b M-b M-b M-b M-b M-b M-b M-b
> M-b M-b M-b M-b M-b M-b M-b M-b M-b M-b M-b M-b M-b
> M-b M-b M-b M-b M-b M-b M-b M-b M-b M-b M-b M-b M-b
> M-b M-b C-a C-s - g C-s C-s C-s C-a C-s - f n o C-s
> C-s M-> C-r C-r C-a M-f M-f M-f M-f M-f M-f M-f M-f
> M-f M-f M-f M-f M-f M-f M-f M-f M-f M-f M-f M-f M-f
> M-f M-f M-f M-f M-f M-f M-f M-f M-f M-f M-f M-f C-e
> C-f M-> M-v M-v M-v M-v M-v M-v M-v M-v M-> C-x k C-x
> k C-f C-f C-x o M-> M-< C-x k C-x 0 C-x C-f <M-backspace>
> <M-backspace> O M <tab> r <tab> <return> C-s w i t
> h - f p C-p C-f C-e C-f C-e C-f C-e C-f C-f C-x C-s
> C-x k M-> M-x r e p o r t - e m <tab> <return> C-g
> M-x r e p o r t - e <tab> <return>
> 
> Recent messages:
> Mark saved where search started
> Mark set [2 times]
> forward-char
> call-interactively: End of buffer
> forward-char
> call-interactively: End of buffer
> Mark set [2 times]
> Mark saved where search started
> (No changes need to be saved)
> Mark set
> Quit
> 
> Load-path shadows:
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/evil/lib/ert hides /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/ert
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/core/byte-compile-header hides /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/omake/byte-compile-header
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/caml-font hides /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/ocaml/caml-font
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/ocamlspot hides /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/ocaml/ocamlspot
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/dictionary/lpath hides /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/auctex/lpath
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/tex-site hides /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/auctex/tex-site
> /usr/share/emacs/site-lisp/systemc-mode hides /usr/share/emacs/site-lisp/site-start.d/systemc-mode
> /usr/share/emacs/site-lisp/verilog-mode hides /usr/share/emacs/23.2/lisp/progmodes/verilog-mode
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org-remember hides /usr/share/emacs/23.2/lisp/org/org-remember
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org-clock hides /usr/share/emacs/23.2/lisp/org/org-clock
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org-datetree hides /usr/share/emacs/23.2/lisp/org/org-datetree
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org-protocol hides /usr/share/emacs/23.2/lisp/org/org-protocol
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org-irc hides /usr/share/emacs/23.2/lisp/org/org-irc
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org-info hides /usr/share/emacs/23.2/lisp/org/org-info
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org-bibtex hides /usr/share/emacs/23.2/lisp/org/org-bibtex
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org-install hides /usr/share/emacs/23.2/lisp/org/org-install
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org hides /usr/share/emacs/23.2/lisp/org/org
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org-timer hides /usr/share/emacs/23.2/lisp/org/org-timer
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org-wl hides /usr/share/emacs/23.2/lisp/org/org-wl
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org-html hides /usr/share/emacs/23.2/lisp/org/org-html
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org-bbdb hides /usr/share/emacs/23.2/lisp/org/org-bbdb
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org-mobile hides /usr/share/emacs/23.2/lisp/org/org-mobile
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org-mew hides /usr/share/emacs/23.2/lisp/org/org-mew
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org-indent hides /usr/share/emacs/23.2/lisp/org/org-indent
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org-compat hides /usr/share/emacs/23.2/lisp/org/org-compat
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org-src hides /usr/share/emacs/23.2/lisp/org/org-src
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org-plot hides /usr/share/emacs/23.2/lisp/org/org-plot
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org-mac-message hides /usr/share/emacs/23.2/lisp/org/org-mac-message
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org-w3m hides /usr/share/emacs/23.2/lisp/org/org-w3m
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org-vm hides /usr/share/emacs/23.2/lisp/org/org-vm
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org-gnus hides /usr/share/emacs/23.2/lisp/org/org-gnus
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org-crypt hides /usr/share/emacs/23.2/lisp/org/org-crypt
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org-xoxo hides /usr/share/emacs/23.2/lisp/org/org-xoxo
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org-macs hides /usr/share/emacs/23.2/lisp/org/org-macs
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org-colview hides /usr/share/emacs/23.2/lisp/org/org-colview
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org-publish hides /usr/share/emacs/23.2/lisp/org/org-publish
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org-rmail hides /usr/share/emacs/23.2/lisp/org/org-rmail
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org-ascii hides /usr/share/emacs/23.2/lisp/org/org-ascii
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org-archive hides /usr/share/emacs/23.2/lisp/org/org-archive
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org-latex hides /usr/share/emacs/23.2/lisp/org/org-latex
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org-feed hides /usr/share/emacs/23.2/lisp/org/org-feed
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org-table hides /usr/share/emacs/23.2/lisp/org/org-table
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org-docbook hides /usr/share/emacs/23.2/lisp/org/org-docbook
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org-id hides /usr/share/emacs/23.2/lisp/org/org-id
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org-inlinetask hides /usr/share/emacs/23.2/lisp/org/org-inlinetask
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org-exp hides /usr/share/emacs/23.2/lisp/org/org-exp
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org-exp-blocks hides /usr/share/emacs/23.2/lisp/org/org-exp-blocks
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org-jsinfo hides /usr/share/emacs/23.2/lisp/org/org-jsinfo
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org-icalendar hides /usr/share/emacs/23.2/lisp/org/org-icalendar
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org-faces hides /usr/share/emacs/23.2/lisp/org/org-faces
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org-agenda hides /usr/share/emacs/23.2/lisp/org/org-agenda
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org-list hides /usr/share/emacs/23.2/lisp/org/org-list
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org-habit hides /usr/share/emacs/23.2/lisp/org/org-habit
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org-attach hides /usr/share/emacs/23.2/lisp/org/org-attach
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org-freemind hides /usr/share/emacs/23.2/lisp/org/org-freemind
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org-footnote hides /usr/share/emacs/23.2/lisp/org/org-footnote
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org-mhe hides /usr/share/emacs/23.2/lisp/org/org-mhe
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/org/lisp/org-mouse hides /usr/share/emacs/23.2/lisp/org/org-mouse
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/eieio/eieio-comp hides /usr/share/emacs/23.2/lisp/emacs-lisp/eieio-comp
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/eieio/eieio-opt hides /usr/share/emacs/23.2/lisp/emacs-lisp/eieio-opt
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/eieio/eieio-speedbar hides /usr/share/emacs/23.2/lisp/emacs-lisp/eieio-speedbar
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/eieio/eieio-base hides /usr/share/emacs/23.2/lisp/emacs-lisp/eieio-base
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/eieio/eieio hides /usr/share/emacs/23.2/lisp/emacs-lisp/eieio
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/eieio/chart hides /usr/share/emacs/23.2/lisp/emacs-lisp/chart
> /j/office/app/emacs/dev/.sink-2013-02-04_19-11-43.777324/jane-elisp/elisp/contrib/eieio/eieio-custom hides /usr/share/emacs/23.2/lisp/emacs-lisp/eieio-custom
> 
> Features:
> (shadow sort message idna ecomplete rfc822 mml mml-sec password-cache
> mm-decode mm-bodies mm-encode mailcap mail-parse rfc2231 rfc2047 rfc2045
> qp ietf-drums mailabbrev nnheader gnus-util netrc mm-util mail-prsvr
> gmm-utils mailheader canlock sha1 hex-util hashcash mail-utils emacsbug
> conf-mode scheme novice vc-rcs cus-edit cus-start cus-load pp mail-extr
> dabbrev make-mode warnings vc vc-dispatcher newcomment executable tabify
> man apropos multi-isearch help-mode view log-view wid-edit pcvs-util
> vc-hg flyspell ispell shell edit-server ffap jane-defaults smerge-mode
> diff-mode uniquify filladapt smooth-scrolling advice advice-preload
> saveplace iswitchb grep dired-x dired-aux dired ansi-color jane-common
> whitespace info paren markdown-mode edmacro kmacro noutline outline
> omake omake-test omake-interface omake-setup omake-ping time-date
> omake-ocaml omake-project-buffer omake-model omake-version omake-result
> omake-ring omake-filter omake-server core-log omake-project omake-env
> omake-status omake-failure omake-window omake-error omake-file
> autorevert omake-timer omake-progress omake-spinner omake-id
> omake-inotify omake-path omake-util omake-themes omake-dark-theme
> omake-light-theme omake-faces omake-custom omake-lib help-fns sendmail
> jane-cr pa_ounit-tuareg jane-ocaml ocamlspot easy-mmode caml tuareg
> speedbar sb-image ezimage dframe assoc skeleton regexp-opt derived
> caml-help caml-types caml-emacs easymenu compile comint ring
> jane-micro-features server jane-util core core-filename core-shell
> core-string thingatpt core-hashtbl core-list core-buffer core-util cl
> cl-19 jane-deprecated tooltip ediff-hook vc-hooks lisp-float-type mwheel
> x-win x-dnd font-setting tool-bar dnd fontset image fringe lisp-mode
> register page menu-bar rfn-eshadow timer select scroll-bar mldrag mouse
> jit-lock font-lock syntax facemenu font-core frame cham georgian
> utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
> japanese hebrew greek romanian slovak czech european ethiopic indian
> cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev
> loaddefs button minibuffer faces cus-face files text-properties overlay
> md5 base64 format env code-pages mule custom widget
> hashtable-print-readable backquote make-network-process dbusbind
> system-font-setting font-render-setting gtk x-toolkit x multi-tty emacs)
> 
>