From: Eli Zaretskii <eliz@gnu.org>
To: Thierry Volpiatto <thierry.volpiatto@gmail.com>
Cc: npostavs@users.sourceforge.net, 19547@debbugs.gnu.org, rrt@sc3d.org
Subject: bug#19547: Patch for this bug
Date: Sun, 27 Nov 2016 20:40:15 +0200 [thread overview]
Message-ID: <83twaszrzk.fsf@gnu.org> (raw)
In-Reply-To: <87r35wx0qe.fsf@gmail.com> (message from Thierry Volpiatto on Sun, 27 Nov 2016 18:59:37 +0100)
> From: Thierry Volpiatto <thierry.volpiatto@gmail.com>
> Cc: npostavs@users.sourceforge.net, 19547@debbugs.gnu.org, rrt@sc3d.org
> Date: Sun, 27 Nov 2016 18:59:37 +0100
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> > 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.
>
> Is Qnil ok as default value ?
Yes, it means no events are filtered out initially.
> > I'd suggest to use Flist instead, it should be closer to Lisp (if you
> > want to do this from C).
>
> Didn't succeed with Flist:
>
> keyboard.c:11842:5: error: too many arguments to function ‘Flist’
> = Flist (Qfocus_in, Qfocus_out, Qhelp, Qiconify, Qdeiconify, Qselection_request)
> ^
My advice is to look at how a function is used elsewhere in the
sources, before using it in your code. In this case, you will find
stuff like this:
arg = Flist (nargs - i, &arg_vector[i]);
IOW, the first argument to Flist is the number of arguments, and the
second argument is an array of that dimension.
> >> 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.
>
> I would prefer setting the variable from lisp.
> ok for simple.el, but what is the recommended way for setting it (I
> don't think throwing a (setq while-no-input-ignore-events [...])
> anywhere in simple.el is the way to do) ?
Why not? You will see quite a few examples of such stuff there.
E.g.:
(setq undo-outer-limit-function 'undo-outer-limit-truncate)
> Also on my laptop with gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
> I have no warnings, but on an other computer with gcc version 5.4.0
> 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4), I have these warnings (but it
> compiled fine):
>
> keyboard.c: In function ‘kbd_buffer_store_buffered_event’:
> keyboard.c:3572:3: warning: enumeration value ‘NO_EVENT’ not handled in switch [-Wswitch]
> switch (event->kind)
> ^
> keyboard.c:3572:3: warning: enumeration value ‘ASCII_KEYSTROKE_EVENT’ not handled in switch [-Wswitch]
> keyboard.c:3572:3: warning: enumeration value ‘MULTIBYTE_CHAR_KEYSTROKE_EVENT’ not handled in switch [-Wswitch]
That's because you don't have a "case default". You should, as I
explained earlier.
> keyboard.c:3585:11: warning: ‘ignore_event’ may be used uninitialized in this function [-Wmaybe-uninitialized]
> && !NILP (Fmemq (ignore_event, Vwhile_no_input_ignore_events)))
> ^
>
> What can I do to avoid this ?
Like I said: initialize ignore_event and add a "case default".
> Or should I just ignore this ?
Not a good idea, at least as long as you don't feel at home with C
programming.
Thanks.
next prev parent reply other threads:[~2016-11-27 18:40 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-09 15:46 bug#19547: 25.0.50; throw-on-input "fires" when switching workspace Michael Heerdegen
2015-01-09 19:59 ` Eli Zaretskii
2015-01-09 21:48 ` Michael Heerdegen
2015-01-10 9:14 ` Eli Zaretskii
2015-01-09 23:33 ` Stefan Monnier
2015-01-10 0:00 ` Michael Heerdegen
2015-01-10 1:26 ` Michael Heerdegen
2015-01-10 9:12 ` Eli Zaretskii
2015-01-10 22:24 ` Michael Heerdegen
2015-01-11 1:47 ` Stefan Monnier
2015-01-20 2:46 ` Michael Heerdegen
2015-01-20 3:43 ` Eli Zaretskii
2015-01-29 19:59 ` Michael Heerdegen
2015-01-31 8:38 ` Eli Zaretskii
2015-02-01 14:25 ` Michael Heerdegen
2015-02-01 15:54 ` Eli Zaretskii
2015-02-01 17:21 ` Michael Heerdegen
2015-02-01 17:35 ` Eli Zaretskii
2015-10-13 10:50 ` Michael Heerdegen
2015-12-10 20:14 ` John Wiegley
2015-12-10 22:05 ` Michael Heerdegen
2015-12-10 23:01 ` John Wiegley
[not found] ` <83fuz98gre.fsf@gnu.org>
2015-12-11 10:17 ` Thierry Volpiatto
[not found] ` <838u518d32.fsf@gnu.org>
2015-12-11 14:22 ` Michael Heerdegen
[not found] ` <83r3it6m5u.fsf@gnu.org>
2015-12-26 0:37 ` Michael Heerdegen
2015-12-26 10:01 ` Eli Zaretskii
2015-01-10 9:18 ` Eli Zaretskii
2016-11-08 18:28 ` bug#19547: Patch for this bug Reuben Thomas
2016-11-08 20:40 ` Eli Zaretskii
2016-11-08 22:20 ` Reuben Thomas
2016-11-09 19:43 ` Eli Zaretskii
2016-11-09 22:03 ` Reuben Thomas
2016-11-10 17:46 ` Eli Zaretskii
2016-11-25 17:10 ` Thierry Volpiatto
2016-11-26 7:40 ` Eli Zaretskii
2016-11-26 8:39 ` Andreas Schwab
2016-11-26 9:02 ` Eli Zaretskii
2016-11-26 18:50 ` Thierry Volpiatto
2016-11-27 6:52 ` Thierry Volpiatto
2016-11-27 14:07 ` npostavs
2016-11-27 14:53 ` Thierry Volpiatto
2016-11-27 15:54 ` Eli Zaretskii
2016-11-27 17:59 ` Thierry Volpiatto
2016-11-27 18:40 ` Eli Zaretskii [this message]
2016-11-27 19:03 ` Thierry Volpiatto
2016-11-27 19:39 ` Eli Zaretskii
2016-11-27 19:54 ` Thierry Volpiatto
2016-11-27 20:06 ` Eli Zaretskii
2016-11-27 20:53 ` Thierry Volpiatto
2016-11-30 20:27 ` Thierry Volpiatto
2016-12-01 3:28 ` Eli Zaretskii
2017-06-11 22:03 ` npostavs
2016-11-27 18:42 ` npostavs
2016-11-27 19:08 ` Thierry Volpiatto
2016-11-27 7:16 ` Thierry Volpiatto
2016-11-27 18:05 ` Reuben Thomas
2016-11-27 18:29 ` Thierry Volpiatto
2016-11-27 21:10 ` Johan Bockgård
2016-11-28 6:00 ` Thierry Volpiatto
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
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=83twaszrzk.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=19547@debbugs.gnu.org \
--cc=npostavs@users.sourceforge.net \
--cc=rrt@sc3d.org \
--cc=thierry.volpiatto@gmail.com \
/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 public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).