GNU bug report logs - #70988
(read FUNCTION) uses Latin-1 [PATCH]

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Reported by: Mattias Engdegård <mattias.engdegard@HIDDEN>; Keywords: patch; dated Thu, 16 May 2024 18:14:01 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

Message received at 70988 <at> debbugs.gnu.org:


Received: (at 70988) by debbugs.gnu.org; 17 May 2024 17:09:27 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri May 17 13:09:27 2024
Received: from localhost ([127.0.0.1]:56239 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1s815D-0004Cm-0m
	for submit <at> debbugs.gnu.org; Fri, 17 May 2024 13:09:27 -0400
Received: from mail-lf1-f54.google.com ([209.85.167.54]:45306)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <mattias.engdegard@HIDDEN>) id 1s815B-0004Bq-P7
 for 70988 <at> debbugs.gnu.org; Fri, 17 May 2024 13:09:26 -0400
Received: by mail-lf1-f54.google.com with SMTP id
 2adb3069b0e04-51f2ebbd8a7so2795206e87.2
 for <70988 <at> debbugs.gnu.org>; Fri, 17 May 2024 10:09:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1715965697; x=1716570497; darn=debbugs.gnu.org;
 h=to:references:message-id:content-transfer-encoding:cc:date
 :in-reply-to:from:subject:mime-version:sender:from:to:cc:subject
 :date:message-id:reply-to;
 bh=cMem+VUmFnLOtC5CHR1mAmg8csBzq41/14DGUnnpirk=;
 b=YXD7nGYSYRMUK9Fc7oJKw9bwnzRdgJsTB9pnIRR02pImLM10kBWMra+iHf5g4Fn9kE
 tHN4rTfganiUSN290N0NimXOjIHfIhCnyw3seJjuxbSjejVqaN4GSOL3pY2lMXUBBqQy
 JNHxWDbAfjZW2itCjV0PfNBHscf92F7+LiU+FqX3xXdObDw4EKvsUrseyBMFFfa7Vtlx
 e8sBnf1MtLNHo2B2j+RPxiBriXys2qI2Ssj1pPntbAW6aqUOHjVienrx67k9F2ztyR57
 Hj14TYKFeHb50ksTiOom0F0DipRW4MWY3Y948nudwijzW3wzAN//mezcEPpXA/SomN9H
 lOsg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1715965697; x=1716570497;
 h=to:references:message-id:content-transfer-encoding:cc:date
 :in-reply-to:from:subject:mime-version:sender:x-gm-message-state
 :from:to:cc:subject:date:message-id:reply-to;
 bh=cMem+VUmFnLOtC5CHR1mAmg8csBzq41/14DGUnnpirk=;
 b=RCinhl2F53NeWRxrlTzKawyBOLg4LwyDaQ12Jxtrj8IYbOrYgn5D1LJ15vIy1kThF4
 iGzVehiyqZbVkiSGL+AxMEVj2vhtSq7awlLQ9OUkLcLy9RLGjITglhTSJh7+MMcYZ25M
 KREV4472CcOGYL+Ig5hFIURxPeZcHBrk7/5nEhok7wGvzWkQybe1BAtDsYWUybxiuW5o
 SJVbaHQqLPJ/zp0exOoyE+/3flYOWyDc3nLdvf2hqz6d+CyVMcHskbfoFSgK5yW9XB/i
 LKW/d9A1qN9n3v/RSBeGqNFUwCDX0vQqMDhHLWe/O7sQA925CDxNGZr8ByIGL5JdFtcD
 Pcjg==
X-Gm-Message-State: AOJu0YzQiR2one/UiNx43xWzZln37E4z6U25Uv5FEnPiRdWS0SuEInik
 s9XxFdR1skB7w4zE6rXTm/EPqD09l3D18FZbvZVu1YyaFBZM8tAD
X-Google-Smtp-Source: AGHT+IFd7vD4L5YLK5vKH5BZaodPofsIO7ey8+rtizceDnctrAXF2axv6c8ywN7OITZrC9YChu19WQ==
X-Received: by 2002:a05:6512:32ae:b0:523:8a14:9149 with SMTP id
 2adb3069b0e04-5238a1491b0mr6251486e87.21.1715965696554; 
 Fri, 17 May 2024 10:08:16 -0700 (PDT)
