I confirm that commenting the line

      // temporarily_switch_to_single_kboard (NULL);

solves the problem.  Are there a battery of tests we can run with this change so we can 
make sure we didn't hose Emacs in some other way?


On Thu, Feb 21, 2013 at 9:05 PM, Stefan Monnier <monnier@iro.umontreal.ca> wrote:
> That is about all I know.  Just not calling
> temporarily_switch_to_single_kboard may solve this, but may have other
> side effects.

IIUC the temporarily_switch_to_single_kboard is there so that when you
use Emacs on several terminals at the same time, interleaved events from
the various terminals is "properly" de-interleaved.
The intended use case is "several terminals on several machines with
different people on each machine".

I think a more important use case is "press <key1> on terminal1 and
<key2> on terminal2 almost at the same time and <key1> and <key2> both
expand to escape byte sequences".  So it's important that the bytes from
each terminal don't get mixed up, otherwise input-decode-map won't be
able to turn them back into <key1> and <key2>.  IIUC this use case does
not require temporarily_switch_to_single_kboard in call-interactively.



        Stefan