Stefan Monnier writes: Hi, >> I'm sad to report that blocking timers in TRAMP is not sufficient to avoid >> it breaking other operations: process filters can also run while TRAMP is >> sending, and waiting for the result of, a command. > > I'm not sure what is the problem with timers and/or process filters > (e.g. I don't see any process filters in your backtrace), so maybe I'm > misunderstanding the problem, but FWIW, here's what I noticed: > >> tramp-user-error(nil "Not a Tramp file name: \"%s\"" "/Users/slippycheeze/.emacs.d/network-security.data") >> tramp-dissect-file-name("/Users/slippycheeze/.emacs.d/network-security.data") >> tramp-vc-file-name-handler(expand-file-name "/Users/slippycheeze/.emacs.d/network-security.data" "/gssh:slippycheeze.X.XXXXXXXX.XXX:") > > This indicates that Tramp gets confused and thinks that the > tramp-vc-file-name-handler was called in response to expand-file-name on > the file "/Users/slippycheeze/.emacs.d/network-security.data" whereas > it's called because of the directory argument. > > So I believe the (untested) patch below should fix the immediate problem. > Can you confirm? > > Michael? Yes, the analysis is correct. However, we don't need to check this for every Tramp invocation. Daniel's reports have been covered always vc-registered. And indeed, the related `tramp-vc-file-name-handler' seems to expect always a Tramp file name, which is not true for filters and sentinels which run for non-Tramp processes. Daniel, does the appended patch fixes the issue for you? > Stefan Best regards, Michael.