GNU bug report logs - #68863
Add support for using setf with seq-subseq

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; Severity: wishlist; Reported by: Okamsn <okamsn@HIDDEN>; dated Thu, 1 Feb 2024 03:32:02 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.
Severity set to 'wishlist' from 'normal' Request was from Stefan Kangas <stefankangas@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

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


Received: (at 68863) by debbugs.gnu.org; 14 May 2024 15:52:30 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue May 14 11:52:30 2024
Received: from localhost ([127.0.0.1]:40069 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1s6uS6-0006vh-8H
	for submit <at> debbugs.gnu.org; Tue, 14 May 2024 11:52:30 -0400
Received: from mout.web.de ([217.72.192.78]:53339)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <michael_heerdegen@HIDDEN>) id 1s6uS3-0006vb-Jo
 for 68863 <at> debbugs.gnu.org; Tue, 14 May 2024 11:52:28 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=web.de;
 s=s29768273; t=1715701925; x=1716306725;
 i=michael_heerdegen@HIDDEN;
 bh=6PrgMYbIxFzj9ayTfs7rLhHbOoCTh3n001Qx/5ocoFU=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date:
 Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:cc:
 content-transfer-encoding:content-type:date:from:message-id:
 mime-version:reply-to:subject:to;
 b=TEYNTvNFGFTZhmXebBf10XDvh6YYh80rCgkHhePuGkAbN0aKKNC+dA0dUaVdb13A
 xuOvARECJvaUIKe7sjzYBnlNrP0skOu9bM7109E22o//KkgRKDq74pO5C30+6mDgj
 DhCSkmeW6wdlkBYCdQl2KXkgmq/xivTNODsnCG7hOKvZUUUWCkgWj8BZydbSzn18T
 vLR0ygWA291BOu39tmoQVF3rFB0J/ehBOEiYw8rs+DGNxX9tehU9OZaah8nbFLvKl
 mM7xbbh5gxgxNd6XNNlAcaB0giGVnhMtlhoTuMZEGNM5hefdlscYTd+kOdZipEnF5
 Ch+6Gyg5n7JoN7uQlg==
X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6
Received: from drachen.dragon ([84.57.248.23]) by smtp.web.de (mrweb105
 [213.165.67.124]) with ESMTPSA (Nemesis) id 1MVJRl-1ryUnS1cSF-00MwBE; Tue, 14
 May 2024 17:52:05 +0200
From: Michael Heerdegen <michael_heerdegen@HIDDEN>
To: Okamsn <okamsn@HIDDEN>
Subject: Re: bug#68863: Add support for using setf with seq-subseq
In-Reply-To: <538ac066-c421-4c1a-8714-0864917211e6@HIDDEN>
 (okamsn@HIDDEN's message of "Tue, 14 May 2024 12:47:14 +0000")
References: <050ba625-2372-425f-85c6-988e2ef4cf14@HIDDEN>
 <86y1bvw5ff.fsf@HIDDEN> <jwvmssbqbmx.fsf-monnier+emacs@HIDDEN>
 <2dfd9d7f-5c63-4e1d-845c-cd245a71fc34@HIDDEN>
 <8d2a8d06-5b69-4587-9aab-36f7c792c623@HIDDEN>
 <1fca0de5-236e-428f-9224-b03a4d7d6998@HIDDEN>
 <5db43ef0-f218-4790-b263-a3eb80929d9b@HIDDEN>
 <87cypvmb8j.fsf@HIDDEN>
 <538ac066-c421-4c1a-8714-0864917211e6@HIDDEN>
Date: Tue, 14 May 2024 17:52:49 +0200
Message-ID: <87zfssl7am.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Provags-ID: V03:K1:dFiEuB9vjORsj/mUf1DLVAmanLAHSuDaywFZitrA9I96/xwP3Re
 Upwt03NmeXVJP3c65GsEl5ta0hZPviT+Hyo03ROhBl60vOZRfgsb+8OERuNxkj3eHwQ3d3T
 wsBFc1+eJTDo0gVJ+vixE0chkz6yUv30b3wFtRPjp6nGw4OaH/Uo8v2B9t/mx25RqVFYAdW
 DPsPWF1j20j2apgv58vng==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:e28/Xo1iIxw=;/rot1KvzHOCH4aTt3/MthjcQMU3
 UWjkN3YVQ2xW/3YvYhXznBKZCbl77JYTHSHuxstngVMF94BLQL+P/W11NQ+Q9ob2KneVvlRxH
 pxek8nzzO4/GNJdRcIqG1+4NJFnhmYWuxFYzJegIxHqU2wU2NO/6Isf6yuKGBP/0rp4tg8g+C
 i9Hq+gGvlmQFjT/wzw5igdxRmXMsiZl7EjNeumoMOOqqU6GqG63VtlGJaVfkTD8h0AAiE+/Ll
 KBy+i9ioPUJHvKGwIuCjE/P6k+MFXlU7hwN3l4tT+6FHiaRrYL8wsfjJ6KFve6DcTHcAKuksB
 JFAP0O/7yZvMRSYqEAzxH1UhwOmFb/KjFeoPSO39c4bpfRyyN92/uXSr5m3d7b/EExN9tYzQr
 aH17PwF+9Sq15xKSy4jvr52K0Bm136trauPbUflRvYInrJKoDe6s5J6DwZeETw/jyo29tyfcZ
 oo+0Itku6Ur+xKpcsitCplE5GOltg24LqjwhxCeP9gZaOOkZsAzcRNQCVktGUV47lt+NkHC7d
 twYZdF9Px1JaofIY9Ci5zFX5crXkYSxQCebzQOBNoa2u9hu+U/N3QCeIMjOr0NLfa4aG4X/Qh
 condi9Ijx3eiAmxvBKMWniHjoe29CIjENti3GHFZm19jtjlDFzbzPYXwzZMTC1JSmgQ6d0+7j
 aaXab887LhLkhxY0LJeLjUdEw43+F2CFE25S5mwMydH9VRrjbu3gVC6blZx519OLAYKiCaoAL
 l5mq+BrEy4+v+gez9BWFIqWfqVdF6GlXLMG5z77GtvRlTeqmt6e/bN56IM4qRSN+4+wfZlC0S
 1VCvmVisKuUwqRwoPRV2PJUAq9mfHAxkD62QoIC2/66cM=
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 68863
Cc: 68863 <at> debbugs.gnu.org, "Okamsn via \"Bug reports for GNU Emacs,
 the Swiss army knife of text
 editors\"" <bug-gnu-emacs@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>,
 Stefan Monnier <monnier@HIDDEN>, Nicolas Petton <nicolas@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.7 (-)

Okamsn <okamsn@HIDDEN> writes:

> Here is what I have thought:
>
> 1. The setter should be consistent for different kinds of sequences. My
> understanding is that arrays cannot be extended, so I think that it
> should not be able to extend lists either. I think that something like a
> non-destructive `seq-replace` or a non-destructive `seq-splice` is a
> separate feature.

[...]

> 3. The setter should not modify the sequence containing the replacement
> values. The manual states: "All functions defined in this library are
> free of side-effects; i.e., they do not modify any sequence (list,
> vector, or string) that you pass as an argument." I think that it makes
> sense for the setter to modify the target sequence, because `setf` is
> used to set places to values, but I think that it would be unexpected to
> modify the sequence of replacement values and that it would be contrary
> to what the manual states and how the other features behave.

That's a bit of a contradiction, since when using your patch we do
modify the original sequence.  That's a reason why your suggestion
doesn't fit that well into the current seq.el.

But The main question for me is: do we want something like you suggest
in seq.el.  And, if we do, should we then provide this functionality as
a generalized variable.  And if we do offer and advertise this
explicitly, it must be implemented as efficient as possible (which is
not the case now).

But I'm stuck with the first question.  And my gut feeling is a clear
"No".  First, I would not provide this as gv but as a normal function.
There is no necessity to go the gv way.

Second, it doesn't fit into seq.el for the reason you gave: the library
promises not to modify sequences.  This is not cut in stone, of course.


> I will try to find uses of `cl-replace` and maybe uses of `append` and
> `nconc` for examples. Also, I have attached a version of the patch that
> does not compute the length of the list unless needed.

I'm mostly interested in real-life examples where your patch would lead
to simpler, better understandable and better maintainable code; and I
think Stefan, too.

That you need such a functionality for your own code counts but is not
enough of its own.  You surely could modify your macro to do what you
want without changing Emacs.


Michael.




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

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


Received: (at submit) by debbugs.gnu.org; 14 May 2024 15:52:58 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue May 14 11:52:58 2024
Received: from localhost ([127.0.0.1]:40075 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1s6uSX-0006vu-PY
	for submit <at> debbugs.gnu.org; Tue, 14 May 2024 11:52:58 -0400
Received: from lists.gnu.org ([209.51.188.17]:43904)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <michael_heerdegen@HIDDEN>) id 1s6uSR-0006vo-ID
 for submit <at> debbugs.gnu.org; Tue, 14 May 2024 11:52:55 -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 <michael_heerdegen@HIDDEN>)
 id 1s6uSP-00015r-0d
 for bug-gnu-emacs@HIDDEN; Tue, 14 May 2024 11:52:49 -0400
Received: from mout.web.de ([217.72.192.78])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <michael_heerdegen@HIDDEN>)
 id 1s6uSM-0005Rc-E0; Tue, 14 May 2024 11:52:48 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=web.de;
 s=s29768273; t=1715701925; x=1716306725;
 i=michael_heerdegen@HIDDEN;
 bh=6PrgMYbIxFzj9ayTfs7rLhHbOoCTh3n001Qx/5ocoFU=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date:
 Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:cc:
 content-transfer-encoding:content-type:date:from:message-id:
 mime-version:reply-to:subject:to;
 b=TEYNTvNFGFTZhmXebBf10XDvh6YYh80rCgkHhePuGkAbN0aKKNC+dA0dUaVdb13A
 xuOvARECJvaUIKe7sjzYBnlNrP0skOu9bM7109E22o//KkgRKDq74pO5C30+6mDgj
 DhCSkmeW6wdlkBYCdQl2KXkgmq/xivTNODsnCG7hOKvZUUUWCkgWj8BZydbSzn18T
 vLR0ygWA291BOu39tmoQVF3rFB0J/ehBOEiYw8rs+DGNxX9tehU9OZaah8nbFLvKl
 mM7xbbh5gxgxNd6XNNlAcaB0giGVnhMtlhoTuMZEGNM5hefdlscYTd+kOdZipEnF5
 Ch+6Gyg5n7JoN7uQlg==
X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6
Received: from drachen.dragon ([84.57.248.23]) by smtp.web.de (mrweb105
 [213.165.67.124]) with ESMTPSA (Nemesis) id 1MVJRl-1ryUnS1cSF-00MwBE; Tue, 14
 May 2024 17:52:05 +0200