Received: from smtpclient.apple (c80-217-1-132.bredband.tele2.se.
 [80.217.1.132]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-521f38d8b44sm3376307e87.209.2024.05.17.10.08.16
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Fri, 17 May 2024 10:08:16 -0700 (PDT)
Content-Type: text/plain;
	charset=us-ascii
Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.15\))
Subject: Re: bug#70988: (read FUNCTION) uses Latin-1 [PATCH]
From: =?utf-8?Q?Mattias_Engdeg=C3=A5rd?= <mattias.engdegard@HIDDEN>
In-Reply-To: <8634qghg2j.fsf@HIDDEN>
Date: Fri, 17 May 2024 19:08:15 +0200
Content-Transfer-Encoding: quoted-printable
Message-Id: <74B41A66-5B3C-4A09-A5F4-A389464BDA27@HIDDEN>
References: <37B5B5D0-9C0B-4E1C-9F3C-6CA647612E08@HIDDEN>
 <86seyhh9uv.fsf@HIDDEN> <E13B82E6-8A2F-4D1B-B0A0-8D251270685F@HIDDEN>
 <86le49h6sm.fsf@HIDDEN> <BBC28443-929B-4EE8-8773-984C5CD948CA@HIDDEN>
 <8634qghg2j.fsf@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
X-Mailer: Apple Mail (2.3654.120.0.1.15)
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 70988
Cc: 70988 <at> debbugs.gnu.org, monnier@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

17 maj 2024 kl. 12.45 skrev Eli Zaretskii <eliz@HIDDEN>:

>>>>> Is it an accident that the code does the same only _after_ the =
call to
>>>>> readbyte?
>>>>=20
>>>> Yes, I have no reason to believe otherwise.
>>>=20
>>> To me, it actually looks as done on purpose.
>>=20
>> You could very well be right about that. What I meant is that the =
order doesn't matter at all.
>=20
> Doesn't it affect what the readbyte call does?

No -- the `*multibyte =3D ...` assignment is just an extra return value, =
which indicates whether the returned values come from a unibyte or =
multibyte source. For any given source (READCHARFUN, in the terminology =
of lread.c), the characters will all be unibyte or multibyte, so this =
returned `multibyte` flag will typically only be used once by the caller =
and saved for future reference.

But you are right to question it because lread.c is a royal mess and =
many changes have not been made in a clean way. It is unclear whether =
it's worth returning the `multibyte` flag at all; it's only used in =
special cases.







Information forwarded to bug-gnu-emacs@HIDDEN:
bug#70988; Package emacs. Full text available.

Message received at 70988 <at> debbugs.gnu.org:


