Subject: Re: bug#48067: 28.0.50; Tramp error: cannot determine gio monitor

From: Michael Albinus <[email-masked]>
Date: Wed, 28 Apr 2021 19:39:04 +0200

Thierry Volpiatto <[email-masked]> writes:

Hi Thierry,
>>> 17:01:06.548820 tramp-get-file-property (8) # /home/thierry/tmp file-exists-p t
>>> 17:01:09.974262 tramp-get-file-property (8) # /home/thierry/tmp file-directory-p t
>>> 17:01:14.119915 tramp-sh-gio-monitor-process-filter (6) # #<process gio>
>>> /home/thierry/tmp: /home/thierry/tmp/test.txt: created
>>> /home/thierry/tmp: /home/thierry/tmp/test.txt: changes done
>>> /home/thierry/tmp: /home/thierry/tmp/test.txt: attributes changed
>>
>> As you see, there're also local file names.
>
> Yes, I saw this it is why I don't understand how it could work on 27 and
> not on 28.

What exactly does not work on Emacs 28? Events do not arrive? Events
have wrong values?

>>> 17:01:14.121499 tramp-accept-process-output (10) # gio 0 run nil
>>> 17:01:14.121681 tramp-handle-file-notify-rm-watch (6) # Kill #<process gio>
>>> 17:01:14.121981 tramp-file-notify-process-sentinel (5) # Sentinel
>>> called: `#<process gio>' `processus arrêté
>>> '
>>> 17:01:14.122501 tramp-accept-process-output (10) # gio 0 signal nil
>>> 17:01:14.122652 tramp-handle-file-notify-rm-watch (6) # Kill #<process gio>
>>> 17:01:14.122948 tramp-sh-gio-monitor-process-filter (10) # Rest string:
>>>
>>> 17:01:18.684045 tramp-get-file-property (8) # /home/thierry/tmp file-directory-p undef
>>>
>>> As you can see the *rm-watch is called.
>>
>> Yes. But we don't see why.
>
> This is what I would like to know ;-)
>
>> And I also don't know how this is related to your problem.
>
> I am not sure it is related to my problem, I just suspect it is.

Maybe you can set file-notify-debug to t? You will see how events go
around.

>> OK, a test. I use the handler from the elisp manual:
>
> Yes, I already tried similar tests.

So I've lost you. What works, and what not?

> Anyway, perhaps you can push your changes? They are an improvement over
> what is actually in master.

Done.

Best regards, Michael.