all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Robert Pluim <rpluim@gmail.com>
Cc: emacs-devel@gnu.org
Subject: Re: open-{gnutls,network}-stream backwards compatibility
Date: Wed, 02 Jan 2019 20:07:47 +0200	[thread overview]
Message-ID: <83zhsj2arw.fsf@gnu.org> (raw)
In-Reply-To: <m2bm4zvtmc.fsf@gmail.com> (message from Robert Pluim on Wed, 02 Jan 2019 18:47:55 +0100)

> From: Robert Pluim <rpluim@gmail.com>
> Cc: emacs-devel@gnu.org
> 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.



  reply	other threads:[~2019-01-02 18:07 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-02 16:49 open-{gnutls,network}-stream backwards compatibility Robert Pluim
2019-01-02 17:04 ` Eli Zaretskii
2019-01-02 17:47   ` Robert Pluim
2019-01-02 18:07     ` Eli Zaretskii [this message]
2019-01-02 18:56       ` Robert Pluim
2019-01-04 14:06         ` Eli Zaretskii
2019-01-04 22:29           ` Robert Pluim
2019-01-05  6:58             ` Eli Zaretskii
2019-01-05  7:36               ` Robert Pluim
2019-01-05  8:40                 ` Eli Zaretskii
2019-01-09 21:50                 ` Robert Pluim
2019-01-10 15:53                   ` Ted Zlatanov
2019-01-10 16:05                     ` Eli Zaretskii
2019-01-12 11:16                   ` Eli Zaretskii
2019-01-02 18:12     ` Ted Zlatanov
2019-01-02 18:30       ` Eli Zaretskii
2019-01-02 19:18         ` Ted Zlatanov
2019-01-02 19:49           ` Eli Zaretskii
2019-01-02 20:01             ` Robert Pluim
2019-01-02 20:25             ` Ted Zlatanov
2019-01-04 11:15               ` Robert Pluim

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=83zhsj2arw.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=rpluim@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.