Received: (at 70988) by debbugs.gnu.org; 17 May 2024 10:48:21 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri May 17 06:48:21 2024
Received: from localhost ([127.0.0.1]:54476 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1s7v8P-00053u-3L
	for submit <at> debbugs.gnu.org; Fri, 17 May 2024 06:48:21 -0400
Received: from eggs.gnu.org ([209.51.188.92]:47900)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1s7v8M-00053b-Tm
 for 70988 <at> debbugs.gnu.org; Fri, 17 May 2024 06:48:19 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1s7v66-00009c-Oh; Fri, 17 May 2024 06:45:58 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
 Date; bh=Vpdii4anCedPOBeN+wrwEJG+fbfiUCbKuIKW6QbpXSM=; b=JLXU/5SiFo745zP/ephu
 NTeyUsiAtcLm8mkCxP8+xrBGV/sJnEFea+cHU4YAm8um0aWOl4y9DuGV21NqrniZe6iz1Q+t7EpFG
 S0YcX9xY2QC+sEJBmA21/GDNoKK9rfJxT5TbLKD51/2ghV62JEPi1HkEuheIY38hOrB8LePP8beJZ
 7JcR9Uhx40268BQivH/FaYZN0TxblocbIvb0B6ONeCcD3M2LrcElZxm7nuaPikGgaspAqotrR3Sjd
 7BPr1DcQLCSvOOwiwx7x7e0ynUZL+S47UuCQ4rf4L3aLAOD9vQog8oQbrp9cb/1UqSSlXzxa5F/WM
 ALelADJDTSDSrw==;
Date: Fri, 17 May 2024 13:45:56 +0300
Message-Id: <8634qghg2j.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Mattias =?utf-8?Q?Engdeg=C3=A5rd?= <mattias.engdegard@HIDDEN>
In-Reply-To: <BBC28443-929B-4EE8-8773-984C5CD948CA@HIDDEN> (message from
 Mattias =?utf-8?Q?Engdeg=C3=A5rd?= on Fri, 17 May 2024 10:08:58 +0200)
Subject: Re: bug#70988: (read FUNCTION) uses Latin-1 [PATCH]
References: <37B5B5D0-9C0B-4E1C-9F3C-6CA647612E08@HIDDEN>
 <86seyhh9uv.fsf@HIDDEN> <E13B82E6-8A2F-4D1B-B0A0-8D251270685F@HIDDEN>
 <86le49h6sm.fsf@HIDDEN> <BBC28443-929B-4EE8-8773-984C5CD948CA@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 70988
Cc: 70988 <at> debbugs.gnu.org, monnier@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Mattias Engdegård <mattias.engdegard@HIDDEN>
> Date: Fri, 17 May 2024 10:08:58 +0200
> Cc: 70988 <at> debbugs.gnu.org,
>  monnier@HIDDEN
> 
> 16 maj 2024 kl. 21.54 skrev Eli Zaretskii <eliz@HIDDEN>:
> 
> >>> Is it an accident that the code does the same only _after_ the call to
> >>> readbyte?
> >> 
> >> Yes, I have no reason to believe otherwise.
> > 
> > To me, it actually looks as done on purpose.
> 
> You could very well be right about that. What I meant is that the order doesn't matter at all.

Doesn't it affect what the readbyte call does?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#70988; Package emacs. Full text available.

Message received at 70988 <at> debbugs.gnu.org:


Received: (at 70988) by debbugs.gnu.org; 17 May 2024 08:10:14 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri May 17 04:10:14 2024
Received: from localhost ([127.0.0.1]:53836 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1s7sfO-00037e-54
	for submit <at> debbugs.gnu.org; Fri, 17 May 2024 04:10:14 -0400
Received: from mail-lj1-f169.google.com ([209.85.208.169]:44317)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <mattias.engdegard@HIDDEN>) id 1s7sfI-00037V-O3
 for 70988 <at> debbugs.gnu.org; Fri, 17 May 2024 04:10:13 -0400
Received: by mail-lj1-f169.google.com with SMTP id
 38308e7fff4ca-2e4b90b03a9so18668821fa.1
 for <70988 <at> debbugs.gnu.org>; Fri, 17 May 2024 01:10:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1715933340; x=1716538140; darn=debbugs.gnu.org;
 h=to:references:message-id:content-transfer-encoding:cc:date
 :in-reply-to:from:subject:mime-version:sender:from:to:cc:subject
 :date:message-id:reply-to;
 bh=BDwUzo/+a295j5JeqNJ6jIDTlIIXiO6spdnXijMjKFg=;
 b=gmfiCtK9KkCC2k4TXeMS5A53o4q0SalFogfBLN+Y3Xe3U0jEPhmt9MmkGTaFI5PwCl
 8x1AEo0nQZW2cqq0WaKQ5Qr9Ci+VDmcc+oNgitUI2aibua+hoy1B/hSryCZ2Om64V/x+
 VVOo/0nOaQRVswkRqoXbPSSEAubvVSFjPKnmpqGc+ay3WYVbuhlIQ+D8tXBQiXocSsfj
 Gxxo7CSTuOQxchg/yvr1tEhu+rQ/iIxhL8d1SB1hvjcGXaQcV+eaCR9zWZGbOr/kp5e7
 XoarEAhuQQEl0wHrihKiY//MjuKRmZEcgJ/kvso3B9xdnQ8QOFpP+N46tA/5hY8KIp1V
 45oQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1715933340; x=1716538140;
 h=to:references:message-id:content-transfer-encoding:cc:date
 :in-reply-to:from:subject:mime-version:sender:x-gm-message-state
 :from:to:cc:subject:date:message-id:reply-to;
 bh=BDwUzo/+a295j5JeqNJ6jIDTlIIXiO6spdnXijMjKFg=;
 b=FJsX4W4QkmGCJ9IA8YTfSqM+EgZPdpr6kdZsxEjov/jkUEuTV+CA6ypCVo/XNfzgj4
 noGIb9PkpKNS4JRQcUMRC6HYUtUn8fvsUKOVywq2cs3Kl2T3dL6QyZAsD4pqrwzpVFPw
 R+trfb6obehzfesayq3dkLuCR/nUtnR16Nzm4ce65b7soNd2B6j6Mf1Vsu6UvJHqMRZE
 e8WUoYnVWp8/rADhqtm18n8JM/xWRDwKZuVsOKEhZIwcj4hpV7uePIvFPLN4Tz15CTHA
 /7DIF5OnPKte1PAwOclN4/T4mlDMURzMnVfG5QxuAK7+ik//sIllhwJHuW9kiZ8qNXjl
 hn1g==
X-Gm-Message-State: AOJu0YyDLhZA5Khe2GbgrjTvhZKDr44CcbIgQ2pTXwFLjrZ8UtrZK1mc
 OLzzyzjNCurzkiDk3fF+ULLc7zcBUyhF6A83l6GJjE0cO0csp7Cn
X-Google-Smtp-Source: AGHT+IHoT9oZ5+AQCoL6QpAPQl5bHGHM0ni3FAbwop1vi3Wff7E727nsX1RTQm+DxGtsRm+SkdSMtQ==
X-Received: by 2002:a2e:98cf:0:b0:2e2:b61:aa97 with SMTP id
 38308e7fff4ca-2e5204cce6fmr143761651fa.48.1715933339811; 
 Fri, 17 May 2024 01:08:59 -0700 (PDT)
Received: from smtpclient.apple (c80-217-1-132.bredband.tele2.se.
 [80.217.1.132]) by smtp.gmail.com with ESMTPSA id
 38308e7fff4ca-2e6e5037e94sm9543631fa.52.2024.05.17.01.08.58
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Fri, 17 May 2024 01:08:59 -0700 (PDT)
Content-Type: text/plain;
	charset=us-ascii
Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.15\))
Subject: Re: bug#70988: (read FUNCTION) uses Latin-1 [PATCH]
From: =?utf-8?Q?Mattias_Engdeg=C3=A5rd?= <mattias.engdegard@HIDDEN>
In-Reply-To: <86le49h6sm.fsf@HIDDEN>
Date: Fri, 17 May 2024 10:08:58 +0200
Content-Transfer-Encoding: quoted-printable
Message-Id: <BBC28443-929B-4EE8-8773-984C5CD948CA@HIDDEN>
References: <37B5B5D0-9C0B-4E1C-9F3C-6CA647612E08@HIDDEN>
 <86seyhh9uv.fsf@HIDDEN> <E13B82E6-8A2F-4D1B-B0A0-8D251270685F@HIDDEN>
 <86le49h6sm.fsf@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
