Subject: bug#21435: 25.0.50; file-notify has problems after renames

From: Eli Zaretskii <[email-masked]>
Date: Wed, 09 Sep 2015 05:39:34 +0300

> From: Tassilo Horn <[email-masked]>
> Cc: [email-masked]
> Date: Tue, 08 Sep 2015 21:47:50 +0200
> 
> Eli Zaretskii <[email-masked]> writes:
> 
> >> I stepped through inotify_callback in inotify.c which can read 64
> >> byte from inotifyfd where the size of one inotify event is 32 and
> >> that produces 2 emacs events (although I cannot see which events are
> >> created).  The Locals GUD frame always shows just nil for the `event'
> >> local variable even after the assignments to it and I stepped into
> >> the then-branch of an `if (!NILP(event.arg))' which makes it pretty
> >> clear that it cannot be nil.  Why is that?
> >
> > Could be some gud bug.  Do you see the same when you invoke GDB from
> > the shell?
> 
> Oh, my GDB foo on the command line ends with making backtraces. ;-)
> 
> But just typing in "info locals" in the *gud-bootstrap-emacs* buffer is
> about the same, no?  And that shows
> 
>   event = {kind = FILE_NOTIFY_EVENT, part = scroll_bar_nowhere, code = 0, modifiers = 0, x = 0, y = 0, timestamp = 0, frame_or_window = 0, arg = 0}
> 
> whereas the relevant line in the locals GUD window is just
> 
>   struct input_event event        nil
> 
> So that looks like a bug.  I guess I should report this, or will you fix
> this right now?

Please report it, with a test case.  A C struct can never be nil, so
this is a clear bug.