James Ferguson <james@faff.org> writes:
Hi James,
> That's definitely what raises the error, though the comment implies to
> me that it's unexpected/undesirable that it is triggered.
Indeed. Your backtrace from the original report shows
> Debugger entered--Lisp error: (file-error "File ‘.’ must be absolute")
> signal(file-error ("File ‘.’ must be absolute"))
> tramp-error((tramp-file-name "sshx" nil nil "4x02" nil "." nil) file-error "File `%s' must be absolute" ".")
> tramp-file-name-unify((tramp-file-name "sshx" nil nil "4x02" nil "." nil) ".")
> tramp-get-file-property((tramp-file-name "sshx" nil nil "4x02" nil "." nil) "." "file-truename")
> tramp-flush-file-properties((tramp-file-name "sshx" nil nil "4x02" nil "." nil) ".")
> tramp-flush-file-function()
> kill-buffer(#<buffer Terminal-4x02 volta@4x02 (10.0.154.60) - byobu>)
We see, that `tramp-flush-file-properties' is called with
`default-directory' "." in #<buffer Terminal-4x02 volta@4x02 (10.0.154.60) - byobu>
This is obviously an error, because the docstring of `default-directory'
says
--8<---------------cut here---------------start------------->8---
Name of default directory of current buffer.
It should be an absolute directory name; on GNU and Unix systems,
these names start with ‘/’ or ‘~’ and end with ‘/’.
--8<---------------cut here---------------end--------------->8---
Perhaps you could report this to the maintainer of vterm.
For the time being, I've pushed a fix to Emacs master which expands
`default-directory' inside `tramp-flush-file-properties'. Could you,
pls, check?
Best regards, Michael.