X-Mailer: Apple Mail (2.3654.120.0.1.15)
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 70988
Cc: 70988 <at> debbugs.gnu.org, monnier@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

16 maj 2024 kl. 21.54 skrev Eli Zaretskii <eliz@HIDDEN>:

>>> Is it an accident that the code does the same only _after_ the call =
to
>>> readbyte?
>>=20
>> Yes, I have no reason to believe otherwise.
>=20
> To me, it actually looks as done on purpose.

You could very well be right about that. What I meant is that the order =
doesn't matter at all.





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#70988; Package emacs. Full text available.

Message received at 70988 <at> debbugs.gnu.org:


Received: (at 70988) by debbugs.gnu.org; 16 May 2024 19:54:14 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu May 16 15:54:14 2024
Received: from localhost ([127.0.0.1]:50666 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1s7hB8-00036O-1T
	for submit <at> debbugs.gnu.org; Thu, 16 May 2024 15:54:14 -0400
Received: from eggs.gnu.org ([209.51.188.92]:34504)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1s7hB5-00036G-NT
 for 70988 <at> debbugs.gnu.org; Thu, 16 May 2024 15:54:12 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1s7hAy-0003I3-0B; Thu, 16 May 2024 15:54:04 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
 Date; bh=DkVuF7ZYZ/mECwjWw7xhUZo/iSF3LY/unfoD6jR8S20=; b=U3lv4I9OEgZZD6ajpvo7
 oOuyRfQoU4Qq85X/me+i+CclgocRsxFTzvrHtZ+HpDpbWJVxFjAB2WtvEcIdxPiwZADzn2Zmatais
 2T2w/ms8LcE4dO0cVmOiWKVX0TQRt/DpViQZ5lGl12EEX290D44sJylk0tbVDn1ffXY9Ttfkjg/LD
 MN16zCeHq7wpauXH/UdGjQGgDizcf8QDasVL6K+as6E48Z0NRCZI1w6KvUoVaLj+LI947hR0nCFrq
 KD8VoxtofifxC4WDn70FSkqSKW6mNFd4uNE1CkxMuAeyGWbYvkyAyrZIjkUDYpl1ZUfex4VoZa//d
 /M0xZSmV8SA1ew==;
Date: Thu, 16 May 2024 22:54:01 +0300
Message-Id: <86le49h6sm.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Mattias =?utf-8?Q?Engdeg=C3=A5rd?= <mattias.engdegard@HIDDEN>
In-Reply-To: <E13B82E6-8A2F-4D1B-B0A0-8D251270685F@HIDDEN> (message from
 Mattias =?utf-8?Q?Engdeg=C3=A5rd?= on Thu, 16 May 2024 21:45:56 +0200)
Subject: Re: bug#70988: (read FUNCTION) uses Latin-1 [PATCH]
References: <37B5B5D0-9C0B-4E1C-9F3C-6CA647612E08@HIDDEN>
 <86seyhh9uv.fsf@HIDDEN> <E13B82E6-8A2F-4D1B-B0A0-8D251270685F@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 70988
Cc: 70988 <at> debbugs.gnu.org, monnier@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Mattias Engdegård <mattias.engdegard@HIDDEN>
> Date: Thu, 16 May 2024 21:45:56 +0200
> Cc: 70988 <at> debbugs.gnu.org,
>  monnier@HIDDEN
> 
> > Is it an accident that the code does the same only _after_ the call to
> > readbyte?
> 
> Yes, I have no reason to believe otherwise.

To me, it actually looks as done on purpose.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#70988; Package emacs. Full text available.

Message received at 70988 <at> debbugs.gnu.org:


Received: (at 70988) by debbugs.gnu.org; 16 May 2024 19:47:16 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu May 16 15:47:16 2024
Received: from localhost ([127.0.0.1]:50618 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1s7h4K-00031s-8d
	for submit <at> debbugs.gnu.org; Thu, 16 May 2024 15:47:16 -0400
Received: from mail-lf1-f42.google.com ([209.85.167.42]:52435)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <mattias.engdegard@HIDDEN>) id 1s7h4E-00031a-SF
 for 70988 <at> debbugs.gnu.org; Thu, 16 May 2024 15:47:10 -0400
Received: by mail-lf1-f42.google.com with SMTP id
 2adb3069b0e04-52388d9ca98so2280988e87.0
 for <70988 <at> debbugs.gnu.org>; Thu, 16 May 2024 12:47:04 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1715888758; x=1716493558; darn=debbugs.gnu.org;
 h=to:references:message-id:content-transfer-encoding:cc:date
 :in-reply-to:from:subject:mime-version:sender:from:to:cc:subject
 :date:message-id:reply-to;
 bh=zTO8RNwfZEG/9W0EWHsalnvGBH+Mi3uxXkLUvFqvt74=;
 b=ULFxohlgIY6DJHpOR7yzht4XEYUUCrUXs93EDWplmpDqPO+3ZxRAp/HKtoGtbg6qYY
 fqV7AkPi2J85ZcMEb3Qt/wwmeBx+u8Q1FOZBbddHauGT4PCFrQdwFhlbWtO4SY7qD7jS
 41lb6j7u4N+5HKY797SNIw/9K1z93sVJamGPjX3UzvNxXwOXPhI7bE1O4QkVcQEesyML
 ySpbnGWTDO9jtoT+67jmpf/0uzWHKH5Odu1yKC0anh/sR7+wCInnvw5KW+QIk9alXsd8
 VF224+pzyzHqLYWzhzojbYKCEYXb9JVUEo+LwnIp+xXxq746+2DKtNRW52YOMcHIKswL
 lZjg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1715888758; x=1716493558;
 h=to:references:message-id:content-transfer-encoding:cc:date
 :in-reply-to:from:subject:mime-version:sender:x-gm-message-state
 :from:to:cc:subject:date:message-id:reply-to;
 bh=zTO8RNwfZEG/9W0EWHsalnvGBH+Mi3uxXkLUvFqvt74=;
 b=dYHZyDG2nssN9CfjdtEaHODI3IFzquDfF/LIauiRPX0iemcleZePRWfRx4X5FX1pGp
 1+35ZNaNLjcsO1cDnF/Z921eHatCMggeqjyWtfOQxiJj4+e0If1AyVhMoiPGF2UE85Us
 9g5P/lOMRtDp90UkAtkoVYCDOc1EL8il43V7xh9L21kNrjkLCTdiOxZp1aPg1QEr2XWp
 ol6PpWBXZA3tFj6iAJrg+Hwwv3OKETIQKTtGMAKYPNB3TJD2KcKpqhA0PFIx1JWEcGnE
 l+ZRa2EJnj7y97TrvHwhT9DUpMjXOsf1f5/rqXnmuo3fiKXfQVUaj7oUPB80h//0KTtg
 5LSQ==
X-Gm-Message-State: AOJu0Yxp93fXwtxLZMuRNO7KdQhPJmGNvc7wwXH5YceJFUuA9uxkK2hQ
 0mIhU1L8yKqOksfHN08alL9gqUktfmuMxGbpqsTyL0XH97pg5wuh
X-Google-Smtp-Source: AGHT+IFdTvxvsZtZSbKRmXv1Sexj3vyxBO8xXZmo9ObEU7NzMmk9cmtK57eiZRV+W7bCCQ9H/OkJNw==
X-Received: by 2002:ac2:4c85:0:b0:51f:5d1a:b320 with SMTP id
 2adb3069b0e04-5221047585dmr14920154e87.68.1715888758306; 
 Thu, 16 May 2024 12:45:58 -0700 (PDT)
Received: from smtpclient.apple (c80-217-1-132.bredband.tele2.se.
 [80.217.1.132]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-521f35ba59bsm3049807e87.65.2024.05.16.12.45.57
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Thu, 16 May 2024 12:45:57 -0700 (PDT)
Content-Type: text/plain;
	charset=us-ascii
Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.15\))
Subject: Re: bug#70988: (read FUNCTION) uses Latin-1 [PATCH]
From: =?utf-8?Q?Mattias_Engdeg=C3=A5rd?= <mattias.engdegard@HIDDEN>
In-Reply-To: <86seyhh9uv.fsf@HIDDEN>
Date: Thu, 16 May 2024 21:45:56 +0200
Content-Transfer-Encoding: quoted-printable
Message-Id: <E13B82E6-8A2F-4D1B-B0A0-8D251270685F@HIDDEN>
References: <37B5B5D0-9C0B-4E1C-9F3C-6CA647612E08@HIDDEN>
 <86seyhh9uv.fsf@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
