Revised patch with simpler approach. On Mon, Feb 10, 2025 at 5:57 AM Ship Mints wrote: > That is indeed simpler. I'd missed the "tip" that you wrote. I'll give it > a try and submit a revised patch. > > On Mon, Feb 10, 2025 at 3:28 AM Visuwesh wrote: > >> [திங்கள் பிப்ரவரி 10, 2025] Michael Albinus wrote: >> >> > Visuwesh writes: >> > >> > Hi, >> > >> >>> Tramp remote forms are now retained when changes to >> 'default-directory' are >> >>> detected by this filter. Previously, for example, >> >>> /ssh:hostname:/home/username would be stripped to just /home/username. >> > >> >> Is it necessary to invoke so many Tramp functions? >> > >> > I agree. Internal Tramp functions, which are not documented in the >> > manual, shouldn't be used outside unless absolutely needed. They can >> > change w/o announcement. >> > >> >> I have the following simpler advice in my config and it has worked >> >> faithfully for many months now. >> >> >> >> (define-advice comint-osc-directory-tracker (:override (_ text) >> vz/handle-remote-paths-as-well) >> >> (let ((url (url-generic-parse-url text))) >> >> (when (equal (url-type url) "file") >> >> (ignore-errors >> >> (let ((file (url-unhex-string (url-filename url)))) >> >> (cd-absolute (concat (file-remote-p default-directory) >> file))))))) >> > >> > file-remote-p returns nil for local file names. So I believe, this isn't >> > only an advertisement. It could go into ansi-osc-directory-tracker >> as-it-is. >> >> Indeed, I was following what file-remote-p says itself: >> >> Tip: You can use this expansion of remote identifier components >> to derive a new remote file name from an existing one. For >> example, if FILE is "/sudo::/path/to/file" then >> >> (concat (file-remote-p FILE) "/bin/sh") >> >> returns a remote file name for file "/bin/sh" that has the >> same remote identifier as FILE but expanded; a name such as >> "/sudo:root@myhost:/bin/sh". >> >> >> > Best regards, Michael. >> >