[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: open-{gnutls,network}-stream backwards compatibility
From: |
Eli Zaretskii |
Subject: |
Re: open-{gnutls,network}-stream backwards compatibility |
Date: |
Wed, 02 Jan 2019 20:07:47 +0200 |
> From: Robert Pluim <address@hidden>
> Cc: address@hidden
> Date: Wed, 02 Jan 2019 18:47:55 +0100
>
> So nil/t would mean :nowait nil/t, and anything else would be a
> plist.
Not exactly. What I meant is if that arg is _any_ symbol, it is
interpreted as the old NOWAIT argument; otherwise, it has to be a
plist (if not, we signal an error).
> Itʼs not perfect, but I guess backwards compatibility is important.
It is IMO.
> >> Again Iʼm tempted to change open-network-stream such that not
> >> specifying :client-certificate is the same as specifying t, so
> >> that all Emacs core and external packages can take advantage of
> >> the feature just by adjusting their .authinfo entries, similarly
> >> to how password lookup automatically works today. However, this
> >> would be a change in default behaviour, plus I know some people
> >> are very sensitive to changes in this particular area, so I
> >> thought Iʼd ask here before doing anything.
> >
> > IMO, we should resist the temptation of making backward-incompatible
> > changes. From bitter experience, even obscure internal functions are
> > sometimes used, and their users don't expect us to break the APIs.
>
> That applies to open-gnutls-stream, but I was asking about
> open-network-stream. For people who have no client certificate entries
> in their auth-source, there would be zero difference.
Then perhaps I misunderstand your suggestion. Please tell more. (And
I'm talking about those for whom this change _will_ mean some
difference, not those who don't use :client-certificate.)
I guess the part which is confusing me is this:
change open-network-stream such that not specifying
:client-certificate is the same as specifying t
Doesn't this mean an incompatible change in behavior?
> If we donʼt change open-network-stream, then I was planning on
> changing all callers in Emacs to use :client-certificate t in any
> case, so only external users of open-network-stream would need to
> update their code to enable automatic use of client certificates. Itʼs
> those external updates I was hoping to avoid.
Now I'm even more confused.
- open-{gnutls,network}-stream backwards compatibility, Robert Pluim, 2019/01/02
- Re: open-{gnutls,network}-stream backwards compatibility, Eli Zaretskii, 2019/01/02
- Re: open-{gnutls,network}-stream backwards compatibility, Robert Pluim, 2019/01/02
- Re: open-{gnutls,network}-stream backwards compatibility,
Eli Zaretskii <=
- Re: open-{gnutls,network}-stream backwards compatibility, Robert Pluim, 2019/01/02
- Re: open-{gnutls,network}-stream backwards compatibility, Eli Zaretskii, 2019/01/04
- Re: open-{gnutls,network}-stream backwards compatibility, Robert Pluim, 2019/01/04
- Re: open-{gnutls,network}-stream backwards compatibility, Eli Zaretskii, 2019/01/05
- Re: open-{gnutls,network}-stream backwards compatibility, Robert Pluim, 2019/01/05
- Re: open-{gnutls,network}-stream backwards compatibility, Eli Zaretskii, 2019/01/05
- Re: open-{gnutls,network}-stream backwards compatibility, Robert Pluim, 2019/01/09
- Re: open-{gnutls,network}-stream backwards compatibility, Ted Zlatanov, 2019/01/10
- Re: open-{gnutls,network}-stream backwards compatibility, Eli Zaretskii, 2019/01/10
- Re: open-{gnutls,network}-stream backwards compatibility, Eli Zaretskii, 2019/01/12