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

From: Michael Albinus <[email-masked]>
Date: Wed, 28 Apr 2021 18:25:54 +0200

Thierry Volpiatto <[email-masked]> writes:

Hi Thierry,

> If it can help here the relevant part of the tramp log from emacs-27:
>
> 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.

> 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. And I also don't know how this is related to
your problem.

OK, a test. I use the handler from the elisp manual:

--8<---------------cut here---------------start------------->8---
(defun my-notify-callback (event)
  (message "Event %S" event))
--8<---------------cut here---------------end--------------->8---

--8<---------------cut here---------------start------------->8---
1. Use Emacs 27

[albinus@gandalf ~]$ ~/src/emacs-27/src/emacs

M-: tramp-version
=> "2.4.5.27.2"

M-: (file-notify-add-watch "/ssh:freebsd12:/tmp" '(change attribute-change) 'my-notify-callback)
=> #<process gio>

albinus@freebsd12:~ % touch /tmp/test.txt
=> Event (#<process gio> created "/ssh:freebsd12:/tmp/test.txt")

albinus@freebsd12:~ % rm /tmp/test.txt
=> Event (#<process gio> deleted "/ssh:freebsd12:/tmp/test.txt")
--8<---------------cut here---------------end--------------->8---

--8<---------------cut here---------------start------------->8---
2. Use Emacs 28

[albinus@gandalf ~]$ ~/src/emacs/src/emacs

M-: tramp-version
=> "2.5.1-pre"

M-: (file-notify-add-watch "/ssh:freebsd12:/tmp" '(change attribute-change) 'my-notify-callback)
=> #<process gio>

albinus@freebsd12:~ % touch /tmp/test.txt
=> Event (#<process gio> created "/ssh:freebsd12:/tmp/test.txt")

albinus@freebsd12:~ % rm /tmp/test.txt
=> Event (#<process gio> deleted "/ssh:freebsd12:/tmp/test.txt")
--8<---------------cut here---------------end--------------->8---

Exactly the same events.

> Thanks.

Best regards, Michael.