[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: bug#40248: 27.0.90; Failure open .authinfo.gpg from Gnus
From: |
Robert Pluim |
Subject: |
Re: bug#40248: 27.0.90; Failure open .authinfo.gpg from Gnus |
Date: |
Tue, 31 Mar 2020 18:13:10 +0200 |
>>>>> On Tue, 31 Mar 2020 13:09:14 +0200, Robert Pluim <address@hidden> said:
>>>>> On Tue, 31 Mar 2020 12:31:04 +0200, Andreas Schwab <address@hidden> said:
Andreas> On Mär 31 2020, Robert Pluim wrote:
>>> My reading of set_network_socket_coding_system is that having a plist
>>> in make-network-process with :coding nil overrides a non-nil
>>> coding-system-for-{read-write}, which I donʼt think we want.
Andreas> You are right, make-network-process and make-serial-process handle
that
Andreas> differently than make-process and make-pipe-process. I think this
is a
Andreas> bug, they should all handle :coding nil the same (same as absence).
Robert> I think I agree with that. Basically this, initially (and the same
for
Robert> make-serial-process)
Now that Iʼve actually tested it, the change looks like this, making
make-network-process and make-serial process behave the same as
make-process and make-pipe-process. Iʼve looked at all uses of those
two functions in Emacs' sources, and none of them depend on the change
in semantics, in fact only a couple of them actually pass a :coding
keyword.
Having said all that, this does go back a looooong way (2002 at
least), so maybe we want to let sleeping dogs lie.
diff --git a/src/process.c b/src/process.c
index e18a5aa538..2db45b18b2 100644
--- a/src/process.c
+++ b/src/process.c
@@ -3205,14 +3206,12 @@ DEFUN ("make-serial-process", Fmake_serial_process,
Smake_serial_process,
BUF_ZV_BYTE (XBUFFER (buffer)));
}
- tem = Fplist_member (contact, QCcoding);
- if (!NILP (tem) && (!CONSP (tem) || !CONSP (XCDR (tem))))
- tem = Qnil;
+ tem = Fplist_get (contact, QCcoding);
val = Qnil;
if (!NILP (tem))
{
- val = XCAR (XCDR (tem));
+ val = tem;
if (CONSP (val))
val = XCAR (val);
}
@@ -3226,7 +3225,7 @@ DEFUN ("make-serial-process", Fmake_serial_process,
Smake_serial_process,
val = Qnil;
if (!NILP (tem))
{
- val = XCAR (XCDR (tem));
+ val = tem;
if (CONSP (val))
val = XCDR (val);
}
@@ -3261,16 +3260,14 @@ set_network_socket_coding_system (Lisp_Object proc,
Lisp_Object host,
Lisp_Object coding_systems = Qt;
Lisp_Object val;
- tem = Fplist_member (contact, QCcoding);
- if (!NILP (tem) && (!CONSP (tem) || !CONSP (XCDR (tem))))
- tem = Qnil; /* No error message (too late!). */
+ tem = Fplist_get (contact, QCcoding);
/* Setup coding systems for communicating with the network stream. */
/* Qt denotes we have not yet called Ffind_operation_coding_system. */
if (!NILP (tem))
{
- val = XCAR (XCDR (tem));
+ val = tem;
if (CONSP (val))
val = XCAR (val);
}
@@ -3304,7 +3301,7 @@ set_network_socket_coding_system (Lisp_Object proc,
Lisp_Object host,
if (!NILP (tem))
{
- val = XCAR (XCDR (tem));
+ val = tem;
if (CONSP (val))
val = XCDR (val);
}