X-Mailer: Apple Mail (2.3654.120.0.1.15)
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 70988
Cc: 70988 <at> debbugs.gnu.org, monnier@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

16 maj 2024 kl. 20.47 skrev Eli Zaretskii <eliz@HIDDEN>:

> When is this situation relevant?  How many uses of
> function-as-a-stream are there out there?

Not many is my guess, which is perhaps why it wasn't found before.
I'm doing some performance work on the reader, and quirks in the code =
like these become obvious.

> Is it an accident that the code does the same only _after_ the call to
> readbyte?

Yes, I have no reason to believe otherwise.





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#70988; Package emacs. Full text available.

Message received at 70988 <at> debbugs.gnu.org:


Received: (at 70988) by debbugs.gnu.org; 16 May 2024 18:48:07 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu May 16 14:48:07 2024
Received: from localhost ([127.0.0.1]:50351 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1s7g99-0002Jy-56
	for submit <at> debbugs.gnu.org; Thu, 16 May 2024 14:48:07 -0400
Received: from eggs.gnu.org ([209.51.188.92]:41950)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1s7g94-0002JR-Uw
 for 70988 <at> debbugs.gnu.org; Thu, 16 May 2024 14:48:05 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1s7g8x-0005HX-4V; Thu, 16 May 2024 14:47:55 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
 Date; bh=WuSDusavepW5zeVFHFNG9WEzTnEyFCXmTpez/9Br28E=; b=jy9tcBcbSz1M3UajjfFL
 sZvySlfKhpp/4XB/v329PQtTHSUsMLGxZntAXhPdD49uYuClfHoQPNmaLOgIR2zEhlDhy2grPUh17
 /T6Grw9uf/a4TeHEpHvqDkjyt5RfeFDeeb4LbhH+Bfq2Q3x2Y644Hl3aAaT4D7F3vV9+K57fvYo9P
 C1fiTklf3Sbm0ttuZHlA82YhcQUBozrCHDOih5+mjtrzs8sRVHrX+5GG5ff7/KJ1zORGP7zdw9rB1
 ym9sIfX1Ih70ncxLxhY5zGwWtZxQWpENpwUcYBNikE2jS8UsKNV+/Vt8hjtoayjzG8qRWON2zrByM
 SLECUV//AWuX/g==;
Date: Thu, 16 May 2024 21:47:52 +0300
Message-Id: <86seyhh9uv.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Mattias =?utf-8?Q?Engdeg=C3=A5rd?= <mattias.engdegard@HIDDEN>
In-Reply-To: <37B5B5D0-9C0B-4E1C-9F3C-6CA647612E08@HIDDEN> (message from
 Mattias =?utf-8?Q?Engdeg=C3=A5rd?= on Thu, 16 May 2024 20:13:18 +0200)
Subject: Re: bug#70988: (read FUNCTION) uses Latin-1 [PATCH]
References: <37B5B5D0-9C0B-4E1C-9F3C-6CA647612E08@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 70988
Cc: 70988 <at> debbugs.gnu.org, monnier@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> Cc: Stefan Monnier <monnier@HIDDEN>
> From: Mattias Engdegård <mattias.engdegard@HIDDEN>
> Date: Thu, 16 May 2024 20:13:18 +0200
> 
> When `read` is called with a function as stream argument, the return values of that function are often interpreted as Latin-1 characters with only the 8 low bits used. Example:
> 
> (let* ((next '(?A #x12a nil))
>        (f (lambda (&rest args)
>             (if args
>                 (push (car args) next)
>               (pop next)))))
>   (read f))
> => A*   ; expected: AĪ
> 
> This is a result of `readchar` setting *multibyte to 0 on this code path.

When is this situation relevant?  How many uses of
function-as-a-stream are there out there?

In general, I wouldn't touch these rare cases with a 3-mile pole.  The
gain is generally very small (satisfaction from some abstract sense of
correctness aside), while the risk to break some code is usually high.
It is better to document this behavior and move on.

> The fix is straightforward (attached).
> 
> diff --git a/src/lread.c b/src/lread.c
> index c92b2ede932..2626272c4e2 100644
> --- a/src/lread.c
> +++ b/src/lread.c
> @@ -422,6 +422,8 @@ readchar (Lisp_Object readcharfun, bool *multibyte)
>        goto read_multibyte;
>      }
>  
> +  if (multibyte)
> +    *multibyte = 1;
>    tem = call0 (readcharfun);

Is it an accident that the code does the same only _after_ the call to
readbyte?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#70988; Package emacs. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 16 May 2024 18:13:42 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu May 16 14:13:42 2024
Received: from localhost ([127.0.0.1]:50161 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1s7fbq-0001qD-4K
	for submit <at> debbugs.gnu.org; Thu, 16 May 2024 14:13:42 -0400
Received: from lists.gnu.org ([209.51.188.17]:51594)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <mattias.engdegard@HIDDEN>) id 1s7fbl-0001q7-7k
 for submit <at> debbugs.gnu.org; Thu, 16 May 2024 14:13:41 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <mattias.engdegard@HIDDEN>)
 id 1s7fbi-0005ZH-Fp
 for bug-gnu-emacs@HIDDEN; Thu, 16 May 2024 14:13:34 -0400
