all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Chong Yidong <cyd@gnu.org>
To: Eli Zaretskii <eliz@gnu.org>
Cc: emacs-devel@gnu.org
Subject: Re: Recent keyboard changes breaks quitting
Date: Sun, 23 Sep 2012 16:33:33 +0800	[thread overview]
Message-ID: <87fw692l5u.fsf@gnu.org> (raw)
In-Reply-To: <87sja91dfv.fsf@gnu.org> (Chong Yidong's message of "Sun, 23 Sep 2012 14:05:40 +0800")

I found the problem.  The Fcopy_sequence in timer_check can QUIT,
jumping back to the command loop.  If this happens when timer_check is
from inside wait_reading_process_output, it screws up the
wait_reading_process_output's handling of the quit flag.

=== modified file 'src/keyboard.c'
*** src/keyboard.c	2012-09-22 13:16:03 +0000
--- src/keyboard.c	2012-09-23 08:22:06 +0000
***************
*** 4496,4501 ****
--- 4496,4504 ----
    Lisp_Object timers, idle_timers;
    struct gcpro gcpro1, gcpro2;
  
+   Lisp_Object tem = Vinhibit_quit;
+   Vinhibit_quit = Qt;
+ 
    /* We use copies of the timers' lists to allow a timer to add itself
       again, without locking up Emacs if the newly added timer is
       already ripe when added.  */
***************
*** 4508,4513 ****
--- 4511,4518 ----
    else
      idle_timers = Qnil;
  
+   Vinhibit_quit = tem;
+ 
    GCPRO2 (timers, idle_timers);
  
    do





  reply	other threads:[~2012-09-23  8:33 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-22 14:51 Recent keyboard changes breaks quitting Chong Yidong
2012-09-22 16:11 ` Eli Zaretskii
2012-09-22 17:20   ` Chong Yidong
2012-09-22 17:29     ` Jan Djärv
2012-09-22 17:35     ` Chong Yidong
2012-09-22 18:56       ` Eli Zaretskii
2012-09-22 19:06         ` Eli Zaretskii
2012-09-23  2:53         ` Chong Yidong
2012-09-23  4:01           ` Eli Zaretskii
2012-09-23  6:05             ` Chong Yidong
2012-09-23  8:33               ` Chong Yidong [this message]
2012-09-23 16:50                 ` Eli Zaretskii
2012-09-22 19:27       ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87fw692l5u.fsf@gnu.org \
    --to=cyd@gnu.org \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.