Eli Zaretskii <
eli=
z@gnu.org> schrieb am Sa., 20. Jan. 2018 um 13:03=C2=A0Uhr:
> From: Phili=
pp <p.stephan=
i2@gmail.com>
> Date: Sat, 06 Jan 2018 12:39:43 +0100
>
> (call-interactively (lambda (a b) (interactive "sa\0b\ns")))=
>
> the prompt is only "a" and a `wrong-number-of-argument' =
signal is
> raised.=C2=A0 This is because `call-interactively' copies the inte=
ractive
> specification to a C string, ignoring embedded nulls.
No, it copies the spec in its entirety, including embedded null bytes,
but then _processes_ the result as a C string, taking the first null
byte as the end of the string.
Does the patch below look right, and give good results?
Yes, thanks. Just some minor nits inline to make the code =
shorter.
=C2=A0
diff --git a/src/callint.c b/src/callint.c
index 2253cdf..3d2ed00 100644
--- a/src/callint.c
+++ b/src/callint.c
@@ -288,7 +288,8 @@ invoke it.=C2=A0 If KEYS is omitted or nil, the return =
value of
=C2=A0 =C2=A0ptrdiff_t next_event;
=C2=A0 =C2=A0Lisp_Object prefix_arg;
-=C2=A0 char *string;
+=C2=A0 char *string, *string_end;
+=C2=A0 ptrdiff_t string_len;
I think t=
hese days (where we require C99) we always declare variables when we first =
use them.
=C2=A0
=C2=A0 =C2=A0const char *tem;
=C2=A0 =C2=A0/* If varies[i] > 0, the i'th argument shouldn't ju=
st have its value
@@ -396,6 +397,8 @@ invoke it.=C2=A0 If KEYS is omitted or nil, the return =
value of
=C2=A0 =C2=A0/* SPECS is set to a string; use it as an interactive prompt.<=
br>
=C2=A0 =C2=A0 =C2=A0 Copy it so that STRING will be valid even if a GC relo=
cates SPECS.=C2=A0 */
=C2=A0 =C2=A0SAFE_ALLOCA_STRING (string, specs);
+=C2=A0 string_len =3D SBYTES (specs);
+=C2=A0 string_end =3D string + string_len;
=C2=A0 =C2=A0/* Here if function specifies a string to control parsing the =
defaults.=C2=A0 */
@@ -418,7 +421,7 @@ invoke it.=C2=A0 If KEYS is omitted or nil, the return =
value of
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if (!NILP (record_flag))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 char *p =3D =
string;
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0while (*p)
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0while (p <=
; string_end)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 if (! (*p =3D=3D 'r' || *p =3D=3D 'p' || *p =3D=3D '=
;P'
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|| *p =3D=3D '\n'))
@@ -469,7 +472,7 @@ invoke it.=C2=A0 If KEYS is omitted or nil, the return =
value of
=C2=A0 =C2=A0 =C2=A0 `funcall-interactively') plus the number of argume=
nts the interactive spec
=C2=A0 =C2=A0 =C2=A0 would have us give to the function.=C2=A0 */
=C2=A0 =C2=A0tem =3D string;
-=C2=A0 for (nargs =3D 2; *tem; )
+=C2=A0 for (nargs =3D 2; tem < string_end; )
=C2=A0 =C2=A0 =C2=A0{
=C2=A0 =C2=A0 =C2=A0 =C2=A0/* 'r' specifications ("point and m=
ark as 2 numeric args")
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0produce *two* arguments.=C2=A0 */
@@ -477,7 +480,7 @@ invoke it.=C2=A0 If KEYS is omitted or nil, the return =
value of
=C2=A0 =C2=A0 =C2=A0 =C2=A0 nargs +=3D 2;
=C2=A0 =C2=A0 =C2=A0 =C2=A0else
=C2=A0 =C2=A0 =C2=A0 =C2=A0 nargs++;
-=C2=A0 =C2=A0 =C2=A0 tem =3D strchr (tem, '\n');
+=C2=A0 =C2=A0 =C2=A0 tem =3D memchr (tem, '\n', string_len - (tem =
- string));
You can write the third arg=
ument as string_end - tem.
=C2=A0
=C2=A0 =C2=A0 =C2=A0 =C2=A0if (tem)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 ++tem;
=C2=A0 =C2=A0 =C2=A0 =C2=A0else
@@ -503,9 +506,12 @@ invoke it.=C2=A0 If KEYS is omitted or nil, the return=
value of
=C2=A0 =C2=A0 =C2=A0specbind (Qenable_recursive_minibuffers, Qt);
=C2=A0 =C2=A0tem =3D string;
-=C2=A0 for (i =3D 2; *tem; i++)
+=C2=A0 for (i =3D 2; tem < string_end; i++)
=C2=A0 =C2=A0 =C2=A0{
-=C2=A0 =C2=A0 =C2=A0 visargs[1] =3D make_string (tem + 1, strcspn (tem + 1=
, "\n"));
+=C2=A0 =C2=A0 =C2=A0 char *pnl =3D memchr (tem + 1, '\n', string_l=
en - (tem + 1 - string));
Here you can =
write the third argument as string_end - (tem=C2=A0+ 1).
=C2=A0=
div>
+=C2=A0 =C2=A0 =C2=A0 ptrdiff_t sz =3D pnl ? pnl - (tem + 1) : string_end -=
(tem + 1);
You can write the RHS as (p=
nl ? pnl : string_end) - (tem=C2=A0+ 1).
=C2=A0
+
+=C2=A0 =C2=A0 =C2=A0 visargs[1] =3D make_string (tem + 1, sz);
=C2=A0 =C2=A0 =C2=A0 =C2=A0callint_message =3D Fformat_message (i - 1, visa=
rgs + 1);
=C2=A0 =C2=A0 =C2=A0 =C2=A0switch (*tem)
@@ -781,7 +787,7 @@ invoke it.=C2=A0 If KEYS is omitted or nil, the return =
value of
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 /* How many bytes are left unproc=
essed in the specs string?
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(Note that this excl=
udes the trailing null byte.)=C2=A0 */
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0ptrdiff_t bytes_left =3D SBYTES (=
specs) - (tem - string);
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0ptrdiff_t bytes_left =3D string_l=
en - (tem - string);
Same (string-end -=
tem).
=C2=A0
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 unsigned letter;
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 /* If we have enough bytes left t=
o treat the sequence as a
@@ -803,9 +809,9 @@ invoke it.=C2=A0 If KEYS is omitted or nil, the return =
value of
=C2=A0 =C2=A0 =C2=A0 =C2=A0if (NILP (visargs[i]) && STRINGP (args[i=
]))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 visargs[i] =3D args[i];
-=C2=A0 =C2=A0 =C2=A0 tem =3D strchr (tem, '\n');
+=C2=A0 =C2=A0 =C2=A0 tem =3D memchr (tem, '\n', string_len - (tem =
- string));
again, string_end - tem.
=C2=A0
=C2=A0 =C2=A0 =C2=A0 =C2=A0if (tem) tem++;
-=C2=A0 =C2=A0 =C2=A0 else tem =3D "";
+=C2=A0 =C2=A0 =C2=A0 else tem =3D string_end;
=C2=A0 =C2=A0 =C2=A0}
=C2=A0 =C2=A0unbind_to (speccount, Qnil);
--94eb2c1abb709c36d4056364e9a0--
From unknown Mon Aug 18 15:40:02 2025
X-Loop: help-debbugs@gnu.org
Subject: bug#30005: 27.0.50; call-interactively doesn't work correctly if the interactive specification has an embedded null byte
Resent-From: Eli Zaretskii
Original-Sender: "Debbugs-submit"
Resent-CC: bug-gnu-emacs@gnu.org
Resent-Date: Tue, 23 Jan 2018 15:56:03 +0000
Resent-Message-ID:
Resent-Sender: help-debbugs@gnu.org
X-GNU-PR-Message: followup 30005
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords:
To: Philipp Stephani
Cc: 30005@debbugs.gnu.org
Reply-To: Eli Zaretskii
Received: via spool by 30005-submit@debbugs.gnu.org id=B30005.15167229622969
(code B ref 30005); Tue, 23 Jan 2018 15:56:03 +0000
Received: (at 30005) by debbugs.gnu.org; 23 Jan 2018 15:56:02 +0000
Received: from localhost ([127.0.0.1]:39796 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1ee0va-0000lm-0n
for submit@debbugs.gnu.org; Tue, 23 Jan 2018 10:56:02 -0500
Received: from eggs.gnu.org ([208.118.235.92]:48057)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from ) id 1ee0vY-0000lT-RA
for 30005@debbugs.gnu.org; Tue, 23 Jan 2018 10:56:01 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
(envelope-from ) id 1ee0vQ-0001RU-HE
for 30005@debbugs.gnu.org; Tue, 23 Jan 2018 10:55:55 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level:
X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,T_RP_MATCHES_RCVD
autolearn=disabled version=3.3.2
Received: from fencepost.gnu.org ([2001:4830:134:3::e]:57654)
by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from )
id 1ee0vQ-0001RD-EB; Tue, 23 Jan 2018 10:55:52 -0500
Received: from [176.228.60.248] (port=4567 helo=home-c4e4a596f7)
by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
(Exim 4.82) (envelope-from )
id 1ee0vP-0000N3-9c; Tue, 23 Jan 2018 10:55:51 -0500
Date: Tue, 23 Jan 2018 17:55:41 +0200
Message-Id: <83shawzi0y.fsf@gnu.org>
From: Eli Zaretskii
In-reply-to:
(message from Philipp Stephani on Mon, 22 Jan 2018 22:25:39 +0000)
References: <83y3ksspp9.fsf@gnu.org>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Received-From: 2001:4830:134:3::e
X-Spam-Score: -5.0 (-----)
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: debbugs-submit-bounces@debbugs.gnu.org
Sender: "Debbugs-submit"
X-Spam-Score: -5.0 (-----)
> From: Philipp Stephani
> Date: Mon, 22 Jan 2018 22:25:39 +0000
> Cc: 30005@debbugs.gnu.org
>
> Does the patch below look right, and give good results?
>
> Yes, thanks. Just some minor nits inline to make the code shorter.
Thanks for the review. I eventually pushed the changes as presented
here, for the reasons I explain below.
> Lisp_Object prefix_arg;
> - char *string;
> + char *string, *string_end;
> + ptrdiff_t string_len;
>
> I think these days (where we require C99) we always declare variables when we first use them.
That's not my understanding of the preferred style. My understanding,
and what I do in practice, is that variables used only in a small
portion of a function should be declared before the use, so that all
the references to those variables are localized to the fragment where
they are used. By contrast, in this case these variables are used all
over the function, so it makes much less sense to delay their
declaration.
> - tem = strchr (tem, '\n');
> + tem = memchr (tem, '\n', string_len - (tem - string));
>
> You can write the third argument as string_end - tem.
Yes, but IMO the above is easier to convince the reader that the code
is correct, and an optimizing compiler will produce the same code from
both.
> - visargs[1] = make_string (tem + 1, strcspn (tem + 1, "\n"));
> + char *pnl = memchr (tem + 1, '\n', string_len - (tem + 1 - string));
>
> Here you can write the third argument as string_end - (tem + 1).
Same here: I find the code I used easier to understand and verify its
correctness.
> + ptrdiff_t sz = pnl ? pnl - (tem + 1) : string_end - (tem + 1);
>
> You can write the RHS as (pnl ? pnl : string_end) - (tem + 1).
Same here.
Thanks.
From unknown Mon Aug 18 15:40:02 2025
X-Loop: help-debbugs@gnu.org
Subject: bug#30005: 27.0.50; call-interactively doesn't work correctly if the interactive specification has an embedded null byte
Resent-From: Richard Stallman
Original-Sender: "Debbugs-submit"
Resent-CC: bug-gnu-emacs@gnu.org
Resent-Date: Tue, 23 Jan 2018 18:07:01 +0000
Resent-Message-ID:
Resent-Sender: help-debbugs@gnu.org
X-GNU-PR-Message: followup 30005
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords:
To: Eli Zaretskii
Cc: 30005@debbugs.gnu.org, p.stephani2@gmail.com
Reply-To: rms@gnu.org
Received: via spool by 30005-submit@debbugs.gnu.org id=B30005.151673080617419
(code B ref 30005); Tue, 23 Jan 2018 18:07:01 +0000
Received: (at 30005) by debbugs.gnu.org; 23 Jan 2018 18:06:46 +0000
Received: from localhost ([127.0.0.1]:39861 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1ee2y6-0004Ws-Hr
for submit@debbugs.gnu.org; Tue, 23 Jan 2018 13:06:46 -0500
Received: from eggs.gnu.org ([208.118.235.92]:57945)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from ) id 1ee2y4-0004We-CB
for 30005@debbugs.gnu.org; Tue, 23 Jan 2018 13:06:44 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
(envelope-from ) id 1ee2xy-0003q2-14
for 30005@debbugs.gnu.org; Tue, 23 Jan 2018 13:06:39 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level:
X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,T_RP_MATCHES_RCVD
autolearn=disabled version=3.3.2
Received: from fencepost.gnu.org ([2001:4830:134:3::e]:60455)
by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from )
id 1ee2xw-0003nl-Cq; Tue, 23 Jan 2018 13:06:36 -0500
Received: from rms by fencepost.gnu.org with local (Exim 4.82)
(envelope-from )
id 1ee2xv-0006ay-Pa; Tue, 23 Jan 2018 13:06:35 -0500
Content-Type: text/plain; charset=Utf-8
From: Richard Stallman
In-reply-to: <83shawzi0y.fsf@gnu.org> (message from Eli Zaretskii on Tue, 23
Jan 2018 17:55:41 +0200)
References: <83y3ksspp9.fsf@gnu.org>
<83shawzi0y.fsf@gnu.org>
Message-Id:
Date: Tue, 23 Jan 2018 13:06:35 -0500
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Received-From: 2001:4830:134:3::e
X-Spam-Score: -5.0 (-----)
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: debbugs-submit-bounces@debbugs.gnu.org
Sender: "Debbugs-submit"
X-Spam-Score: -5.0 (-----)
[[[ To any NSA and FBI agents reading my email: please consider ]]]
[[[ whether defending the US Constitution against all enemies, ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]
> That's not my understanding of the preferred style. My understanding,
> and what I do in practice, is that variables used only in a small
> portion of a function should be declared before the use, so that all
> the references to those variables are localized to the fragment where
> they are used. By contrast, in this case these variables are used all
> over the function, so it makes much less sense to delay their
> declaration.
I agree.
--
Dr Richard Stallman
President, Free Software Foundation (https://gnu.org, https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)
Skype: No way! See https://stallman.org/skype.html.
From unknown Mon Aug 18 15:40:02 2025
X-Loop: help-debbugs@gnu.org
Subject: bug#30005: 27.0.50; call-interactively doesn't work correctly if the interactive specification has an embedded null byte
Resent-From: Noam Postavsky
Original-Sender: "Debbugs-submit"
Resent-CC: bug-gnu-emacs@gnu.org
Resent-Date: Sat, 03 Feb 2018 21:49:01 +0000
Resent-Message-ID:
Resent-Sender: help-debbugs@gnu.org
X-GNU-PR-Message: followup 30005
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords:
To: Eli Zaretskii
Cc: 30005@debbugs.gnu.org, Philipp Stephani
Received: via spool by 30005-submit@debbugs.gnu.org id=B30005.15176944927815
(code B ref 30005); Sat, 03 Feb 2018 21:49:01 +0000
Received: (at 30005) by debbugs.gnu.org; 3 Feb 2018 21:48:12 +0000
Received: from localhost ([127.0.0.1]:56031 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1ei5fQ-00021v-Hk
for submit@debbugs.gnu.org; Sat, 03 Feb 2018 16:48:12 -0500
Received: from mail-it0-f51.google.com ([209.85.214.51]:50463)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from )
id 1ei5fP-00021b-Cc; Sat, 03 Feb 2018 16:48:11 -0500
Received: by mail-it0-f51.google.com with SMTP id x128so12656864ite.0;
Sat, 03 Feb 2018 13:48:11 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
h=sender:from:to:cc:subject:references:date:in-reply-to:message-id
:user-agent:mime-version;
bh=nHGpQKeOtTmaayQOa0nv8iuSI93TqI6zLtTWjFpSBRM=;
b=i4yphGQT5ae/dWxKUYB9XW/03EcUpuCFeyb7uoP9ynQTmO9+sE9WK0j/K0rPNTgc1N
PD0ywP7BpOmOSmDbgygqJzaZdYUZZwEkPxY6LMs4Z4MXhSIs1xQCQ7HNS1oTCGm7vAkX
9Kat1nxgStTrjaEezZC/FTTwLlgedumfbSVeBu+WrNp4lDd74cDLFIIPvP1NmZqD7J0B
5qwAK3eR7rhHF+ewl7608oU+MaKfdYDsz4SdTQi6ASMT9w70TCLPght8c+TpIeUqJBQi
14T2PnXC/KA9P7c6Le0/NsrstwJCPuqyexKgkMyjFqFcbg4udpMYLeU+/AkBywFrsARl
7oSg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20161025;
h=x-gm-message-state:sender:from:to:cc:subject:references:date
:in-reply-to:message-id:user-agent:mime-version;
bh=nHGpQKeOtTmaayQOa0nv8iuSI93TqI6zLtTWjFpSBRM=;
b=kw9SUBJ0Uj7EfzsI5OVicJ0OPHSQlgVsTidSx9thDiMCRjS2++Fhri2zwge6dLFyyv
Y3sWL5WYQVtwfXMB128qUi79eCU7M568Pb4D9f52suCAkwBBrU6R3wBbEqH85N/5R7OK
rGlOKg2x/GSaoMDF9pbQz/KMAZpstB8+2vYjG3WKa1S2RVIMJsdWzYcflmZogpgDLgre
/yBiF/IRUXxJjM1s6S5/JRgBONvJzPggqhe9L559zVa7dZVThIwGnSQsRcoN/1fSDCI4
ezSN+Znr4QP3FH/tr1W4136MJVstE/iMshrI9E/MEoryEYl85jU3vgOBqJ3jr9F9Xabu
HoVA==
X-Gm-Message-State: AKwxytcBuVRtZGvV1dmU418jac79NmAd2rg5NdCyOMzypaPu+YHc5YzI
iTgpuTAo+tgqQTox/bH8juVuBA==
X-Google-Smtp-Source: AH8x225ojMKj5nxsPMvxyMYAgwDsMQaRK9P9J6hQcWmnQSCLkQ7Y51zSrpPhs+vW8tjCUvljvBgH3A==
X-Received: by 10.36.178.26 with SMTP id u26mr31561449ite.4.1517694485314;
Sat, 03 Feb 2018 13:48:05 -0800 (PST)
Received: from zebian (cbl-45-2-119-34.yyz.frontiernetworks.ca. [45.2.119.34])
by smtp.googlemail.com with ESMTPSA id
k68sm3317724itc.12.2018.02.03.13.48.03
(version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256);
Sat, 03 Feb 2018 13:48:04 -0800 (PST)
From: Noam Postavsky
References: <83y3ksspp9.fsf@gnu.org>
<83shawzi0y.fsf@gnu.org>
Date: Sat, 03 Feb 2018 16:48:03 -0500
In-Reply-To: <83shawzi0y.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 23 Jan
2018 17:55:41 +0200")
Message-ID: <87h8qxg2y4.fsf@users.sourceforge.net>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.90 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.5 (/)
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id:
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: debbugs-submit-bounces@debbugs.gnu.org
Sender: "Debbugs-submit"
X-Spam-Score: 0.5 (/)
tags 30005 fixed
close 30005 27.1
quit
Eli Zaretskii writes:
>> From: Philipp Stephani
>> Date: Mon, 22 Jan 2018 22:25:39 +0000
>> Cc: 30005@debbugs.gnu.org
>>
>> Does the patch below look right, and give good results?
>>
>> Yes, thanks. Just some minor nits inline to make the code shorter.
>
> Thanks for the review. I eventually pushed the changes
Closing.
[1: 6d836771da]: 2018-01-23 17:48:08 +0200
Support null characters in interactive specs
https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=6d836771da7e9a6a67fcd18e52dd16de1cdc154e