Received: from mail-lj1-x22b.google.com ([2a00:1450:4864:20::22b])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <mattias.engdegard@HIDDEN>)
 id 1s7fbW-0005Gt-2e
 for bug-gnu-emacs@HIDDEN; Thu, 16 May 2024 14:13:33 -0400
Received: by mail-lj1-x22b.google.com with SMTP id
 38308e7fff4ca-2e3e18c24c1so12557171fa.1
 for <bug-gnu-emacs@HIDDEN>; Thu, 16 May 2024 11:13:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1715883200; x=1716488000; darn=gnu.org;
 h=to:cc:date:message-id:subject:mime-version:from:sender:from:to:cc
 :subject:date:message-id:reply-to;
 bh=NsCLKWBALa4YtKzEy2+S9ageaZN3CXP1MrTdqWzs2KI=;
 b=IkSYYLrJSKqTFe5fiLHHcvHOAoKGdydOtiLUOPIrCsqd11zV1jiOQQzZfii7S575nt
 YqhNhYGN8/DvhXELMam8KyLtJyMH1YCYoreUd+EMla7akJlFvErf32EVzHHkq+jSAEf1
 5pmT/yXgGu1QgdhupaX2laWFCHowM0WiYZxKptx6YzwLdbSOjfsNyselaTDxyYX6Z8Su
 MpGYn0pI6RXkN3MfzbLH5oAnR878inXh+0IpX76PfIThz5/xQzFapokGsTcJV6wZgJdG
 T07f8oZZZFKTW5tMfN0xDqFA1QXwPLGjs9vSyB/e2LJbs0PX/g9bDR5uLw+ylyGI4VNv
 Hpyw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1715883200; x=1716488000;
 h=to:cc:date:message-id:subject:mime-version:from:sender
 :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=NsCLKWBALa4YtKzEy2+S9ageaZN3CXP1MrTdqWzs2KI=;
 b=NCB2OW++XlQobglAXErmJ5KYpG1JaTOm3NKkKmpK9aXh2qu0bI0QHAJ5uIC49iUg+p
 b9mZniUjBtqkm14wa/QQvEvjA5IXyuTM7vEDvDxRtSne42bp/erJeohxd8xcaqt/+KjP
 LE/BZzvtJUn/431UZU61ltzM3UC+WMGkZoafdDQvqfJ1Mnd/xjq5hjp2lRLmf7WS1JsS
 1f7MRoskQXfxclXKgT3swsBrSlhqJpjlVOr+M+rDpqUFd6Wpnv6i6cqZJCEARJevssJy
 8f5s0qqY+TziISesFaddbBOu5HORkzZtBLwi4nDT6wBB/f3CXD5iuDutw7LXzVjlrGnB
 uQsw==
