Subject: Re: bug#37573: 27.0.50; Remote file opened from GNOME-Nautilus

From: Michael Albinus <[email-masked]>
Date: Sun, 06 Oct 2019 12:37:21 +0200

Tim Zander <[email-masked]> writes:

Hi Tim,

> Steps to reproduce
>
> Connect to remote ssh server via GNOME-Nautilus.
>
> Drag-and-drop any file from Nautilius to Emacs or just open it from there.
>
> Change this file and try to save.
>
> Get the following Error
>
> Saving file
> /run/user/1000/gvfs/sftp:host=196.196.196.196,user=ubuntu/home/ubuntu/FOO...
>
> basic-save-buffer-2: Unlocking file: Function not implemented,
> /run/user/1000/gvfs/sftp:host=196.196.196.196,user=ubuntu/home/FOO

I could reproduce it locally. The problem is, that /run/user/1000/gvfs/
is a GVFS mounted file system. Most of native file operations work
there, but there seems to be a problem to handle symlinks like .#filename
which are used to mark locked files.

Saving the modified buffer itself works. So it might be appropriate to
suppress the file locking on GVFS mounted file systems. Add the
following lines to your .emacs:

(put 'create-lockfiles 'safe-local-variable 'booleanp)
(dir-locals-set-class-variables 'gvfs '((nil . ((create-lockfiles . nil)))))
(dir-locals-set-directory-class (format "/run/user/%d/gvfs" (user-uid)) 'gvfs)

I'm wondering, whether we shall document this approach somewhere. Eli?

Best regards, Michael.