Subject: Re: bug#32090: 26.1; connection-local-variables do not match as described

From: Michael Albinus <[email-masked]>
Date: Wed, 05 Sep 2018 11:02:59 +0200

Michael Albinus <[email-masked]> writes:

Hi Christopher,

>>> That means, the Tramp implementation requires :application to be 'tramp
>>> or nil, *and* it requires setting of :protocol, :user and :machine in
>>> your criteria, which match the respective remote file name.
>>
>> This makes sense, except that I'm still confused on why :application
>> can be nil but :protocol, :user, and :machine cannot be.
>>
>> I think ultimately, it comes down to a confusion over what "optional"
>> means. I took it to mean: "It this property is provided, it will be
>> checked when matching. If not, we don't care about the value of this
>> property." And, as I stated earlier, I don't understand how the
>> sentence "If CRITERIA is 'nil', it always applies." is try in any
>> sense of those words. If the feature is working as intended, those are
>> the worst offenders as far as confusing documentation.
>
> Well, I've slept over this last night, and I've convinced myself that
> you are right. Every property shall be optional, not only :application.
> As documented.
>
> So I've committed a patch to the emacs-26 branch. Maybe you have a
> chance to check this out; otherwise the patch is accessible here:
> <http://git.savannah.gnu.org/cgit/emacs.git/patch/?id=917158f8c91121572f38d641096e171540d0bac2>
>
>> Once again, I appreciate this feature and your explanation here. I
>> hope this is helpful in clarifying the documentation.
>
> If you want see some more examples for intended use, see file
> test/lisp/files-x-tests.el. Note, that I have adapted it as well for the
> patch.

Are there still problems wfor you with this? Otherwise, I believe the
bug could be closed.

>> Christopher

Best regards, Michael.