X-Gm-Message-State: AOJu0YxsO0n7YHQJp2fLLMqAaBEKOpUKWuF5ruhDzA2O6xOZlzWSIK4j
 Q9LxNI13UaBTyRhnLQJ31T5zpI3uU5jktvuZde4oPV7cj6jxVvcq5wHm+g==
X-Google-Smtp-Source: AGHT+IG1uY5pMMTqEBlASy7TlgdfDXzcfXukOSQfzpmpI1mtW0N+jvb+KcNDw7kYavcH1/4tTVg9ZQ==
X-Received: by 2002:a05:6512:3d19:b0:51a:b110:3214 with SMTP id
 2adb3069b0e04-5221007029cmr15444321e87.49.1715883199401; 
 Thu, 16 May 2024 11:13:19 -0700 (PDT)
Received: from smtpclient.apple (c80-217-1-132.bredband.tele2.se.
 [80.217.1.132]) by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-523b261ad51sm458599e87.224.2024.05.16.11.13.18
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Thu, 16 May 2024 11:13:19 -0700 (PDT)
From: =?utf-8?Q?Mattias_Engdeg=C3=A5rd?= <mattias.engdegard@HIDDEN>
Content-Type: multipart/mixed;
 boundary="Apple-Mail=_2685EA9B-3ACD-4D1D-81B9-D9031379C60E"
Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.15\))
Subject: (read FUNCTION) uses Latin-1 [PATCH]
Message-Id: <37B5B5D0-9C0B-4E1C-9F3C-6CA647612E08@HIDDEN>
Date: Thu, 16 May 2024 20:13:18 +0200
To: Emacs Bug Report <bug-gnu-emacs@HIDDEN>
X-Mailer: Apple Mail (2.3654.120.0.1.15)
Received-SPF: pass client-ip=2a00:1450:4864:20::22b;
 envelope-from=mattias.engdegard@HIDDEN; helo=mail-lj1-x22b.google.com
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001,
 SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.3 (-)