From: Michael Heerdegen <michael_heerdegen@HIDDEN>
To: Okamsn <okamsn@HIDDEN>
Subject: Re: bug#68863: Add support for using setf with seq-subseq
In-Reply-To: <538ac066-c421-4c1a-8714-0864917211e6@HIDDEN>
 (okamsn@HIDDEN's message of "Tue, 14 May 2024 12:47:14 +0000")
References: <050ba625-2372-425f-85c6-988e2ef4cf14@HIDDEN>
 <86y1bvw5ff.fsf@HIDDEN> <jwvmssbqbmx.fsf-monnier+emacs@HIDDEN>
 <2dfd9d7f-5c63-4e1d-845c-cd245a71fc34@HIDDEN>
 <8d2a8d06-5b69-4587-9aab-36f7c792c623@HIDDEN>
 <1fca0de5-236e-428f-9224-b03a4d7d6998@HIDDEN>
 <5db43ef0-f218-4790-b263-a3eb80929d9b@HIDDEN>
 <87cypvmb8j.fsf@HIDDEN>
 <538ac066-c421-4c1a-8714-0864917211e6@HIDDEN>
Date: Tue, 14 May 2024 17:52:49 +0200
Message-ID: <87zfssl7am.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Provags-ID: V03:K1:dFiEuB9vjORsj/mUf1DLVAmanLAHSuDaywFZitrA9I96/xwP3Re
 Upwt03NmeXVJP3c65GsEl5ta0hZPviT+Hyo03ROhBl60vOZRfgsb+8OERuNxkj3eHwQ3d3T
 wsBFc1+eJTDo0gVJ+vixE0chkz6yUv30b3wFtRPjp6nGw4OaH/Uo8v2B9t/mx25RqVFYAdW
 DPsPWF1j20j2apgv58vng==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:e28/Xo1iIxw=;/rot1KvzHOCH4aTt3/MthjcQMU3
 UWjkN3YVQ2xW/3YvYhXznBKZCbl77JYTHSHuxstngVMF94BLQL+P/W11NQ+Q9ob2KneVvlRxH
 pxek8nzzO4/GNJdRcIqG1+4NJFnhmYWuxFYzJegIxHqU2wU2NO/6Isf6yuKGBP/0rp4tg8g+C
 i9Hq+gGvlmQFjT/wzw5igdxRmXMsiZl7EjNeumoMOOqqU6GqG63VtlGJaVfkTD8h0AAiE+/Ll
 KBy+i9ioPUJHvKGwIuCjE/P6k+MFXlU7hwN3l4tT+6FHiaRrYL8wsfjJ6KFve6DcTHcAKuksB
 JFAP0O/7yZvMRSYqEAzxH1UhwOmFb/KjFeoPSO39c4bpfRyyN92/uXSr5m3d7b/EExN9tYzQr
 aH17PwF+9Sq15xKSy4jvr52K0Bm136trauPbUflRvYInrJKoDe6s5J6DwZeETw/jyo29tyfcZ
 oo+0Itku6Ur+xKpcsitCplE5GOltg24LqjwhxCeP9gZaOOkZsAzcRNQCVktGUV47lt+NkHC7d
 twYZdF9Px1JaofIY9Ci5zFX5crXkYSxQCebzQOBNoa2u9hu+U/N3QCeIMjOr0NLfa4aG4X/Qh
 condi9Ijx3eiAmxvBKMWniHjoe29CIjENti3GHFZm19jtjlDFzbzPYXwzZMTC1JSmgQ6d0+7j
 aaXab887LhLkhxY0LJeLjUdEw43+F2CFE25S5mwMydH9VRrjbu3gVC6blZx519OLAYKiCaoAL
 l5mq+BrEy4+v+gez9BWFIqWfqVdF6GlXLMG5z77GtvRlTeqmt6e/bN56IM4qRSN+4+wfZlC0S
 1VCvmVisKuUwqRwoPRV2PJUAq9mfHAxkD62QoIC2/66cM=
Content-Transfer-Encoding: quoted-printable
Received-SPF: pass client-ip=217.72.192.78;
 envelope-from=michael_heerdegen@HIDDEN; helo=mout.web.de
X-Spam_score_int: -27
X-Spam_score: -2.8
X-Spam_bar: --
X-Spam_report: (-2.8 / 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,
 RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=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: 68863 <at> debbugs.gnu.org, "Okamsn via \"Bug reports for GNU Emacs,
 the Swiss army knife of text
 editors\"" <bug-gnu-emacs@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>,
 Stefan Monnier <monnier@HIDDEN>, Nicolas Petton <nicolas@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 (--)

Okamsn <okamsn@HIDDEN> writes:

> Here is what I have thought:
>
> 1. The setter should be consistent for different kinds of sequences. My
> understanding is that arrays cannot be extended, so I think that it
> should not be able to extend lists either. I think that something like a
> non-destructive `seq-replace` or a non-destructive `seq-splice` is a
> separate feature.

[...]

> 3. The setter should not modify the sequence containing the replacement
> values. The manual states: "All functions defined in this library are
> free of side-effects; i.e., they do not modify any sequence (list,
> vector, or string) that you pass as an argument." I think that it makes
> sense for the setter to modify the target sequence, because `setf` is
> used to set places to values, but I think that it would be unexpected to
> modify the sequence of replacement values and that it would be contrary
> to what the manual states and how the other features behave.

That's a bit of a contradiction, since when using your patch we do
modify the original sequence.  That's a reason why your suggestion
doesn't fit that well into the current seq.el.

But The main question for me is: do we want something like you suggest
in seq.el.  And, if we do, should we then provide this functionality as
a generalized variable.  And if we do offer and advertise this
explicitly, it must be implemented as efficient as possible (which is
not the case now).

But I'm stuck with the first question.  And my gut feeling is a clear
"No".  First, I would not provide this as gv but as a normal function.
There is no necessity to go the gv way.

Second, it doesn't fit into seq.el for the reason you gave: the library
promises not to modify sequences.  This is not cut in stone, of course.


> I will try to find uses of `cl-replace` and maybe uses of `append` and
> `nconc` for examples. Also, I have attached a version of the patch that
> does not compute the length of the list unless needed.

I'm mostly interested in real-life examples where your patch would lead
to simpler, better understandable and better maintainable code; and I
think Stefan, too.

That you need such a functionality for your own code counts but is not
enough of its own.  You surely could modify your macro to do what you
want without changing Emacs.


Michael.




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

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


Received: (at 68863) by debbugs.gnu.org; 14 May 2024 12:47:32 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue May 14 08:47:31 2024
Received: from localhost ([127.0.0.1]:39157 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1s6rZ5-0004YS-09
	for submit <at> debbugs.gnu.org; Tue, 14 May 2024 08:47:31 -0400
Received: from mail-4322.protonmail.ch ([185.70.43.22]:13867)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <okamsn@HIDDEN>) id 1s6rZ0-0004YK-Ju
 for 68863 <at> debbugs.gnu.org; Tue, 14 May 2024 08:47:29 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;
 s=protonmail3; t=1715690839; x=1715950039;
 bh=dWWUmQToXMTg1XSBRYOBgqrGmLR1WyCwg/jiPG93Y88=;
 h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
 Message-ID:BIMI-Selector;
 b=hPOEfIAZ2mqLfFPVY3Q/c+EmCkvpiERbbrypjW1QjFjKjI/D6FfcI8g1fHCccCwmo
 3p6KacFpIoy6oz9KUFUPGTWsdMU7Bz/FHQuCt0F/dCLFKrw7tjLvLhE8b2lQnF53EA
 EXXwpCcw8YaFPPH6lP7JIpYeJXKadSZTCs/qD6UlDeeoRD0E5pI3M4j0DzGx408nIu
 6Ypf0k376kGHcY2tdSJzOVeVb+Mqtn2NAHY4fkBs2QPFP1Z1rF7zNIkSuiCOLD+Yv6
 2uc8K7nTfOxd/ZoHC5DiUoKa9+zFMkbKMFPDHT8zrBO15PekUCM6lwNpChr8tMlV/Z
 HbaHWFPj6s6sA==
Date: Tue, 14 May 2024 12:47:14 +0000
To: Michael Heerdegen <michael_heerdegen@HIDDEN>,
 "Okamsn via \"Bug reports for GNU Emacs,
 the Swiss army knife of text editors\"" <bug-gnu-emacs@HIDDEN>
From: Okamsn <okamsn@HIDDEN>
Subject: Re: bug#68863: Add support for using setf with seq-subseq
Message-ID: <538ac066-c421-4c1a-8714-0864917211e6@HIDDEN>
In-Reply-To: <87cypvmb8j.fsf@HIDDEN>
References: <050ba625-2372-425f-85c6-988e2ef4cf14@HIDDEN>
 <86y1bvw5ff.fsf@HIDDEN> <jwvmssbqbmx.fsf-monnier+emacs@HIDDEN>
 <2dfd9d7f-5c63-4e1d-845c-cd245a71fc34@HIDDEN>
 <8d2a8d06-5b69-4587-9aab-36f7c792c623@HIDDEN>
 <1fca0de5-236e-428f-9224-b03a4d7d6998@HIDDEN>
 <5db43ef0-f218-4790-b263-a3eb80929d9b@HIDDEN> <87cypvmb8j.fsf@HIDDEN>
Feedback-ID: 25935600:user:proton
X-Pm-Message-ID: bca411b429af78b6a3c656de420987a8cacc1314
MIME-Version: 1.0
Content-Type: multipart/mixed;
 boundary="b1_SK6XRgVXZEBNOBJQjOjTpkVopCf1jsIKFNwuD9uR8"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 68863
Cc: 68863 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>,
 Nicolas Petton <nicolas@HIDDEN>, 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: -1.0 (-)

This is a multi-part message in MIME format.

--b1_SK6XRgVXZEBNOBJQjOjTpkVopCf1jsIKFNwuD9uR8
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Michael Heerdegen wrote:
> Hello again,
>=20
> There is a second point I want to hint at/ discuss:
>=20
> Some time ago we have removed lots of or even the majority of the
> so far implemented generalized variables.
>=20
> The main criteria were: are they useful, and is the semantics clear.  We
> should think about whether this is the case here.
>=20
> For `seq-subseq' the semantics is not completely unambiguous.  For
> example, the setter could exchange a subsequence - but also simply
> insert an additional piece, creating a longer sequence.  Both operations
> can be useful.
>=20
> Likewise, when an index (e.g. the starting position) is going beyond the
> end of a sequence, Emacs could raise an error, or provide functionality
> to append to the existing sequence.  Again, both kinds of behavior could
> make sense in different situations.
>=20
> Finally, the question of whether the operation is destructive, or which
> of the involved sequences are reused, is not trivial.
>=20
> Any thoughts about these points?  Is this generalized variable useful
> enough to make this acceptable?  Which kind of implementation do we
> prefer then?
>=20
>=20
> Michael.

Hello,

Here is what I have thought:

1. The setter should be consistent for different kinds of sequences. My=20
understanding is that arrays cannot be extended, so I think that it=20
should not be able to extend lists either. I think that something like a=20
non-destructive `seq-replace` or a non-destructive `seq-splice` is a=20
separate feature.

2. The setter should be consistent with how `seq-subseq` raises errors.=20
`seq-subseq` raises an error if a given index is greater than the=20
sequence's length, so the setter should too.

3. The setter should not modify the sequence containing the replacement=20
values. The manual states: "All functions defined in this library are=20
free of side-effects; i.e., they do not modify any sequence (list,=20
vector, or string) that you pass as an argument." I think that it makes=20
sense for the setter to modify the target sequence, because `setf` is=20
used to set places to values, but I think that it would be unexpected to=20
modify the sequence of replacement values and that it would be contrary=20
to what the manual states and how the other features behave.

I will try to find uses of `cl-replace` and maybe uses of `append` and=20
`nconc` for examples. Also, I have attached a version of the patch that=20
does not compute the length of the list unless needed.

Thank you.
--b1_SK6XRgVXZEBNOBJQjOjTpkVopCf1jsIKFNwuD9uR8
Content-Type: text/x-patch; charset=UTF-8; name=v4-0001-Add-setf-support-for-seq-subseq.patch
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=v4-0001-Add-setf-support-for-seq-subseq.patch

RnJvbSA4OWM2ODAwZTRlNzg4ZDZhMTIxMTE0YmMxNmY0N2UxYmJjMmVlODE0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBFYXJsIEh5YXR0IDxva2Ftc25AcHJvdG9ubWFpbC5jb20+CkRh
dGU6IFN1biwgMjggSmFuIDIwMjQgMjI6NDg6MTMgLTA1MDAKU3ViamVjdDogW1BBVENIIHY0XSBB
ZGQgc2V0ZiBzdXBwb3J0IGZvciBzZXEtc3Vic2VxLgoKKiBsaXNwL2VtYWNzLWxpc3Avc2VxLmVs
IChzZXEtc3Vic2VxKTogQWRkIGEgZ2VuZXJpYyB2ZXJzaW9uIG9mCmNhbGxpbmcgc2V0ZiBvbiBz
ZXEtc3Vic2VxIGFuZCBhZGQgYSBzcGVjaWFsaXplZCB2ZXJzaW9uIGZvciB3aGVuIHRoZQptb2Rp
ZmllZCBzZXF1ZW5jZSBpcyBhIGxpc3QuCiogdGVzdC9saXNwL2VtYWNzLWxpc3Avc2VxLXRlc3Rz
LmVsICh0ZXN0LXNldGYtc2VxLXN1YnNlcSkKKHRlc3Qtc2V0Zi1zZXEtc3Vic2VxLWNvbWJpbmF0
aW9ucyk6IEFkZCB0ZXN0cyBmb3IgdGhlIGZlYXR1cmUuCgpUaGUgZmVhdHVyZSB3aWxsIHNpZ25h
bCAnYXJncy1vdXQtb2YtcmFuZ2UnIGlmIHRoZSBzdGFydGluZyBpbmRleCBvcgplbmRpbmcgaW5k
ZXggKGlmIGdpdmVuKSBpcyBvdXRzaWRlIG9mIHRoZSByYW5nZSBvZiB2YWx1ZXMgZnJvbSAwCnRo
cm91Z2ggdGhlIGxlbmd0aCBvZiB0aGUgc2VxdWVuY2Ugb3IgZnJvbSB0aGUgbmVnYXRpdmUgbGVu
Z3RoIG9mIHRoZQpzZXF1ZW5jZSB0aHJvdWdoIG5lZ2F0aXZlIDEuICBJZiB0aGUgc3RhcnRpbmcg
aW5kZXggaXMgZXF1YWwgdG8gdGhlCmxlbmd0aCBvZiB0aGUgc2VxdWVuY2UsIHRoZW4gbm90aGlu
ZyBpcyBjaGFuZ2VkLiAgSWYgdGhlIHN0YXJ0aW5nCmluZGV4IGlzIGVxdWFsIHRvIHRoZSBlbmRp
bmcgaW5kZXgsIHRoZW4gbm90aGluZyBpcyBjaGFuZ2VkLiAgVGhlCmZlYXR1cmUgc2hvdWxkIHNp
Z25hbCBhbiBlcnJvciBpbiBhbGwgY2FzZXMgd2hlcmUgdXNpbmcgJ3NlcS1zdWJzZXEnCndvdWxk
IHNpZ25hbCBhbiBlcnJvci4KLS0tCiBsaXNwL2VtYWNzLWxpc3Avc2VxLmVsICAgICAgICAgICAg
fCAxMDQgKysrKysrKysrKysrKysrKysrKysrCiB0ZXN0L2xpc3AvZW1hY3MtbGlzcC9zZXEtdGVz
dHMuZWwgfCAxNDkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5n
ZWQsIDI1MyBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbGlzcC9lbWFjcy1saXNwL3NlcS5l
bCBiL2xpc3AvZW1hY3MtbGlzcC9zZXEuZWwKaW5kZXggYTIwY2ZmMTY5ODIuLjk1Njg4YTYwNjQ1
IDEwMDY0NAotLS0gYS9saXNwL2VtYWNzLWxpc3Avc2VxLmVsCisrKyBiL2xpc3AvZW1hY3MtbGlz
cC9zZXEuZWwKQEAgLTE5Myw2ICsxOTMsMTEwIEBAIHNlcS1zdWJzZXEKICAgICAgICAgKGNvcHkt
c2VxdWVuY2Ugc2VxdWVuY2UpKSkpCiAgICAodCAoZXJyb3IgIlVuc3VwcG9ydGVkIHNlcXVlbmNl
OiAlcyIgc2VxdWVuY2UpKSkpCiAKKyhjbC1kZWZnZW5lcmljIChzZXRmIHNlcS1zdWJzZXEpIChz
dG9yZSBzZXF1ZW5jZSBzdGFydCAmb3B0aW9uYWwgZW5kKQorICAiTW9kaWZ5IHRoZSBlbGVtZW50
cyBvZiBTRVFVRU5DRSBmcm9tIFNUQVJUIHRvIEVORCB0byBiZSB0aG9zZSBvZiBTVE9SRS4KK0VO
RCBpcyBleGNsdXNpdmUuCisKK0lmIEVORCBpcyBvbWl0dGVkLCBpdCBkZWZhdWx0cyB0byB0aGUg
bGVuZ3RoIG9mIHRoZSBzZXF1ZW5jZS4gIElmCitTVEFSVCBvciBFTkQgaXMgbmVnYXRpdmUsIGl0
IGNvdW50cyBmcm9tIHRoZSBlbmQuICBTaWduYWwgYW4KK2Vycm9yIGlmIFNUQVJUIG9yIEVORCBh
cmUgb3V0c2lkZSBvZiB0aGUgc2VxdWVuY2UgKGkuZSB0b28gbGFyZ2UKK2lmIHBvc2l0aXZlIG9y
IHRvbyBzbWFsbCBpZiBuZWdhdGl2ZSkuCisKK1NFUVVFTkNFIGlzIG5laXRoZXIgbGVuZ3RoZW5l
ZCBub3Igc2hvcnRlbmVkLiIKKyAgKGxldCogKChsZW4gKHNlcS1sZW5ndGggc2VxdWVuY2UpKQor
ICAgICAgICAgKHNpZ25hbC1mbiAobGFtYmRhICgpCisgICAgICAgICAgICAgICAgICAgICAgKHNp
Z25hbCAnYXJncy1vdXQtb2YtcmFuZ2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChp
ZiBlbmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobGlzdCBzZXF1ZW5jZSBz
dGFydCBlbmQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsaXN0IHNlcXVlbmNl
IHN0YXJ0KSkpKSkKKyAgICAgICAgIChzaWduYWwtb3ItdmFsLWZuIChsYW1iZGEgKHZhbCkKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbmQKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICgoPiB2YWwgbGVuKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmdW5j
YWxsIHNpZ25hbC1mbikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKDwgdmFsIDAp
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxldCAoKHZhbDIgKCsgdmFsIGxlbikp
KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmICg8IHZhbDIgMCkKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY2FsbCBzaWduYWwtZm4pCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbDIpKSkKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICh0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsKSkpKQor
ICAgICAgICAgKGlkeCAoZnVuY2FsbCBzaWduYWwtb3ItdmFsLWZuIHN0YXJ0KSkKKyAgICAgICAg
IChpZHgtZW5kIChpZiAobnVsbCBlbmQpCisgICAgICAgICAgICAgICAgICAgICAgbGVuCisgICAg
ICAgICAgICAgICAgICAgIChmdW5jYWxsIHNpZ25hbC1vci12YWwtZm4gZW5kKSkpCisgICAgICAg
ICAodGFnIChnZW5zeW0pKSkKKyAgICAoaWYgKD4gaWR4IGlkeC1lbmQpCisgICAgICAgIChmdW5j
YWxsIHNpZ25hbC1mbikKKyAgICAgIChjYXRjaCB0YWcKKyAgICAgICAgKHNlcS1kbyAobGFtYmRh
ICh2KQorICAgICAgICAgICAgICAgICAgKGlmICg8IGlkeCBpZHgtZW5kKQorICAgICAgICAgICAg
ICAgICAgICAgIChzZXRmIChzZXEtZWx0IHNlcXVlbmNlIGlkeCkgdgorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGlkeCAoMSsgaWR4KSkKKyAgICAgICAgICAgICAgICAgICAgKHRocm93IHRh
ZyBuaWwpKSkKKyAgICAgICAgICAgICAgICBzdG9yZSkpKSkKKyAgc3RvcmUpCisKKyhjbC1kZWZt
ZXRob2QgKHNldGYgc2VxLXN1YnNlcSkgKHN0b3JlIChzZXF1ZW5jZSBsaXN0KSBzdGFydCAmb3B0
aW9uYWwgZW5kKQorICAiTW9kaWZ5IHRoZSBlbGVtZW50cyBvZiBTRVFVRU5DRSBmcm9tIFNUQVJU
IHRvIEVORCB0byBiZSB0aG9zZSBvZiBTVE9SRS4KK0VORCBpcyBleGNsdXNpdmUuCisKK0lmIEVO
RCBpcyBvbWl0dGVkLCBpdCBkZWZhdWx0cyB0byB0aGUgbGVuZ3RoIG9mIHRoZSBzZXF1ZW5jZS4g
IElmCitTVEFSVCBvciBFTkQgaXMgbmVnYXRpdmUsIGl0IGNvdW50cyBmcm9tIHRoZSBlbmQuICBT
aWduYWwgYW4KK2Vycm9yIGlmIFNUQVJUIG9yIEVORCBhcmUgb3V0c2lkZSBvZiB0aGUgc2VxdWVu
Y2UgKGkuZSB0b28gbGFyZ2UKK2lmIHBvc2l0aXZlIG9yIHRvbyBzbWFsbCBpZiBuZWdhdGl2ZSku
CisKK1NFUVVFTkNFIGlzIG5laXRoZXIgbGVuZ3RoZW5lZCBub3Igc2hvcnRlbmVkLiIKKyAgKGxl
dCogKChhcmctc3RhcnQgc3RhcnQpCisgICAgICAgICAoYXJnLWVuZCBlbmQpCisgICAgICAgICAo
c2lnbmFsLWZuIChsYW1iZGEgKCkKKyAgICAgICAgICAgICAgICAgICAgICAoc2lnbmFsICdhcmdz
LW91dC1vZi1yYW5nZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmIGFyZy1lbmQK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobGlzdCBzZXF1ZW5jZSBhcmctc3Rh
cnQgYXJnLWVuZCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxpc3Qgc2VxdWVu
Y2UgYXJnLXN0YXJ0KSkpKSkKKyAgICAgICAgIChsZW4pCisgICAgICAgICAobmVnLXN0YXJ0ICg8
IHN0YXJ0IDApKQorICAgICAgICAgKG5lZy1lbmQgKGFuZCBlbmQgKDwgZW5kIDApKSkpCisgICAg
OzsgQXZvaWQgY2FsY3VsYXRpbmcgdGhlIGxlbmd0aCBvZiB0aGUgbGlzdCBpZiB3ZSBkb24ndCBu
ZWVkIHRvby4KKyAgICAod2hlbiAob3IgbmVnLXN0YXJ0IG5lZy1lbmQpCisgICAgICAoc2V0cSBs
ZW4gKGxlbmd0aCBzZXF1ZW5jZSkpCisgICAgICAod2hlbiBuZWctc3RhcnQKKyAgICAgICAgKHNl
dHEgc3RhcnQgKCsgbGVuIHN0YXJ0KSkKKyAgICAgICAgKHdoZW4gKG9yICg+PSBzdGFydCBsZW4p
CisgICAgICAgICAgICAgICAgICAoPCBzdGFydCAwKSkKKyAgICAgICAgICAoZnVuY2FsbCBzaWdu
YWwtZm4pKSkKKyAgICAgICh3aGVuIG5lZy1lbmQKKyAgICAgICAgKHNldHEgZW5kICgrIGxlbiBl
bmQpKQorICAgICAgICAod2hlbiAob3IgKD4gZW5kIGxlbikKKyAgICAgICAgICAgICAgICAgICg8
IGVuZCAwKSkKKyAgICAgICAgICAoZnVuY2FsbCBzaWduYWwtZm4pKSkpCisgICAgOzsgSWYgd2Ug
YWxyZWFkeSBjYWxjdWxhdGVkIHRoZSBsZW5ndGgsIHRoZW4gd2UKKyAgICA7OyBhbHJlYWR5IGNo
ZWNrZWQgU1RBUlQgb3IgRU5ELiAgSWYgbm90LAorICAgIDs7IHRoZW4gd2UgY2hlY2sgd2hldGhl
ciB0aGUgbnRoIGNkciBzYXRpc2ZpZXMKKyAgICA7OyBTVEFSVCBhbmQgRU5ELgorICAgIChsZXQg
KChyZXBsYWNlZCAobnRoY2RyIHN0YXJ0IHNlcXVlbmNlKSkpCisgICAgICAoaWYgKG9yIChudWxs
IHJlcGxhY2VkKQorICAgICAgICAgICAgICAoYW5kIChudWxsIGxlbikKKyAgICAgICAgICAgICAg
ICAgICBlbmQKKyAgICAgICAgICAgICAgICAgICAobGVuZ3RoPCByZXBsYWNlZCAoLSBlbmQgc3Rh
cnQpKSkpCisgICAgICAgICAgKGZ1bmNhbGwgc2lnbmFsLWZuKQorICAgICAgICAobGV0ICgodGFn
IChnZW5zeW0pKSkKKyAgICAgICAgICAoY2F0Y2ggdGFnCisgICAgICAgICAgICAoc2VxLWRvIChp
ZiBlbmQKKyAgICAgICAgICAgICAgICAgICAgICAgIChsZXQgKChpZHggc3RhcnQpKQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAobGFtYmRhICh2KQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIChpZiAoPCBpZHggZW5kKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2V0
ZiAoY2FyIHJlcGxhY2VkKSB2CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHJlcGxhY2VkIChjZHIgcmVwbGFjZWQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGlkeCAoMSsgaWR4KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh0aHJv
dyB0YWcgbmlsKSkpKQorICAgICAgICAgICAgICAgICAgICAgIChsYW1iZGEgKHYpCisgICAgICAg
ICAgICAgICAgICAgICAgICAoaWYgcmVwbGFjZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAoc2V0ZiAoY2FyIHJlcGxhY2VkKSB2CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcmVwbGFjZWQgKGNkciByZXBsYWNlZCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICh0
aHJvdyB0YWcgbmlsKSkpKQorICAgICAgICAgICAgICAgICAgICBzdG9yZSkpKSkpKQorICBzdG9y
ZSkKKwogDAogKGNsLWRlZmdlbmVyaWMgc2VxLW1hcCAoZnVuY3Rpb24gc2VxdWVuY2UpCiAgICJS
ZXR1cm4gdGhlIHJlc3VsdCBvZiBhcHBseWluZyBGVU5DVElPTiB0byBlYWNoIGVsZW1lbnQgb2Yg
U0VRVUVOQ0UuIgpkaWZmIC0tZ2l0IGEvdGVzdC9saXNwL2VtYWNzLWxpc3Avc2VxLXRlc3RzLmVs
IGIvdGVzdC9saXNwL2VtYWNzLWxpc3Avc2VxLXRlc3RzLmVsCmluZGV4IGMwNmNlYjAwYmRiLi5k
M2U0NmMzMmY5OSAxMDA2NDQKLS0tIGEvdGVzdC9saXNwL2VtYWNzLWxpc3Avc2VxLXRlc3RzLmVs
CisrKyBiL3Rlc3QvbGlzcC9lbWFjcy1saXNwL3NlcS10ZXN0cy5lbApAQCAtMzEyLDYgKzMxMiwx
NTUgQEAgdGVzdC1zZXEtc3Vic2VxCiAgICAgICAgICAgICAgICAgICAoOnN1Y2Nlc3MKICAgICAg
ICAgICAgICAgICAgICAoc2hvdWxkIChlcXVhbCAoc2VxLXN1YnNlcSBsaXN0IHN0YXJ0IGVuZCkg
cmVzKSkpKSkpKSkpKSkpCiAKKyhjbC1kZWZtYWNybyB0ZXN0LXNldGYtc2VxLXN1YnNlcS1jb21i
aW5hdGlvbnMKKyAgICAoJmtleSBpbml0LXZhbHMgc3ViLXZhbHMgcmVzdWx0IHJhbmdlIGVycm9y
KQorICAiTWFrZSBhIHRlc3QgZm9yIGVhY2ggY29tYmluYXRpb24gb2Ygc2VxdWVuY2UgdHlwZSBm
b3IgYHNlcS1zdWJzZXEnIHVzaW5nIGBzZXRmJy4KKworLSBJTklULVZBTFMgaXMgYSBsaXN0IGhv
bGRpbmcgdGhlIGluaXRpYWwgZWxlbWVudHMuCistIFJFU1VMVCBpcyB3aGF0IHRoZSBmaW5hbCB2
YWx1ZSBzaG91bGQgYmUgYWZ0ZXIgc3Vic3RpdHV0aW9uLgorLSBFUlJPUiBpcyB3aGV0aGVyIHRo
ZSBmb3JtIHNob3VsZCBzaWduYWwgYGFyZ3Mtb3V0LW9mLXJhbmdlJy4KKy0gU1VCLVZBTFMgaXMg
YSBsaXN0IGhvbGRpbmcgdGhlIGVsZW1lbnRzIHRvIGJlIHN1YnN0aXR1dGVkIGluLgorLSBSQU5H
RSBpcyBhIGxpc3Qgb2YgdGhlIGBzdGFydCcgYW5kIGBlbmQnIGFyZ3VtZW50cyBvZiBgc2VxLXN1
YnNlcScuIgorICAobGV0ICgodGVzdHMpKQorICAgIChkb2xpc3QgKHR5cGUxICcobGlzdCB2ZWN0
b3Igc3RyaW5nKSkKKyAgICAgIChkb2xpc3QgKHR5cGUyICcobGlzdCB2ZWN0b3Igc3RyaW5nKSkK
KyAgICAgICAgKHB1c2ggIChpZiBlcnJvcgorICAgICAgICAgICAgICAgICAgIGAoc2hvdWxkLWVy
cm9yIChsZXQgKChzZXEgKCx0eXBlMSAsQGluaXQtdmFscykpKQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgKHNldGYgKHNlcS1zdWJzZXEgc2VxICxAcmFuZ2UpCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoLHR5cGUyICxAc3ViLXZhbHMpKQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VxKQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDp0eXBlIChxdW90ZSBhcmdzLW91dC1vZi1yYW5nZSkpCisgICAg
ICAgICAgICAgICAgIGAoc2hvdWxkIChlcXVhbCAoLHR5cGUxICxAcmVzdWx0KQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgKGxldCAoKHNlcSAoLHR5cGUxICxAaW5pdC12YWxzKSkp
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZXRmIChzZXEtc3Vic2VxIHNl
cSAsQHJhbmdlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoLHR5
cGUyICxAc3ViLXZhbHMpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXEp
KSkpCisgICAgICAgICAgICAgICB0ZXN0cykpKQorICAgIGAocHJvZ24gLEB0ZXN0cykpKQorCiso
ZXJ0LWRlZnRlc3QgdGVzdC1zZXRmLXNlcS1zdWJzZXEgKCkKKyAgIlRlc3QgdXNpbmcgYHNlcS1z
dWJzZXEnIHdpdGggYHNldGYnLgorCitBbnkgY29tYmluYXRpb24gb2Ygc2VxdWVuY2VzIHNob3Vs
ZCB3b3JrLgorCitBbiBlcnJvciBzaG91bGQgYmUgc2lnbmFsbGVkIGlmIHRoZSBpbmNsdXNpdmUg
c3RhcnRpbmcgaW5kZXggb3IKK3RoZSBleGNsdXNpdmUgZW5kaW5nIGluZGV4IGlzIG91dCBvZiB0
aGUgcmFuZ2UgZnJvbSAwIHRocm91Z2ggdGhlCitsZW5ndGggb2YgdGhlIHNlcXVlbmNlLCBvciBp
ZiB0aGUgc3RhcnRpbmcgaW5kZXggaXMgZ3JlYXRlciB0aGFuCit0aGUgZW5kaW5nIGluZGV4LiAg
SWYgdGhlIHN0YXJ0aW5nIGluZGV4IGlzIGVxdWFsIHRvIHRoZSBlbmRpbmcKK2luZGV4LCB0aGVu
IG5vdGhpbmcgaXMgY2hhbmdlZC4gIElmIHRoZSBzdGFydGluZyBpbmRleCBpcyBlcXVhbAordG8g
dGhlIGxlbmd0aCBvZiB0aGUgc2VxdWVuY2UsIHRoZW4gbm90aGluZyBpcyBjaGFuZ2VkLiAgSXQK
K3Nob3VsZCBzaWduYWwgYW4gZXJyb3IgaW4gYWxsIHRoZSBjYXNlcyB0aGF0IGBzZXEtc3Vic2Vx
JyBzaWduYWxzCithbiBlcnJvci4iCisgICh0ZXN0LXNldGYtc2VxLXN1YnNlcS1jb21iaW5hdGlv
bnMKKyAgIDppbml0LXZhbHMgKDAgMSAyKQorICAgOnN1Yi12YWxzICgxMCAxMSAxMikKKyAgIDpy
YW5nZSAoMCkKKyAgIDpyZXN1bHQgKDEwIDExIDEyKSkKKworICAodGVzdC1zZXRmLXNlcS1zdWJz
ZXEtY29tYmluYXRpb25zCisgICA6aW5pdC12YWxzICgwIDEpCisgICA6c3ViLXZhbHMgKDEwIDEx
IDEyKQorICAgOnJhbmdlICgwKQorICAgOnJlc3VsdCAoMTAgMTEpKQorCisgICh0ZXN0LXNldGYt
c2VxLXN1YnNlcS1jb21iaW5hdGlvbnMKKyAgIDppbml0LXZhbHMgKDAgMSAyKQorICAgOnN1Yi12
YWxzICgxMCAxMSAxMikKKyAgIDpyYW5nZSAoMSkKKyAgIDpyZXN1bHQgKDAgMTAgMTEpKQorCisg
ICh0ZXN0LXNldGYtc2VxLXN1YnNlcS1jb21iaW5hdGlvbnMKKyAgIDppbml0LXZhbHMgKDAgMSAy
KQorICAgOnN1Yi12YWxzICgxMCAxMSAxMikKKyAgIDpyYW5nZSAoMSAzKQorICAgOnJlc3VsdCAo
MCAxMCAxMSkpCisKKyAgKHRlc3Qtc2V0Zi1zZXEtc3Vic2VxLWNvbWJpbmF0aW9ucworICAgOmlu
aXQtdmFscyAoMCAxIDIpCisgICA6c3ViLXZhbHMgKDEwIDExIDEyKQorICAgOnJhbmdlICgzIDEp
CisgICA6ZXJyb3IgdCkKKworICAodGVzdC1zZXRmLXNlcS1zdWJzZXEtY29tYmluYXRpb25zCisg
ICA6aW5pdC12YWxzICgwIDEgMikKKyAgIDpzdWItdmFscyAoMTAgMTEgMTIpCisgICA6cmFuZ2Ug
KDEgMTAwKQorICAgOmVycm9yIHQpCisKKyAgKHRlc3Qtc2V0Zi1zZXEtc3Vic2VxLWNvbWJpbmF0
aW9ucworICAgOmluaXQtdmFscyAoMCAxIDIpCisgICA6c3ViLXZhbHMgKDEwIDExIDEyKQorICAg
OnJhbmdlICg3KQorICAgOmVycm9yIHQpCisKKyAgKHRlc3Qtc2V0Zi1zZXEtc3Vic2VxLWNvbWJp
bmF0aW9ucworICAgOmluaXQtdmFscyAoMCAxIDIgMyA0KQorICAgOnN1Yi12YWxzICgxMiAxMyAx
NCAxNSkKKyAgIDpyYW5nZSAoMiAzKQorICAgOnJlc3VsdCAoMCAxIDEyIDMgNCkpCisKKyAgKHRl
c3Qtc2V0Zi1zZXEtc3Vic2VxLWNvbWJpbmF0aW9ucworICAgOmluaXQtdmFscyAoMCAxIDIgMyA0
KQorICAgOnN1Yi12YWxzICgxMiAxMyAxNCAxNSkKKyAgIDpyYW5nZSAoMiAyKQorICAgOnJlc3Vs
dCAoMCAxIDIgMyA0KSkKKworICAodGVzdC1zZXRmLXNlcS1zdWJzZXEtY29tYmluYXRpb25zCisg
ICA6aW5pdC12YWxzICgwIDEgMiAzIDQpCisgICA6c3ViLXZhbHMgKDEyIDEzIDE0IDE1KQorICAg
OnJhbmdlICg1KQorICAgOnJlc3VsdCAoMCAxIDIgMyA0KSkKKworICAodGVzdC1zZXRmLXNlcS1z
dWJzZXEtY29tYmluYXRpb25zCisgICA6aW5pdC12YWxzICgwIDEgMiAzIDQpCisgICA6c3ViLXZh
bHMgKDEyIDEzIDE0IDE1KQorICAgOnJhbmdlICg2KQorICAgOmVycm9yIHQpCisKKyAgKHRlc3Qt
c2V0Zi1zZXEtc3Vic2VxLWNvbWJpbmF0aW9ucworICAgOmluaXQtdmFscyAoMCAxIDIgMyA0KQor
ICAgOnN1Yi12YWxzICgxMiAxMyAxNCAxNSkKKyAgIDpyYW5nZSAoNSA2KQorICAgOmVycm9yIHQp
CisKKyAgKHRlc3Qtc2V0Zi1zZXEtc3Vic2VxLWNvbWJpbmF0aW9ucworICAgOmluaXQtdmFscyAo
MCAxIDIgMyA0IDUgNiA3IDggOSkKKyAgIDpzdWItdmFscyAoMTAgMTEgMTIgMTMgMTQpCisgICA6
cmFuZ2UgKC0yKQorICAgOnJlc3VsdCAoMCAxIDIgMyA0IDUgNiA3IDEwIDExKSkKKworICAodGVz
dC1zZXRmLXNlcS1zdWJzZXEtY29tYmluYXRpb25zCisgICA6aW5pdC12YWxzICgwIDEgMiAzIDQg
NSA2IDcgOCA5KQorICAgOnN1Yi12YWxzICgxMCAxMSAxMiAxMyAxNCkKKyAgIDpyYW5nZSAoLTYg
LTMpCisgICA6cmVzdWx0ICgwIDEgMiAzIDEwIDExIDEyIDcgOCA5KSkKKworICAodGVzdC1zZXRm
LXNlcS1zdWJzZXEtY29tYmluYXRpb25zCisgICA6aW5pdC12YWxzICgwIDEgMiAzIDQgNSA2IDcg
OCA5KQorICAgOnN1Yi12YWxzICgxMCAxMSAxMiAxMyAxNCkKKyAgIDpyYW5nZSAoLTYgLTEwKQor
ICAgOmVycm9yIHQpCisKKyAgOzsgVGhpcyByYW5nZSBtaWdodCBtYWtlIHNlbnNlLCBidXQgc2lu
Y2UgaXQgd291bGQgc2lnbmFsIGFuIGVycm9yCisgIDs7IGluIGBzZXEtc3Vic2VxJywgd2UgYWxz
byBzaWduYWwgYW4gZXJyb3IgaW4gdGhlIGBzZXRmJyBmZWF0dXJlLgorICAodGVzdC1zZXRmLXNl
cS1zdWJzZXEtY29tYmluYXRpb25zCisgICA6aW5pdC12YWxzICgwIDEgMiAzIDQgNSA2IDcgOCA5
KQorICAgOnN1Yi12YWxzICgxMCAxMSAxMiAxMyAxNCkKKyAgIDpyYW5nZSAoLTYgMCkKKyAgIDpl
cnJvciB0KQorCisgICh0ZXN0LXNldGYtc2VxLXN1YnNlcS1jb21iaW5hdGlvbnMKKyAgIDppbml0
LXZhbHMgKDAgMSAyIDMgNCA1IDYgNyA4IDkpCisgICA6c3ViLXZhbHMgKDEwIDExIDEyIDEzIDE0
KQorICAgOnJhbmdlICgxMDApCisgICA6ZXJyb3IgdCkKKworICAodGVzdC1zZXRmLXNlcS1zdWJz
ZXEtY29tYmluYXRpb25zCisgICA6aW5pdC12YWxzICgwIDEgMiAzIDQgNSA2IDcgOCA5KQorICAg
OnN1Yi12YWxzICgxMCAxMSAxMiAxMyAxNCkKKyAgIDpyYW5nZSAoLTEwMCkKKyAgIDplcnJvciB0
KSkKKwogKGVydC1kZWZ0ZXN0IHRlc3Qtc2VxLWNvbmNhdGVuYXRlICgpCiAgICh3aXRoLXRlc3Qt
c2VxdWVuY2VzIChzZXEgJygyIDQgNikpCiAgICAgKHNob3VsZCAoZXF1YWwgKHNlcS1jb25jYXRl
bmF0ZSAnc3RyaW5nIHNlcSBbOF0pIChzdHJpbmcgMiA0IDYgOCkpKQotLSAKMi4zNC4xCgo=

--b1_SK6XRgVXZEBNOBJQjOjTpkVopCf1jsIKFNwuD9uR8--





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

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


Received: (at submit) by debbugs.gnu.org; 14 May 2024 12:47:39 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue May 14 08:47:39 2024
Received: from localhost ([127.0.0.1]:39161 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1s6rZC-0004Yg-V8
	for submit <at> debbugs.gnu.org; Tue, 14 May 2024 08:47:39 -0400
Received: from lists.gnu.org ([209.51.188.17]:53832)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <okamsn@HIDDEN>) id 1s6rZA-0004YZ-Os
 for submit <at> debbugs.gnu.org; Tue, 14 May 2024 08:47:38 -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 <okamsn@HIDDEN>)
 id 1s6rZ9-0004LT-Ab
 for bug-gnu-emacs@HIDDEN; Tue, 14 May 2024 08:47:35 -0400
Received: from mail-4322.protonmail.ch ([185.70.43.22])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <okamsn@HIDDEN>)
 id 1s6rZ6-0003k2-P8
 for bug-gnu-emacs@HIDDEN; Tue, 14 May 2024 08:47:35 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;
 s=protonmail3; t=1715690839; x=1715950039;
 bh=dWWUmQToXMTg1XSBRYOBgqrGmLR1WyCwg/jiPG93Y88=;
 h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
 Message-ID:BIMI-Selector;
 b=hPOEfIAZ2mqLfFPVY3Q/c+EmCkvpiERbbrypjW1QjFjKjI/D6FfcI8g1fHCccCwmo
 3p6KacFpIoy6oz9KUFUPGTWsdMU7Bz/FHQuCt0F/dCLFKrw7tjLvLhE8b2lQnF53EA
 EXXwpCcw8YaFPPH6lP7JIpYeJXKadSZTCs/qD6UlDeeoRD0E5pI3M4j0DzGx408nIu
 6Ypf0k376kGHcY2tdSJzOVeVb+Mqtn2NAHY4fkBs2QPFP1Z1rF7zNIkSuiCOLD+Yv6
 2uc8K7nTfOxd/ZoHC5DiUoKa9+zFMkbKMFPDHT8zrBO15PekUCM6lwNpChr8tMlV/Z
 HbaHWFPj6s6sA==
Date: Tue, 14 May 2024 12:47:14 +0000
To: Michael Heerdegen <michael_heerdegen@HIDDEN>,
 "Okamsn via \"Bug reports for GNU Emacs,
 the Swiss army knife of text editors\"" <bug-gnu-emacs@HIDDEN>
From: Okamsn <okamsn@HIDDEN>
Subject: Re: bug#68863: Add support for using setf with seq-subseq
Message-ID: <538ac066-c421-4c1a-8714-0864917211e6@HIDDEN>
In-Reply-To: <87cypvmb8j.fsf@HIDDEN>
References: <050ba625-2372-425f-85c6-988e2ef4cf14@HIDDEN>
 <86y1bvw5ff.fsf@HIDDEN> <jwvmssbqbmx.fsf-monnier+emacs@HIDDEN>
 <2dfd9d7f-5c63-4e1d-845c-cd245a71fc34@HIDDEN>
 <8d2a8d06-5b69-4587-9aab-36f7c792c623@HIDDEN>
 <1fca0de5-236e-428f-9224-b03a4d7d6998@HIDDEN>
 <5db43ef0-f218-4790-b263-a3eb80929d9b@HIDDEN> <87cypvmb8j.fsf@HIDDEN>
Feedback-ID: 25935600:user:proton
X-Pm-Message-ID: bca411b429af78b6a3c656de420987a8cacc1314
MIME-Version: 1.0
Content-Type: multipart/mixed;
 boundary="b1_SK6XRgVXZEBNOBJQjOjTpkVopCf1jsIKFNwuD9uR8"
Received-SPF: pass client-ip=185.70.43.22; envelope-from=okamsn@HIDDEN;
 helo=mail-4322.protonmail.ch
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,
 RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001,
 SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.3 (-)
X-Debbugs-Envelope-To: submit
Cc: 68863 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>,
 Nicolas Petton <nicolas@HIDDEN>, 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 (--)

This is a multi-part message in MIME format.

--b1_SK6XRgVXZEBNOBJQjOjTpkVopCf1jsIKFNwuD9uR8
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Michael Heerdegen wrote:
> Hello again,
>=20
> There is a second point I want to hint at/ discuss:
>=20
> Some time ago we have removed lots of or even the majority of the
> so far implemented generalized variables.
>=20
> The main criteria were: are they useful, and is the semantics clear.  We
> should think about whether this is the case here.
>=20
> For `seq-subseq' the semantics is not completely unambiguous.  For
> example, the setter could exchange a subsequence - but also simply
> insert an additional piece, creating a longer sequence.  Both operations
> can be useful.
>=20
> Likewise, when an index (e.g. the starting position) is going beyond the
> end of a sequence, Emacs could raise an error, or provide functionality
> to append to the existing sequence.  Again, both kinds of behavior could
> make sense in different situations.
>=20
> Finally, the question of whether the operation is destructive, or which
> of the involved sequences are reused, is not trivial.
>=20
> Any thoughts about these points?  Is this generalized variable useful
> enough to make this acceptable?  Which kind of implementation do we
> prefer then?
>=20
>=20
> Michael.

Hello,

Here is what I have thought:

1. The setter should be consistent for different kinds of sequences. My=20
understanding is that arrays cannot be extended, so I think that it=20
should not be able to extend lists either. I think that something like a=20
non-destructive `seq-replace` or a non-destructive `seq-splice` is a=20
separate feature.

2. The setter should be consistent with how `seq-subseq` raises errors.=20
`seq-subseq` raises an error if a given index is greater than the=20
sequence's length, so the setter should too.

3. The setter should not modify the sequence containing the replacement=20
values. The manual states: "All functions defined in this library are=20
free of side-effects; i.e., they do not modify any sequence (list,=20
vector, or string) that you pass as an argument." I think that it makes=20
sense for the setter to modify the target sequence, because `setf` is=20
used to set places to values, but I think that it would be unexpected to=20
modify the sequence of replacement values and that it would be contrary=20
to what the manual states and how the other features behave.

I will try to find uses of `cl-replace` and maybe uses of `append` and=20
`nconc` for examples. Also, I have attached a version of the patch that=20
does not compute the length of the list unless needed.

Thank you.
--b1_SK6XRgVXZEBNOBJQjOjTpkVopCf1jsIKFNwuD9uR8
Content-Type: text/x-patch; charset=UTF-8; name=v4-0001-Add-setf-support-for-seq-subseq.patch
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=v4-0001-Add-setf-support-for-seq-subseq.patch

RnJvbSA4OWM2ODAwZTRlNzg4ZDZhMTIxMTE0YmMxNmY0N2UxYmJjMmVlODE0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBFYXJsIEh5YXR0IDxva2Ftc25AcHJvdG9ubWFpbC5jb20+CkRh
dGU6IFN1biwgMjggSmFuIDIwMjQgMjI6NDg6MTMgLTA1MDAKU3ViamVjdDogW1BBVENIIHY0XSBB
ZGQgc2V0ZiBzdXBwb3J0IGZvciBzZXEtc3Vic2VxLgoKKiBsaXNwL2VtYWNzLWxpc3Avc2VxLmVs
IChzZXEtc3Vic2VxKTogQWRkIGEgZ2VuZXJpYyB2ZXJzaW9uIG9mCmNhbGxpbmcgc2V0ZiBvbiBz
ZXEtc3Vic2VxIGFuZCBhZGQgYSBzcGVjaWFsaXplZCB2ZXJzaW9uIGZvciB3aGVuIHRoZQptb2Rp
ZmllZCBzZXF1ZW5jZSBpcyBhIGxpc3QuCiogdGVzdC9saXNwL2VtYWNzLWxpc3Avc2VxLXRlc3Rz
LmVsICh0ZXN0LXNldGYtc2VxLXN1YnNlcSkKKHRlc3Qtc2V0Zi1zZXEtc3Vic2VxLWNvbWJpbmF0
aW9ucyk6IEFkZCB0ZXN0cyBmb3IgdGhlIGZlYXR1cmUuCgpUaGUgZmVhdHVyZSB3aWxsIHNpZ25h
bCAnYXJncy1vdXQtb2YtcmFuZ2UnIGlmIHRoZSBzdGFydGluZyBpbmRleCBvcgplbmRpbmcgaW5k
ZXggKGlmIGdpdmVuKSBpcyBvdXRzaWRlIG9mIHRoZSByYW5nZSBvZiB2YWx1ZXMgZnJvbSAwCnRo
cm91Z2ggdGhlIGxlbmd0aCBvZiB0aGUgc2VxdWVuY2Ugb3IgZnJvbSB0aGUgbmVnYXRpdmUgbGVu
Z3RoIG9mIHRoZQpzZXF1ZW5jZSB0aHJvdWdoIG5lZ2F0aXZlIDEuICBJZiB0aGUgc3RhcnRpbmcg
aW5kZXggaXMgZXF1YWwgdG8gdGhlCmxlbmd0aCBvZiB0aGUgc2VxdWVuY2UsIHRoZW4gbm90aGlu
ZyBpcyBjaGFuZ2VkLiAgSWYgdGhlIHN0YXJ0aW5nCmluZGV4IGlzIGVxdWFsIHRvIHRoZSBlbmRp
bmcgaW5kZXgsIHRoZW4gbm90aGluZyBpcyBjaGFuZ2VkLiAgVGhlCmZlYXR1cmUgc2hvdWxkIHNp
Z25hbCBhbiBlcnJvciBpbiBhbGwgY2FzZXMgd2hlcmUgdXNpbmcgJ3NlcS1zdWJzZXEnCndvdWxk
IHNpZ25hbCBhbiBlcnJvci4KLS0tCiBsaXNwL2VtYWNzLWxpc3Avc2VxLmVsICAgICAgICAgICAg
fCAxMDQgKysrKysrKysrKysrKysrKysrKysrCiB0ZXN0L2xpc3AvZW1hY3MtbGlzcC9zZXEtdGVz
dHMuZWwgfCAxNDkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5n
ZWQsIDI1MyBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbGlzcC9lbWFjcy1saXNwL3NlcS5l
bCBiL2xpc3AvZW1hY3MtbGlzcC9zZXEuZWwKaW5kZXggYTIwY2ZmMTY5ODIuLjk1Njg4YTYwNjQ1
IDEwMDY0NAotLS0gYS9saXNwL2VtYWNzLWxpc3Avc2VxLmVsCisrKyBiL2xpc3AvZW1hY3MtbGlz
cC9zZXEuZWwKQEAgLTE5Myw2ICsxOTMsMTEwIEBAIHNlcS1zdWJzZXEKICAgICAgICAgKGNvcHkt
c2VxdWVuY2Ugc2VxdWVuY2UpKSkpCiAgICAodCAoZXJyb3IgIlVuc3VwcG9ydGVkIHNlcXVlbmNl
OiAlcyIgc2VxdWVuY2UpKSkpCiAKKyhjbC1kZWZnZW5lcmljIChzZXRmIHNlcS1zdWJzZXEpIChz
dG9yZSBzZXF1ZW5jZSBzdGFydCAmb3B0aW9uYWwgZW5kKQorICAiTW9kaWZ5IHRoZSBlbGVtZW50
cyBvZiBTRVFVRU5DRSBmcm9tIFNUQVJUIHRvIEVORCB0byBiZSB0aG9zZSBvZiBTVE9SRS4KK0VO
RCBpcyBleGNsdXNpdmUuCisKK0lmIEVORCBpcyBvbWl0dGVkLCBpdCBkZWZhdWx0cyB0byB0aGUg
bGVuZ3RoIG9mIHRoZSBzZXF1ZW5jZS4gIElmCitTVEFSVCBvciBFTkQgaXMgbmVnYXRpdmUsIGl0
IGNvdW50cyBmcm9tIHRoZSBlbmQuICBTaWduYWwgYW4KK2Vycm9yIGlmIFNUQVJUIG9yIEVORCBh
cmUgb3V0c2lkZSBvZiB0aGUgc2VxdWVuY2UgKGkuZSB0b28gbGFyZ2UKK2lmIHBvc2l0aXZlIG9y
IHRvbyBzbWFsbCBpZiBuZWdhdGl2ZSkuCisKK1NFUVVFTkNFIGlzIG5laXRoZXIgbGVuZ3RoZW5l
ZCBub3Igc2hvcnRlbmVkLiIKKyAgKGxldCogKChsZW4gKHNlcS1sZW5ndGggc2VxdWVuY2UpKQor
ICAgICAgICAgKHNpZ25hbC1mbiAobGFtYmRhICgpCisgICAgICAgICAgICAgICAgICAgICAgKHNp
Z25hbCAnYXJncy1vdXQtb2YtcmFuZ2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChp
ZiBlbmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobGlzdCBzZXF1ZW5jZSBz
dGFydCBlbmQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsaXN0IHNlcXVlbmNl
IHN0YXJ0KSkpKSkKKyAgICAgICAgIChzaWduYWwtb3ItdmFsLWZuIChsYW1iZGEgKHZhbCkKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbmQKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICgoPiB2YWwgbGVuKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmdW5j
YWxsIHNpZ25hbC1mbikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKDwgdmFsIDAp
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxldCAoKHZhbDIgKCsgdmFsIGxlbikp
KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmICg8IHZhbDIgMCkKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY2FsbCBzaWduYWwtZm4pCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbDIpKSkKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICh0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsKSkpKQor
ICAgICAgICAgKGlkeCAoZnVuY2FsbCBzaWduYWwtb3ItdmFsLWZuIHN0YXJ0KSkKKyAgICAgICAg
IChpZHgtZW5kIChpZiAobnVsbCBlbmQpCisgICAgICAgICAgICAgICAgICAgICAgbGVuCisgICAg
ICAgICAgICAgICAgICAgIChmdW5jYWxsIHNpZ25hbC1vci12YWwtZm4gZW5kKSkpCisgICAgICAg
ICAodGFnIChnZW5zeW0pKSkKKyAgICAoaWYgKD4gaWR4IGlkeC1lbmQpCisgICAgICAgIChmdW5j
YWxsIHNpZ25hbC1mbikKKyAgICAgIChjYXRjaCB0YWcKKyAgICAgICAgKHNlcS1kbyAobGFtYmRh
ICh2KQorICAgICAgICAgICAgICAgICAgKGlmICg8IGlkeCBpZHgtZW5kKQorICAgICAgICAgICAg
ICAgICAgICAgIChzZXRmIChzZXEtZWx0IHNlcXVlbmNlIGlkeCkgdgorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGlkeCAoMSsgaWR4KSkKKyAgICAgICAgICAgICAgICAgICAgKHRocm93IHRh
ZyBuaWwpKSkKKyAgICAgICAgICAgICAgICBzdG9yZSkpKSkKKyAgc3RvcmUpCisKKyhjbC1kZWZt
ZXRob2QgKHNldGYgc2VxLXN1YnNlcSkgKHN0b3JlIChzZXF1ZW5jZSBsaXN0KSBzdGFydCAmb3B0
aW9uYWwgZW5kKQorICAiTW9kaWZ5IHRoZSBlbGVtZW50cyBvZiBTRVFVRU5DRSBmcm9tIFNUQVJU
IHRvIEVORCB0byBiZSB0aG9zZSBvZiBTVE9SRS4KK0VORCBpcyBleGNsdXNpdmUuCisKK0lmIEVO
RCBpcyBvbWl0dGVkLCBpdCBkZWZhdWx0cyB0byB0aGUgbGVuZ3RoIG9mIHRoZSBzZXF1ZW5jZS4g
IElmCitTVEFSVCBvciBFTkQgaXMgbmVnYXRpdmUsIGl0IGNvdW50cyBmcm9tIHRoZSBlbmQuICBT
aWduYWwgYW4KK2Vycm9yIGlmIFNUQVJUIG9yIEVORCBhcmUgb3V0c2lkZSBvZiB0aGUgc2VxdWVu
Y2UgKGkuZSB0b28gbGFyZ2UKK2lmIHBvc2l0aXZlIG9yIHRvbyBzbWFsbCBpZiBuZWdhdGl2ZSku
CisKK1NFUVVFTkNFIGlzIG5laXRoZXIgbGVuZ3RoZW5lZCBub3Igc2hvcnRlbmVkLiIKKyAgKGxl
dCogKChhcmctc3RhcnQgc3RhcnQpCisgICAgICAgICAoYXJnLWVuZCBlbmQpCisgICAgICAgICAo
c2lnbmFsLWZuIChsYW1iZGEgKCkKKyAgICAgICAgICAgICAgICAgICAgICAoc2lnbmFsICdhcmdz
LW91dC1vZi1yYW5nZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmIGFyZy1lbmQK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobGlzdCBzZXF1ZW5jZSBhcmctc3Rh
cnQgYXJnLWVuZCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxpc3Qgc2VxdWVu
Y2UgYXJnLXN0YXJ0KSkpKSkKKyAgICAgICAgIChsZW4pCisgICAgICAgICAobmVnLXN0YXJ0ICg8
IHN0YXJ0IDApKQorICAgICAgICAgKG5lZy1lbmQgKGFuZCBlbmQgKDwgZW5kIDApKSkpCisgICAg
OzsgQXZvaWQgY2FsY3VsYXRpbmcgdGhlIGxlbmd0aCBvZiB0aGUgbGlzdCBpZiB3ZSBkb24ndCBu
ZWVkIHRvby4KKyAgICAod2hlbiAob3IgbmVnLXN0YXJ0IG5lZy1lbmQpCisgICAgICAoc2V0cSBs
ZW4gKGxlbmd0aCBzZXF1ZW5jZSkpCisgICAgICAod2hlbiBuZWctc3RhcnQKKyAgICAgICAgKHNl
dHEgc3RhcnQgKCsgbGVuIHN0YXJ0KSkKKyAgICAgICAgKHdoZW4gKG9yICg+PSBzdGFydCBsZW4p
CisgICAgICAgICAgICAgICAgICAoPCBzdGFydCAwKSkKKyAgICAgICAgICAoZnVuY2FsbCBzaWdu
YWwtZm4pKSkKKyAgICAgICh3aGVuIG5lZy1lbmQKKyAgICAgICAgKHNldHEgZW5kICgrIGxlbiBl
bmQpKQorICAgICAgICAod2hlbiAob3IgKD4gZW5kIGxlbikKKyAgICAgICAgICAgICAgICAgICg8
IGVuZCAwKSkKKyAgICAgICAgICAoZnVuY2FsbCBzaWduYWwtZm4pKSkpCisgICAgOzsgSWYgd2Ug
YWxyZWFkeSBjYWxjdWxhdGVkIHRoZSBsZW5ndGgsIHRoZW4gd2UKKyAgICA7OyBhbHJlYWR5IGNo
ZWNrZWQgU1RBUlQgb3IgRU5ELiAgSWYgbm90LAorICAgIDs7IHRoZW4gd2UgY2hlY2sgd2hldGhl
ciB0aGUgbnRoIGNkciBzYXRpc2ZpZXMKKyAgICA7OyBTVEFSVCBhbmQgRU5ELgorICAgIChsZXQg
KChyZXBsYWNlZCAobnRoY2RyIHN0YXJ0IHNlcXVlbmNlKSkpCisgICAgICAoaWYgKG9yIChudWxs
IHJlcGxhY2VkKQorICAgICAgICAgICAgICAoYW5kIChudWxsIGxlbikKKyAgICAgICAgICAgICAg
ICAgICBlbmQKKyAgICAgICAgICAgICAgICAgICAobGVuZ3RoPCByZXBsYWNlZCAoLSBlbmQgc3Rh
cnQpKSkpCisgICAgICAgICAgKGZ1bmNhbGwgc2lnbmFsLWZuKQorICAgICAgICAobGV0ICgodGFn
IChnZW5zeW0pKSkKKyAgICAgICAgICAoY2F0Y2ggdGFnCisgICAgICAgICAgICAoc2VxLWRvIChp
ZiBlbmQKKyAgICAgICAgICAgICAgICAgICAgICAgIChsZXQgKChpZHggc3RhcnQpKQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAobGFtYmRhICh2KQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIChpZiAoPCBpZHggZW5kKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2V0
ZiAoY2FyIHJlcGxhY2VkKSB2CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHJlcGxhY2VkIChjZHIgcmVwbGFjZWQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGlkeCAoMSsgaWR4KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh0aHJv
dyB0YWcgbmlsKSkpKQorICAgICAgICAgICAgICAgICAgICAgIChsYW1iZGEgKHYpCisgICAgICAg
ICAgICAgICAgICAgICAgICAoaWYgcmVwbGFjZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAoc2V0ZiAoY2FyIHJlcGxhY2VkKSB2CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcmVwbGFjZWQgKGNkciByZXBsYWNlZCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICh0
aHJvdyB0YWcgbmlsKSkpKQorICAgICAgICAgICAgICAgICAgICBzdG9yZSkpKSkpKQorICBzdG9y
ZSkKKwogDAogKGNsLWRlZmdlbmVyaWMgc2VxLW1hcCAoZnVuY3Rpb24gc2VxdWVuY2UpCiAgICJS
ZXR1cm4gdGhlIHJlc3VsdCBvZiBhcHBseWluZyBGVU5DVElPTiB0byBlYWNoIGVsZW1lbnQgb2Yg
U0VRVUVOQ0UuIgpkaWZmIC0tZ2l0IGEvdGVzdC9saXNwL2VtYWNzLWxpc3Avc2VxLXRlc3RzLmVs
IGIvdGVzdC9saXNwL2VtYWNzLWxpc3Avc2VxLXRlc3RzLmVsCmluZGV4IGMwNmNlYjAwYmRiLi5k
M2U0NmMzMmY5OSAxMDA2NDQKLS0tIGEvdGVzdC9saXNwL2VtYWNzLWxpc3Avc2VxLXRlc3RzLmVs
CisrKyBiL3Rlc3QvbGlzcC9lbWFjcy1saXNwL3NlcS10ZXN0cy5lbApAQCAtMzEyLDYgKzMxMiwx
NTUgQEAgdGVzdC1zZXEtc3Vic2VxCiAgICAgICAgICAgICAgICAgICAoOnN1Y2Nlc3MKICAgICAg
ICAgICAgICAgICAgICAoc2hvdWxkIChlcXVhbCAoc2VxLXN1YnNlcSBsaXN0IHN0YXJ0IGVuZCkg
cmVzKSkpKSkpKSkpKSkpCiAKKyhjbC1kZWZtYWNybyB0ZXN0LXNldGYtc2VxLXN1YnNlcS1jb21i
aW5hdGlvbnMKKyAgICAoJmtleSBpbml0LXZhbHMgc3ViLXZhbHMgcmVzdWx0IHJhbmdlIGVycm9y
KQorICAiTWFrZSBhIHRlc3QgZm9yIGVhY2ggY29tYmluYXRpb24gb2Ygc2VxdWVuY2UgdHlwZSBm
b3IgYHNlcS1zdWJzZXEnIHVzaW5nIGBzZXRmJy4KKworLSBJTklULVZBTFMgaXMgYSBsaXN0IGhv
bGRpbmcgdGhlIGluaXRpYWwgZWxlbWVudHMuCistIFJFU1VMVCBpcyB3aGF0IHRoZSBmaW5hbCB2
YWx1ZSBzaG91bGQgYmUgYWZ0ZXIgc3Vic3RpdHV0aW9uLgorLSBFUlJPUiBpcyB3aGV0aGVyIHRo
ZSBmb3JtIHNob3VsZCBzaWduYWwgYGFyZ3Mtb3V0LW9mLXJhbmdlJy4KKy0gU1VCLVZBTFMgaXMg
YSBsaXN0IGhvbGRpbmcgdGhlIGVsZW1lbnRzIHRvIGJlIHN1YnN0aXR1dGVkIGluLgorLSBSQU5H
RSBpcyBhIGxpc3Qgb2YgdGhlIGBzdGFydCcgYW5kIGBlbmQnIGFyZ3VtZW50cyBvZiBgc2VxLXN1
YnNlcScuIgorICAobGV0ICgodGVzdHMpKQorICAgIChkb2xpc3QgKHR5cGUxICcobGlzdCB2ZWN0
b3Igc3RyaW5nKSkKKyAgICAgIChkb2xpc3QgKHR5cGUyICcobGlzdCB2ZWN0b3Igc3RyaW5nKSkK
KyAgICAgICAgKHB1c2ggIChpZiBlcnJvcgorICAgICAgICAgICAgICAgICAgIGAoc2hvdWxkLWVy
cm9yIChsZXQgKChzZXEgKCx0eXBlMSAsQGluaXQtdmFscykpKQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgKHNldGYgKHNlcS1zdWJzZXEgc2VxICxAcmFuZ2UpCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoLHR5cGUyICxAc3ViLXZhbHMpKQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VxKQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDp0eXBlIChxdW90ZSBhcmdzLW91dC1vZi1yYW5nZSkpCisgICAg
ICAgICAgICAgICAgIGAoc2hvdWxkIChlcXVhbCAoLHR5cGUxICxAcmVzdWx0KQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgKGxldCAoKHNlcSAoLHR5cGUxICxAaW5pdC12YWxzKSkp
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZXRmIChzZXEtc3Vic2VxIHNl
cSAsQHJhbmdlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoLHR5
cGUyICxAc3ViLXZhbHMpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXEp
KSkpCisgICAgICAgICAgICAgICB0ZXN0cykpKQorICAgIGAocHJvZ24gLEB0ZXN0cykpKQorCiso
ZXJ0LWRlZnRlc3QgdGVzdC1zZXRmLXNlcS1zdWJzZXEgKCkKKyAgIlRlc3QgdXNpbmcgYHNlcS1z
dWJzZXEnIHdpdGggYHNldGYnLgorCitBbnkgY29tYmluYXRpb24gb2Ygc2VxdWVuY2VzIHNob3Vs
ZCB3b3JrLgorCitBbiBlcnJvciBzaG91bGQgYmUgc2lnbmFsbGVkIGlmIHRoZSBpbmNsdXNpdmUg
c3RhcnRpbmcgaW5kZXggb3IKK3RoZSBleGNsdXNpdmUgZW5kaW5nIGluZGV4IGlzIG91dCBvZiB0
aGUgcmFuZ2UgZnJvbSAwIHRocm91Z2ggdGhlCitsZW5ndGggb2YgdGhlIHNlcXVlbmNlLCBvciBp
ZiB0aGUgc3RhcnRpbmcgaW5kZXggaXMgZ3JlYXRlciB0aGFuCit0aGUgZW5kaW5nIGluZGV4LiAg
SWYgdGhlIHN0YXJ0aW5nIGluZGV4IGlzIGVxdWFsIHRvIHRoZSBlbmRpbmcKK2luZGV4LCB0aGVu
IG5vdGhpbmcgaXMgY2hhbmdlZC4gIElmIHRoZSBzdGFydGluZyBpbmRleCBpcyBlcXVhbAordG8g
dGhlIGxlbmd0aCBvZiB0aGUgc2VxdWVuY2UsIHRoZW4gbm90aGluZyBpcyBjaGFuZ2VkLiAgSXQK
K3Nob3VsZCBzaWduYWwgYW4gZXJyb3IgaW4gYWxsIHRoZSBjYXNlcyB0aGF0IGBzZXEtc3Vic2Vx
JyBzaWduYWxzCithbiBlcnJvci4iCisgICh0ZXN0LXNldGYtc2VxLXN1YnNlcS1jb21iaW5hdGlv
bnMKKyAgIDppbml0LXZhbHMgKDAgMSAyKQorICAgOnN1Yi12YWxzICgxMCAxMSAxMikKKyAgIDpy
YW5nZSAoMCkKKyAgIDpyZXN1bHQgKDEwIDExIDEyKSkKKworICAodGVzdC1zZXRmLXNlcS1zdWJz
ZXEtY29tYmluYXRpb25zCisgICA6aW5pdC12YWxzICgwIDEpCisgICA6c3ViLXZhbHMgKDEwIDEx
IDEyKQorICAgOnJhbmdlICgwKQorICAgOnJlc3VsdCAoMTAgMTEpKQorCisgICh0ZXN0LXNldGYt
c2VxLXN1YnNlcS1jb21iaW5hdGlvbnMKKyAgIDppbml0LXZhbHMgKDAgMSAyKQorICAgOnN1Yi12
YWxzICgxMCAxMSAxMikKKyAgIDpyYW5nZSAoMSkKKyAgIDpyZXN1bHQgKDAgMTAgMTEpKQorCisg
ICh0ZXN0LXNldGYtc2VxLXN1YnNlcS1jb21iaW5hdGlvbnMKKyAgIDppbml0LXZhbHMgKDAgMSAy
KQorICAgOnN1Yi12YWxzICgxMCAxMSAxMikKKyAgIDpyYW5nZSAoMSAzKQorICAgOnJlc3VsdCAo
MCAxMCAxMSkpCisKKyAgKHRlc3Qtc2V0Zi1zZXEtc3Vic2VxLWNvbWJpbmF0aW9ucworICAgOmlu
aXQtdmFscyAoMCAxIDIpCisgICA6c3ViLXZhbHMgKDEwIDExIDEyKQorICAgOnJhbmdlICgzIDEp
CisgICA6ZXJyb3IgdCkKKworICAodGVzdC1zZXRmLXNlcS1zdWJzZXEtY29tYmluYXRpb25zCisg
ICA6aW5pdC12YWxzICgwIDEgMikKKyAgIDpzdWItdmFscyAoMTAgMTEgMTIpCisgICA6cmFuZ2Ug
KDEgMTAwKQorICAgOmVycm9yIHQpCisKKyAgKHRlc3Qtc2V0Zi1zZXEtc3Vic2VxLWNvbWJpbmF0
aW9ucworICAgOmluaXQtdmFscyAoMCAxIDIpCisgICA6c3ViLXZhbHMgKDEwIDExIDEyKQorICAg
OnJhbmdlICg3KQorICAgOmVycm9yIHQpCisKKyAgKHRlc3Qtc2V0Zi1zZXEtc3Vic2VxLWNvbWJp
bmF0aW9ucworICAgOmluaXQtdmFscyAoMCAxIDIgMyA0KQorICAgOnN1Yi12YWxzICgxMiAxMyAx
NCAxNSkKKyAgIDpyYW5nZSAoMiAzKQorICAgOnJlc3VsdCAoMCAxIDEyIDMgNCkpCisKKyAgKHRl
c3Qtc2V0Zi1zZXEtc3Vic2VxLWNvbWJpbmF0aW9ucworICAgOmluaXQtdmFscyAoMCAxIDIgMyA0
KQorICAgOnN1Yi12YWxzICgxMiAxMyAxNCAxNSkKKyAgIDpyYW5nZSAoMiAyKQorICAgOnJlc3Vs
dCAoMCAxIDIgMyA0KSkKKworICAodGVzdC1zZXRmLXNlcS1zdWJzZXEtY29tYmluYXRpb25zCisg
ICA6aW5pdC12YWxzICgwIDEgMiAzIDQpCisgICA6c3ViLXZhbHMgKDEyIDEzIDE0IDE1KQorICAg
OnJhbmdlICg1KQorICAgOnJlc3VsdCAoMCAxIDIgMyA0KSkKKworICAodGVzdC1zZXRmLXNlcS1z
dWJzZXEtY29tYmluYXRpb25zCisgICA6aW5pdC12YWxzICgwIDEgMiAzIDQpCisgICA6c3ViLXZh
bHMgKDEyIDEzIDE0IDE1KQorICAgOnJhbmdlICg2KQorICAgOmVycm9yIHQpCisKKyAgKHRlc3Qt
c2V0Zi1zZXEtc3Vic2VxLWNvbWJpbmF0aW9ucworICAgOmluaXQtdmFscyAoMCAxIDIgMyA0KQor
ICAgOnN1Yi12YWxzICgxMiAxMyAxNCAxNSkKKyAgIDpyYW5nZSAoNSA2KQorICAgOmVycm9yIHQp
CisKKyAgKHRlc3Qtc2V0Zi1zZXEtc3Vic2VxLWNvbWJpbmF0aW9ucworICAgOmluaXQtdmFscyAo
MCAxIDIgMyA0IDUgNiA3IDggOSkKKyAgIDpzdWItdmFscyAoMTAgMTEgMTIgMTMgMTQpCisgICA6
cmFuZ2UgKC0yKQorICAgOnJlc3VsdCAoMCAxIDIgMyA0IDUgNiA3IDEwIDExKSkKKworICAodGVz
dC1zZXRmLXNlcS1zdWJzZXEtY29tYmluYXRpb25zCisgICA6aW5pdC12YWxzICgwIDEgMiAzIDQg
NSA2IDcgOCA5KQorICAgOnN1Yi12YWxzICgxMCAxMSAxMiAxMyAxNCkKKyAgIDpyYW5nZSAoLTYg
LTMpCisgICA6cmVzdWx0ICgwIDEgMiAzIDEwIDExIDEyIDcgOCA5KSkKKworICAodGVzdC1zZXRm
LXNlcS1zdWJzZXEtY29tYmluYXRpb25zCisgICA6aW5pdC12YWxzICgwIDEgMiAzIDQgNSA2IDcg
OCA5KQorICAgOnN1Yi12YWxzICgxMCAxMSAxMiAxMyAxNCkKKyAgIDpyYW5nZSAoLTYgLTEwKQor
ICAgOmVycm9yIHQpCisKKyAgOzsgVGhpcyByYW5nZSBtaWdodCBtYWtlIHNlbnNlLCBidXQgc2lu
Y2UgaXQgd291bGQgc2lnbmFsIGFuIGVycm9yCisgIDs7IGluIGBzZXEtc3Vic2VxJywgd2UgYWxz
byBzaWduYWwgYW4gZXJyb3IgaW4gdGhlIGBzZXRmJyBmZWF0dXJlLgorICAodGVzdC1zZXRmLXNl
cS1zdWJzZXEtY29tYmluYXRpb25zCisgICA6aW5pdC12YWxzICgwIDEgMiAzIDQgNSA2IDcgOCA5
KQorICAgOnN1Yi12YWxzICgxMCAxMSAxMiAxMyAxNCkKKyAgIDpyYW5nZSAoLTYgMCkKKyAgIDpl
cnJvciB0KQorCisgICh0ZXN0LXNldGYtc2VxLXN1YnNlcS1jb21iaW5hdGlvbnMKKyAgIDppbml0
LXZhbHMgKDAgMSAyIDMgNCA1IDYgNyA4IDkpCisgICA6c3ViLXZhbHMgKDEwIDExIDEyIDEzIDE0
KQorICAgOnJhbmdlICgxMDApCisgICA6ZXJyb3IgdCkKKworICAodGVzdC1zZXRmLXNlcS1zdWJz
ZXEtY29tYmluYXRpb25zCisgICA6aW5pdC12YWxzICgwIDEgMiAzIDQgNSA2IDcgOCA5KQorICAg
OnN1Yi12YWxzICgxMCAxMSAxMiAxMyAxNCkKKyAgIDpyYW5nZSAoLTEwMCkKKyAgIDplcnJvciB0
KSkKKwogKGVydC1kZWZ0ZXN0IHRlc3Qtc2VxLWNvbmNhdGVuYXRlICgpCiAgICh3aXRoLXRlc3Qt
c2VxdWVuY2VzIChzZXEgJygyIDQgNikpCiAgICAgKHNob3VsZCAoZXF1YWwgKHNlcS1jb25jYXRl
bmF0ZSAnc3RyaW5nIHNlcSBbOF0pIChzdHJpbmcgMiA0IDYgOCkpKQotLSAKMi4zNC4xCgo=

--b1_SK6XRgVXZEBNOBJQjOjTpkVopCf1jsIKFNwuD9uR8--





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

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


Received: (at 68863) by debbugs.gnu.org; 9 May 2024 13:56:36 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu May 09 09:56:36 2024
Received: from localhost ([127.0.0.1]:55400 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1s54G9-00033d-JF
	for submit <at> debbugs.gnu.org; Thu, 09 May 2024 09:56:36 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:46493)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1s54G3-00033X-Vt
 for 68863 <at> debbugs.gnu.org; Thu, 09 May 2024 09:56:32 -0400
Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id D5885441560;
 Thu,  9 May 2024 09:55:55 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1715262954;
 bh=4alfRfEMXqM8gDmTujxlpsNoRIsvSOItMo98epnME/U=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=gr2vC8+3YjyyzFmpJ3iL5mMf15lMqNGRO3YPerFs0pxDK1Fs5shi8UHSJ80F/BKGr
 07yVeXa0OEHZLrsiA1lK6B/DVNTr83jWnPb9/qYdI2K30+QCuPkpyfH8Jsl7P6OwpG
 8e+yvs82uShw5I0yyqKNxMkqia9IWIuncjYriLr4OYkrKeVYxBaJ9ovTku8Jv4eJ6R
 yf6l+Prn433d8SiWPuGjlpP/iivV4TWblpfJNhdk1BfSSi1PpYhRPbc/2v0C1M6Pg9
 +FXgdBeWkT3LipSvSKwBRqjcCdbQIb8HQEyhtPc1d+Tn541Lptx+6UjaZj8J8+kjaF
 jqf9cYNY31Gew==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 6560E441423;
 Thu,  9 May 2024 09:55:54 -0400 (EDT)
Received: from pastel (unknown [45.72.201.215])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 345FF1206FE;
 Thu,  9 May 2024 09:55:54 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
To: Michael Heerdegen <michael_heerdegen@HIDDEN>
Subject: Re: bug#68863: Add support for using setf with seq-subseq
In-Reply-To: <87cypvmb8j.fsf@HIDDEN> (Michael Heerdegen's message of "Thu, 09
 May 2024 14:16:28 +0200")
Message-ID: <jwv1q6b14pc.fsf-monnier+emacs@HIDDEN>
References: <050ba625-2372-425f-85c6-988e2ef4cf14@HIDDEN>
 <86y1bvw5ff.fsf@HIDDEN> <jwvmssbqbmx.fsf-monnier+emacs@HIDDEN>
 <2dfd9d7f-5c63-4e1d-845c-cd245a71fc34@HIDDEN>
 <8d2a8d06-5b69-4587-9aab-36f7c792c623@HIDDEN>
 <1fca0de5-236e-428f-9224-b03a4d7d6998@HIDDEN>
 <5db43ef0-f218-4790-b263-a3eb80929d9b@HIDDEN>
 <87cypvmb8j.fsf@HIDDEN>
Date: Thu, 09 May 2024 09:55:45 -0400
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.001 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain
X-SPAM-LEVEL: 
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 68863
Cc: 68863 <at> debbugs.gnu.org, okamsn@HIDDEN, eliz@HIDDEN,
 nicolas@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 (---)

> Some time ago we have removed lots of or even the majority of the
> so far implemented generalized variables.
>
> The main criteria were: are they useful, and is the semantics clear.  We
> should think about whether this is the case here.

Agreed.  We should not lose track of the fact that we're talking about
"generalized variables".  Treating `(seq-subset ...)` as a "generalized
variable" (aka a "place") is stretching the idea, which we can see in the
fact that there are several different alternative ways to implement the
feature with incompatible semantics.

IOW, as a general rule a function that returns a fresh new value is
often not a good candidate for a "gv-place".  That doesn't mean we can't
accept such a change (I'm pretty sure we do have and (ab)use such
gv-places), but that it has to be weighed against its practical
usefulness.

IOW, I'd like to see existing code where we could make use of it to
simplify the code.  That might also help decide decide which semantics
would be preferable.


        Stefan





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

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


Received: (at 68863) by debbugs.gnu.org; 9 May 2024 12:16:28 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu May 09 08:16:28 2024
Received: from localhost ([127.0.0.1]:54981 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1s52hH-0001ko-Vn
	for submit <at> debbugs.gnu.org; Thu, 09 May 2024 08:16:28 -0400
Received: from mout.web.de ([212.227.15.14]:47567)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <michael_heerdegen@HIDDEN>) id 1s52hF-0001kC-SE
 for 68863 <at> debbugs.gnu.org; Thu, 09 May 2024 08:16:27 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=web.de;
 s=s29768273; t=1715256946; x=1715861746;
 i=michael_heerdegen@HIDDEN;
 bh=Gtk1t4Iao6ld/oJOVMHD0byfmfLJZC6VUeYgKRmq/ZE=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date:
 Message-ID:MIME-Version:Content-Type:cc:content-transfer-encoding:
 content-type:date:from:message-id:mime-version:reply-to:subject:
 to;
 b=KavFJpz0gHSFHBP4VpnYObxIM81+r1mcGmu7g5tOQy71yvzmWyXiWMrfdSmi78Fy
 oUSMeT2S3C88BtjQ8woG2glIHaTAcdbG5CdXmpW8X7Wb2HYcfb2riEhggSpE2YVhn
 XG0OIydi1pYpha6MFagkFJIos+w9ciczYankVLoQvOy50+9T8PCjPFriyHd04hbOd
 nV5kuXQb+KrcXmGgbqOdBJNk4SfYcMhKkJQN1hx+kR7csY1dGX9BI/ryXtNvS/mLJ
 fo1Iahcq79N6xxPtwlMaxoiJPU2W5B470hmb0E8Kr1Nxx5qPOcpLazsfILJY34RCg
 UjWxoPFviOBgjsk3Nw==
X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6
Received: from drachen.dragon ([84.57.248.23]) by smtp.web.de (mrweb006
 [213.165.67.108]) with ESMTPSA (Nemesis) id 1MuVKI-1swJnP3X9e-00rQsf; Thu, 09
 May 2024 14:15:45 +0200
From: Michael Heerdegen <michael_heerdegen@HIDDEN>
To: Okamsn via "Bug reports for GNU Emacs, the Swiss army knife of text
 editors" <bug-gnu-emacs@HIDDEN>
Subject: Re: bug#68863: Add support for using setf with seq-subseq
In-Reply-To: <5db43ef0-f218-4790-b263-a3eb80929d9b@HIDDEN> (Okamsn
 via's message of "Tue, 07 May 2024 01:45:44 +0000")
References: <050ba625-2372-425f-85c6-988e2ef4cf14@HIDDEN>
 <86y1bvw5ff.fsf@HIDDEN> <jwvmssbqbmx.fsf-monnier+emacs@HIDDEN>
 <2dfd9d7f-5c63-4e1d-845c-cd245a71fc34@HIDDEN>
 <8d2a8d06-5b69-4587-9aab-36f7c792c623@HIDDEN>
 <1fca0de5-236e-428f-9224-b03a4d7d6998@HIDDEN>
 <5db43ef0-f218-4790-b263-a3eb80929d9b@HIDDEN>
Date: Thu, 09 May 2024 14:16:28 +0200
Message-ID: <87cypvmb8j.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Provags-ID: V03:K1:BPbcV0rbnUDaQTPMSdCkerMUGhKd95klxxPXGEY+1rIWCN8aHTo
 VpLGOdRmsxL30isjgqLbzlLBb0xyTVkIoXwXtCGc3BEQqidz+HpMkkIdP+Nu+sntO4uw3GI
 /s4u14ykUHbz/UeDWmgRazayeb4RHWOni6WHg+OtH9QK0tSO2HFyePUBP2ASGmwBmcnWXUm
 /iYknzmh3bxADIsTFdpCg==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:DePAfU/UItY=;+IXPQ/fqVg4qU9LQpAYcqon1f4r
 PfxQPg6XPzxqxYYGePXjAXxI3T2vqn0su+EJmW8hQhQ8tSTqQbtNF2cpPu8rdaQlgGCuRXNUE
 +BnIFOPk7oHADbfhJGomMmNOJJrhVDdd2PJvETVA+Q49xJcKpyUA+RdDubmbJn/tm7gKyohyL
 Z2UbpkipIVL76Tw/17T/kRNoBE3se9E0P/sCa0znRmzVLbx+WfufeSSDiaiM0tlbvOw6ls7A4
 wJuY7NKG1TYpxK3dtHiZthj4sK0jZOG3xDTgdffhnR/dyxIQK1OiRDKyJ9UUKX0MOZq1ljzXG
 HBqHLu8wHX6VAz1sc1+eJPWsM6mNprJpAWopTCNOwRs82CrOcz0ZTHAyP5kVanWN5ZkxyYnL9
 GbvoBt+ONNrjhoe2dbQBItC5ccuLj/nv+ZLJBJ04IfQM3MN0V7CAzO2LsRga5FV9Ln3xci5QO
 5YtH20/GrYdX58faQv4f1l3UiXalMA8qZAY3WymvWER3fwIPthbjXCVRkQrmAxFlpx1c81p43
 S0KINY5qeCUlVkhccqMNVLSEutGtFQZJVD9qFp5JJTCSyyzcltmR6ZlsZvU40w0TYUDaLKspf
 zNhth4stuAVQPNQ0AgnrNpExiSvwOmt08z4MrwhH83j/S5dneJ2/1PUO8FPqzermCXbS4xs5n
 GI8yR5ai3KmXmQZuyWJ1gjM3qCwTvUYzTf9fF8MoBsL1/DaB62GUnE8vt7h4EedvqpgNDx4wD
 Hs0HQYOtbGu35s/MHgc09hjxPxku3fYdt4eQR90DV04N290TCbJiGi7YJxHbS2tBMPsYJ/sH7
 syamHu2E8k9YWG1gjEvMJ3iNxPAYq3IAE1huzVStthYSM=
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 68863
Cc: Okamsn <okamsn@HIDDEN>, 68863 <at> debbugs.gnu.org,
 Eli Zaretskii <eliz@HIDDEN>, Nicolas Petton <nicolas@HIDDEN>,
 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: -1.7 (-)

Hello again,

There is a second point I want to hint at/ discuss:

Some time ago we have removed lots of or even the majority of the
so far implemented generalized variables.

The main criteria were: are they useful, and is the semantics clear.  We
should think about whether this is the case here.

For `seq-subseq' the semantics is not completely unambiguous.  For
example, the setter could exchange a subsequence - but also simply
insert an additional piece, creating a longer sequence.  Both operations
can be useful.

Likewise, when an index (e.g. the starting position) is going beyond the
end of a sequence, Emacs could raise an error, or provide functionality
to append to the existing sequence.  Again, both kinds of behavior could
make sense in different situations.

Finally, the question of whether the operation is destructive, or which
of the involved sequences are reused, is not trivial.

Any thoughts about these points?  Is this generalized variable useful
enough to make this acceptable?  Which kind of implementation do we
prefer then?


Michael.




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

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


Received: (at submit) by debbugs.gnu.org; 9 May 2024 12:16:41 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu May 09 08:16:41 2024
Received: from localhost ([127.0.0.1]:54984 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1s52hV-0001lp-BE
	for submit <at> debbugs.gnu.org; Thu, 09 May 2024 08:16:41 -0400
Received: from lists.gnu.org ([2001:470:142::17]:35248)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <michael_heerdegen@HIDDEN>) id 1s52hT-0001lU-CW
 for submit <at> debbugs.gnu.org; Thu, 09 May 2024 08:16:39 -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 <michael_heerdegen@HIDDEN>)
 id 1s52gv-00046g-T1
 for bug-gnu-emacs@HIDDEN; Thu, 09 May 2024 08:16:07 -0400
Received: from mout.web.de ([212.227.15.14])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <michael_heerdegen@HIDDEN>)
 id 1s52gs-0001WX-RL; Thu, 09 May 2024 08:16:05 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=web.de;
 s=s29768273; t=1715256946; x=1715861746;
 i=michael_heerdegen@HIDDEN;
 bh=Gtk1t4Iao6ld/oJOVMHD0byfmfLJZC6VUeYgKRmq/ZE=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date:
 Message-ID:MIME-Version:Content-Type:cc:content-transfer-encoding:
 content-type:date:from:message-id:mime-version:reply-to:subject:
 to;
 b=KavFJpz0gHSFHBP4VpnYObxIM81+r1mcGmu7g5tOQy71yvzmWyXiWMrfdSmi78Fy
 oUSMeT2S3C88BtjQ8woG2glIHaTAcdbG5CdXmpW8X7Wb2HYcfb2riEhggSpE2YVhn
 XG0OIydi1pYpha6MFagkFJIos+w9ciczYankVLoQvOy50+9T8PCjPFriyHd04hbOd
 nV5kuXQb+KrcXmGgbqOdBJNk4SfYcMhKkJQN1hx+kR7csY1dGX9BI/ryXtNvS/mLJ
 fo1Iahcq79N6xxPtwlMaxoiJPU2W5B470hmb0E8Kr1Nxx5qPOcpLazsfILJY34RCg
 UjWxoPFviOBgjsk3Nw==
X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6
Received: from drachen.dragon ([84.57.248.23]) by smtp.web.de (mrweb006
 [213.165.67.108]) with ESMTPSA (Nemesis) id 1MuVKI-1swJnP3X9e-00rQsf; Thu, 09
 May 2024 14:15:45 +0200
From: Michael Heerdegen <michael_heerdegen@HIDDEN>
To: Okamsn via "Bug reports for GNU Emacs, the Swiss army knife of text
 editors" <bug-gnu-emacs@HIDDEN>
Subject: Re: bug#68863: Add support for using setf with seq-subseq
In-Reply-To: <5db43ef0-f218-4790-b263-a3eb80929d9b@HIDDEN> (Okamsn
 via's message of "Tue, 07 May 2024 01:45:44 +0000")
References: <050ba625-2372-425f-85c6-988e2ef4cf14@HIDDEN>
 <86y1bvw5ff.fsf@HIDDEN> <jwvmssbqbmx.fsf-monnier+emacs@HIDDEN>
 <2dfd9d7f-5c63-4e1d-845c-cd245a71fc34@HIDDEN>
 <8d2a8d06-5b69-4587-9aab-36f7c792c623@HIDDEN>
 <1fca0de5-236e-428f-9224-b03a4d7d6998@HIDDEN>
 <5db43ef0-f218-4790-b263-a3eb80929d9b@HIDDEN>
Date: Thu, 09 May 2024 14:16:28 +0200
Message-ID: <87cypvmb8j.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Provags-ID: V03:K1:BPbcV0rbnUDaQTPMSdCkerMUGhKd95klxxPXGEY+1rIWCN8aHTo
 VpLGOdRmsxL30isjgqLbzlLBb0xyTVkIoXwXtCGc3BEQqidz+HpMkkIdP+Nu+sntO4uw3GI
 /s4u14ykUHbz/UeDWmgRazayeb4RHWOni6WHg+OtH9QK0tSO2HFyePUBP2ASGmwBmcnWXUm
 /iYknzmh3bxADIsTFdpCg==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:DePAfU/UItY=;+IXPQ/fqVg4qU9LQpAYcqon1f4r
 PfxQPg6XPzxqxYYGePXjAXxI3T2vqn0su+EJmW8hQhQ8tSTqQbtNF2cpPu8rdaQlgGCuRXNUE
 +BnIFOPk7oHADbfhJGomMmNOJJrhVDdd2PJvETVA+Q49xJcKpyUA+RdDubmbJn/tm7gKyohyL
 Z2UbpkipIVL76Tw/17T/kRNoBE3se9E0P/sCa0znRmzVLbx+WfufeSSDiaiM0tlbvOw6ls7A4
 wJuY7NKG1TYpxK3dtHiZthj4sK0jZOG3xDTgdffhnR/dyxIQK1OiRDKyJ9UUKX0MOZq1ljzXG
 HBqHLu8wHX6VAz1sc1+eJPWsM6mNprJpAWopTCNOwRs82CrOcz0ZTHAyP5kVanWN5ZkxyYnL9
 GbvoBt+ONNrjhoe2dbQBItC5ccuLj/nv+ZLJBJ04IfQM3MN0V7CAzO2LsRga5FV9Ln3xci5QO
 5YtH20/GrYdX58faQv4f1l3UiXalMA8qZAY3WymvWER3fwIPthbjXCVRkQrmAxFlpx1c81p43
 S0KINY5qeCUlVkhccqMNVLSEutGtFQZJVD9qFp5JJTCSyyzcltmR6ZlsZvU40w0TYUDaLKspf
 zNhth4stuAVQPNQ0AgnrNpExiSvwOmt08z4MrwhH83j/S5dneJ2/1PUO8FPqzermCXbS4xs5n
 GI8yR5ai3KmXmQZuyWJ1gjM3qCwTvUYzTf9fF8MoBsL1/DaB62GUnE8vt7h4EedvqpgNDx4wD
 Hs0HQYOtbGu35s/MHgc09hjxPxku3fYdt4eQR90DV04N290TCbJiGi7YJxHbS2tBMPsYJ/sH7
 syamHu2E8k9YWG1gjEvMJ3iNxPAYq3IAE1huzVStthYSM=
Received-SPF: pass client-ip=212.227.15.14;
 envelope-from=michael_heerdegen@HIDDEN; helo=mout.web.de
X-Spam_score_int: -27
X-Spam_score: -2.8
X-Spam_bar: --
X-Spam_report: (-2.8 / 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,
 RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: submit
Cc: Okamsn <okamsn@HIDDEN>, 68863 <at> debbugs.gnu.org,
 Eli Zaretskii <eliz@HIDDEN>, Nicolas Petton <nicolas@HIDDEN>,
 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: -1.0 (-)

Hello again,

There is a second point I want to hint at/ discuss:

Some time ago we have removed lots of or even the majority of the
so far implemented generalized variables.

The main criteria were: are they useful, and is the semantics clear.  We
should think about whether this is the case here.

For `seq-subseq' the semantics is not completely unambiguous.  For
example, the setter could exchange a subsequence - but also simply
insert an additional piece, creating a longer sequence.  Both operations
can be useful.

Likewise, when an index (e.g. the starting position) is going beyond the
end of a sequence, Emacs could raise an error, or provide functionality
to append to the existing sequence.  Again, both kinds of behavior could
make sense in different situations.

Finally, the question of whether the operation is destructive, or which
of the involved sequences are reused, is not trivial.

Any thoughts about these points?  Is this generalized variable useful
enough to make this acceptable?  Which kind of implementation do we
prefer then?


Michael.




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

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


Received: (at 68863) by debbugs.gnu.org; 8 May 2024 21:01:23 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed May 08 17:01:23 2024
Received: from localhost ([127.0.0.1]:50868 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1s4oPj-0003BI-D7
	for submit <at> debbugs.gnu.org; Wed, 08 May 2024 17:01:23 -0400
Received: from mout.web.de ([212.227.15.3]:43793)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <michael_heerdegen@HIDDEN>) id 1s4oPf-0003B3-8b
 for 68863 <at> debbugs.gnu.org; Wed, 08 May 2024 17:01:21 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=web.de;
 s=s29768273; t=1715202039; x=1715806839;
 i=michael_heerdegen@HIDDEN;
 bh=rwMxKDeDStOzzYQ/Cqzdv+Y5q+OadjD02S61O2ZvoVw=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date:
 Message-ID:MIME-Version:Content-Type:cc:content-transfer-encoding:
 content-type:date:from:message-id:mime-version:reply-to:subject:
 to;
 b=G6KKo+tNeuldsqKa/S0/umDwbEU70X7x0rI2i5Fq4OslcYtF6R+RGFsKmmj8AvjJ
 UmuyK88zoXMVZNPR9gFSlsntKGznwbC8iZ0+sevIKsjYq1mvYZPyKRM1cIXxH2eMf
 4v10zmJJDczZvtiOYS/RGEyxYMlPszHuEfudpGucLD4OEAQzvLdGABkS40qzbmZ29
 35YS4WOrBulDxbyx36AKzL6bWDaFPmGAnubgvQkGa/EioJVj2zQqyXjMCQlMdpGKY
 9w9ORwlM+06cRycSDjgeuLpoNrWBBXMT2HiKBPJWhfsLZ+PSUtdC82AOOyzNauq/j
 coJbYXTWehfL/G47JA==
X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6
Received: from drachen.dragon ([84.57.248.23]) by smtp.web.de (mrweb006
 [213.165.67.108]) with ESMTPSA (Nemesis) id 1N8Epo-1siBWx2rg0-0146EW; Wed, 08
 May 2024 23:00:39 +0200
From: Michael Heerdegen <michael_heerdegen@HIDDEN>
To: Okamsn <okamsn@HIDDEN>
Subject: Re: bug#68863: Add support for using setf with seq-subseq
In-Reply-To: <5db43ef0-f218-4790-b263-a3eb80929d9b@HIDDEN>
 (okamsn@HIDDEN's message of "Tue, 07 May 2024 01:45:44 +0000")
References: <050ba625-2372-425f-85c6-988e2ef4cf14@HIDDEN>
 <86y1bvw5ff.fsf@HIDDEN> <jwvmssbqbmx.fsf-monnier+emacs@HIDDEN>
 <2dfd9d7f-5c63-4e1d-845c-cd245a71fc34@HIDDEN>
 <8d2a8d06-5b69-4587-9aab-36f7c792c623@HIDDEN>
 <1fca0de5-236e-428f-9224-b03a4d7d6998@HIDDEN>
 <5db43ef0-f218-4790-b263-a3eb80929d9b@HIDDEN>
Date: Wed, 08 May 2024 23:01:22 +0200
Message-ID: <87msp0f271.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Provags-ID: V03:K1:L9l9xCr2g7olPLO31zMmHSTWIn0LpJNGSPe7imAbRBeXjYHc1Y/
 CYeU++YbfIBKO5l4UCtHMD1La0oqI3HxwPLFoR2a0nMTLd/W7tKVHGF1qhXMVqXUXLvljbO
 JDA9jNcBg2LNOwXrgTXP0h9ABY7UK3PLkYbAmOuo5SVi/W5WkIUnUJEaQFilIHWr6y7JrRF
 W+40BlRXxlLdJYEjQGhTg==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:U0CcDwkOcso=;aujmz+EXYhpBBw4n3272e5j9ZFF
 0Ad+v3PJOINgIa83wX+Ki9JvIUt9tg2gQT5D60fJVr4SCOR17UghkKPN9W6I30DGAJyUvat0K
 bukObyHZWGBg0C3HJFTaaUdDTYN49ri+Z1lOnlC2q50JQHolpJKK7WFhpzdmgeJSlBTIYYvt0
 3n3/I2DTqyP/uaHT7PenBnHbDGeP4BUpmF/5hZsKLhkDjeK5DWo1o974UjNdPVrzb61j4RF82
 85CVeBhFpofC0M/lZm2D3asiJMnZ3WFV0YtdI+araw8YdcQPLfs1Wu8/QqZhKPkVx9GEfAnjR
 MbnXpis2GU95d7qFQgLhk/QoYe5dKbh/niqHlpXT3lsxmUjTsBUvr8aOlNw4RYvr5dyx5ci1F
 xVm9DjxPKO1h4RrXnA1PaiKeXcKMr5gt0OekRSG1OddJZEQ4t9m5g2ZjX3RSeYS7/NHbgiwHp
 XJD90cmQ7eCaOKTExGn5eurETdINKoxXZk+uz/9w+vhXH+fyjcEDLHQ8zxLbxcA6E6NcgFqB6
 GBIBHR5r/L3DX9NwzDsYyOqiXlG2H7KTQBemqx4vgitI6VxjdAlLhpXJ0rZ28itanhwn2I+kE
 pk38VokBxKajkf8CjoNGtksDjcAjo9aetfFjfrN49Nk+YL0wQVq1UkmBq9j8EcOYefP3Ho7HD
 L4fdT2mcRskWMdzy0eGenVIkAAtUdYWkHRF9En9rJ7JtG4mxOwIwylv/YjQCur/G+B6zEjp4Y
 mXCM6PnDfMKpsQfzvT3JgpszWy7TcHmvryZOFlc/HF9hLf4SebFkQ1PrW5GyG+kxynLpxvz9x
 Y5qWmlQp5o3zZIcBnPOaUUIFke7azz+qDfnpq0Ds+7Ufo=
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 68863
Cc: 68863 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>,
 Nicolas Petton <nicolas@HIDDEN>, 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: -1.7 (-)

Okamsn <okamsn@HIDDEN> writes:

> Subject: [PATCH v2] Add setf support for seq-subseq.

Thank you for the update.

I wonder about the implementation for listp STOREs:

> +(cl-defmethod (setf seq-subseq) (store (sequence list) start &optional end)
> +  "Modify the elements of SEQUENCE from START to END to be those of STORE.
> +END is exclusive.
> +
> +If END is omitted, it defaults to the length of the sequence.  If
> +START or END is negative, it counts from the end. [...]

In the case where we don't count from the end:

> +error if START or END are outside of the sequence (i.e too large
> +if positive or too small if negative).
> +
> +SEQUENCE is neither lengthened nor shortened."
> +  (let* ((len (seq-length sequence))

running through the complete list just to get its length which we don't
need is a waste of time - right?

> +      (catch tag
> +        (seq-do (let ((replaced (nthcdr idx sequence)))
> +                  (lambda (v)
> +                    (if (< idx idx-end)
> +                        (setf (car replaced) v
> +                              replaced (cdr replaced)
> +                              idx (1+ idx))
> +                      (throw tag nil))))
> +                store))))
> +  store)

And wouldn't it here be more efficient to use `setcar' and `setcdr'
manipulations to insert the complete sequence (if it's a list, else we
may convert it into one) in one go instead of replacing elements one by
one?


Thanks,

Michael.




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

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


Received: (at 68863) by debbugs.gnu.org; 7 May 2024 01:46:25 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon May 06 21:46:25 2024
Received: from localhost ([127.0.0.1]:41371 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1s49uS-00020j-Jv
	for submit <at> debbugs.gnu.org; Mon, 06 May 2024 21:46:25 -0400
Received: from mail-4316.protonmail.ch ([185.70.43.16]:22229)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <okamsn@HIDDEN>) id 1s49uP-00020d-FX
 for 68863 <at> debbugs.gnu.org; Mon, 06 May 2024 21:46:23 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;
 s=protonmail3; t=1715046350; x=1715305550;
 bh=AxiiZdYt2Qh+KDerGgjUYyDk0K4t96d9KZEG1+huqT0=;
 h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
 Message-ID:BIMI-Selector;
 b=YiOnvvU8K/EKHKMg5QcsXYiYzX69wunooGPf/tsn5aC2thCQFTMd+q5ua0GqVL7eu
 8zHo4Icat+62wep+BUfm1wb7n9DcQe3neHDqElsxu0/Pn0pDskC0CDj5VeRaGZhyNt
 YKLlUnD1vh8pcn77EB/MX9hwOk0JmJHUdIPQ746OKu2FfN+p0ZpbfefpGxmqMPHhX8
 juEVXcGOUrwvVtlFRmTPyFKQBFH2sL1b6YN9jxqpJEVkLveU3dUDqj2K47r3AfwjqG
 vdWtXsePOG1pCn0a8upd39PaSP50ZdhPRT+s25kuydy4q594pEcNcVEi2qiNKollr+
 MoWHXEzv8+FgA==
Date: Tue, 07 May 2024 01:45:44 +0000
To: Stefan Monnier <monnier@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>,
 Michael Heerdegen <michael_heerdegen@HIDDEN>
From: Okamsn <okamsn@HIDDEN>
Subject: Re: bug#68863: Add support for using setf with seq-subseq
Message-ID: <5db43ef0-f218-4790-b263-a3eb80929d9b@HIDDEN>
In-Reply-To: <1fca0de5-236e-428f-9224-b03a4d7d6998@HIDDEN>
References: <050ba625-2372-425f-85c6-988e2ef4cf14@HIDDEN>
 <86y1bvw5ff.fsf@HIDDEN> <jwvmssbqbmx.fsf-monnier+emacs@HIDDEN>
 <2dfd9d7f-5c63-4e1d-845c-cd245a71fc34@HIDDEN>
 <8d2a8d06-5b69-4587-9aab-36f7c792c623@HIDDEN>
 <1fca0de5-236e-428f-9224-b03a4d7d6998@HIDDEN>
Feedback-ID: 25935600:user:proton
X-Pm-Message-ID: 1eb6f2d8570ebaec82b086557c7e16cef7c62038
MIME-Version: 1.0
Content-Type: multipart/mixed;
 boundary="b1_GIc4IVwxZm5sYzB3lhXoalCoZgTokRfnuyovSfYuFc"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 68863
Cc: 68863 <at> debbugs.gnu.org, Nicolas Petton <nicolas@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 (-)

This is a multi-part message in MIME format.

--b1_GIc4IVwxZm5sYzB3lhXoalCoZgTokRfnuyovSfYuFc
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Okamsn wrote:
> Okamsn wrote:
>> Hello,
>>
>> After testing it more, I see that what I've written does not work as I
>> expected in the case
>>
>> (let ((v    (vector (vector 0 1)
>>                        (vector 2 3)
>>                        (vector 4 5))))
>>      (setf (seq-subseq (seq-subseq (elt v 0) 0) 0)
>>            [10])
>>      v)
>>
>> in which I would expect it to replace the first element of the first
>> sub-vector with 10. I will take more time to continue working on this.
>>
>> Thank you for your patience.
>>
>>
>=20
> Hello,
>=20
> I found a way to work with subplaces, like in the example in my previous
> e-mail message. Instead of creating the generic feature `(setf
> seq-subseq)` like what is done for `seq-elt`, I created a generic
> function `seq-replace`, which is used in a new `gv-expander` for
> `seq-subseq`. This way of doing it is like what is done for `substring`,
> which has the behavior that I wanted.
>=20
> What do you think about this approach?
>=20
> Thank you.

Hello,

Since supporting sub-places is controversial, would you please review=20
version 2 of the patch that I sent, which I have re-attached for=20
convenience. This version /does not/ support sub-places.

I have added Michael Heerdegen to the recipients list in case they would=20
like to comment.

Thank you.
--b1_GIc4IVwxZm5sYzB3lhXoalCoZgTokRfnuyovSfYuFc
Content-Type: text/x-patch; charset=UTF-8; name=v2-0001-Add-setf-support-for-seq-subseq.patch
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=v2-0001-Add-setf-support-for-seq-subseq.patch

RnJvbSBiMDZkYjc5MDVmNWQ2ZGZhMGQzM2MwNWZkMjE0ZWY5NWQxOTgxNGI1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBFYXJsIEh5YXR0IDxva2Ftc25AcHJvdG9ubWFpbC5jb20+CkRh
dGU6IFN1biwgMjggSmFuIDIwMjQgMjI6NDg6MTMgLTA1MDAKU3ViamVjdDogW1BBVENIIHYyXSBB
ZGQgc2V0ZiBzdXBwb3J0IGZvciBzZXEtc3Vic2VxLgoKKiBsaXNwL2VtYWNzLWxpc3Avc2VxLmVs
IChzZXEtc3Vic2VxKTogQWRkIGEgZ2VuZXJpYyB2ZXJzaW9uIG9mCmNhbGxpbmcgc2V0ZiBvbiBz
ZXEtc3Vic2VxIGFuZCBhZGQgYSBzcGVjaWFsaXplZCB2ZXJzaW9uIGZvciB3aGVuIHRoZQptb2Rp
ZmllZCBzZXF1ZW5jZSBpcyBhIGxpc3QuCiogdGVzdC9saXNwL2VtYWNzLWxpc3Avc2VxLXRlc3Rz
LmVsICh0ZXN0LXNldGYtc2VxLXN1YnNlcSkKKHRlc3Qtc2V0Zi1zZXEtc3Vic2VxLWNvbWJpbmF0
aW9ucyk6IEFkZCB0ZXN0cyBmb3IgdGhlIGZlYXR1cmUuCgpUaGUgZmVhdHVyZSB3aWxsIHNpZ25h
bCAnYXJncy1vdXQtb2YtcmFuZ2UnIGlmIHRoZSBzdGFydGluZyBpbmRleCBvcgplbmRpbmcgaW5k
ZXggKGlmIGdpdmVuKSBpcyBvdXRzaWRlIG9mIHRoZSByYW5nZSBvZiB2YWx1ZXMgZnJvbSAwCnRo
cm91Z2ggdGhlIGxlbmd0aCBvZiB0aGUgc2VxdWVuY2Ugb3IgZnJvbSB0aGUgbmVnYXRpdmUgbGVu
Z3RoIG9mIHRoZQpzZXF1ZW5jZSB0aHJvdWdoIG5lZ2F0aXZlIDEuICBJZiB0aGUgc3RhcnRpbmcg
aW5kZXggaXMgZXF1YWwgdG8gdGhlCmxlbmd0aCBvZiB0aGUgc2VxdWVuY2UsIHRoZW4gbm90aGlu
ZyBpcyBjaGFuZ2VkLiAgSWYgdGhlIHN0YXJ0aW5nCmluZGV4IGlzIGVxdWFsIHRvIHRoZSBlbmRp
bmcgaW5kZXgsIHRoZW4gbm90aGluZyBpcyBjaGFuZ2VkLiAgVGhlCmZlYXR1cmUgc2hvdWxkIHNp
Z25hbCBhbiBlcnJvciBpbiBhbGwgY2FzZXMgd2hlcmUgdXNpbmcgJ3NlcS1zdWJzZXEnCndvdWxk
IHNpZ25hbCBhbiBlcnJvci4KLS0tCiBsaXNwL2VtYWNzLWxpc3Avc2VxLmVsICAgICAgICAgICAg
fCAgODggKysrKysrKysrKysrKysrKysrCiB0ZXN0L2xpc3AvZW1hY3MtbGlzcC9zZXEtdGVzdHMu
ZWwgfCAxNDkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQs
IDIzNyBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbGlzcC9lbWFjcy1saXNwL3NlcS5lbCBi
L2xpc3AvZW1hY3MtbGlzcC9zZXEuZWwKaW5kZXggNGM2NTUzOTcyYzIuLjZhMWZkNGMzNWUzIDEw
MDY0NAotLS0gYS9saXNwL2VtYWNzLWxpc3Avc2VxLmVsCisrKyBiL2xpc3AvZW1hY3MtbGlzcC9z
ZXEuZWwKQEAgLTE5Myw2ICsxOTMsOTQgQEAgc2VxLXN1YnNlcQogICAgICAgICAoY29weS1zZXF1
ZW5jZSBzZXF1ZW5jZSkpKSkKICAgICh0IChlcnJvciAiVW5zdXBwb3J0ZWQgc2VxdWVuY2U6ICVz
IiBzZXF1ZW5jZSkpKSkKIAorKGNsLWRlZmdlbmVyaWMgKHNldGYgc2VxLXN1YnNlcSkgKHN0b3Jl
IHNlcXVlbmNlIHN0YXJ0ICZvcHRpb25hbCBlbmQpCisgICJNb2RpZnkgdGhlIGVsZW1lbnRzIG9m
IFNFUVVFTkNFIGZyb20gU1RBUlQgdG8gRU5EIHRvIGJlIHRob3NlIG9mIFNUT1JFLgorRU5EIGlz
IGV4Y2x1c2l2ZS4KKworSWYgRU5EIGlzIG9taXR0ZWQsIGl0IGRlZmF1bHRzIHRvIHRoZSBsZW5n
dGggb2YgdGhlIHNlcXVlbmNlLiAgSWYKK1NUQVJUIG9yIEVORCBpcyBuZWdhdGl2ZSwgaXQgY291
bnRzIGZyb20gdGhlIGVuZC4gIFNpZ25hbCBhbgorZXJyb3IgaWYgU1RBUlQgb3IgRU5EIGFyZSBv
dXRzaWRlIG9mIHRoZSBzZXF1ZW5jZSAoaS5lIHRvbyBsYXJnZQoraWYgcG9zaXRpdmUgb3IgdG9v
IHNtYWxsIGlmIG5lZ2F0aXZlKS4KKworU0VRVUVOQ0UgaXMgbmVpdGhlciBsZW5ndGhlbmVkIG5v
ciBzaG9ydGVuZWQuIgorICAobGV0KiAoKGxlbiAoc2VxLWxlbmd0aCBzZXF1ZW5jZSkpCisgICAg
ICAgICAoc2lnbmFsLWZuIChsYW1iZGEgKCkKKyAgICAgICAgICAgICAgICAgICAgICAoc2lnbmFs
ICdhcmdzLW91dC1vZi1yYW5nZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmIGVu
ZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsaXN0IHNlcXVlbmNlIHN0YXJ0
IGVuZCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxpc3Qgc2VxdWVuY2Ugc3Rh
cnQpKSkpKQorICAgICAgICAgKHNpZ25hbC1vci12YWwtZm4gKGxhbWJkYSAodmFsKQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAoY29uZAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgKCg+IHZhbCBsZW4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZ1bmNhbGwg
c2lnbmFsLWZuKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoPCB2YWwgMCkKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobGV0ICgodmFsMiAoKyB2YWwgbGVuKSkpCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaWYgKDwgdmFsMiAwKQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmdW5jYWxsIHNpZ25hbC1mbikKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsMikpKQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgKHQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWwpKSkpCisgICAg
ICAgICAoaWR4IChmdW5jYWxsIHNpZ25hbC1vci12YWwtZm4gc3RhcnQpKQorICAgICAgICAgKGlk
eC1lbmQgKGlmIChudWxsIGVuZCkKKyAgICAgICAgICAgICAgICAgICAgICBsZW4KKyAgICAgICAg
ICAgICAgICAgICAgKGZ1bmNhbGwgc2lnbmFsLW9yLXZhbC1mbiBlbmQpKSkKKyAgICAgICAgICh0
YWcgKGdlbnN5bSkpKQorICAgIChpZiAoPiBpZHggaWR4LWVuZCkKKyAgICAgICAgKGZ1bmNhbGwg
c2lnbmFsLWZuKQorICAgICAgKGNhdGNoIHRhZworICAgICAgICAoc2VxLWRvIChsYW1iZGEgKHYp
CisgICAgICAgICAgICAgICAgICAoaWYgKDwgaWR4IGlkeC1lbmQpCisgICAgICAgICAgICAgICAg
ICAgICAgKHNldGYgKHNlcS1lbHQgc2VxdWVuY2UgaWR4KSB2CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaWR4ICgxKyBpZHgpKQorICAgICAgICAgICAgICAgICAgICAodGhyb3cgdGFnIG5p
bCkpKQorICAgICAgICAgICAgICAgIHN0b3JlKSkpKQorICBzdG9yZSkKKworKGNsLWRlZm1ldGhv
ZCAoc2V0ZiBzZXEtc3Vic2VxKSAoc3RvcmUgKHNlcXVlbmNlIGxpc3QpIHN0YXJ0ICZvcHRpb25h
bCBlbmQpCisgICJNb2RpZnkgdGhlIGVsZW1lbnRzIG9mIFNFUVVFTkNFIGZyb20gU1RBUlQgdG8g
RU5EIHRvIGJlIHRob3NlIG9mIFNUT1JFLgorRU5EIGlzIGV4Y2x1c2l2ZS4KKworSWYgRU5EIGlz
IG9taXR0ZWQsIGl0IGRlZmF1bHRzIHRvIHRoZSBsZW5ndGggb2YgdGhlIHNlcXVlbmNlLiAgSWYK
K1NUQVJUIG9yIEVORCBpcyBuZWdhdGl2ZSwgaXQgY291bnRzIGZyb20gdGhlIGVuZC4gIFNpZ25h
bCBhbgorZXJyb3IgaWYgU1RBUlQgb3IgRU5EIGFyZSBvdXRzaWRlIG9mIHRoZSBzZXF1ZW5jZSAo
aS5lIHRvbyBsYXJnZQoraWYgcG9zaXRpdmUgb3IgdG9vIHNtYWxsIGlmIG5lZ2F0aXZlKS4KKwor
U0VRVUVOQ0UgaXMgbmVpdGhlciBsZW5ndGhlbmVkIG5vciBzaG9ydGVuZWQuIgorICAobGV0KiAo
KGxlbiAoc2VxLWxlbmd0aCBzZXF1ZW5jZSkpCisgICAgICAgICAoc2lnbmFsLWZuIChsYW1iZGEg
KCkKKyAgICAgICAgICAgICAgICAgICAgICAoc2lnbmFsICdhcmdzLW91dC1vZi1yYW5nZQorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmIGVuZAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIChsaXN0IHNlcXVlbmNlIHN0YXJ0IGVuZCkKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKGxpc3Qgc2VxdWVuY2Ugc3RhcnQpKSkpKQorICAgICAgICAgKHNpZ25h
bC1vci12YWwtZm4gKGxhbWJkYSAodmFsKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo
Y29uZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCg+IHZhbCBsZW4pCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgKGZ1bmNhbGwgc2lnbmFsLWZuKSkKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICgoPCB2YWwgMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAobGV0ICgodmFsMiAoKyB2YWwgbGVuKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAoaWYgKDwgdmFsMiAwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIChmdW5jYWxsIHNpZ25hbC1mbikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdmFsMikpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHQKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB2YWwpKSkpCisgICAgICAgICAoaWR4IChmdW5jYWxsIHNpZ25h
bC1vci12YWwtZm4gc3RhcnQpKQorICAgICAgICAgKGlkeC1lbmQgKGlmIChudWxsIGVuZCkKKyAg
ICAgICAgICAgICAgICAgICAgICBsZW4KKyAgICAgICAgICAgICAgICAgICAgKGZ1bmNhbGwgc2ln
bmFsLW9yLXZhbC1mbiBlbmQpKSkKKyAgICAgICAgICh0YWcgKGdlbnN5bSkpKQorICAgIChpZiAo
PiBpZHggaWR4LWVuZCkKKyAgICAgICAgKGZ1bmNhbGwgc2lnbmFsLWZuKQorICAgICAgKGNhdGNo
IHRhZworICAgICAgICAoc2VxLWRvIChsZXQgKChyZXBsYWNlZCAobnRoY2RyIGlkeCBzZXF1ZW5j
ZSkpKQorICAgICAgICAgICAgICAgICAgKGxhbWJkYSAodikKKyAgICAgICAgICAgICAgICAgICAg
KGlmICg8IGlkeCBpZHgtZW5kKQorICAgICAgICAgICAgICAgICAgICAgICAgKHNldGYgKGNhciBy
ZXBsYWNlZCkgdgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVwbGFjZWQgKGNkciBy
ZXBsYWNlZCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkeCAoMSsgaWR4KSkKKyAg
ICAgICAgICAgICAgICAgICAgICAodGhyb3cgdGFnIG5pbCkpKSkKKyAgICAgICAgICAgICAgICBz
dG9yZSkpKSkKKyAgc3RvcmUpCisKIAwKIChjbC1kZWZnZW5lcmljIHNlcS1tYXAgKGZ1bmN0aW9u
IHNlcXVlbmNlKQogICAiUmV0dXJuIHRoZSByZXN1bHQgb2YgYXBwbHlpbmcgRlVOQ1RJT04gdG8g
ZWFjaCBlbGVtZW50IG9mIFNFUVVFTkNFLiIKZGlmZiAtLWdpdCBhL3Rlc3QvbGlzcC9lbWFjcy1s
aXNwL3NlcS10ZXN0cy5lbCBiL3Rlc3QvbGlzcC9lbWFjcy1saXNwL3NlcS10ZXN0cy5lbAppbmRl
eCBjMDZjZWIwMGJkYi4uZDNlNDZjMzJmOTkgMTAwNjQ0Ci0tLSBhL3Rlc3QvbGlzcC9lbWFjcy1s
aXNwL3NlcS10ZXN0cy5lbAorKysgYi90ZXN0L2xpc3AvZW1hY3MtbGlzcC9zZXEtdGVzdHMuZWwK
QEAgLTMxMiw2ICszMTIsMTU1IEBAIHRlc3Qtc2VxLXN1YnNlcQogICAgICAgICAgICAgICAgICAg
KDpzdWNjZXNzCiAgICAgICAgICAgICAgICAgICAgKHNob3VsZCAoZXF1YWwgKHNlcS1zdWJzZXEg
bGlzdCBzdGFydCBlbmQpIHJlcykpKSkpKSkpKSkpKQogCisoY2wtZGVmbWFjcm8gdGVzdC1zZXRm
LXNlcS1zdWJzZXEtY29tYmluYXRpb25zCisgICAgKCZrZXkgaW5pdC12YWxzIHN1Yi12YWxzIHJl
c3VsdCByYW5nZSBlcnJvcikKKyAgIk1ha2UgYSB0ZXN0IGZvciBlYWNoIGNvbWJpbmF0aW9uIG9m
IHNlcXVlbmNlIHR5cGUgZm9yIGBzZXEtc3Vic2VxJyB1c2luZyBgc2V0ZicuCisKKy0gSU5JVC1W
QUxTIGlzIGEgbGlzdCBob2xkaW5nIHRoZSBpbml0aWFsIGVsZW1lbnRzLgorLSBSRVNVTFQgaXMg
d2hhdCB0aGUgZmluYWwgdmFsdWUgc2hvdWxkIGJlIGFmdGVyIHN1YnN0aXR1dGlvbi4KKy0gRVJS
T1IgaXMgd2hldGhlciB0aGUgZm9ybSBzaG91bGQgc2lnbmFsIGBhcmdzLW91dC1vZi1yYW5nZScu
CistIFNVQi1WQUxTIGlzIGEgbGlzdCBob2xkaW5nIHRoZSBlbGVtZW50cyB0byBiZSBzdWJzdGl0
dXRlZCBpbi4KKy0gUkFOR0UgaXMgYSBsaXN0IG9mIHRoZSBgc3RhcnQnIGFuZCBgZW5kJyBhcmd1
bWVudHMgb2YgYHNlcS1zdWJzZXEnLiIKKyAgKGxldCAoKHRlc3RzKSkKKyAgICAoZG9saXN0ICh0
eXBlMSAnKGxpc3QgdmVjdG9yIHN0cmluZykpCisgICAgICAoZG9saXN0ICh0eXBlMiAnKGxpc3Qg
dmVjdG9yIHN0cmluZykpCisgICAgICAgIChwdXNoICAoaWYgZXJyb3IKKyAgICAgICAgICAgICAg
ICAgICBgKHNob3VsZC1lcnJvciAobGV0ICgoc2VxICgsdHlwZTEgLEBpbml0LXZhbHMpKSkKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZXRmIChzZXEtc3Vic2VxIHNlcSAs
QHJhbmdlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCx0eXBl
MiAsQHN1Yi12YWxzKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcSkK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6dHlwZSAocXVvdGUgYXJncy1vdXQt
b2YtcmFuZ2UpKQorICAgICAgICAgICAgICAgICBgKHNob3VsZCAoZXF1YWwgKCx0eXBlMSAsQHJl
c3VsdCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsZXQgKChzZXEgKCx0eXBl
MSAsQGluaXQtdmFscykpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2V0
ZiAoc2VxLXN1YnNlcSBzZXEgLEByYW5nZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgKCx0eXBlMiAsQHN1Yi12YWxzKSkKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc2VxKSkpKQorICAgICAgICAgICAgICAgdGVzdHMpKSkKKyAgICBgKHByb2du
ICxAdGVzdHMpKSkKKworKGVydC1kZWZ0ZXN0IHRlc3Qtc2V0Zi1zZXEtc3Vic2VxICgpCisgICJU
ZXN0IHVzaW5nIGBzZXEtc3Vic2VxJyB3aXRoIGBzZXRmJy4KKworQW55IGNvbWJpbmF0aW9uIG9m
IHNlcXVlbmNlcyBzaG91bGQgd29yay4KKworQW4gZXJyb3Igc2hvdWxkIGJlIHNpZ25hbGxlZCBp
ZiB0aGUgaW5jbHVzaXZlIHN0YXJ0aW5nIGluZGV4IG9yCit0aGUgZXhjbHVzaXZlIGVuZGluZyBp
bmRleCBpcyBvdXQgb2YgdGhlIHJhbmdlIGZyb20gMCB0aHJvdWdoIHRoZQorbGVuZ3RoIG9mIHRo
ZSBzZXF1ZW5jZSwgb3IgaWYgdGhlIHN0YXJ0aW5nIGluZGV4IGlzIGdyZWF0ZXIgdGhhbgordGhl
IGVuZGluZyBpbmRleC4gIElmIHRoZSBzdGFydGluZyBpbmRleCBpcyBlcXVhbCB0byB0aGUgZW5k
aW5nCitpbmRleCwgdGhlbiBub3RoaW5nIGlzIGNoYW5nZWQuICBJZiB0aGUgc3RhcnRpbmcgaW5k
ZXggaXMgZXF1YWwKK3RvIHRoZSBsZW5ndGggb2YgdGhlIHNlcXVlbmNlLCB0aGVuIG5vdGhpbmcg
aXMgY2hhbmdlZC4gIEl0CitzaG91bGQgc2lnbmFsIGFuIGVycm9yIGluIGFsbCB0aGUgY2FzZXMg
dGhhdCBgc2VxLXN1YnNlcScgc2lnbmFscworYW4gZXJyb3IuIgorICAodGVzdC1zZXRmLXNlcS1z
dWJzZXEtY29tYmluYXRpb25zCisgICA6aW5pdC12YWxzICgwIDEgMikKKyAgIDpzdWItdmFscyAo
MTAgMTEgMTIpCisgICA6cmFuZ2UgKDApCisgICA6cmVzdWx0ICgxMCAxMSAxMikpCisKKyAgKHRl
c3Qtc2V0Zi1zZXEtc3Vic2VxLWNvbWJpbmF0aW9ucworICAgOmluaXQtdmFscyAoMCAxKQorICAg
OnN1Yi12YWxzICgxMCAxMSAxMikKKyAgIDpyYW5nZSAoMCkKKyAgIDpyZXN1bHQgKDEwIDExKSkK
KworICAodGVzdC1zZXRmLXNlcS1zdWJzZXEtY29tYmluYXRpb25zCisgICA6aW5pdC12YWxzICgw
IDEgMikKKyAgIDpzdWItdmFscyAoMTAgMTEgMTIpCisgICA6cmFuZ2UgKDEpCisgICA6cmVzdWx0
ICgwIDEwIDExKSkKKworICAodGVzdC1zZXRmLXNlcS1zdWJzZXEtY29tYmluYXRpb25zCisgICA6
aW5pdC12YWxzICgwIDEgMikKKyAgIDpzdWItdmFscyAoMTAgMTEgMTIpCisgICA6cmFuZ2UgKDEg
MykKKyAgIDpyZXN1bHQgKDAgMTAgMTEpKQorCisgICh0ZXN0LXNldGYtc2VxLXN1YnNlcS1jb21i
aW5hdGlvbnMKKyAgIDppbml0LXZhbHMgKDAgMSAyKQorICAgOnN1Yi12YWxzICgxMCAxMSAxMikK
KyAgIDpyYW5nZSAoMyAxKQorICAgOmVycm9yIHQpCisKKyAgKHRlc3Qtc2V0Zi1zZXEtc3Vic2Vx
LWNvbWJpbmF0aW9ucworICAgOmluaXQtdmFscyAoMCAxIDIpCisgICA6c3ViLXZhbHMgKDEwIDEx
IDEyKQorICAgOnJhbmdlICgxIDEwMCkKKyAgIDplcnJvciB0KQorCisgICh0ZXN0LXNldGYtc2Vx
LXN1YnNlcS1jb21iaW5hdGlvbnMKKyAgIDppbml0LXZhbHMgKDAgMSAyKQorICAgOnN1Yi12YWxz
ICgxMCAxMSAxMikKKyAgIDpyYW5nZSAoNykKKyAgIDplcnJvciB0KQorCisgICh0ZXN0LXNldGYt
c2VxLXN1YnNlcS1jb21iaW5hdGlvbnMKKyAgIDppbml0LXZhbHMgKDAgMSAyIDMgNCkKKyAgIDpz
dWItdmFscyAoMTIgMTMgMTQgMTUpCisgICA6cmFuZ2UgKDIgMykKKyAgIDpyZXN1bHQgKDAgMSAx
MiAzIDQpKQorCisgICh0ZXN0LXNldGYtc2VxLXN1YnNlcS1jb21iaW5hdGlvbnMKKyAgIDppbml0
LXZhbHMgKDAgMSAyIDMgNCkKKyAgIDpzdWItdmFscyAoMTIgMTMgMTQgMTUpCisgICA6cmFuZ2Ug
KDIgMikKKyAgIDpyZXN1bHQgKDAgMSAyIDMgNCkpCisKKyAgKHRlc3Qtc2V0Zi1zZXEtc3Vic2Vx
LWNvbWJpbmF0aW9ucworICAgOmluaXQtdmFscyAoMCAxIDIgMyA0KQorICAgOnN1Yi12YWxzICgx
MiAxMyAxNCAxNSkKKyAgIDpyYW5nZSAoNSkKKyAgIDpyZXN1bHQgKDAgMSAyIDMgNCkpCisKKyAg
KHRlc3Qtc2V0Zi1zZXEtc3Vic2VxLWNvbWJpbmF0aW9ucworICAgOmluaXQtdmFscyAoMCAxIDIg
MyA0KQorICAgOnN1Yi12YWxzICgxMiAxMyAxNCAxNSkKKyAgIDpyYW5nZSAoNikKKyAgIDplcnJv
ciB0KQorCisgICh0ZXN0LXNldGYtc2VxLXN1YnNlcS1jb21iaW5hdGlvbnMKKyAgIDppbml0LXZh
bHMgKDAgMSAyIDMgNCkKKyAgIDpzdWItdmFscyAoMTIgMTMgMTQgMTUpCisgICA6cmFuZ2UgKDUg
NikKKyAgIDplcnJvciB0KQorCisgICh0ZXN0LXNldGYtc2VxLXN1YnNlcS1jb21iaW5hdGlvbnMK
KyAgIDppbml0LXZhbHMgKDAgMSAyIDMgNCA1IDYgNyA4IDkpCisgICA6c3ViLXZhbHMgKDEwIDEx
IDEyIDEzIDE0KQorICAgOnJhbmdlICgtMikKKyAgIDpyZXN1bHQgKDAgMSAyIDMgNCA1IDYgNyAx
MCAxMSkpCisKKyAgKHRlc3Qtc2V0Zi1zZXEtc3Vic2VxLWNvbWJpbmF0aW9ucworICAgOmluaXQt
dmFscyAoMCAxIDIgMyA0IDUgNiA3IDggOSkKKyAgIDpzdWItdmFscyAoMTAgMTEgMTIgMTMgMTQp
CisgICA6cmFuZ2UgKC02IC0zKQorICAgOnJlc3VsdCAoMCAxIDIgMyAxMCAxMSAxMiA3IDggOSkp
CisKKyAgKHRlc3Qtc2V0Zi1zZXEtc3Vic2VxLWNvbWJpbmF0aW9ucworICAgOmluaXQtdmFscyAo
MCAxIDIgMyA0IDUgNiA3IDggOSkKKyAgIDpzdWItdmFscyAoMTAgMTEgMTIgMTMgMTQpCisgICA6
cmFuZ2UgKC02IC0xMCkKKyAgIDplcnJvciB0KQorCisgIDs7IFRoaXMgcmFuZ2UgbWlnaHQgbWFr
ZSBzZW5zZSwgYnV0IHNpbmNlIGl0IHdvdWxkIHNpZ25hbCBhbiBlcnJvcgorICA7OyBpbiBgc2Vx
LXN1YnNlcScsIHdlIGFsc28gc2lnbmFsIGFuIGVycm9yIGluIHRoZSBgc2V0ZicgZmVhdHVyZS4K
KyAgKHRlc3Qtc2V0Zi1zZXEtc3Vic2VxLWNvbWJpbmF0aW9ucworICAgOmluaXQtdmFscyAoMCAx
IDIgMyA0IDUgNiA3IDggOSkKKyAgIDpzdWItdmFscyAoMTAgMTEgMTIgMTMgMTQpCisgICA6cmFu
Z2UgKC02IDApCisgICA6ZXJyb3IgdCkKKworICAodGVzdC1zZXRmLXNlcS1zdWJzZXEtY29tYmlu
YXRpb25zCisgICA6aW5pdC12YWxzICgwIDEgMiAzIDQgNSA2IDcgOCA5KQorICAgOnN1Yi12YWxz
ICgxMCAxMSAxMiAxMyAxNCkKKyAgIDpyYW5nZSAoMTAwKQorICAgOmVycm9yIHQpCisKKyAgKHRl
c3Qtc2V0Zi1zZXEtc3Vic2VxLWNvbWJpbmF0aW9ucworICAgOmluaXQtdmFscyAoMCAxIDIgMyA0
IDUgNiA3IDggOSkKKyAgIDpzdWItdmFscyAoMTAgMTEgMTIgMTMgMTQpCisgICA6cmFuZ2UgKC0x
MDApCisgICA6ZXJyb3IgdCkpCisKIChlcnQtZGVmdGVzdCB0ZXN0LXNlcS1jb25jYXRlbmF0ZSAo
KQogICAod2l0aC10ZXN0LXNlcXVlbmNlcyAoc2VxICcoMiA0IDYpKQogICAgIChzaG91bGQgKGVx
dWFsIChzZXEtY29uY2F0ZW5hdGUgJ3N0cmluZyBzZXEgWzhdKSAoc3RyaW5nIDIgNCA2IDgpKSkK
LS0gCjIuMzQuMQoK

--b1_GIc4IVwxZm5sYzB3lhXoalCoZgTokRfnuyovSfYuFc--





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

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


Received: (at 68863) by debbugs.gnu.org; 18 Apr 2024 02:55:16 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Apr 17 22:55:16 2024
Received: from localhost ([127.0.0.1]:49575 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rxHve-0004zU-RI
	for submit <at> debbugs.gnu.org; Wed, 17 Apr 2024 22:55:16 -0400
Received: from mail-40133.protonmail.ch ([185.70.40.133]:19787)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <okamsn@HIDDEN>) id 1rxHvb-0004yY-SB
 for 68863 <at> debbugs.gnu.org; Wed, 17 Apr 2024 22:55:13 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;
 s=protonmail3; t=1713408892; x=1713668092;
 bh=UaBsVk0PzlNPV8QffxMh0bd7JGVLUd4ckSBM/b+wS1o=;
 h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
 Message-ID:BIMI-Selector;
 b=zKmmELW+ZJiTVaWr5ciDGfEgRqzpAsEF5s5leBKo9jl+gqjvBvZRIfmw2/4qDnh5x
 hWXvVcBGzb/CVCrEXFQdKROtDKiWS3XA0VIE14Ut9QTHhImW+lLELh1216R0bwB7Yw
 GKRNGeWV+xotki/or8gZFFsSkFHIGdzKFS+eZMydW1jXBVyO+9kwQJtY9IY3+n43U8
 C7b236/B1V9jJigTqsDt3e+lBZNtT9zHplT5Sz8Sq108wEb4V20xi65wR+w6BMjrJi
 1OIuoZuKxeVQAspAQmJ2lXe57orVC4jVD0w23I451wzQZkxZ6KBJoTysBs5YVMSvfa
 khnaqPTM6lywg==
Date: Thu, 18 Apr 2024 02:54:46 +0000
To: Stefan Monnier <monnier@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>
From: Okamsn <okamsn@HIDDEN>
Subject: Re: bug#68863: Add support for using setf with seq-subseq
Message-ID: <1fca0de5-236e-428f-9224-b03a4d7d6998@HIDDEN>
In-Reply-To: <8d2a8d06-5b69-4587-9aab-36f7c792c623@HIDDEN>
References: <050ba625-2372-425f-85c6-988e2ef4cf14@HIDDEN>
 <86y1bvw5ff.fsf@HIDDEN> <jwvmssbqbmx.fsf-monnier+emacs@HIDDEN>
 <2dfd9d7f-5c63-4e1d-845c-cd245a71fc34@HIDDEN>
 <8d2a8d06-5b69-4587-9aab-36f7c792c623@HIDDEN>
Feedback-ID: 25935600:user:proton
MIME-Version: 1.0
Content-Type: multipart/mixed;
 boundary="b1_Pe2x6QukYaYI9CWYXi3IIxLnEctI7SEQA9dpZ8eW1s"
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 68863
Cc: 68863 <at> debbugs.gnu.org, Nicolas Petton <nicolas@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 (-)

This is a multi-part message in MIME format.

--b1_Pe2x6QukYaYI9CWYXi3IIxLnEctI7SEQA9dpZ8eW1s
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Okamsn wrote:
> Hello,
>=20
> After testing it more, I see that what I've written does not work as I
> expected in the case
>=20
> (let ((v    (vector (vector 0 1)
>                       (vector 2 3)
>                       (vector 4 5))))
>     (setf (seq-subseq (seq-subseq (elt v 0) 0) 0)
>           [10])
>     v)
>=20
> in which I would expect it to replace the first element of the first
> sub-vector with 10. I will take more time to continue working on this.
>=20
> Thank you for your patience.
>=20
>=20

Hello,

I found a way to work with subplaces, like in the example in my previous=20
e-mail message. Instead of creating the generic feature `(setf=20
seq-subseq)` like what is done for `seq-elt`, I created a generic=20
function `seq-replace`, which is used in a new `gv-expander` for=20
`seq-subseq`. This way of doing it is like what is done for `substring`,=20
which has the behavior that I wanted.

What do you think about this approach?

Thank you.
--b1_Pe2x6QukYaYI9CWYXi3IIxLnEctI7SEQA9dpZ8eW1s
Content-Type: text/x-patch; charset=UTF-8; name=v3-0001-Add-seq-replace-and-setf-support-for-seq-subseq.patch
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=v3-0001-Add-seq-replace-and-setf-support-for-seq-subseq.patch

RnJvbSA0MTRjNzY4OWVmODczNWU0ZDI5NTVlMGY5N2I1Y2U4NDIxMjA4ODNlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBFYXJsIEh5YXR0IDxva2Ftc25AcHJvdG9ubWFpbC5jb20+CkRh
dGU6IFN1biwgMjggSmFuIDIwMjQgMjI6NDg6MTMgLTA1MDAKU3ViamVjdDogW1BBVENIIHYzXSBB
ZGQgc2VxLXJlcGxhY2UgYW5kIHNldGYgc3VwcG9ydCBmb3Igc2VxLXN1YnNlcS4KCiogbGlzcC9l
bWFjcy1saXNwL3NlcS5lbCAoc2VxLXJlcGxhY2UpOiBBZGQgZnVuY3Rpb24gZm9yCm5vbi1kZXN0
cnVjdGl2ZWx5IHJlcGxhY2luZyB0aGUgZWxlbWVudHMgb2Ygc2VxdWVuY2UKd2l0aCB0aG9zZSBm
cm9tIGFub3RoZXIgc2VxdWVuY2UuCiogbGlzcC9lbWFjcy1saXNwL3NlcS5lbCAoc2VxLXN1YnNl
cSk6IERlY2xhcmUgdGhlICdndi1leHBhbmRlcicKc3BlY2lmaWNhdGlvbiB1c2luZyB0aGUgbmV3
ICdzZXEtcmVwbGFjZScgZnVuY3Rpb25zLgoqIHRlc3QvbGlzcC9lbWFjcy1saXNwL3NlcS10ZXN0
cy5lbCAodGVzdC1zZXEtcmVwbGFjZSkKKHRlc3Qtc2VxLXJlcGxhY2UtY29tYmluYXRpb25zKTog
QWRkIHRlc3RzIGZvciAnc2VxLXJlcGxhY2UnLgoqIHRlc3QvbGlzcC9lbWFjcy1saXNwL3NlcS10
ZXN0cy5lbCAodGVzdC1zZXRmLXNlcS1zdWJzZXEpCih0ZXN0LXNldGYtc2VxLXN1YnNlcS1jb21i
aW5hdGlvbnMsIHRlc3Qtc2V0Zi1zZXEtc3Vic2VxLXJlY3Vyc2l2ZSk6IEFkZAp0ZXN0cyBmb3Ig
dGhlIG5ldyBndiBleHBhbmRlci4KClRoZSBmZWF0dXJlIHdpbGwgc2lnbmFsICdhcmdzLW91dC1v
Zi1yYW5nZScgaWYgdGhlIHN0YXJ0aW5nIGluZGV4IG9yCmVuZGluZyBpbmRleCAoaWYgZ2l2ZW4p
IGlzIG91dHNpZGUgb2YgdGhlIHJhbmdlIG9mIHZhbHVlcyBmcm9tIDAgdGhyb3VnaAp0aGUgbGVu
Z3RoIG9mIHRoZSBzZXF1ZW5jZSBvciBmcm9tIHRoZSBuZWdhdGl2ZSBsZW5ndGggb2YgdGhlIHNl
cXVlbmNlCnRocm91Z2ggbmVnYXRpdmUgMS4gIElmIHRoZSBzdGFydGluZyBpbmRleCBpcyBlcXVh
bCB0byB0aGUgbGVuZ3RoIG9mIHRoZQpzZXF1ZW5jZSwgdGhlbiBub3RoaW5nIGlzIGNoYW5nZWQu
ICBJZiB0aGUgc3RhcnRpbmcgaW5kZXggaXMgZXF1YWwgdG8KdGhlIGVuZGluZyBpbmRleCwgdGhl
biBub3RoaW5nIGlzIGNoYW5nZWQuICBUaGUgJ3NlcS1yZXBsYWNlJyBhbmQgdGhlCm5ldyAnc2V0
Zicgc3VwcG9ydCBmb3IgJ3NlcS1zdWJzZXEnIHNob3VsZCBzaWduYWwgYW4gZXJyb3IgaW4gYWxs
IGNhc2VzCndoZXJlIHVzaW5nICdzZXEtc3Vic2VxJyB3b3VsZCBzaWduYWwgYW4gZXJyb3IuCi0t
LQogbGlzcC9lbWFjcy1saXNwL3NlcS5lbCAgICAgICAgICAgIHwgIDkxICsrKysrKysrKwogdGVz
dC9saXNwL2VtYWNzLWxpc3Avc2VxLXRlc3RzLmVsIHwgMzI0ICsrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCA0MTUgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdp
dCBhL2xpc3AvZW1hY3MtbGlzcC9zZXEuZWwgYi9saXNwL2VtYWNzLWxpc3Avc2VxLmVsCmluZGV4
IGEyMGNmZjE2OTgyLi4zN2Y3MzkzMmNkNyAxMDA2NDQKLS0tIGEvbGlzcC9lbWFjcy1saXNwL3Nl
cS5lbAorKysgYi9saXNwL2VtYWNzLWxpc3Avc2VxLmVsCkBAIC0xNTgsNiArMTU4LDg0IEBAIHNl
cS1jb3B5CiAgICJSZXR1cm4gYSBzaGFsbG93IGNvcHkgb2YgU0VRVUVOQ0UuIgogICAoY29weS1z
ZXF1ZW5jZSBzZXF1ZW5jZSkpCiAKKyhjbC1kZWZnZW5lcmljIHNlcS1yZXBsYWNlIChzZXF1ZW5j
ZSByZXBsYWNlbWVudHMgc3RhcnQgJm9wdGlvbmFsIGVuZCkKKyAgIlJlcGxhY2UgZWxlbWVudHMg
b2YgU0VRVUVOQ0UgZnJvbSBTVEFSVCB0byBFTkQgd2l0aCBlbGVtZW50cyBvZiBSRVBMQUNFTUVO
VFMuCitFTkQgaXMgZXhjbHVzaXZlLiIKKyAgKGxldCogKChsZW4gKHNlcS1sZW5ndGggc2VxdWVu
Y2UpKQorICAgICAgICAgKHNpZ25hbC1mbiAobGFtYmRhICgpCisgICAgICAgICAgICAgICAgICAg
ICAgKHNpZ25hbCAnYXJncy1vdXQtb2YtcmFuZ2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIChpZiBlbmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobGlzdCBzZXF1
ZW5jZSBzdGFydCBlbmQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsaXN0IHNl
cXVlbmNlIHN0YXJ0KSkpKSkKKyAgICAgICAgIChzaWduYWwtb3ItdmFsLWZuIChsYW1iZGEgKHZh
bCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbmQKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICgoPiB2YWwgbGVuKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IChmdW5jYWxsIHNpZ25hbC1mbikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKDwg
dmFsIDApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxldCAoKHZhbDIgKCsgdmFs
IGxlbikpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmICg8IHZhbDIgMCkK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY2FsbCBzaWduYWwtZm4p
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbDIpKSkKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICh0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFs
KSkpKQorICAgICAgICAgKGlkeC1zdGFydCAoZnVuY2FsbCBzaWduYWwtb3ItdmFsLWZuIHN0YXJ0
KSkKKyAgICAgICAgIChpZHgtZW5kIChpZiAobnVsbCBlbmQpCisgICAgICAgICAgICAgICAgICAg
ICAgbGVuCisgICAgICAgICAgICAgICAgICAgIChmdW5jYWxsIHNpZ25hbC1vci12YWwtZm4gZW5k
KSkpKQorICAgIChpZiAoPiBpZHgtc3RhcnQgaWR4LWVuZCkKKyAgICAgICAgKGZ1bmNhbGwgc2ln
bmFsLWZuKQorICAgICAgKGxldCAoKHJlcGxhY2VtZW50LWlkeCAwKQorICAgICAgICAgICAgKHJl
cGxhY2VtZW50LWxlbiAoc2VxLWxlbmd0aCByZXBsYWNlbWVudHMpKSkKKyAgICAgICAgKHNlcS1p
bnRvIChzZXEtbWFwLWluZGV4ZWQgKGxhbWJkYSAoZWxlbSBpZHgpCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgKGlmIChhbmQgKDw9IGlkeC1zdGFydCBpZHgpCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDwgaWR4IGlkeC1lbmQpCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDwgcmVwbGFjZW1l
bnQtaWR4IHJlcGxhY2VtZW50LWxlbikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIChwcm9nMQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgKHNlcS1lbHQgcmVwbGFjZW1lbnRzIHJlcGxhY2VtZW50LWlkeCkKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2V0cSByZXBsYWNlbWVudC1pZHggKDEr
IHJlcGxhY2VtZW50LWlkeCkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZWxlbSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcXVlbmNlKQor
ICAgICAgICAgICAgICAgICAgKGlmIChsaXN0cCBzZXF1ZW5jZSkKKyAgICAgICAgICAgICAgICAg
ICAgICAnbGlzdAorICAgICAgICAgICAgICAgICAgICAodHlwZS1vZiBzZXF1ZW5jZSkpKSkpKSkK
KworKGNsLWRlZm1ldGhvZCBzZXEtcmVwbGFjZSAoc2VxdWVuY2UgKHJlcGxhY2VtZW50cyBsaXN0
KSBzdGFydCAmb3B0aW9uYWwgZW5kKQorICAiUmVwbGFjZSBlbGVtZW50cyBvZiBTRVFVRU5DRSBm
cm9tIFNUQVJUIHRvIEVORCB3aXRoIGVsZW1lbnRzIG9mIFJFUExBQ0VNRU5UUy4KK0VORCBpcyBl
eGNsdXNpdmUuIgorICAobGV0KiAoKGxlbiAoc2VxLWxlbmd0aCBzZXF1ZW5jZSkpCisgICAgICAg
ICAoc2lnbmFsLWZuIChsYW1iZGEgKCkKKyAgICAgICAgICAgICAgICAgICAgICAoc2lnbmFsICdh
cmdzLW91dC1vZi1yYW5nZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmIGVuZAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsaXN0IHNlcXVlbmNlIHN0YXJ0IGVu
ZCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxpc3Qgc2VxdWVuY2Ugc3RhcnQp
KSkpKQorICAgICAgICAgKHNpZ25hbC1vci12YWwtZm4gKGxhbWJkYSAodmFsKQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAoY29uZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
KCg+IHZhbCBsZW4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZ1bmNhbGwgc2ln
bmFsLWZuKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoPCB2YWwgMCkKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAobGV0ICgodmFsMiAoKyB2YWwgbGVuKSkpCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaWYgKDwgdmFsMiAwKQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIChmdW5jYWxsIHNpZ25hbC1mbikKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdmFsMikpKQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgKHQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWwpKSkpCisgICAgICAg
ICAoaWR4LXN0YXJ0IChmdW5jYWxsIHNpZ25hbC1vci12YWwtZm4gc3RhcnQpKQorICAgICAgICAg
KGlkeC1lbmQgKGlmIChudWxsIGVuZCkKKyAgICAgICAgICAgICAgICAgICAgICBsZW4KKyAgICAg
ICAgICAgICAgICAgICAgKGZ1bmNhbGwgc2lnbmFsLW9yLXZhbC1mbiBlbmQpKSkpCisgICAgKGlm
ICg+IGlkeC1zdGFydCBpZHgtZW5kKQorICAgICAgICAoZnVuY2FsbCBzaWduYWwtZm4pCisgICAg
ICAoc2VxLWludG8gKHNlcS1tYXAtaW5kZXhlZCAobGFtYmRhIChlbGVtIGlkeCkKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmIChhbmQgKDw9IGlkeC1zdGFydCBpZHgpCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg8IGlkeCBpZHgtZW5k
KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXBsYWNlbWVu
dHMpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocG9wIHJlcGxhY2Vt
ZW50cykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtKSkKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcXVlbmNlKQorICAgICAgICAgICAgICAgIChp
ZiAobGlzdHAgc2VxdWVuY2UpCisgICAgICAgICAgICAgICAgICAgICdsaXN0CisgICAgICAgICAg
ICAgICAgICAodHlwZS1vZiBzZXF1ZW5jZSkpKSkpKQorCiA7OzsjIyNhdXRvbG9hZAogKGNsLWRl
ZmdlbmVyaWMgc2VxLXN1YnNlcSAoc2VxdWVuY2Ugc3RhcnQgJm9wdGlvbmFsIGVuZCkKICAgIlJl
dHVybiB0aGUgc2VxdWVuY2Ugb2YgZWxlbWVudHMgb2YgU0VRVUVOQ0UgZnJvbSBTVEFSVCB0byBF
TkQuCkBAIC0xNjcsNiArMjQ1LDE5IEBAIHNlcS1zdWJzZXEKIFNUQVJUIG9yIEVORCBpcyBuZWdh
dGl2ZSwgaXQgY291bnRzIGZyb20gdGhlIGVuZC4gIFNpZ25hbCBhbgogZXJyb3IgaWYgU1RBUlQg
b3IgRU5EIGFyZSBvdXRzaWRlIG9mIHRoZSBzZXF1ZW5jZSAoaS5lIHRvbyBsYXJnZQogaWYgcG9z
aXRpdmUgb3IgdG9vIHNtYWxsIGlmIG5lZ2F0aXZlKS4iCisgIChkZWNsYXJlCisgICAoZ3YtZXhw
YW5kZXIKKyAgICAobGFtYmRhIChkbykKKyAgICAgIChndi1sZXRwbGFjZSAoZ2V0dGVyIHNldHRl
cikgYChndi1kZWxheS1lcnJvciAsc2VxdWVuY2UpCisgICAgICAgIChtYWNyb2V4cC1sZXQyKiBu
aWwgKChzdGFydCBzdGFydCkgKGVuZCBlbmQpKQorICAgICAgICAgIChmdW5jYWxsIGRvCisgICAg
ICAgICAgICAgICAgICAgYChzZXEtc3Vic2VxICxnZXR0ZXIgLHN0YXJ0ICxlbmQpCisgICAgICAg
ICAgICAgICAgICAgKGxhbWJkYSAodikKKyAgICAgICAgICAgICAgICAgICAgIChtYWNyb2V4cC1s
ZXQyIG5pbCB2IHYKKyAgICAgICAgICAgICAgICAgICAgICAgYChwcm9nbgorICAgICAgICAgICAg
ICAgICAgICAgICAgICAsKGZ1bmNhbGwgc2V0dGVyCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBgKHNlcS1yZXBsYWNlICxnZXR0ZXIgLHYgLHN0YXJ0ICxlbmQpKQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAsdikpKSkpKSkpKQogICAoY29uZAogICAgKChvciAoc3RyaW5n
cCBzZXF1ZW5jZSkgKHZlY3RvcnAgc2VxdWVuY2UpKSAoc3Vic3RyaW5nIHNlcXVlbmNlIHN0YXJ0
IGVuZCkpCiAgICAoKGxpc3RwIHNlcXVlbmNlKQpkaWZmIC0tZ2l0IGEvdGVzdC9saXNwL2VtYWNz
LWxpc3Avc2VxLXRlc3RzLmVsIGIvdGVzdC9saXNwL2VtYWNzLWxpc3Avc2VxLXRlc3RzLmVsCmlu
ZGV4IGMwNmNlYjAwYmRiLi40NGZkNTM1MGY3MiAxMDA2NDQKLS0tIGEvdGVzdC9saXNwL2VtYWNz
LWxpc3Avc2VxLXRlc3RzLmVsCisrKyBiL3Rlc3QvbGlzcC9lbWFjcy1saXNwL3NlcS10ZXN0cy5l
bApAQCAtMzEyLDYgKzMxMiwzMzAgQEAgdGVzdC1zZXEtc3Vic2VxCiAgICAgICAgICAgICAgICAg
ICAoOnN1Y2Nlc3MKICAgICAgICAgICAgICAgICAgICAoc2hvdWxkIChlcXVhbCAoc2VxLXN1YnNl
cSBsaXN0IHN0YXJ0IGVuZCkgcmVzKSkpKSkpKSkpKSkpCiAKKyhjbC1kZWZtYWNybyB0ZXN0LXNl
cS1yZXBsYWNlLWNvbWJpbmF0aW9ucworICAgICgma2V5IGluaXQtdmFscyBzdWItdmFscyByZXN1
bHQgcmFuZ2UgZXJyb3IpCisgICJNYWtlIGEgdGVzdCBmb3IgZWFjaCBjb21iaW5hdGlvbiBvZiBz
ZXF1ZW5jZSB0eXBlIGZvciBgc2VxLXN1YnNlcScgdXNpbmcgYHNldGYnLgorCistIElOSVQtVkFM
UyBpcyBhIGxpc3QgaG9sZGluZyB0aGUgaW5pdGlhbCBlbGVtZW50cy4KKy0gUkVTVUxUIGlzIHdo
YXQgdGhlIGZpbmFsIHZhbHVlIHNob3VsZCBiZSBhZnRlciBzdWJzdGl0dXRpb24uCistIEVSUk9S
IGlzIHdoZXRoZXIgdGhlIGZvcm0gc2hvdWxkIHNpZ25hbCBgYXJncy1vdXQtb2YtcmFuZ2UnLgor
LSBTVUItVkFMUyBpcyBhIGxpc3QgaG9sZGluZyB0aGUgZWxlbWVudHMgdG8gYmUgc3Vic3RpdHV0
ZWQgaW4uCistIFJBTkdFIGlzIGEgbGlzdCBvZiB0aGUgYHN0YXJ0JyBhbmQgYGVuZCcgYXJndW1l
bnRzIG9mIGBzZXEtc3Vic2VxJy4iCisgIChsZXQgKCh0ZXN0cykpCisgICAgKGRvbGlzdCAodHlw
ZTEgJyhsaXN0IHZlY3RvciBzdHJpbmcpKQorICAgICAgKGRvbGlzdCAodHlwZTIgJyhsaXN0IHZl
Y3RvciBzdHJpbmcpKQorICAgICAgICAocHVzaCAgKGlmIGVycm9yCisgICAgICAgICAgICAgICAg
ICAgYChzaG91bGQtZXJyb3IgKHNlcS1yZXBsYWNlICgsdHlwZTEgLEBpbml0LXZhbHMpCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgsdHlwZTIgLEBzdWIt
dmFscykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEBy
YW5nZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6dHlwZSAocXVvdGUgYXJn
cy1vdXQtb2YtcmFuZ2UpKQorICAgICAgICAgICAgICAgICBgKHNob3VsZCAoZXF1YWwgKCx0eXBl
MSAsQHJlc3VsdCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZXEtcmVwbGFj
ZSAoLHR5cGUxICxAaW5pdC12YWxzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICgsdHlwZTIgLEBzdWItdmFscykKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAsQHJhbmdlKSkpKQorICAgICAgICAgICAgICAgdGVzdHMp
KSkKKyAgICBgKHByb2duICxAdGVzdHMpKSkKKworKGVydC1kZWZ0ZXN0IHRlc3Qtc2VxLXJlcGxh
Y2UgKCkKKyAgIlRlc3QgdXNpbmcgYHNlcS1yZXBsYWNlJyB3aXRoIGBzZXRmJy4KKworQW55IGNv
bWJpbmF0aW9uIG9mIHNlcXVlbmNlcyBzaG91bGQgd29yay4KKworQW4gZXJyb3Igc2hvdWxkIGJl
IHNpZ25hbGxlZCBpZiB0aGUgaW5jbHVzaXZlIHN0YXJ0aW5nIGluZGV4IG9yCit0aGUgZXhjbHVz
aXZlIGVuZGluZyBpbmRleCBpcyBvdXQgb2YgdGhlIHJhbmdlIGZyb20gMCB0aHJvdWdoIHRoZQor
bGVuZ3RoIG9mIHRoZSBzZXF1ZW5jZSwgb3IgaWYgdGhlIHN0YXJ0aW5nIGluZGV4IGlzIGdyZWF0
ZXIgdGhhbgordGhlIGVuZGluZyBpbmRleC4gIElmIHRoZSBzdGFydGluZyBpbmRleCBpcyBlcXVh
bCB0byB0aGUgZW5kaW5nCitpbmRleCwgdGhlbiBub3RoaW5nIGlzIGNoYW5nZWQuICBJZiB0aGUg
c3RhcnRpbmcgaW5kZXggaXMgZXF1YWwKK3RvIHRoZSBsZW5ndGggb2YgdGhlIHNlcXVlbmNlLCB0
aGVuIG5vdGhpbmcgaXMgY2hhbmdlZC4gIEl0CitzaG91bGQgc2lnbmFsIGFuIGVycm9yIGluIGFs
bCB0aGUgY2FzZXMgdGhhdCBgc2VxLXJlcGxhY2UnIHNpZ25hbHMKK2FuIGVycm9yLiIKKyAgKHRl
c3Qtc2VxLXJlcGxhY2UtY29tYmluYXRpb25zCisgICA6aW5pdC12YWxzICgwIDEgMikKKyAgIDpz
dWItdmFscyAoMTAgMTEgMTIpCisgICA6cmFuZ2UgKDApCisgICA6cmVzdWx0ICgxMCAxMSAxMikp
CisKKyAgKHRlc3Qtc2VxLXJlcGxhY2UtY29tYmluYXRpb25zCisgICA6aW5pdC12YWxzICgwIDEp
CisgICA6c3ViLXZhbHMgKDEwIDExIDEyKQorICAgOnJhbmdlICgwKQorICAgOnJlc3VsdCAoMTAg
MTEpKQorCisgICh0ZXN0LXNlcS1yZXBsYWNlLWNvbWJpbmF0aW9ucworICAgOmluaXQtdmFscyAo
MCAxIDIpCisgICA6c3ViLXZhbHMgKDEwIDExIDEyKQorICAgOnJhbmdlICgxKQorICAgOnJlc3Vs
dCAoMCAxMCAxMSkpCisKKyAgKHRlc3Qtc2VxLXJlcGxhY2UtY29tYmluYXRpb25zCisgICA6aW5p
dC12YWxzICgwIDEgMikKKyAgIDpzdWItdmFscyAoMTAgMTEgMTIpCisgICA6cmFuZ2UgKDEgMykK
KyAgIDpyZXN1bHQgKDAgMTAgMTEpKQorCisgICh0ZXN0LXNlcS1yZXBsYWNlLWNvbWJpbmF0aW9u
cworICAgOmluaXQtdmFscyAoMCAxIDIpCisgICA6c3ViLXZhbHMgKDEwIDExIDEyKQorICAgOnJh
bmdlICgzIDEpCisgICA6ZXJyb3IgdCkKKworICAodGVzdC1zZXEtcmVwbGFjZS1jb21iaW5hdGlv
bnMKKyAgIDppbml0LXZhbHMgKDAgMSAyKQorICAgOnN1Yi12YWxzICgxMCAxMSAxMikKKyAgIDpy
YW5nZSAoMSAxMDApCisgICA6ZXJyb3IgdCkKKworICAodGVzdC1zZXEtcmVwbGFjZS1jb21iaW5h
dGlvbnMKKyAgIDppbml0LXZhbHMgKDAgMSAyKQorICAgOnN1Yi12YWxzICgxMCAxMSAxMikKKyAg
IDpyYW5nZSAoNykKKyAgIDplcnJvciB0KQorCisgICh0ZXN0LXNlcS1yZXBsYWNlLWNvbWJpbmF0
aW9ucworICAgOmluaXQtdmFscyAoMCAxIDIgMyA0KQorICAgOnN1Yi12YWxzICgxMiAxMyAxNCAx
NSkKKyAgIDpyYW5nZSAoMiAzKQorICAgOnJlc3VsdCAoMCAxIDEyIDMgNCkpCisKKyAgKHRlc3Qt
c2VxLXJlcGxhY2UtY29tYmluYXRpb25zCisgICA6aW5pdC12YWxzICgwIDEgMiAzIDQpCisgICA6
c3ViLXZhbHMgKDEyIDEzIDE0IDE1KQorICAgOnJhbmdlICgyIDIpCisgICA6cmVzdWx0ICgwIDEg
MiAzIDQpKQorCisgICh0ZXN0LXNlcS1yZXBsYWNlLWNvbWJpbmF0aW9ucworICAgOmluaXQtdmFs
cyAoMCAxIDIgMyA0KQorICAgOnN1Yi12YWxzICgxMiAxMyAxNCAxNSkKKyAgIDpyYW5nZSAoNSkK
KyAgIDpyZXN1bHQgKDAgMSAyIDMgNCkpCisKKyAgKHRlc3Qtc2VxLXJlcGxhY2UtY29tYmluYXRp
b25zCisgICA6aW5pdC12YWxzICgwIDEgMiAzIDQpCisgICA6c3ViLXZhbHMgKDEyIDEzIDE0IDE1
KQorICAgOnJhbmdlICg2KQorICAgOmVycm9yIHQpCisKKyAgKHRlc3Qtc2VxLXJlcGxhY2UtY29t
YmluYXRpb25zCisgICA6aW5pdC12YWxzICgwIDEgMiAzIDQpCisgICA6c3ViLXZhbHMgKDEyIDEz
IDE0IDE1KQorICAgOnJhbmdlICg1IDYpCisgICA6ZXJyb3IgdCkKKworICAodGVzdC1zZXEtcmVw
bGFjZS1jb21iaW5hdGlvbnMKKyAgIDppbml0LXZhbHMgKDAgMSAyIDMgNCA1IDYgNyA4IDkpCisg
ICA6c3ViLXZhbHMgKDEwIDExIDEyIDEzIDE0KQorICAgOnJhbmdlICgtMikKKyAgIDpyZXN1bHQg
KDAgMSAyIDMgNCA1IDYgNyAxMCAxMSkpCisKKyAgKHRlc3Qtc2VxLXJlcGxhY2UtY29tYmluYXRp
b25zCisgICA6aW5pdC12YWxzICgwIDEgMiAzIDQgNSA2IDcgOCA5KQorICAgOnN1Yi12YWxzICgx
MCAxMSAxMiAxMyAxNCkKKyAgIDpyYW5nZSAoLTYgLTMpCisgICA6cmVzdWx0ICgwIDEgMiAzIDEw
IDExIDEyIDcgOCA5KSkKKworICAodGVzdC1zZXEtcmVwbGFjZS1jb21iaW5hdGlvbnMKKyAgIDpp
bml0LXZhbHMgKDAgMSAyIDMgNCA1IDYgNyA4IDkpCisgICA6c3ViLXZhbHMgKDEwIDExIDEyIDEz
IDE0KQorICAgOnJhbmdlICgtNiAtMTApCisgICA6ZXJyb3IgdCkKKworICA7OyBUaGlzIHJhbmdl
IG1pZ2h0IG1ha2Ugc2Vuc2UsIGJ1dCBzaW5jZSBpdCB3b3VsZCBzaWduYWwgYW4gZXJyb3IKKyAg
OzsgaW4gYHNlcS1zdWJzZXEnLCB3ZSBhbHNvIHNpZ25hbCBhbiBlcnJvciBpbiB0aGUgYHNldGYn
IGZlYXR1cmUuCisgICh0ZXN0LXNlcS1yZXBsYWNlLWNvbWJpbmF0aW9ucworICAgOmluaXQtdmFs
cyAoMCAxIDIgMyA0IDUgNiA3IDggOSkKKyAgIDpzdWItdmFscyAoMTAgMTEgMTIgMTMgMTQpCisg
ICA6cmFuZ2UgKC02IDApCisgICA6ZXJyb3IgdCkKKworICAodGVzdC1zZXEtcmVwbGFjZS1jb21i
aW5hdGlvbnMKKyAgIDppbml0LXZhbHMgKDAgMSAyIDMgNCA1IDYgNyA4IDkpCisgICA6c3ViLXZh
bHMgKDEwIDExIDEyIDEzIDE0KQorICAgOnJhbmdlICgxMDApCisgICA6ZXJyb3IgdCkKKworICAo
dGVzdC1zZXEtcmVwbGFjZS1jb21iaW5hdGlvbnMKKyAgIDppbml0LXZhbHMgKDAgMSAyIDMgNCA1
IDYgNyA4IDkpCisgICA6c3ViLXZhbHMgKDEwIDExIDEyIDEzIDE0KQorICAgOnJhbmdlICgtMTAw
KQorICAgOmVycm9yIHQpKQorCisoY2wtZGVmbWFjcm8gdGVzdC1zZXRmLXNlcS1zdWJzZXEtY29t
YmluYXRpb25zCisgICAgKCZrZXkgaW5pdC12YWxzIHN1Yi12YWxzIHJlc3VsdCByYW5nZSBlcnJv
cikKKyAgIk1ha2UgYSB0ZXN0IGZvciBlYWNoIGNvbWJpbmF0aW9uIG9mIHNlcXVlbmNlIHR5cGUg
Zm9yIGBzZXEtc3Vic2VxJyB1c2luZyBgc2V0ZicuCisKKy0gSU5JVC1WQUxTIGlzIGEgbGlzdCBo
b2xkaW5nIHRoZSBpbml0aWFsIGVsZW1lbnRzLgorLSBSRVNVTFQgaXMgd2hhdCB0aGUgZmluYWwg
dmFsdWUgc2hvdWxkIGJlIGFmdGVyIHN1YnN0aXR1dGlvbi4KKy0gRVJST1IgaXMgd2hldGhlciB0
aGUgZm9ybSBzaG91bGQgc2lnbmFsIGBhcmdzLW91dC1vZi1yYW5nZScuCistIFNVQi1WQUxTIGlz
IGEgbGlzdCBob2xkaW5nIHRoZSBlbGVtZW50cyB0byBiZSBzdWJzdGl0dXRlZCBpbi4KKy0gUkFO
R0UgaXMgYSBsaXN0IG9mIHRoZSBgc3RhcnQnIGFuZCBgZW5kJyBhcmd1bWVudHMgb2YgYHNlcS1z
dWJzZXEnLiIKKyAgKGxldCAoKHRlc3RzKSkKKyAgICAoZG9saXN0ICh0eXBlMSAnKGxpc3QgdmVj
dG9yIHN0cmluZykpCisgICAgICAoZG9saXN0ICh0eXBlMiAnKGxpc3QgdmVjdG9yIHN0cmluZykp
CisgICAgICAgIChwdXNoICAoaWYgZXJyb3IKKyAgICAgICAgICAgICAgICAgICBgKHNob3VsZC1l
cnJvciAobGV0ICgoc2VxICgsdHlwZTEgLEBpbml0LXZhbHMpKSkKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIChzZXRmIChzZXEtc3Vic2VxIHNlcSAsQHJhbmdlKQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCx0eXBlMiAsQHN1Yi12YWxzKSkK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcSkKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA6dHlwZSAocXVvdGUgYXJncy1vdXQtb2YtcmFuZ2UpKQorICAg
ICAgICAgICAgICAgICBgKHNob3VsZCAoZXF1YWwgKCx0eXBlMSAsQHJlc3VsdCkKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIChsZXQgKChzZXEgKCx0eXBlMSAsQGluaXQtdmFscykp
KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2V0ZiAoc2VxLXN1YnNlcSBz
ZXEgLEByYW5nZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCx0
eXBlMiAsQHN1Yi12YWxzKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vx
KSkpKQorICAgICAgICAgICAgICAgdGVzdHMpKSkKKyAgICBgKHByb2duICxAdGVzdHMpKSkKKwor
KGVydC1kZWZ0ZXN0IHRlc3Qtc2V0Zi1zZXEtc3Vic2VxICgpCisgICJUZXN0IHVzaW5nIGBzZXEt
c3Vic2VxJyB3aXRoIGBzZXRmJy4KKworQW55IGNvbWJpbmF0aW9uIG9mIHNlcXVlbmNlcyBzaG91
bGQgd29yay4KKworQW4gZXJyb3Igc2hvdWxkIGJlIHNpZ25hbGxlZCBpZiB0aGUgaW5jbHVzaXZl
IHN0YXJ0aW5nIGluZGV4IG9yCit0aGUgZXhjbHVzaXZlIGVuZGluZyBpbmRleCBpcyBvdXQgb2Yg
dGhlIHJhbmdlIGZyb20gMCB0aHJvdWdoIHRoZQorbGVuZ3RoIG9mIHRoZSBzZXF1ZW5jZSwgb3Ig
aWYgdGhlIHN0YXJ0aW5nIGluZGV4IGlzIGdyZWF0ZXIgdGhhbgordGhlIGVuZGluZyBpbmRleC4g
IElmIHRoZSBzdGFydGluZyBpbmRleCBpcyBlcXVhbCB0byB0aGUgZW5kaW5nCitpbmRleCwgdGhl
biBub3RoaW5nIGlzIGNoYW5nZWQuICBJZiB0aGUgc3RhcnRpbmcgaW5kZXggaXMgZXF1YWwKK3Rv
IHRoZSBsZW5ndGggb2YgdGhlIHNlcXVlbmNlLCB0aGVuIG5vdGhpbmcgaXMgY2hhbmdlZC4gIEl0
CitzaG91bGQgc2lnbmFsIGFuIGVycm9yIGluIGFsbCB0aGUgY2FzZXMgdGhhdCBgc2VxLXN1YnNl
cScgc2lnbmFscworYW4gZXJyb3IuIgorICAodGVzdC1zZXRmLXNlcS1zdWJzZXEtY29tYmluYXRp
b25zCisgICA6aW5pdC12YWxzICgwIDEgMikKKyAgIDpzdWItdmFscyAoMTAgMTEgMTIpCisgICA6
cmFuZ2UgKDApCisgICA6cmVzdWx0ICgxMCAxMSAxMikpCisKKyAgKHRlc3Qtc2V0Zi1zZXEtc3Vi
c2VxLWNvbWJpbmF0aW9ucworICAgOmluaXQtdmFscyAoMCAxKQorICAgOnN1Yi12YWxzICgxMCAx
MSAxMikKKyAgIDpyYW5nZSAoMCkKKyAgIDpyZXN1bHQgKDEwIDExKSkKKworICAodGVzdC1zZXRm
LXNlcS1zdWJzZXEtY29tYmluYXRpb25zCisgICA6aW5pdC12YWxzICgwIDEgMikKKyAgIDpzdWIt
dmFscyAoMTAgMTEgMTIpCisgICA6cmFuZ2UgKDEpCisgICA6cmVzdWx0ICgwIDEwIDExKSkKKwor
ICAodGVzdC1zZXRmLXNlcS1zdWJzZXEtY29tYmluYXRpb25zCisgICA6aW5pdC12YWxzICgwIDEg
MikKKyAgIDpzdWItdmFscyAoMTAgMTEgMTIpCisgICA6cmFuZ2UgKDEgMykKKyAgIDpyZXN1bHQg
KDAgMTAgMTEpKQorCisgICh0ZXN0LXNldGYtc2VxLXN1YnNlcS1jb21iaW5hdGlvbnMKKyAgIDpp
bml0LXZhbHMgKDAgMSAyKQorICAgOnN1Yi12YWxzICgxMCAxMSAxMikKKyAgIDpyYW5nZSAoMyAx
KQorICAgOmVycm9yIHQpCisKKyAgKHRlc3Qtc2V0Zi1zZXEtc3Vic2VxLWNvbWJpbmF0aW9ucwor
ICAgOmluaXQtdmFscyAoMCAxIDIpCisgICA6c3ViLXZhbHMgKDEwIDExIDEyKQorICAgOnJhbmdl
ICgxIDEwMCkKKyAgIDplcnJvciB0KQorCisgICh0ZXN0LXNldGYtc2VxLXN1YnNlcS1jb21iaW5h
dGlvbnMKKyAgIDppbml0LXZhbHMgKDAgMSAyKQorICAgOnN1Yi12YWxzICgxMCAxMSAxMikKKyAg
IDpyYW5nZSAoNykKKyAgIDplcnJvciB0KQorCisgICh0ZXN0LXNldGYtc2VxLXN1YnNlcS1jb21i
aW5hdGlvbnMKKyAgIDppbml0LXZhbHMgKDAgMSAyIDMgNCkKKyAgIDpzdWItdmFscyAoMTIgMTMg
MTQgMTUpCisgICA6cmFuZ2UgKDIgMykKKyAgIDpyZXN1bHQgKDAgMSAxMiAzIDQpKQorCisgICh0
ZXN0LXNldGYtc2VxLXN1YnNlcS1jb21iaW5hdGlvbnMKKyAgIDppbml0LXZhbHMgKDAgMSAyIDMg
NCkKKyAgIDpzdWItdmFscyAoMTIgMTMgMTQgMTUpCisgICA6cmFuZ2UgKDIgMikKKyAgIDpyZXN1
bHQgKDAgMSAyIDMgNCkpCisKKyAgKHRlc3Qtc2V0Zi1zZXEtc3Vic2VxLWNvbWJpbmF0aW9ucwor
ICAgOmluaXQtdmFscyAoMCAxIDIgMyA0KQorICAgOnN1Yi12YWxzICgxMiAxMyAxNCAxNSkKKyAg
IDpyYW5nZSAoNSkKKyAgIDpyZXN1bHQgKDAgMSAyIDMgNCkpCisKKyAgKHRlc3Qtc2V0Zi1zZXEt
c3Vic2VxLWNvbWJpbmF0aW9ucworICAgOmluaXQtdmFscyAoMCAxIDIgMyA0KQorICAgOnN1Yi12
YWxzICgxMiAxMyAxNCAxNSkKKyAgIDpyYW5nZSAoNikKKyAgIDplcnJvciB0KQorCisgICh0ZXN0
LXNldGYtc2VxLXN1YnNlcS1jb21iaW5hdGlvbnMKKyAgIDppbml0LXZhbHMgKDAgMSAyIDMgNCkK
KyAgIDpzdWItdmFscyAoMTIgMTMgMTQgMTUpCisgICA6cmFuZ2UgKDUgNikKKyAgIDplcnJvciB0
KQorCisgICh0ZXN0LXNldGYtc2VxLXN1YnNlcS1jb21iaW5hdGlvbnMKKyAgIDppbml0LXZhbHMg
KDAgMSAyIDMgNCA1IDYgNyA4IDkpCisgICA6c3ViLXZhbHMgKDEwIDExIDEyIDEzIDE0KQorICAg
OnJhbmdlICgtMikKKyAgIDpyZXN1bHQgKDAgMSAyIDMgNCA1IDYgNyAxMCAxMSkpCisKKyAgKHRl
c3Qtc2V0Zi1zZXEtc3Vic2VxLWNvbWJpbmF0aW9ucworICAgOmluaXQtdmFscyAoMCAxIDIgMyA0
IDUgNiA3IDggOSkKKyAgIDpzdWItdmFscyAoMTAgMTEgMTIgMTMgMTQpCisgICA6cmFuZ2UgKC02
IC0zKQorICAgOnJlc3VsdCAoMCAxIDIgMyAxMCAxMSAxMiA3IDggOSkpCisKKyAgKHRlc3Qtc2V0
Zi1zZXEtc3Vic2VxLWNvbWJpbmF0aW9ucworICAgOmluaXQtdmFscyAoMCAxIDIgMyA0IDUgNiA3
IDggOSkKKyAgIDpzdWItdmFscyAoMTAgMTEgMTIgMTMgMTQpCisgICA6cmFuZ2UgKC02IC0xMCkK
KyAgIDplcnJvciB0KQorCisgIDs7IFRoaXMgcmFuZ2UgbWlnaHQgbWFrZSBzZW5zZSwgYnV0IHNp
bmNlIGl0IHdvdWxkIHNpZ25hbCBhbiBlcnJvcgorICA7OyBpbiBgc2VxLXN1YnNlcScsIHdlIGFs
c28gc2lnbmFsIGFuIGVycm9yIGluIHRoZSBgc2V0ZicgZmVhdHVyZS4KKyAgKHRlc3Qtc2V0Zi1z
ZXEtc3Vic2VxLWNvbWJpbmF0aW9ucworICAgOmluaXQtdmFscyAoMCAxIDIgMyA0IDUgNiA3IDgg
OSkKKyAgIDpzdWItdmFscyAoMTAgMTEgMTIgMTMgMTQpCisgICA6cmFuZ2UgKC02IDApCisgICA6
ZXJyb3IgdCkKKworICAodGVzdC1zZXRmLXNlcS1zdWJzZXEtY29tYmluYXRpb25zCisgICA6aW5p
dC12YWxzICgwIDEgMiAzIDQgNSA2IDcgOCA5KQorICAgOnN1Yi12YWxzICgxMCAxMSAxMiAxMyAx
NCkKKyAgIDpyYW5nZSAoMTAwKQorICAgOmVycm9yIHQpCisKKyAgKHRlc3Qtc2V0Zi1zZXEtc3Vi
c2VxLWNvbWJpbmF0aW9ucworICAgOmluaXQtdmFscyAoMCAxIDIgMyA0IDUgNiA3IDggOSkKKyAg
IDpzdWItdmFscyAoMTAgMTEgMTIgMTMgMTQpCisgICA6cmFuZ2UgKC0xMDApCisgICA6ZXJyb3Ig
dCkpCisKKyhlcnQtZGVmdGVzdCB0ZXN0LXNldGYtc2VxLXN1YnNlcS1yZWN1cnNpdmUgKCkKKyAg
IlRlc3QgdXNpbmcgYHNldGYnIHdpdGggYHNlcS1zdWJzZXEnIG9uIHN1Yi1wbGFjZXMuCitMaWtl
IHVzaW5nIGBzZXRmJyB3aXRoIGBzdWJzdHJpbmcnLiIKKyAgKGxldCAoKHZlY3QgKHZlY3RvciAw
IDEgMiAzIDQgNSA2KSkpCisgICAgKHNldGYgKHNlcS1zdWJzZXEgKHNlcS1zdWJzZXEgdmVjdCAy
KSAyKSBbMTExIDIyMl0pCisgICAgKHNob3VsZCAoZXF1YWwgdmVjdCAodmVjdG9yIDAgMSAyIDMg
MTExIDIyMiA2KSkpKQorCisgIChsZXQgKChzdHIgKHN0cmluZyA/YSA/YiA/YyA/ZCA/ZSA/ZiA/
ZykpKQorICAgIChzZXRmIChzZXEtc3Vic2VxIChzZXEtc3Vic2VxIHN0ciAyKSAwKSAobGlzdCA/
eCA/eSA/eiA/MSA/MiA/MykpCisgICAgKHNob3VsZCAoZXF1YWwgc3RyIChzdHJpbmcgP2EgP2Ig
P3ggP3kgP3ogPzEgPzIpKSkpCisKKyAgKGxldCAoKGxzdCAobGlzdCA/YSA/YiA/YyA/ZCA/ZSA/
ZiA/ZykpKQorICAgIChzZXRmIChzZXEtc3Vic2VxIChzZXEtc3Vic2VxIChzZXEtc3Vic2VxIChz
ZXEtc3Vic2VxIGxzdCAwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMikKKyAgICAgICAg
ICAgICAgICAgICAgICAtNQorICAgICAgICAgICAgICAgICAgICAgIC0zKQorICAgICAgICAgICh2
ZWN0b3IgP3ggP3kgP3ogPzEgPzIgPzMpKQorICAgIChzaG91bGQgKGVxdWFsIGxzdCAobGlzdCA/
YSA/YiA/eCA/eSA/ZSA/ZiA/ZykpKSkKKworICAobGV0ICgobHN0IChsaXN0IDAgMSAyIDMgNCA1
IDYgNyA4IDkpKSkKKyAgICAoc2V0ZiAoc2VxLXN1YnNlcSAoc2VxLXN1YnNlcSAoc2VxLXN1YnNl
cSAoc2VxLXN1YnNlcSBsc3QgMSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAxKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEpCisgICAg
ICAgICAgICAgICAgICAgICAgMSkKKyAgICAgICAgICAodmVjdG9yIDExMSAyMjIgMzMzIDQ0NCA1
NTUgNjY2IDc3NyA4ODgpKQorICAgIChzaG91bGQgKGVxdWFsIGxzdCAobGlzdCAwIDEgMiAzIDEx
MSAyMjIgMzMzIDQ0NCA1NTUgNjY2KSkpKSkKKwogKGVydC1kZWZ0ZXN0IHRlc3Qtc2VxLWNvbmNh
dGVuYXRlICgpCiAgICh3aXRoLXRlc3Qtc2VxdWVuY2VzIChzZXEgJygyIDQgNikpCiAgICAgKHNo
b3VsZCAoZXF1YWwgKHNlcS1jb25jYXRlbmF0ZSAnc3RyaW5nIHNlcSBbOF0pIChzdHJpbmcgMiA0
IDYgOCkpKQotLSAKMi4zNC4xCgo=

--b1_Pe2x6QukYaYI9CWYXi3IIxLnEctI7SEQA9dpZ8eW1s--





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

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


Received: (at 68863) by debbugs.gnu.org; 14 Feb 2024 02:51:12 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Feb 13 21:51:12 2024
Received: from localhost ([127.0.0.1]:49129 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ra5Me-0005u5-9F
	for submit <at> debbugs.gnu.org; Tue, 13 Feb 2024 21:51:12 -0500
Received: from mail-4316.protonmail.ch ([185.70.43.16]:11033)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <okamsn@HIDDEN>) id 1ra5Mc-0005tn-Jx
 for 68863 <at> debbugs.gnu.org; Tue, 13 Feb 2024 21:51:11 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;
 s=protonmail3; t=1707879046; x=1708138246;
 bh=4ETv0m0qZsdeZFsX4ClolRdIjLc0jsUb1zIUfcIOZlA=;
 h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
 Message-ID:BIMI-Selector;
 b=R72VIO/+tJeeFdohgM5A5/gllaGElQEY1bl2x8dw9qD06wdFV+QS0923cpzksNkK/
 vkwyYkt6jj5Qd6r8+nseO/uYabhD48eudf/1MBbn87nVEypSBkkTVrJDM//0Bqejwv
 NaKMhwTLqo2t4+oCa7iaxvu6fzdzNt0tQueDHHFGraUdwV+yVnDiqOmO7YASadtAyR
 bA0WG9TL+FwfTqUeX/gfnWXwJ9ZM0e+zLdM5kIz4hTguDx0VEFJLK0z3zPRBKifiTc
 IcTNohuqmdLN6QbAOHhLyZ6iSMbBqu5Tz2pdIzmBlacUP9o1Fcwx4qoQDJLxvrXzwi
 zfDjntXpkptzw==
Date: Wed, 14 Feb 2024 02:50:29 +0000
To: Stefan Monnier <monnier@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>
From: Okamsn <okamsn@HIDDEN>
Subject: Re: bug#68863: Add support for using setf with seq-subseq
Message-ID: <8d2a8d06-5b69-4587-9aab-36f7c792c623@HIDDEN>
In-Reply-To: <2dfd9d7f-5c63-4e1d-845c-cd245a71fc34@HIDDEN>
References: <050ba625-2372-425f-85c6-988e2ef4cf14@HIDDEN>
 <86y1bvw5ff.fsf@HIDDEN> <jwvmssbqbmx.fsf-monnier+emacs@HIDDEN>
 <2dfd9d7f-5c63-4e1d-845c-cd245a71fc34@HIDDEN>
Feedback-ID: 25935600:user:proton
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -1.9 (-)
X-Debbugs-Envelope-To: 68863
Cc: 68863 <at> debbugs.gnu.org, Nicolas Petton <nicolas@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.9 (--)

Okamsn wrote:
> Stefan Monnier wrote:
>>>> To avoid modifying more values than specified, that modifying function
>>>> uses a `when` condition. I'm not sure of a good way to stop `seq-do`
>>>> early when we know that it can stop calling the modifying function.
>>>> Normally, I would use `cl-block` and `cl-return`. Is it OK to use thos=
e
>>>> features in `seq.el`? If not, is it worth adding something like a
>>>> `seq-map-while` or a `seq-do-while`?
>>
>> `seq.el` is used by some parts of the implementation of `cl-lib`, so
>> the use of `cl-lib` risks introducing a circular dependency.  Maybe usin=
g
>> `cl-block/return` would be OK, but I wouldn't be surprised if it causes
>> bootstrap trouble.  You can use catch/throw, OTOH.
>>
>>
>>           Stefan
>>
>=20
> Attached is an updated version using `catch` and `throw`. Thank you for
> pointing those out to me. The patch is also changed to signal
> `args-out-of-range` for the start and end indexes to be more like
> `seq-subseq`.
>=20
> How does it look?

Hello,

After testing it more, I see that what I've written does not work as I=20
expected in the case

(let ((v    (vector (vector 0 1)
                     (vector 2 3)
                     (vector 4 5))))
   (setf (seq-subseq (seq-subseq (elt v 0) 0) 0)
         [10])
   v)

in which I would expect it to replace the first element of the first=20
sub-vector with 10. I will take more time to continue working on this.

Thank you for your patience.







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

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


Received: (at 68863) by debbugs.gnu.org; 9 Feb 2024 03:55:22 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Feb 08 22:55:22 2024
Received: from localhost ([127.0.0.1]:57254 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rYHyz-0006cF-Nj
	for submit <at> debbugs.gnu.org; Thu, 08 Feb 2024 22:55:22 -0500
Received: from mail-4322.protonmail.ch ([185.70.43.22]:22959)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <okamsn@HIDDEN>) id 1rYHyx-0006bs-Am
 for 68863 <at> debbugs.gnu.org; Thu, 08 Feb 2024 22:55:20 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;
 s=protonmail3; t=1707450898; x=1707710098;
 bh=h9Wx6qL+k3NzIHf4k5XQhXTj/DOjx+B2GmFcm6owis8=;
 h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
 Message-ID:BIMI-Selector;
 b=xJED8OaDIuYVxGmof3TVXcE/oL34B67REyELCiW9hvb2w0JnBtB3E+VZvLBUq0VMv
 KyfUhTTYDKj5wzX4u4JgiqnWk2LMMtyFGCNTk96YQ0l/w8vjcEcLcrm/axpS4xxm45
 9LKVW7mHWWiLWdNAtax830jMWwhsVGrp83KBfKjdwnZD9UZxt1QJk88fKpwlcYyvyI
 pD472AeofkkJoxJz+P0L11oSrlFySp4goQTVYzTx/o2SSpNceeLN02OYWhToimzKmv
 pRwkKJpeMnPMsF0xE2rze2baPmBpIpVq/cr1UpbQyjOH0rCUADV5+55CkBCVMnRyuJ
 WdSeH3wV8AOzA==
Date: Fri, 09 Feb 2024 03:54:32 +0000
To: Stefan Monnier <monnier@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>
From: Okamsn <okamsn@HIDDEN>
Subject: Re: bug#68863: Add support for using setf with seq-subseq
Message-ID: <2dfd9d7f-5c63-4e1d-845c-cd245a71fc34@HIDDEN>
In-Reply-To: <jwvmssbqbmx.fsf-monnier+emacs@HIDDEN>
References: <050ba625-2372-425f-85c6-988e2ef4cf14@HIDDEN>
 <86y1bvw5ff.fsf@HIDDEN> <jwvmssbqbmx.fsf-monnier+emacs@HIDDEN>
Feedback-ID: 25935600:user:proton
MIME-Version: 1.0
Content-Type: multipart/mixed;
 boundary="b1_15khvgEM3WV8QgDkoBLfCIRbfMNiq4FeNINire2qQ"
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 68863
Cc: 68863 <at> debbugs.gnu.org, Nicolas Petton <nicolas@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 (-)

This is a multi-part message in MIME format.

--b1_15khvgEM3WV8QgDkoBLfCIRbfMNiq4FeNINire2qQ
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Stefan Monnier wrote:
>>> To avoid modifying more values than specified, that modifying function
>>> uses a `when` condition. I'm not sure of a good way to stop `seq-do`
>>> early when we know that it can stop calling the modifying function.
>>> Normally, I would use `cl-block` and `cl-return`. Is it OK to use those
>>> features in `seq.el`? If not, is it worth adding something like a
>>> `seq-map-while` or a `seq-do-while`?
>=20
> `seq.el` is used by some parts of the implementation of `cl-lib`, so
> the use of `cl-lib` risks introducing a circular dependency.  Maybe using
> `cl-block/return` would be OK, but I wouldn't be surprised if it causes
> bootstrap trouble.  You can use catch/throw, OTOH.
>=20
>=20
>          Stefan
>=20

Attached is an updated version using `catch` and `throw`. Thank you for=20
pointing those out to me. The patch is also changed to signal=20
`args-out-of-range` for the start and end indexes to be more like=20
`seq-subseq`.

How does it look?
--b1_15khvgEM3WV8QgDkoBLfCIRbfMNiq4FeNINire2qQ
Content-Type: text/x-patch; charset=UTF-8; name=v2-0001-Add-setf-support-for-seq-subseq.patch
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=v2-0001-Add-setf-support-for-seq-subseq.patch

RnJvbSBiMDZkYjc5MDVmNWQ2ZGZhMGQzM2MwNWZkMjE0ZWY5NWQxOTgxNGI1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBFYXJsIEh5YXR0IDxva2Ftc25AcHJvdG9ubWFpbC5jb20+CkRh
dGU6IFN1biwgMjggSmFuIDIwMjQgMjI6NDg6MTMgLTA1MDAKU3ViamVjdDogW1BBVENIIHYyXSBB
ZGQgc2V0ZiBzdXBwb3J0IGZvciBzZXEtc3Vic2VxLgoKKiBsaXNwL2VtYWNzLWxpc3Avc2VxLmVs
IChzZXEtc3Vic2VxKTogQWRkIGEgZ2VuZXJpYyB2ZXJzaW9uIG9mCmNhbGxpbmcgc2V0ZiBvbiBz
ZXEtc3Vic2VxIGFuZCBhZGQgYSBzcGVjaWFsaXplZCB2ZXJzaW9uIGZvciB3aGVuIHRoZQptb2Rp
ZmllZCBzZXF1ZW5jZSBpcyBhIGxpc3QuCiogdGVzdC9saXNwL2VtYWNzLWxpc3Avc2VxLXRlc3Rz
LmVsICh0ZXN0LXNldGYtc2VxLXN1YnNlcSkKKHRlc3Qtc2V0Zi1zZXEtc3Vic2VxLWNvbWJpbmF0
aW9ucyk6IEFkZCB0ZXN0cyBmb3IgdGhlIGZlYXR1cmUuCgpUaGUgZmVhdHVyZSB3aWxsIHNpZ25h
bCAnYXJncy1vdXQtb2YtcmFuZ2UnIGlmIHRoZSBzdGFydGluZyBpbmRleCBvcgplbmRpbmcgaW5k
ZXggKGlmIGdpdmVuKSBpcyBvdXRzaWRlIG9mIHRoZSByYW5nZSBvZiB2YWx1ZXMgZnJvbSAwCnRo
cm91Z2ggdGhlIGxlbmd0aCBvZiB0aGUgc2VxdWVuY2Ugb3IgZnJvbSB0aGUgbmVnYXRpdmUgbGVu
Z3RoIG9mIHRoZQpzZXF1ZW5jZSB0aHJvdWdoIG5lZ2F0aXZlIDEuICBJZiB0aGUgc3RhcnRpbmcg
aW5kZXggaXMgZXF1YWwgdG8gdGhlCmxlbmd0aCBvZiB0aGUgc2VxdWVuY2UsIHRoZW4gbm90aGlu
ZyBpcyBjaGFuZ2VkLiAgSWYgdGhlIHN0YXJ0aW5nCmluZGV4IGlzIGVxdWFsIHRvIHRoZSBlbmRp
bmcgaW5kZXgsIHRoZW4gbm90aGluZyBpcyBjaGFuZ2VkLiAgVGhlCmZlYXR1cmUgc2hvdWxkIHNp
Z25hbCBhbiBlcnJvciBpbiBhbGwgY2FzZXMgd2hlcmUgdXNpbmcgJ3NlcS1zdWJzZXEnCndvdWxk
IHNpZ25hbCBhbiBlcnJvci4KLS0tCiBsaXNwL2VtYWNzLWxpc3Avc2VxLmVsICAgICAgICAgICAg
fCAgODggKysrKysrKysrKysrKysrKysrCiB0ZXN0L2xpc3AvZW1hY3MtbGlzcC9zZXEtdGVzdHMu
ZWwgfCAxNDkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQs
IDIzNyBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbGlzcC9lbWFjcy1saXNwL3NlcS5lbCBi
L2xpc3AvZW1hY3MtbGlzcC9zZXEuZWwKaW5kZXggNGM2NTUzOTcyYzIuLjZhMWZkNGMzNWUzIDEw
MDY0NAotLS0gYS9saXNwL2VtYWNzLWxpc3Avc2VxLmVsCisrKyBiL2xpc3AvZW1hY3MtbGlzcC9z
ZXEuZWwKQEAgLTE5Myw2ICsxOTMsOTQgQEAgc2VxLXN1YnNlcQogICAgICAgICAoY29weS1zZXF1
ZW5jZSBzZXF1ZW5jZSkpKSkKICAgICh0IChlcnJvciAiVW5zdXBwb3J0ZWQgc2VxdWVuY2U6ICVz
IiBzZXF1ZW5jZSkpKSkKIAorKGNsLWRlZmdlbmVyaWMgKHNldGYgc2VxLXN1YnNlcSkgKHN0b3Jl
IHNlcXVlbmNlIHN0YXJ0ICZvcHRpb25hbCBlbmQpCisgICJNb2RpZnkgdGhlIGVsZW1lbnRzIG9m
IFNFUVVFTkNFIGZyb20gU1RBUlQgdG8gRU5EIHRvIGJlIHRob3NlIG9mIFNUT1JFLgorRU5EIGlz
IGV4Y2x1c2l2ZS4KKworSWYgRU5EIGlzIG9taXR0ZWQsIGl0IGRlZmF1bHRzIHRvIHRoZSBsZW5n
dGggb2YgdGhlIHNlcXVlbmNlLiAgSWYKK1NUQVJUIG9yIEVORCBpcyBuZWdhdGl2ZSwgaXQgY291
bnRzIGZyb20gdGhlIGVuZC4gIFNpZ25hbCBhbgorZXJyb3IgaWYgU1RBUlQgb3IgRU5EIGFyZSBv
dXRzaWRlIG9mIHRoZSBzZXF1ZW5jZSAoaS5lIHRvbyBsYXJnZQoraWYgcG9zaXRpdmUgb3IgdG9v
IHNtYWxsIGlmIG5lZ2F0aXZlKS4KKworU0VRVUVOQ0UgaXMgbmVpdGhlciBsZW5ndGhlbmVkIG5v
ciBzaG9ydGVuZWQuIgorICAobGV0KiAoKGxlbiAoc2VxLWxlbmd0aCBzZXF1ZW5jZSkpCisgICAg
ICAgICAoc2lnbmFsLWZuIChsYW1iZGEgKCkKKyAgICAgICAgICAgICAgICAgICAgICAoc2lnbmFs
ICdhcmdzLW91dC1vZi1yYW5nZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmIGVu
ZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsaXN0IHNlcXVlbmNlIHN0YXJ0
IGVuZCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxpc3Qgc2VxdWVuY2Ugc3Rh
cnQpKSkpKQorICAgICAgICAgKHNpZ25hbC1vci12YWwtZm4gKGxhbWJkYSAodmFsKQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAoY29uZAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgKCg+IHZhbCBsZW4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZ1bmNhbGwg
c2lnbmFsLWZuKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoPCB2YWwgMCkKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobGV0ICgodmFsMiAoKyB2YWwgbGVuKSkpCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaWYgKDwgdmFsMiAwKQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmdW5jYWxsIHNpZ25hbC1mbikKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsMikpKQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgKHQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWwpKSkpCisgICAg
ICAgICAoaWR4IChmdW5jYWxsIHNpZ25hbC1vci12YWwtZm4gc3RhcnQpKQorICAgICAgICAgKGlk
eC1lbmQgKGlmIChudWxsIGVuZCkKKyAgICAgICAgICAgICAgICAgICAgICBsZW4KKyAgICAgICAg
ICAgICAgICAgICAgKGZ1bmNhbGwgc2lnbmFsLW9yLXZhbC1mbiBlbmQpKSkKKyAgICAgICAgICh0
YWcgKGdlbnN5bSkpKQorICAgIChpZiAoPiBpZHggaWR4LWVuZCkKKyAgICAgICAgKGZ1bmNhbGwg
c2lnbmFsLWZuKQorICAgICAgKGNhdGNoIHRhZworICAgICAgICAoc2VxLWRvIChsYW1iZGEgKHYp
CisgICAgICAgICAgICAgICAgICAoaWYgKDwgaWR4IGlkeC1lbmQpCisgICAgICAgICAgICAgICAg
ICAgICAgKHNldGYgKHNlcS1lbHQgc2VxdWVuY2UgaWR4KSB2CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaWR4ICgxKyBpZHgpKQorICAgICAgICAgICAgICAgICAgICAodGhyb3cgdGFnIG5p
bCkpKQorICAgICAgICAgICAgICAgIHN0b3JlKSkpKQorICBzdG9yZSkKKworKGNsLWRlZm1ldGhv
ZCAoc2V0ZiBzZXEtc3Vic2VxKSAoc3RvcmUgKHNlcXVlbmNlIGxpc3QpIHN0YXJ0ICZvcHRpb25h
bCBlbmQpCisgICJNb2RpZnkgdGhlIGVsZW1lbnRzIG9mIFNFUVVFTkNFIGZyb20gU1RBUlQgdG8g
RU5EIHRvIGJlIHRob3NlIG9mIFNUT1JFLgorRU5EIGlzIGV4Y2x1c2l2ZS4KKworSWYgRU5EIGlz
IG9taXR0ZWQsIGl0IGRlZmF1bHRzIHRvIHRoZSBsZW5ndGggb2YgdGhlIHNlcXVlbmNlLiAgSWYK
K1NUQVJUIG9yIEVORCBpcyBuZWdhdGl2ZSwgaXQgY291bnRzIGZyb20gdGhlIGVuZC4gIFNpZ25h
bCBhbgorZXJyb3IgaWYgU1RBUlQgb3IgRU5EIGFyZSBvdXRzaWRlIG9mIHRoZSBzZXF1ZW5jZSAo
aS5lIHRvbyBsYXJnZQoraWYgcG9zaXRpdmUgb3IgdG9vIHNtYWxsIGlmIG5lZ2F0aXZlKS4KKwor
U0VRVUVOQ0UgaXMgbmVpdGhlciBsZW5ndGhlbmVkIG5vciBzaG9ydGVuZWQuIgorICAobGV0KiAo
KGxlbiAoc2VxLWxlbmd0aCBzZXF1ZW5jZSkpCisgICAgICAgICAoc2lnbmFsLWZuIChsYW1iZGEg
KCkKKyAgICAgICAgICAgICAgICAgICAgICAoc2lnbmFsICdhcmdzLW91dC1vZi1yYW5nZQorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmIGVuZAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIChsaXN0IHNlcXVlbmNlIHN0YXJ0IGVuZCkKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKGxpc3Qgc2VxdWVuY2Ugc3RhcnQpKSkpKQorICAgICAgICAgKHNpZ25h
bC1vci12YWwtZm4gKGxhbWJkYSAodmFsKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo
Y29uZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCg+IHZhbCBsZW4pCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgKGZ1bmNhbGwgc2lnbmFsLWZuKSkKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICgoPCB2YWwgMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAobGV0ICgodmFsMiAoKyB2YWwgbGVuKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAoaWYgKDwgdmFsMiAwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIChmdW5jYWxsIHNpZ25hbC1mbikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdmFsMikpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHQKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB2YWwpKSkpCisgICAgICAgICAoaWR4IChmdW5jYWxsIHNpZ25h
bC1vci12YWwtZm4gc3RhcnQpKQorICAgICAgICAgKGlkeC1lbmQgKGlmIChudWxsIGVuZCkKKyAg
ICAgICAgICAgICAgICAgICAgICBsZW4KKyAgICAgICAgICAgICAgICAgICAgKGZ1bmNhbGwgc2ln
bmFsLW9yLXZhbC1mbiBlbmQpKSkKKyAgICAgICAgICh0YWcgKGdlbnN5bSkpKQorICAgIChpZiAo
PiBpZHggaWR4LWVuZCkKKyAgICAgICAgKGZ1bmNhbGwgc2lnbmFsLWZuKQorICAgICAgKGNhdGNo
IHRhZworICAgICAgICAoc2VxLWRvIChsZXQgKChyZXBsYWNlZCAobnRoY2RyIGlkeCBzZXF1ZW5j
ZSkpKQorICAgICAgICAgICAgICAgICAgKGxhbWJkYSAodikKKyAgICAgICAgICAgICAgICAgICAg
KGlmICg8IGlkeCBpZHgtZW5kKQorICAgICAgICAgICAgICAgICAgICAgICAgKHNldGYgKGNhciBy
ZXBsYWNlZCkgdgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVwbGFjZWQgKGNkciBy
ZXBsYWNlZCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkeCAoMSsgaWR4KSkKKyAg
ICAgICAgICAgICAgICAgICAgICAodGhyb3cgdGFnIG5pbCkpKSkKKyAgICAgICAgICAgICAgICBz
dG9yZSkpKSkKKyAgc3RvcmUpCisKIAwKIChjbC1kZWZnZW5lcmljIHNlcS1tYXAgKGZ1bmN0aW9u
IHNlcXVlbmNlKQogICAiUmV0dXJuIHRoZSByZXN1bHQgb2YgYXBwbHlpbmcgRlVOQ1RJT04gdG8g
ZWFjaCBlbGVtZW50IG9mIFNFUVVFTkNFLiIKZGlmZiAtLWdpdCBhL3Rlc3QvbGlzcC9lbWFjcy1s
aXNwL3NlcS10ZXN0cy5lbCBiL3Rlc3QvbGlzcC9lbWFjcy1saXNwL3NlcS10ZXN0cy5lbAppbmRl
eCBjMDZjZWIwMGJkYi4uZDNlNDZjMzJmOTkgMTAwNjQ0Ci0tLSBhL3Rlc3QvbGlzcC9lbWFjcy1s
aXNwL3NlcS10ZXN0cy5lbAorKysgYi90ZXN0L2xpc3AvZW1hY3MtbGlzcC9zZXEtdGVzdHMuZWwK
QEAgLTMxMiw2ICszMTIsMTU1IEBAIHRlc3Qtc2VxLXN1YnNlcQogICAgICAgICAgICAgICAgICAg
KDpzdWNjZXNzCiAgICAgICAgICAgICAgICAgICAgKHNob3VsZCAoZXF1YWwgKHNlcS1zdWJzZXEg
bGlzdCBzdGFydCBlbmQpIHJlcykpKSkpKSkpKSkpKQogCisoY2wtZGVmbWFjcm8gdGVzdC1zZXRm
LXNlcS1zdWJzZXEtY29tYmluYXRpb25zCisgICAgKCZrZXkgaW5pdC12YWxzIHN1Yi12YWxzIHJl
c3VsdCByYW5nZSBlcnJvcikKKyAgIk1ha2UgYSB0ZXN0IGZvciBlYWNoIGNvbWJpbmF0aW9uIG9m
IHNlcXVlbmNlIHR5cGUgZm9yIGBzZXEtc3Vic2VxJyB1c2luZyBgc2V0ZicuCisKKy0gSU5JVC1W
QUxTIGlzIGEgbGlzdCBob2xkaW5nIHRoZSBpbml0aWFsIGVsZW1lbnRzLgorLSBSRVNVTFQgaXMg
d2hhdCB0aGUgZmluYWwgdmFsdWUgc2hvdWxkIGJlIGFmdGVyIHN1YnN0aXR1dGlvbi4KKy0gRVJS
T1IgaXMgd2hldGhlciB0aGUgZm9ybSBzaG91bGQgc2lnbmFsIGBhcmdzLW91dC1vZi1yYW5nZScu
CistIFNVQi1WQUxTIGlzIGEgbGlzdCBob2xkaW5nIHRoZSBlbGVtZW50cyB0byBiZSBzdWJzdGl0
dXRlZCBpbi4KKy0gUkFOR0UgaXMgYSBsaXN0IG9mIHRoZSBgc3RhcnQnIGFuZCBgZW5kJyBhcmd1
bWVudHMgb2YgYHNlcS1zdWJzZXEnLiIKKyAgKGxldCAoKHRlc3RzKSkKKyAgICAoZG9saXN0ICh0
eXBlMSAnKGxpc3QgdmVjdG9yIHN0cmluZykpCisgICAgICAoZG9saXN0ICh0eXBlMiAnKGxpc3Qg
dmVjdG9yIHN0cmluZykpCisgICAgICAgIChwdXNoICAoaWYgZXJyb3IKKyAgICAgICAgICAgICAg
ICAgICBgKHNob3VsZC1lcnJvciAobGV0ICgoc2VxICgsdHlwZTEgLEBpbml0LXZhbHMpKSkKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZXRmIChzZXEtc3Vic2VxIHNlcSAs
QHJhbmdlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCx0eXBl
MiAsQHN1Yi12YWxzKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcSkK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6dHlwZSAocXVvdGUgYXJncy1vdXQt
b2YtcmFuZ2UpKQorICAgICAgICAgICAgICAgICBgKHNob3VsZCAoZXF1YWwgKCx0eXBlMSAsQHJl
c3VsdCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsZXQgKChzZXEgKCx0eXBl
MSAsQGluaXQtdmFscykpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2V0
ZiAoc2VxLXN1YnNlcSBzZXEgLEByYW5nZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgKCx0eXBlMiAsQHN1Yi12YWxzKSkKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc2VxKSkpKQorICAgICAgICAgICAgICAgdGVzdHMpKSkKKyAgICBgKHByb2du
ICxAdGVzdHMpKSkKKworKGVydC1kZWZ0ZXN0IHRlc3Qtc2V0Zi1zZXEtc3Vic2VxICgpCisgICJU
ZXN0IHVzaW5nIGBzZXEtc3Vic2VxJyB3aXRoIGBzZXRmJy4KKworQW55IGNvbWJpbmF0aW9uIG9m
IHNlcXVlbmNlcyBzaG91bGQgd29yay4KKworQW4gZXJyb3Igc2hvdWxkIGJlIHNpZ25hbGxlZCBp
ZiB0aGUgaW5jbHVzaXZlIHN0YXJ0aW5nIGluZGV4IG9yCit0aGUgZXhjbHVzaXZlIGVuZGluZyBp
bmRleCBpcyBvdXQgb2YgdGhlIHJhbmdlIGZyb20gMCB0aHJvdWdoIHRoZQorbGVuZ3RoIG9mIHRo
ZSBzZXF1ZW5jZSwgb3IgaWYgdGhlIHN0YXJ0aW5nIGluZGV4IGlzIGdyZWF0ZXIgdGhhbgordGhl
IGVuZGluZyBpbmRleC4gIElmIHRoZSBzdGFydGluZyBpbmRleCBpcyBlcXVhbCB0byB0aGUgZW5k
aW5nCitpbmRleCwgdGhlbiBub3RoaW5nIGlzIGNoYW5nZWQuICBJZiB0aGUgc3RhcnRpbmcgaW5k
ZXggaXMgZXF1YWwKK3RvIHRoZSBsZW5ndGggb2YgdGhlIHNlcXVlbmNlLCB0aGVuIG5vdGhpbmcg
aXMgY2hhbmdlZC4gIEl0CitzaG91bGQgc2lnbmFsIGFuIGVycm9yIGluIGFsbCB0aGUgY2FzZXMg
dGhhdCBgc2VxLXN1YnNlcScgc2lnbmFscworYW4gZXJyb3IuIgorICAodGVzdC1zZXRmLXNlcS1z
dWJzZXEtY29tYmluYXRpb25zCisgICA6aW5pdC12YWxzICgwIDEgMikKKyAgIDpzdWItdmFscyAo
MTAgMTEgMTIpCisgICA6cmFuZ2UgKDApCisgICA6cmVzdWx0ICgxMCAxMSAxMikpCisKKyAgKHRl
c3Qtc2V0Zi1zZXEtc3Vic2VxLWNvbWJpbmF0aW9ucworICAgOmluaXQtdmFscyAoMCAxKQorICAg
OnN1Yi12YWxzICgxMCAxMSAxMikKKyAgIDpyYW5nZSAoMCkKKyAgIDpyZXN1bHQgKDEwIDExKSkK
KworICAodGVzdC1zZXRmLXNlcS1zdWJzZXEtY29tYmluYXRpb25zCisgICA6aW5pdC12YWxzICgw
IDEgMikKKyAgIDpzdWItdmFscyAoMTAgMTEgMTIpCisgICA6cmFuZ2UgKDEpCisgICA6cmVzdWx0
ICgwIDEwIDExKSkKKworICAodGVzdC1zZXRmLXNlcS1zdWJzZXEtY29tYmluYXRpb25zCisgICA6
aW5pdC12YWxzICgwIDEgMikKKyAgIDpzdWItdmFscyAoMTAgMTEgMTIpCisgICA6cmFuZ2UgKDEg
MykKKyAgIDpyZXN1bHQgKDAgMTAgMTEpKQorCisgICh0ZXN0LXNldGYtc2VxLXN1YnNlcS1jb21i
aW5hdGlvbnMKKyAgIDppbml0LXZhbHMgKDAgMSAyKQorICAgOnN1Yi12YWxzICgxMCAxMSAxMikK
KyAgIDpyYW5nZSAoMyAxKQorICAgOmVycm9yIHQpCisKKyAgKHRlc3Qtc2V0Zi1zZXEtc3Vic2Vx
LWNvbWJpbmF0aW9ucworICAgOmluaXQtdmFscyAoMCAxIDIpCisgICA6c3ViLXZhbHMgKDEwIDEx
IDEyKQorICAgOnJhbmdlICgxIDEwMCkKKyAgIDplcnJvciB0KQorCisgICh0ZXN0LXNldGYtc2Vx
LXN1YnNlcS1jb21iaW5hdGlvbnMKKyAgIDppbml0LXZhbHMgKDAgMSAyKQorICAgOnN1Yi12YWxz
ICgxMCAxMSAxMikKKyAgIDpyYW5nZSAoNykKKyAgIDplcnJvciB0KQorCisgICh0ZXN0LXNldGYt
c2VxLXN1YnNlcS1jb21iaW5hdGlvbnMKKyAgIDppbml0LXZhbHMgKDAgMSAyIDMgNCkKKyAgIDpz
dWItdmFscyAoMTIgMTMgMTQgMTUpCisgICA6cmFuZ2UgKDIgMykKKyAgIDpyZXN1bHQgKDAgMSAx
MiAzIDQpKQorCisgICh0ZXN0LXNldGYtc2VxLXN1YnNlcS1jb21iaW5hdGlvbnMKKyAgIDppbml0
LXZhbHMgKDAgMSAyIDMgNCkKKyAgIDpzdWItdmFscyAoMTIgMTMgMTQgMTUpCisgICA6cmFuZ2Ug
KDIgMikKKyAgIDpyZXN1bHQgKDAgMSAyIDMgNCkpCisKKyAgKHRlc3Qtc2V0Zi1zZXEtc3Vic2Vx
LWNvbWJpbmF0aW9ucworICAgOmluaXQtdmFscyAoMCAxIDIgMyA0KQorICAgOnN1Yi12YWxzICgx
MiAxMyAxNCAxNSkKKyAgIDpyYW5nZSAoNSkKKyAgIDpyZXN1bHQgKDAgMSAyIDMgNCkpCisKKyAg
KHRlc3Qtc2V0Zi1zZXEtc3Vic2VxLWNvbWJpbmF0aW9ucworICAgOmluaXQtdmFscyAoMCAxIDIg
MyA0KQorICAgOnN1Yi12YWxzICgxMiAxMyAxNCAxNSkKKyAgIDpyYW5nZSAoNikKKyAgIDplcnJv
ciB0KQorCisgICh0ZXN0LXNldGYtc2VxLXN1YnNlcS1jb21iaW5hdGlvbnMKKyAgIDppbml0LXZh
bHMgKDAgMSAyIDMgNCkKKyAgIDpzdWItdmFscyAoMTIgMTMgMTQgMTUpCisgICA6cmFuZ2UgKDUg
NikKKyAgIDplcnJvciB0KQorCisgICh0ZXN0LXNldGYtc2VxLXN1YnNlcS1jb21iaW5hdGlvbnMK
KyAgIDppbml0LXZhbHMgKDAgMSAyIDMgNCA1IDYgNyA4IDkpCisgICA6c3ViLXZhbHMgKDEwIDEx
IDEyIDEzIDE0KQorICAgOnJhbmdlICgtMikKKyAgIDpyZXN1bHQgKDAgMSAyIDMgNCA1IDYgNyAx
MCAxMSkpCisKKyAgKHRlc3Qtc2V0Zi1zZXEtc3Vic2VxLWNvbWJpbmF0aW9ucworICAgOmluaXQt
dmFscyAoMCAxIDIgMyA0IDUgNiA3IDggOSkKKyAgIDpzdWItdmFscyAoMTAgMTEgMTIgMTMgMTQp
CisgICA6cmFuZ2UgKC02IC0zKQorICAgOnJlc3VsdCAoMCAxIDIgMyAxMCAxMSAxMiA3IDggOSkp
CisKKyAgKHRlc3Qtc2V0Zi1zZXEtc3Vic2VxLWNvbWJpbmF0aW9ucworICAgOmluaXQtdmFscyAo
MCAxIDIgMyA0IDUgNiA3IDggOSkKKyAgIDpzdWItdmFscyAoMTAgMTEgMTIgMTMgMTQpCisgICA6
cmFuZ2UgKC02IC0xMCkKKyAgIDplcnJvciB0KQorCisgIDs7IFRoaXMgcmFuZ2UgbWlnaHQgbWFr
ZSBzZW5zZSwgYnV0IHNpbmNlIGl0IHdvdWxkIHNpZ25hbCBhbiBlcnJvcgorICA7OyBpbiBgc2Vx
LXN1YnNlcScsIHdlIGFsc28gc2lnbmFsIGFuIGVycm9yIGluIHRoZSBgc2V0ZicgZmVhdHVyZS4K
KyAgKHRlc3Qtc2V0Zi1zZXEtc3Vic2VxLWNvbWJpbmF0aW9ucworICAgOmluaXQtdmFscyAoMCAx
IDIgMyA0IDUgNiA3IDggOSkKKyAgIDpzdWItdmFscyAoMTAgMTEgMTIgMTMgMTQpCisgICA6cmFu
Z2UgKC02IDApCisgICA6ZXJyb3IgdCkKKworICAodGVzdC1zZXRmLXNlcS1zdWJzZXEtY29tYmlu
YXRpb25zCisgICA6aW5pdC12YWxzICgwIDEgMiAzIDQgNSA2IDcgOCA5KQorICAgOnN1Yi12YWxz
ICgxMCAxMSAxMiAxMyAxNCkKKyAgIDpyYW5nZSAoMTAwKQorICAgOmVycm9yIHQpCisKKyAgKHRl
c3Qtc2V0Zi1zZXEtc3Vic2VxLWNvbWJpbmF0aW9ucworICAgOmluaXQtdmFscyAoMCAxIDIgMyA0
IDUgNiA3IDggOSkKKyAgIDpzdWItdmFscyAoMTAgMTEgMTIgMTMgMTQpCisgICA6cmFuZ2UgKC0x
MDApCisgICA6ZXJyb3IgdCkpCisKIChlcnQtZGVmdGVzdCB0ZXN0LXNlcS1jb25jYXRlbmF0ZSAo
KQogICAod2l0aC10ZXN0LXNlcXVlbmNlcyAoc2VxICcoMiA0IDYpKQogICAgIChzaG91bGQgKGVx
dWFsIChzZXEtY29uY2F0ZW5hdGUgJ3N0cmluZyBzZXEgWzhdKSAoc3RyaW5nIDIgNCA2IDgpKSkK
LS0gCjIuMzQuMQoK

--b1_15khvgEM3WV8QgDkoBLfCIRbfMNiq4FeNINire2qQ--





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

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


Received: (at 68863) by debbugs.gnu.org; 8 Feb 2024 14:26:16 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Feb 08 09:26:15 2024
Received: from localhost ([127.0.0.1]:59399 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rY5Lz-00017O-Ik
	for submit <at> debbugs.gnu.org; Thu, 08 Feb 2024 09:26:15 -0500
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:4484)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1rY5Ly-00017B-II
 for 68863 <at> debbugs.gnu.org; Thu, 08 Feb 2024 09:26:14 -0500
Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id A5784441804;
 Thu,  8 Feb 2024 09:25:54 -0500 (EST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1707402353;
 bh=W8AfqQVeAiVF6f860wy4q1k4zeRj/sVL/0HOQ1mw/JY=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=lOD0A+FaqzZDP6CnNmJdR/DOWRFX+3yppPoBLmUF0uX7Bj7aBLaGOI6sJClFXXUQm
 yW9PtwTX7A96/p2qE8+cHXqryt2TT9HRNfe8W9IEN/hoxfu2AbxXoAR/asBNEe7gf5
 WHQyn6s+sL4u/mHrbY7zrWbd7Sbn9ddCnj32fIMaJ/yaVb3J1bgA/B24J2UPG4tkh6
 QepyZyAN6D+dOyNaSzihY9xXfOSnZNUVuwI4IuHM2iGMnmn4sq0U8A52lq826qpQZh
 buJNbexwBP5+DvAFievm46MFHQwO4fcTOyXl5v82GLp0VH47q13TwQRx3vuvayiG6C
 RSqniqb3YiXuQ==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 546694411F3;
 Thu,  8 Feb 2024 09:25:53 -0500 (EST)
Received: from pastel (unknown [104.247.238.113])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 2798812067B;
 Thu,  8 Feb 2024 09:25:53 -0500 (EST)
From: Stefan Monnier <monnier@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#68863: Add support for using setf with seq-subseq
In-Reply-To: <86y1bvw5ff.fsf@HIDDEN> (Eli Zaretskii's message of "Thu, 08 Feb
 2024 13:39:48 +0200")
Message-ID: <jwvmssbqbmx.fsf-monnier+emacs@HIDDEN>
References: <050ba625-2372-425f-85c6-988e2ef4cf14@HIDDEN>
 <86y1bvw5ff.fsf@HIDDEN>
Date: Thu, 08 Feb 2024 09:25:51 -0500
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL 0.011 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain T_SCC_BODY_TEXT_LINE    -0.01 -
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 68863
Cc: Okamsn <okamsn@HIDDEN>, 68863 <at> debbugs.gnu.org,
 Nicolas Petton <nicolas@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 (---)

>> This patch adds support for using `seq-subseq` with `setf`, as in
>> 
>>      ;; => [0 1 2 10 11]
>>      (let ((seq (vector 0 1 2 3 4)))
>>        (setf (seq-subseq seq -2) (list 10 11 12 13 14))
>>        seq)
>> 
>> The patch adds a generic version which uses the existing `setf` support 
>> of `seq-elt` and a specialized version for modifying lists.  Both 
>> versions use `seq-do` to map a function over the values that should 
>> replace the values in the modified sequence.
> Nicolas, Stefan: any comments?

Fine by me.

>> To avoid modifying more values than specified, that modifying function 
>> uses a `when` condition. I'm not sure of a good way to stop `seq-do` 
>> early when we know that it can stop calling the modifying function. 
>> Normally, I would use `cl-block` and `cl-return`. Is it OK to use those 
>> features in `seq.el`? If not, is it worth adding something like a 
>> `seq-map-while` or a `seq-do-while`?

`seq.el` is used by some parts of the implementation of `cl-lib`, so
the use of `cl-lib` risks introducing a circular dependency.  Maybe using
`cl-block/return` would be OK, but I wouldn't be surprised if it causes
bootstrap trouble.  You can use catch/throw, OTOH.


        Stefan





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

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


Received: (at 68863) by debbugs.gnu.org; 8 Feb 2024 11:40:16 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Feb 08 06:40:16 2024
Received: from localhost ([127.0.0.1]:59265 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rY2lM-0001Zy-Gf
	for submit <at> debbugs.gnu.org; Thu, 08 Feb 2024 06:40:16 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:48264)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1rY2lJ-0001Zg-Ts
 for 68863 <at> debbugs.gnu.org; Thu, 08 Feb 2024 06:40:15 -0500
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 1rY2ky-0006ry-NS; Thu, 08 Feb 2024 06:39:52 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=m//bqq0/jk7+J29E6LyoPnxkI+LNakViQf5sGZf6cMA=; b=gXVlsyJrO16g
 SxtV6xNFywmrMk0SEt6cNxN45wMJ5t3ZdInT2wuYL9izfEkDx2ETOgOdNgJpoNcX9r0HK5VRPCh6a
 AgDQ74z4Hna+rVOCjIf3sNJDMRP1wptFRGRVDh+8k5LnSqqsvcMBgpAfys5XFYNIJHN5Oxs1OurwO
 Wv299ocwsxOHqci+C+YS0PwtZSn5ajeLXcBuvrDGD4jxeanoKuOytWmB+t69+cVlEhIgyW4F40U2G
 vJ+wuoI1sw+VIR2LJpkOBu7C2uBalRk+M+ww3DjMB4AVasRMcUytOlVRvDPp3xzpKLNN5xusmjNpW
 NSv75bjRSp9Rf7+QOtCNSQ==;
Date: Thu, 08 Feb 2024 13:39:48 +0200
Message-Id: <86y1bvw5ff.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Okamsn <okamsn@HIDDEN>, Nicolas Petton <nicolas@HIDDEN>,
 Stefan Monnier <monnier@HIDDEN>
In-Reply-To: <050ba625-2372-425f-85c6-988e2ef4cf14@HIDDEN>
 (bug-gnu-emacs@HIDDEN)
Subject: Re: bug#68863: Add support for using setf with seq-subseq
References: <050ba625-2372-425f-85c6-988e2ef4cf14@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 68863
Cc: 68863 <at> debbugs.gnu.org
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 (---)

> Date: Thu, 01 Feb 2024 03:31:10 +0000
> From:  Okamsn via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN>
> 
> This patch adds support for using `seq-subseq` with `setf`, as in
> 
>      ;; => [0 1 2 10 11]
>      (let ((seq (vector 0 1 2 3 4)))
>        (setf (seq-subseq seq -2) (list 10 11 12 13 14))
>        seq)
> 
> The patch adds a generic version which uses the existing `setf` support 
> of `seq-elt` and a specialized version for modifying lists.  Both 
> versions use `seq-do` to map a function over the values that should 
> replace the values in the modified sequence.
> 
> To avoid modifying more values than specified, that modifying function 
> uses a `when` condition. I'm not sure of a good way to stop `seq-do` 
> early when we know that it can stop calling the modifying function. 
> Normally, I would use `cl-block` and `cl-return`. Is it OK to use those 
> features in `seq.el`? If not, is it worth adding something like a 
> `seq-map-while` or a `seq-do-while`?

Thanks.

Nicolas, Stefan: any comments?  seq.el is preloaded, so we should
consider whether this addition is important enough to have it in seq
or elsewhere, if we think it's useful.




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

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


Received: (at 68863) by debbugs.gnu.org; 4 Feb 2024 18:33:56 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Feb 04 13:33:56 2024
Received: from localhost ([127.0.0.1]:50019 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rWhJT-0002Ys-G6
	for submit <at> debbugs.gnu.org; Sun, 04 Feb 2024 13:33:56 -0500
Received: from mail-4322.protonmail.ch ([185.70.43.22]:59299)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <okamsn@HIDDEN>) id 1rWhJQ-0002YZ-M4
 for 68863 <at> debbugs.gnu.org; Sun, 04 Feb 2024 13:33:54 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;
 s=protonmail3; t=1707071613; x=1707330813;
 bh=w272QD+6BnjmVKh1HXAOyznVwXTVdH3dKrdOjek+RnE=;
 h=Date:To:From:Cc:Subject:Message-ID:Feedback-ID:From:To:Cc:Date:
 Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector;
 b=paFmwTigbFthCZcVyLQeK5Zm9BAYZwLddXcsb/5WkfPu+wdo2ueLyjbt0esUs9zY3
 +15ZfawjExM2oTBvlzkOnbZBNAdw87LtMdDisgOpn3NtikXjN19msqHcVyuat6DPXk
 nmcDhP3cF7SspoCLuRGK78yZBUNCm6xVJWLr+BhEfXMNRaijezHwa9ty8nS/G/aIPx
 DK6DDloRDW3icf7sUxrSb19vNvAjKwFaWb7H0RsD9HNhpPFy7LF1f7sFLXPMlx54Sp
 9ZT3g76r62O9OzlbrufFCemLXG6xPGpCZlTugA1jkIqvsdRhfqAcXY5OSM0x1YEfw1
 r3liIj31cfuBA==
Date: Sun, 04 Feb 2024 18:33:14 +0000
To: 68863 <at> debbugs.gnu.org
From: Okamsn <okamsn@HIDDEN>
Subject: [PATCH] Add support for using setf with seq-subseq
Message-ID: <93137eee-2012-499c-bb14-d6ab0010fe3a@HIDDEN>
Feedback-ID: 25935600:user:proton
MIME-Version: 1.0
Content-Type: multipart/mixed;
 boundary="b1_dumZCQ2lQnrcDps8eIbb09sUWn2s89QI3fXUHnzTXg"
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 68863
Cc: Nicolas Petton <nicolas@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 (-)

This is a multi-part message in MIME format.

--b1_dumZCQ2lQnrcDps8eIbb09sUWn2s89QI3fXUHnzTXg
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Hello,

I've added the maintainers e-mail address to the discussion and have=20
added "[PATCH]" to the subject to make it more clear that there is a=20
patch file attached.

I tested a version that uses a `seq-map-while`, but it only made a=20
difference when the sequence of values to copy to the existing sequence=20
was longer than 100 elements, which I would guess is a less common use case=
.

Thank you,
Earl
--b1_dumZCQ2lQnrcDps8eIbb09sUWn2s89QI3fXUHnzTXg
Content-Type: text/x-patch; charset=UTF-8; name=0001-Add-setf-support-for-seq-subseq.patch
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=0001-Add-setf-support-for-seq-subseq.patch

RnJvbSAwYTVmYWM0NDNjZGNiZWI5MzEyZDdlZTY4YmFmZGQyMmUwOTA1ODI4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBFYXJsIEh5YXR0IDxva2Ftc25AcHJvdG9ubWFpbC5jb20+CkRh
dGU6IFN1biwgMjggSmFuIDIwMjQgMjI6NDg6MTMgLTA1MDAKU3ViamVjdDogW1BBVENIXSBBZGQg
c2V0ZiBzdXBwb3J0IGZvciBzZXEtc3Vic2VxCgoqIGxpc3AvZW1hY3MtbGlzcC9zZXEuZWwgKHNl
cS1zdWJzZXEpOiBBZGQgYSBnZW5lcmljIHZlcnNpb24gb2YKY2FsbGluZyBzZXRmIG9uIHNlcS1z
dWJzZXEgYW5kIGFkZCBhIHNwZWNpYWxpemVkIHZlcnNpb24gZm9yIHdoZW4gdGhlCm1vZGlmaWVk
IHNlcXVlbmNlIGlzIGEgbGlzdC4KKiB0ZXN0L2xpc3AvZW1hY3MtbGlzcC9zZXEtdGVzdHMuZWwg
KHRlc3Qtc2V0Zi1zZXEtc3Vic2VxKQoodGVzdC1zZXRmLXNlcS1zdWJzZXEtY29tYmluYXRpb25z
KTogQWRkIHRlc3RzIGZvciB0aGUgZmVhdHVyZS4KLS0tCiBsaXNwL2VtYWNzLWxpc3Avc2VxLmVs
ICAgICAgICAgICAgfCA0MyArKysrKysrKysrKysrKysrKwogdGVzdC9saXNwL2VtYWNzLWxpc3Av
c2VxLXRlc3RzLmVsIHwgNzYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMiBmaWxl
cyBjaGFuZ2VkLCAxMTkgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2xpc3AvZW1hY3MtbGlz
cC9zZXEuZWwgYi9saXNwL2VtYWNzLWxpc3Avc2VxLmVsCmluZGV4IDRjNjU1Mzk3MmMyLi5mZDk3
MTgwNmQ4NyAxMDA2NDQKLS0tIGEvbGlzcC9lbWFjcy1saXNwL3NlcS5lbAorKysgYi9saXNwL2Vt
YWNzLWxpc3Avc2VxLmVsCkBAIC0xOTMsNiArMTkzLDQ5IEBAIHNlcS1zdWJzZXEKICAgICAgICAg
KGNvcHktc2VxdWVuY2Ugc2VxdWVuY2UpKSkpCiAgICAodCAoZXJyb3IgIlVuc3VwcG9ydGVkIHNl
cXVlbmNlOiAlcyIgc2VxdWVuY2UpKSkpCiAKKyhjbC1kZWZnZW5lcmljIChzZXRmIHNlcS1zdWJz
ZXEpIChzdG9yZSBzZXF1ZW5jZSBzdGFydCAmb3B0aW9uYWwgZW5kKQorICAiTW9kaWZ5IHRoZSBl
bGVtZW50cyBvZiBTRVFVRU5DRSBmcm9tIFNUQVJUIHRvIEVORCB0byBiZSB0aG9zZSBvZiBTVE9S
RS4KKworU0VRVUVOQ0UgaXMgbmVpdGhlciBsZW5ndGhlbmVkIG5vciBzaG9ydGVuZWQuIgorICAo
bGV0KiAoKGxlbiAoc2VxLWxlbmd0aCBzZXF1ZW5jZSkpCisgICAgICAgICAoaWR4IChpZiAoPCBz
dGFydCAwKQorICAgICAgICAgICAgICAgICAgKCsgc3RhcnQgbGVuKQorICAgICAgICAgICAgICAg
IHN0YXJ0KSkKKyAgICAgICAgIChlbmQgKGNvbmQKKyAgICAgICAgICAgICAgICgobnVsbCBlbmQp
IGxlbikKKyAgICAgICAgICAgICAgICgoPCBlbmQgMCkKKyAgICAgICAgICAgICAgICAoKyBlbmQg
bGVuKSkKKyAgICAgICAgICAgICAgICh0IChtaW4gbGVuIGVuZCkpKSkpCisgICAgKHdoZW4gKDwg
aWR4IGVuZCkKKyAgICAgIChzZXEtZG8gKGxhbWJkYSAodikKKyAgICAgICAgICAgICAgICAod2hl
biAoPCBpZHggZW5kKQorICAgICAgICAgICAgICAgICAgKHNldGYgKHNlcS1lbHQgc2VxdWVuY2Ug
aWR4KSB2CisgICAgICAgICAgICAgICAgICAgICAgICBpZHggKDErIGlkeCkpKSkKKyAgICAgICAg
ICAgICAgc3RvcmUpKSkKKyAgc3RvcmUpCisKKyhjbC1kZWZtZXRob2QgKHNldGYgc2VxLXN1YnNl
cSkgKHN0b3JlIChzZXF1ZW5jZSBsaXN0KSBzdGFydCAmb3B0aW9uYWwgZW5kKQorICAiTW9kaWZ5
IHRoZSBlbGVtZW50cyBvZiBTRVFVRU5DRSBmcm9tIFNUQVJUIHRvIEVORCB0byBiZSB0aG9zZSBv
ZiBTVE9SRS4KKworU0VRVUVOQ0UgaXMgbmVpdGhlciBsZW5ndGhlbmVkIG5vciBzaG9ydGVuZWQu
IgorICAobGV0KiAoKGxlbiAoc2VxLWxlbmd0aCBzZXF1ZW5jZSkpCisgICAgICAgICAoaWR4IChp
ZiAoPCBzdGFydCAwKQorICAgICAgICAgICAgICAgICAgKCsgc3RhcnQgbGVuKQorICAgICAgICAg
ICAgICAgIHN0YXJ0KSkKKyAgICAgICAgIChlbmQgKGNvbmQKKyAgICAgICAgICAgICAgICgobnVs
bCBlbmQpIGxlbikKKyAgICAgICAgICAgICAgICgoPCBlbmQgMCkgICgrIGVuZCBsZW4pKQorICAg
ICAgICAgICAgICAgKHQgICAgICAgICAgKG1pbiBsZW4gZW5kKSkpKSkKKyAgICAod2hlbiAoPCBp
ZHggZW5kKQorICAgICAgKHNlcS1kbyAobGV0ICgocmVwbGFjZWQgKG50aGNkciBpZHggc2VxdWVu
Y2UpKSkKKyAgICAgICAgICAgICAgICAobGFtYmRhICh2KQorICAgICAgICAgICAgICAgICAgKHdo
ZW4gKDwgaWR4IGVuZCkKKyAgICAgICAgICAgICAgICAgICAgKHNldGYgKGNhciByZXBsYWNlZCkg
dgorICAgICAgICAgICAgICAgICAgICAgICAgICByZXBsYWNlZCAoY2RyIHJlcGxhY2VkKQorICAg
ICAgICAgICAgICAgICAgICAgICAgICBpZHggKDErIGlkeCkpKSkpCisgICAgICAgICAgICAgIHN0
b3JlKSkpCisgIHN0b3JlKQorCiAMCiAoY2wtZGVmZ2VuZXJpYyBzZXEtbWFwIChmdW5jdGlvbiBz
ZXF1ZW5jZSkKICAgIlJldHVybiB0aGUgcmVzdWx0IG9mIGFwcGx5aW5nIEZVTkNUSU9OIHRvIGVh
Y2ggZWxlbWVudCBvZiBTRVFVRU5DRS4iCmRpZmYgLS1naXQgYS90ZXN0L2xpc3AvZW1hY3MtbGlz
cC9zZXEtdGVzdHMuZWwgYi90ZXN0L2xpc3AvZW1hY3MtbGlzcC9zZXEtdGVzdHMuZWwKaW5kZXgg
YzA2Y2ViMDBiZGIuLjZiODc4OTY4OGQzIDEwMDY0NAotLS0gYS90ZXN0L2xpc3AvZW1hY3MtbGlz
cC9zZXEtdGVzdHMuZWwKKysrIGIvdGVzdC9saXNwL2VtYWNzLWxpc3Avc2VxLXRlc3RzLmVsCkBA
IC0zMTIsNiArMzEyLDgyIEBAIHRlc3Qtc2VxLXN1YnNlcQogICAgICAgICAgICAgICAgICAgKDpz
dWNjZXNzCiAgICAgICAgICAgICAgICAgICAgKHNob3VsZCAoZXF1YWwgKHNlcS1zdWJzZXEgbGlz
dCBzdGFydCBlbmQpIHJlcykpKSkpKSkpKSkpKQogCisoY2wtZGVmbWFjcm8gdGVzdC1zZXRmLXNl
cS1zdWJzZXEtY29tYmluYXRpb25zICgma2V5IHJlc3VsdCByYW5nZSBpbml0LXZhbHMKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ViLXZhbHMp
CisgICJQcm9kdWNlIHN1YnN0aXR1dGlvbnMgdGVzdHMgZm9yIGBzZXEtc3Vic2VxJyB1c2luZyBg
c2V0ZicuCisKKy0gSU5JVC1WQUxTIGlzIGEgbGlzdCBob2xkaW5nIHRoZSBpbml0aWFsIGVsZW1l
bnRzLgorLSBSRVNVTFQgaXMgd2hhdCB0aGUgZmluYWwgdmFsdWUgc2hvdWxkIGJlIGFmdGVyIHN1
YnN0aXR1dGlvbi4KKy0gU1VCLVZBTFMgaXMgYSBsaXN0IGhvbGRpbmcgdGhlIGVsZW1lbnRzIHRv
IGJlIHN1YnN0aXR1dGVkIGluLgorLSBSQU5HRSBpcyBhIGxpc3Qgb2YgdGhlIGBzdGFydCcgYW5k
IGBlbmQnIGFyZ3VtZW50cyBvZiBgc2VxLXN1YnNlcScuIgorICAobGV0ICgodGVzdHMpKQorICAg
IChkb2xpc3QgKHR5cGUxICcobGlzdCB2ZWN0b3Igc3RyaW5nKSkKKyAgICAgIChkb2xpc3QgKHR5
cGUyICcobGlzdCB2ZWN0b3Igc3RyaW5nKSkKKyAgICAgICAgKHB1c2ggIGAoc2hvdWxkIChlcXVh
bCAoLHR5cGUxICxAcmVzdWx0KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsZXQg
KChzZXEgKCx0eXBlMSAsQGluaXQtdmFscykpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgKHNldGYgKHNlcS1zdWJzZXEgc2VxICxAcmFuZ2UpCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAoLHR5cGUyICxAc3ViLXZhbHMpKQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc2VxKSkpCisgICAgICAgICAgICAgICB0ZXN0cykpKQorICAgIGAo
cHJvZ24gLEB0ZXN0cykpKQorCisoZXJ0LWRlZnRlc3QgdGVzdC1zZXRmLXNlcS1zdWJzZXEgKCkK
KyAgIlRlc3QgdXNpbmcgYHNlcS1zdWJzZXEnIHdpdGggYHNldGYnLgorQW55IGNvbWJpbmF0aW9u
IG9mIHNlcXVlbmNlcyBzaG91bGQgd29yay4iCisgICh0ZXN0LXNldGYtc2VxLXN1YnNlcS1jb21i
aW5hdGlvbnMKKyAgIDppbml0LXZhbHMgKDAgMSAyKQorICAgOnN1Yi12YWxzICgxMCAxMSAxMikK
KyAgIDpyYW5nZSAoMCkKKyAgIDpyZXN1bHQgKDEwIDExIDEyKSkKKworICAodGVzdC1zZXRmLXNl
cS1zdWJzZXEtY29tYmluYXRpb25zCisgICA6aW5pdC12YWxzICgwIDEpCisgICA6c3ViLXZhbHMg
KDEwIDExIDEyKQorICAgOnJhbmdlICgwKQorICAgOnJlc3VsdCAoMTAgMTEpKQorCisgICh0ZXN0
LXNldGYtc2VxLXN1YnNlcS1jb21iaW5hdGlvbnMKKyAgIDppbml0LXZhbHMgKDAgMSkKKyAgIDpz
dWItdmFscyAoMTAgMTEgMTIpCisgICA6cmFuZ2UgKDAgMTAwKQorICAgOnJlc3VsdCAoMTAgMTEp
KQorCisgICh0ZXN0LXNldGYtc2VxLXN1YnNlcS1jb21iaW5hdGlvbnMKKyAgIDppbml0LXZhbHMg
KDAgMSAyIDMgNCkKKyAgIDpzdWItdmFscyAoMTIgMTMgMTQgMTUpCisgICA6cmFuZ2UgKDIgMTAw
KQorICAgOnJlc3VsdCAoMCAxIDEyIDEzIDE0KSkKKworICAodGVzdC1zZXRmLXNlcS1zdWJzZXEt
Y29tYmluYXRpb25zCisgICA6aW5pdC12YWxzICgwIDEgMiAzIDQpCisgICA6c3ViLXZhbHMgKDEy
IDEzIDE0IDE1KQorICAgOnJhbmdlICgyIDMpCisgICA6cmVzdWx0ICgwIDEgMTIgMyA0KSkKKwor
ICAodGVzdC1zZXRmLXNlcS1zdWJzZXEtY29tYmluYXRpb25zCisgICA6aW5pdC12YWxzICgwIDEg
MiAzIDQpCisgICA6c3ViLXZhbHMgKDEyIDEzIDE0IDE1KQorICAgOnJhbmdlICgyIDIpCisgICA6
cmVzdWx0ICgwIDEgMiAzIDQpKQorCisgICh0ZXN0LXNldGYtc2VxLXN1YnNlcS1jb21iaW5hdGlv
bnMKKyAgIDppbml0LXZhbHMgKDAgMSAyIDMgNCA1IDYgNyA4IDkpCisgICA6c3ViLXZhbHMgKDEw
IDExIDEyIDEzIDE0KQorICAgOnJhbmdlICgtMikKKyAgIDpyZXN1bHQgKDAgMSAyIDEwIDExKSkK
KworICAodGVzdC1zZXRmLXNlcS1zdWJzZXEtY29tYmluYXRpb25zCisgICA6aW5pdC12YWxzICgw
IDEgMiAzIDQgNSA2IDcgOCA5KQorICAgOnN1Yi12YWxzICgxMCAxMSAxMiAxMyAxNCkKKyAgIDpy
YW5nZSAoLTYgLTMpCisgICA6cmVzdWx0ICgwIDEgMiAzIDEwIDExIDEyIDcgOCA5KSkKKworICAo
dGVzdC1zZXRmLXNlcS1zdWJzZXEtY29tYmluYXRpb25zCisgICA6aW5pdC12YWxzICgwIDEgMiAz
IDQgNSA2IDcgOCA5KQorICAgOnN1Yi12YWxzICgxMCAxMSAxMiAxMyAxNCkKKyAgIDpyYW5nZSAo
LTYgLTEwKQorICAgOnJlc3VsdCAoMCAxIDIgMyA0IDUgNiA3IDggOSkpKQorCiAoZXJ0LWRlZnRl
c3QgdGVzdC1zZXEtY29uY2F0ZW5hdGUgKCkKICAgKHdpdGgtdGVzdC1zZXF1ZW5jZXMgKHNlcSAn
KDIgNCA2KSkKICAgICAoc2hvdWxkIChlcXVhbCAoc2VxLWNvbmNhdGVuYXRlICdzdHJpbmcgc2Vx
IFs4XSkgKHN0cmluZyAyIDQgNiA4KSkpCi0tIAoyLjM0LjEKCg==

--b1_dumZCQ2lQnrcDps8eIbb09sUWn2s89QI3fXUHnzTXg--





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

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


Received: (at submit) by debbugs.gnu.org; 1 Feb 2024 03:31:46 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Jan 31 22:31:46 2024
Received: from localhost ([127.0.0.1]:39434 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rVNnl-00008Z-G2
	for submit <at> debbugs.gnu.org; Wed, 31 Jan 2024 22:31:46 -0500
Received: from lists.gnu.org ([2001:470:142::17]:37490)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <okamsn@HIDDEN>) id 1rVNnj-00008N-HX
 for submit <at> debbugs.gnu.org; Wed, 31 Jan 2024 22:31:44 -0500
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 <okamsn@HIDDEN>)
 id 1rVNnU-0006xE-4X
 for bug-gnu-emacs@HIDDEN; Wed, 31 Jan 2024 22:31:28 -0500
Received: from mail-4316.protonmail.ch ([185.70.43.16])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <okamsn@HIDDEN>)
 id 1rVNnS-0006Hj-02
 for bug-gnu-emacs@HIDDEN; Wed, 31 Jan 2024 22:31:27 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;
 s=protonmail3; t=1706758281; x=1707017481;
 bh=rocfi0sovSLvsVqkR6dl/ib/wjzcFwGmPzY1ofKEQCk=;
 h=Date:To:From:Subject:Message-ID:Feedback-ID:From:To:Cc:Date:
 Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector;
 b=gMgHQH56OyxkCxL7EJGPClQkJDmtspT/z1cm2zQttmkMJqKh7siKMdUh3mz51p7Xv
 rpFjcrV9SsOzsGZq92b5y98cmrbaCO7TjfU+KHm8LtYCNOSAJQoFZGXHqcBJSJwrZl
 Q5Pc9MyNCzLApQ3dyvQJPDsu0i6LOz6S41Olx9z7OlKOJrxQ0k7Mm3bIFhei0IBpTv
 uZvvWinSYculNt67Db9A7/8Od8ozXNEkiZ4gIg8mR6ElV+MzHuCLqIk7GLpaGCAZVh
 f+NEzE553DuA99NWMkGiAi3Kcu5ujKfZekRx3lNb34Ew3lC1jB2qYQYMEFHi53bE+q
 Ae/4ANT+bVXaQ==
Date: Thu, 01 Feb 2024 03:31:10 +0000
To: bug-gnu-emacs@HIDDEN
From: Okamsn <okamsn@HIDDEN>
Subject: Add support for using setf with seq-subseq
Message-ID: <050ba625-2372-425f-85c6-988e2ef4cf14@HIDDEN>
Feedback-ID: 25935600:user:proton
MIME-Version: 1.0
Content-Type: multipart/mixed;
 boundary="b1_AJSw1Glr62ORHrEdyl2Yja46lAOK2IQJL3n4Y2XbcfA"
Received-SPF: pass client-ip=185.70.43.16; envelope-from=okamsn@HIDDEN;
 helo=mail-4316.protonmail.ch
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,
 RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001,
 SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 1.0 (+)
X-Debbugs-Envelope-To: submit
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: -0.0 (/)

This is a multi-part message in MIME format.

--b1_AJSw1Glr62ORHrEdyl2Yja46lAOK2IQJL3n4Y2XbcfA
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Hello,

This patch adds support for using `seq-subseq` with `setf`, as in

     ;; =3D> [0 1 2 10 11]
     (let ((seq (vector 0 1 2 3 4)))
       (setf (seq-subseq seq -2) (list 10 11 12 13 14))
       seq)

The patch adds a generic version which uses the existing `setf` support=20
of `seq-elt` and a specialized version for modifying lists.  Both=20
versions use `seq-do` to map a function over the values that should=20
replace the values in the modified sequence.

To avoid modifying more values than specified, that modifying function=20
uses a `when` condition. I'm not sure of a good way to stop `seq-do`=20
early when we know that it can stop calling the modifying function.=20
Normally, I would use `cl-block` and `cl-return`. Is it OK to use those=20
features in `seq.el`? If not, is it worth adding something like a=20
`seq-map-while` or a `seq-do-while`?

Thank you.
--b1_AJSw1Glr62ORHrEdyl2Yja46lAOK2IQJL3n4Y2XbcfA
Content-Type: text/x-patch; charset=UTF-8; name=0001-Add-setf-support-for-seq-subseq.patch
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=0001-Add-setf-support-for-seq-subseq.patch

RnJvbSAwYTVmYWM0NDNjZGNiZWI5MzEyZDdlZTY4YmFmZGQyMmUwOTA1ODI4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBFYXJsIEh5YXR0IDxva2Ftc25AcHJvdG9ubWFpbC5jb20+CkRh
dGU6IFN1biwgMjggSmFuIDIwMjQgMjI6NDg6MTMgLTA1MDAKU3ViamVjdDogW1BBVENIXSBBZGQg
c2V0ZiBzdXBwb3J0IGZvciBzZXEtc3Vic2VxCgoqIGxpc3AvZW1hY3MtbGlzcC9zZXEuZWwgKHNl
cS1zdWJzZXEpOiBBZGQgYSBnZW5lcmljIHZlcnNpb24gb2YKY2FsbGluZyBzZXRmIG9uIHNlcS1z
dWJzZXEgYW5kIGFkZCBhIHNwZWNpYWxpemVkIHZlcnNpb24gZm9yIHdoZW4gdGhlCm1vZGlmaWVk
IHNlcXVlbmNlIGlzIGEgbGlzdC4KKiB0ZXN0L2xpc3AvZW1hY3MtbGlzcC9zZXEtdGVzdHMuZWwg
KHRlc3Qtc2V0Zi1zZXEtc3Vic2VxKQoodGVzdC1zZXRmLXNlcS1zdWJzZXEtY29tYmluYXRpb25z
KTogQWRkIHRlc3RzIGZvciB0aGUgZmVhdHVyZS4KLS0tCiBsaXNwL2VtYWNzLWxpc3Avc2VxLmVs
ICAgICAgICAgICAgfCA0MyArKysrKysrKysrKysrKysrKwogdGVzdC9saXNwL2VtYWNzLWxpc3Av
c2VxLXRlc3RzLmVsIHwgNzYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMiBmaWxl
cyBjaGFuZ2VkLCAxMTkgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2xpc3AvZW1hY3MtbGlz
cC9zZXEuZWwgYi9saXNwL2VtYWNzLWxpc3Avc2VxLmVsCmluZGV4IDRjNjU1Mzk3MmMyLi5mZDk3
MTgwNmQ4NyAxMDA2NDQKLS0tIGEvbGlzcC9lbWFjcy1saXNwL3NlcS5lbAorKysgYi9saXNwL2Vt
YWNzLWxpc3Avc2VxLmVsCkBAIC0xOTMsNiArMTkzLDQ5IEBAIHNlcS1zdWJzZXEKICAgICAgICAg
KGNvcHktc2VxdWVuY2Ugc2VxdWVuY2UpKSkpCiAgICAodCAoZXJyb3IgIlVuc3VwcG9ydGVkIHNl
cXVlbmNlOiAlcyIgc2VxdWVuY2UpKSkpCiAKKyhjbC1kZWZnZW5lcmljIChzZXRmIHNlcS1zdWJz
ZXEpIChzdG9yZSBzZXF1ZW5jZSBzdGFydCAmb3B0aW9uYWwgZW5kKQorICAiTW9kaWZ5IHRoZSBl
bGVtZW50cyBvZiBTRVFVRU5DRSBmcm9tIFNUQVJUIHRvIEVORCB0byBiZSB0aG9zZSBvZiBTVE9S
RS4KKworU0VRVUVOQ0UgaXMgbmVpdGhlciBsZW5ndGhlbmVkIG5vciBzaG9ydGVuZWQuIgorICAo
bGV0KiAoKGxlbiAoc2VxLWxlbmd0aCBzZXF1ZW5jZSkpCisgICAgICAgICAoaWR4IChpZiAoPCBz
dGFydCAwKQorICAgICAgICAgICAgICAgICAgKCsgc3RhcnQgbGVuKQorICAgICAgICAgICAgICAg
IHN0YXJ0KSkKKyAgICAgICAgIChlbmQgKGNvbmQKKyAgICAgICAgICAgICAgICgobnVsbCBlbmQp
IGxlbikKKyAgICAgICAgICAgICAgICgoPCBlbmQgMCkKKyAgICAgICAgICAgICAgICAoKyBlbmQg
bGVuKSkKKyAgICAgICAgICAgICAgICh0IChtaW4gbGVuIGVuZCkpKSkpCisgICAgKHdoZW4gKDwg
aWR4IGVuZCkKKyAgICAgIChzZXEtZG8gKGxhbWJkYSAodikKKyAgICAgICAgICAgICAgICAod2hl
biAoPCBpZHggZW5kKQorICAgICAgICAgICAgICAgICAgKHNldGYgKHNlcS1lbHQgc2VxdWVuY2Ug
aWR4KSB2CisgICAgICAgICAgICAgICAgICAgICAgICBpZHggKDErIGlkeCkpKSkKKyAgICAgICAg
ICAgICAgc3RvcmUpKSkKKyAgc3RvcmUpCisKKyhjbC1kZWZtZXRob2QgKHNldGYgc2VxLXN1YnNl
cSkgKHN0b3JlIChzZXF1ZW5jZSBsaXN0KSBzdGFydCAmb3B0aW9uYWwgZW5kKQorICAiTW9kaWZ5
IHRoZSBlbGVtZW50cyBvZiBTRVFVRU5DRSBmcm9tIFNUQVJUIHRvIEVORCB0byBiZSB0aG9zZSBv
ZiBTVE9SRS4KKworU0VRVUVOQ0UgaXMgbmVpdGhlciBsZW5ndGhlbmVkIG5vciBzaG9ydGVuZWQu
IgorICAobGV0KiAoKGxlbiAoc2VxLWxlbmd0aCBzZXF1ZW5jZSkpCisgICAgICAgICAoaWR4IChp
ZiAoPCBzdGFydCAwKQorICAgICAgICAgICAgICAgICAgKCsgc3RhcnQgbGVuKQorICAgICAgICAg
ICAgICAgIHN0YXJ0KSkKKyAgICAgICAgIChlbmQgKGNvbmQKKyAgICAgICAgICAgICAgICgobnVs
bCBlbmQpIGxlbikKKyAgICAgICAgICAgICAgICgoPCBlbmQgMCkgICgrIGVuZCBsZW4pKQorICAg
ICAgICAgICAgICAgKHQgICAgICAgICAgKG1pbiBsZW4gZW5kKSkpKSkKKyAgICAod2hlbiAoPCBp
ZHggZW5kKQorICAgICAgKHNlcS1kbyAobGV0ICgocmVwbGFjZWQgKG50aGNkciBpZHggc2VxdWVu
Y2UpKSkKKyAgICAgICAgICAgICAgICAobGFtYmRhICh2KQorICAgICAgICAgICAgICAgICAgKHdo
ZW4gKDwgaWR4IGVuZCkKKyAgICAgICAgICAgICAgICAgICAgKHNldGYgKGNhciByZXBsYWNlZCkg
dgorICAgICAgICAgICAgICAgICAgICAgICAgICByZXBsYWNlZCAoY2RyIHJlcGxhY2VkKQorICAg
ICAgICAgICAgICAgICAgICAgICAgICBpZHggKDErIGlkeCkpKSkpCisgICAgICAgICAgICAgIHN0
b3JlKSkpCisgIHN0b3JlKQorCiAMCiAoY2wtZGVmZ2VuZXJpYyBzZXEtbWFwIChmdW5jdGlvbiBz
ZXF1ZW5jZSkKICAgIlJldHVybiB0aGUgcmVzdWx0IG9mIGFwcGx5aW5nIEZVTkNUSU9OIHRvIGVh
Y2ggZWxlbWVudCBvZiBTRVFVRU5DRS4iCmRpZmYgLS1naXQgYS90ZXN0L2xpc3AvZW1hY3MtbGlz
cC9zZXEtdGVzdHMuZWwgYi90ZXN0L2xpc3AvZW1hY3MtbGlzcC9zZXEtdGVzdHMuZWwKaW5kZXgg
YzA2Y2ViMDBiZGIuLjZiODc4OTY4OGQzIDEwMDY0NAotLS0gYS90ZXN0L2xpc3AvZW1hY3MtbGlz
cC9zZXEtdGVzdHMuZWwKKysrIGIvdGVzdC9saXNwL2VtYWNzLWxpc3Avc2VxLXRlc3RzLmVsCkBA
IC0zMTIsNiArMzEyLDgyIEBAIHRlc3Qtc2VxLXN1YnNlcQogICAgICAgICAgICAgICAgICAgKDpz
dWNjZXNzCiAgICAgICAgICAgICAgICAgICAgKHNob3VsZCAoZXF1YWwgKHNlcS1zdWJzZXEgbGlz
dCBzdGFydCBlbmQpIHJlcykpKSkpKSkpKSkpKQogCisoY2wtZGVmbWFjcm8gdGVzdC1zZXRmLXNl
cS1zdWJzZXEtY29tYmluYXRpb25zICgma2V5IHJlc3VsdCByYW5nZSBpbml0LXZhbHMKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ViLXZhbHMp
CisgICJQcm9kdWNlIHN1YnN0aXR1dGlvbnMgdGVzdHMgZm9yIGBzZXEtc3Vic2VxJyB1c2luZyBg
c2V0ZicuCisKKy0gSU5JVC1WQUxTIGlzIGEgbGlzdCBob2xkaW5nIHRoZSBpbml0aWFsIGVsZW1l
bnRzLgorLSBSRVNVTFQgaXMgd2hhdCB0aGUgZmluYWwgdmFsdWUgc2hvdWxkIGJlIGFmdGVyIHN1
YnN0aXR1dGlvbi4KKy0gU1VCLVZBTFMgaXMgYSBsaXN0IGhvbGRpbmcgdGhlIGVsZW1lbnRzIHRv
IGJlIHN1YnN0aXR1dGVkIGluLgorLSBSQU5HRSBpcyBhIGxpc3Qgb2YgdGhlIGBzdGFydCcgYW5k
IGBlbmQnIGFyZ3VtZW50cyBvZiBgc2VxLXN1YnNlcScuIgorICAobGV0ICgodGVzdHMpKQorICAg
IChkb2xpc3QgKHR5cGUxICcobGlzdCB2ZWN0b3Igc3RyaW5nKSkKKyAgICAgIChkb2xpc3QgKHR5
cGUyICcobGlzdCB2ZWN0b3Igc3RyaW5nKSkKKyAgICAgICAgKHB1c2ggIGAoc2hvdWxkIChlcXVh
bCAoLHR5cGUxICxAcmVzdWx0KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsZXQg
KChzZXEgKCx0eXBlMSAsQGluaXQtdmFscykpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgKHNldGYgKHNlcS1zdWJzZXEgc2VxICxAcmFuZ2UpCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAoLHR5cGUyICxAc3ViLXZhbHMpKQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc2VxKSkpCisgICAgICAgICAgICAgICB0ZXN0cykpKQorICAgIGAo
cHJvZ24gLEB0ZXN0cykpKQorCisoZXJ0LWRlZnRlc3QgdGVzdC1zZXRmLXNlcS1zdWJzZXEgKCkK
KyAgIlRlc3QgdXNpbmcgYHNlcS1zdWJzZXEnIHdpdGggYHNldGYnLgorQW55IGNvbWJpbmF0aW9u
IG9mIHNlcXVlbmNlcyBzaG91bGQgd29yay4iCisgICh0ZXN0LXNldGYtc2VxLXN1YnNlcS1jb21i
aW5hdGlvbnMKKyAgIDppbml0LXZhbHMgKDAgMSAyKQorICAgOnN1Yi12YWxzICgxMCAxMSAxMikK
KyAgIDpyYW5nZSAoMCkKKyAgIDpyZXN1bHQgKDEwIDExIDEyKSkKKworICAodGVzdC1zZXRmLXNl
cS1zdWJzZXEtY29tYmluYXRpb25zCisgICA6aW5pdC12YWxzICgwIDEpCisgICA6c3ViLXZhbHMg
KDEwIDExIDEyKQorICAgOnJhbmdlICgwKQorICAgOnJlc3VsdCAoMTAgMTEpKQorCisgICh0ZXN0
LXNldGYtc2VxLXN1YnNlcS1jb21iaW5hdGlvbnMKKyAgIDppbml0LXZhbHMgKDAgMSkKKyAgIDpz
dWItdmFscyAoMTAgMTEgMTIpCisgICA6cmFuZ2UgKDAgMTAwKQorICAgOnJlc3VsdCAoMTAgMTEp
KQorCisgICh0ZXN0LXNldGYtc2VxLXN1YnNlcS1jb21iaW5hdGlvbnMKKyAgIDppbml0LXZhbHMg
KDAgMSAyIDMgNCkKKyAgIDpzdWItdmFscyAoMTIgMTMgMTQgMTUpCisgICA6cmFuZ2UgKDIgMTAw
KQorICAgOnJlc3VsdCAoMCAxIDEyIDEzIDE0KSkKKworICAodGVzdC1zZXRmLXNlcS1zdWJzZXEt
Y29tYmluYXRpb25zCisgICA6aW5pdC12YWxzICgwIDEgMiAzIDQpCisgICA6c3ViLXZhbHMgKDEy
IDEzIDE0IDE1KQorICAgOnJhbmdlICgyIDMpCisgICA6cmVzdWx0ICgwIDEgMTIgMyA0KSkKKwor
ICAodGVzdC1zZXRmLXNlcS1zdWJzZXEtY29tYmluYXRpb25zCisgICA6aW5pdC12YWxzICgwIDEg
MiAzIDQpCisgICA6c3ViLXZhbHMgKDEyIDEzIDE0IDE1KQorICAgOnJhbmdlICgyIDIpCisgICA6
cmVzdWx0ICgwIDEgMiAzIDQpKQorCisgICh0ZXN0LXNldGYtc2VxLXN1YnNlcS1jb21iaW5hdGlv
bnMKKyAgIDppbml0LXZhbHMgKDAgMSAyIDMgNCA1IDYgNyA4IDkpCisgICA6c3ViLXZhbHMgKDEw
IDExIDEyIDEzIDE0KQorICAgOnJhbmdlICgtMikKKyAgIDpyZXN1bHQgKDAgMSAyIDEwIDExKSkK
KworICAodGVzdC1zZXRmLXNlcS1zdWJzZXEtY29tYmluYXRpb25zCisgICA6aW5pdC12YWxzICgw
IDEgMiAzIDQgNSA2IDcgOCA5KQorICAgOnN1Yi12YWxzICgxMCAxMSAxMiAxMyAxNCkKKyAgIDpy
YW5nZSAoLTYgLTMpCisgICA6cmVzdWx0ICgwIDEgMiAzIDEwIDExIDEyIDcgOCA5KSkKKworICAo
dGVzdC1zZXRmLXNlcS1zdWJzZXEtY29tYmluYXRpb25zCisgICA6aW5pdC12YWxzICgwIDEgMiAz
IDQgNSA2IDcgOCA5KQorICAgOnN1Yi12YWxzICgxMCAxMSAxMiAxMyAxNCkKKyAgIDpyYW5nZSAo
LTYgLTEwKQorICAgOnJlc3VsdCAoMCAxIDIgMyA0IDUgNiA3IDggOSkpKQorCiAoZXJ0LWRlZnRl
c3QgdGVzdC1zZXEtY29uY2F0ZW5hdGUgKCkKICAgKHdpdGgtdGVzdC1zZXF1ZW5jZXMgKHNlcSAn
KDIgNCA2KSkKICAgICAoc2hvdWxkIChlcXVhbCAoc2VxLWNvbmNhdGVuYXRlICdzdHJpbmcgc2Vx
IFs4XSkgKHN0cmluZyAyIDQgNiA4KSkpCi0tIAoyLjM0LjEKCg==

--b1_AJSw1Glr62ORHrEdyl2Yja46lAOK2IQJL3n4Y2XbcfA--





Acknowledgement sent to Okamsn <okamsn@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#68863; 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, 28 Feb 2025 18:45:01 UTC

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