Subject: bug#31357: 26.1; tramp-make-tramp-file-name: incompatible lisp changes in 26.1 ?

From: Phil Sainty <[email-masked]>
Date: Fri, 04 May 2018 09:34:47 +1200

On 2018-05-04 03:26, Michael Albinus wrote:
> Phil Sainty <[email-masked]> writes:
>> This should surely be covered in NEWS under the "Incompatible Lisp
>> Changes in Emacs 26.1" section?
> 
> `tramp-make-tramp-file-name' has never been documented as public
> function, it is intended for internal use. Granted, this should have
> been signalled better.

Given the function naming, a NEWS entry seems warranted to me.

I do think that there *should* be a public interface for manipulating
tramp file names.  If these were never intended as such then perhaps
such functionality could be introduced...

> That's the way to go. You could use (funcall 
> 'tramp-make-tramp-file-name ...)
> in order to make the byte compiler quiet.

Perfect.

> However, I wouldn't check for emacs-version. Tramp exist as separate
> package, and the recent Tramp 2.4 runs with all Emacs 24, 25, 26 and
> 27. You might check for tramp-version.

Thanks; I've gone with this:

(apply
  #'tramp-make-tramp-file-name
  (if (version< tramp-version "2.3")
      (list method user host temp hop)
    (list method user domain host port temp hop)))

The changes in 2.4 sound good too.

> (setf (tramp-file-name-host vec) "whatever")

Ah, I'd actually tried that in 25.2 but those are not generalized
variables in that version.  I see that it works in 26.1 though,
so that's an excellent enhancement.

cheers,
-Phil