X-Debbugs-Envelope-To: submit
Cc: Stefan Monnier <monnier@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.3 (--)


--Apple-Mail=_2685EA9B-3ACD-4D1D-81B9-D9031379C60E
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8

When `read` is called with a function as stream argument, the return =
values of that function are often interpreted as Latin-1 characters with =
only the 8 low bits used. Example:

(let* ((next '(?A #x12a nil))
       (f (lambda (&rest args)
            (if args
                (push (car args) next)
              (pop next)))))
  (read f))
=3D> A*   ; expected: A=C4=AA

This is a result of `readchar` setting *multibyte to 0 on this code =
path.

The reader is not very consistent: inside string and character literals, =
the code seems to work as expected.

The fix is straightforward (attached).


--Apple-Mail=_2685EA9B-3ACD-4D1D-81B9-D9031379C60E
Content-Disposition: attachment;
	filename=read-from-function.diff
Content-Type: application/octet-stream;
	x-unix-mode=0644;
	name="read-from-function.diff"
Content-Transfer-Encoding: quoted-printable

diff=20--git=20a/src/lread.c=20b/src/lread.c=0Aindex=20=
c92b2ede932..2626272c4e2=20100644=0A---=20a/src/lread.c=0A+++=20=
b/src/lread.c=0A@@=20-422,6=20+422,8=20@@=20readchar=20(Lisp_Object=20=
readcharfun,=20bool=20*multibyte)=0A=20=20=20=20=20=20=20goto=20=
read_multibyte;=0A=20=20=20=20=20}=0A=20=0A+=20=20if=20(multibyte)=0A+=20=
=20=20=20*multibyte=20=3D=201;=0A=20=20=20tem=20=3D=20call0=20=
(readcharfun);=0A=20=0A=20=20=20if=20(NILP=20(tem))=0Adiff=20--git=20=
a/test/src/lread-tests.el=20b/test/src/lread-tests.el=0Aindex=20=
cc17f7eb3fa..41c9256a9bf=20100644=0A---=20a/test/src/lread-tests.el=0A=
+++=20b/test/src/lread-tests.el=0A@@=20-387,4=20+387,19=20@@=20=
lread-skip-to-eof=0A=20=20=20=20=20(goto-char=20(point-min))=0A=20=20=20=20=
=20(should-error=20(read=20(current-buffer))=20:type=20'end-of-file)))=0A=
=20=0A+(ert-deftest=20lread-from-function=20()=0A+=20=20;;=20Test=20=
reading=20from=20a=20stream=20defined=20by=20a=20function.=0A+=20=20(let=20=
((make-reader=20(lambda=20(chars)=0A+=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20(lambda=20(&rest=20args)=0A+=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(if=20=
args=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20(push=20(car=20args)=20chars)=0A+=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(pop=20=
chars))))))=0A+=20=20=20=20(dolist=20(seq=20'((?A=20?B)=20(?E=20?=C3=A4=20=
?=C3=BF)=20(?A=20?=CE=A9)=20(?*=20?=E2=98=83)=20(?a=20#o303=20#o245=20=
?b)))=0A+=20=20=20=20=20=20(let=20((str=20(apply=20#'string=20seq)))=0A+=20=
=20=20=20=20=20=20=20(should=20(eq=20(read=20(funcall=20make-reader=20=
seq))=20(intern=20str)))=0A+=20=20=20=20=20=20=20=20(let=20((quoted-seq=20=
`(?\"=20,@seq=20?\")))=0A+=20=20=20=20=20=20=20=20=20=20(should=20(equal=20=
(read=20(funcall=20make-reader=20quoted-seq))=20str)))))=0A+=20=20=20=20=
(dolist=20(c=20'(?A=20?=C3=A4=20?=C3=BF=20?=CE=A9=20?=E2=98=83))=0A+=20=20=
=20=20=20=20(should=20(eq=20(read=20(funcall=20make-reader=20`(??=20=
,c)))=20c)))))=0A+=0A=20;;;=20lread-tests.el=20ends=20here=0A=

--Apple-Mail=_2685EA9B-3ACD-4D1D-81B9-D9031379C60E--




Acknowledgement sent to Mattias Engdegård <mattias.engdegard@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to bug-gnu-emacs@HIDDEN:
bug#70988; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Fri, 17 May 2024 17:15:01 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.