From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#19547: Patch for this bug Date: Sun, 27 Nov 2016 17:54:58 +0200 Message-ID: <834m2s2a0d.fsf@gnu.org> References: <874ms03qj1.fsf@web.de> <8360nxhfiw.fsf@gnu.org> <83k2ccfnh8.fsf@gnu.org> <83wpgbdy82.fsf@gnu.org> <87y4071o5k.fsf@gmail.com> <83h96u3d07.fsf@gnu.org> <87zikl8leb.fsf@gmail.com> <871sxxj9s8.fsf@users.sourceforge.net> <87twat6kjd.fsf@gmail.com> Reply-To: Eli Zaretskii NNTP-Posting-Host: blaine.gmane.org X-Trace: blaine.gmane.org 1480262175 15033 195.159.176.226 (27 Nov 2016 15:56:15 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sun, 27 Nov 2016 15:56:15 +0000 (UTC) Cc: npostavs@users.sourceforge.net, 19547@debbugs.gnu.org, rrt@sc3d.org To: Thierry Volpiatto Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sun Nov 27 16:56:10 2016 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cB1oI-0002c4-MG for geb-bug-gnu-emacs@m.gmane.org; Sun, 27 Nov 2016 16:56:10 +0100 Original-Received: from localhost ([::1]:54642 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cB1oJ-0003nz-Aw for geb-bug-gnu-emacs@m.gmane.org; Sun, 27 Nov 2016 10:56:11 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:48898) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cB1oD-0003nr-8B for bug-gnu-emacs@gnu.org; Sun, 27 Nov 2016 10:56:06 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cB1oA-0005iV-2x for bug-gnu-emacs@gnu.org; Sun, 27 Nov 2016 10:56:05 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:56558) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cB1o9-0005iR-Vq for bug-gnu-emacs@gnu.org; Sun, 27 Nov 2016 10:56:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1cB1o9-0001Od-QK for bug-gnu-emacs@gnu.org; Sun, 27 Nov 2016 10:56:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 27 Nov 2016 15:56:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 19547 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 19547-submit@debbugs.gnu.org id=B19547.14802621155307 (code B ref 19547); Sun, 27 Nov 2016 15:56:01 +0000 Original-Received: (at 19547) by debbugs.gnu.org; 27 Nov 2016 15:55:15 +0000 Original-Received: from localhost ([127.0.0.1]:43724 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cB1nP-0001NV-9F for submit@debbugs.gnu.org; Sun, 27 Nov 2016 10:55:15 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:57809) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cB1nN-0001NJ-5P for 19547@debbugs.gnu.org; Sun, 27 Nov 2016 10:55:13 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cB1nH-0005R7-6F for 19547@debbugs.gnu.org; Sun, 27 Nov 2016 10:55:08 -0500 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:57121) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cB1nD-0005PJ-2c; Sun, 27 Nov 2016 10:55:03 -0500 Original-Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:1466 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1cB1nC-0000D1-7k; Sun, 27 Nov 2016 10:55:02 -0500 In-reply-to: <87twat6kjd.fsf@gmail.com> (message from Thierry Volpiatto on Sun, 27 Nov 2016 15:53:58 +0100) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:126166 Archived-At: > From: Thierry Volpiatto > Cc: Eli Zaretskii , 19547@debbugs.gnu.org, rrt@sc3d.org > Date: Sun, 27 Nov 2016 15:53:58 +0100 > > > npostavs@users.sourceforge.net writes: > > > Thierry Volpiatto writes: > >> > >> + Lisp_Object ignore_event; > >> + > >> + switch (event->kind) > >> + { > >> + case FOCUS_IN_EVENT: ignore_event = Qfocus_in; > >> + case FOCUS_OUT_EVENT: ignore_event = Qfocus_out; > >> + case HELP_EVENT: ignore_event = Qhelp; > >> + case ICONIFY_EVENT: ignore_event = Qiconify; > >> + case DEICONIFY_EVENT: ignore_event = Qdeiconify; > >> + case SELECTION_REQUEST_EVENT: ignore_event = Qselection_request; > > > > You need a break at the end of each case, otherwise all events would be > > treated as SELECTION_REQUEST_EVENT. > > > > case FOCUS_IN_EVENT: ignore_event = Qfocus_in; break; > > You answer exactly at what I was wondering about, is break needed or not? In addition to using 'break', you need to initialize ignore_event with some value, otherwise it will hold garbage, which could accidentally be one of the values you want to filter. Alternatively, add a 'default' case to the switch. > >> + Vwhile_no_input_ignore_events = Qnil; > >> + /* = listn (Qfocus_in, Qfocus_out, Qhelp, Qiconify, Qdeiconify, Qselection_request); */ > > > > I think something like this should work: > > > > listn (CONSTYPE_PURE, 6, Qfocus_in, Qfocus_out, Qhelp, Qiconify, Qdeiconify, Qselection_request); > > Same here, I had to use Qnil because I always had errors when trying to > feed this variable here, I will try tonight if that works. I'd suggest to use Flist instead, it should be closer to Lisp (if you want to do this from C). > I wondered also if instead the variable could be feeded from lisp as > suggested by Eli, but I don't know yet where is the good place for this > and how. Something like simple.el should be fine. Thanks.