From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 22 21:34:03 2024 Received: (at submit) by debbugs.gnu.org; 23 Sep 2024 01:34:03 +0000 Received: from localhost ([127.0.0.1]:42996 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ssXxj-0000fS-5t for submit@debbugs.gnu.org; Sun, 22 Sep 2024 21:34:03 -0400 Received: from lists.gnu.org ([209.51.188.17]:36690) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ssXxg-0000f3-Mk for submit@debbugs.gnu.org; Sun, 22 Sep 2024 21:34:02 -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 ) id 1ssXxK-0004sF-3J for bug-gnu-emacs@gnu.org; Sun, 22 Sep 2024 21:33:38 -0400 Received: from mail-40134.protonmail.ch ([185.70.40.134]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ssXxE-0004Ym-F1 for bug-gnu-emacs@gnu.org; Sun, 22 Sep 2024 21:33:36 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1727055209; x=1727314409; bh=b8hZhsvgThz8OkRFR7LEvvhg3Z/4m+qOGC6nCGisdGU=; h=Date:To:From:Cc:Subject:Message-ID:Feedback-ID:From:To:Cc:Date: Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector; b=kFFIBEuC6bwegReRpZAKqm+G+RPbQnKv4wQmREa1s8UsZ56b3xXDFHaplDv549XQF iRhlVgvFwWGRNvo2TptYuYPoDzeZHfzsK/yPwrstaeLgxKob/aL6E+v9XpSbhDqyrj Pc6HGB2nAWqP42OEKkKni+nOdZMK+R8QftNHwvgMwPay85qLvdUdSkx7qwchdeBD9c kAGD++K/TDkmfzPSUcDOBEouEgV6JY4kBS0hIxdfb8EV1wRi1FTqDuaH3Q8SMsZh7m rJ3gQQO2//eKPy3D7SuEOilkkMY9yNu6O5jo2FAk+Cv0fFd9pa0Ad0Fxe7JRFeKhfo 7syb/5o4ERBgA== Date: Mon, 23 Sep 2024 01:33:24 +0000 To: bug-gnu-emacs@gnu.org From: Okamsn Subject: Add `setf` support for `stream.el` in ELPA Message-ID: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> Feedback-ID: 25935600:user:proton X-Pm-Message-ID: 1cd36de4d0ecf755520a2624ac96e47aeda822e2 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_XLt41dgmYDcoxao52tCzRt2aE0Ambxj22gN2qSzxmU" Received-SPF: pass client-ip=185.70.40.134; envelope-from=okamsn@protonmail.com; helo=mail-40134.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.01, RCVD_IN_MSPIKE_WL=-0.01, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-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: Nicolas Petton X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) This is a multi-part message in MIME format. --b1_XLt41dgmYDcoxao52tCzRt2aE0Ambxj22gN2qSzxmU Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hello, The attached patch adds `setf` support for `stream-first`,=20 `stream-rest`, and `seq-elt` for streams. The support for `setf` with=20 `seq-elt` for streams uses the added support for `stream-first`,=20 following the definition of `seq-elt` for streams. Would you like anything changed? Thank you. --b1_XLt41dgmYDcoxao52tCzRt2aE0Ambxj22gN2qSzxmU Content-Type: text/x-patch; charset=UTF-8; name=0001-Add-setf-support-to-stream.el.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=0001-Add-setf-support-to-stream.el.patch RnJvbSBmZWQ3ODVhMzMyYmIzMzU1MjJhNGI3MWVmOGE2ODg5NmYzMDRlMWQwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBFYXJsIEh5YXR0IDxva2Ftc25AcHJvdG9ubWFpbC5jb20+CkRh dGU6IFN1biwgMjIgU2VwIDIwMjQgMTk6MjM6MzYgLTA0MDAKU3ViamVjdDogW1BBVENIXSBBZGQg c2V0ZiBzdXBwb3J0IHRvIHN0cmVhbS5lbC4KCiogc3RyZWFtLmVsIChcKHNldGZcIHN0cmVhbS1m aXJzdFwpLCBcKHNldGZcIHN0cmVhbS1yZXN0XCkpOiBBZGQgc3VwcG9ydCB0bwpgc2V0ZicgZm9y IHN0cmVhbS1maXJzdCBhbmQgc3RyZWFtLXJlc3QuCgoqIHN0cmVhbS5lbCAoXChzZXRmXCBzZXEt ZWx0XCkpOiBTdXBwb3J0IGBzZXRmJyB3aXRoIGBzZXEtZWx0JyBmb3Igc3RyZWFtcy4KCiogdGVz dHMvc3RyZWFtLXRlc3RzLmVsIChzZXRmLXN0cmVhbS1maXJzdCwgc2V0Zi1zdHJlYW0tZmlyc3Qt ZXJyb3IpCihzZXRmLXN0cmVhbS1yZXN0LCBzZXRmLXN0cmVhbS1yZXN0LWVycm9yLCBzZXRmLXN0 cmVhbS1zZXEtZWx0KQooc2V0Zi1zdHJlYW0tc2VxLWVsdC1lcnJvcik6IEFkZCB0ZXN0cyBmb3Ig dGhlIGFib3ZlIGZlYXR1cmVzLgotLS0KIHN0cmVhbS5lbCAgICAgICAgICAgICB8IDIzICsrKysr KysrKysrKysrKysKIHRlc3RzL3N0cmVhbS10ZXN0cy5lbCB8IDY0ICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgODcgaW5zZXJ0aW9u cygrKQoKZGlmZiAtLWdpdCBhL3N0cmVhbS5lbCBiL3N0cmVhbS5lbAppbmRleCA3MTM1ZWUwLi5l YjhiMTc5IDEwMDY0NAotLS0gYS9zdHJlYW0uZWwKKysrIGIvc3RyZWFtLmVsCkBAIC0yMTIsMTEg KzIxMiwyMyBAQCAoZGVmdW4gc3RyZWFtLWZpcnN0IChzdHJlYW0pCiBSZXR1cm4gbmlsIGlmIFNU UkVBTSBpcyBlbXB0eS4iCiAgIChjYXIgKHN0cmVhbS0tZm9yY2Ugc3RyZWFtKSkpCiAKKyhkZWZ1 biBcKHNldGZcIHN0cmVhbS1maXJzdFwpIChzdG9yZSBzdHJlYW0pCisgICJTZXQgdGhlIGZpcnN0 IGVsZW1lbnQgb2YgU1RSRUFNIHRvIHZhbHVlIFNUT1JFLiIKKyAgKGlmIChzdHJlYW0tZW1wdHkt cCBzdHJlYW0pCisgICAgICAoZXJyb3IgIkNhbm5vdCBzZXQgZmlyc3QgZWxlbWVudCBvZiBlbXB0 eSBzdHJlYW06ICVzIiBzdHJlYW0pCisgICAgKHNldGNhciAoc3RyZWFtLS1mb3JjZSBzdHJlYW0p IHN0b3JlKSkpCisKIChkZWZ1biBzdHJlYW0tcmVzdCAoc3RyZWFtKQogICAiUmV0dXJuIGEgc3Ry ZWFtIG9mIGFsbCBidXQgdGhlIGZpcnN0IGVsZW1lbnQgb2YgU1RSRUFNLiIKICAgKG9yIChjZHIg KHN0cmVhbS0tZm9yY2Ugc3RyZWFtKSkKICAgICAgIChzdHJlYW0tZW1wdHkpKSkKIAorKGRlZnVu IFwoc2V0Zlwgc3RyZWFtLXJlc3RcKSAobmV3LXN0cmVhbSBzdHJlYW0pCisgICJTZXQgdGhlIHJl bWFpbmRlciBvZiBTVFJFQU0gdG8gTkVXLVNUUkVBTS4iCisgIChpZiAoc3RyZWFtLWVtcHR5LXAg c3RyZWFtKQorICAgICAgKGVycm9yICJDYW5ub3Qgc2V0IHJlbWFpbmRlciBvZiBlbXB0eSBzdHJl YW06ICVzIiBzdHJlYW0pCisgICAgKHNldGNkciAoc3RyZWFtLS1mb3JjZSBzdHJlYW0pIG5ldy1z dHJlYW0pKSkKKwogKGRlZnVuIHN0cmVhbS1hcHBlbmQgKCZyZXN0IHN0cmVhbXMpCiAgICJDb25j YXRlbmF0ZSB0aGUgU1RSRUFNUy4KIFJlcXVlc3RpbmcgZWxlbWVudHMgZnJvbSB0aGUgcmVzdWx0 aW5nIHN0cmVhbSB3aWxsIHJlcXVlc3QgdGhlCkBAIC0yNzMsNiArMjg1LDE3IEBAIChjbC1kZWZt ZXRob2Qgc2VxLWVsdCAoKHN0cmVhbSBzdHJlYW0pIG4pCiAgICAgKHNldHEgbiAoMS0gbikpKQog ICAoc3RyZWFtLWZpcnN0IHN0cmVhbSkpCiAKKyhjbC1kZWZtZXRob2QgXChzZXRmXCBzZXEtZWx0 XCkgKHN0b3JlIChzdHJlYW0gc3RyZWFtKSBuKQorICAiU2V0IHRoZSBlbGVtZW50IG9mIFNUUkVB TSBhdCBpbmRleCBOIHRvIHZhbHVlIFNUT1JFLiIKKyAgKGxldCAoKHN0cmVhbS1mb3Itc2lnbmFs IHN0cmVhbSkKKyAgICAgICAgKG4tZm9yLXNpZ25hbCBuKSkKKyAgICAod2hpbGUgKD4gbiAwKQor ICAgICAgKHNldHEgc3RyZWFtIChzdHJlYW0tcmVzdCBzdHJlYW0pKQorICAgICAgKHNldHEgbiAo MS0gbikpKQorICAgIChpZiAoc3RyZWFtLWVtcHR5LXAgc3RyZWFtKQorICAgICAgICAoc2lnbmFs ICdhcmdzLW91dC1vZi1yYW5nZSAobGlzdCBzdHJlYW0tZm9yLXNpZ25hbCBuLWZvci1zaWduYWwp KQorICAgICAgKHNldGYgKHN0cmVhbS1maXJzdCBzdHJlYW0pIHN0b3JlKSkpKQorCiAoY2wtZGVm bWV0aG9kIHNlcS1sZW5ndGggKChzdHJlYW0gc3RyZWFtKSkKICAgIlJldHVybiB0aGUgbGVuZ3Ro IG9mIFNUUkVBTS4KIFRoaXMgZnVuY3Rpb24gd2lsbCBlYWdlcmx5IGNvbnN1bWUgdGhlIGVudGly ZSBzdHJlYW0uIgpkaWZmIC0tZ2l0IGEvdGVzdHMvc3RyZWFtLXRlc3RzLmVsIGIvdGVzdHMvc3Ry ZWFtLXRlc3RzLmVsCmluZGV4IGJhMzA0ZjEuLmY4MmMyMDYgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3N0 cmVhbS10ZXN0cy5lbAorKysgYi90ZXN0cy9zdHJlYW0tdGVzdHMuZWwKQEAgLTMwOCw1ICszMDgs NjkgQEAgKGRlZnRlc3QtZm9yLWRlbGF5ZWQtZXZhbHVhdGlvbiAoc3RyZWFtLXNjYW4gIycqIDEg KG1ha2UtZGVsYXllZC10ZXN0LXN0cmVhbSkpKQogKGRlZnRlc3QtZm9yLWRlbGF5ZWQtZXZhbHVh dGlvbiAoc3RyZWFtLWNvbmNhdGVuYXRlIChzdHJlYW0gKGxpc3QgKG1ha2UtZGVsYXllZC10ZXN0 LXN0cmVhbSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChtYWtlLWRlbGF5ZWQtdGVzdC1zdHJlYW0pKSkpKQogCis7OyBU ZXN0IGBzZXRmJyBzdXBwb3J0CisoZXJ0LWRlZnRlc3Qgc2V0Zi1zdHJlYW0tZmlyc3QgKCkKKyAg KHNob3VsZCAoPSAxMDAgKGxldCAoKHRlc3QgKHN0cmVhbSAodmVjdG9yIDAgMSAyIDMgNCkpKSkK KyAgICAgICAgICAgICAgICAgICAoc2V0ZiAoc3RyZWFtLWZpcnN0IHRlc3QpIDEwMCkKKyAgICAg ICAgICAgICAgICAgICAoc3RyZWFtLWZpcnN0IHRlc3QpKSkpCisKKyAgKHNob3VsZCAoPSAxMDAg KGxldCAoKHRlc3QgKHN0cmVhbS1yYW5nZSAwIDEwIDIpKSkKKyAgICAgICAgICAgICAgICAgICAo c2V0ZiAoc3RyZWFtLWZpcnN0IHRlc3QpIDEwMCkKKyAgICAgICAgICAgICAgICAgICAoc3RyZWFt LWZpcnN0IHRlc3QpKSkpKQorCisoZXJ0LWRlZnRlc3Qgc2V0Zi1zdHJlYW0tZmlyc3QtZXJyb3Ig KCkKKyAgKHNob3VsZC1lcnJvciAobGV0ICgodGVzdCAoc3RyZWFtLWVtcHR5KSkpCisgICAgICAg ICAgICAgICAgICAoc2V0ZiAoc3RyZWFtLWZpcnN0IHRlc3QpIDEwMCkKKyAgICAgICAgICAgICAg ICAgIChzdHJlYW0tZmlyc3QgdGVzdCkpKSkKKworKGVydC1kZWZ0ZXN0IHNldGYtc3RyZWFtLXJl c3QgKCkKKyAgKHNob3VsZCAoZXF1YWwgJygwIDExIDEyIDEzIDE0KQorICAgICAgICAgICAgICAg ICAobGV0ICgodGVzdCAoc3RyZWFtICh2ZWN0b3IgMCAxIDIgMyA0KSkpKQorICAgICAgICAgICAg ICAgICAgIChzZXRmIChzdHJlYW0tcmVzdCB0ZXN0KSAoc3RyZWFtIChsaXN0IDExIDEyIDEzIDE0 KSkpCisgICAgICAgICAgICAgICAgICAgKHNlcS1pbnRvIHRlc3QgJ2xpc3QpKSkpCisKKyAgKHNo b3VsZCAoZXF1YWwgJygwIDExIDEyIDEzIDE0KQorICAgICAgICAgICAgICAgICAobGV0ICgodGVz dCAoc3RyZWFtLXJhbmdlICAwIDEwIDIpKSkKKyAgICAgICAgICAgICAgICAgICAoc2V0ZiAoc3Ry ZWFtLXJlc3QgdGVzdCkgKHN0cmVhbSAobGlzdCAxMSAxMiAxMyAxNCkpKQorICAgICAgICAgICAg ICAgICAgIChzZXEtaW50byB0ZXN0ICdsaXN0KSkpKQorCisgIChzaG91bGQgKGVxdWFsICcoMCAx MSAxMiAxMyAxNCkKKyAgICAgICAgICAgICAgICAgKGxldCAoKHRlc3QgKHN0cmVhbS1yYW5nZSAg MCAxMCAyKSkpCisgICAgICAgICAgICAgICAgICAgOzsgVGVzdCB1c2luZyBhbiBldmFsdWF0ZWQg c3RyZWFtLgorICAgICAgICAgICAgICAgICAgIChzZXRmIChzdHJlYW0tcmVzdCB0ZXN0KQorICAg ICAgICAgICAgICAgICAgICAgICAgIChsZXQgKChzdHJlYW0gKHN0cmVhbSAobGlzdCAxMSAxMiAx MyAxNCkpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZXEtZG8gIydpZ25vcmUgc3Ry ZWFtKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyZWFtKSkKKyAgICAgICAgICAgICAg ICAgICAoc2VxLWludG8gdGVzdCAnbGlzdCkpKSkpCisKKyhlcnQtZGVmdGVzdCBzZXRmLXN0cmVh bS1yZXN0LWVycm9yICgpCisgIChzaG91bGQtZXJyb3IgKGxldCAoKHRlc3QgKHN0cmVhbS1lbXB0 eSkpKQorICAgICAgICAgICAgICAgICAgKHNldGYgKHN0cmVhbS1yZXN0IHRlc3QpIChzdHJlYW0g KGxpc3QgMTEgMTIgMTMgMTQpKSkKKyAgICAgICAgICAgICAgICAgIChzZXEtaW50byB0ZXN0ICds aXN0KSkpKQorCisoZXJ0LWRlZnRlc3Qgc2V0Zi1zdHJlYW0tc2VxLWVsdCAoKQorICAoc2hvdWxk ICg9IDEwMCAobGV0ICgodGVzdCAoc3RyZWFtICh2ZWN0b3IgMCAxIDIgMyA0KSkpKQorICAgICAg ICAgICAgICAgICAgIChzZXRmIChzZXEtZWx0IHRlc3QgMykgMTAwKQorICAgICAgICAgICAgICAg ICAgIChzZXEtZWx0IHRlc3QgMykpKSkKKworICAoc2hvdWxkIChlcXVhbCAnKDAgMSAyIDEwMCA0 KQorICAgICAgICAgICAgICAgICAobGV0ICgodGVzdCAoc3RyZWFtICh2ZWN0b3IgMCAxIDIgMyA0 KSkpKQorICAgICAgICAgICAgICAgICAgIChzZXRmIChzZXEtZWx0IHRlc3QgMykgMTAwKQorICAg ICAgICAgICAgICAgICAgIChzZXEtaW50byB0ZXN0ICdsaXN0KSkpKQorCisgIChzaG91bGQgKD0g MTAwIChsZXQgKCh0ZXN0IChzdHJlYW0tcmFuZ2UgMCAxMCAyKSkpCisgICAgICAgICAgICAgICAg ICAgKHNldGYgKHNlcS1lbHQgdGVzdCAzKSAxMDApCisgICAgICAgICAgICAgICAgICAgKHNlcS1l bHQgdGVzdCAzKSkpKQorCisgIChzaG91bGQgKGVxdWFsICcoMCAyIDQgMTAwIDgpCisgICAgICAg ICAgICAgICAgIChsZXQgKCh0ZXN0IChzdHJlYW0tcmFuZ2UgMCAxMCAyKSkpCisgICAgICAgICAg ICAgICAgICAgKHNldGYgKHNlcS1lbHQgdGVzdCAzKSAxMDApCisgICAgICAgICAgICAgICAgICAg KHNlcS1pbnRvIHRlc3QgJ2xpc3QpKSkpKQorCisoZXJ0LWRlZnRlc3Qgc2V0Zi1zdHJlYW0tc2Vx LWVsdC1lcnJvciAoKQorICAoc2hvdWxkLWVycm9yIChsZXQgKCh0ZXN0IChzdHJlYW0gKHZlY3Rv ciAwIDEgMiAzIDQpKSkpCisgICAgICAgICAgICAgICAgICAoc2V0ZiAoc2VxLWVsdCB0ZXN0IDEw MDApIDEwMCkpCisgICAgICAgICAgICAgICAgOnR5cGUgJ2FyZ3Mtb3V0LW9mLXJhbmdlKSkKKwog KHByb3ZpZGUgJ3N0cmVhbS10ZXN0cykKIDs7OyBzdHJlYW0tdGVzdHMuZWwgZW5kcyBoZXJlCi0t IAoyLjM0LjEKCg== --b1_XLt41dgmYDcoxao52tCzRt2aE0Ambxj22gN2qSzxmU-- From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 24 06:15:49 2024 Received: (at 73431) by debbugs.gnu.org; 24 Sep 2024 10:15:49 +0000 Received: from localhost ([127.0.0.1]:45361 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1st2aC-0007Vn-SC for submit@debbugs.gnu.org; Tue, 24 Sep 2024 06:15:49 -0400 Received: from mout02.posteo.de ([185.67.36.66]:40199) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1st2a8-0007VU-AB for 73431@debbugs.gnu.org; Tue, 24 Sep 2024 06:15:47 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id C2374240101 for <73431@debbugs.gnu.org>; Tue, 24 Sep 2024 12:15:13 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1727172913; bh=7p7sF53F05pksc0ChZkrjwHAwf3X1ShIkkVKhVpTLkw=; h=From:To:Cc:Subject:Autocrypt:OpenPGP:Date:Message-ID:MIME-Version: Content-Type:From; b=YFfWpxXP5Nd+pOeWSpxo8eF18b8TGbVc2E3ppSL6EZoh6SfUwiT4RH6koqH6EL39e 784//8IyuTMi98yWzc+TZY8kOoXzNKs6ss8CLiDymdXYpWJBMIvyX4MDCPK8xQ1ncT A8ZJGPD0JJ7ULw2lC1E1rSJGbuVfMHGDDsvBLR7B9YzzcRijhiiJWk3BP7lng0DDB6 lJbrYR+zv/3NpArNNnujXpjVCPaCli6LMR6O1rscNpGgT2VJE56fM2DnMaAbVTRP5h axm0kA1Zt1l05kCGUszR7Q/AoRBboZJRhLv+F/ZPhLFQ32Hr1f+6yFITewgZBuhA78 hqHszz7iwURMA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4XCbMf0R74z6tw8; Tue, 24 Sep 2024 12:15:09 +0200 (CEST) From: Philip Kaludercic To: Okamsn Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA In-Reply-To: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> (okamsn@protonmail.com's message of "Mon, 23 Sep 2024 01:33:24 +0000") References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> Autocrypt: addr=philipk@posteo.net; keydata= mDMEZBBQQhYJKwYBBAHaRw8BAQdAHJuofBrfqFh12uQu0Yi7mrl525F28eTmwUDflFNmdui0QlBo aWxpcCBLYWx1ZGVyY2ljIChnZW5lcmF0ZWQgYnkgYXV0b2NyeXB0LmVsKSA8cGhpbGlwa0Bwb3N0 ZW8ubmV0PoiWBBMWCAA+FiEEDg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwMFCQHhM4AFCwkI BwIGFQoJCAsCBBYCAwECHgECF4AACgkQ8xYDWXahwulikAEA77hloUiSrXgFkUVJhlKBpLCHUjA0 mWZ9j9w5d08+jVwBAK6c4iGP7j+/PhbkxaEKa4V3MzIl7zJkcNNjHCXmvFcEuDgEZBBQQhIKKwYB BAGXVQEFAQEHQI5NLiLRjZy3OfSt1dhCmFyn+fN/QKELUYQetiaoe+MMAwEIB4h+BBgWCAAmFiEE Dg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwwFCQHhM4AACgkQ8xYDWXahwukm+wEA8cml4JpK NeAu65rg+auKrPOP6TP/4YWRCTIvuYDm0joBALw98AMz7/qMHvSCeU/hw9PL6u6R2EScxtpKnWof z4oM OpenPGP: id=philipk@posteo.net; url="https://keys.openpgp.org/vks/v1/by-email/philipk@posteo.net"; preference=signencrypt Date: Tue, 24 Sep 2024 10:15:08 +0000 Message-ID: <87ikultl1v.fsf@posteo.net> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 73431 Cc: Nicolas Petton , 73431@debbugs.gnu.org, Stefan Monnier X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Okamsn writes: > Hello, > > The attached patch adds `setf` support for `stream-first`, > `stream-rest`, and `seq-elt` for streams. The support for `setf` with > `seq-elt` for streams uses the added support for `stream-first`, > following the definition of `seq-elt` for streams. > > Would you like anything changed? > > Thank you. > > From fed785a332bb335522a4b71ef8a68896f304e1d0 Mon Sep 17 00:00:00 2001 > From: Earl Hyatt > Date: Sun, 22 Sep 2024 19:23:36 -0400 > Subject: [PATCH] Add setf support to stream.el. > > * stream.el (\(setf\ stream-first\), \(setf\ stream-rest\)): Add support to > `setf' for stream-first and stream-rest. > > * stream.el (\(setf\ seq-elt\)): Support `setf' with `seq-elt' for streams. > > * tests/stream-tests.el (setf-stream-first, setf-stream-first-error) > (setf-stream-rest, setf-stream-rest-error, setf-stream-seq-elt) > (setf-stream-seq-elt-error): Add tests for the above features. > --- > stream.el | 23 ++++++++++++++++ > tests/stream-tests.el | 64 +++++++++++++++++++++++++++++++++++++++++++ > 2 files changed, 87 insertions(+) > > diff --git a/stream.el b/stream.el > index 7135ee0..eb8b179 100644 > --- a/stream.el > +++ b/stream.el > @@ -212,11 +212,23 @@ (defun stream-first (stream) > Return nil if STREAM is empty." > (car (stream--force stream))) > > +(defun \(setf\ stream-first\) (store stream) > + "Set the first element of STREAM to value STORE." > + (if (stream-empty-p stream) > + (error "Cannot set first element of empty stream: %s" stream) > + (setcar (stream--force stream) store))) I am not sure what the preferred practice to define generalised setters is. In gv.el everything is defined using `gv-define-simple-setter' or `gv-define-setter', which /feels/ more robust? I believe that Stefan (as the author or gv.el) might be able to explain if this is so or not. > + > (defun stream-rest (stream) > "Return a stream of all but the first element of STREAM." > (or (cdr (stream--force stream)) > (stream-empty))) > > +(defun \(setf\ stream-rest\) (new-stream stream) > + "Set the remainder of STREAM to NEW-STREAM." > + (if (stream-empty-p stream) > + (error "Cannot set remainder of empty stream: %s" stream) > + (setcdr (stream--force stream) new-stream))) > + > (defun stream-append (&rest streams) > "Concatenate the STREAMS. > Requesting elements from the resulting stream will request the > @@ -273,6 +285,17 @@ (cl-defmethod seq-elt ((stream stream) n) > (setq n (1- n))) > (stream-first stream)) > > +(cl-defmethod \(setf\ seq-elt\) (store (stream stream) n) > + "Set the element of STREAM at index N to value STORE." > + (let ((stream-for-signal stream) > + (n-for-signal n)) > + (while (> n 0) > + (setq stream (stream-rest stream)) > + (setq n (1- n))) > + (if (stream-empty-p stream) > + (signal 'args-out-of-range (list stream-for-signal n-for-signal)) > + (setf (stream-first stream) store)))) > + > (cl-defmethod seq-length ((stream stream)) > "Return the length of STREAM. > This function will eagerly consume the entire stream." > diff --git a/tests/stream-tests.el b/tests/stream-tests.el > index ba304f1..f82c206 100644 > --- a/tests/stream-tests.el > +++ b/tests/stream-tests.el > @@ -308,5 +308,69 @@ (deftest-for-delayed-evaluation (stream-scan #'* 1 (make-delayed-test-stream))) > (deftest-for-delayed-evaluation (stream-concatenate (stream (list (make-delayed-test-stream) > (make-delayed-test-stream))))) > > +;; Test `setf' support > +(ert-deftest setf-stream-first () > + (should (= 100 (let ((test (stream (vector 0 1 2 3 4)))) > + (setf (stream-first test) 100) > + (stream-first test)))) > + > + (should (= 100 (let ((test (stream-range 0 10 2))) > + (setf (stream-first test) 100) > + (stream-first test))))) > + > +(ert-deftest setf-stream-first-error () > + (should-error (let ((test (stream-empty))) > + (setf (stream-first test) 100) > + (stream-first test)))) > + > +(ert-deftest setf-stream-rest () > + (should (equal '(0 11 12 13 14) > + (let ((test (stream (vector 0 1 2 3 4)))) > + (setf (stream-rest test) (stream (list 11 12 13 14))) > + (seq-into test 'list)))) > + > + (should (equal '(0 11 12 13 14) > + (let ((test (stream-range 0 10 2))) > + (setf (stream-rest test) (stream (list 11 12 13 14))) > + (seq-into test 'list)))) > + > + (should (equal '(0 11 12 13 14) > + (let ((test (stream-range 0 10 2))) > + ;; Test using an evaluated stream. > + (setf (stream-rest test) > + (let ((stream (stream (list 11 12 13 14)))) > + (seq-do #'ignore stream) > + stream)) > + (seq-into test 'list))))) > + > +(ert-deftest setf-stream-rest-error () > + (should-error (let ((test (stream-empty))) > + (setf (stream-rest test) (stream (list 11 12 13 14))) > + (seq-into test 'list)))) > + > +(ert-deftest setf-stream-seq-elt () > + (should (= 100 (let ((test (stream (vector 0 1 2 3 4)))) > + (setf (seq-elt test 3) 100) > + (seq-elt test 3)))) > + > + (should (equal '(0 1 2 100 4) > + (let ((test (stream (vector 0 1 2 3 4)))) > + (setf (seq-elt test 3) 100) > + (seq-into test 'list)))) > + > + (should (= 100 (let ((test (stream-range 0 10 2))) > + (setf (seq-elt test 3) 100) > + (seq-elt test 3)))) > + > + (should (equal '(0 2 4 100 8) > + (let ((test (stream-range 0 10 2))) > + (setf (seq-elt test 3) 100) > + (seq-into test 'list))))) > + > +(ert-deftest setf-stream-seq-elt-error () > + (should-error (let ((test (stream (vector 0 1 2 3 4)))) > + (setf (seq-elt test 1000) 100)) > + :type 'args-out-of-range)) > + > (provide 'stream-tests) > ;;; stream-tests.el ends here -- Philip Kaludercic on siskin From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 24 09:56:50 2024 Received: (at 73431) by debbugs.gnu.org; 24 Sep 2024 13:56:50 +0000 Received: from localhost ([127.0.0.1]:46510 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1st625-00032R-MM for submit@debbugs.gnu.org; Tue, 24 Sep 2024 09:56:49 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:33292) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1st61z-00032J-Ea for 73431@debbugs.gnu.org; Tue, 24 Sep 2024 09:56:46 -0400 Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 1AA7C80974; Tue, 24 Sep 2024 09:56:12 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1727186171; bh=NARRQMRqNTlWrPs+rKUq9xemQYDYOjR/GZkBDpE8OMc=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=fbjxTO8UUeTtl4mraCBR4lSVeyWQJlragrFycrN6q/lKizvOpxD0jEqO1Jl7z2pV4 EVRu6dQPwHmj73bem1TYBEjIHC0SdkvxVPCDIT3rUHCqz9AbBQxtoAZUTKJPg8g2IK P0cocUK4TlFi5H1225M7aNHx/u9cl3GLm7xsVdsTeUfq1VhrxTpvvVwZPAOCqKoOGO eDlwViRdFDatckdxp1ZAIP3h7/IrULuL7h4OfZDm0+LfzXwjjYuTjb9LeXUN1mSK9U EdM1ezRsN2apdbBoihpCn91XLUkR/eNEQYvfof+z/gWMcxSTnj3dBq6D9+3zJpK5ED 1xPGGRoBO2DCw== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 24D5980169; Tue, 24 Sep 2024 09:56:11 -0400 (EDT) Received: from pastel (unknown [45.72.221.103]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id E71E9120667; Tue, 24 Sep 2024 09:56:10 -0400 (EDT) From: Stefan Monnier To: Philip Kaludercic Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA In-Reply-To: <87ikultl1v.fsf@posteo.net> (Philip Kaludercic's message of "Tue, 24 Sep 2024 10:15:08 +0000") Message-ID: References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <87ikultl1v.fsf@posteo.net> Date: Tue, 24 Sep 2024 09:56:02 -0400 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL -0.349 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 POISEN_SPAM_PILL 0.1 Meta: its spam POISEN_SPAM_PILL_1 0.1 random spam to be learned in bayes POISEN_SPAM_PILL_3 0.1 random spam to be learned in bayes X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 73431 Cc: Okamsn , Nicolas Petton , 73431@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) >> +(defun \(setf\ stream-first\) (store stream) >> + "Set the first element of STREAM to value STORE." >> + (if (stream-empty-p stream) >> + (error "Cannot set first element of empty stream: %s" stream) >> + (setcar (stream--force stream) store))) > > I am not sure what the preferred practice to define generalised setters > is. In gv.el everything is defined using `gv-define-simple-setter' or > `gv-define-setter', which /feels/ more robust? I believe that Stefan > (as the author or gv.el) might be able to explain if this is so or not. Defining \(setf\ FOO\) looks fine to me =F0=9F=99=82 I'm not sure we want to make streams mutable, OTOH. Is there a known use-case for it? Stefan From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 24 20:18:31 2024 Received: (at 73431) by debbugs.gnu.org; 25 Sep 2024 00:18:31 +0000 Received: from localhost ([127.0.0.1]:52406 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1stFji-0005BZ-MC for submit@debbugs.gnu.org; Tue, 24 Sep 2024 20:18:31 -0400 Received: from mail-0301.mail-europe.com ([188.165.51.139]:48350) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1stFjf-0005B0-My for 73431@debbugs.gnu.org; Tue, 24 Sep 2024 20:18:28 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1727223475; x=1727482675; bh=Qj1RcB4f6ON7NDz3JKyHei97IJNEWNEt5BdCVDpBiIo=; 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=sf/LV3HnxCK4RBuof9ADEQeKFU2d7NS6Oj2wZJ1zFdd0X/H8Ogsvw0w4S6tTxps6R xQbRyG0c7CQMERKtVRy5LuVnTGhvNGgOf861HWDNYEDPEk7hcz7iD7n1QVgoQp+S8A vtQWii94pGdLGzUMaltCt88gmFV3TNMxoTvBJCSXvVYAynpG8GIRA0q4Uaj3Vf88QM yZ0YSsljJttjITknDY6DBsayDFe4x++V+p0NNSxzL8EYZK9zEkE80eo2gNqrN9liTE C/wAOoLHBO5oy2xBVDyamWerM/Q6SMhtGoJamNyHXZukU1jtwplvoFfHFhE3FcG1bN KnhIOXGLJm4kQ== Date: Wed, 25 Sep 2024 00:17:50 +0000 To: Stefan Monnier , Philip Kaludercic From: Okamsn Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA Message-ID: <2522160a-761c-4f23-a9c7-4740b49681f1@protonmail.com> In-Reply-To: References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <87ikultl1v.fsf@posteo.net> Feedback-ID: 25935600:user:proton X-Pm-Message-ID: d90dc5346070275463cb2631e5fcf1e648b1267b MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 73431 Cc: Nicolas Petton , 73431@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Stefan Monnier wrote: >>> +(defun \(setf\ stream-first\) (store stream) >>> + "Set the first element of STREAM to value STORE." >>> + (if (stream-empty-p stream) >>> + (error "Cannot set first element of empty stream: %s" stream) >>> + (setcar (stream--force stream) store))) >> >> I am not sure what the preferred practice to define generalised setters >> is. In gv.el everything is defined using `gv-define-simple-setter' or >> `gv-define-setter', which /feels/ more robust? I believe that Stefan >> (as the author or gv.el) might be able to explain if this is so or not. >=20 > Defining \(setf\ FOO\) looks fine to me =F0=9F=99=82 > I'm not sure we want to make streams mutable, OTOH. > Is there a known use-case for it? >=20 >=20 > Stefan >=20 Hello, Currently, using `(setf (seq-elt STREAM 0) VAL)` silently fails, because=20 it treats the stream as a list, breaking the stream. On the desire for mutability, there is the included macro `stream-pop`. My use case is mainly consistency. I am currently cleaning up support=20 for destructuring generic sequences with generalized variables in my=20 package, which is how I noticed the silent failure for streams. I have=20 found streams useful for iterating over sub-sequences of vectors, like=20 what `cl-maplist` does with lists. Thank you. From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 24 22:56:56 2024 Received: (at 73431) by debbugs.gnu.org; 25 Sep 2024 02:56:56 +0000 Received: from localhost ([127.0.0.1]:35130 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1stID1-00007q-1G for submit@debbugs.gnu.org; Tue, 24 Sep 2024 22:56:55 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:18139) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1stICz-00007J-Da for 73431@debbugs.gnu.org; Tue, 24 Sep 2024 22:56:54 -0400 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 15FA4100046; Tue, 24 Sep 2024 22:56:21 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1727232976; bh=TuwcUnSLuOyLBrT5MqLcOm0flVw/FlsnVXoWS32hjyc=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=kwBj8v8gmZdt1bC9vSMuC3fuLPixjPUnJwbjfCEXwTAxcbupEBdxyJ7pRmRyG2Gki S+TFS8+w89zZoDq/5+a/6OY3hZixhYgfaznqgQb5RQ08mwjxRMwvuXS4JnY34VUigi h7nDA2SwXOMnKITX6C7G6fVHVUrSaLqUo5AvCtlgtgGlVYrR4ACSkXSbzRD3bEwqa1 h4LTE93Xx7gb0s8ZkpOaK0Dc00sw37vQNiYMMJf0kR1M344qVig7CCgY+nZBM0qjDY zFkxzXkAjad/vGJ2K9x9bFZ5EKLHp7d6UiGnwkZUNZrdYYYASQ9i+MggkcLNYfr+mI 3/1TfNAN3bPEA== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 30FF2100035; Tue, 24 Sep 2024 22:56:16 -0400 (EDT) Received: from pastel (104-195-233-2.cpe.teksavvy.com [104.195.233.2]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id F1A671200E4; Tue, 24 Sep 2024 22:56:15 -0400 (EDT) From: Stefan Monnier To: Okamsn Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA In-Reply-To: <2522160a-761c-4f23-a9c7-4740b49681f1@protonmail.com> (okamsn@protonmail.com's message of "Wed, 25 Sep 2024 00:17:50 +0000") Message-ID: References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <87ikultl1v.fsf@posteo.net> <2522160a-761c-4f23-a9c7-4740b49681f1@protonmail.com> Date: Tue, 24 Sep 2024 22:56:14 -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.165 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: -2.3 (--) X-Debbugs-Envelope-To: 73431 Cc: Philip Kaludercic , Nicolas Petton , 73431@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Currently, using `(setf (seq-elt STREAM 0) VAL)` silently fails, because > it treats the stream as a list, breaking the stream. Sounds like a bug, indeed. But I'd rather fix it by making it fail cleanly, to preserve the (current) immutability of streams (at least until we decide that there's a good reason for streams to be mutable). > On the desire for mutability, there is the included macro `stream-pop`. `stream-pop` does not mutate the stream. It only mutates a local variable (which holds a (reference to a) stream). Stefan From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 25 17:39:29 2024 Received: (at 73431) by debbugs.gnu.org; 25 Sep 2024 21:39:29 +0000 Received: from localhost ([127.0.0.1]:57381 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1stZjM-00047S-R6 for submit@debbugs.gnu.org; Wed, 25 Sep 2024 17:39:29 -0400 Received: from mout01.posteo.de ([185.67.36.65]:33413) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1stZjJ-00046x-V8 for 73431@debbugs.gnu.org; Wed, 25 Sep 2024 17:39:27 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 08830240027 for <73431@debbugs.gnu.org>; Wed, 25 Sep 2024 22:22:36 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1727295757; bh=FpN4S514WjsUz7krcE/MFCfs9zX1u8iPd/OwHR7YVZw=; h=From:To:Cc:Subject:Autocrypt:OpenPGP:Date:Message-ID:MIME-Version: Content-Type:From; b=n/sgTMl0jc0roEB+12LaKahdf6OK4a+mxBiZDe9OLviNTJ212/o1OPQDMEl19QbVv 7zKhGAlztQybIKKIhQx7W0UP+WcbvJabxOmoGrX8u0z+5ZunLCi9Qj+W2a9Xf++b84 DnS8CSoWzPk4PA/N1Mk03M2GtL6FW0uqpAwv+f6VXXorTw+cYHoDhRgP+sQihAGXn+ qBWktZoqKJFtnIdlk2PZowyUfkewtawcGsX4bQn1ADX6AqqdSd3hoKnqzlnWPEcXU1 9IzHvQ5vaZbxkF+/T4R9zM04GLhAHWwUsmbDfbvoyEkxI5eJfT8GCgq0GVwy0chaB4 bksFyBdKcn0+Q== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4XDSp34BKJz6tsb; Wed, 25 Sep 2024 22:22:35 +0200 (CEST) From: Philip Kaludercic To: Stefan Monnier Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA In-Reply-To: (Stefan Monnier's message of "Tue, 24 Sep 2024 22:56:14 -0400") References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <87ikultl1v.fsf@posteo.net> <2522160a-761c-4f23-a9c7-4740b49681f1@protonmail.com> Autocrypt: addr=philipk@posteo.net; keydata= mDMEZBBQQhYJKwYBBAHaRw8BAQdAHJuofBrfqFh12uQu0Yi7mrl525F28eTmwUDflFNmdui0QlBo aWxpcCBLYWx1ZGVyY2ljIChnZW5lcmF0ZWQgYnkgYXV0b2NyeXB0LmVsKSA8cGhpbGlwa0Bwb3N0 ZW8ubmV0PoiWBBMWCAA+FiEEDg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwMFCQHhM4AFCwkI BwIGFQoJCAsCBBYCAwECHgECF4AACgkQ8xYDWXahwulikAEA77hloUiSrXgFkUVJhlKBpLCHUjA0 mWZ9j9w5d08+jVwBAK6c4iGP7j+/PhbkxaEKa4V3MzIl7zJkcNNjHCXmvFcEuDgEZBBQQhIKKwYB BAGXVQEFAQEHQI5NLiLRjZy3OfSt1dhCmFyn+fN/QKELUYQetiaoe+MMAwEIB4h+BBgWCAAmFiEE Dg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwwFCQHhM4AACgkQ8xYDWXahwukm+wEA8cml4JpK NeAu65rg+auKrPOP6TP/4YWRCTIvuYDm0joBALw98AMz7/qMHvSCeU/hw9PL6u6R2EScxtpKnWof z4oM OpenPGP: id=philipk@posteo.net; url="https://keys.openpgp.org/vks/v1/by-email/philipk@posteo.net"; preference=signencrypt Date: Wed, 25 Sep 2024 20:22:35 +0000 Message-ID: <87o74bqy9g.fsf@posteo.net> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 73431 Cc: Okamsn , Nicolas Petton , 73431@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Stefan Monnier writes: >> Currently, using `(setf (seq-elt STREAM 0) VAL)` silently fails, because >> it treats the stream as a list, breaking the stream. > > Sounds like a bug, indeed. But I'd rather fix it by making it fail > cleanly, to preserve the (current) immutability of streams (at least > until we decide that there's a good reason for streams to be mutable). One exception to the immutability of stream might be buffers? Or at least it seems like something that would be useful to have. >> On the desire for mutability, there is the included macro `stream-pop`. > > `stream-pop` does not mutate the stream. It only mutates a local > variable (which holds a (reference to a) stream). > > > Stefan > -- Philip Kaludercic on siskin From debbugs-submit-bounces@debbugs.gnu.org Thu Sep 26 09:53:58 2024 Received: (at 73431) by debbugs.gnu.org; 26 Sep 2024 13:53:58 +0000 Received: from localhost ([127.0.0.1]:34325 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1stowM-0001LU-Dq for submit@debbugs.gnu.org; Thu, 26 Sep 2024 09:53:58 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:21889) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1stowK-0001Kj-IM for 73431@debbugs.gnu.org; Thu, 26 Sep 2024 09:53:53 -0400 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 3A25010005D; Thu, 26 Sep 2024 09:53:19 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1727358798; bh=fq6Z5AvzMLCPaGw3M7k7fggASrKoUwIBe+xKLMLo0hk=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=ReMHnzUmmyz0KBYMrKsY1tto9pGeUxRRD/ljSO7ECJy5IQCZl9xqZ3TIyfRnBpVT5 hod0/NOKbDDZZdWXFQTM06G6A6UQCoBc6NAwFDdFMvRvmghGU6I4IFzVv23BsY84d7 /ZzSYkBfWtcedKEiJWKZ4kVyBo76f4DH3P21aKVkpPAcD+n3b9EDPWzU2OcDCYYe67 2hQ4eSiszjXQz7nJMbWDrlcsruGiTQUm0CZaIFCw5LcRVzFuusLjbfbPSiRtf3e56o MSsGRiFt8kNJgokzD+CYRdunMdDPUenXGZsgOyXAgaS60Ebxl7tYELWBDqXuCk0CW0 7HR7J84nt9XJw== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 7E414100042; Thu, 26 Sep 2024 09:53:18 -0400 (EDT) Received: from pastel (unknown [216.154.18.220]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 5140012067A; Thu, 26 Sep 2024 09:53:18 -0400 (EDT) From: Stefan Monnier To: Philip Kaludercic Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA In-Reply-To: <87o74bqy9g.fsf@posteo.net> (Philip Kaludercic's message of "Wed, 25 Sep 2024 20:22:35 +0000") Message-ID: References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <87ikultl1v.fsf@posteo.net> <2522160a-761c-4f23-a9c7-4740b49681f1@protonmail.com> <87o74bqy9g.fsf@posteo.net> Date: Thu, 26 Sep 2024 09:53:16 -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.102 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: -2.3 (--) X-Debbugs-Envelope-To: 73431 Cc: Okamsn , Nicolas Petton , 73431@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) >> Sounds like a bug, indeed. But I'd rather fix it by making it fail >> cleanly, to preserve the (current) immutability of streams (at least >> until we decide that there's a good reason for streams to be mutable). > One exception to the immutability of stream might be buffers? Sorry, I don't follow. What do you mean by that? Stefan From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 27 11:12:32 2024 Received: (at 73431) by debbugs.gnu.org; 27 Sep 2024 15:12:32 +0000 Received: from localhost ([127.0.0.1]:38618 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1suCe0-0002M0-22 for submit@debbugs.gnu.org; Fri, 27 Sep 2024 11:12:32 -0400 Received: from mout02.posteo.de ([185.67.36.66]:53045) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1suCdx-0002Ki-Gv for 73431@debbugs.gnu.org; Fri, 27 Sep 2024 11:12:31 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 87DBE240103 for <73431@debbugs.gnu.org>; Fri, 27 Sep 2024 17:11:52 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1727449913; bh=2t2mE4VPQFKhub1/9iIe9F+Z3KfPa75BCsSLjXlqe4Q=; h=From:To:Cc:Subject:Autocrypt:OpenPGP:Date:Message-ID:MIME-Version: Content-Type:From; b=VwHNj8KVqykmOJYo7lno7vEKHRroSwFqdjc5D3za/KyDxGG3FYW4JbYMReSIEHPw0 exCQCz/1PGO9q40k2dwqFDbtsVU5C6ebVEAT1Y6oKTv3x33W7VpmJ1fXzEeN0S6Diw 7276L6okSeIIaPBusyJphNaNnYMHNzTV8BhUfoYKrDbOQ/FZcP+BoVPdKrWPR29PMh o91GtbvdoPPMHvrniH/6XCB/SiwoCMiRdcn3oN1pjOO8NzL8Iv6kAlqPOPSsC9Od7Q LecUldmWlxMRzQvXhU8C29Pu+lIvGE9OAoAxd8+oChT83NMUARqPjoZ3hZvDbXHuNw fp/gmGPRLQK7w== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4XFYpb5FyQz6twq; Fri, 27 Sep 2024 17:11:51 +0200 (CEST) From: Philip Kaludercic To: Stefan Monnier Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA In-Reply-To: (Stefan Monnier's message of "Thu, 26 Sep 2024 09:53:16 -0400") References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <87ikultl1v.fsf@posteo.net> <2522160a-761c-4f23-a9c7-4740b49681f1@protonmail.com> <87o74bqy9g.fsf@posteo.net> Autocrypt: addr=philipk@posteo.net; keydata= mDMEZBBQQhYJKwYBBAHaRw8BAQdAHJuofBrfqFh12uQu0Yi7mrl525F28eTmwUDflFNmdui0QlBo aWxpcCBLYWx1ZGVyY2ljIChnZW5lcmF0ZWQgYnkgYXV0b2NyeXB0LmVsKSA8cGhpbGlwa0Bwb3N0 ZW8ubmV0PoiWBBMWCAA+FiEEDg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwMFCQHhM4AFCwkI BwIGFQoJCAsCBBYCAwECHgECF4AACgkQ8xYDWXahwulikAEA77hloUiSrXgFkUVJhlKBpLCHUjA0 mWZ9j9w5d08+jVwBAK6c4iGP7j+/PhbkxaEKa4V3MzIl7zJkcNNjHCXmvFcEuDgEZBBQQhIKKwYB BAGXVQEFAQEHQI5NLiLRjZy3OfSt1dhCmFyn+fN/QKELUYQetiaoe+MMAwEIB4h+BBgWCAAmFiEE Dg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwwFCQHhM4AACgkQ8xYDWXahwukm+wEA8cml4JpK NeAu65rg+auKrPOP6TP/4YWRCTIvuYDm0joBALw98AMz7/qMHvSCeU/hw9PL6u6R2EScxtpKnWof z4oM OpenPGP: id=philipk@posteo.net; url="https://keys.openpgp.org/vks/v1/by-email/philipk@posteo.net"; preference=signencrypt Date: Fri, 27 Sep 2024 15:11:51 +0000 Message-ID: <87jzexqgg8.fsf@posteo.net> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 73431 Cc: Okamsn , Nicolas Petton , 73431@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Stefan Monnier writes: >>> Sounds like a bug, indeed. But I'd rather fix it by making it fail >>> cleanly, to preserve the (current) immutability of streams (at least >>> until we decide that there's a good reason for streams to be mutable). >> One exception to the immutability of stream might be buffers? > > Sorry, I don't follow. What do you mean by that? Using (stream (current-buffer)) i create a stream of things in the current buffer. E.g. using (seq-find (lambda (line) (and line (string-match-p "seq" line))) (stream (current-buffer) nil 'defun)) I can try to find the first top level definition that contains a substring (the need to check if the value is non-nil is a bit annoying). Being able to modify the head of a buffer-stream using setf seems like something that could be useful, and certainly more efficient than what many people want to do with splitting the return value of (buffer-string). -- Philip Kaludercic on siskin From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 27 12:14:49 2024 Received: (at 73431) by debbugs.gnu.org; 27 Sep 2024 16:14:49 +0000 Received: from localhost ([127.0.0.1]:40901 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1suDcH-0006MZ-5v for submit@debbugs.gnu.org; Fri, 27 Sep 2024 12:14:49 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:43915) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1suDcF-0006MC-7U for 73431@debbugs.gnu.org; Fri, 27 Sep 2024 12:14:48 -0400 Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 4006A44192C; Fri, 27 Sep 2024 12:14:11 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1727453650; bh=S4bkAe9/5rq0GkDjeh869ySOx3Q4AbzWj5r1xVbcKHM=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=leMplqgcZ68ASPvpwCHs6bZeB9qhGIAM8A2HOHnq8iRv7dKPelJ88W4DHKLEwleil W8V6LLoX3vdvB8kjunsZ5+3WIVY6GPQVOn5KAlo654HJWN8dNKrc5Wg0z/jmsnbcgi +lYF4k9urpiK2CKS3oGz2mviwA6Yv0OYrGXvxm5sjzwKAiCTW0c10dU9PlHuJMRiIQ 8iPijBXKhQcOkx/3OhL3qz/28pOtRkKRXvoF5hwIGRxnWzYYS0U8uwB8UaXUlgN3rF qC3TalqR8QXiauxSvVWpNDggQFwNdg668WRjOHgi/RibGqj/Yy7UTeZsYP0PpzSbX8 I7QuQ104XWT9w== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 37D6C4417B8; Fri, 27 Sep 2024 12:14:10 -0400 (EDT) Received: from alfajor (unknown [23.233.149.155]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 142611203AB; Fri, 27 Sep 2024 12:14:10 -0400 (EDT) From: Stefan Monnier To: Philip Kaludercic Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA In-Reply-To: <87jzexqgg8.fsf@posteo.net> (Philip Kaludercic's message of "Fri, 27 Sep 2024 15:11:51 +0000") Message-ID: References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <87ikultl1v.fsf@posteo.net> <2522160a-761c-4f23-a9c7-4740b49681f1@protonmail.com> <87o74bqy9g.fsf@posteo.net> <87jzexqgg8.fsf@posteo.net> Date: Fri, 27 Sep 2024 12:14:08 -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.160 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: -2.3 (--) X-Debbugs-Envelope-To: 73431 Cc: Okamsn , Nicolas Petton , 73431@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) >>>> Sounds like a bug, indeed. But I'd rather fix it by making it fail >>>> cleanly, to preserve the (current) immutability of streams (at least >>>> until we decide that there's a good reason for streams to be mutable). >>> One exception to the immutability of stream might be buffers? >> >> Sorry, I don't follow. What do you mean by that? > > Using (stream (current-buffer)) i create a stream of things in the > current buffer. E.g. using > > (seq-find > (lambda (line) > (and line (string-match-p "seq" line))) > (stream (current-buffer) nil 'defun)) > > I can try to find the first top level definition that contains a > substring (the need to check if the value is non-nil is a bit annoying). > > Being able to modify the head of a buffer-stream using setf seems like > something that could be useful, and certainly more efficient than what > many people want to do with splitting the return value of > (buffer-string). Ah, I see. From afar I can see why that could make sense. But I can't see how it can fit into the current `stream.el` API and the proposed `setf`: there is no infrastructure I can see to make it possible to keep the stream object in sync with modifications made to the buffer, nor to keep the buffer in sync with modifications made to the stream. Stefan From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 27 17:10:19 2024 Received: (at 73431) by debbugs.gnu.org; 27 Sep 2024 21:10:19 +0000 Received: from localhost ([127.0.0.1]:56842 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1suIEE-0002Ct-R9 for submit@debbugs.gnu.org; Fri, 27 Sep 2024 17:10:19 -0400 Received: from mout02.posteo.de ([185.67.36.66]:45297) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1suHXa-0007NM-Ep for 73431@debbugs.gnu.org; Fri, 27 Sep 2024 16:26:15 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 9AB7A240101 for <73431@debbugs.gnu.org>; Fri, 27 Sep 2024 22:08:13 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1727467693; bh=Cc1ZOfyEtAKpHLNT9HLxmRrobU5neQkCM/yhQlJRc2o=; h=From:To:Cc:Subject:Autocrypt:OpenPGP:Date:Message-ID:MIME-Version: Content-Type:From; b=H5lGFcsjmwzHzXqssVZioBo5S0xx2rOUblEdJuY5XHv03I7PfgeHQf3xaG/eaFEB4 0v64Tu9i9ayypZ0nUydvsxYGX52wUod+2cMY7STIs1DC7081cmpPOPBHlXOLmb2RTN hwUkJOusth/cZg0BSMyb9O6/mFDUTy6rwrNZcoHclzyBER2xmSTkOoMsMe7hCC5fE4 MsuFjqWyyhCuaaVx09XP6RR/VUFfASc/JrqhMIeUhPbj6EVZ4v9FDeFfg8XzR6/bKl I+wRI5Fxo8dEsFBnyRHHvLHC4sZu14iE1f/bIRVmF+jJPEk29aYhY63wYPQIP7Qo5+ B93lNfmIu242g== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4XFhNX3Kpcz6tvn; Fri, 27 Sep 2024 22:08:12 +0200 (CEST) From: Philip Kaludercic To: Stefan Monnier Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA In-Reply-To: (Stefan Monnier's message of "Fri, 27 Sep 2024 12:14:08 -0400") References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <87ikultl1v.fsf@posteo.net> <2522160a-761c-4f23-a9c7-4740b49681f1@protonmail.com> <87o74bqy9g.fsf@posteo.net> <87jzexqgg8.fsf@posteo.net> Autocrypt: addr=philipk@posteo.net; keydata= mDMEZBBQQhYJKwYBBAHaRw8BAQdAHJuofBrfqFh12uQu0Yi7mrl525F28eTmwUDflFNmdui0QlBo aWxpcCBLYWx1ZGVyY2ljIChnZW5lcmF0ZWQgYnkgYXV0b2NyeXB0LmVsKSA8cGhpbGlwa0Bwb3N0 ZW8ubmV0PoiWBBMWCAA+FiEEDg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwMFCQHhM4AFCwkI BwIGFQoJCAsCBBYCAwECHgECF4AACgkQ8xYDWXahwulikAEA77hloUiSrXgFkUVJhlKBpLCHUjA0 mWZ9j9w5d08+jVwBAK6c4iGP7j+/PhbkxaEKa4V3MzIl7zJkcNNjHCXmvFcEuDgEZBBQQhIKKwYB BAGXVQEFAQEHQI5NLiLRjZy3OfSt1dhCmFyn+fN/QKELUYQetiaoe+MMAwEIB4h+BBgWCAAmFiEE Dg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwwFCQHhM4AACgkQ8xYDWXahwukm+wEA8cml4JpK NeAu65rg+auKrPOP6TP/4YWRCTIvuYDm0joBALw98AMz7/qMHvSCeU/hw9PL6u6R2EScxtpKnWof z4oM OpenPGP: id=philipk@posteo.net; url="https://keys.openpgp.org/vks/v1/by-email/philipk@posteo.net"; preference=signencrypt Date: Fri, 27 Sep 2024 20:08:11 +0000 Message-ID: <87tte0q2qc.fsf@posteo.net> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 73431 Cc: Okamsn , Nicolas Petton , 73431@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Stefan Monnier writes: >>>>> Sounds like a bug, indeed. But I'd rather fix it by making it fail >>>>> cleanly, to preserve the (current) immutability of streams (at least >>>>> until we decide that there's a good reason for streams to be mutable). >>>> One exception to the immutability of stream might be buffers? >>> >>> Sorry, I don't follow. What do you mean by that? >> >> Using (stream (current-buffer)) i create a stream of things in the >> current buffer. E.g. using >> >> (seq-find >> (lambda (line) >> (and line (string-match-p "seq" line))) >> (stream (current-buffer) nil 'defun)) >> >> I can try to find the first top level definition that contains a >> substring (the need to check if the value is non-nil is a bit annoying). >> >> Being able to modify the head of a buffer-stream using setf seems like >> something that could be useful, and certainly more efficient than what >> many people want to do with splitting the return value of >> (buffer-string). > > Ah, I see. From afar I can see why that could make sense. > > But I can't see how it can fit into the current `stream.el` API and the > proposed `setf`: there is no infrastructure I can see to make it > possible to keep the stream object in sync with modifications made to > the buffer, nor to keep the buffer in sync with modifications made to > the stream. Yeah, looking at it again, I don't see an easy way around that either, so just disregard my comment. Returning back to the bug report, that means that we should probably just always handle setf'ing any element in a stream as an error, right? > > Stefan > -- Philip Kaludercic on siskin From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 27 17:10:20 2024 Received: (at 73431) by debbugs.gnu.org; 27 Sep 2024 21:10:20 +0000 Received: from localhost ([127.0.0.1]:56844 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1suIEF-0002Cw-St for submit@debbugs.gnu.org; Fri, 27 Sep 2024 17:10:20 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:27251) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1suHkl-0008Ip-Lr for 73431@debbugs.gnu.org; Fri, 27 Sep 2024 16:39:52 -0400 Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id E523B442101; Fri, 27 Sep 2024 16:39:15 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1727469555; bh=qE0f+bkH9oqZKEyrk1+eF/Msl3CZi5cU38FD8zpRVr8=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=BVcbCCLD/dZv8EWfRqbRIBrkj9P5fXgjEJ93IHhH9QYimexyPGhazn8JCLRPKir7Z 8NUCEXEvNdyOeZFX4rJ7PWqOT89crF1mN+tHO3MPzgbx39/Xsq8oA6UdcbfW4Qgtcs QGJ+HZVnAkxgqvbqxJmVJDH6jH8k+mu1KZpqqTIqio/LHAHWilemYB446l34Z7rOU1 AHcjsOxbLSwM/WtCH7IZnandTLzH/SDrjlvVG1ajo1IVFOS6Sw3W5//624rADGpPmB n4nuuLYv0SrH6v18Rqh1NJN4RIp9LQphn9DZQ6xpe77pS2D9oGIFLEzP4Kv2Jetimk HrNB6F7FVd95A== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 0EFCD441A0B; Fri, 27 Sep 2024 16:39:15 -0400 (EDT) Received: from pastel (unknown [216.154.18.220]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id D3A451205EF; Fri, 27 Sep 2024 16:39:14 -0400 (EDT) From: Stefan Monnier To: Philip Kaludercic Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA In-Reply-To: <87tte0q2qc.fsf@posteo.net> (Philip Kaludercic's message of "Fri, 27 Sep 2024 20:08:11 +0000") Message-ID: References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <87ikultl1v.fsf@posteo.net> <2522160a-761c-4f23-a9c7-4740b49681f1@protonmail.com> <87o74bqy9g.fsf@posteo.net> <87jzexqgg8.fsf@posteo.net> <87tte0q2qc.fsf@posteo.net> Date: Fri, 27 Sep 2024 16:39:12 -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.176 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: -2.3 (--) X-Debbugs-Envelope-To: 73431 Cc: Okamsn , Nicolas Petton , 73431@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Returning back to the bug report, that means that we should probably > just always handle setf'ing any element in a stream as an error, right? That's my opinion, at least, yes. Stefan From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 27 19:55:35 2024 Received: (at 73431) by debbugs.gnu.org; 27 Sep 2024 23:55:35 +0000 Received: from localhost ([127.0.0.1]:58214 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1suKoA-0003Dc-Ks for submit@debbugs.gnu.org; Fri, 27 Sep 2024 19:55:35 -0400 Received: from mout.web.de ([212.227.15.14]:58499) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1suKo7-0003BD-R8 for 73431@debbugs.gnu.org; Fri, 27 Sep 2024 19:55:32 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=web.de; s=s29768273; t=1727481287; x=1728086087; i=michael_heerdegen@web.de; bh=nvRsIG5FZt8YVusUiXec6MZgO5O2y426UUuETI6/UM8=; 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=hJ+JlBLGhuXdw5KAh4YvTyg/wt581x0AHT/9JSNE0nRbWks4CzZZqv/wKBiQxNTi rKy7rt5El2Jt1+4PqOaMBUWlVsxf4iL0fNnl05HBYrlfMO+IlolUaXHPGdqWuOpZZ 5k1auZiJRctV/R0FZrocV/RoWq72UnOv+6du/7xm8dlurwTCq5xF1ZW8QJLY95n2C wjVudluNLXsRZx7xaPPUU0bpbhQXbVhQ5C1XGRL3y+sVQwCww3+NkdbJx9who0Cvu EOiDhdZazD2bat2Q/RW/ibFo5wRKp41+c4ZeHkJ1n5jRBqb4V+RnvCY/QcVnicTku yUnAzdBqPGy9BmhABw== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Received: from drachen.dragon ([92.75.138.227]) by smtp.web.de (mrweb005 [213.165.67.108]) with ESMTPSA (Nemesis) id 1MiMAE-1sFEsz0wFC-00dqtP; Sat, 28 Sep 2024 01:54:47 +0200 From: Michael Heerdegen To: Philip Kaludercic Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA In-Reply-To: <87jzexqgg8.fsf@posteo.net> (Philip Kaludercic's message of "Fri, 27 Sep 2024 15:11:51 +0000") References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <87ikultl1v.fsf@posteo.net> <2522160a-761c-4f23-a9c7-4740b49681f1@protonmail.com> <87o74bqy9g.fsf@posteo.net> <87jzexqgg8.fsf@posteo.net> User-Agent: Gnus/5.13 (Gnus v5.13) Date: Sat, 28 Sep 2024 01:55:43 +0200 Message-ID: <87bk08odmo.fsf@web.de> MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:DFjvEtOY53JKWGcXiOy9ZhSZodWq4Ipu0HSzseEcyLqeb3z5PC0 G69wOq0NktKpzWM32WwetPVy51CDoX8HUKgS/qiDha4MqljoZSgbr3rZideiydfYvB53adw tiYrs/NQVSdZkpdveW4XVo+CpSdbc63sqlmcO4iO3tdCnQqBbFn3GuqYeavCVl2LuH9ctXn 8GAUQcWH5GLdL+dkyaT9w== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:pmwqtcd8nNQ=;opcF7dPYxH0re0PTrgWPVSh4b+9 guhNBuGk2AB3k+OOn/9/kjerJbEURSAkilR1VU7Yyc/XJjKdCXv0EX3BqB++wpCItRb0Yo1dd 7QZ+q8qmLfeE2XarkxA7kBwmXE74D0hX8HC9QtYrTRZHoL+WFDfYDGBMjIvcAkTohgQPia+r5 Uwpg/yNpHiLAOw/Y/DJDIyk04/XJkN/EmVxPq5ZJ+Hs2WjwYNmUuso/Mdnu/63WqDmLp2IFVs KXZmmq5vc520Bwjlm8TL0ZBse/MVV6OxBNjK4RCLXEwGUo+d4Zg2EGiG/RbTns10sks2M/47r al/asOKHJnjP7ol2VdsyWBxtbyXZlSLlfORoY7afM48SfdAwSxGfY5x5ifU87eWjDvxZOhCsV 9wnFJvWGeDcbLLjfkVynae+fVp+yOh0GYr3oWNcNZJoQzq9WP3IR8J7rXj/kAT0Q7oVtBvytL 9Ba+pQ1h6RX55+JoAxCTShExODrUDyelRs0BicezFU7b24TYHLy/jwCSn1c6nHF8K2XbF3fVb la+uIjqYimLM/iGryDwx/btg8FitR3lS8beo2jWg41MVxA95wwJMD6t/l6IdaQzDLOr/RFhyE OopkOnNaw2YsietDETWpoi5gYIQR96Mkum/WtfvXXeWW6Far1awjVDq4uYhGci43YnJ0jDFm9 CQQi6zaQsgdj1nWG6Q9/cRFO1/UWVUPzsWEl8RKmDvVrLtW8nslTIAqpBA5w66Buk6SuVi8XQ hwq3IYvFtxU7Z2i4lhPic/12OoafNxMTvLLJkHam9x8sfT0PS9wcBYxG+yuRBRWJkbjxXUHTK mam2cuheLJtwRZ+GTjA8TJMg== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 73431 Cc: Okamsn , Nicolas Petton , Stefan Monnier , 73431@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hi, I agree to what Stefan is saying. Philip Kaludercic writes: > Being able to modify the head of a buffer-stream using setf seems like > something that could be useful, and certainly more efficient than what > many people want to do with splitting the return value of > (buffer-string). AFAIK, what you normally do in this situation is creating a new stream reusing the tail of the given one, like in this toy example: #+begin_src emacs-lisp (cl-labels ((integers (&optional from) (let ((from (or from 1))) (stream-cons from (integers (1+ from)))))) (let ((my-natural-numbers (integers 1))) ;a stream of the natural numbers: 1, 2, ... (let ((my-natural-numbers-with-head-replaced ;let's "replace" the first element: (stream-cons 'not-1 (stream-rest my-natural-numbers)))) ;; Test: what are the first 10 elements of this second stream? (seq-into (seq-subseq my-natural-numbers-with-head-replaced 0 10) 'list)))) #+end_src Modifying elements later in the stream conflicts a bit with the idea of a delayed data structure. The above idea can be modified to work in this case too, though. Creating a new stream even makes more transparent what is going on... I don't want to tell anybody how to work with these guys, but that's how I learned it at university. In typical scenarios the elements before the one to change already have been processed and been thrown away, and the element you actually are interested in is the head element most of the time. Like for a queue. For buffer contents listing streams I could imagine that one could make such a thing invalidate itself when the buffer has been modified; like here [I only added few lines to the (stream ((buffer buffer) &optional pos)) implementation]: #+begin_src emacs-lisp (cl-defmethod my-buffer-chars (buffer &optional pos) (let ((mods (buffer-modified-tick))) ; added (with-current-buffer buffer (unless pos (setq pos (point-min))) (if (>= pos (point-max)) (stream-empty)) (stream-cons (with-current-buffer buffer (save-excursion (save-restriction (widen) (goto-char pos) (char-after (point))))) (if (not (eq mods (buffer-modified-tick))) ; added (error "Buffer has been modified") ; added (my-buffer-chars buffer (1+ pos))))))) #+end_src Already generated elements normally can't "invalidate themselves", unless you make them functions. But a whole stream that regenerates or recomputes itself doesn't seem natural to me. You would rather check whether the stream is still valid _explicitly_ - and if not, just call the function that returned that stream (most of the time a named function, like above) again to create a new stream - in the above example, possibly with an adopted POS argument. My two cents. Michael. From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 27 23:08:58 2024 Received: (at 73431) by debbugs.gnu.org; 28 Sep 2024 03:08:58 +0000 Received: from localhost ([127.0.0.1]:38247 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1suNpK-0007ai-HF for submit@debbugs.gnu.org; Fri, 27 Sep 2024 23:08:58 -0400 Received: from mail-40134.protonmail.ch ([185.70.40.134]:19227) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1suNpI-0007aL-0N for 73431@debbugs.gnu.org; Fri, 27 Sep 2024 23:08:57 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1727492899; x=1727752099; bh=QbFIUgA+nBFyHFyN3bjUPWpxRoJSwGuXuN19nlM2MDE=; 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=qpoKqpWfrEjKhnaPCpEIA4+Tqe76gY565SQbimqt3Y9W/2O8G9lJ19U6r9SmHW7kU zGRFCSxH+hBRTWtqOY9982eZByWNuEfwKrpCBRGGDqYGxlkdlD0PLtigv5nwcQwZPl UdBbv0cyBW3nlejf366crmHX62mukskhB5VcKwH1IJiugGx0av98u7OfMdFa9gfEJp 1qdCrEp8L7RoLjsjmFeqYgd41BZrU/LD8Yv3Ik9CUrMzY1eq8L1+E9eLrS5wJ0mDAd Rwl6LWSSe9puamXRrmG1roVwFN5UfRMFa5thAgWLaS3pu0D9F39pUe7h7LkvfiWh/w 5jl4buGLBPgcQ== Date: Sat, 28 Sep 2024 03:08:16 +0000 To: Stefan Monnier , Philip Kaludercic From: Okamsn Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA Message-ID: <068ecfc3-b452-49a8-89bb-f42012aea5d4@protonmail.com> In-Reply-To: References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <2522160a-761c-4f23-a9c7-4740b49681f1@protonmail.com> <87o74bqy9g.fsf@posteo.net> <87jzexqgg8.fsf@posteo.net> <87tte0q2qc.fsf@posteo.net> Feedback-ID: 25935600:user:proton X-Pm-Message-ID: 2486b636ecbe29d6afd801cc64d1fba51d960fa5 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 73431 Cc: Nicolas Petton , 73431@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Stefan Monnier wrote: >> Returning back to the bug report, that means that we should probably >> just always handle setf'ing any element in a stream as an error, right? >=20 > That's my opinion, at least, yes. >=20 >=20 > Stefan >=20 Hello, Related to my first message, is there a general way to make streams not=20 confused with lists? I am going through the other features in `seq.el`,=20 and I have seen that `seq-sort` is also broken for streams, because=20 someone added a special implementation for lists. It looks like every=20 time someone improves the situation for lists by adding a specialized=20 method, that could break the feature for streams if a specialized method=20 for streams isn't also added. Is there a major downside to using `cl-defstruct` to define a stream? Thank you. From debbugs-submit-bounces@debbugs.gnu.org Sat Sep 28 11:25:14 2024 Received: (at 73431) by debbugs.gnu.org; 28 Sep 2024 15:25:15 +0000 Received: from localhost ([127.0.0.1]:36184 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1suZJq-00074y-3Y for submit@debbugs.gnu.org; Sat, 28 Sep 2024 11:25:14 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:47082) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1suZ2G-0005pK-Dr for 73431@debbugs.gnu.org; Sat, 28 Sep 2024 11:07:04 -0400 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id C3911100046; Sat, 28 Sep 2024 10:57:20 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1727535440; bh=NYxFj04/eVxDo+JHvzuSOz+YSYo9Vli8lIjQNWlwTEc=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=QLAw2tca3MZm0S2ucXzbgV9zLooT9IF5JneCorBPYdbfTQgy0zmTT7ejaMQ5LCIXi 3Anqhp2PX/Sj/rUeooCcUdDExbnjS84DR/IVHxQF6mDm8GB3H8fOlKcSQm9+svZL40 VE72zkPKySDrchj+9V/tj2q1bS+UMj6d5V59oLIFR+3Bp8JY9Y47UKAb17CMhqyDeV /+q5t8nSFcFbLv02Lyccxjl8Lm0hOeDTUipyZmcv0s4tO1nQrN7zu3gry5gPzrZXiS 5kTmgbW8q1evOH2IIolWypOhepK7frdDN0FbIyu8u/NH1I8JzfWldMOTUEDiUx3lzf 841HJnqlZ7L6A== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 14E2D100042; Sat, 28 Sep 2024 10:57:20 -0400 (EDT) Received: from pastel (unknown [216.154.18.220]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id BF1721202CB; Sat, 28 Sep 2024 10:57:19 -0400 (EDT) From: Stefan Monnier To: Okamsn Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA In-Reply-To: <068ecfc3-b452-49a8-89bb-f42012aea5d4@protonmail.com> (okamsn@protonmail.com's message of "Sat, 28 Sep 2024 03:08:16 +0000") Message-ID: References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <2522160a-761c-4f23-a9c7-4740b49681f1@protonmail.com> <87o74bqy9g.fsf@posteo.net> <87jzexqgg8.fsf@posteo.net> <87tte0q2qc.fsf@posteo.net> <068ecfc3-b452-49a8-89bb-f42012aea5d4@protonmail.com> Date: Sat, 28 Sep 2024 10:57:18 -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.089 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: -2.3 (--) X-Debbugs-Envelope-To: 73431 Cc: Philip Kaludercic , Nicolas Petton , 73431@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Is there a major downside to using `cl-defstruct` to define a stream? Probably not major, no. Beware: it'll come with several upsides, tho. Stefan From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 29 15:31:30 2024 Received: (at 73431) by debbugs.gnu.org; 29 Sep 2024 19:31:30 +0000 Received: from localhost ([127.0.0.1]:41890 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1suzdh-0006r6-HW for submit@debbugs.gnu.org; Sun, 29 Sep 2024 15:31:30 -0400 Received: from mail-4322.protonmail.ch ([185.70.43.22]:24907) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1suzde-0006qe-Cd for 73431@debbugs.gnu.org; Sun, 29 Sep 2024 15:31:28 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1727638247; x=1727897447; bh=x5aj7DMx8ES/OSKB7nFAERGkmLgx8l9O1foWW/MxyCc=; 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=JbvzPLMA74CdneCc+o93Wwm+u3/cQT7/ESWi9Pd28x1B8opwB0VrM8igAzTjujpwC I+aiobTonfYmBGosZIf/UpwTi21vPtm6ExGwdpF2fPr2Qx0wuqSrcbijJ88tsby7iB Omzhrqi6heVk2AnQEC5dklK47JfXT+Qb6wj7CJ4Aa0G82UR/gn31QB2pfON/XZSnot P9QsQvNKND2Bcs9QGdB8hXsbnE3w8TaU7Ox9IXwv8ph+Qvon0hL+OmoSjl//I3ny21 DLE5xYSyfN4aEfm+bivD5AryP0HruP3+d91rc5bxDiAnCRfRZRMjhRoH3muyzcrjmd tZ1m5wVO/m+ew== Date: Sun, 29 Sep 2024 19:30:42 +0000 To: Stefan Monnier From: Okamsn Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA Message-ID: <6caa1395-a3b2-4e70-b905-1cbfee0f92bd@protonmail.com> In-Reply-To: References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <87o74bqy9g.fsf@posteo.net> <87jzexqgg8.fsf@posteo.net> <87tte0q2qc.fsf@posteo.net> <068ecfc3-b452-49a8-89bb-f42012aea5d4@protonmail.com> Feedback-ID: 25935600:user:proton X-Pm-Message-ID: 438d798323414d032c1de058de29abbaad9c2276 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_guz4NsQFJkSIIMcYkRFzKmQJDI1T0paKBWCV3Zw0" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 73431 Cc: Philip Kaludercic , Nicolas Petton , 73431@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --b1_guz4NsQFJkSIIMcYkRFzKmQJDI1T0paKBWCV3Zw0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Stefan Monnier wrote: >> Is there a major downside to using `cl-defstruct` to define a stream? >=20 > Probably not major, no. Beware: it'll come with several upsides, tho. >=20 >=20 > Stefan >=20 Hello, Please see the attached file. It changes streams to be structs, warns=20 that streams are not mutable, adds a creation method for arrays that=20 doesn't create intermediate sub-arrays, and adds some methods for=20 streams for more of the seq.el functions. Please let me know what you would like changed. Thank you. --b1_guz4NsQFJkSIIMcYkRFzKmQJDI1T0paKBWCV3Zw0 Content-Type: text/x-patch; charset=UTF-8; name=0001-Change-stream.el-to-use-structs-instead-of-cons-cell.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=0001-Change-stream.el-to-use-structs-instead-of-cons-cell.patch RnJvbSBkYjNlYmY3ODE2N2JmMDJiNzhlOTg2NTcyMWY1YjI0MDk4MjM5NGNhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBFYXJsIEh5YXR0IDxva2Ftc25AcHJvdG9ubWFpbC5jb20+CkRh dGU6IFNhdCwgMjggU2VwIDIwMjQgMTU6MDk6MTAgLTA0MDAKU3ViamVjdDogW1BBVENIXSBDaGFu Z2UgJ3N0cmVhbS5lbCcgdG8gdXNlIHN0cnVjdHMgaW5zdGVhZCBvZiBjb25zIGNlbGxzLiAKIFVw ZGF0ZSBmZWF0dXJlcy4KCiogc3RyZWFtLmVsIChzdHJlYW0pOiBEZWZpbmUgdGhlIHN0cnVjdHVy ZSB1c2luZyAnY2wtZGVmc3RydWN0Jy4KCiogc3RyZWFtLmVsIChzdHJlYW0tbWFrZSk6IENoYW5n ZSB0byB1c2UgbmV3IHN0cnVjdHVyZSBjb25zdHJ1Y3Rvcgonc3RyZWFtLS1tYWtlLXN0cmVhbScu CgoqIHN0cmVhbS5lbCAoc3RyZWFtLS1mb3JjZSwgc3RyZWFtLWZpcnN0LCBzdHJlYW0tcmVzdCkK KHN0cmVhbS1lbXB0eSwgc3RyZWFtLWVtcHR5LXApOiBSZWRlZmluZSB0byB1c2Ugc3RydWN0dXJl IHNsb3RzLiAgTW92ZQp0byBiZSBjbG9zZXIgdG8gdGhlIHN0cnVjdHVyZSBkZWZpbml0aW9uLgoK KiBzdHJlYW0uZWwgKHN0cmVhbS1maXJzdCwgc3RyZWFtLXJlc3QpOiBTaWduYWwgYW4gZXJyb3Ig d2hlbiB0cnlpbmcgdG8gdXNlCnRoZXNlIGZ1bmN0aW9ucyBhcyBwbGFjZXMgZm9yICdzZXRmJy4K Ciogc3RyZWFtLmVsIChzdHJlYW0tLWZyZXNoLWlkZW50aWZpZXIsIHN0cmVhbS0tZXZhbGQtaWRl bnRpZmllcik6ClJlbW92ZSBub3cgdW51c2VkIGRlZmluaXRpb25zLgoKKiBzdHJlYW0uZWwgKHN0 cmVhbSk6IEFkZCBhIG1ldGhvZCB0aGF0IGFjY2VwdHMgYSBzdHJlYW0sIHJldHVybmluZyBpdAp1 bm1vZGlmaWVkLiAgVGhpcyBtYWtlcyBtYXBwaW5nIGFjcm9zcyBtdWx0aXBsZSBzZXF1ZW5jZXMg ZWFzaWVyLgoKKiBzdHJlYW0uZWwgKHN0cmVhbSk6IEFkZCBhIG1ldGhvZCB0aGF0IGFjY2VwdHMg YW4gYXJyYXkgYW5kIHdoaWNoIGRvZXMgbm90CmNyZWF0ZSBzdWItc2VxdWVuY2VzIG9mIHRoZSBh cnJheSwgdW5saWtlIHRoZSBpbXBsZW1lbnRhdGlvbiBmb3IgZ2VuZXJpYwpzZXF1ZW5jZXMuICBU aGlzIGlzIGEgYml0IGZhc3RlciBhbmQgaXMgYSBnb29kIGV4YW1wbGUgb2YgYSBjdXN0b20gdXBk YXRlcgpmdW5jdGlvbi4KCiogc3RyZWFtLmVsIChzdHJlYW0tLWdlbmVyYWxpemVyLCBjbC1nZW5l cmljLWdlbmVyYWxpemVycyk6IFJlbW92ZQp0aGVzZSBzcGVjaWFsaXplcnMgZnJvbSB0aGUgb2xk LCBjb25zLWJhc2VkIGltcGxlbWVudGF0aW9uLgoKKiBzdHJlYW0uZWwgKHNlcS1lbHQpOiBTaWdu YWwgYW4gZXJyb3Igd2hlbiB0cnlpbmcgdG8gdXNlIHRoaXMgZnVuY3Rpb24gYXMgYQpwbGFjZSBm b3IgJ3NldGYnLgoKKiBzdHJlYW0uZWwgKHNlcS1zb3J0LCBzZXEtcmV2ZXJzZSwgc2VxLWNvbmNh dGVuYXRlLCBzZXEtcmVtb3ZlLWF0LXBvc2l0aW9uKToKQWRkIG1ldGhvZHMgdGhhdCBkaWQgbm90 IHdvcmsgYXMgZXhwZWN0ZWQgd2l0aCB0aGUgZ2VuZXJpYyBpbXBsZW1lbnRhdGlvbi4KCiogdGVz dHMvc3RyZWFtLXRlc3RzLmVsIChzdHJlYW0tc2VxLXNvcnQtdGVzdCwgc3RyZWFtLXNlcS1yZXZl cnNlLXRlc3QpCihzdHJlYW0tc2VxLWNvbmNhdGVuYXRlLXRlc3QsIHN0cmVhbS1zZXEtbWFwY2F0 LXRlc3QpCihzdHJlYW0tc2VxLXJlbW92ZS1hdC1wb3NpdGlvbiwgc3RyZWFtLWFycmF5LXRlc3Qp OiBBZGQgdGVzdHMgZm9yIHRoZXNlCmZlYXR1cmVzLgoKKiB0ZXN0cy9zdHJlYW0tdGVzdHMuZWw6 IFRlc3QgdGhhdCBldmFsdWF0aW9uIGlzIGRlbGF5ZWQgZm9yCnNlcS1kcm9wLXdoaWxlLCBzZXEt cmVtb3ZlLWF0LXBvc2l0aW9uLCBhbmQgc2VxLXNvcnQKdXNpbmcgZGVmdGVzdC1mb3ItZGVsYXll ZC1ldmFsdWF0aW9uLgotLS0KIHN0cmVhbS5lbCAgICAgICAgICAgICB8IDI0OCArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0KIHRlc3RzL3N0cmVhbS10ZXN0cy5lbCB8 ICA0NCArKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCAyMjkgaW5zZXJ0aW9ucygrKSwgNjMgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3RyZWFtLmVsIGIvc3RyZWFtLmVsCmluZGV4IDcxMzVl ZTAuLjFhMjZjODEgMTAwNjQ0Ci0tLSBhL3N0cmVhbS5lbAorKysgYi9zdHJlYW0uZWwKQEAgLTY2 LDM2ICs2NiwxMjggQEAKIChldmFsLXdoZW4tY29tcGlsZSAocmVxdWlyZSAnY2wtbGliKSkKIChy ZXF1aXJlICdzZXEpCiAKLShldmFsLWFuZC1jb21waWxlCi0gIChkZWZjb25zdCBzdHJlYW0tLWZy ZXNoLWlkZW50aWZpZXIgJy0tc3RyZWFtLWZyZXNoLS0KLSAgICAiU3ltYm9sIGludGVybmFsbHkg dXNlZCB0byBzdHJlYW1zIHdob3NlIGhlYWQgd2FzIG5vdCBldmFsdWF0ZWQuIikKLSAgKGRlZmNv bnN0IHN0cmVhbS0tZXZhbGQtaWRlbnRpZmllciAnLS1zdHJlYW0tZXZhbGQtLQotICAgICJTeW1i b2wgaW50ZXJuYWxseSB1c2VkIHRvIHN0cmVhbXMgd2hvc2UgaGVhZCB3YXMgZXZhbHVhdGVkLiIp KQorKGNsLWRlZnN0cnVjdCAoc3RyZWFtICg6Y29uc3RydWN0b3Igc3RyZWFtLS1tYWtlLXN0cmVh bSkKKyAgICAgICAgICAgICAgICAgICAgICAoOnByZWRpY2F0ZSBzdHJlYW1wKQorICAgICAgICAg ICAgICAgICAgICAgIDpuYW1lZCkKKworICAiQSBsYXppbHkgZXZhbHVhdGVkIHNlcXVlbmNlLCBj b21wYXRpYmxlIHdpdGggdGhlIGBzZXEnIGxpYnJhcnkncyBmdW5jdGlvbnMuIgorCisgIChldmFs dWF0ZWQtLWludGVybmFsCisgICBuaWwKKyAgIDp0eXBlIGJvb2xlYW4KKyAgIDpkb2N1bWVudGF0 aW9uICJXaGV0aGVyIHRoZSBoZWFkIGFuZCB0YWlsIG9mIHRoZSBzdHJlYW0gYXJlIGFjY2Vzc2li bGUuCisKK1RoaXMgdmFsdWUgaXMgc2V0IHRvIHQgdmlhIHRoZSBmdW5jdGlvbiBgc3RyZWFtLS1m b3JjZScgYWZ0ZXIgaXQKK2NhbGxzIHRoZSB1cGRhdGVyIGZ1bmN0aW9uLiIpCisKKyAgKGZpcnN0 LS1pbnRlcm5hbAorICAgbmlsCisgICA6dHlwZSAob3IgdCBudWxsKQorICAgOmRvY3VtZW50YXRp b24gIlRoZSBmaXJzdCBlbGVtZW50IG9mIHRoZSBzdHJlYW0uIikKKworICAocmVzdC0taW50ZXJu YWwKKyAgIG5pbAorICAgOnR5cGUgKG9yIHN0cmVhbSBudWxsKQorICAgOmRvY3VtZW50YXRpb24g IlRoZSByZXN0IG9mIHRoZSBzdHJlYW0sIHdoaWNoIGlzIGl0c2VsZiBhIHN0cmVhbS4iKQorCisg IChlbXB0eS0taW50ZXJuYWwKKyAgIG5pbAorICAgOnR5cGUgYm9vbGVhbgorICAgOmRvY3VtZW50 YXRpb24gIldoZXRoZXIgdGhlIGV2YWx1YXRlZCBzdHJlYW0gaXMgZW1wdHkuCisKK0Egc3RyZWFt IGlzIGVtcHR5IGlmIHRoZSB1cGRhdGVyIGZ1bmN0aW9uIHJldHVybnMgbmlsIHdoZW4KK2BzdHJl YW0tLWZvcmNlJyBldmFsdWF0ZXMgdGhlIHN0cmVhbS4iKQorCisgICh1cGRhdGVyLS1pbnRlcm5h bAorICAgbmlsCisgICA6dHlwZSAob3IgZnVuY3Rpb24gbnVsbCkKKyAgIDpkb2N1bWVudGF0aW9u ICJGdW5jdGlvbiB0aGF0IHJldHVybnMgdGhlIGhlYWQgYW5kIHRhaWwgb2YgdGhlIHN0cmVhbSB3 aGVuIGNhbGxlZC4KKworVGhlIHVwZGF0ZXIgZnVuY3Rpb24gcmV0dXJucyB0aGUgaGVhZCBhbmQg dGFpbCBpbiBhIGNvbnMgY2VsbC4KK0lmIGl0IHJldHVybnMgbmlsLCB0aGVuIHRoZSBzdHJlYW0g aXMgZW1wdHkgYW5kIGBlbXB0eS0taW50ZXJuYWwnIGlzCitzZXQgdG8gdC4gIEFmdGVyIHRoaXMg ZnVuY3Rpb24gaXMgY2FsbGVkLCBhc3N1bWluZyBubyBlcnJvcnMgd2VyZSBzaWduYWxlZCwKK2Bl dmFsdWF0ZWQtLWludGVybmFsJyBpcyBzZXQgdG8gdC4KKworSW4gdGhlIGNhc2Ugb2YgdGhlIGNh bm9uaWNhbCBlbXB0eSBzdHJlYW0gKHNlZSB0aGUgdmFyaWFibGUgYHN0cmVhbS1lbXB0eScpLAor dGhpcyBzbG90IGlzIG5pbC4iKSkKKworKGRlZnVuIHN0cmVhbS0tZm9yY2UgKHN0cmVhbSkKKyAg IkV2YWx1YXRlIGFuZCByZXR1cm4gdGhlIFNUUkVBTS4KKworSWYgdGhlIG91dHB1dCBvZiB0aGUg dXBkYXRlciBmdW5jdGlvbiBpcyBuaWwsIHRoZW4gU1RSRUFNIGlzCittYXJrZWQgYXMgZW1wdHku ICBPdGhlcndpc2UsIHRoZSBvdXRwdXQgb2YgdGhlIHVwZGF0ZXIgZnVuY3Rpb24KK2lzIHVzZWQg dG8gc2V0IHRoZSBoZWFkIGFuZCB0aGUgdGFpbCBvZiB0aGUgc3RyZWFtLiIKKyAgKGlmIChzdHJl YW0tZXZhbHVhdGVkLS1pbnRlcm5hbCBzdHJlYW0pCisgICAgICBzdHJlYW0KKyAgICAocGNhc2Ug KGZ1bmNhbGwgKHN0cmVhbS11cGRhdGVyLS1pbnRlcm5hbCBzdHJlYW0pKQorICAgICAgKGAoLGhl YWQgLiAsdGFpbCkKKyAgICAgICAoc2V0ZiAoc3RyZWFtLWZpcnN0LS1pbnRlcm5hbCBzdHJlYW0p IGhlYWQKKyAgICAgICAgICAgICAoc3RyZWFtLXJlc3QtLWludGVybmFsIHN0cmVhbSkgdGFpbCkp CisgICAgICAoKHByZWQgbnVsbCkKKyAgICAgICAoc2V0ZiAoc3RyZWFtLWVtcHR5LS1pbnRlcm5h bCBzdHJlYW0pIHQpKQorICAgICAgKGJhZC1vdXRwdXQKKyAgICAgICAoZXJyb3IgIkJhZCBvdXRw dXQgZnJvbSBzdHJlYW0gdXBkYXRlcjogJXMiCisgICAgICAgICAgICAgIGJhZC1vdXRwdXQpKSkK KyAgICAoc2V0ZiAoc3RyZWFtLWV2YWx1YXRlZC0taW50ZXJuYWwgc3RyZWFtKSB0KQorICAgIHN0 cmVhbSkpCiAKIChkZWZtYWNybyBzdHJlYW0tbWFrZSAoJnJlc3QgYm9keSkKICAgIlJldHVybiBh IHN0cmVhbSBidWlsdCBmcm9tIEJPRFkuCi1CT0RZIG11c3QgcmV0dXJuIG5pbCBvciBhIGNvbnMg Y2VsbCB3aG9zZSBjZHIgaXMgaXRzZWxmIGEKLXN0cmVhbS4iCi0gIChkZWNsYXJlIChkZWJ1ZyB0 KSkKLSAgYChjb25zICcsc3RyZWFtLS1mcmVzaC1pZGVudGlmaWVyIChsYW1iZGEgKCkgLEBib2R5 KSkpCiAKLShkZWZ1biBzdHJlYW0tLWZvcmNlIChzdHJlYW0pCi0gICJFdmFsdWF0ZSBhbmQgcmV0 dXJuIHRoZSBmaXJzdCBjb25zIGNlbGwgb2YgU1RSRUFNLgotVGhhdCB2YWx1ZSBpcyB0aGUgb25l IHBhc3NlZCB0byBgc3RyZWFtLW1ha2UnLiIKLSAgKGNvbmQKLSAgICgoZXEgKGNhci1zYWZlIHN0 cmVhbSkgc3RyZWFtLS1ldmFsZC1pZGVudGlmaWVyKQotICAgIChjZHIgc3RyZWFtKSkKLSAgICgo ZXEgKGNhci1zYWZlIHN0cmVhbSkgc3RyZWFtLS1mcmVzaC1pZGVudGlmaWVyKQotICAgIChwcm9n MSAoc2V0ZiAoY2RyIHN0cmVhbSkgKGZ1bmNhbGwgKGNkciBzdHJlYW0pKSkKLSAgICAgIDs7IGlk ZW50aWZpZXIgaXMgb25seSB1cGRhdGVkIHdoZW4gZm9yY2luZyBkaWRuJ3QgZXhpdCBub25sb2Nh bGx5Ci0gICAgICAoc2V0ZiAoY2FyIHN0cmVhbSkgc3RyZWFtLS1ldmFsZC1pZGVudGlmaWVyKSkp Ci0gICAodCAoc2lnbmFsICd3cm9uZy10eXBlLWFyZ3VtZW50IChsaXN0ICdzdHJlYW1wIHN0cmVh bSkpKSkpCitCT0RZIG11c3QgcmV0dXJuIGEgY29ucyBjZWxsIHdob3NlIGNhciB3b3VsZCBiZSB0 aGUgaGVhZCBvZiBhCitzdHJlYW0gYW5kIHdob3NlIGNkciB3b3VsZCBiZSB0aGUgdGFpbCBvZiBh IHN0cmVhbS4gIFRoZSBjZHIgbXVzdAorYmUgYSBzdHJlYW0gaXRzZWxmIGluIG9yZGVyIHRvIGJl IGEgdmFsaWQgdGFpbC4gIEFsdGVybmF0aXZlbHksCitCT0RZIG1heSByZXR1cm4gbmlsLCBpbiB3 aGljaCBjYXNlIHRoZSBzdHJlYW0gaXMgbWFya2VkIGVtcHR5Cit3aGVuIHRoZSBzdHJlYW0gaXMg ZXZhbHVhdGVkLiIKKyAgKGRlY2xhcmUgKGRlYnVnIHQpKQorICBgKHN0cmVhbS0tbWFrZS1zdHJl YW0gOmV2YWx1YXRlZC0taW50ZXJuYWwgbmlsCisgICAgICAgICAgICAgICAgICAgICAgICA6dXBk YXRlci0taW50ZXJuYWwgKGxhbWJkYSAoKSAsQGJvZHkpKSkKIAogKGRlZm1hY3JvIHN0cmVhbS1j b25zIChmaXJzdCByZXN0KQogICAiUmV0dXJuIGEgc3RyZWFtIGJ1aWx0IGZyb20gdGhlIGNvbnMg b2YgRklSU1QgYW5kIFJFU1QuCi1GSVJTVCBhbmQgUkVTVCBhcmUgZm9ybXMgYW5kIFJFU1QgbXVz dCByZXR1cm4gYSBzdHJlYW0uIgorCitGSVJTVCBhbmQgUkVTVCBhcmUgZm9ybXMuICBSRVNUIG11 c3QgcmV0dXJuIGEgc3RyZWFtLiIKICAgKGRlY2xhcmUgKGRlYnVnIHQpKQogICBgKHN0cmVhbS1t YWtlIChjb25zICxmaXJzdCAscmVzdCkpKQorCisoZGVmY29uc3Qgc3RyZWFtLWVtcHR5CisgIChz dHJlYW0tLW1ha2Utc3RyZWFtIDpldmFsdWF0ZWQtLWludGVybmFsIHQKKyAgICAgICAgICAgICAg ICAgICAgICAgOmZpcnN0LS1pbnRlcm5hbCBuaWwKKyAgICAgICAgICAgICAgICAgICAgICAgOnJl c3QtLWludGVybmFsIG5pbAorICAgICAgICAgICAgICAgICAgICAgICA6ZW1wdHktLWludGVybmFs IHQKKyAgICAgICAgICAgICAgICAgICAgICAgOnVwZGF0ZXItLWludGVybmFsIG5pbCkKKyAgIlRo ZSBlbXB0eSBzdHJlYW0uIikKKworKGRlZnVuIHN0cmVhbS1lbXB0eSAoKQorICAiUmV0dXJuIHRo ZSBlbXB0eSBzdHJlYW0uIgorICBzdHJlYW0tZW1wdHkpCisKKyhkZWZ1biBzdHJlYW0tZW1wdHkt cCAoc3RyZWFtKQorICAiUmV0dXJuIG5vbi1uaWwgaWYgU1RSRUFNIGlzIGVtcHR5LCBuaWwgb3Ro ZXJ3aXNlLiIKKyAgKHN0cmVhbS1lbXB0eS0taW50ZXJuYWwgKHN0cmVhbS0tZm9yY2Ugc3RyZWFt KSkpCisKKyhkZWZ1biBzdHJlYW0tZmlyc3QgKHN0cmVhbSkKKyAgIlJldHVybiB0aGUgZmlyc3Qg ZWxlbWVudCBvZiBTVFJFQU0sIGV2YWx1YXRpbmcgaWYgbmVjZXNzYXJ5LgorCitJZiBTVFJFQU0g aXMgZW1wdHksIHJldHVybiBuaWwuIgorICAoc3RyZWFtLWZpcnN0LS1pbnRlcm5hbCAoc3RyZWFt LS1mb3JjZSBzdHJlYW0pKSkKKworKGRlZnVuIFwoc2V0Zlwgc3RyZWFtLWZpcnN0XCkgKF9zdG9y ZSBfc3RyZWFtKQorICAiU2lnbmFsIGFuIGVycm9yIHdoZW4gdHJ5aW5nIHRvIHVzZSBgc2V0Zicg b24gdGhlIGhlYWQgb2YgYSBzdHJlYW0uIgorICAoZXJyb3IgIlN0cmVhbXMgYXJlIG5vdCBtdXRh YmxlIikpCisKKyhkZWZ1biBzdHJlYW0tcmVzdCAoc3RyZWFtKQorICAiUmV0dXJuIHRoZSB0YWls IG9mIFNUUkVBTSwgZXZhbHVhdGluZyBpZiBuZWNlc3NhcnkuCisKK0lmIFNUUkVBTSBpcyBlbXB0 eSwgcmV0dXJuIHRoZSBjYW5vbmljYWwgZW1wdHkgc3RyZWFtLiIKKyAgKGlmIChzdHJlYW0tZW1w dHktcCBzdHJlYW0pCisgICAgICBzdHJlYW0tZW1wdHkKKyAgICAoc3RyZWFtLXJlc3QtLWludGVy bmFsIChzdHJlYW0tLWZvcmNlIHN0cmVhbSkpKSkKKworKGRlZnVuIFwoc2V0Zlwgc3RyZWFtLXJl c3RcKSAoX3N0b3JlIF9zdHJlYW0pCisgICJTaWduYWwgYW4gZXJyb3Igd2hlbiB0cnlpbmcgdG8g dXNlIGBzZXRmJyBvbiB0aGUgdGFpbCBvZiBhIHN0cmVhbS4iCisgIChlcnJvciAiU3RyZWFtcyBh cmUgbm90IG11dGFibGUiKSkKKwogDAogCiA7OzsgQ29udmVuaWVudCBmdW5jdGlvbnMgZm9yIGNy ZWF0aW5nIHN0cmVhbXMKQEAgLTEwMyw2ICsxOTUsMTAgQEAgKGRlZm1hY3JvIHN0cmVhbS1jb25z IChmaXJzdCByZXN0KQogKGNsLWRlZmdlbmVyaWMgc3RyZWFtIChzcmMpCiAgICJSZXR1cm4gYSBu ZXcgc3RyZWFtIGZyb20gU1JDLiIpCiAKKyhjbC1kZWZtZXRob2Qgc3RyZWFtICgoc3RyZWFtIHN0 cmVhbSkpCisgICJSZXR1cm4gU1RSRUFNIHVubW9kaWZpZWQuIgorICBzdHJlYW0pCisKIChjbC1k ZWZtZXRob2Qgc3RyZWFtICgoc2VxIHNlcXVlbmNlKSkKICAgIlJldHVybiBhIHN0cmVhbSBidWls dCBmcm9tIHRoZSBzZXF1ZW5jZSBTRVEuCiBTRVEgY2FuIGJlIGEgbGlzdCwgdmVjdG9yIG9yIHN0 cmluZy4iCkBAIC0xMTIsNiArMjA4LDI0IEBAIChjbC1kZWZtZXRob2Qgc3RyZWFtICgoc2VxIHNl cXVlbmNlKSkKICAgICAgKHNlcS1lbHQgc2VxIDApCiAgICAgIChzdHJlYW0gKHNlcS1zdWJzZXEg c2VxIDEpKSkpKQogCisoY2wtZGVmbWV0aG9kIHN0cmVhbSAoKGFycmF5IGFycmF5KSkKKyAgIlJl dHVybiBhIHN0cmVhbSBidWlsdCBmcm9tIHRoZSBhcnJheSBBUlJBWS4iCisgIChsZXQgKChsZW4g KGxlbmd0aCBhcnJheSkpKQorICAgIChpZiAoPSBsZW4gMCkKKyAgICAgICAgKHN0cmVhbS1lbXB0 eSkKKyAgICAgIDs7IFRoaXMgYXBwcm9hY2ggY291bGQgYXZvaWQgb25lIGxldmVsIG9mIGluZGly ZWN0aW9uIGJ5IHNldHRpbmcKKyAgICAgIDs7IGBzdHJlYW0tdXBkYXRlci0taW50ZXJuYWwnIGRp cmVjdGx5LCBidXQgdXNpbmcgYGZ1bmNhbGwnIG1ha2VzIGZvciBhCisgICAgICA7OyBnb29kIGV4 YW1wbGUgb2YgaG93IHRvIHVzZSBhIGN1c3RvbSB1cGRhdGVyIGZ1bmN0aW9uIHVzaW5nIHRoZSBw dWJsaWMKKyAgICAgIDs7IGludGVyZmFjZS4KKyAgICAgIChsZXQgKChpZHggMCkpCisgICAgICAg IChjbC1sYWJlbHMgKCh1cGRhdGVyICgpCisgICAgICAgICAgICAgICAgICAgICAgKGlmICg8IGlk eCBsZW4pCisgICAgICAgICAgICAgICAgICAgICAgICAgIChwcm9nMSAoY29ucyAoYXJlZiBhcnJh eSBpZHgpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RyZWFtLW1h a2UgKGZ1bmNhbGwgIyd1cGRhdGVyKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNl dHEgaWR4ICgxKyBpZHgpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIG5pbCkpKQorICAgICAg ICAgIChzdHJlYW0tbWFrZSAoZnVuY2FsbCAjJ3VwZGF0ZXIpKSkpKSkpCisKIChjbC1kZWZtZXRo b2Qgc3RyZWFtICgobGlzdCBsaXN0KSkKICAgIlJldHVybiBhIHN0cmVhbSBidWlsdCBmcm9tIHRo ZSBsaXN0IExJU1QuIgogICAoaWYgKG51bGwgbGlzdCkKQEAgLTE5MCwzMyArMzA0LDYgQEAgKGRl ZnVuIHN0cmVhbS1yYW5nZSAoJm9wdGlvbmFsIHN0YXJ0IGVuZCBzdGVwKQogICAgICAoc3RyZWFt LXJhbmdlICgrIHN0YXJ0IHN0ZXApIGVuZCBzdGVwKSkpKQogDAogCi0oZGVmdW4gc3RyZWFtcCAo c3RyZWFtKQotICAiUmV0dXJuIG5vbi1uaWwgaWYgU1RSRUFNIGlzIGEgc3RyZWFtLCBuaWwgb3Ro ZXJ3aXNlLiIKLSAgKGxldCAoKGNhciAoY2FyLXNhZmUgc3RyZWFtKSkpCi0gICAgKG9yIChlcSBj YXIgc3RyZWFtLS1mcmVzaC1pZGVudGlmaWVyKQotICAgICAgICAoZXEgY2FyIHN0cmVhbS0tZXZh bGQtaWRlbnRpZmllcikpKSkKLQotKGRlZmNvbnN0IHN0cmVhbS1lbXB0eSAoY29ucyBzdHJlYW0t LWV2YWxkLWlkZW50aWZpZXIgbmlsKQotICAiVGhlIGVtcHR5IHN0cmVhbS4iKQotCi0oZGVmdW4g c3RyZWFtLWVtcHR5ICgpCi0gICJSZXR1cm4gdGhlIGVtcHR5IHN0cmVhbS4iCi0gIHN0cmVhbS1l bXB0eSkKLQotKGRlZnVuIHN0cmVhbS1lbXB0eS1wIChzdHJlYW0pCi0gICJSZXR1cm4gbm9uLW5p bCBpZiBTVFJFQU0gaXMgZW1wdHksIG5pbCBvdGhlcndpc2UuIgotICAobnVsbCAoY2RyIChzdHJl YW0tLWZvcmNlIHN0cmVhbSkpKSkKLQotKGRlZnVuIHN0cmVhbS1maXJzdCAoc3RyZWFtKQotICAi UmV0dXJuIHRoZSBmaXJzdCBlbGVtZW50IG9mIFNUUkVBTS4KLVJldHVybiBuaWwgaWYgU1RSRUFN IGlzIGVtcHR5LiIKLSAgKGNhciAoc3RyZWFtLS1mb3JjZSBzdHJlYW0pKSkKLQotKGRlZnVuIHN0 cmVhbS1yZXN0IChzdHJlYW0pCi0gICJSZXR1cm4gYSBzdHJlYW0gb2YgYWxsIGJ1dCB0aGUgZmly c3QgZWxlbWVudCBvZiBTVFJFQU0uIgotICAob3IgKGNkciAoc3RyZWFtLS1mb3JjZSBzdHJlYW0p KQotICAgICAgKHN0cmVhbS1lbXB0eSkpKQotCiAoZGVmdW4gc3RyZWFtLWFwcGVuZCAoJnJlc3Qg c3RyZWFtcykKICAgIkNvbmNhdGVuYXRlIHRoZSBTVFJFQU1TLgogUmVxdWVzdGluZyBlbGVtZW50 cyBmcm9tIHRoZSByZXN1bHRpbmcgc3RyZWFtIHdpbGwgcmVxdWVzdCB0aGUKQEAgLTI0MCwyMiAr MzI3LDcgQEAgKGRlZm1hY3JvIHN0cmVhbS1wb3AgKHN0cmVhbSkKICAgYChwcm9nMQogICAgICAg IChzdHJlYW0tZmlyc3QgLHN0cmVhbSkKICAgICAgKHNldHEgLHN0cmVhbSAoc3RyZWFtLXJlc3Qg LHN0cmVhbSkpKSkKLQwKIAotOzs7IGNsLWdlbmVyaWMgc3VwcG9ydCBmb3Igc3RyZWFtcwotCi0o Y2wtZ2VuZXJpYy1kZWZpbmUtZ2VuZXJhbGl6ZXIgc3RyZWFtLS1nZW5lcmFsaXplcgotICAxMQot ICAobGFtYmRhIChuYW1lICZyZXN0IF8pCi0gICAgYCh3aGVuIChzdHJlYW1wICxuYW1lKQotICAg ICAgICdzdHJlYW0pKQotICAobGFtYmRhICh0YWcgJnJlc3QgXykKLSAgICAod2hlbiAoZXEgdGFn ICdzdHJlYW0pCi0gICAgICAnKHN0cmVhbSkpKSkKLQotKGNsLWRlZm1ldGhvZCBjbC1nZW5lcmlj LWdlbmVyYWxpemVycyAoKF9zcGVjaWFsaXplciAoZXFsIHN0cmVhbSkpKQotICAiU3VwcG9ydCBm b3IgYHN0cmVhbScgc3BlY2lhbGl6ZXJzLiIKLSAgKGxpc3Qgc3RyZWFtLS1nZW5lcmFsaXplcikp CiAMCiAKIDs7OyBJbXBsZW1lbnRhdGlvbiBvZiBzZXEuZWwgZ2VuZXJpYyBmdW5jdGlvbnMKQEAg LTI3Myw2ICszNDUsOSBAQCAoY2wtZGVmbWV0aG9kIHNlcS1lbHQgKChzdHJlYW0gc3RyZWFtKSBu KQogICAgIChzZXRxIG4gKDEtIG4pKSkKICAgKHN0cmVhbS1maXJzdCBzdHJlYW0pKQogCisoY2wt ZGVmbWV0aG9kIChzZXRmIHNlcS1lbHQpIChfc3RvcmUgKF9zZXF1ZW5jZSBzdHJlYW0pIF9uKQor ICAoZXJyb3IgIlN0cmVhbXMgYXJlIG5vdCBtdXRhYmxlIikpCisKIChjbC1kZWZtZXRob2Qgc2Vx LWxlbmd0aCAoKHN0cmVhbSBzdHJlYW0pKQogICAiUmV0dXJuIHRoZSBsZW5ndGggb2YgU1RSRUFN LgogVGhpcyBmdW5jdGlvbiB3aWxsIGVhZ2VybHkgY29uc3VtZSB0aGUgZW50aXJlIHN0cmVhbS4i CkBAIC00MTcsNiArNDkyLDUzIEBAIChkZWZtYWNybyBzdHJlYW0tZGVsYXkgKGV4cHIpCiAoY2wt ZGVmbWV0aG9kIHNlcS1jb3B5ICgoc3RyZWFtIHN0cmVhbSkpCiAgICJSZXR1cm4gYSBzaGFsbG93 IGNvcHkgb2YgU1RSRUFNLiIKICAgKHN0cmVhbS1kZWxheSBzdHJlYW0pKQorCisoY2wtZGVmbWV0 aG9kIHNlcS1zb3J0IChwcmVkIChzZXF1ZW5jZSBzdHJlYW0pKQorICAiU29ydCBTRVFVRU5DRSB1 c2luZyBQUkVEIHZpYSBRdWlja3NvcnQuIgorICAoc3RyZWFtLWRlbGF5CisgICAoaWYgKHN0cmVh bS1lbXB0eS1wIHNlcXVlbmNlKQorICAgICAgIHN0cmVhbS1lbXB0eQorICAgICAobGV0KiAoKGZp cnN0IChzdHJlYW0tZmlyc3Qgc2VxdWVuY2UpKQorICAgICAgICAgICAgKHJlc3QgKHN0cmVhbS1y ZXN0IHNlcXVlbmNlKSkpCisgICAgICAgKHN0cmVhbS1hcHBlbmQKKyAgICAgICAgKHNlcS1zb3J0 IHByZWQKKyAgICAgICAgICAgICAgICAgIChzZXEtZmlsdGVyIChsYW1iZGEgKGVsdCkKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZ1bmNhbGwgcHJlZCBlbHQgZmlyc3QpKQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdCkpCisgICAgICAgIChzdHJlYW0tY29ucyBm aXJzdAorICAgICAgICAgICAgICAgICAgICAgKHNlcS1zb3J0IHByZWQKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoc2VxLWZpbHRlciAobGFtYmRhIChlbHQpCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobm90IChmdW5jYWxsIHByZWQgZWx0IGZp cnN0KSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdCkp KSkpKSkpCisKKyhjbC1kZWZtZXRob2Qgc2VxLXJldmVyc2UgKChzZXF1ZW5jZSBzdHJlYW0pKQor ICAiRm9yY2UgdGhlIGV2YWx1YXRpb24gb2YgU0VRVUVOQ0UgYW5kIHJldHVybiBhIHJldmVyc2Vk IHN0cmVhbSBvZiBTRVFVRU5DRS4KKworYHNlcS1yZXZlcnNlJyBjYW5ub3QgYmUgdXNlZCB3aXRo IGluZmluaXRlIHN0cmVhbXMuIgorICAobGV0ICgoaW50ZXJtZWRpYXRlIG5pbCkpCisgICAgKHNl cS1kb3NlcSAoeCBzZXF1ZW5jZSkKKyAgICAgIChwdXNoIHggaW50ZXJtZWRpYXRlKSkKKyAgICAo c3RyZWFtIGludGVybWVkaWF0ZSkpKQorCisoY2wtZGVmbWV0aG9kIHNlcS1jb25jYXRlbmF0ZSAo KF90eXBlIChlcWwgc3RyZWFtKSkgJnJlc3Qgc2VxdWVuY2VzKQorICAiTWFrZSBhIHN0cmVhbSB3 aGljaCBjb25jYXRlbmF0ZXMgZWFjaCBzZXF1ZW5jZSBpbiBTRVFVRU5DRVMuIgorICAoYXBwbHkg IydzdHJlYW0tYXBwZW5kIChtYXBjYXIgIydzdHJlYW0gc2VxdWVuY2VzKSkpCisKKyhjbC1kZWZt ZXRob2Qgc2VxLXJlbW92ZS1hdC1wb3NpdGlvbiAoKHNlcXVlbmNlIHN0cmVhbSkgbikKKyAgIlJl dHVybiBhIGNvcHkgb2YgU0VRVUVOQ0Ugd2l0aCB0aGUgZWxlbWVudCBhdCBpbmRleCBOIHJlbW92 ZWQuCisKK04gaXMgdGhlICh6ZXJvLWJhc2VkKSBpbmRleCBvZiB0aGUgZWxlbWVudCB0aGF0IHNo b3VsZCBub3QgYmUgaW4KK3RoZSByZXN1bHQuCisKK1RoZSByZXN1bHQgaXMgYSBzdHJlYW0uIgor ICAoc3RyZWFtLWRlbGF5CisgICAobGV0ICgoc3RyZWFtIChzdHJlYW0tYXBwZW5kCisgICAgICAg ICAgICAgICAgICAoc2VxLXRha2Ugc2VxdWVuY2UgbikKKyAgICAgICAgICAgICAgICAgIChzZXEt ZHJvcCBzZXF1ZW5jZSAoMSsgbikpKSkpCisgICAgIChpZiAoc3RyZWFtLWVtcHR5LXAgc3RyZWFt KQorICAgICAgICAgKGVycm9yICJEcm9wcGVkIGluZGV4IG91dCBvZiBib3VuZHM6ICVkLCAlcyIg biBzZXF1ZW5jZSkKKyAgICAgICBzdHJlYW0pKSkpCisKIAwKIAogOzs7IE1vcmUgc3RyZWFtIG9w ZXJhdGlvbnMKZGlmZiAtLWdpdCBhL3Rlc3RzL3N0cmVhbS10ZXN0cy5lbCBiL3Rlc3RzL3N0cmVh bS10ZXN0cy5lbAppbmRleCBiYTMwNGYxLi43MWVjMWFlIDEwMDY0NAotLS0gYS90ZXN0cy9zdHJl YW0tdGVzdHMuZWwKKysrIGIvdGVzdHMvc3RyZWFtLXRlc3RzLmVsCkBAIC0yMTIsNiArMjEyLDQz IEBAIChlcnQtZGVmdGVzdCBzdHJlYW0tZGVsYXktdGVzdCAoKQogICAgICAgICAgICAgKGFuZCAo ZXF1YWwgcmVzMSA1KQogICAgICAgICAgICAgICAgICAoZXF1YWwgcmVzMiA1KSkpKSkKIAorKGVy dC1kZWZ0ZXN0IHN0cmVhbS1zZXEtc29ydC10ZXN0ICgpCisgIChzaG91bGQgKHN0cmVhbS1lbXB0 eS1wIChzZXEtc29ydCAjJzwgKHN0cmVhbS1lbXB0eSkpKSkKKyAgKHNob3VsZCAoc3RyZWFtcCAo c2VxLXNvcnQgIyc8IChzdHJlYW0gKHZlY3RvciA1IDQgMyAxIDIpKSkpKQorICAoc2hvdWxkIChl cXVhbCAnKDEgMiAzIDQgNSkgKHNlcS1pbnRvIChzZXEtc29ydCAjJzwgKHN0cmVhbSAodmVjdG9y IDUgNCAzIDEgMikpKSAnbGlzdCkpKSkKKworKGVydC1kZWZ0ZXN0IHN0cmVhbS1zZXEtcmV2ZXJz ZS10ZXN0ICgpCisgIChzaG91bGQgKHN0cmVhbXAgKHNlcS1yZXZlcnNlIChzdHJlYW0gKGxpc3Qg MCAxIDIpKSkpKQorICAoc2hvdWxkIChlcXVhbCAnKDIgMSAwKSAoc2VxLWludG8gKHNlcS1yZXZl cnNlIChzdHJlYW0gKGxpc3QgMCAxIDIpKSkgJ2xpc3QpKSkpCisKKyhlcnQtZGVmdGVzdCBzdHJl YW0tc2VxLWNvbmNhdGVuYXRlLXRlc3QgKCkKKyAgKHNob3VsZCAoc3RyZWFtcCAoc2VxLWNvbmNh dGVuYXRlICdzdHJlYW0gKGxpc3QgMSAyKSAodmVjdG9yIDMgNCkgKHN0cmVhbSAobGlzdCA1IDYp KSkpKQorICAoc2hvdWxkIChlcXVhbCAnKDEgMiAzIDQgNSA2KQorICAgICAgICAgICAgICAgICAo c2VxLWludG8gKHNlcS1jb25jYXRlbmF0ZSAnc3RyZWFtCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChsaXN0IDEgMikKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKHZlY3RvciAzIDQpCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChzdHJlYW0gKGxpc3QgNSA2KSkpCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAnbGlzdCkpKSkKKworKGVydC1kZWZ0ZXN0IHN0cmVhbS1zZXEtbWFwY2F0 LXRlc3QgKCkKKyAgKHNob3VsZCAoc3RyZWFtcCAoc2VxLW1hcGNhdCAjJ3N0cmVhbSAobGlzdCAo bGlzdCAxIDIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KHZlY3RvciAzIDQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKHN0cmVhbSAobGlzdCA1IDYpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn c3RyZWFtKSkpCisgIChzaG91bGQgKGVxdWFsICcoMSAyIDMgNCA1IDYpCisgICAgICAgICAgICAg ICAgIChzZXEtaW50byAoc2VxLW1hcGNhdCAjJ3N0cmVhbSAobGlzdCAobGlzdCAxIDIpCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodmVjdG9y IDMgNCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChzdHJlYW0gKGxpc3QgNSA2KSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAnc3RyZWFtKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2xpc3QpKSkpCisK KyhlcnQtZGVmdGVzdCBzdHJlYW0tc2VxLXJlbW92ZS1hdC1wb3NpdGlvbiAoKQorICAoc2hvdWxk IChzdHJlYW1wIChzZXEtcmVtb3ZlLWF0LXBvc2l0aW9uIChzdHJlYW0gKGxpc3QgMCAxIDIgMyA0 KSkgMikpKQorICAoc2hvdWxkLWVycm9yIChzdHJlYW0tZmlyc3QgKHNlcS1yZW1vdmUtYXQtcG9z aXRpb24gKHN0cmVhbSBuaWwpIDIpKSkKKyAgKHNob3VsZCAoZXF1YWwgJygwIDEgMyA0KQorICAg ICAgICAgICAgICAgICAoc2VxLWludG8gKHNlcS1yZW1vdmUtYXQtcG9zaXRpb24gKHN0cmVhbSAo bGlzdCAwIDEgMiAzIDQpKSAyKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2xpc3QpKSkp CisKIChlcnQtZGVmdGVzdCBzdHJlYW0tc2VxLWNvcHktdGVzdCAoKQogICAoc2hvdWxkIChzdHJl YW1wIChzZXEtY29weSAoc3RyZWFtLXJhbmdlKSkpKQogICAoc2hvdWxkICg9IDAgKHN0cmVhbS1m aXJzdCAoc2VxLWNvcHkgKHN0cmVhbS1yYW5nZSkpKSkpCkBAIC0yMzQsNiArMjcxLDEwIEBAIChl cnQtZGVmdGVzdCBzdHJlYW0tbGlzdC10ZXN0ICgpCiAgIChkb2xpc3QgKGxpc3QgJyhuaWwgJygx IDIgMykgJyhhIC4gYikpKQogICAgIChzaG91bGQgKGVxdWFsIGxpc3QgKHNlcS1pbnRvIChzdHJl YW0gbGlzdCkgJ2xpc3QpKSkpKQogCisoZXJ0LWRlZnRlc3Qgc3RyZWFtLWFycmF5LXRlc3QgKCkK KyAgKGRvbGlzdCAoYXJyIChsaXN0ICJjYXQiIFswIDEgMl0pKQorICAgIChzaG91bGQgKGVxdWFs IGFyciAoc2VxLWludG8gKHN0cmVhbSBhcnIpICh0eXBlLW9mIGFycikpKSkpKQorCiAoZXJ0LWRl ZnRlc3Qgc3RyZWFtLXNlcS1zdWJzZXEtdGVzdCAoKQogICAoc2hvdWxkIChzdHJlYW0tZW1wdHkt cCAoc2VxLXN1YnNlcSAoc3RyZWFtLXJhbmdlIDIgMTApIDAgMCkpKQogICAoc2hvdWxkICg9IChz dHJlYW0tZmlyc3QgKHNlcS1zdWJzZXEgKHN0cmVhbS1yYW5nZSAyIDEwKSAwIDMpKSAyKSkKQEAg LTI5Niw2ICszMzcsOCBAQCAoZGVmdGVzdC1mb3ItZGVsYXllZC1ldmFsdWF0aW9uIChzdHJlYW0t YXBwZW5kICAobWFrZS1kZWxheWVkLXRlc3Qtc3RyZWFtKSAobWFrZQogKGRlZnRlc3QtZm9yLWRl bGF5ZWQtZXZhbHVhdGlvbiAoc2VxLXRha2UgKG1ha2UtZGVsYXllZC10ZXN0LXN0cmVhbSkgMikp CiAoZGVmdGVzdC1mb3ItZGVsYXllZC1ldmFsdWF0aW9uIChzZXEtZHJvcCAobWFrZS1kZWxheWVk LXRlc3Qtc3RyZWFtKSAyKSkKIChkZWZ0ZXN0LWZvci1kZWxheWVkLWV2YWx1YXRpb24gKHNlcS10 YWtlLXdoaWxlICMnbnVtYmVycCAobWFrZS1kZWxheWVkLXRlc3Qtc3RyZWFtKSkpCisoZGVmdGVz dC1mb3ItZGVsYXllZC1ldmFsdWF0aW9uIChzZXEtZHJvcC13aGlsZSAjJ251bWJlcnAgKG1ha2Ut ZGVsYXllZC10ZXN0LXN0cmVhbSkpKQorKGRlZnRlc3QtZm9yLWRlbGF5ZWQtZXZhbHVhdGlvbiAo c2VxLXJlbW92ZS1hdC1wb3NpdGlvbiAobWFrZS1kZWxheWVkLXRlc3Qtc3RyZWFtKSAyKSkKIChk ZWZ0ZXN0LWZvci1kZWxheWVkLWV2YWx1YXRpb24gKHNlcS1tYXAgIydpZGVudGl0eSAobWFrZS1k ZWxheWVkLXRlc3Qtc3RyZWFtKSkpCiAoZGVmdGVzdC1mb3ItZGVsYXllZC1ldmFsdWF0aW9uIChz ZXEtbWFwbiAjJ2NvbnMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IChtYWtlLWRlbGF5ZWQtdGVzdC1zdHJlYW0pCkBAIC0zMDcsNiArMzUwLDcgQEAgKGRlZnRlc3Qt Zm9yLWRlbGF5ZWQtZXZhbHVhdGlvbiAoc2VxLXN1YnNlcSAobWFrZS1kZWxheWVkLXRlc3Qtc3Ry ZWFtKSAyKSkKIChkZWZ0ZXN0LWZvci1kZWxheWVkLWV2YWx1YXRpb24gKHN0cmVhbS1zY2FuICMn KiAxIChtYWtlLWRlbGF5ZWQtdGVzdC1zdHJlYW0pKSkKIChkZWZ0ZXN0LWZvci1kZWxheWVkLWV2 YWx1YXRpb24gKHN0cmVhbS1jb25jYXRlbmF0ZSAoc3RyZWFtIChsaXN0IChtYWtlLWRlbGF5ZWQt dGVzdC1zdHJlYW0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAobWFrZS1kZWxheWVkLXRlc3Qtc3RyZWFtKSkpKSkKKyhk ZWZ0ZXN0LWZvci1kZWxheWVkLWV2YWx1YXRpb24gKHNlcS1zb3J0ICMnPCAobWFrZS1kZWxheWVk LXRlc3Qtc3RyZWFtKSkpCiAKIChwcm92aWRlICdzdHJlYW0tdGVzdHMpCiA7Ozsgc3RyZWFtLXRl c3RzLmVsIGVuZHMgaGVyZQotLSAKMi4zNC4xCgo= --b1_guz4NsQFJkSIIMcYkRFzKmQJDI1T0paKBWCV3Zw0-- From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 29 21:37:09 2024 Received: (at control) by debbugs.gnu.org; 30 Sep 2024 01:37:10 +0000 Received: from localhost ([127.0.0.1]:43473 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sv5LW-0007w8-MK for submit@debbugs.gnu.org; Sun, 29 Sep 2024 21:37:08 -0400 Received: from mail-ed1-f48.google.com ([209.85.208.48]:50218) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sv5LS-0007uE-ES for control@debbugs.gnu.org; Sun, 29 Sep 2024 21:37:04 -0400 Received: by mail-ed1-f48.google.com with SMTP id 4fb4d7f45d1cf-5c88e4a7c53so1501376a12.0 for ; Sun, 29 Sep 2024 18:36:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1727660125; x=1728264925; darn=debbugs.gnu.org; h=to:subject:message-id:date:mime-version:from:from:to:cc:subject :date:message-id:reply-to; bh=78KSd2qHgcLu+Dp8yyyA8dHn6t4XNC0XsugQScALxFY=; b=KA0Nvzmb45C35t5SHZaZ5yLtkkJqw9BBMginEZqNM3jeo35lWkn9ObASB9GcmGHTeU ymQX45rwStWUEtG+0n8V767EWxypqBe5m7OOm07uVrmLu1bP4MQQWEgnd5fH/KmSFAqF 6aNpePF4tKiNkXUhki0bqXVwEY5bkuTmgOdeIsfPirSpzI6tfGiKQ4VMCZst4Z9tVekt B16o/WTCU0sx9elwNb916wmOWktSiT0h43RHAGplgaPMpnaZBgRbjCJOA4j5NAE4sCOm F9tt5JzDxj5gGb4tl/CxpMFjLG1Gqw8KUpsgC7enwhl5fFvBmTRJjiuehiyZ4XsYeKOj KEaw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727660125; x=1728264925; h=to:subject:message-id:date:mime-version:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=78KSd2qHgcLu+Dp8yyyA8dHn6t4XNC0XsugQScALxFY=; b=tiKzVl1M2WF8PrtmdybIZ1ufTx8cv3b8wmGPUB0UXibm89Ed+UHwb1Iuc2XUsR9ToW aBhNIJhUkBq6h1M4PIGwYLvoVZrM7oZyFji3YL4J7NhjZSyZTDKHRidx/PzId2L/z3NC 5cQd6mFC3G3WxyKQoosYmznSj4vZBaobBS1c1XnNsAbYAtfoNQU6cD6riqxpB9w+G3i3 y6q8mXX7uQGD9sx8KRRyNQe6Yylery4AOZDDwpIqT8sV72ea4gut5uG9eeYAyq9F++Y3 NmovotzRXh2WxYlnCdL/XxdCQp1F6D0+XDPZVLdukWH1toBkYWfiuAS8u1Bc+dC9nbOF 9KQw== X-Gm-Message-State: AOJu0YxPyhiUjKmNE1h8a4HwSKokd69kzBANRs9JEVA0FcF4KIzlZuSx lZTzzv2gH2JWbWNOe7qNWlHU7yH0VwXainKN96VARZIJYo934ZvATjBTzzoubG+yxfTi2JS/WQ2 /BA46z6MhlAXQBjl26HuQ6GG/8qu6Qw== X-Google-Smtp-Source: AGHT+IHL6vGtzIfmtuLhc55VIMzTEtjUOohmx9pcgnpelyrN+0mpIVHXbj+7DpNPofgaXHHwW82l0gJEr/qjbLWsuC4= X-Received: by 2002:a05:6402:42d6:b0:5c8:7a0b:2854 with SMTP id 4fb4d7f45d1cf-5c8824e5225mr10351518a12.13.1727660124647; Sun, 29 Sep 2024 18:35:24 -0700 (PDT) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Sun, 29 Sep 2024 18:35:24 -0700 From: Stefan Kangas MIME-Version: 1.0 Date: Sun, 29 Sep 2024 18:35:24 -0700 Message-ID: Subject: control message for bug #73431 To: control@debbugs.gnu.org Content-Type: text/plain; charset="UTF-8" X-Spam-Score: -0.9 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.9 (-) severity 73431 wishlist quit From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 30 18:19:44 2024 Received: (at submit) by debbugs.gnu.org; 30 Sep 2024 22:19:44 +0000 Received: from localhost ([127.0.0.1]:47466 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1svOk3-0005UU-OD for submit@debbugs.gnu.org; Mon, 30 Sep 2024 18:19:44 -0400 Received: from lists.gnu.org ([209.51.188.17]:41496) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1svOk0-0005UO-O5 for submit@debbugs.gnu.org; Mon, 30 Sep 2024 18:19:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1svOjT-00051u-5U for bug-gnu-emacs@gnu.org; Mon, 30 Sep 2024 18:19: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 ) id 1svOjR-0003N2-AR for bug-gnu-emacs@gnu.org; Mon, 30 Sep 2024 18:19:06 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=web.de; s=s29768273; t=1727734716; x=1728339516; i=michael_heerdegen@web.de; bh=SzFAo4WxaVtHCdiMqR04wyX4xN7rxwgAZQM4pPV7kHE=; 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=D6z37Tx0Es9zW8+V9MurQoR9rgOl8YDrJRtoSIHvjpaGeVXC9c8VlwbNqOuSdNG8 NNnjcQJtQzNdQEb7ijxpDWcWxy+Hhkp7RTGW0JQopCU5NzYvry2+vQAaDOxh/njC8 SmAL5oCLjREGZs+AF23vBKZfRysXznapiWmiaTaPI+PBU5IAw0mT/J1LPfqrX/plK xCpzaJXg34AgHDcd3YWT7Kxgvj3i+DOy0rjV1pglbuMwNkYiTmc3nxGN56SJMF7GM J5h/9RyaNioqYjQIc+HkAEj/1ZaF8/NkGv9T0l+CGSfx+Hjagcx0f8EXQcp71ail7 gAGLjaD4HYBRdeRA/w== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Received: from drachen.dragon ([92.75.138.227]) by smtp.web.de (mrweb005 [213.165.67.108]) with ESMTPSA (Nemesis) id 1N5lnT-1roZTL33bH-017i3U; Tue, 01 Oct 2024 00:18:36 +0200 From: Michael Heerdegen To: Okamsn via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA In-Reply-To: <6caa1395-a3b2-4e70-b905-1cbfee0f92bd@protonmail.com> (Okamsn via's message of "Sun, 29 Sep 2024 19:30:42 +0000") References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <87o74bqy9g.fsf@posteo.net> <87jzexqgg8.fsf@posteo.net> <87tte0q2qc.fsf@posteo.net> <068ecfc3-b452-49a8-89bb-f42012aea5d4@protonmail.com> <6caa1395-a3b2-4e70-b905-1cbfee0f92bd@protonmail.com> Date: Tue, 01 Oct 2024 00:19:32 +0200 Message-ID: <87y138hjij.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:QD4mDXZqiev+5bPBcgomDYYcMJXjeccCBOmMa1hrHVfwIGZGW4v Gj+gyVxLuIIzmEyZYcl+FUSIdaN9yvl8FbUaOcU2QcEVKerBBPsIG1Q+t8qR0HbhDjw7Dlf ajiV3e2pNxXN4OQwbALiKC2yY7om6lGHIDcgX/glp7F5y9+VwLodABi/sEvKn5it/Iucfpy oYOV8IIuHqkolCLO1Ea2w== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:k1G6jkVkqJ8=;CsBeOEjK3OCpoOKcMqZuiAaWULv jlfcyduOSIQelb2UE2cx1vDC4h9rhvzoK1aCHVooLAb6dxXZ9Rs0LI08AMrfm57GpbDbAA2Zk L9sTCjBq+I91Bvp7V7ik5z2viz2j11Pemu2BThMKtf/nQnFdAo4C3++h55M2Q3DV+rHa2R49/ 2zY3qf7sl1pwkVTF62RGz1n1CzTy7sLjS6vgCSxmxj+LbCdH9XzqIq6/tJq55+doKqfZlewls eDfUeIzR5bdnbeTPNBd8acVJpPpu9ge/SigpTPzfhUVe6ttJPRwn92Oc+S5yxgzd07QVlVzyv Drxg5J8BYvgY6U+RW5RLQT8cBpPHks/a5SaxzrjGobC4tVxvrBKTIcUcjOgRtR9+aUPfx+0Z8 +1RJOxmDZ5uDFwBYBfXoXStGPJwur48KTr5XxA+UUhJvumBDBdADD+KQ8Kb7AfZS7PNPtqnFB sN3XwK6o3ZRGbSYm9CGFylCN+Yc7eh2DbnaIgnK7g/Qe2JhQW8GXaAUITp5SAIdAqZviTMtOn L+7cosRhxb3PZkdJC6sFrAdQXc3vJDgM4kNwJkX1eeKRygaeL6EbraCqLj4kXNclOHLnXF8+m inTfKGkOzSCK/Puld4PkSjCSGG9YCZIN6U4ADD7twcU3Q+YAYIgGYrOVBVbIQ0fukHeqKn++L mTUDyK+TUO8E+CMLIWp4+wxfAHBpUJe7K8RjZDk5RBvjJdAg1bAVfxFAeaMC5yC/F77bqb7+U WHgYaJ9U5i8iD/iYTT7dRE5uVvjJQKzf+6FHQs60h+MMFi6ube47kYHnj4McB2ZFY1C5xhIpN D75DCe6OhLxXiIqpdomHuBag== Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=212.227.15.14; envelope-from=michael_heerdegen@web.de; 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, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=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: Okamsn , Philip Kaludercic , Nicolas Petton , Stefan Monnier , 73431@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) Okamsn via "Bug reports for GNU Emacs, the Swiss army knife of text editors" writes: > Please see the attached file. It changes streams to be structs, warns > that streams are not mutable, adds a creation method for arrays that > doesn't create intermediate sub-arrays, and adds some methods for > streams for more of the seq.el functions. Thank you for working on this. > * stream.el (stream): Define the structure using 'cl-defstruct'. Does changing the internal representation of streams have an effect on the speed of the run code? > * stream.el (seq-sort, seq-reverse, seq-concatenate, seq-remove-at-posit= ion): > Add methods that did not work as expected with the generic implementatio= n. I don't like these, apart from seq-concatenate. That we have a unified interface for different types of seqs doesn't mean we must implement every functionality for every type - we can limit to those where it makes sense. If you have to translate the complete stream into an intermediate seq type to implement a feature (like sorting) hints at that it might not make sense. And I think indeed: if you need to sort any data than you probably should not use streams to represent them at all. In the rare cases where this really makes sense conceptually it is even better to do the translation into a different seq type explicitly. Converting the result back into a delayed list makes hardly sense. This is inefficient and leads to bad style. Michael. From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 01 21:03:01 2024 Received: (at 73431) by debbugs.gnu.org; 2 Oct 2024 01:03:01 +0000 Received: from localhost ([127.0.0.1]:54737 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1svnlc-0003ts-O3 for submit@debbugs.gnu.org; Tue, 01 Oct 2024 21:03:01 -0400 Received: from mail-4316.protonmail.ch ([185.70.43.16]:51265) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1svnlb-0003ti-A1 for 73431@debbugs.gnu.org; Tue, 01 Oct 2024 21:03:00 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1727830973; x=1728090173; bh=VO1o2/DDyuLfefr84YEUIGv3f4bFGGmXJXzS0WHnrx8=; 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=n6ZJaH1pGDH+HFWX7z7CzAFZtXcX1gUn1DYn3GptF+OwvvlyXnk/Lz7/lzMsts5Nv x10lc7RD7hihJSq6IpAUAa+OncRrhwWkFPT/8gYSsc8HGA7DyiXLKUaStDltlCMxAw 6IZ/OlaxUN33uYH+i2+4M1CFRSdLrSGbwxsjNiBTwUrUpSddwvHMxgGoSSoiFJcHl9 g/LnA6jK2gS4rB+4wJQ+tVFup/EtATD9TIASJc8u7XdTz1ZfPJcqjTym3fzqottdzT 4vSd6FNfgATQgPoRKHqQ9iZnEN91ot06XrqW/VfjRuNzB9X2vEXz1/TRabmYJCZ1Kw NBf2cv/5+iTBA== Date: Wed, 02 Oct 2024 01:02:47 +0000 To: Michael Heerdegen , "Okamsn via \"Bug reports for GNU Emacs, the Swiss army knife of text editors\"" From: Okamsn Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA Message-ID: In-Reply-To: <87y138hjij.fsf@web.de> References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <87jzexqgg8.fsf@posteo.net> <87tte0q2qc.fsf@posteo.net> <068ecfc3-b452-49a8-89bb-f42012aea5d4@protonmail.com> <6caa1395-a3b2-4e70-b905-1cbfee0f92bd@protonmail.com> <87y138hjij.fsf@web.de> Feedback-ID: 25935600:user:proton X-Pm-Message-ID: 804cf97c93df865e58fec97e895ac49cd2d68bfd MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 73431 Cc: Philip Kaludercic , Nicolas Petton , Stefan Monnier , 73431@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Michael Heerdegen wrote: > Okamsn via "Bug reports for GNU Emacs, the Swiss army knife of text > editors" writes: >=20 >> Please see the attached file. It changes streams to be structs, warns >> that streams are not mutable, adds a creation method for arrays that >> doesn't create intermediate sub-arrays, and adds some methods for >> streams for more of the seq.el functions. >=20 > Thank you for working on this. >=20 >> * stream.el (stream): Define the structure using 'cl-defstruct'. >=20 > Does changing the internal representation of streams have an effect > on the speed of the run code? I think that it does make it slower. I am trying to test it, and I think=20 that making records is slower than making cons cells. I think that=20 accessing the rest of the stream takes longer because the accessors=20 created by `cl-defstruct` always perform type checking. It seems to take=20 about twice as long when compared to naively using `car` and `cdr`. Do you think that it would be better to disable the type checking in the=20 accessors? If so, would you please share how to do that? The manual=20 talks about using `(optimize (safety 0))` in a declare form, but it also=20 seems to say that it cannot be done locally for just the `cl-defstruct`=20 usage. If it cannot be done, do think it makes sense to use=20 `make-record` directly, along with custom function to replace the=20 generated accessors? > I don't like these, apart from seq-concatenate. > > That we have a unified interface for different types of seqs doesn't > mean we must implement every functionality for every type - we can limit > to those where it makes sense. If you have to translate the complete > stream into an intermediate seq type to implement a feature (like > sorting) hints at that it might not make sense. And I think indeed: if > you need to sort any data than you probably should not use streams to > represent them at all. In the rare cases where this really makes sense > conceptually it is even better to do the translation into a different > seq type explicitly. Converting the result back into a delayed list > makes hardly sense. This is inefficient and leads to bad style. OK, I will remove them. For the sorting, I looked at Scheme's SRFI-41=20 (https://srfi.schemers.org/srfi-41/srfi-41.html), which says the=20 Quicksort could be used for its implementation of streams, but I did not=20 look in detail. For passing a stream to the creation function `stream`, do you think it=20 makes sense to make a shallow copy of the stream via `stream-delay`=20 (similar to `seq-copy`), or do you think it makes sense to return it=20 unmodified, which is how I've written it currently? Thank you. From debbugs-submit-bounces@debbugs.gnu.org Wed Oct 02 15:39:32 2024 Received: (at submit) by debbugs.gnu.org; 2 Oct 2024 19:39:32 +0000 Received: from localhost ([127.0.0.1]:59283 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sw5C7-0004Bp-LF for submit@debbugs.gnu.org; Wed, 02 Oct 2024 15:39:31 -0400 Received: from lists.gnu.org ([209.51.188.17]:53938) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sw5C5-0004Bf-Ib for submit@debbugs.gnu.org; Wed, 02 Oct 2024 15:39:29 -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 ) id 1sw5Bz-0004KR-KW for bug-gnu-emacs@gnu.org; Wed, 02 Oct 2024 15:39:24 -0400 Received: from mout02.posteo.de ([185.67.36.66]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sw5Bx-0001Yf-2p for bug-gnu-emacs@gnu.org; Wed, 02 Oct 2024 15:39:23 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 2F92C240101 for ; Wed, 2 Oct 2024 21:39:15 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1727897955; bh=icZIk3PehWFKXOlWqsBrD3DwlKBn+NscTA79uBX9mAg=; h=From:To:Cc:Subject:Autocrypt:OpenPGP:Date:Message-ID:MIME-Version: Content-Type:From; b=HOzYBYP3mNUr2KVc12XFxBcZoylK0A8KkgEIlqh9JDVWswaxoYJ8NNKE0ZaRwBsle aqnLZNZLbaCER5cQbylldz5IEXDir0yMaNI6N4tb9pO/ruqI+xcYiiwSJQd6PCNKgs uOd0RDgNNPeSSROHJXiRh3pFejxOKwU0tjsblOzCI0Zp1DVzv0hVHtHmTVi7j/7fLx tUx4ci2mnC7ArVPmbWVYDvTlHFMny+b/Flk8h0dQuk/nIYuYpzallQBIhzfZp7maQr euGpG/xOVmG3mLw7slq7MaiurD3UxI5eA9waEtt0q+dYrz857ddhmXU360KA0ezqtD GzGOApJE0srQw== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4XJlVn73wGz6twM; Wed, 2 Oct 2024 21:39:13 +0200 (CEST) From: Philip Kaludercic To: Okamsn Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA In-Reply-To: (okamsn@protonmail.com's message of "Wed, 02 Oct 2024 01:02:47 +0000") References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <87jzexqgg8.fsf@posteo.net> <87tte0q2qc.fsf@posteo.net> <068ecfc3-b452-49a8-89bb-f42012aea5d4@protonmail.com> <6caa1395-a3b2-4e70-b905-1cbfee0f92bd@protonmail.com> <87y138hjij.fsf@web.de> Autocrypt: addr=philipk@posteo.net; keydata= mDMEZBBQQhYJKwYBBAHaRw8BAQdAHJuofBrfqFh12uQu0Yi7mrl525F28eTmwUDflFNmdui0QlBo aWxpcCBLYWx1ZGVyY2ljIChnZW5lcmF0ZWQgYnkgYXV0b2NyeXB0LmVsKSA8cGhpbGlwa0Bwb3N0 ZW8ubmV0PoiWBBMWCAA+FiEEDg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwMFCQHhM4AFCwkI BwIGFQoJCAsCBBYCAwECHgECF4AACgkQ8xYDWXahwulikAEA77hloUiSrXgFkUVJhlKBpLCHUjA0 mWZ9j9w5d08+jVwBAK6c4iGP7j+/PhbkxaEKa4V3MzIl7zJkcNNjHCXmvFcEuDgEZBBQQhIKKwYB BAGXVQEFAQEHQI5NLiLRjZy3OfSt1dhCmFyn+fN/QKELUYQetiaoe+MMAwEIB4h+BBgWCAAmFiEE Dg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwwFCQHhM4AACgkQ8xYDWXahwukm+wEA8cml4JpK NeAu65rg+auKrPOP6TP/4YWRCTIvuYDm0joBALw98AMz7/qMHvSCeU/hw9PL6u6R2EScxtpKnWof z4oM OpenPGP: id=philipk@posteo.net; url="https://keys.openpgp.org/vks/v1/by-email/philipk@posteo.net"; preference=signencrypt Date: Wed, 02 Oct 2024 19:39:13 +0000 Message-ID: <875xqa8fby.fsf@posteo.net> MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=185.67.36.66; envelope-from=philipk@posteo.net; helo=mout02.posteo.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 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, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=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: Michael Heerdegen , "Okamsn via \"Bug reports for GNU Emacs, the Swiss army knife of text editors\"" , Nicolas Petton , Stefan Monnier , 73431@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) Okamsn writes: > Michael Heerdegen wrote: >> Okamsn via "Bug reports for GNU Emacs, the Swiss army knife of text >> editors" writes: >> >>> Please see the attached file. It changes streams to be structs, warns >>> that streams are not mutable, adds a creation method for arrays that >>> doesn't create intermediate sub-arrays, and adds some methods for >>> streams for more of the seq.el functions. >> >> Thank you for working on this. >> >>> * stream.el (stream): Define the structure using 'cl-defstruct'. >> >> Does changing the internal representation of streams have an effect >> on the speed of the run code? > > I think that it does make it slower. I am trying to test it, and I think > that making records is slower than making cons cells. I think that > accessing the rest of the stream takes longer because the accessors > created by `cl-defstruct` always perform type checking. It seems to take > about twice as long when compared to naively using `car` and `cdr`. > > Do you think that it would be better to disable the type checking in the > accessors? If so, would you please share how to do that? The manual > talks about using `(optimize (safety 0))` in a declare form, but it also > seems to say that it cannot be done locally for just the `cl-defstruct` > usage. If it cannot be done, do think it makes sense to use > `make-record` directly, along with custom function to replace the > generated accessors? We would have to raise the minimum version from 25 to 26 to support that. It the overhead noticeable, or just measurable? -- Philip Kaludercic on siskin From debbugs-submit-bounces@debbugs.gnu.org Wed Oct 02 20:19:41 2024 Received: (at submit) by debbugs.gnu.org; 3 Oct 2024 00:19:41 +0000 Received: from localhost ([127.0.0.1]:59515 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sw9ZE-00031O-VM for submit@debbugs.gnu.org; Wed, 02 Oct 2024 20:19:41 -0400 Received: from lists.gnu.org ([209.51.188.17]:48116) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sw9ZC-00031F-T9 for submit@debbugs.gnu.org; Wed, 02 Oct 2024 20:19: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 ) id 1sw9ZA-00058H-0f for bug-gnu-emacs@gnu.org; Wed, 02 Oct 2024 20:19:36 -0400 Received: from mail-40134.protonmail.ch ([185.70.40.134]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sw9Z8-0000dz-2v for bug-gnu-emacs@gnu.org; Wed, 02 Oct 2024 20:19:35 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1727914771; x=1728173971; bh=pDiL0mXBJTrcEoZlnJpeADt5++qOsPliyV1X229e9oU=; 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=s9COR2s6By4sLG6BneRMZhRFNv1FmvZOPm37ortBppicoy12rV4inYFiwn9Sy1yZK WtnUdXQ204/ATdhqrLsuymD5D70dV4MDjxNIWlkhHsvzwtJCEZi4r4I6ORDWEePhhS vLbVI5GlSgqsZesfa8PkZCUZsxd98j4vn62ck5KE1uo2T33Lck8wXxyMTPvBKdY6XP HP6KiaJ67D015gkEYiiBRwkRvGt3KHfEAWWxqgA5uI/kkcwCQUA7/mO9u+30pT7uMe EoH8vPaR/PQNi/+YlK8nTJ9c7x4rrToJlOKMPMw+o4vgRO6CZwdslGIliYGnpxt6HQ PYGpmgr7KnUPw== Date: Thu, 03 Oct 2024 00:19:28 +0000 To: Philip Kaludercic From: Okamsn Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA Message-ID: <932d7782-5685-4a43-b34c-fc0bb3a958e4@protonmail.com> In-Reply-To: <875xqa8fby.fsf@posteo.net> References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <87tte0q2qc.fsf@posteo.net> <068ecfc3-b452-49a8-89bb-f42012aea5d4@protonmail.com> <6caa1395-a3b2-4e70-b905-1cbfee0f92bd@protonmail.com> <87y138hjij.fsf@web.de> <875xqa8fby.fsf@posteo.net> Feedback-ID: 25935600:user:proton X-Pm-Message-ID: 854050c669539668681ab7c1e4739af8f95b2c0a MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=185.70.40.134; envelope-from=okamsn@protonmail.com; helo=mail-40134.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, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-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: Michael Heerdegen , "Okamsn via \"Bug reports for GNU Emacs, the Swiss army knife of text editors\"" , Nicolas Petton , Stefan Monnier , 73431@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) Philip Kaludercic wrote: > Okamsn writes: >> Michael Heerdegen wrote: >>> Does changing the internal representation of streams have an effect >>> on the speed of the run code? >> >> I think that it does make it slower. I am trying to test it, and I think >> that making records is slower than making cons cells. I think that >> accessing the rest of the stream takes longer because the accessors >> created by `cl-defstruct` always perform type checking. It seems to take >> about twice as long when compared to naively using `car` and `cdr`. >> >> Do you think that it would be better to disable the type checking in the >> accessors? If so, would you please share how to do that? The manual >> talks about using `(optimize (safety 0))` in a declare form, but it also >> seems to say that it cannot be done locally for just the `cl-defstruct` >> usage. If it cannot be done, do think it makes sense to use >> `make-record` directly, along with custom function to replace the >> generated accessors? >=20 > It the overhead noticeable, or just measurable? I=E2=80=99m not sure what counts as =E2=80=9Cnoticeable=E2=80=9D. Using the benchmark macros given at=20 https://github.com/alphapapa/emacs-package-dev-handbook#benchmarking, I=20 tested getting the "first" and =E2=80=9Crest=E2=80=9D of streams, both as f= resh streams=20 and as already evaluated streams. These are the results I get for a stream from a list using the current=20 implementation: | Form | Tot. runtime | # of GCs | Tot. GC runtime | |--------------------------+--------------+----------+-----------------| | stream 10 evald: rest | 0.015259 | 0 | 0 | | stream 10: rest | 0.044525 | 0 | 0 | | stream 10 evald: first | 0.059650 | 0 | 0 | | stream 10: first | 0.074379 | 0 | 0 | | stream 100: rest | 0.132317 | 0 | 0 | | stream 100 evald: rest | 0.132821 | 0 | 0 | | stream 100 evald: first | 0.198041 | 0 | 0 | | stream 100: first | 0.205684 | 0 | 0 | | stream 1000 evald: rest | 1.249168 | 0 | 0 | | stream 1000: rest | 1.250730 | 0 | 0 | | stream 1000 evald: first | 1.835921 | 0 | 0 | | stream 1000: first | 1.857300 | 0 | 0 | These are the results I get for a stream from a list using the=20 struct-based implementation: | Form | Tot. runtime | # of GCs | Tot. GC runtime | |--------------------------+--------------+----------+-----------------| | stream 10 evald: rest | 0.036241 | 0 | 0 | | stream 10 evald: first | 0.048213 | 0 | 0 | | stream 10: rest | 0.048221 | 0 | 0 | | stream 10: first | 0.048285 | 0 | 0 | | stream 100 evald: rest | 0.312544 | 0 | 0 | | stream 100: rest | 0.321046 | 0 | 0 | | stream 100 evald: first | 0.439694 | 0 | 0 | | stream 100: first | 0.441674 | 0 | 0 | | stream 1000: rest | 3.032329 | 0 | 0 | | stream 1000 evald: rest | 3.142683 | 0 | 0 | | stream 1000: first | 4.113174 | 0 | 0 | | stream 1000 evald: first | 4.132561 | 0 | 0 | You can see that the struct-based run times are about twice as long. I=20 think this is from the extra work done by the accessors. For example,=20 the type-checking is run multiple times when accessing the =E2=80=9Cfirst= =E2=80=9D and=20 =E2=80=9Crest=E2=80=9D slots, because the accessors are also used in `strea= m--force`. From debbugs-submit-bounces@debbugs.gnu.org Fri Oct 04 04:55:37 2024 Received: (at submit) by debbugs.gnu.org; 4 Oct 2024 08:55:37 +0000 Received: from localhost ([127.0.0.1]:34397 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1swe64-0007uS-ET for submit@debbugs.gnu.org; Fri, 04 Oct 2024 04:55:36 -0400 Received: from lists.gnu.org ([209.51.188.17]:56216) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1swe62-0007uD-Ds for submit@debbugs.gnu.org; Fri, 04 Oct 2024 04:55:34 -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 ) id 1swe5z-0003Nh-0B for bug-gnu-emacs@gnu.org; Fri, 04 Oct 2024 04:55:31 -0400 Received: from mout01.posteo.de ([185.67.36.65]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1swe5w-0000Jt-QS for bug-gnu-emacs@gnu.org; Fri, 04 Oct 2024 04:55:30 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id DEF4F240028 for ; Fri, 4 Oct 2024 10:55:23 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1728032123; bh=RoSRH9LAJsk27FnoXlG54AWHkbi7eibjSI6FHGJ9bQg=; h=From:To:Cc:Subject:Autocrypt:OpenPGP:Date:Message-ID:MIME-Version: Content-Type:Content-Transfer-Encoding:From; b=chEyYld5a7VY8O7RZl86qWYHJbj9yzUXiCmUUO+DIm/WxUsDPQHJt98RYngsamntt xXoTaFRrchIcDdCcFVQVTjdGX2+XzSWSHLx/IJLBHUQaxQBsbeWryv8X63u/sHIGT/ 8pBP9wsh0JV+qE5SanlEOvHtWivN2DTehvJOzI1yTLZ0E1MMqh5tpANVg6gP1ea0zH H9JYnx2GD0321rPAr+OuaJyvNng0nssrATY4mEUwFYflwqNU2a1I/ba5XmyJMxEIvT +RZvnyZkIxaD6+WAftJwpHB54HWZpmCVHLHaq0VIultF9t4DOuW2XJ3LijUaU/fN6L pqZ7bAfNvalyA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4XKj6y3FwWz6tw6; Fri, 4 Oct 2024 10:55:22 +0200 (CEST) From: Philip Kaludercic To: Okamsn Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA In-Reply-To: <932d7782-5685-4a43-b34c-fc0bb3a958e4@protonmail.com> (okamsn@protonmail.com's message of "Thu, 03 Oct 2024 00:19:28 +0000") References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <87tte0q2qc.fsf@posteo.net> <068ecfc3-b452-49a8-89bb-f42012aea5d4@protonmail.com> <6caa1395-a3b2-4e70-b905-1cbfee0f92bd@protonmail.com> <87y138hjij.fsf@web.de> <875xqa8fby.fsf@posteo.net> <932d7782-5685-4a43-b34c-fc0bb3a958e4@protonmail.com> Autocrypt: addr=philipk@posteo.net; keydata= mDMEZBBQQhYJKwYBBAHaRw8BAQdAHJuofBrfqFh12uQu0Yi7mrl525F28eTmwUDflFNmdui0QlBo aWxpcCBLYWx1ZGVyY2ljIChnZW5lcmF0ZWQgYnkgYXV0b2NyeXB0LmVsKSA8cGhpbGlwa0Bwb3N0 ZW8ubmV0PoiWBBMWCAA+FiEEDg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwMFCQHhM4AFCwkI BwIGFQoJCAsCBBYCAwECHgECF4AACgkQ8xYDWXahwulikAEA77hloUiSrXgFkUVJhlKBpLCHUjA0 mWZ9j9w5d08+jVwBAK6c4iGP7j+/PhbkxaEKa4V3MzIl7zJkcNNjHCXmvFcEuDgEZBBQQhIKKwYB BAGXVQEFAQEHQI5NLiLRjZy3OfSt1dhCmFyn+fN/QKELUYQetiaoe+MMAwEIB4h+BBgWCAAmFiEE Dg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwwFCQHhM4AACgkQ8xYDWXahwukm+wEA8cml4JpK NeAu65rg+auKrPOP6TP/4YWRCTIvuYDm0joBALw98AMz7/qMHvSCeU/hw9PL6u6R2EScxtpKnWof z4oM OpenPGP: id=7126E1DE2F0CE35C770BED01F2C3CC513DB89F66; url="https://keys.openpgp.org/vks/v1/by-fingerprint/7126E1DE2F0CE35C770BED01F2C3CC513DB89F66"; preference=signencrypt Date: Fri, 04 Oct 2024 08:55:20 +0000 Message-ID: <87zfnk6ydj.fsf@posteo.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=185.67.36.65; envelope-from=philipk@posteo.net; helo=mout01.posteo.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 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, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=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: Michael Heerdegen , "Okamsn via \"Bug reports for GNU Emacs, the Swiss army knife of text editors\"" , Nicolas Petton , Stefan Monnier , 73431@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) Okamsn writes: > Philip Kaludercic wrote: >> Okamsn writes: >>> Michael Heerdegen wrote: >>>> Does changing the internal representation of streams have an effect >>>> on the speed of the run code? >>> >>> I think that it does make it slower. I am trying to test it, and I think >>> that making records is slower than making cons cells. I think that >>> accessing the rest of the stream takes longer because the accessors >>> created by `cl-defstruct` always perform type checking. It seems to take >>> about twice as long when compared to naively using `car` and `cdr`. >>> >>> Do you think that it would be better to disable the type checking in the >>> accessors? If so, would you please share how to do that? The manual >>> talks about using `(optimize (safety 0))` in a declare form, but it also >>> seems to say that it cannot be done locally for just the `cl-defstruct` >>> usage. If it cannot be done, do think it makes sense to use >>> `make-record` directly, along with custom function to replace the >>> generated accessors? >>=20 >> It the overhead noticeable, or just measurable? > > I=E2=80=99m not sure what counts as =E2=80=9Cnoticeable=E2=80=9D. I'd say that real-world code that uses stream.el gets slower. For me the main value of synthetic benchmarks is only the speed difference in orders of magnitude and in the number of GC interrupts. > Using the benchmark macros given at=20 > https://github.com/alphapapa/emacs-package-dev-handbook#benchmarking, I=20 > tested getting the "first" and =E2=80=9Crest=E2=80=9D of streams, both as= fresh streams=20 > and as already evaluated streams. > > These are the results I get for a stream from a list using the current=20 > implementation: > > | Form | Tot. runtime | # of GCs | Tot. GC runtime | > |--------------------------+--------------+----------+-----------------| > | stream 10 evald: rest | 0.015259 | 0 | 0 | > | stream 10: rest | 0.044525 | 0 | 0 | > | stream 10 evald: first | 0.059650 | 0 | 0 | > | stream 10: first | 0.074379 | 0 | 0 | > | stream 100: rest | 0.132317 | 0 | 0 | > | stream 100 evald: rest | 0.132821 | 0 | 0 | > | stream 100 evald: first | 0.198041 | 0 | 0 | > | stream 100: first | 0.205684 | 0 | 0 | > | stream 1000 evald: rest | 1.249168 | 0 | 0 | > | stream 1000: rest | 1.250730 | 0 | 0 | > | stream 1000 evald: first | 1.835921 | 0 | 0 | > | stream 1000: first | 1.857300 | 0 | 0 | > > These are the results I get for a stream from a list using the=20 > struct-based implementation: > > | Form | Tot. runtime | # of GCs | Tot. GC runtime | > |--------------------------+--------------+----------+-----------------| > | stream 10 evald: rest | 0.036241 | 0 | 0 | > | stream 10 evald: first | 0.048213 | 0 | 0 | > | stream 10: rest | 0.048221 | 0 | 0 | > | stream 10: first | 0.048285 | 0 | 0 | > | stream 100 evald: rest | 0.312544 | 0 | 0 | > | stream 100: rest | 0.321046 | 0 | 0 | > | stream 100 evald: first | 0.439694 | 0 | 0 | > | stream 100: first | 0.441674 | 0 | 0 | > | stream 1000: rest | 3.032329 | 0 | 0 | > | stream 1000 evald: rest | 3.142683 | 0 | 0 | > | stream 1000: first | 4.113174 | 0 | 0 | > | stream 1000 evald: first | 4.132561 | 0 | 0 | > > You can see that the struct-based run times are about twice as long. I=20 > think this is from the extra work done by the accessors. For example,=20 > the type-checking is run multiple times when accessing the =E2=80=9Cfirst= =E2=80=9D and=20 > =E2=80=9Crest=E2=80=9D slots, because the accessors are also used in `str= eam--force`. Type checking isn't always that bad; Do you see an (easy) way to avoid type checking from running multiple times? --=20 Philip Kaludercic on siskin From debbugs-submit-bounces@debbugs.gnu.org Fri Oct 04 22:44:44 2024 Received: (at submit) by debbugs.gnu.org; 5 Oct 2024 02:44:44 +0000 Received: from localhost ([127.0.0.1]:37034 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1swumg-000691-TU for submit@debbugs.gnu.org; Fri, 04 Oct 2024 22:44:43 -0400 Received: from lists.gnu.org ([209.51.188.17]:47816) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1swume-00068s-5r for submit@debbugs.gnu.org; Fri, 04 Oct 2024 22:44:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1swumZ-0004cH-Tz for bug-gnu-emacs@gnu.org; Fri, 04 Oct 2024 22:44:35 -0400 Received: from mail-40131.protonmail.ch ([185.70.40.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1swumX-0005D4-5E for bug-gnu-emacs@gnu.org; Fri, 04 Oct 2024 22:44:35 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1728096262; x=1728355462; bh=OCoRmrL3Z7gXuDmUzwCljM1Y+k7He0FSzghiHzudRCA=; 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=ncQl80fDvO5JpxoL9JQmBO3RCGu5BiShBX+MJY+vyIK5xKAXVAaUNQhXYxyqp1Z9/ CHa9csWgRowoe6BXUG6XVgQLAsYuK8x3jcXju1pIN39MG8Dio2797GbHg6eBKAXi8b oYRavvwioncymAlqxoueZvHWPEl3l+Lw/n5cxmCjHSQxfp7eehd2AVb0oFLyttruO0 7q9J7TlGrKZ0G3KKRr3r5nfIh1wenT3nLCZpVogpZuJc/R2WDT7fOg+UIlcqfzXHw3 6q3BGfpe3pK3DturkI3cP8kunzYl5pHswZtpZTEB+uVeI5IsY5rHn+UbrzdwuD+Xni 8P+EsHK6otnPA== Date: Sat, 05 Oct 2024 02:44:18 +0000 To: Philip Kaludercic From: Okamsn Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA Message-ID: <9db72ab8-604e-451d-b9a0-74fa5b3fa81f@protonmail.com> In-Reply-To: <87zfnk6ydj.fsf@posteo.net> References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <068ecfc3-b452-49a8-89bb-f42012aea5d4@protonmail.com> <6caa1395-a3b2-4e70-b905-1cbfee0f92bd@protonmail.com> <87y138hjij.fsf@web.de> <875xqa8fby.fsf@posteo.net> <932d7782-5685-4a43-b34c-fc0bb3a958e4@protonmail.com> <87zfnk6ydj.fsf@posteo.net> Feedback-ID: 25935600:user:proton X-Pm-Message-ID: f1ca41984fc0008d09454ac688d1c9791d3d536f MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_fQpTzvMbedn9sskyqiNKjx5F0Xc9IdaRYzcE3eq3Kc" Received-SPF: pass client-ip=185.70.40.131; envelope-from=okamsn@protonmail.com; helo=mail-40131.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_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-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: Michael Heerdegen , "Okamsn via \"Bug reports for GNU Emacs, the Swiss army knife of text editors\"" , Nicolas Petton , Stefan Monnier , 73431@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) This is a multi-part message in MIME format. --b1_fQpTzvMbedn9sskyqiNKjx5F0Xc9IdaRYzcE3eq3Kc Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Philip Kaludercic wrote: > Okamsn writes: >=20 >> Philip Kaludercic wrote: >>> Okamsn writes: >>>> Michael Heerdegen wrote: >>>>> Does changing the internal representation of streams have an effect >>>>> on the speed of the run code? >>>> >>>> I think that it does make it slower. I am trying to test it, and I thi= nk >>>> that making records is slower than making cons cells. I think that >>>> accessing the rest of the stream takes longer because the accessors >>>> created by `cl-defstruct` always perform type checking. It seems to ta= ke >>>> about twice as long when compared to naively using `car` and `cdr`. >>>> >>>> Do you think that it would be better to disable the type checking in t= he >>>> accessors? If so, would you please share how to do that? The manual >>>> talks about using `(optimize (safety 0))` in a declare form, but it al= so >>>> seems to say that it cannot be done locally for just the `cl-defstruct= ` >>>> usage. If it cannot be done, do think it makes sense to use >>>> `make-record` directly, along with custom function to replace the >>>> generated accessors? >>> >>> It the overhead noticeable, or just measurable? >> >> I=E2=80=99m not sure what counts as =E2=80=9Cnoticeable=E2=80=9D. >=20 > I'd say that real-world code that uses stream.el gets slower. For me > the main value of synthetic benchmarks is only the speed difference in > orders of magnitude and in the number of GC interrupts. >=20 >> ... >> >> You can see that the struct-based run times are about twice as long. I >> think this is from the extra work done by the accessors. For example, >> the type-checking is run multiple times when accessing the =E2=80=9Cfirs= t=E2=80=9D and >> =E2=80=9Crest=E2=80=9D slots, because the accessors are also used in `st= ream--force`. >=20 > Type checking isn't always that bad; Do you see an (easy) way to avoid > type checking from running multiple times? Please see the attached file. By setting `safety` to 0 and explicitly=20 checking only once in `stream--force`, we can avoid the multiple checks=20 when evaluating an unevaluated stream. That helps when going through the=20 stream the first time, but that still leaves multiple calls to=20 `stream--force` when iterating. I don't have any ideas for the latter. Setting safety to 0 is about 15% faster than having the accessors do=20 type checking, but it still isn't as fast as the current cons-based=20 implementation. From what I have tried, iterating through nested arrays=20 seems slower than iterating through a normal list. --b1_fQpTzvMbedn9sskyqiNKjx5F0Xc9IdaRYzcE3eq3Kc Content-Type: text/x-patch; charset=UTF-8; name=v2-0001-Change-stream.el-to-use-structs-instead-of-cons-c.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v2-0001-Change-stream.el-to-use-structs-instead-of-cons-c.patch RnJvbSA5OGZmY2JlMTg0ZmRiYzQwM2FmZGY1YjFjNDhlNzc1MjVkYzFkNDc2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBFYXJsIEh5YXR0IDxva2Ftc25AcHJvdG9ubWFpbC5jb20+CkRh dGU6IFNhdCwgMjggU2VwIDIwMjQgMTU6MDk6MTAgLTA0MDAKU3ViamVjdDogW1BBVENIIHYyXSBD aGFuZ2UgJ3N0cmVhbS5lbCcgdG8gdXNlIHN0cnVjdHMgaW5zdGVhZCBvZiBjb25zIGNlbGxzLiAK IFVwZGF0ZSBmZWF0dXJlcy4KCiogc3RyZWFtLmVsIChzdHJlYW0pOiBEZWZpbmUgdGhlIHN0cnVj dHVyZSB1c2luZyAnY2wtZGVmc3RydWN0Jy4gIFNldApzYWZldHkgdG8gMCB1c2luZyBgY2wtZGVj bGFpbWAgdG8gYXZvaWQgY2hlY2tpbmcgdGhlIHR5cGUgb2YgdGhlIGFyZ3VtZW50CnRvIGBzdHJl YW0tLWZvcmNlYCBtdWx0aXBsZSB0aW1lcy4gIEluc3RlYWQsIGV4cGxpY2l0bHkgY2hlY2sgYSBz aW5nbGUgdGltZQppbiBgc3RyZWFtLS1mb3JjZWAsIHdoaWNoIG11c3QgYmUgdXNlZCBpbnNpZGUg dGhlIHB1YmxpYyBmdW5jdGlvbnMgYW55d2F5LgoKKiBzdHJlYW0uZWwgKHN0cmVhbS1tYWtlKTog Q2hhbmdlIHRvIHVzZSBuZXcgc3RydWN0dXJlIGNvbnN0cnVjdG9yCidzdHJlYW0tLW1ha2Utc3Ry ZWFtJy4KCiogc3RyZWFtLmVsIChzdHJlYW0tLWZvcmNlLCBzdHJlYW0tZmlyc3QsIHN0cmVhbS1y ZXN0KQooc3RyZWFtLWVtcHR5LCBzdHJlYW0tZW1wdHktcCk6IFJlZGVmaW5lIHRvIHVzZSBzdHJ1 Y3R1cmUgc2xvdHMuICBNb3ZlCnRvIGJlIGNsb3NlciB0byB0aGUgc3RydWN0dXJlIGRlZmluaXRp b24uCgoqIHN0cmVhbS5lbCAoc3RyZWFtLWZpcnN0LCBzdHJlYW0tcmVzdCk6IFNpZ25hbCBhbiBl cnJvciB3aGVuIHRyeWluZyB0byB1c2UKdGhlc2UgZnVuY3Rpb25zIGFzIHBsYWNlcyBmb3IgJ3Nl dGYnLgoKKiBzdHJlYW0uZWwgKHN0cmVhbS0tZnJlc2gtaWRlbnRpZmllciwgc3RyZWFtLS1ldmFs ZC1pZGVudGlmaWVyKToKUmVtb3ZlIG5vdyB1bnVzZWQgZGVmaW5pdGlvbnMuCgoqIHN0cmVhbS5l bCAoc3RyZWFtKTogQWRkIGEgbWV0aG9kIHRoYXQgYWNjZXB0cyBhIHN0cmVhbSwgcmV0dXJuaW5n IGl0CnVubW9kaWZpZWQuICBUaGlzIG1ha2VzIG1hcHBpbmcgYWNyb3NzIG11bHRpcGxlIHNlcXVl bmNlcyBlYXNpZXIuCgoqIHN0cmVhbS5lbCAoc3RyZWFtKTogQWRkIGEgbWV0aG9kIHRoYXQgYWNj ZXB0cyBhbiBhcnJheSBhbmQgd2hpY2ggZG9lcyBub3QKY3JlYXRlIHN1Yi1zZXF1ZW5jZXMgb2Yg dGhlIGFycmF5LCB1bmxpa2UgdGhlIGltcGxlbWVudGF0aW9uIGZvciBnZW5lcmljCnNlcXVlbmNl cy4gIFRoaXMgaXMgYSBiaXQgZmFzdGVyIGFuZCBpcyBhIGdvb2QgZXhhbXBsZSBvZiBhIGN1c3Rv bSB1cGRhdGVyCmZ1bmN0aW9uLgoKKiBzdHJlYW0uZWwgKHN0cmVhbS0tZ2VuZXJhbGl6ZXIsIGNs LWdlbmVyaWMtZ2VuZXJhbGl6ZXJzKTogUmVtb3ZlCnRoZXNlIHNwZWNpYWxpemVycyBmcm9tIHRo ZSBvbGQsIGNvbnMtYmFzZWQgaW1wbGVtZW50YXRpb24uCgoqIHN0cmVhbS5lbCAoc2VxLWVsdCk6 IFNpZ25hbCBhbiBlcnJvciB3aGVuIHRyeWluZyB0byB1c2UgdGhpcyBmdW5jdGlvbiBhcyBhCnBs YWNlIGZvciAnc2V0ZicuCgoqIHN0cmVhbS5lbCAoc2VxLWNvbmNhdGVuYXRlKTogQWRkIG1ldGhv ZHMgdGhhdCBkaWQgbm90IHdvcmsgYXMgZXhwZWN0ZWQgd2l0aAp0aGUgZ2VuZXJpYyBpbXBsZW1l bnRhdGlvbi4KCiogdGVzdHMvc3RyZWFtLXRlc3RzLmVsIChzdHJlYW0tc2VxLWNvbmNhdGVuYXRl LXRlc3QsIHN0cmVhbS1zZXEtbWFwY2F0LXRlc3QpCihzdHJlYW0tYXJyYXktdGVzdCk6IEFkZCB0 ZXN0cyBmb3IgdGhlc2UgZmVhdHVyZXMuCgoqIHRlc3RzL3N0cmVhbS10ZXN0cy5lbDogVGVzdCB0 aGF0IGV2YWx1YXRpb24gaXMgZGVsYXllZCBmb3Igc2VxLWRyb3Atd2hpbGUKdXNpbmcgZGVmdGVz dC1mb3ItZGVsYXllZC1ldmFsdWF0aW9uLgotLS0KIHN0cmVhbS5lbCAgICAgICAgICAgICB8IDIx MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0KIHRlc3RzL3N0cmVh bS10ZXN0cy5lbCB8ICAyNiArKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgMTc2IGluc2VydGlvbnMo KyksIDYzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3N0cmVhbS5lbCBiL3N0cmVhbS5lbApp bmRleCA3MTM1ZWUwLi4yM2I4NzAwIDEwMDY0NAotLS0gYS9zdHJlYW0uZWwKKysrIGIvc3RyZWFt LmVsCkBAIC02NiwzNiArNjYsMTM1IEBACiAoZXZhbC13aGVuLWNvbXBpbGUgKHJlcXVpcmUgJ2Ns LWxpYikpCiAocmVxdWlyZSAnc2VxKQogCi0oZXZhbC1hbmQtY29tcGlsZQotICAoZGVmY29uc3Qg c3RyZWFtLS1mcmVzaC1pZGVudGlmaWVyICctLXN0cmVhbS1mcmVzaC0tCi0gICAgIlN5bWJvbCBp bnRlcm5hbGx5IHVzZWQgdG8gc3RyZWFtcyB3aG9zZSBoZWFkIHdhcyBub3QgZXZhbHVhdGVkLiIp Ci0gIChkZWZjb25zdCBzdHJlYW0tLWV2YWxkLWlkZW50aWZpZXIgJy0tc3RyZWFtLWV2YWxkLS0K LSAgICAiU3ltYm9sIGludGVybmFsbHkgdXNlZCB0byBzdHJlYW1zIHdob3NlIGhlYWQgd2FzIGV2 YWx1YXRlZC4iKSkKKzs7IFNldCBzYWZldHkgdG8gMCB0byBhdm9pZCBjaGVja2luZyB0aGUgdHlw ZSBvZiB0aGUgYXJndW1lbnQgbXVsdGlwbGUgdGltZXMKKzs7IHdpdGhpbiBgc3RyZWFtLS1mb3Jj ZScsIHdoaWNoIGlzIHVzZWQgZnJlcXVlbnRseS4KKyhjbC1kZWNsYWltIChvcHRpbWl6ZSAoc2Fm ZXR5IDApKSkKKyhjbC1kZWZzdHJ1Y3QgKHN0cmVhbSAoOmNvbnN0cnVjdG9yIHN0cmVhbS0tbWFr ZS1zdHJlYW0pCisgICAgICAgICAgICAgICAgICAgICAgKDpwcmVkaWNhdGUgc3RyZWFtcCkKKyAg ICAgICAgICAgICAgICAgICAgICA6bmFtZWQpCisKKyAgIkEgbGF6aWx5IGV2YWx1YXRlZCBzZXF1 ZW5jZSwgY29tcGF0aWJsZSB3aXRoIHRoZSBgc2VxJyBsaWJyYXJ5J3MgZnVuY3Rpb25zLiIKKwor ICAoZXZhbHVhdGVkLS1pbnRlcm5hbAorICAgbmlsCisgICA6dHlwZSBib29sZWFuCisgICA6ZG9j dW1lbnRhdGlvbiAiV2hldGhlciB0aGUgaGVhZCBhbmQgdGFpbCBvZiB0aGUgc3RyZWFtIGFyZSBh Y2Nlc3NpYmxlLgorCitUaGlzIHZhbHVlIGlzIHNldCB0byB0IHZpYSB0aGUgZnVuY3Rpb24gYHN0 cmVhbS0tZm9yY2UnIGFmdGVyIGl0CitjYWxscyB0aGUgdXBkYXRlciBmdW5jdGlvbi4iKQorCisg IChmaXJzdC0taW50ZXJuYWwKKyAgIG5pbAorICAgOnR5cGUgKG9yIHQgbnVsbCkKKyAgIDpkb2N1 bWVudGF0aW9uICJUaGUgZmlyc3QgZWxlbWVudCBvZiB0aGUgc3RyZWFtLiIpCisKKyAgKHJlc3Qt LWludGVybmFsCisgICBuaWwKKyAgIDp0eXBlIChvciBzdHJlYW0gbnVsbCkKKyAgIDpkb2N1bWVu dGF0aW9uICJUaGUgcmVzdCBvZiB0aGUgc3RyZWFtLCB3aGljaCBpcyBpdHNlbGYgYSBzdHJlYW0u IikKKworICAoZW1wdHktLWludGVybmFsCisgICBuaWwKKyAgIDp0eXBlIGJvb2xlYW4KKyAgIDpk b2N1bWVudGF0aW9uICJXaGV0aGVyIHRoZSBldmFsdWF0ZWQgc3RyZWFtIGlzIGVtcHR5LgorCitB IHN0cmVhbSBpcyBlbXB0eSBpZiB0aGUgdXBkYXRlciBmdW5jdGlvbiByZXR1cm5zIG5pbCB3aGVu Citgc3RyZWFtLS1mb3JjZScgZXZhbHVhdGVzIHRoZSBzdHJlYW0uIikKKworICAodXBkYXRlci0t aW50ZXJuYWwKKyAgIG5pbAorICAgOnR5cGUgKG9yIGZ1bmN0aW9uIG51bGwpCisgICA6ZG9jdW1l bnRhdGlvbiAiRnVuY3Rpb24gdGhhdCByZXR1cm5zIHRoZSBoZWFkIGFuZCB0YWlsIG9mIHRoZSBz dHJlYW0gd2hlbiBjYWxsZWQuCisKK1RoZSB1cGRhdGVyIGZ1bmN0aW9uIHJldHVybnMgdGhlIGhl YWQgYW5kIHRhaWwgaW4gYSBjb25zIGNlbGwuCitJZiBpdCByZXR1cm5zIG5pbCwgdGhlbiB0aGUg c3RyZWFtIGlzIGVtcHR5IGFuZCBgZW1wdHktLWludGVybmFsJyBpcworc2V0IHRvIHQuICBBZnRl ciB0aGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCwgYXNzdW1pbmcgbm8gZXJyb3JzIHdlcmUgc2lnbmFs ZWQsCitgZXZhbHVhdGVkLS1pbnRlcm5hbCcgaXMgc2V0IHRvIHQuCisKK0luIHRoZSBjYXNlIG9m IHRoZSBjYW5vbmljYWwgZW1wdHkgc3RyZWFtIChzZWUgdGhlIHZhcmlhYmxlIGBzdHJlYW0tZW1w dHknKSwKK3RoaXMgc2xvdCBpcyBuaWwuIikpCisKKyhkZWZ1biBzdHJlYW0tLWZvcmNlIChzdHJl YW0pCisgICJFdmFsdWF0ZSBhbmQgcmV0dXJuIHRoZSBTVFJFQU0uCisKK0lmIHRoZSBvdXRwdXQg b2YgdGhlIHVwZGF0ZXIgZnVuY3Rpb24gaXMgbmlsLCB0aGVuIFNUUkVBTSBpcworbWFya2VkIGFz IGVtcHR5LiAgT3RoZXJ3aXNlLCB0aGUgb3V0cHV0IG9mIHRoZSB1cGRhdGVyIGZ1bmN0aW9uCitp cyB1c2VkIHRvIHNldCB0aGUgaGVhZCBhbmQgdGhlIHRhaWwgb2YgdGhlIHN0cmVhbS4iCisgIDs7 IENoZWNrIGV4cGxpY2l0bHkgc28gdGhhdCB3ZSBjYW4gYXZvaWQgY2hlY2tpbmcKKyAgOzsgaW4g YWNjZXNzb3JzIGJ5IHNldHRpbmcgc2FmZXR5IHRvIDAgdmlhIGBjbC1kZWNsYWltJy4KKyAgKHVu bGVzcyAoc3RyZWFtcCBzdHJlYW0pCisgICAgKHNpZ25hbCAnd3JvbmctdHlwZS1hcmd1bWVudCAo bGlzdCAnc3RyZWFtIHN0cmVhbSkpKQorICAoaWYgKHN0cmVhbS1ldmFsdWF0ZWQtLWludGVybmFs IHN0cmVhbSkKKyAgICAgIHN0cmVhbQorICAgIChwY2FzZSAoZnVuY2FsbCAoc3RyZWFtLXVwZGF0 ZXItLWludGVybmFsIHN0cmVhbSkpCisgICAgICAoYCgsaGVhZCAuICx0YWlsKQorICAgICAgIChz ZXRmIChzdHJlYW0tZmlyc3QtLWludGVybmFsIHN0cmVhbSkgaGVhZAorICAgICAgICAgICAgIChz dHJlYW0tcmVzdC0taW50ZXJuYWwgc3RyZWFtKSB0YWlsKSkKKyAgICAgICgocHJlZCBudWxsKQor ICAgICAgIChzZXRmIChzdHJlYW0tZW1wdHktLWludGVybmFsIHN0cmVhbSkgdCkpCisgICAgICAo YmFkLW91dHB1dAorICAgICAgIChlcnJvciAiQmFkIG91dHB1dCBmcm9tIHN0cmVhbSB1cGRhdGVy OiAlcyIKKyAgICAgICAgICAgICAgYmFkLW91dHB1dCkpKQorICAgIChzZXRmIChzdHJlYW0tZXZh bHVhdGVkLS1pbnRlcm5hbCBzdHJlYW0pIHQpCisgICAgc3RyZWFtKSkKIAogKGRlZm1hY3JvIHN0 cmVhbS1tYWtlICgmcmVzdCBib2R5KQogICAiUmV0dXJuIGEgc3RyZWFtIGJ1aWx0IGZyb20gQk9E WS4KLUJPRFkgbXVzdCByZXR1cm4gbmlsIG9yIGEgY29ucyBjZWxsIHdob3NlIGNkciBpcyBpdHNl bGYgYQotc3RyZWFtLiIKLSAgKGRlY2xhcmUgKGRlYnVnIHQpKQotICBgKGNvbnMgJyxzdHJlYW0t LWZyZXNoLWlkZW50aWZpZXIgKGxhbWJkYSAoKSAsQGJvZHkpKSkKIAotKGRlZnVuIHN0cmVhbS0t Zm9yY2UgKHN0cmVhbSkKLSAgIkV2YWx1YXRlIGFuZCByZXR1cm4gdGhlIGZpcnN0IGNvbnMgY2Vs bCBvZiBTVFJFQU0uCi1UaGF0IHZhbHVlIGlzIHRoZSBvbmUgcGFzc2VkIHRvIGBzdHJlYW0tbWFr ZScuIgotICAoY29uZAotICAgKChlcSAoY2FyLXNhZmUgc3RyZWFtKSBzdHJlYW0tLWV2YWxkLWlk ZW50aWZpZXIpCi0gICAgKGNkciBzdHJlYW0pKQotICAgKChlcSAoY2FyLXNhZmUgc3RyZWFtKSBz dHJlYW0tLWZyZXNoLWlkZW50aWZpZXIpCi0gICAgKHByb2cxIChzZXRmIChjZHIgc3RyZWFtKSAo ZnVuY2FsbCAoY2RyIHN0cmVhbSkpKQotICAgICAgOzsgaWRlbnRpZmllciBpcyBvbmx5IHVwZGF0 ZWQgd2hlbiBmb3JjaW5nIGRpZG4ndCBleGl0IG5vbmxvY2FsbHkKLSAgICAgIChzZXRmIChjYXIg c3RyZWFtKSBzdHJlYW0tLWV2YWxkLWlkZW50aWZpZXIpKSkKLSAgICh0IChzaWduYWwgJ3dyb25n LXR5cGUtYXJndW1lbnQgKGxpc3QgJ3N0cmVhbXAgc3RyZWFtKSkpKSkKK0JPRFkgbXVzdCByZXR1 cm4gYSBjb25zIGNlbGwgd2hvc2UgY2FyIHdvdWxkIGJlIHRoZSBoZWFkIG9mIGEKK3N0cmVhbSBh bmQgd2hvc2UgY2RyIHdvdWxkIGJlIHRoZSB0YWlsIG9mIGEgc3RyZWFtLiAgVGhlIGNkciBtdXN0 CitiZSBhIHN0cmVhbSBpdHNlbGYgaW4gb3JkZXIgdG8gYmUgYSB2YWxpZCB0YWlsLiAgQWx0ZXJu YXRpdmVseSwKK0JPRFkgbWF5IHJldHVybiBuaWwsIGluIHdoaWNoIGNhc2UgdGhlIHN0cmVhbSBp cyBtYXJrZWQgZW1wdHkKK3doZW4gdGhlIHN0cmVhbSBpcyBldmFsdWF0ZWQuIgorICAoZGVjbGFy ZSAoZGVidWcgdCkpCisgIGAoc3RyZWFtLS1tYWtlLXN0cmVhbSA6ZXZhbHVhdGVkLS1pbnRlcm5h bCBuaWwKKyAgICAgICAgICAgICAgICAgICAgICAgIDp1cGRhdGVyLS1pbnRlcm5hbCAobGFtYmRh ICgpICxAYm9keSkpKQogCiAoZGVmbWFjcm8gc3RyZWFtLWNvbnMgKGZpcnN0IHJlc3QpCiAgICJS ZXR1cm4gYSBzdHJlYW0gYnVpbHQgZnJvbSB0aGUgY29ucyBvZiBGSVJTVCBhbmQgUkVTVC4KLUZJ UlNUIGFuZCBSRVNUIGFyZSBmb3JtcyBhbmQgUkVTVCBtdXN0IHJldHVybiBhIHN0cmVhbS4iCisK K0ZJUlNUIGFuZCBSRVNUIGFyZSBmb3Jtcy4gIFJFU1QgbXVzdCByZXR1cm4gYSBzdHJlYW0uIgog ICAoZGVjbGFyZSAoZGVidWcgdCkpCiAgIGAoc3RyZWFtLW1ha2UgKGNvbnMgLGZpcnN0ICxyZXN0 KSkpCisKKyhkZWZjb25zdCBzdHJlYW0tZW1wdHkKKyAgKHN0cmVhbS0tbWFrZS1zdHJlYW0gOmV2 YWx1YXRlZC0taW50ZXJuYWwgdAorICAgICAgICAgICAgICAgICAgICAgICA6Zmlyc3QtLWludGVy bmFsIG5pbAorICAgICAgICAgICAgICAgICAgICAgICA6cmVzdC0taW50ZXJuYWwgbmlsCisgICAg ICAgICAgICAgICAgICAgICAgIDplbXB0eS0taW50ZXJuYWwgdAorICAgICAgICAgICAgICAgICAg ICAgICA6dXBkYXRlci0taW50ZXJuYWwgbmlsKQorICAiVGhlIGVtcHR5IHN0cmVhbS4iKQorCiso ZGVmdW4gc3RyZWFtLWVtcHR5ICgpCisgICJSZXR1cm4gdGhlIGVtcHR5IHN0cmVhbS4iCisgIHN0 cmVhbS1lbXB0eSkKKworKGRlZnVuIHN0cmVhbS1lbXB0eS1wIChzdHJlYW0pCisgICJSZXR1cm4g bm9uLW5pbCBpZiBTVFJFQU0gaXMgZW1wdHksIG5pbCBvdGhlcndpc2UuIgorICAoc3RyZWFtLWVt cHR5LS1pbnRlcm5hbCAoc3RyZWFtLS1mb3JjZSBzdHJlYW0pKSkKKworKGRlZnVuIHN0cmVhbS1m aXJzdCAoc3RyZWFtKQorICAiUmV0dXJuIHRoZSBmaXJzdCBlbGVtZW50IG9mIFNUUkVBTSwgZXZh bHVhdGluZyBpZiBuZWNlc3NhcnkuCisKK0lmIFNUUkVBTSBpcyBlbXB0eSwgcmV0dXJuIG5pbC4i CisgIChzdHJlYW0tZmlyc3QtLWludGVybmFsIChzdHJlYW0tLWZvcmNlIHN0cmVhbSkpKQorCiso ZGVmdW4gXChzZXRmXCBzdHJlYW0tZmlyc3RcKSAoX3N0b3JlIF9zdHJlYW0pCisgICJTaWduYWwg YW4gZXJyb3Igd2hlbiB0cnlpbmcgdG8gdXNlIGBzZXRmJyBvbiB0aGUgaGVhZCBvZiBhIHN0cmVh bS4iCisgIChlcnJvciAiU3RyZWFtcyBhcmUgbm90IG11dGFibGUiKSkKKworKGRlZnVuIHN0cmVh bS1yZXN0IChzdHJlYW0pCisgICJSZXR1cm4gdGhlIHRhaWwgb2YgU1RSRUFNLCBldmFsdWF0aW5n IGlmIG5lY2Vzc2FyeS4KKworSWYgU1RSRUFNIGlzIGVtcHR5LCByZXR1cm4gdGhlIGNhbm9uaWNh bCBlbXB0eSBzdHJlYW0uIgorICAoaWYgKHN0cmVhbS1lbXB0eS1wIHN0cmVhbSkKKyAgICAgIHN0 cmVhbS1lbXB0eQorICAgIChzdHJlYW0tcmVzdC0taW50ZXJuYWwgKHN0cmVhbS0tZm9yY2Ugc3Ry ZWFtKSkpKQorCisoZGVmdW4gXChzZXRmXCBzdHJlYW0tcmVzdFwpIChfc3RvcmUgX3N0cmVhbSkK KyAgIlNpZ25hbCBhbiBlcnJvciB3aGVuIHRyeWluZyB0byB1c2UgYHNldGYnIG9uIHRoZSB0YWls IG9mIGEgc3RyZWFtLiIKKyAgKGVycm9yICJTdHJlYW1zIGFyZSBub3QgbXV0YWJsZSIpKQorCiAM CiAKIDs7OyBDb252ZW5pZW50IGZ1bmN0aW9ucyBmb3IgY3JlYXRpbmcgc3RyZWFtcwpAQCAtMTAz LDYgKzIwMiwxMCBAQCAoZGVmbWFjcm8gc3RyZWFtLWNvbnMgKGZpcnN0IHJlc3QpCiAoY2wtZGVm Z2VuZXJpYyBzdHJlYW0gKHNyYykKICAgIlJldHVybiBhIG5ldyBzdHJlYW0gZnJvbSBTUkMuIikK IAorKGNsLWRlZm1ldGhvZCBzdHJlYW0gKChzdHJlYW0gc3RyZWFtKSkKKyAgIlJldHVybiBTVFJF QU0gdW5tb2RpZmllZC4iCisgIHN0cmVhbSkKKwogKGNsLWRlZm1ldGhvZCBzdHJlYW0gKChzZXEg c2VxdWVuY2UpKQogICAiUmV0dXJuIGEgc3RyZWFtIGJ1aWx0IGZyb20gdGhlIHNlcXVlbmNlIFNF US4KIFNFUSBjYW4gYmUgYSBsaXN0LCB2ZWN0b3Igb3Igc3RyaW5nLiIKQEAgLTExMiw2ICsyMTUs MjQgQEAgKGNsLWRlZm1ldGhvZCBzdHJlYW0gKChzZXEgc2VxdWVuY2UpKQogICAgICAoc2VxLWVs dCBzZXEgMCkKICAgICAgKHN0cmVhbSAoc2VxLXN1YnNlcSBzZXEgMSkpKSkpCiAKKyhjbC1kZWZt ZXRob2Qgc3RyZWFtICgoYXJyYXkgYXJyYXkpKQorICAiUmV0dXJuIGEgc3RyZWFtIGJ1aWx0IGZy b20gdGhlIGFycmF5IEFSUkFZLiIKKyAgKGxldCAoKGxlbiAobGVuZ3RoIGFycmF5KSkpCisgICAg KGlmICg9IGxlbiAwKQorICAgICAgICAoc3RyZWFtLWVtcHR5KQorICAgICAgOzsgVGhpcyBhcHBy b2FjaCBjb3VsZCBhdm9pZCBvbmUgbGV2ZWwgb2YgaW5kaXJlY3Rpb24gYnkgc2V0dGluZworICAg ICAgOzsgYHN0cmVhbS11cGRhdGVyLS1pbnRlcm5hbCcgZGlyZWN0bHksIGJ1dCB1c2luZyBgZnVu Y2FsbCcgbWFrZXMgZm9yIGEKKyAgICAgIDs7IGdvb2QgZXhhbXBsZSBvZiBob3cgdG8gdXNlIGEg Y3VzdG9tIHVwZGF0ZXIgZnVuY3Rpb24gdXNpbmcgdGhlIHB1YmxpYworICAgICAgOzsgaW50ZXJm YWNlLgorICAgICAgKGxldCAoKGlkeCAwKSkKKyAgICAgICAgKGNsLWxhYmVscyAoKHVwZGF0ZXIg KCkKKyAgICAgICAgICAgICAgICAgICAgICAoaWYgKDwgaWR4IGxlbikKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgKHByb2cxIChjb25zIChhcmVmIGFycmF5IGlkeCkKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIChzdHJlYW0tbWFrZSAoZnVuY2FsbCAjJ3VwZGF0ZXIp KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2V0cSBpZHggKDErIGlkeCkpKQorICAg ICAgICAgICAgICAgICAgICAgICAgbmlsKSkpCisgICAgICAgICAgKHN0cmVhbS1tYWtlIChmdW5j YWxsICMndXBkYXRlcikpKSkpKSkKKwogKGNsLWRlZm1ldGhvZCBzdHJlYW0gKChsaXN0IGxpc3Qp KQogICAiUmV0dXJuIGEgc3RyZWFtIGJ1aWx0IGZyb20gdGhlIGxpc3QgTElTVC4iCiAgIChpZiAo bnVsbCBsaXN0KQpAQCAtMTkwLDMzICszMTEsNiBAQCAoZGVmdW4gc3RyZWFtLXJhbmdlICgmb3B0 aW9uYWwgc3RhcnQgZW5kIHN0ZXApCiAgICAgIChzdHJlYW0tcmFuZ2UgKCsgc3RhcnQgc3RlcCkg ZW5kIHN0ZXApKSkpCiAMCiAKLShkZWZ1biBzdHJlYW1wIChzdHJlYW0pCi0gICJSZXR1cm4gbm9u LW5pbCBpZiBTVFJFQU0gaXMgYSBzdHJlYW0sIG5pbCBvdGhlcndpc2UuIgotICAobGV0ICgoY2Fy IChjYXItc2FmZSBzdHJlYW0pKSkKLSAgICAob3IgKGVxIGNhciBzdHJlYW0tLWZyZXNoLWlkZW50 aWZpZXIpCi0gICAgICAgIChlcSBjYXIgc3RyZWFtLS1ldmFsZC1pZGVudGlmaWVyKSkpKQotCi0o ZGVmY29uc3Qgc3RyZWFtLWVtcHR5IChjb25zIHN0cmVhbS0tZXZhbGQtaWRlbnRpZmllciBuaWwp Ci0gICJUaGUgZW1wdHkgc3RyZWFtLiIpCi0KLShkZWZ1biBzdHJlYW0tZW1wdHkgKCkKLSAgIlJl dHVybiB0aGUgZW1wdHkgc3RyZWFtLiIKLSAgc3RyZWFtLWVtcHR5KQotCi0oZGVmdW4gc3RyZWFt LWVtcHR5LXAgKHN0cmVhbSkKLSAgIlJldHVybiBub24tbmlsIGlmIFNUUkVBTSBpcyBlbXB0eSwg bmlsIG90aGVyd2lzZS4iCi0gIChudWxsIChjZHIgKHN0cmVhbS0tZm9yY2Ugc3RyZWFtKSkpKQot Ci0oZGVmdW4gc3RyZWFtLWZpcnN0IChzdHJlYW0pCi0gICJSZXR1cm4gdGhlIGZpcnN0IGVsZW1l bnQgb2YgU1RSRUFNLgotUmV0dXJuIG5pbCBpZiBTVFJFQU0gaXMgZW1wdHkuIgotICAoY2FyIChz dHJlYW0tLWZvcmNlIHN0cmVhbSkpKQotCi0oZGVmdW4gc3RyZWFtLXJlc3QgKHN0cmVhbSkKLSAg IlJldHVybiBhIHN0cmVhbSBvZiBhbGwgYnV0IHRoZSBmaXJzdCBlbGVtZW50IG9mIFNUUkVBTS4i Ci0gIChvciAoY2RyIChzdHJlYW0tLWZvcmNlIHN0cmVhbSkpCi0gICAgICAoc3RyZWFtLWVtcHR5 KSkpCi0KIChkZWZ1biBzdHJlYW0tYXBwZW5kICgmcmVzdCBzdHJlYW1zKQogICAiQ29uY2F0ZW5h dGUgdGhlIFNUUkVBTVMuCiBSZXF1ZXN0aW5nIGVsZW1lbnRzIGZyb20gdGhlIHJlc3VsdGluZyBz dHJlYW0gd2lsbCByZXF1ZXN0IHRoZQpAQCAtMjQwLDIyICszMzQsNyBAQCAoZGVmbWFjcm8gc3Ry ZWFtLXBvcCAoc3RyZWFtKQogICBgKHByb2cxCiAgICAgICAgKHN0cmVhbS1maXJzdCAsc3RyZWFt KQogICAgICAoc2V0cSAsc3RyZWFtIChzdHJlYW0tcmVzdCAsc3RyZWFtKSkpKQotDAogCi07Ozsg Y2wtZ2VuZXJpYyBzdXBwb3J0IGZvciBzdHJlYW1zCi0KLShjbC1nZW5lcmljLWRlZmluZS1nZW5l cmFsaXplciBzdHJlYW0tLWdlbmVyYWxpemVyCi0gIDExCi0gIChsYW1iZGEgKG5hbWUgJnJlc3Qg XykKLSAgICBgKHdoZW4gKHN0cmVhbXAgLG5hbWUpCi0gICAgICAgJ3N0cmVhbSkpCi0gIChsYW1i ZGEgKHRhZyAmcmVzdCBfKQotICAgICh3aGVuIChlcSB0YWcgJ3N0cmVhbSkKLSAgICAgICcoc3Ry ZWFtKSkpKQotCi0oY2wtZGVmbWV0aG9kIGNsLWdlbmVyaWMtZ2VuZXJhbGl6ZXJzICgoX3NwZWNp YWxpemVyIChlcWwgc3RyZWFtKSkpCi0gICJTdXBwb3J0IGZvciBgc3RyZWFtJyBzcGVjaWFsaXpl cnMuIgotICAobGlzdCBzdHJlYW0tLWdlbmVyYWxpemVyKSkKIAwKIAogOzs7IEltcGxlbWVudGF0 aW9uIG9mIHNlcS5lbCBnZW5lcmljIGZ1bmN0aW9ucwpAQCAtMjczLDYgKzM1Miw5IEBAIChjbC1k ZWZtZXRob2Qgc2VxLWVsdCAoKHN0cmVhbSBzdHJlYW0pIG4pCiAgICAgKHNldHEgbiAoMS0gbikp KQogICAoc3RyZWFtLWZpcnN0IHN0cmVhbSkpCiAKKyhjbC1kZWZtZXRob2QgKHNldGYgc2VxLWVs dCkgKF9zdG9yZSAoX3NlcXVlbmNlIHN0cmVhbSkgX24pCisgIChlcnJvciAiU3RyZWFtcyBhcmUg bm90IG11dGFibGUiKSkKKwogKGNsLWRlZm1ldGhvZCBzZXEtbGVuZ3RoICgoc3RyZWFtIHN0cmVh bSkpCiAgICJSZXR1cm4gdGhlIGxlbmd0aCBvZiBTVFJFQU0uCiBUaGlzIGZ1bmN0aW9uIHdpbGwg ZWFnZXJseSBjb25zdW1lIHRoZSBlbnRpcmUgc3RyZWFtLiIKQEAgLTQxNyw2ICs0OTksMTEgQEAg KGRlZm1hY3JvIHN0cmVhbS1kZWxheSAoZXhwcikKIChjbC1kZWZtZXRob2Qgc2VxLWNvcHkgKChz dHJlYW0gc3RyZWFtKSkKICAgIlJldHVybiBhIHNoYWxsb3cgY29weSBvZiBTVFJFQU0uIgogICAo c3RyZWFtLWRlbGF5IHN0cmVhbSkpCisKKyhjbC1kZWZtZXRob2Qgc2VxLWNvbmNhdGVuYXRlICgo X3R5cGUgKGVxbCBzdHJlYW0pKSAmcmVzdCBzZXF1ZW5jZXMpCisgICJNYWtlIGEgc3RyZWFtIHdo aWNoIGNvbmNhdGVuYXRlcyBlYWNoIHNlcXVlbmNlIGluIFNFUVVFTkNFUy4iCisgIChhcHBseSAj J3N0cmVhbS1hcHBlbmQgKG1hcGNhciAjJ3N0cmVhbSBzZXF1ZW5jZXMpKSkKKwogDAogCiA7Ozsg TW9yZSBzdHJlYW0gb3BlcmF0aW9ucwpkaWZmIC0tZ2l0IGEvdGVzdHMvc3RyZWFtLXRlc3RzLmVs IGIvdGVzdHMvc3RyZWFtLXRlc3RzLmVsCmluZGV4IGJhMzA0ZjEuLmRlZmM1NDQgMTAwNjQ0Ci0t LSBhL3Rlc3RzL3N0cmVhbS10ZXN0cy5lbAorKysgYi90ZXN0cy9zdHJlYW0tdGVzdHMuZWwKQEAg LTIxMiw2ICsyMTIsMjcgQEAgKGVydC1kZWZ0ZXN0IHN0cmVhbS1kZWxheS10ZXN0ICgpCiAgICAg ICAgICAgICAoYW5kIChlcXVhbCByZXMxIDUpCiAgICAgICAgICAgICAgICAgIChlcXVhbCByZXMy IDUpKSkpKQogCisoZXJ0LWRlZnRlc3Qgc3RyZWFtLXNlcS1jb25jYXRlbmF0ZS10ZXN0ICgpCisg IChzaG91bGQgKHN0cmVhbXAgKHNlcS1jb25jYXRlbmF0ZSAnc3RyZWFtIChsaXN0IDEgMikgKHZl Y3RvciAzIDQpIChzdHJlYW0gKGxpc3QgNSA2KSkpKSkKKyAgKHNob3VsZCAoZXF1YWwgJygxIDIg MyA0IDUgNikKKyAgICAgICAgICAgICAgICAgKHNlcS1pbnRvIChzZXEtY29uY2F0ZW5hdGUgJ3N0 cmVhbQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobGlzdCAx IDIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2ZWN0b3Ig MyA0KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RyZWFt IChsaXN0IDUgNikpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2xpc3QpKSkpCisKKyhl cnQtZGVmdGVzdCBzdHJlYW0tc2VxLW1hcGNhdC10ZXN0ICgpCisgIChzaG91bGQgKHN0cmVhbXAg KHNlcS1tYXBjYXQgIydzdHJlYW0gKGxpc3QgKGxpc3QgMSAyKQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2ZWN0b3IgMyA0KQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdHJlYW0gKGxpc3QgNSA2KSkpCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N0cmVhbSkpKQorICAoc2hvdWxkIChlcXVhbCAn KDEgMiAzIDQgNSA2KQorICAgICAgICAgICAgICAgICAoc2VxLWludG8gKHNlcS1tYXBjYXQgIydz dHJlYW0gKGxpc3QgKGxpc3QgMSAyKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKHZlY3RvciAzIDQpCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RyZWFtIChsaXN0IDUgNikpKQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N0cmVhbSkKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICdsaXN0KSkpKQorCiAoZXJ0LWRlZnRlc3Qgc3RyZWFtLXNlcS1jb3B5 LXRlc3QgKCkKICAgKHNob3VsZCAoc3RyZWFtcCAoc2VxLWNvcHkgKHN0cmVhbS1yYW5nZSkpKSkK ICAgKHNob3VsZCAoPSAwIChzdHJlYW0tZmlyc3QgKHNlcS1jb3B5IChzdHJlYW0tcmFuZ2UpKSkp KQpAQCAtMjM0LDYgKzI1NSwxMCBAQCAoZXJ0LWRlZnRlc3Qgc3RyZWFtLWxpc3QtdGVzdCAoKQog ICAoZG9saXN0IChsaXN0ICcobmlsICcoMSAyIDMpICcoYSAuIGIpKSkKICAgICAoc2hvdWxkIChl cXVhbCBsaXN0IChzZXEtaW50byAoc3RyZWFtIGxpc3QpICdsaXN0KSkpKSkKIAorKGVydC1kZWZ0 ZXN0IHN0cmVhbS1hcnJheS10ZXN0ICgpCisgIChkb2xpc3QgKGFyciAobGlzdCAiY2F0IiBbMCAx IDJdKSkKKyAgICAoc2hvdWxkIChlcXVhbCBhcnIgKHNlcS1pbnRvIChzdHJlYW0gYXJyKSAodHlw ZS1vZiBhcnIpKSkpKSkKKwogKGVydC1kZWZ0ZXN0IHN0cmVhbS1zZXEtc3Vic2VxLXRlc3QgKCkK ICAgKHNob3VsZCAoc3RyZWFtLWVtcHR5LXAgKHNlcS1zdWJzZXEgKHN0cmVhbS1yYW5nZSAyIDEw KSAwIDApKSkKICAgKHNob3VsZCAoPSAoc3RyZWFtLWZpcnN0IChzZXEtc3Vic2VxIChzdHJlYW0t cmFuZ2UgMiAxMCkgMCAzKSkgMikpCkBAIC0yOTYsNiArMzIxLDcgQEAgKGRlZnRlc3QtZm9yLWRl bGF5ZWQtZXZhbHVhdGlvbiAoc3RyZWFtLWFwcGVuZCAgKG1ha2UtZGVsYXllZC10ZXN0LXN0cmVh bSkgKG1ha2UKIChkZWZ0ZXN0LWZvci1kZWxheWVkLWV2YWx1YXRpb24gKHNlcS10YWtlIChtYWtl LWRlbGF5ZWQtdGVzdC1zdHJlYW0pIDIpKQogKGRlZnRlc3QtZm9yLWRlbGF5ZWQtZXZhbHVhdGlv biAoc2VxLWRyb3AgKG1ha2UtZGVsYXllZC10ZXN0LXN0cmVhbSkgMikpCiAoZGVmdGVzdC1mb3It ZGVsYXllZC1ldmFsdWF0aW9uIChzZXEtdGFrZS13aGlsZSAjJ251bWJlcnAgKG1ha2UtZGVsYXll ZC10ZXN0LXN0cmVhbSkpKQorKGRlZnRlc3QtZm9yLWRlbGF5ZWQtZXZhbHVhdGlvbiAoc2VxLWRy b3Atd2hpbGUgIydudW1iZXJwIChtYWtlLWRlbGF5ZWQtdGVzdC1zdHJlYW0pKSkKIChkZWZ0ZXN0 LWZvci1kZWxheWVkLWV2YWx1YXRpb24gKHNlcS1tYXAgIydpZGVudGl0eSAobWFrZS1kZWxheWVk LXRlc3Qtc3RyZWFtKSkpCiAoZGVmdGVzdC1mb3ItZGVsYXllZC1ldmFsdWF0aW9uIChzZXEtbWFw biAjJ2NvbnMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtYWtl LWRlbGF5ZWQtdGVzdC1zdHJlYW0pCi0tIAoyLjM0LjEKCg== --b1_fQpTzvMbedn9sskyqiNKjx5F0Xc9IdaRYzcE3eq3Kc-- From debbugs-submit-bounces@debbugs.gnu.org Sat Oct 05 05:14:23 2024 Received: (at submit) by debbugs.gnu.org; 5 Oct 2024 09:14:23 +0000 Received: from localhost ([127.0.0.1]:37285 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sx0rl-00018q-TS for submit@debbugs.gnu.org; Sat, 05 Oct 2024 05:14:23 -0400 Received: from lists.gnu.org ([209.51.188.17]:37522) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sx0ri-00018e-Vj for submit@debbugs.gnu.org; Sat, 05 Oct 2024 05:14:20 -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 ) id 1sx0re-0007NZ-4d for bug-gnu-emacs@gnu.org; Sat, 05 Oct 2024 05:14:14 -0400 Received: from mout02.posteo.de ([185.67.36.66]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sx0rb-0002uA-Gb for bug-gnu-emacs@gnu.org; Sat, 05 Oct 2024 05:14:13 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 4A0D9240101 for ; Sat, 5 Oct 2024 11:14:04 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1728119644; bh=rbo80bOU5PAYktwukqipyXNf3e0+HJ4pPVV6JOLASnI=; h=From:To:Cc:Subject:Autocrypt:OpenPGP:Date:Message-ID:MIME-Version: Content-Type:Content-Transfer-Encoding:From; b=rYlsZyTuki2I9mZ8nk7myncLqJoK5twW9UL5941iuICzOc7QWkm7APsQ9TZYYm6VM ExBiOliDbgDb0eFog+kV7Gt2yPLB2ws7JvDXZHsjWS3uwKH/Ws/sZ+JfWTlXneUUyH sdlnbng/+C4K0CvHhaet7oGYqcLQKRyCyX3ZWagLTZSuYTP2DEdspzZasPmEBWdPjW wtkDBd6WdtK7Vf1SLTdoD+bbjTxELTM8FQ1R1hY1TPiGkM4N84SY1AfgZ4sY/TVNWE gekSpt0wSlsewqZ20VhIVeX7b53PL4QWrOu5prRwuRcF4hRKDCHIM4ZPO3t3UTQ7Ad 2rxgGlDDx54mg== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4XLKV24dmDz6twM; Sat, 5 Oct 2024 11:14:02 +0200 (CEST) From: Philip Kaludercic To: Okamsn Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA In-Reply-To: <9db72ab8-604e-451d-b9a0-74fa5b3fa81f@protonmail.com> (okamsn@protonmail.com's message of "Sat, 05 Oct 2024 02:44:18 +0000") References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <068ecfc3-b452-49a8-89bb-f42012aea5d4@protonmail.com> <6caa1395-a3b2-4e70-b905-1cbfee0f92bd@protonmail.com> <87y138hjij.fsf@web.de> <875xqa8fby.fsf@posteo.net> <932d7782-5685-4a43-b34c-fc0bb3a958e4@protonmail.com> <87zfnk6ydj.fsf@posteo.net> <9db72ab8-604e-451d-b9a0-74fa5b3fa81f@protonmail.com> Autocrypt: addr=philipk@posteo.net; keydata= mDMEZBBQQhYJKwYBBAHaRw8BAQdAHJuofBrfqFh12uQu0Yi7mrl525F28eTmwUDflFNmdui0QlBo aWxpcCBLYWx1ZGVyY2ljIChnZW5lcmF0ZWQgYnkgYXV0b2NyeXB0LmVsKSA8cGhpbGlwa0Bwb3N0 ZW8ubmV0PoiWBBMWCAA+FiEEDg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwMFCQHhM4AFCwkI BwIGFQoJCAsCBBYCAwECHgECF4AACgkQ8xYDWXahwulikAEA77hloUiSrXgFkUVJhlKBpLCHUjA0 mWZ9j9w5d08+jVwBAK6c4iGP7j+/PhbkxaEKa4V3MzIl7zJkcNNjHCXmvFcEuDgEZBBQQhIKKwYB BAGXVQEFAQEHQI5NLiLRjZy3OfSt1dhCmFyn+fN/QKELUYQetiaoe+MMAwEIB4h+BBgWCAAmFiEE Dg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwwFCQHhM4AACgkQ8xYDWXahwukm+wEA8cml4JpK NeAu65rg+auKrPOP6TP/4YWRCTIvuYDm0joBALw98AMz7/qMHvSCeU/hw9PL6u6R2EScxtpKnWof z4oM OpenPGP: id=philipk@posteo.net; url="https://keys.openpgp.org/vks/v1/by-email/philipk@posteo.net"; preference=signencrypt Date: Sat, 05 Oct 2024 09:14:01 +0000 Message-ID: <87a5fic3om.fsf@posteo.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=185.67.36.66; envelope-from=philipk@posteo.net; helo=mout02.posteo.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 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, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=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: Michael Heerdegen , "Okamsn via \"Bug reports for GNU Emacs, the Swiss army knife of text editors\"" , Nicolas Petton , Stefan Monnier , 73431@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) Okamsn writes: > Philip Kaludercic wrote: >> Okamsn writes: >>=20 >>> Philip Kaludercic wrote: >>>> Okamsn writes: >>>>> Michael Heerdegen wrote: >>>>>> Does changing the internal representation of streams have an effect >>>>>> on the speed of the run code? >>>>> >>>>> I think that it does make it slower. I am trying to test it, and I th= ink >>>>> that making records is slower than making cons cells. I think that >>>>> accessing the rest of the stream takes longer because the accessors >>>>> created by `cl-defstruct` always perform type checking. It seems to t= ake >>>>> about twice as long when compared to naively using `car` and `cdr`. >>>>> >>>>> Do you think that it would be better to disable the type checking in = the >>>>> accessors? If so, would you please share how to do that? The manual >>>>> talks about using `(optimize (safety 0))` in a declare form, but it a= lso >>>>> seems to say that it cannot be done locally for just the `cl-defstruc= t` >>>>> usage. If it cannot be done, do think it makes sense to use >>>>> `make-record` directly, along with custom function to replace the >>>>> generated accessors? >>>> >>>> It the overhead noticeable, or just measurable? >>> >>> I=E2=80=99m not sure what counts as =E2=80=9Cnoticeable=E2=80=9D. >>=20 >> I'd say that real-world code that uses stream.el gets slower. For me >> the main value of synthetic benchmarks is only the speed difference in >> orders of magnitude and in the number of GC interrupts. >>=20 >>> ... > >> >>> You can see that the struct-based run times are about twice as long. I >>> think this is from the extra work done by the accessors. For example, >>> the type-checking is run multiple times when accessing the =E2=80=9Cfir= st=E2=80=9D and >>> =E2=80=9Crest=E2=80=9D slots, because the accessors are also used in `s= tream--force`. >>=20 >> Type checking isn't always that bad; Do you see an (easy) way to avoid >> type checking from running multiple times? > > Please see the attached file. By setting `safety` to 0 and explicitly=20 > checking only once in `stream--force`, we can avoid the multiple checks=20 > when evaluating an unevaluated stream. That helps when going through the= =20 > stream the first time, but that still leaves multiple calls to=20 > `stream--force` when iterating. I don't have any ideas for the latter. > > Setting safety to 0 is about 15% faster than having the accessors do=20 > type checking, but it still isn't as fast as the current cons-based=20 > implementation. From what I have tried, iterating through nested arrays= =20 > seems slower than iterating through a normal list. > > From 98ffcbe184fdbc403afdf5b1c48e77525dc1d476 Mon Sep 17 00:00:00 2001 > From: Earl Hyatt > Date: Sat, 28 Sep 2024 15:09:10 -0400 > Subject: [PATCH v2] Change 'stream.el' to use structs instead of cons cel= ls.=20 > Update features. > > * stream.el (stream): Define the structure using 'cl-defstruct'. Set > safety to 0 using `cl-declaim` to avoid checking the type of the argument > to `stream--force` multiple times. Instead, explicitly check a single ti= me > in `stream--force`, which must be used inside the public functions anyway. > > * stream.el (stream-make): Change to use new structure constructor > 'stream--make-stream'. > > * stream.el (stream--force, stream-first, stream-rest) > (stream-empty, stream-empty-p): Redefine to use structure slots. Move > to be closer to the structure definition. > > * stream.el (stream-first, stream-rest): Signal an error when trying to u= se > these functions as places for 'setf'. > > * stream.el (stream--fresh-identifier, stream--evald-identifier): > Remove now unused definitions. > > * stream.el (stream): Add a method that accepts a stream, returning it > unmodified. This makes mapping across multiple sequences easier. > > * stream.el (stream): Add a method that accepts an array and which does n= ot > create sub-sequences of the array, unlike the implementation for generic > sequences. This is a bit faster and is a good example of a custom updater > function. > > * stream.el (stream--generalizer, cl-generic-generalizers): Remove > these specializers from the old, cons-based implementation. > > * stream.el (seq-elt): Signal an error when trying to use this function a= s a > place for 'setf'. > > * stream.el (seq-concatenate): Add methods that did not work as expected = with > the generic implementation. > > * tests/stream-tests.el (stream-seq-concatenate-test, stream-seq-mapcat-t= est) > (stream-array-test): Add tests for these features. > > * tests/stream-tests.el: Test that evaluation is delayed for seq-drop-whi= le > using deftest-for-delayed-evaluation. > --- > stream.el | 213 +++++++++++++++++++++++++++++------------- > tests/stream-tests.el | 26 ++++++ > 2 files changed, 176 insertions(+), 63 deletions(-) > > diff --git a/stream.el b/stream.el > index 7135ee0..23b8700 100644 > --- a/stream.el > +++ b/stream.el > @@ -66,36 +66,135 @@ > (eval-when-compile (require 'cl-lib)) > (require 'seq) >=20=20 > -(eval-and-compile > - (defconst stream--fresh-identifier '--stream-fresh-- > - "Symbol internally used to streams whose head was not evaluated.") > - (defconst stream--evald-identifier '--stream-evald-- > - "Symbol internally used to streams whose head was evaluated.")) > +;; Set safety to 0 to avoid checking the type of the argument multiple t= imes > +;; within `stream--force', which is used frequently. > +(cl-declaim (optimize (safety 0))) > +(cl-defstruct (stream (:constructor stream--make-stream) > + (:predicate streamp) > + :named) > + > + "A lazily evaluated sequence, compatible with the `seq' library's func= tions." > + > + (evaluated--internal > + nil > + :type boolean > + :documentation "Whether the head and tail of the stream are accessibl= e. > + > +This value is set to t via the function `stream--force' after it > +calls the updater function.") > + > + (first--internal > + nil > + :type (or t null) Isn't this type just t? Not a proof, but this doesn't signal: (mapatoms (lambda (sym) (when (and (boundp sym) (not (cl-typep (symbol-value sym) '(or t null)))) (throw 'fail sym)))) > + :documentation "The first element of the stream.") > + > + (rest--internal > + nil > + :type (or stream null) > + :documentation "The rest of the stream, which is itself a stream.") > + > + (empty--internal > + nil > + :type boolean > + :documentation "Whether the evaluated stream is empty. > + > +A stream is empty if the updater function returns nil when > +`stream--force' evaluates the stream.") > + > + (updater--internal > + nil > + :type (or function null) > + :documentation "Function that returns the head and tail of the stream= when called. > + > +The updater function returns the head and tail in a cons cell. > +If it returns nil, then the stream is empty and `empty--internal' is > +set to t. After this function is called, assuming no errors were signal= ed, > +`evaluated--internal' is set to t. > + > +In the case of the canonical empty stream (see the variable `stream-empt= y'), > +this slot is nil.")) > + > +(defun stream--force (stream) > + "Evaluate and return the STREAM. > + > +If the output of the updater function is nil, then STREAM is > +marked as empty. Otherwise, the output of the updater function > +is used to set the head and the tail of the stream." > + ;; Check explicitly so that we can avoid checking > + ;; in accessors by setting safety to 0 via `cl-declaim'. > + (unless (streamp stream) > + (signal 'wrong-type-argument (list 'stream stream))) If you are already using cl-lib, you could also make use of `cl-check-type'. > + (if (stream-evaluated--internal stream) > + stream > + (pcase (funcall (stream-updater--internal stream)) > + (`(,head . ,tail) > + (setf (stream-first--internal stream) head > + (stream-rest--internal stream) tail)) > + ((pred null) > + (setf (stream-empty--internal stream) t)) > + (bad-output > + (error "Bad output from stream updater: %s" > + bad-output))) > + (setf (stream-evaluated--internal stream) t) > + stream)) >=20=20 > (defmacro stream-make (&rest body) > "Return a stream built from BODY. > -BODY must return nil or a cons cell whose cdr is itself a > -stream." > - (declare (debug t)) > - `(cons ',stream--fresh-identifier (lambda () ,@body))) >=20=20 > -(defun stream--force (stream) Did you change the order of the definitions? > - "Evaluate and return the first cons cell of STREAM. > -That value is the one passed to `stream-make'." > - (cond > - ((eq (car-safe stream) stream--evald-identifier) > - (cdr stream)) > - ((eq (car-safe stream) stream--fresh-identifier) > - (prog1 (setf (cdr stream) (funcall (cdr stream))) > - ;; identifier is only updated when forcing didn't exit nonlocally > - (setf (car stream) stream--evald-identifier))) > - (t (signal 'wrong-type-argument (list 'streamp stream))))) > +BODY must return a cons cell whose car would be the head of a > +stream and whose cdr would be the tail of a stream. The cdr must > +be a stream itself in order to be a valid tail. Alternatively, > +BODY may return nil, in which case the stream is marked empty > +when the stream is evaluated." > + (declare (debug t)) > + `(stream--make-stream :evaluated--internal nil > + :updater--internal (lambda () ,@body))) >=20=20 > (defmacro stream-cons (first rest) > "Return a stream built from the cons of FIRST and REST. > -FIRST and REST are forms and REST must return a stream." > + > +FIRST and REST are forms. REST must return a stream." > (declare (debug t)) > `(stream-make (cons ,first ,rest))) > + > +(defconst stream-empty > + (stream--make-stream :evaluated--internal t > + :first--internal nil > + :rest--internal nil > + :empty--internal t > + :updater--internal nil) > + "The empty stream.") > + > +(defun stream-empty () > + "Return the empty stream." > + stream-empty) This definition also appears unchanged? Please try to keep the diff as small as possible. > + > +(defun stream-empty-p (stream) > + "Return non-nil if STREAM is empty, nil otherwise." > + (stream-empty--internal (stream--force stream))) > + > +(defun stream-first (stream) > + "Return the first element of STREAM, evaluating if necessary. > + > +If STREAM is empty, return nil." > + (stream-first--internal (stream--force stream))) > + > +(defun \(setf\ stream-first\) (_store _stream) > + "Signal an error when trying to use `setf' on the head of a stream." > + (error "Streams are not mutable")) This should also be part of a second patch. > +(defun stream-rest (stream) > + "Return the tail of STREAM, evaluating if necessary. > + > +If STREAM is empty, return the canonical empty stream." > + (if (stream-empty-p stream) > + stream-empty > + (stream-rest--internal (stream--force stream)))) > + > +(defun \(setf\ stream-rest\) (_store _stream) > + "Signal an error when trying to use `setf' on the tail of a stream." > + (error "Streams are not mutable")) > + > >=20=20 > ;;; Convenient functions for creating streams > @@ -103,6 +202,10 @@ (defmacro stream-cons (first rest) > (cl-defgeneric stream (src) > "Return a new stream from SRC.") >=20=20 > +(cl-defmethod stream ((stream stream)) > + "Return STREAM unmodified." > + stream) > + > (cl-defmethod stream ((seq sequence)) > "Return a stream built from the sequence SEQ. > SEQ can be a list, vector or string." > @@ -112,6 +215,24 @@ (cl-defmethod stream ((seq sequence)) > (seq-elt seq 0) > (stream (seq-subseq seq 1))))) >=20=20 > +(cl-defmethod stream ((array array)) > + "Return a stream built from the array ARRAY." > + (let ((len (length array))) > + (if (=3D len 0) > + (stream-empty) > + ;; This approach could avoid one level of indirection by setting > + ;; `stream-updater--internal' directly, but using `funcall' makes = for a > + ;; good example of how to use a custom updater function using the = public > + ;; interface. > + (let ((idx 0)) > + (cl-labels ((updater () > + (if (< idx len) > + (prog1 (cons (aref array idx) > + (stream-make (funcall #'updater))) > + (setq idx (1+ idx))) > + nil))) > + (stream-make (funcall #'updater))))))) > + > (cl-defmethod stream ((list list)) > "Return a stream built from the list LIST." > (if (null list) > @@ -190,33 +311,6 @@ (defun stream-range (&optional start end step) > (stream-range (+ start step) end step)))) > >=20=20 > -(defun streamp (stream) > - "Return non-nil if STREAM is a stream, nil otherwise." > - (let ((car (car-safe stream))) > - (or (eq car stream--fresh-identifier) > - (eq car stream--evald-identifier)))) > - > -(defconst stream-empty (cons stream--evald-identifier nil) > - "The empty stream.") > - > -(defun stream-empty () > - "Return the empty stream." > - stream-empty) > - > -(defun stream-empty-p (stream) > - "Return non-nil if STREAM is empty, nil otherwise." > - (null (cdr (stream--force stream)))) > - > -(defun stream-first (stream) > - "Return the first element of STREAM. > -Return nil if STREAM is empty." > - (car (stream--force stream))) > - > -(defun stream-rest (stream) > - "Return a stream of all but the first element of STREAM." > - (or (cdr (stream--force stream)) > - (stream-empty))) > - > (defun stream-append (&rest streams) > "Concatenate the STREAMS. > Requesting elements from the resulting stream will request the > @@ -240,22 +334,7 @@ (defmacro stream-pop (stream) > `(prog1 > (stream-first ,stream) > (setq ,stream (stream-rest ,stream)))) > - >=20=20 > -;;; cl-generic support for streams > - > -(cl-generic-define-generalizer stream--generalizer > - 11 > - (lambda (name &rest _) > - `(when (streamp ,name) > - 'stream)) > - (lambda (tag &rest _) > - (when (eq tag 'stream) > - '(stream)))) > - > -(cl-defmethod cl-generic-generalizers ((_specializer (eql stream))) > - "Support for `stream' specializers." > - (list stream--generalizer)) > >=20=20 > ;;; Implementation of seq.el generic functions > @@ -273,6 +352,9 @@ (cl-defmethod seq-elt ((stream stream) n) > (setq n (1- n))) > (stream-first stream)) >=20=20 > +(cl-defmethod (setf seq-elt) (_store (_sequence stream) _n) > + (error "Streams are not mutable")) > + > (cl-defmethod seq-length ((stream stream)) > "Return the length of STREAM. > This function will eagerly consume the entire stream." > @@ -417,6 +499,11 @@ (defmacro stream-delay (expr) > (cl-defmethod seq-copy ((stream stream)) > "Return a shallow copy of STREAM." > (stream-delay stream)) > + > +(cl-defmethod seq-concatenate ((_type (eql stream)) &rest sequences) > + "Make a stream which concatenates each sequence in SEQUENCES." > + (apply #'stream-append (mapcar #'stream sequences))) > + > >=20=20 > ;;; More stream operations > diff --git a/tests/stream-tests.el b/tests/stream-tests.el > index ba304f1..defc544 100644 > --- a/tests/stream-tests.el > +++ b/tests/stream-tests.el > @@ -212,6 +212,27 @@ (ert-deftest stream-delay-test () > (and (equal res1 5) > (equal res2 5))))) >=20=20 > +(ert-deftest stream-seq-concatenate-test () > + (should (streamp (seq-concatenate 'stream (list 1 2) (vector 3 4) (str= eam (list 5 6))))) > + (should (equal '(1 2 3 4 5 6) > + (seq-into (seq-concatenate 'stream > + (list 1 2) > + (vector 3 4) > + (stream (list 5 6))) > + 'list)))) > + > +(ert-deftest stream-seq-mapcat-test () > + (should (streamp (seq-mapcat #'stream (list (list 1 2) > + (vector 3 4) > + (stream (list 5 6))) > + 'stream))) > + (should (equal '(1 2 3 4 5 6) > + (seq-into (seq-mapcat #'stream (list (list 1 2) > + (vector 3 4) > + (stream (list 5 6)= )) > + 'stream) > + 'list)))) > + > (ert-deftest stream-seq-copy-test () > (should (streamp (seq-copy (stream-range)))) > (should (=3D 0 (stream-first (seq-copy (stream-range))))) > @@ -234,6 +255,10 @@ (ert-deftest stream-list-test () > (dolist (list '(nil '(1 2 3) '(a . b))) > (should (equal list (seq-into (stream list) 'list))))) >=20=20 > +(ert-deftest stream-array-test () > + (dolist (arr (list "cat" [0 1 2])) > + (should (equal arr (seq-into (stream arr) (type-of arr)))))) > + > (ert-deftest stream-seq-subseq-test () > (should (stream-empty-p (seq-subseq (stream-range 2 10) 0 0))) > (should (=3D (stream-first (seq-subseq (stream-range 2 10) 0 3)) 2)) > @@ -296,6 +321,7 @@ (deftest-for-delayed-evaluation (stream-append (make= -delayed-test-stream) (make > (deftest-for-delayed-evaluation (seq-take (make-delayed-test-stream) 2)) > (deftest-for-delayed-evaluation (seq-drop (make-delayed-test-stream) 2)) > (deftest-for-delayed-evaluation (seq-take-while #'numberp (make-delayed-= test-stream))) > +(deftest-for-delayed-evaluation (seq-drop-while #'numberp (make-delayed-= test-stream))) > (deftest-for-delayed-evaluation (seq-map #'identity (make-delayed-test-s= tream))) > (deftest-for-delayed-evaluation (seq-mapn #'cons > (make-delayed-test-stream) --=20 Philip Kaludercic on siskin From debbugs-submit-bounces@debbugs.gnu.org Sat Oct 05 09:32:45 2024 Received: (at 73431) by debbugs.gnu.org; 5 Oct 2024 13:32:45 +0000 Received: from localhost ([127.0.0.1]:37489 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sx4to-0007h5-Sp for submit@debbugs.gnu.org; Sat, 05 Oct 2024 09:32:45 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:29081) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sx4tj-0007gn-Fy for 73431@debbugs.gnu.org; Sat, 05 Oct 2024 09:32:42 -0400 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 149BB100043; Sat, 5 Oct 2024 09:32:29 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1728135148; bh=dHIcSHCq793zlmYVmn/4qK2z5gHLEGcKeifXl5+DNSU=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=eBdNFCcc25BbUhGARg6UerS9v2CWE5RymFgzqzalVr4txM7uuv3/X5FanNiAW//fJ XBHEaAQ9L0Nd/bdKHCyS0LozQE/DM75XT7ubFfAt9z0Bep/Z0D9z6U0b849LwKU/nU 33PlcDDe5V6Ln2fji3b59sqJzDd8nmmOtYUeWkaz86D+CX8ERA8bGMr2SOIKLANHCv ZR9IIu7kVoilL2Z+++V6PZwjdH2DVHJhfWVdnpqb252oIRWuARmlzauA7eMz62ZrEL sSvoNbfTf31qxrThaqtazMcup0sLoP9CEpDnnD0ZtTNMWe0z83IwAV8CZwCD7+LQ3n u2v94+RNJMWmw== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 2A10E10002E; Sat, 5 Oct 2024 09:32:28 -0400 (EDT) Received: from pastel (unknown [216.154.14.167]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id D2A9E120387; Sat, 5 Oct 2024 09:32:27 -0400 (EDT) From: Stefan Monnier To: Okamsn Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA In-Reply-To: <9db72ab8-604e-451d-b9a0-74fa5b3fa81f@protonmail.com> (okamsn@protonmail.com's message of "Sat, 05 Oct 2024 02:44:18 +0000") Message-ID: References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <068ecfc3-b452-49a8-89bb-f42012aea5d4@protonmail.com> <6caa1395-a3b2-4e70-b905-1cbfee0f92bd@protonmail.com> <87y138hjij.fsf@web.de> <875xqa8fby.fsf@posteo.net> <932d7782-5685-4a43-b34c-fc0bb3a958e4@protonmail.com> <87zfnk6ydj.fsf@posteo.net> <9db72ab8-604e-451d-b9a0-74fa5b3fa81f@protonmail.com> Date: Sat, 05 Oct 2024 09:32:26 -0400 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL 0.128 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: -2.3 (--) X-Debbugs-Envelope-To: 73431 Cc: Michael Heerdegen , Philip Kaludercic , Nicolas Petton , 73431@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > +(cl-defstruct (stream (:constructor stream--make-stream) > + (:predicate streamp) > + :named) > + > + "A lazily evaluated sequence, compatible with the `seq' library's func= tions." > + > + (evaluated--internal > + nil > + :type boolean > + :documentation "Whether the head and tail of the stream are accessibl= e. > + > +This value is set to t via the function `stream--force' after it > +calls the updater function.") > + > + (first--internal > + nil > + :type (or t null) > + :documentation "The first element of the stream.") > + > + (rest--internal > + nil > + :type (or stream null) > + :documentation "The rest of the stream, which is itself a stream.") > + > + (empty--internal > + nil > + :type boolean > + :documentation "Whether the evaluated stream is empty. > + > +A stream is empty if the updater function returns nil when > +`stream--force' evaluates the stream.") > + > + (updater--internal > + nil > + :type (or function null) > + :documentation "Function that returns the head and tail of the stream= when called. Instead of funny field names, I recommend you use something like `(:conc-name stream--)` so all the automatically-created accessors have a "--" in their name, declaring them internal. Also, I wonder: have you tried to stick closer to the original code, with a structure like (cl-defstruct (stream ...) (evald nil :type boolean) (data nil :type (or function list))) Was it worse than what you have? Stefan PS: We could even be nasty and do things like: (cl-defstruct (stream ...) (data nil :type (or function list))) (cl-defstruct (stream--unevald (:include stream))) (cl-defstruct (stream--evald (:include stream))) and then use (aref STREAM 0) to dynamically change the type from `stream--unevald` to `stream--evald` to avoid storing the `evald` field. =F0=9F=98=88 From debbugs-submit-bounces@debbugs.gnu.org Sat Oct 05 20:37:50 2024 Received: (at 73431) by debbugs.gnu.org; 6 Oct 2024 00:37:50 +0000 Received: from localhost ([127.0.0.1]:39727 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sxFHR-0001LR-Nz for submit@debbugs.gnu.org; Sat, 05 Oct 2024 20:37:50 -0400 Received: from mail-4322.protonmail.ch ([185.70.43.22]:48643) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sxFHP-0001LB-IP for 73431@debbugs.gnu.org; Sat, 05 Oct 2024 20:37:48 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1728175055; x=1728434255; bh=jEjQ2dPFX6T5DhXpN3vtGmPQbQmwmQekCOoGlzVeXSI=; 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=IM4JKbgqYV4DpyAaPAyH9P4xsbiGwPJzq1vYi6uZ2SKuhUx32Ew4yGBP/6jGmOaXv u2tc6IUXMsLZ6B7ZF+NAQZ3jmx0d/a3D7VF3IRSv004d3qvCOBK97cD4CV34uRPCcT XcNiVNvcFvMnSRwtl9PYqg/Ghm4JV3d5V+QGW0WR/KKUeDBnD4l4r4S48z2QNekits VjZAP50if1rfX8ySc7ajkLzuwPIYTmZBJdM7urPfHypsgVzv0PZOTXmG+E8/S2NOOx xBAEWeVrq4X2X358VVfH1IPT3FS6gid6ZD3wiErQlHoxOwoa1/04qVQ3TMp4A4bQs7 G1nutVK9la0wg== Date: Sun, 06 Oct 2024 00:37:31 +0000 To: Stefan Monnier From: Okamsn Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA Message-ID: In-Reply-To: References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <6caa1395-a3b2-4e70-b905-1cbfee0f92bd@protonmail.com> <87y138hjij.fsf@web.de> <875xqa8fby.fsf@posteo.net> <932d7782-5685-4a43-b34c-fc0bb3a958e4@protonmail.com> <87zfnk6ydj.fsf@posteo.net> <9db72ab8-604e-451d-b9a0-74fa5b3fa81f@protonmail.com> Feedback-ID: 25935600:user:proton X-Pm-Message-ID: 8c87840d4d705cd6a62c8b280a592988247e1057 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 73431 Cc: Michael Heerdegen , Philip Kaludercic , Nicolas Petton , 73431@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Stefan Monnier wrote: >> +(cl-defstruct (stream (:constructor stream--make-stream) >> + (:predicate streamp) >> + :named) >> + >> ... >> + :documentation "Whether the evaluated stream is empty. >> + >> +A stream is empty if the updater function returns nil when >> +`stream--force' evaluates the stream.") >> + >> + (updater--internal >> + nil >> + :type (or function null) >> + :documentation "Function that returns the head and tail of the strea= m when called. >=20 > Instead of funny field names, I recommend you use something like > `(:conc-name stream--)` so all the automatically-created accessors have > a "--" in their name, declaring them internal. I will do that. Thank you for pointing me to it. > Also, I wonder: have you tried to stick closer to the original code, > with a structure like >=20 > (cl-defstruct (stream ...) > (evald nil :type boolean) > (data nil :type (or function list))) >=20 > Was it worse than what you have? >=20 >=20 > Stefan >=20 >=20 > PS: We could even be nasty and do things like: >=20 > (cl-defstruct (stream ...) > (data nil :type (or function list))) >=20 > (cl-defstruct (stream--unevald (:include stream))) > (cl-defstruct (stream--evald (:include stream))) >=20 > and then use (aref STREAM 0) to dynamically change the type from > `stream--unevald` to `stream--evald` to avoid storing the `evald` field. > =F0=9F=98=88 I tried both versions you suggested. They both are slower than what I=20 have currently in the patch file. From debbugs-submit-bounces@debbugs.gnu.org Sat Oct 05 21:36:52 2024 Received: (at submit) by debbugs.gnu.org; 6 Oct 2024 01:36:52 +0000 Received: from localhost ([127.0.0.1]:39777 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sxGCY-0004UJ-PJ for submit@debbugs.gnu.org; Sat, 05 Oct 2024 21:36:52 -0400 Received: from lists.gnu.org ([209.51.188.17]:44956) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sxGCV-0004U1-FF for submit@debbugs.gnu.org; Sat, 05 Oct 2024 21:36:48 -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 ) id 1sxGCP-0004zv-8k for bug-gnu-emacs@gnu.org; Sat, 05 Oct 2024 21:36:41 -0400 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 ) id 1sxGCM-00083Z-5q for bug-gnu-emacs@gnu.org; Sat, 05 Oct 2024 21:36:41 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1728178594; x=1728437794; bh=fMk9Tey5D8PsRk2TkF4ZO5wywLXsHUJG8aDdBU1+DLk=; 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=i0ec2ShpwRgXN+43Sblb9RKQQ1w2sNvDslrRhL6dtR4n2OtvevY9T1nhsgVu+FPpC bXUAqgX7I8U6V+kHASbVZS8ArCCCl4WCyjoZ7cFW9RgQf+tPL7f8jiixHgg0nOV+5V pnIXwscsjfMr0tQ3+f56Usux63SVHYUyTZqQOnA3nnBRVBmOModoPIbwNNh4d4TK1Z Mu8SWaLWsfwVVxnO4i2NXA0hpMTnA3AQfxMZo4UblUB6c1rw53k3oqIol08C36Uld5 pNpO+KLpPRO+Dj6cDFChZesGFlEaBlSATgcG//jcKMotCO9X4W687+eWatpluStOUf ycmgx4xlL3PVA== Date: Sun, 06 Oct 2024 01:36:29 +0000 To: Philip Kaludercic From: Okamsn Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA Message-ID: <7de379ab-a4f2-4853-96dc-cdf05dd7218e@protonmail.com> In-Reply-To: <87a5fic3om.fsf@posteo.net> References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <6caa1395-a3b2-4e70-b905-1cbfee0f92bd@protonmail.com> <87y138hjij.fsf@web.de> <875xqa8fby.fsf@posteo.net> <932d7782-5685-4a43-b34c-fc0bb3a958e4@protonmail.com> <87zfnk6ydj.fsf@posteo.net> <9db72ab8-604e-451d-b9a0-74fa5b3fa81f@protonmail.com> <87a5fic3om.fsf@posteo.net> Feedback-ID: 25935600:user:proton X-Pm-Message-ID: efcb8dc37caae8000fd0a96841e00a0cc5e808ee MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_4lHS3hU9T8ZEyXyLylMgnIIY95AN24Koccue0WeRQg" Received-SPF: pass client-ip=185.70.43.16; envelope-from=okamsn@protonmail.com; 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_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_PASS=-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: Michael Heerdegen , "Okamsn via \"Bug reports for GNU Emacs, the Swiss army knife of text editors\"" , Nicolas Petton , Stefan Monnier , 73431@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) This is a multi-part message in MIME format. --b1_4lHS3hU9T8ZEyXyLylMgnIIY95AN24Koccue0WeRQg Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Philip Kaludercic wrote: >> +(cl-defstruct (stream (:constructor stream--make-stream) >> + (:predicate streamp) >> + :named) >> + >> + "A lazily evaluated sequence, compatible with the `seq' library's fun= ctions." >> + >> + (evaluated--internal >> + nil >> + :type boolean >> + :documentation "Whether the head and tail of the stream are accessib= le. >> + >> +This value is set to t via the function `stream--force' after it >> +calls the updater function.") >> + >> + (first--internal >> + nil >> + :type (or t null) >=20 > Isn't this type just t? Not a proof, but this doesn't signal: Yes. I have changed it to just `t`. >> +(defun stream--force (stream) >> + "Evaluate and return the STREAM. >> + >> +If the output of the updater function is nil, then STREAM is >> +marked as empty. Otherwise, the output of the updater function >> +is used to set the head and the tail of the stream." >> + ;; Check explicitly so that we can avoid checking >> + ;; in accessors by setting safety to 0 via `cl-declaim'. >> + (unless (streamp stream) >> + (signal 'wrong-type-argument (list 'stream stream))) >=20 > If you are already using cl-lib, you could also make use of `cl-check-typ= e'. Done. >> + (if (stream-evaluated--internal stream) >> + stream >> + (pcase (funcall (stream-updater--internal stream)) >> + (`(,head . ,tail) >> + (setf (stream-first--internal stream) head >> + (stream-rest--internal stream) tail)) >> + ((pred null) >> + (setf (stream-empty--internal stream) t)) >> + (bad-output >> + (error "Bad output from stream updater: %s" >> + bad-output))) >> + (setf (stream-evaluated--internal stream) t) >> + stream)) >> >> (defmacro stream-make (&rest body) >> "Return a stream built from BODY. >> -BODY must return nil or a cons cell whose cdr is itself a >> -stream." >> - (declare (debug t)) >> - `(cons ',stream--fresh-identifier (lambda () ,@body))) >> >> -(defun stream--force (stream) >=20 > Did you change the order of the definitions? Yes. I brought the fundamental features to the top of the file. In the=20 existing version, things are defined after they are used. I know that is=20 not an error, but it had me jumping around more to see how it worked. >> + >> +(defconst stream-empty >> + (stream--make-stream :evaluated--internal t >> + :first--internal nil >> + :rest--internal nil >> + :empty--internal t >> + :updater--internal nil) >> + "The empty stream.") >> + >> +(defun stream-empty () >> + "Return the empty stream." >> + stream-empty) >=20 > This definition also appears unchanged? Please try to keep the diff as > small as possible. OK. I have broken it into several files, which I've attached. How does=20 it look now? --b1_4lHS3hU9T8ZEyXyLylMgnIIY95AN24Koccue0WeRQg Content-Type: text/x-patch; charset=UTF-8; name=0004-Add-an-implementation-of-seq-concatenate-for-streams.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=0004-Add-an-implementation-of-seq-concatenate-for-streams.patch RnJvbSBkNTE2OGQ0OWE5MGJhODQxMTRmMDU3OGQyMGUxM2E3MjU3NDNmNjVlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBFYXJsIEh5YXR0IDxva2Ftc25AcHJvdG9ubWFpbC5jb20+CkRh dGU6IFNhdCwgNSBPY3QgMjAyNCAyMToxNToyNCAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggNC81XSBB ZGQgYW4gaW1wbGVtZW50YXRpb24gb2YgYHNlcS1jb25jYXRlbmF0ZWAgZm9yIHN0cmVhbXMuCgoq IHN0cmVhbS5lbCAoc3RyZWFtKTogQWRkIGEgbWV0aG9kIGZvciBjcmVhdGluZyBhIHN0cmVhbSBm cm9tIGEgc3RyZWFtLAp3aGljaCByZWFsbHkganVzdCByZXR1cm5zIHRoZSBvcmlnaW5hbCBzdHJl YW0gdW5tb2RpZmllZC4KCiogc3RyZWFtLmVsIChzZXEtY29uY2F0ZW5hdGUpOiBBZGQgaW1wbGVt ZW50YXRpb24gZm9yIHN0cmVhbXMuCgoqIHRlc3RzL3N0cmVhbS10ZXN0cyAoc3RyZWFtLXNlcS1j b25jYXRlbmF0ZS10ZXN0LCBzdHJlYW0tc2VxLW1hcGNhdC10ZXN0KToKQWRkIHRlc3RzIGZvciBz ZXEtY29uY2F0ZW5hdGUgYW5kIHNlcS1tYXBjYXQsIHdoaWNoIGJ5IGRlZmF1bHQgdXNlcwpzZXEt Y29uY2F0ZW5hdGUuCi0tLQogc3RyZWFtLmVsICAgICAgICAgICAgIHwgIDkgKysrKysrKysrCiB0 ZXN0cy9zdHJlYW0tdGVzdHMuZWwgfCAyMSArKysrKysrKysrKysrKysrKysrKysKIDIgZmlsZXMg Y2hhbmdlZCwgMzAgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL3N0cmVhbS5lbCBiL3N0cmVh bS5lbAppbmRleCA3OTRiMzA5Li4xODI0MGM4IDEwMDY0NAotLS0gYS9zdHJlYW0uZWwKKysrIGIv c3RyZWFtLmVsCkBAIC0xNjQsNiArMTY0LDEwIEBAIChkZWZtYWNybyBzdHJlYW0tY29ucyAoZmly c3QgcmVzdCkKIChjbC1kZWZnZW5lcmljIHN0cmVhbSAoc3JjKQogICAiUmV0dXJuIGEgbmV3IHN0 cmVhbSBmcm9tIFNSQy4iKQogCisoY2wtZGVmbWV0aG9kIHN0cmVhbSAoKHN0cmVhbSBzdHJlYW0p KQorICAiUmV0dXJuIFNUUkVBTSB1bm1vZGlmaWVkLiIKKyAgc3RyZWFtKQorCiAoY2wtZGVmbWV0 aG9kIHN0cmVhbSAoKHNlcSBzZXF1ZW5jZSkpCiAgICJSZXR1cm4gYSBzdHJlYW0gYnVpbHQgZnJv bSB0aGUgc2VxdWVuY2UgU0VRLgogU0VRIGNhbiBiZSBhIGxpc3QsIHZlY3RvciBvciBzdHJpbmcu IgpAQCAtNDkyLDYgKzQ5NiwxMSBAQCAoZGVmbWFjcm8gc3RyZWFtLWRlbGF5IChleHByKQogKGNs LWRlZm1ldGhvZCBzZXEtY29weSAoKHN0cmVhbSBzdHJlYW0pKQogICAiUmV0dXJuIGEgc2hhbGxv dyBjb3B5IG9mIFNUUkVBTS4iCiAgIChzdHJlYW0tZGVsYXkgc3RyZWFtKSkKKworKGNsLWRlZm1l dGhvZCBzZXEtY29uY2F0ZW5hdGUgKChfdHlwZSAoZXFsIHN0cmVhbSkpICZyZXN0IHNlcXVlbmNl cykKKyAgIk1ha2UgYSBzdHJlYW0gd2hpY2ggY29uY2F0ZW5hdGVzIGVhY2ggc2VxdWVuY2UgaW4g U0VRVUVOQ0VTLiIKKyAgKGFwcGx5ICMnc3RyZWFtLWFwcGVuZCAobWFwY2FyICMnc3RyZWFtIHNl cXVlbmNlcykpKQorCiAMCiAKIDs7OyBNb3JlIHN0cmVhbSBvcGVyYXRpb25zCmRpZmYgLS1naXQg YS90ZXN0cy9zdHJlYW0tdGVzdHMuZWwgYi90ZXN0cy9zdHJlYW0tdGVzdHMuZWwKaW5kZXggOTk3 ZGQ4Ni4uNWQzZjExNiAxMDA2NDQKLS0tIGEvdGVzdHMvc3RyZWFtLXRlc3RzLmVsCisrKyBiL3Rl c3RzL3N0cmVhbS10ZXN0cy5lbApAQCAtMjEyLDYgKzIxMiwyNyBAQCAoZXJ0LWRlZnRlc3Qgc3Ry ZWFtLWRlbGF5LXRlc3QgKCkKICAgICAgICAgICAgIChhbmQgKGVxdWFsIHJlczEgNSkKICAgICAg ICAgICAgICAgICAgKGVxdWFsIHJlczIgNSkpKSkpCiAKKyhlcnQtZGVmdGVzdCBzdHJlYW0tc2Vx LWNvbmNhdGVuYXRlLXRlc3QgKCkKKyAgKHNob3VsZCAoc3RyZWFtcCAoc2VxLWNvbmNhdGVuYXRl ICdzdHJlYW0gKGxpc3QgMSAyKSAodmVjdG9yIDMgNCkgKHN0cmVhbSAobGlzdCA1IDYpKSkpKQor ICAoc2hvdWxkIChlcXVhbCAnKDEgMiAzIDQgNSA2KQorICAgICAgICAgICAgICAgICAoc2VxLWlu dG8gKHNlcS1jb25jYXRlbmF0ZSAnc3RyZWFtCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChsaXN0IDEgMikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKHZlY3RvciAzIDQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChzdHJlYW0gKGxpc3QgNSA2KSkpCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAnbGlzdCkpKSkKKworKGVydC1kZWZ0ZXN0IHN0cmVhbS1zZXEtbWFwY2F0LXRlc3Qg KCkKKyAgKHNob3VsZCAoc3RyZWFtcCAoc2VxLW1hcGNhdCAjJ3N0cmVhbSAobGlzdCAobGlzdCAx IDIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZlY3Rv ciAzIDQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0 cmVhbSAobGlzdCA1IDYpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3RyZWFt KSkpCisgIChzaG91bGQgKGVxdWFsICcoMSAyIDMgNCA1IDYpCisgICAgICAgICAgICAgICAgIChz ZXEtaW50byAoc2VxLW1hcGNhdCAjJ3N0cmVhbSAobGlzdCAobGlzdCAxIDIpCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodmVjdG9yIDMgNCkK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChz dHJlYW0gKGxpc3QgNSA2KSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAnc3RyZWFtKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2xpc3QpKSkpCisKIChlcnQt ZGVmdGVzdCBzdHJlYW0tc2VxLWNvcHktdGVzdCAoKQogICAoc2hvdWxkIChzdHJlYW1wIChzZXEt Y29weSAoc3RyZWFtLXJhbmdlKSkpKQogICAoc2hvdWxkICg9IDAgKHN0cmVhbS1maXJzdCAoc2Vx LWNvcHkgKHN0cmVhbS1yYW5nZSkpKSkpCi0tIAoyLjM0LjEKCg== --b1_4lHS3hU9T8ZEyXyLylMgnIIY95AN24Koccue0WeRQg Content-Type: text/x-patch; charset=UTF-8; name=0002-Add-more-efficient-method-for-making-streams-from-ar.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=0002-Add-more-efficient-method-for-making-streams-from-ar.patch RnJvbSBhMjVlZTg2MzAxODhkOTJlNGIyM2Q5OGJlYTZhMTNjNGM0ZjYyN2FjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBFYXJsIEh5YXR0IDxva2Ftc25AcHJvdG9ubWFpbC5jb20+CkRh dGU6IFNhdCwgNSBPY3QgMjAyNCAyMTowNzoxNiAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMi81XSBB ZGQgbW9yZSBlZmZpY2llbnQgbWV0aG9kIGZvciBtYWtpbmcgc3RyZWFtcyBmcm9tIGFycmF5cy4K Ciogc3RyZWFtLmVsIChzdHJlYW0pOiBBZGQgbWV0aG9kIGZvciBhcnJheXMgdGhhdCBhdm9pZHMg Y3JlYXRpbmcgc3ViLXNlcXVlbmNlcy4KCiogdGVzdHMvc3RyZWFtLXRlc3RzLmVsIChzdHJlYW0t YXJyYXktdGVzdCk6IEFkZCB0ZXN0IGZvciBuZXcgbWV0aG9kLgotLS0KIHN0cmVhbS5lbCAgICAg ICAgICAgICB8IDE4ICsrKysrKysrKysrKysrKysrKwogdGVzdHMvc3RyZWFtLXRlc3RzLmVsIHwg IDQgKysrKwogMiBmaWxlcyBjaGFuZ2VkLCAyMiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEv c3RyZWFtLmVsIGIvc3RyZWFtLmVsCmluZGV4IDk1NDM3M2YuLjA0YjJiZTUgMTAwNjQ0Ci0tLSBh L3N0cmVhbS5lbAorKysgYi9zdHJlYW0uZWwKQEAgLTE3Myw2ICsxNzMsMjQgQEAgKGNsLWRlZm1l dGhvZCBzdHJlYW0gKChzZXEgc2VxdWVuY2UpKQogICAgICAoc2VxLWVsdCBzZXEgMCkKICAgICAg KHN0cmVhbSAoc2VxLXN1YnNlcSBzZXEgMSkpKSkpCiAKKyhjbC1kZWZtZXRob2Qgc3RyZWFtICgo YXJyYXkgYXJyYXkpKQorICAiUmV0dXJuIGEgc3RyZWFtIGJ1aWx0IGZyb20gdGhlIGFycmF5IEFS UkFZLiIKKyAgKGxldCAoKGxlbiAobGVuZ3RoIGFycmF5KSkpCisgICAgKGlmICg9IGxlbiAwKQor ICAgICAgICAoc3RyZWFtLWVtcHR5KQorICAgICAgOzsgVGhpcyBhcHByb2FjaCBjb3VsZCBhdm9p ZCBvbmUgbGV2ZWwgb2YgaW5kaXJlY3Rpb24gYnkgc2V0dGluZworICAgICAgOzsgYHN0cmVhbS0t dXBkYXRlcicgZGlyZWN0bHksIGJ1dCB1c2luZyBgZnVuY2FsbCcgbWFrZXMgZm9yIGEKKyAgICAg IDs7IGdvb2QgZXhhbXBsZSBvZiBob3cgdG8gdXNlIGEgY3VzdG9tIHVwZGF0ZXIgZnVuY3Rpb24g dXNpbmcgdGhlIHB1YmxpYworICAgICAgOzsgaW50ZXJmYWNlLgorICAgICAgKGxldCAoKGlkeCAw KSkKKyAgICAgICAgKGNsLWxhYmVscyAoKHVwZGF0ZXIgKCkKKyAgICAgICAgICAgICAgICAgICAg ICAoaWYgKDwgaWR4IGxlbikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKHByb2cxIChjb25z IChhcmVmIGFycmF5IGlkeCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IChzdHJlYW0tbWFrZSAoZnVuY2FsbCAjJ3VwZGF0ZXIpKSkKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAoc2V0cSBpZHggKDErIGlkeCkpKQorICAgICAgICAgICAgICAgICAgICAgICAgbmls KSkpCisgICAgICAgICAgKHN0cmVhbS1tYWtlIChmdW5jYWxsICMndXBkYXRlcikpKSkpKSkKKwog KGNsLWRlZm1ldGhvZCBzdHJlYW0gKChsaXN0IGxpc3QpKQogICAiUmV0dXJuIGEgc3RyZWFtIGJ1 aWx0IGZyb20gdGhlIGxpc3QgTElTVC4iCiAgIChpZiAobnVsbCBsaXN0KQpkaWZmIC0tZ2l0IGEv dGVzdHMvc3RyZWFtLXRlc3RzLmVsIGIvdGVzdHMvc3RyZWFtLXRlc3RzLmVsCmluZGV4IGJhMzA0 ZjEuLjk5N2RkODYgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3N0cmVhbS10ZXN0cy5lbAorKysgYi90ZXN0 cy9zdHJlYW0tdGVzdHMuZWwKQEAgLTIzNCw2ICsyMzQsMTAgQEAgKGVydC1kZWZ0ZXN0IHN0cmVh bS1saXN0LXRlc3QgKCkKICAgKGRvbGlzdCAobGlzdCAnKG5pbCAnKDEgMiAzKSAnKGEgLiBiKSkp CiAgICAgKHNob3VsZCAoZXF1YWwgbGlzdCAoc2VxLWludG8gKHN0cmVhbSBsaXN0KSAnbGlzdCkp KSkpCiAKKyhlcnQtZGVmdGVzdCBzdHJlYW0tYXJyYXktdGVzdCAoKQorICAoZG9saXN0IChhcnIg KGxpc3QgImNhdCIgWzAgMSAyXSkpCisgICAgKHNob3VsZCAoZXF1YWwgYXJyIChzZXEtaW50byAo c3RyZWFtIGFycikgKHR5cGUtb2YgYXJyKSkpKSkpCisKIChlcnQtZGVmdGVzdCBzdHJlYW0tc2Vx LXN1YnNlcS10ZXN0ICgpCiAgIChzaG91bGQgKHN0cmVhbS1lbXB0eS1wIChzZXEtc3Vic2VxIChz dHJlYW0tcmFuZ2UgMiAxMCkgMCAwKSkpCiAgIChzaG91bGQgKD0gKHN0cmVhbS1maXJzdCAoc2Vx LXN1YnNlcSAoc3RyZWFtLXJhbmdlIDIgMTApIDAgMykpIDIpKQotLSAKMi4zNC4xCgo= --b1_4lHS3hU9T8ZEyXyLylMgnIIY95AN24Koccue0WeRQg Content-Type: text/x-patch; charset=UTF-8; name=0003-Add-generalized-variables-for-streams-that-error-whe.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=0003-Add-generalized-variables-for-streams-that-error-whe.patch RnJvbSBmODUzYmVlZmZhOWM5YjI5ODM4ODNjYTFiZmUzMjY3YzQzYzhlZGIzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBFYXJsIEh5YXR0IDxva2Ftc25AcHJvdG9ubWFpbC5jb20+CkRh dGU6IFNhdCwgNSBPY3QgMjAyNCAyMToxMTo1OSAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMy81XSBB ZGQgZ2VuZXJhbGl6ZWQgdmFyaWFibGVzIGZvciBzdHJlYW1zIHRoYXQgZXJyb3Igd2hlbgogdXNl ZC4KCiogc3RyZWFtLmVsIChzZXEtZWx0LCBzdHJlYW0tZmlyc3QsIHN0cmVhbS1yZXN0KTogU2ln bmFsIGFuIGVycm9yIHdoZW4gdHJ5aW5nIHRvCnVzZSB0aGlzIGZ1bmN0aW9uIGFzIGEgcGxhY2Ug Zm9yICdzZXRmJy4KLS0tCiBzdHJlYW0uZWwgfCAxMSArKysrKysrKysrKwogMSBmaWxlIGNoYW5n ZWQsIDExIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9zdHJlYW0uZWwgYi9zdHJlYW0uZWwK aW5kZXggMDRiMmJlNS4uNzk0YjMwOSAxMDA2NDQKLS0tIGEvc3RyZWFtLmVsCisrKyBiL3N0cmVh bS5lbApAQCAtMjkwLDYgKzI5MCwxMCBAQCAoZGVmdW4gc3RyZWFtLWZpcnN0IChzdHJlYW0pCiBS ZXR1cm4gbmlsIGlmIFNUUkVBTSBpcyBlbXB0eS4iCiAgIChzdHJlYW0tLWZpcnN0IChzdHJlYW0t LWZvcmNlIHN0cmVhbSkpKQogCisoZGVmdW4gXChzZXRmXCBzdHJlYW0tZmlyc3RcKSAoX3N0b3Jl IF9zdHJlYW0pCisgICJTaWduYWwgYW4gZXJyb3Igd2hlbiB0cnlpbmcgdG8gdXNlIGBzZXRmJyBv biB0aGUgaGVhZCBvZiBhIHN0cmVhbS4iCisgIChlcnJvciAiU3RyZWFtcyBhcmUgbm90IG11dGFi bGUiKSkKKwogKGRlZnVuIHN0cmVhbS1yZXN0IChzdHJlYW0pCiAgICJSZXR1cm4gYSBzdHJlYW0g b2YgYWxsIGJ1dCB0aGUgZmlyc3QgZWxlbWVudCBvZiBTVFJFQU0uIgogICAoc2V0cSBzdHJlYW0g KHN0cmVhbS0tZm9yY2Ugc3RyZWFtKSkKQEAgLTI5Nyw2ICszMDEsMTAgQEAgKGRlZnVuIHN0cmVh bS1yZXN0IChzdHJlYW0pCiAgICAgICAoc3RyZWFtLWVtcHR5KQogICAgIChzdHJlYW0tLXJlc3Qg c3RyZWFtKSkpCiAKKyhkZWZ1biBcKHNldGZcIHN0cmVhbS1yZXN0XCkgKF9zdG9yZSBfc3RyZWFt KQorICAiU2lnbmFsIGFuIGVycm9yIHdoZW4gdHJ5aW5nIHRvIHVzZSBgc2V0Zicgb24gdGhlIHRh aWwgb2YgYSBzdHJlYW0uIgorICAoZXJyb3IgIlN0cmVhbXMgYXJlIG5vdCBtdXRhYmxlIikpCisK IChkZWZ1biBzdHJlYW0tYXBwZW5kICgmcmVzdCBzdHJlYW1zKQogICAiQ29uY2F0ZW5hdGUgdGhl IFNUUkVBTVMuCiBSZXF1ZXN0aW5nIGVsZW1lbnRzIGZyb20gdGhlIHJlc3VsdGluZyBzdHJlYW0g d2lsbCByZXF1ZXN0IHRoZQpAQCAtMzM3LDYgKzM0NSw5IEBAIChjbC1kZWZtZXRob2Qgc2VxLWVs dCAoKHN0cmVhbSBzdHJlYW0pIG4pCiAgICAgKHNldHEgbiAoMS0gbikpKQogICAoc3RyZWFtLWZp cnN0IHN0cmVhbSkpCiAKKyhjbC1kZWZtZXRob2QgKHNldGYgc2VxLWVsdCkgKF9zdG9yZSAoX3Nl cXVlbmNlIHN0cmVhbSkgX24pCisgIChlcnJvciAiU3RyZWFtcyBhcmUgbm90IG11dGFibGUiKSkK KwogKGNsLWRlZm1ldGhvZCBzZXEtbGVuZ3RoICgoc3RyZWFtIHN0cmVhbSkpCiAgICJSZXR1cm4g dGhlIGxlbmd0aCBvZiBTVFJFQU0uCiBUaGlzIGZ1bmN0aW9uIHdpbGwgZWFnZXJseSBjb25zdW1l IHRoZSBlbnRpcmUgc3RyZWFtLiIKLS0gCjIuMzQuMQoK --b1_4lHS3hU9T8ZEyXyLylMgnIIY95AN24Koccue0WeRQg Content-Type: text/x-patch; charset=UTF-8; name=0001-Change-stream.el-to-use-structures-instead-of-cons-c.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=0001-Change-stream.el-to-use-structures-instead-of-cons-c.patch RnJvbSBjODRkM2E0ODI3NjZhMGNmMzk1MDZhMTBjMzkwYWI3N2M1NDFhMDliIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBFYXJsIEh5YXR0IDxva2Ftc25AcHJvdG9ubWFpbC5jb20+CkRh dGU6IFNhdCwgNSBPY3QgMjAyNCAyMTowMTowMyAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMS81XSBD aGFuZ2UgJ3N0cmVhbS5lbCcgdG8gdXNlIHN0cnVjdHVyZXMgaW5zdGVhZCBvZiBjb25zCiBjZWxs cy4KCiogc3RyZWFtLmVsIChzdHJlYW0pOiBEZWZpbmUgdGhlIHN0cnVjdHVyZSB1c2luZyAnY2wt ZGVmc3RydWN0Jy4gIFNldApzYWZldHkgdG8gMCB1c2luZyAnY2wtZGVjbGFpbScgdG8gYXZvaWQg Y2hlY2tpbmcgdGhlIHR5cGUgb2YgdGhlIGFyZ3VtZW50CnRvICdzdHJlYW0tLWZvcmNlJyBtdWx0 aXBsZSB0aW1lcy4gIEluc3RlYWQsIGV4cGxpY2l0bHkgY2hlY2sgYSBzaW5nbGUgdGltZQppbiAn c3RyZWFtLS1mb3JjZScsIHdoaWNoIG11c3QgYmUgdXNlZCBpbnNpZGUgdGhlIHB1YmxpYyBmdW5j dGlvbnMgYW55d2F5LgoKKiBzdHJlYW0uZWwgKHN0cmVhbS1tYWtlKTogQ2hhbmdlIHRvIHVzZSBu ZXcgc3RydWN0dXJlIGNvbnN0cnVjdG9yCidzdHJlYW0tLW1ha2Utc3RyZWFtJy4KCiogc3RyZWFt LmVsIChzdHJlYW1wKTogRGVsZXRlIGV4aXN0aW5nIGRlZmluaXRpb24gdG8gYXZvaWQgY29uZmxp Y3RzCndpdGggZGVmaW5pdGlvbiBnZW5lcmF0ZWQgZm9yIHN0cnVjdHVyZXMuCgoqIHN0cmVhbS5l bCAoc3RyZWFtLS1mb3JjZSwgc3RyZWFtLWZpcnN0LCBzdHJlYW0tcmVzdCkKKHN0cmVhbS1lbXB0 eSwgc3RyZWFtLWVtcHR5LXApOiBSZWRlZmluZSB0byB1c2Ugc3RydWN0dXJlIHNsb3RzLgoKKiBz dHJlYW0uZWwgKHN0cmVhbS0tZnJlc2gtaWRlbnRpZmllciwgc3RyZWFtLS1ldmFsZC1pZGVudGlm aWVyKToKUmVtb3ZlIG5vdyB1bnVzZWQgZGVmaW5pdGlvbnMuCgoqIHN0cmVhbS5lbCAoc3RyZWFt LS1nZW5lcmFsaXplciwgY2wtZ2VuZXJpYy1nZW5lcmFsaXplcnMpOiBSZW1vdmUKdGhlc2Ugc3Bl Y2lhbGl6ZXJzIGZyb20gdGhlIG9sZCwgY29ucy1iYXNlZCBpbXBsZW1lbnRhdGlvbi4KLS0tCiBz dHJlYW0uZWwgfCAxMzggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0t LS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgOTIgaW5zZXJ0aW9ucygrKSwgNDYgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvc3RyZWFtLmVsIGIvc3RyZWFtLmVsCmluZGV4IDcxMzVlZTAu Ljk1NDM3M2YgMTAwNjQ0Ci0tLSBhL3N0cmVhbS5lbAorKysgYi9zdHJlYW0uZWwKQEAgLTYzLDMz ICs2Myw5NCBAQAogCiA7OzsgQ29kZToKIAotKGV2YWwtd2hlbi1jb21waWxlIChyZXF1aXJlICdj bC1saWIpKQorKGV2YWwtd2hlbi1jb21waWxlCisgIChyZXF1aXJlICdjbC1saWIpCisgIDs7IFNl dCBzYWZldHkgdG8gMCB0byBhdm9pZCBjaGVja2luZyB0aGUgdHlwZSBvZiB0aGUgYXJndW1lbnQg bXVsdGlwbGUgdGltZXMKKyAgOzsgd2l0aGluIGBzdHJlYW0tLWZvcmNlJywgd2hpY2ggaXMgdXNl ZCBmcmVxdWVudGx5LgorICAoY2wtZGVjbGFpbSAob3B0aW1pemUgKHNhZmV0eSAwKSkpKQorCiAo cmVxdWlyZSAnc2VxKQogCi0oZXZhbC1hbmQtY29tcGlsZQotICAoZGVmY29uc3Qgc3RyZWFtLS1m cmVzaC1pZGVudGlmaWVyICctLXN0cmVhbS1mcmVzaC0tCi0gICAgIlN5bWJvbCBpbnRlcm5hbGx5 IHVzZWQgdG8gc3RyZWFtcyB3aG9zZSBoZWFkIHdhcyBub3QgZXZhbHVhdGVkLiIpCi0gIChkZWZj b25zdCBzdHJlYW0tLWV2YWxkLWlkZW50aWZpZXIgJy0tc3RyZWFtLWV2YWxkLS0KLSAgICAiU3lt Ym9sIGludGVybmFsbHkgdXNlZCB0byBzdHJlYW1zIHdob3NlIGhlYWQgd2FzIGV2YWx1YXRlZC4i KSkKKyhjbC1kZWZzdHJ1Y3QgKHN0cmVhbSAoOmNvbnN0cnVjdG9yIHN0cmVhbS0tbWFrZS1zdHJl YW0pCisgICAgICAgICAgICAgICAgICAgICAgKDpjb25jLW5hbWUgc3RyZWFtLS0pCisgICAgICAg ICAgICAgICAgICAgICAgKDpwcmVkaWNhdGUgc3RyZWFtcCkKKyAgICAgICAgICAgICAgICAgICAg ICA6bmFtZWQpCisKKyAgIkEgbGF6aWx5IGV2YWx1YXRlZCBzZXF1ZW5jZSwgY29tcGF0aWJsZSB3 aXRoIHRoZSBgc2VxJyBsaWJyYXJ5J3MgZnVuY3Rpb25zLiIKKworICAoZXZhbHVhdGVkCisgICBu aWwKKyAgIDp0eXBlIGJvb2xlYW4KKyAgIDpkb2N1bWVudGF0aW9uICJXaGV0aGVyIHRoZSBoZWFk IGFuZCB0YWlsIG9mIHRoZSBzdHJlYW0gYXJlIGFjY2Vzc2libGUuCisKK1RoaXMgdmFsdWUgaXMg c2V0IHRvIHQgdmlhIHRoZSBmdW5jdGlvbiBgc3RyZWFtLS1mb3JjZScgYWZ0ZXIgaXQKK2NhbGxz IHRoZSB1cGRhdGVyIGZ1bmN0aW9uLiIpCisKKyAgKGZpcnN0CisgICBuaWwKKyAgIDp0eXBlIHQK KyAgIDpkb2N1bWVudGF0aW9uICJUaGUgZmlyc3QgZWxlbWVudCBvZiB0aGUgc3RyZWFtLiIpCisK KyAgKHJlc3QKKyAgIG5pbAorICAgOnR5cGUgKG9yIHN0cmVhbSBudWxsKQorICAgOmRvY3VtZW50 YXRpb24gIlRoZSByZXN0IG9mIHRoZSBzdHJlYW0sIHdoaWNoIGlzIGl0c2VsZiBhIHN0cmVhbS4i KQorCisgIChlbXB0eQorICAgbmlsCisgICA6dHlwZSBib29sZWFuCisgICA6ZG9jdW1lbnRhdGlv biAiV2hldGhlciB0aGUgZXZhbHVhdGVkIHN0cmVhbSBpcyBlbXB0eS4KKworQSBzdHJlYW0gaXMg ZW1wdHkgaWYgdGhlIHVwZGF0ZXIgZnVuY3Rpb24gcmV0dXJucyBuaWwgd2hlbgorYHN0cmVhbS0t Zm9yY2UnIGV2YWx1YXRlcyB0aGUgc3RyZWFtLiIpCisKKyAgKHVwZGF0ZXIKKyAgIG5pbAorICAg OnR5cGUgKG9yIGZ1bmN0aW9uIG51bGwpCisgICA6ZG9jdW1lbnRhdGlvbiAiRnVuY3Rpb24gdGhh dCByZXR1cm5zIHRoZSBoZWFkIGFuZCB0YWlsIG9mIHRoZSBzdHJlYW0gd2hlbiBjYWxsZWQuCisK K1RoZSB1cGRhdGVyIGZ1bmN0aW9uIHJldHVybnMgdGhlIGhlYWQgYW5kIHRhaWwgaW4gYSBjb25z IGNlbGwuCitJZiBpdCByZXR1cm5zIG5pbCwgdGhlbiB0aGUgc3RyZWFtIGlzIGVtcHR5IGFuZCBg ZW1wdHknIGlzCitzZXQgdG8gdC4gIEFmdGVyIHRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkLCBhc3N1 bWluZyBubyBlcnJvcnMgd2VyZSBzaWduYWxlZCwKK2BldmFsdWF0ZWQnIGlzIHNldCB0byB0Lgor CitJbiB0aGUgY2FzZSBvZiB0aGUgY2Fub25pY2FsIGVtcHR5IHN0cmVhbSAoc2VlIHRoZSB2YXJp YWJsZSBgc3RyZWFtLWVtcHR5JyksCit0aGlzIHNsb3QgaXMgbmlsLiIpKQogCiAoZGVmbWFjcm8g c3RyZWFtLW1ha2UgKCZyZXN0IGJvZHkpCiAgICJSZXR1cm4gYSBzdHJlYW0gYnVpbHQgZnJvbSBC T0RZLgotQk9EWSBtdXN0IHJldHVybiBuaWwgb3IgYSBjb25zIGNlbGwgd2hvc2UgY2RyIGlzIGl0 c2VsZiBhCi1zdHJlYW0uIgorCitCT0RZIG11c3QgcmV0dXJuIGEgY29ucyBjZWxsIHdob3NlIGNh ciB3b3VsZCBiZSB0aGUgaGVhZCBvZiBhCitzdHJlYW0gYW5kIHdob3NlIGNkciB3b3VsZCBiZSB0 aGUgdGFpbCBvZiBhIHN0cmVhbS4gIFRoZSBjZHIgbXVzdAorYmUgYSBzdHJlYW0gaXRzZWxmIGlu IG9yZGVyIHRvIGJlIGEgdmFsaWQgdGFpbC4gIEFsdGVybmF0aXZlbHksCitCT0RZIG1heSByZXR1 cm4gbmlsLCBpbiB3aGljaCBjYXNlIHRoZSBzdHJlYW0gaXMgbWFya2VkIGVtcHR5Cit3aGVuIHRo ZSBzdHJlYW0gaXMgZXZhbHVhdGVkLiIKICAgKGRlY2xhcmUgKGRlYnVnIHQpKQotICBgKGNvbnMg JyxzdHJlYW0tLWZyZXNoLWlkZW50aWZpZXIgKGxhbWJkYSAoKSAsQGJvZHkpKSkKKyAgYChzdHJl YW0tLW1ha2Utc3RyZWFtIDpldmFsdWF0ZWQgbmlsCisgICAgICAgICAgICAgICAgICAgICAgICA6 dXBkYXRlciAobGFtYmRhICgpICxAYm9keSkpKQogCiAoZGVmdW4gc3RyZWFtLS1mb3JjZSAoc3Ry ZWFtKQotICAiRXZhbHVhdGUgYW5kIHJldHVybiB0aGUgZmlyc3QgY29ucyBjZWxsIG9mIFNUUkVB TS4KLVRoYXQgdmFsdWUgaXMgdGhlIG9uZSBwYXNzZWQgdG8gYHN0cmVhbS1tYWtlJy4iCi0gIChj b25kCi0gICAoKGVxIChjYXItc2FmZSBzdHJlYW0pIHN0cmVhbS0tZXZhbGQtaWRlbnRpZmllcikK LSAgICAoY2RyIHN0cmVhbSkpCi0gICAoKGVxIChjYXItc2FmZSBzdHJlYW0pIHN0cmVhbS0tZnJl c2gtaWRlbnRpZmllcikKLSAgICAocHJvZzEgKHNldGYgKGNkciBzdHJlYW0pIChmdW5jYWxsIChj ZHIgc3RyZWFtKSkpCi0gICAgICA7OyBpZGVudGlmaWVyIGlzIG9ubHkgdXBkYXRlZCB3aGVuIGZv cmNpbmcgZGlkbid0IGV4aXQgbm9ubG9jYWxseQotICAgICAgKHNldGYgKGNhciBzdHJlYW0pIHN0 cmVhbS0tZXZhbGQtaWRlbnRpZmllcikpKQotICAgKHQgKHNpZ25hbCAnd3JvbmctdHlwZS1hcmd1 bWVudCAobGlzdCAnc3RyZWFtcCBzdHJlYW0pKSkpKQorICAiRXZhbHVhdGUgYW5kIHJldHVybiB0 aGUgU1RSRUFNLgorCitJZiB0aGUgb3V0cHV0IG9mIHRoZSB1cGRhdGVyIGZ1bmN0aW9uIGlzIG5p bCwgdGhlbiBTVFJFQU0gaXMKK21hcmtlZCBhcyBlbXB0eS4gIE90aGVyd2lzZSwgdGhlIG91dHB1 dCBvZiB0aGUgdXBkYXRlciBmdW5jdGlvbgoraXMgdXNlZCB0byBzZXQgdGhlIGhlYWQgYW5kIHRo ZSB0YWlsIG9mIHRoZSBzdHJlYW0uIgorICA7OyBDaGVjayBleHBsaWNpdGx5IHNvIHRoYXQgd2Ug Y2FuIGF2b2lkIGNoZWNraW5nCisgIDs7IGluIGFjY2Vzc29ycyBieSBzZXR0aW5nIHNhZmV0eSB0 byAwIHZpYSBgY2wtZGVjbGFpbScuCisgIChjbC1jaGVjay10eXBlIHN0cmVhbSBzdHJlYW0pCisg IChpZiAoc3RyZWFtLS1ldmFsdWF0ZWQgc3RyZWFtKQorICAgICAgc3RyZWFtCisgICAgKHBjYXNl IChmdW5jYWxsIChzdHJlYW0tLXVwZGF0ZXIgc3RyZWFtKSkKKyAgICAgIChgKCxoZWFkIC4gLHRh aWwpCisgICAgICAgKHNldGYgKHN0cmVhbS0tZmlyc3Qgc3RyZWFtKSBoZWFkCisgICAgICAgICAg ICAgKHN0cmVhbS0tcmVzdCBzdHJlYW0pIHRhaWwpKQorICAgICAgKChwcmVkIG51bGwpCisgICAg ICAgKHNldGYgKHN0cmVhbS0tZW1wdHkgc3RyZWFtKSB0KSkKKyAgICAgIChiYWQtb3V0cHV0Cisg ICAgICAgKGVycm9yICJCYWQgb3V0cHV0IGZyb20gc3RyZWFtIHVwZGF0ZXI6ICVzIgorICAgICAg ICAgICAgICBiYWQtb3V0cHV0KSkpCisgICAgKHNldGYgKHN0cmVhbS0tZXZhbHVhdGVkIHN0cmVh bSkgdCkKKyAgICBzdHJlYW0pKQogCiAoZGVmbWFjcm8gc3RyZWFtLWNvbnMgKGZpcnN0IHJlc3Qp CiAgICJSZXR1cm4gYSBzdHJlYW0gYnVpbHQgZnJvbSB0aGUgY29ucyBvZiBGSVJTVCBhbmQgUkVT VC4KQEAgLTE5MCwxMyArMjUxLDEyIEBAIChkZWZ1biBzdHJlYW0tcmFuZ2UgKCZvcHRpb25hbCBz dGFydCBlbmQgc3RlcCkKICAgICAgKHN0cmVhbS1yYW5nZSAoKyBzdGFydCBzdGVwKSBlbmQgc3Rl cCkpKSkKIAwKIAotKGRlZnVuIHN0cmVhbXAgKHN0cmVhbSkKLSAgIlJldHVybiBub24tbmlsIGlm IFNUUkVBTSBpcyBhIHN0cmVhbSwgbmlsIG90aGVyd2lzZS4iCi0gIChsZXQgKChjYXIgKGNhci1z YWZlIHN0cmVhbSkpKQotICAgIChvciAoZXEgY2FyIHN0cmVhbS0tZnJlc2gtaWRlbnRpZmllcikK LSAgICAgICAgKGVxIGNhciBzdHJlYW0tLWV2YWxkLWlkZW50aWZpZXIpKSkpCi0KLShkZWZjb25z dCBzdHJlYW0tZW1wdHkgKGNvbnMgc3RyZWFtLS1ldmFsZC1pZGVudGlmaWVyIG5pbCkKKyhkZWZj b25zdCBzdHJlYW0tZW1wdHkKKyAgKHN0cmVhbS0tbWFrZS1zdHJlYW0gOmV2YWx1YXRlZCB0Cisg ICAgICAgICAgICAgICAgICAgICAgIDpmaXJzdCBuaWwKKyAgICAgICAgICAgICAgICAgICAgICAg OnJlc3QgbmlsCisgICAgICAgICAgICAgICAgICAgICAgIDplbXB0eSB0CisgICAgICAgICAgICAg ICAgICAgICAgIDp1cGRhdGVyIG5pbCkKICAgIlRoZSBlbXB0eSBzdHJlYW0uIikKIAogKGRlZnVu IHN0cmVhbS1lbXB0eSAoKQpAQCAtMjA1LDE3ICsyNjUsMTkgQEAgKGRlZnVuIHN0cmVhbS1lbXB0 eSAoKQogCiAoZGVmdW4gc3RyZWFtLWVtcHR5LXAgKHN0cmVhbSkKICAgIlJldHVybiBub24tbmls IGlmIFNUUkVBTSBpcyBlbXB0eSwgbmlsIG90aGVyd2lzZS4iCi0gIChudWxsIChjZHIgKHN0cmVh bS0tZm9yY2Ugc3RyZWFtKSkpKQorICAoc3RyZWFtLS1lbXB0eSAoc3RyZWFtLS1mb3JjZSBzdHJl YW0pKSkKIAogKGRlZnVuIHN0cmVhbS1maXJzdCAoc3RyZWFtKQogICAiUmV0dXJuIHRoZSBmaXJz dCBlbGVtZW50IG9mIFNUUkVBTS4KIFJldHVybiBuaWwgaWYgU1RSRUFNIGlzIGVtcHR5LiIKLSAg KGNhciAoc3RyZWFtLS1mb3JjZSBzdHJlYW0pKSkKKyAgKHN0cmVhbS0tZmlyc3QgKHN0cmVhbS0t Zm9yY2Ugc3RyZWFtKSkpCiAKIChkZWZ1biBzdHJlYW0tcmVzdCAoc3RyZWFtKQogICAiUmV0dXJu IGEgc3RyZWFtIG9mIGFsbCBidXQgdGhlIGZpcnN0IGVsZW1lbnQgb2YgU1RSRUFNLiIKLSAgKG9y IChjZHIgKHN0cmVhbS0tZm9yY2Ugc3RyZWFtKSkKLSAgICAgIChzdHJlYW0tZW1wdHkpKSkKKyAg KHNldHEgc3RyZWFtIChzdHJlYW0tLWZvcmNlIHN0cmVhbSkpCisgIChpZiAoc3RyZWFtLS1lbXB0 eSBzdHJlYW0pCisgICAgICAoc3RyZWFtLWVtcHR5KQorICAgIChzdHJlYW0tLXJlc3Qgc3RyZWFt KSkpCiAKIChkZWZ1biBzdHJlYW0tYXBwZW5kICgmcmVzdCBzdHJlYW1zKQogICAiQ29uY2F0ZW5h dGUgdGhlIFNUUkVBTVMuCkBAIC0yNDIsMjIgKzMwNCw2IEBAIChkZWZtYWNybyBzdHJlYW0tcG9w IChzdHJlYW0pCiAgICAgIChzZXRxICxzdHJlYW0gKHN0cmVhbS1yZXN0ICxzdHJlYW0pKSkpCiAM CiAKLTs7OyBjbC1nZW5lcmljIHN1cHBvcnQgZm9yIHN0cmVhbXMKLQotKGNsLWdlbmVyaWMtZGVm aW5lLWdlbmVyYWxpemVyIHN0cmVhbS0tZ2VuZXJhbGl6ZXIKLSAgMTEKLSAgKGxhbWJkYSAobmFt ZSAmcmVzdCBfKQotICAgIGAod2hlbiAoc3RyZWFtcCAsbmFtZSkKLSAgICAgICAnc3RyZWFtKSkK LSAgKGxhbWJkYSAodGFnICZyZXN0IF8pCi0gICAgKHdoZW4gKGVxIHRhZyAnc3RyZWFtKQotICAg ICAgJyhzdHJlYW0pKSkpCi0KLShjbC1kZWZtZXRob2QgY2wtZ2VuZXJpYy1nZW5lcmFsaXplcnMg KChfc3BlY2lhbGl6ZXIgKGVxbCBzdHJlYW0pKSkKLSAgIlN1cHBvcnQgZm9yIGBzdHJlYW0nIHNw ZWNpYWxpemVycy4iCi0gIChsaXN0IHN0cmVhbS0tZ2VuZXJhbGl6ZXIpKQotDAotCiA7OzsgSW1w bGVtZW50YXRpb24gb2Ygc2VxLmVsIGdlbmVyaWMgZnVuY3Rpb25zCiAKIChjbC1kZWZtZXRob2Qg c2VxcCAoKF9zdHJlYW0gc3RyZWFtKSkKLS0gCjIuMzQuMQoK --b1_4lHS3hU9T8ZEyXyLylMgnIIY95AN24Koccue0WeRQg Content-Type: text/x-patch; charset=UTF-8; name=0005-Add-test-for-delayed-evaluation-for-seq-drop-while-f.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=0005-Add-test-for-delayed-evaluation-for-seq-drop-while-f.patch RnJvbSBmZTY1ZDk1MDQxY2I5YWI2N2M4NTNkZmM3ZThlMzRhODcwYTU4OTJiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBFYXJsIEh5YXR0IDxva2Ftc25AcHJvdG9ubWFpbC5jb20+CkRh dGU6IFNhdCwgNSBPY3QgMjAyNCAyMToxOToxOCAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggNS81XSBB ZGQgdGVzdCBmb3IgZGVsYXllZCBldmFsdWF0aW9uIGZvciBzZXEtZHJvcC13aGlsZSBmb3IKIHN0 cmVhbXMuCgoqIHRlc3RzL3N0cmVhbS10ZXN0cy5lbCAoZGVmdGVzdC1mb3ItZGVsYXllZC1ldmFs dWF0aW9uKTogQWRkIGEgdGVzdApmb3Igc2VxLWRyb3Atd2hpbGUuCi0tLQogdGVzdHMvc3RyZWFt LXRlc3RzLmVsIHwgMSArCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKCmRpZmYgLS1n aXQgYS90ZXN0cy9zdHJlYW0tdGVzdHMuZWwgYi90ZXN0cy9zdHJlYW0tdGVzdHMuZWwKaW5kZXgg NWQzZjExNi4uZGVmYzU0NCAxMDA2NDQKLS0tIGEvdGVzdHMvc3RyZWFtLXRlc3RzLmVsCisrKyBi L3Rlc3RzL3N0cmVhbS10ZXN0cy5lbApAQCAtMzIxLDYgKzMyMSw3IEBAIChkZWZ0ZXN0LWZvci1k ZWxheWVkLWV2YWx1YXRpb24gKHN0cmVhbS1hcHBlbmQgIChtYWtlLWRlbGF5ZWQtdGVzdC1zdHJl YW0pIChtYWtlCiAoZGVmdGVzdC1mb3ItZGVsYXllZC1ldmFsdWF0aW9uIChzZXEtdGFrZSAobWFr ZS1kZWxheWVkLXRlc3Qtc3RyZWFtKSAyKSkKIChkZWZ0ZXN0LWZvci1kZWxheWVkLWV2YWx1YXRp b24gKHNlcS1kcm9wIChtYWtlLWRlbGF5ZWQtdGVzdC1zdHJlYW0pIDIpKQogKGRlZnRlc3QtZm9y LWRlbGF5ZWQtZXZhbHVhdGlvbiAoc2VxLXRha2Utd2hpbGUgIydudW1iZXJwIChtYWtlLWRlbGF5 ZWQtdGVzdC1zdHJlYW0pKSkKKyhkZWZ0ZXN0LWZvci1kZWxheWVkLWV2YWx1YXRpb24gKHNlcS1k cm9wLXdoaWxlICMnbnVtYmVycCAobWFrZS1kZWxheWVkLXRlc3Qtc3RyZWFtKSkpCiAoZGVmdGVz dC1mb3ItZGVsYXllZC1ldmFsdWF0aW9uIChzZXEtbWFwICMnaWRlbnRpdHkgKG1ha2UtZGVsYXll ZC10ZXN0LXN0cmVhbSkpKQogKGRlZnRlc3QtZm9yLWRlbGF5ZWQtZXZhbHVhdGlvbiAoc2VxLW1h cG4gIydjb25zCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobWFr ZS1kZWxheWVkLXRlc3Qtc3RyZWFtKQotLSAKMi4zNC4xCgo= --b1_4lHS3hU9T8ZEyXyLylMgnIIY95AN24Koccue0WeRQg-- From debbugs-submit-bounces@debbugs.gnu.org Fri Oct 18 21:00:17 2024 Received: (at 73431) by debbugs.gnu.org; 19 Oct 2024 01:00:18 +0000 Received: from localhost ([127.0.0.1]:40548 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t1xpJ-0006rW-M1 for submit@debbugs.gnu.org; Fri, 18 Oct 2024 21:00:17 -0400 Received: from mail-40133.protonmail.ch ([185.70.40.133]:40749) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t1xpH-0006rG-Ab for 73431@debbugs.gnu.org; Fri, 18 Oct 2024 21:00:16 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1729299585; x=1729558785; bh=y8I2eKDP8vGA9BKJTX8s4blFx6J70PFr5Db0HLxGy8Q=; 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=xp3tjr5Rb+cmvDYK6XVjJ4NBJUwPcHkG6qi1EKfx4JbuAYmZ7UrmteIYZXYcsPfn6 qyGicjkt3B+6RVdTAyTedMcXQ11InpmO8n+wTRntsLh5rG+1/TmqDJuI4NgjOaz7RZ 91cqmGSC/wbx9gx0yo1n4sUbnb4CSV0r8ENq7R1dEOG3dYRR/IsSmPIq9bxUgZlAvY fJ3WK6abo6BKh/7AUarvNWqzKQmk/yBfWxnn/+25enFXE3pyvyC8KffmgNKTKSYKaG 051/sbxhHRNDSHd7r/EAs0UaPjth823xAWhCatWDCFnnkv8sHtNVGcC5cadYuKhAXE bv0DmuZNgeTCQ== Date: Sat, 19 Oct 2024 00:59:41 +0000 To: Philip Kaludercic From: Okamsn Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA Message-ID: <09504d12-9ca6-4b4d-84ff-c7f9d1087192@protonmail.com> In-Reply-To: <7de379ab-a4f2-4853-96dc-cdf05dd7218e@protonmail.com> References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <6caa1395-a3b2-4e70-b905-1cbfee0f92bd@protonmail.com> <87y138hjij.fsf@web.de> <875xqa8fby.fsf@posteo.net> <932d7782-5685-4a43-b34c-fc0bb3a958e4@protonmail.com> <87zfnk6ydj.fsf@posteo.net> <9db72ab8-604e-451d-b9a0-74fa5b3fa81f@protonmail.com> <87a5fic3om.fsf@posteo.net> <7de379ab-a4f2-4853-96dc-cdf05dd7218e@protonmail.com> Feedback-ID: 25935600:user:proton X-Pm-Message-ID: bc2f71191bb0c39cfce07a55d60bc1ae0a87df4e MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 73431 Cc: Michael Heerdegen , "Okamsn via \"Bug reports for GNU Emacs, the Swiss army knife of text editors\"" , Nicolas Petton , Stefan Monnier , 73431@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Okamsn wrote: > Philip Kaludercic wrote: >> This definition also appears unchanged? Please try to keep the diff as >> small as possible. >=20 > OK. I have broken it into several files, which I've attached. How does > it look now? Hello, In my previous message, I broke down the changes I made into 5 small=20 files. Did that improve the clarity for you? Are there other changes=20 that you would like for me to make? Thank you. From debbugs-submit-bounces@debbugs.gnu.org Sat Oct 19 06:41:56 2024 Received: (at submit) by debbugs.gnu.org; 19 Oct 2024 10:41:56 +0000 Received: from localhost ([127.0.0.1]:41591 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t26uC-0000SS-CS for submit@debbugs.gnu.org; Sat, 19 Oct 2024 06:41:56 -0400 Received: from lists.gnu.org ([209.51.188.17]:37136) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t26uA-0000SL-Mz for submit@debbugs.gnu.org; Sat, 19 Oct 2024 06:41: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 ) id 1t26tm-0000P8-Qw for bug-gnu-emacs@gnu.org; Sat, 19 Oct 2024 06:41:30 -0400 Received: from mout01.posteo.de ([185.67.36.65]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t26tk-00045U-31 for bug-gnu-emacs@gnu.org; Sat, 19 Oct 2024 06:41:30 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id A691F240028 for ; Sat, 19 Oct 2024 12:41:25 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1729334485; bh=NpNVoTPYVITlL8UQpi9ED+MP2RFfvQSRrKk1ZT5WPpY=; h=From:To:Cc:Subject:Autocrypt:OpenPGP:Date:Message-ID:MIME-Version: Content-Type:From; b=DKoRz5e+Qomk1FBWbeYHbCPBVh36hJC1Vm0zmq4Djh8H9ZNAvvdpp8zlD5L1+VzTf myodJNLlpayuG5pjfsTzQ0t6YA5XGEdCBJSozDeBWmmonKXZXQDBM7AJ4czEWzKAte XsEBTUhAIfZJP1oZNTKeYfyhLaiUJJkHm7e18uqj/5oRUGPD4BpNbD8tL6518jYUtE XGMoOFh1SyJRejdo0YbcPJKsClXcoJmRTZ8yL8mic2X+I5qi52AZc/XEKi9z9buCDe 0lWo083oji499r2DUUzfw1LGZDOKQyx8qIWbp6G7cZhf0l590wcNZuSYn5I65mgjyy Auc9V1NrFHt2A== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4XVymN1YwSz9rxT; Sat, 19 Oct 2024 12:41:23 +0200 (CEST) From: Philip Kaludercic To: Okamsn Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA In-Reply-To: <7de379ab-a4f2-4853-96dc-cdf05dd7218e@protonmail.com> (okamsn@protonmail.com's message of "Sun, 06 Oct 2024 01:36:29 +0000") References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <6caa1395-a3b2-4e70-b905-1cbfee0f92bd@protonmail.com> <87y138hjij.fsf@web.de> <875xqa8fby.fsf@posteo.net> <932d7782-5685-4a43-b34c-fc0bb3a958e4@protonmail.com> <87zfnk6ydj.fsf@posteo.net> <9db72ab8-604e-451d-b9a0-74fa5b3fa81f@protonmail.com> <87a5fic3om.fsf@posteo.net> <7de379ab-a4f2-4853-96dc-cdf05dd7218e@protonmail.com> Autocrypt: addr=philipk@posteo.net; keydata= mDMEZBBQQhYJKwYBBAHaRw8BAQdAHJuofBrfqFh12uQu0Yi7mrl525F28eTmwUDflFNmdui0QlBo aWxpcCBLYWx1ZGVyY2ljIChnZW5lcmF0ZWQgYnkgYXV0b2NyeXB0LmVsKSA8cGhpbGlwa0Bwb3N0 ZW8ubmV0PoiWBBMWCAA+FiEEDg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwMFCQHhM4AFCwkI BwIGFQoJCAsCBBYCAwECHgECF4AACgkQ8xYDWXahwulikAEA77hloUiSrXgFkUVJhlKBpLCHUjA0 mWZ9j9w5d08+jVwBAK6c4iGP7j+/PhbkxaEKa4V3MzIl7zJkcNNjHCXmvFcEuDgEZBBQQhIKKwYB BAGXVQEFAQEHQI5NLiLRjZy3OfSt1dhCmFyn+fN/QKELUYQetiaoe+MMAwEIB4h+BBgWCAAmFiEE Dg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwwFCQHhM4AACgkQ8xYDWXahwukm+wEA8cml4JpK NeAu65rg+auKrPOP6TP/4YWRCTIvuYDm0joBALw98AMz7/qMHvSCeU/hw9PL6u6R2EScxtpKnWof z4oM OpenPGP: id=philipk@posteo.net; url="https://keys.openpgp.org/vks/v1/by-email/philipk@posteo.net"; preference=signencrypt Date: Sat, 19 Oct 2024 10:41:23 +0000 Message-ID: <87zfn0jrxo.fsf@posteo.net> MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=185.67.36.65; envelope-from=philipk@posteo.net; helo=mout01.posteo.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 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, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=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: Michael Heerdegen , "Okamsn via \"Bug reports for GNU Emacs, the Swiss army knife of text editors\"" , Nicolas Petton , Stefan Monnier , 73431@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) Okamsn writes: > Okamsn wrote: >> Philip Kaludercic wrote: >>> This definition also appears unchanged? Please try to keep the diff as >>> small as possible. >> >> OK. I have broken it into several files, which I've attached. How does >> it look now? > > Hello, > > In my previous message, I broke down the changes I made into 5 small > files. Did that improve the clarity for you? Are there other changes > that you would like for me to make? Sorry, I have just been behind schedule because of other responsibilities. My apologies for the delay! I have taken a look at all the patches, and they look good to me. If there are no objections, I'd go ahead and apply them in the next few days. -- Philip Kaludercic on siskin From debbugs-submit-bounces@debbugs.gnu.org Mon Oct 21 11:48:48 2024 Received: (at 73431) by debbugs.gnu.org; 21 Oct 2024 15:48:48 +0000 Received: from localhost ([127.0.0.1]:53004 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t2ueG-0008OO-6w for submit@debbugs.gnu.org; Mon, 21 Oct 2024 11:48:48 -0400 Received: from mout.web.de ([212.227.17.11]:56569) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t2ueB-0008O8-4E for 73431@debbugs.gnu.org; Mon, 21 Oct 2024 11:48:46 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=web.de; s=s29768273; t=1729525667; x=1730130467; i=michael_heerdegen@web.de; bh=IKJKIg8dsj+t7OEL6V2p8s5n17ur1YIVT7UB5hXr+88=; 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=A7QM8tJY2EfTF9W+2BlPL5MQrruIuzDB8Rg8C9T1ujyGMSKXvnFV6NUZxAcaQqHG nJfG0qI8n2zxkbcZ5A4sHxTdpManxGUGxG+EqPC7vuMQLI2C6MavWe8VBmN4Eh4Fr kUL9vG9Tv3ytkaQMIWkygI7R3EtVOjLjZzy4johHWjejqAMA2DB8roM7Lpm5j/kCX yLQh4QpBvxYztj2rGqvHQ9d5rMDo/IxW/DvtoJ34WRmwT/5QKx/YWnK51ylyHRA4P dcfRf+jkrqQPTjc1JjAJ3luZfONC9bdJETMZ8+pQ8stowRh3YqwgvNHklcYnjRK/T JKMiHSLOfirJdR52yg== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Received: from drachen.dragon ([92.75.138.198]) by smtp.web.de (mrweb106 [213.165.67.124]) with ESMTPSA (Nemesis) id 1MqqPT-1tgrwo1vzF-00mqL1; Mon, 21 Oct 2024 17:47:47 +0200 From: Michael Heerdegen To: Okamsn Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA In-Reply-To: <09504d12-9ca6-4b4d-84ff-c7f9d1087192@protonmail.com> (okamsn@protonmail.com's message of "Sat, 19 Oct 2024 00:59:41 +0000") References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <6caa1395-a3b2-4e70-b905-1cbfee0f92bd@protonmail.com> <87y138hjij.fsf@web.de> <875xqa8fby.fsf@posteo.net> <932d7782-5685-4a43-b34c-fc0bb3a958e4@protonmail.com> <87zfnk6ydj.fsf@posteo.net> <9db72ab8-604e-451d-b9a0-74fa5b3fa81f@protonmail.com> <87a5fic3om.fsf@posteo.net> <7de379ab-a4f2-4853-96dc-cdf05dd7218e@protonmail.com> <09504d12-9ca6-4b4d-84ff-c7f9d1087192@protonmail.com> Date: Mon, 21 Oct 2024 17:48:41 +0200 Message-ID: <87o73dmp7q.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:p/N1gm5Z20ZNwH5pbObLZjeUDdgawuP1qmxixq+oN9NlkTJbhM8 w2d463KCcOUP0aBnaI42c/IFmouEzefVn6p29qu9V2Lt3YW9MNCGaB8Y1nTKOBYC10fOHQW PmmTmgOlj//0tqN29AlxHIsV42UVseEiCoP7ED/JBetl+U6R9DsGL8GP3qzzuAM5KByMoz8 hgamBH84vwOGBXnUlWUUA== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:JZW2A9S3rng=;GHzQ3ssAXLymmALa1/KsLqHUKVQ UQcEqpw1rc1uyQPYGXtH9vA++YAHl8f/R0uTUvh661ztoRhH6nmjRySjLonasv5Txds/kT2d5 ahBkc5HD7iOKMsZzr5vsG6pHN5ElHdC1spBydw8GxqHkb31+Sr+i4IhgLAQ4zW111ElFU+T7n Tukcev9lzDqYkzIIzFc181vo5ssSriHYl2fgX7LNGSJDf5racHlKuPmA72XX/CkTbuvmuQKpc LNM3hYy7VyWcn15Mg08iZ0kLWcXDH5x4tsN0hX4Jd72PI8ihsaKQBo2zL7ARdb2GCPy2MOa5j P2ZcTOI1BVN/oJGwcmscX064cWho+fLmF4aQk8yhPUNUiaTEeoqttKQzlHKR7pxcMGge42Jr5 p47oqHFhLxawTTIJUJ8Gr1mlGYyQ9e4FonQP1Vr7a3kgk49m4yGnjVLwOcjA9l8I/8CqlDyG6 gOINEgSZG5NZolI/Pmf24w+WPkP/C1TGddAg2XSSseb7LOM1UC00BbXGuzPUg6szlKFZI5+yk QJo6h5Q3EXlFwZt8GiTHlslulxFNpoVsFKBJVEqxxIVt6jgrrzkbUG4WmbJvA5iz9GrquTsFd mqgFN++eXGwUm9+4YB4KMDY4JWhFGjWI1LfIAcoXYfT2hqilvCZlYqdzoUIyM3e5Cicb8hDHV IxQwaXwiV5jJ5WGRtW8ZMcMvGuW1d4LPveq0JYpX/fXfyiZmtS4ICOlZ0ZYuwuWgIEdm9LDVA EY1v+sg0tR72Sj7fncJR7ptiexxL/f5wiG6hgXoa/+a6cly83AreeymWVGmymM9WDVuk41Qqa 9uJRMxHwMwxOHlhJO6xVZrQA== Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 73431 Cc: Philip Kaludercic , 73431@debbugs.gnu.org, Nicolas Petton , "Okamsn via \"Bug reports for GNU Emacs, the Swiss army knife of text editors\"" , Stefan Monnier X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Okamsn writes: > In my previous message, I broke down the changes I made into 5 small > files. Did that improve the clarity for you? Are there other changes > that you would like for me to make? > * stream.el (stream): Define the structure using 'cl-defstruct'. Set > safety to 0 using 'cl-declaim' to avoid checking the type of the argumen= t > to 'stream--force' multiple times. Instead, explicitly check a single t= ime > in 'stream--force', which must be used inside the public functions anywa= y. How much slower or faster is forcing with this change, in the end? > + (bad-output > + (error "Bad output from stream updater: %s" > + bad-output))) ^^ Should this better be %S (we use %s for strings only)? TIA, Michael. From debbugs-submit-bounces@debbugs.gnu.org Mon Oct 21 16:40:18 2024 Received: (at submit) by debbugs.gnu.org; 21 Oct 2024 20:40:18 +0000 Received: from localhost ([127.0.0.1]:53673 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t2zCM-0005BJ-44 for submit@debbugs.gnu.org; Mon, 21 Oct 2024 16:40:18 -0400 Received: from lists.gnu.org ([209.51.188.17]:47854) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t2zCK-0005BB-MR for submit@debbugs.gnu.org; Mon, 21 Oct 2024 16:40:17 -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 ) id 1t2zBt-0003O0-7b for bug-gnu-emacs@gnu.org; Mon, 21 Oct 2024 16:39:49 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t2zBr-00077S-6b for bug-gnu-emacs@gnu.org; Mon, 21 Oct 2024 16:39:48 -0400 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 6C17C1000C3; Mon, 21 Oct 2024 16:39:43 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1729543182; bh=GNI+3fWxAQcOJ+4LIRULC6tqcg8A4nD+ELYuOKtXH9I=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=BV6G2Q5G0SAqSNKHAymgl1Y69oA+8r8ziJX1mntXQk/9SwuX8v/IYhXxhAkCn63Qp MzNPqaPtwDqQZ0gkqzsO7YhrKWY80Pg1+UiG2Ot6s9wGl8fDk+Wn0v3ojnifaqsDBL z0Z8iTezyz3h+nqpMkhd3+wL2w69sAqLF9u3MK+jM/60yJNhzM1uDyqYzUP77fBsl7 RoOcXtFrWDoKaB64wlHh7iVrw7bB0PlHnPNREoxJ0XdJ/2o+wFAXs2XwgLB8TnvUGh SW35R5CWsAWC9CVNlIrddFciQgk20yP9S7KkvTGtqo2GMY5EGS5ZFH9WlklSNRpL8v wTrdzGBO0pdSw== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id B24DE100042; Mon, 21 Oct 2024 16:39:42 -0400 (EDT) Received: from alfajor (modemcable116.38-202-24.mc.videotron.ca [24.202.38.116]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 7232F12059D; Mon, 21 Oct 2024 16:39:42 -0400 (EDT) From: Stefan Monnier To: Michael Heerdegen Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA In-Reply-To: <87o73dmp7q.fsf@web.de> (Michael Heerdegen's message of "Mon, 21 Oct 2024 17:48:41 +0200") Message-ID: References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <6caa1395-a3b2-4e70-b905-1cbfee0f92bd@protonmail.com> <87y138hjij.fsf@web.de> <875xqa8fby.fsf@posteo.net> <932d7782-5685-4a43-b34c-fc0bb3a958e4@protonmail.com> <87zfnk6ydj.fsf@posteo.net> <9db72ab8-604e-451d-b9a0-74fa5b3fa81f@protonmail.com> <87a5fic3om.fsf@posteo.net> <7de379ab-a4f2-4853-96dc-cdf05dd7218e@protonmail.com> <09504d12-9ca6-4b4d-84ff-c7f9d1087192@protonmail.com> <87o73dmp7q.fsf@web.de> Date: Mon, 21 Oct 2024 16:39:44 -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.233 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: Received-SPF: pass client-ip=132.204.25.50; envelope-from=monnier@iro.umontreal.ca; helo=mailscanner.iro.umontreal.ca X-Spam_score_int: -42 X-Spam_score: -4.3 X-Spam_bar: ---- X-Spam_report: (-4.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=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: Okamsn , Philip Kaludercic , Nicolas Petton , "Okamsn via \"Bug reports for GNU Emacs, the Swiss army knife of text editors\"" , 73431@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) >> + (bad-output >> + (error "Bad output from stream updater: %s" >> + bad-output))) > ^^ > > Should this better be %S (we use %s for strings only)? +1 Stefan From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 22 09:12:58 2024 Received: (at submit) by debbugs.gnu.org; 22 Oct 2024 13:12:58 +0000 Received: from localhost ([127.0.0.1]:55018 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t3Egz-0002AH-Rq for submit@debbugs.gnu.org; Tue, 22 Oct 2024 09:12:58 -0400 Received: from lists.gnu.org ([209.51.188.17]:49972) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t3Egx-0002A8-TZ for submit@debbugs.gnu.org; Tue, 22 Oct 2024 09:12:56 -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 ) id 1t3EgV-000082-JH for bug-gnu-emacs@gnu.org; Tue, 22 Oct 2024 09:12:27 -0400 Received: from mout.web.de ([212.227.17.12]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t3EgS-0005xw-TZ for bug-gnu-emacs@gnu.org; Tue, 22 Oct 2024 09:12:26 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=web.de; s=s29768273; t=1729602722; x=1730207522; i=michael_heerdegen@web.de; bh=6cB7U1XBQ5tbjsxwosFtN3eJkVur0tMDXqmbn2ozlQU=; 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=h6pLb4O9ygjBReZGEseX/JXr0NnyoAwV2vq1Zg1XPXMFVpvAOsdWvGUrkPF4UfpI BY0aqkbHkcMMKyXV36yS+T56WoVthaiTY99ZcXYyrIewjBI+4q5UTqNSpatP8osxk UAlLOVOC/SP37hmDuQZ7nhkggNoXP8McqcmpwVSUY54EKfjEVo2NtsO/Tr3aQMYRO nEYN0xY7jBvxq+1z5QG/sjtFBR4oPiAZzV5pNe13KykKt8HQCPTvK+KA6iCnEPUt8 PhqHHj16Y96ZkV/MeqjlZ97JI9fv990NplZJqJGAs4PBJy4hVlLcUi8NentkTdefB yxkcuf1y5MNSFcIhew== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Received: from drachen.dragon ([92.75.138.198]) by smtp.web.de (mrweb106 [213.165.67.124]) with ESMTPSA (Nemesis) id 1M6pYS-1szPSx478o-008GZM; Tue, 22 Oct 2024 15:12:02 +0200 From: Michael Heerdegen To: Michael Heerdegen via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA In-Reply-To: <87o73dmp7q.fsf@web.de> (Michael Heerdegen via's message of "Mon, 21 Oct 2024 17:48:41 +0200") References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <6caa1395-a3b2-4e70-b905-1cbfee0f92bd@protonmail.com> <87y138hjij.fsf@web.de> <875xqa8fby.fsf@posteo.net> <932d7782-5685-4a43-b34c-fc0bb3a958e4@protonmail.com> <87zfnk6ydj.fsf@posteo.net> <9db72ab8-604e-451d-b9a0-74fa5b3fa81f@protonmail.com> <87a5fic3om.fsf@posteo.net> <7de379ab-a4f2-4853-96dc-cdf05dd7218e@protonmail.com> <09504d12-9ca6-4b4d-84ff-c7f9d1087192@protonmail.com> <87o73dmp7q.fsf@web.de> Date: Tue, 22 Oct 2024 15:12:53 +0200 Message-ID: <87ed48mgbu.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:O41jda5J83+sj1ymvBM/Tg/rFParpzaBQI7yyh6aZVt4RSjvIUE Bg+XFhu/jcqdO4SwCWsNWR3mVuEuH7NsfyPqd2m6ArP5+QZEIWpyQwrXGKhsTpMId8fYtGv UiVkVO5f+tn6LXDjjBKWKAKp3r26DXKleBl1ebqgq8EuiNxYywyPGiA4sJEvz+0uRH86XLr m+f4iHBZ+I/BMDdKaLJuA== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:cDNRkx5gAUA=;Y1cwW5WSPzaF+vuT7tnp6nT9n0q rENNSMYm555TG8dmIk3I8mECO3itVGur6PJxnmv8mm/UNjBhgh6gyy6PyqUSccjwNPPowSKlx Pj/IpPOIPeiKrArYphAIPIkMWx++GtZ16siIjUbWwgxR5ZNAPmofMYnkH9rv2eD+/0mqG4gJo qwvVasHDUAUhWVw/GpvIr+nfGe8tPMfj7KpRGETpyygB8lJqvMdiDyFX6F2ubANp3N4dk4sys 0SAx6wiz94FUvMG/QPwFij0XTF1tJZfwz25xggssuYePVa2KPua30RI8woqjZ00noF5Y7H+f3 JyIV+60gu7oNiDXoDO1GDvYFTh/PUq+28abiYrB+2rIpUNm4nMOfJJWLgnGazV88AKw0nblvI JV7HFF+fBobDKNaW/43QZ2JDJQdB0dutfaEUlX8XJKp6f+X9eJiNTf9kt0sHaJxLDrBwcVI/f 3TNR4jkP2sPxREYHQAXRuGROOjKc+MYmcr4YMeyYAsVYOM35IG4Ba2BBJQVtu0o58fihgJUlK 1qgmkqwWwzGKG61HjCnX7ie+PbX4jh5lZO+039hGFZ6Sr+eYG6R2mBXCvDW/XxeX+ilagtuQl eKRtbRW37KJaAUTd+xayo+kxw+imcIsTyLpE+oRIalhnCjmGwAcJFYpB42iqISGVZrTDOiNl8 xhJ4uKpUgBToa60/MbS+GARgRRA+QcsbmfwJv2aTImkZHSbXnktcxGYhJSEGpjrj7i1iDfcwg jCktr3uzrnnCIDtcFJBsKrqBQ5hgwBZu4slcuJnJH9JzaKhQGsa7+6NaSTDIxzg//qovgkgdP h5bOesvgZPK8tRhtDuVVsDlJM9YcV3Uh9zPQcoEp+/NzE= Received-SPF: pass client-ip=212.227.17.12; envelope-from=michael_heerdegen@web.de; helo=mout.web.de 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_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=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: Okamsn , philipk@posteo.net, nicolas@petton.fr, 73431@debbugs.gnu.org, monnier@iro.umontreal.ca X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) Michael Heerdegen via "Bug reports for GNU Emacs, the Swiss army knife of text editors" writes: > How much slower or faster is forcing with this change, in the end? I now tried el-search using your patch. Everything worked well and so far I did not see any obvious performance degradation. > > + (bad-output > > + (error "Bad output from stream updater: %s" > > + bad-output))) > ^^ > > Should this better be %S (we use %s for strings only)? Also: when compiling using master I get | stream.el:395:15: Warning: docstring wider than 80 characters | stream.el:421:15: Warning: docstring has wrong usage of unescaped single | quotes (use \=' or different quoting such as `...') Could you please try to care about these? But apart from these details your patches look fine to me. Thanks for working on this. Michael. From debbugs-submit-bounces@debbugs.gnu.org Wed Oct 23 22:51:53 2024 Received: (at submit) by debbugs.gnu.org; 24 Oct 2024 02:51:53 +0000 Received: from localhost ([127.0.0.1]:33069 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t3nx2-0007QR-Tk for submit@debbugs.gnu.org; Wed, 23 Oct 2024 22:51:53 -0400 Received: from lists.gnu.org ([209.51.188.17]:34048) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t3nwv-0007Q1-K8 for submit@debbugs.gnu.org; Wed, 23 Oct 2024 22:51:49 -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 ) id 1t3nwR-0004gr-5B for bug-gnu-emacs@gnu.org; Wed, 23 Oct 2024 22:51:15 -0400 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 ) id 1t3nwO-0004PC-JW for bug-gnu-emacs@gnu.org; Wed, 23 Oct 2024 22:51:14 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1729738268; x=1729997468; bh=cOGDf3Izf3LZvJMAYYUex9PxNWFxy+8nIQkSIQ2o8Fk=; 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=arRcaYPnr49VwdXwiCQmVkaiwVcD1q5j0Y5JkxFne0AXnTsODbfKHN2SVySfXUwsa dZkA6oPQiYXFnZn2do6WfwzLKipSH7agZno2NjKnfo9B/bLFa8YSHYWipEy68zBxMi brKGb87xh+7xlSZCAmUt3CR2s3DSyBxv3sA6VEBYoLuMd2cm61obASLezvF/L0D5gs D5E8PaSxk05GdOtpl1qQLLT+RgcwS40vUS8KSI88J3c5ejQRZgE/KI2cAft5N+IxDv KAlKHbyP9DewmN9bun7xuKJ1O7+mJa6WmAZ9anOY8j87zcLxj/+kFpxsA+Z1NBSBbG MGvcyZ6HFBFqw== Date: Thu, 24 Oct 2024 02:51:05 +0000 To: Michael Heerdegen , "Michael Heerdegen via \"Bug reports for GNU Emacs, the Swiss army knife of text editors\"" From: Okamsn Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA Message-ID: In-Reply-To: <87ed48mgbu.fsf@web.de> References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <932d7782-5685-4a43-b34c-fc0bb3a958e4@protonmail.com> <87zfnk6ydj.fsf@posteo.net> <9db72ab8-604e-451d-b9a0-74fa5b3fa81f@protonmail.com> <87a5fic3om.fsf@posteo.net> <7de379ab-a4f2-4853-96dc-cdf05dd7218e@protonmail.com> <09504d12-9ca6-4b4d-84ff-c7f9d1087192@protonmail.com> <87o73dmp7q.fsf@web.de> <87ed48mgbu.fsf@web.de> Feedback-ID: 25935600:user:proton X-Pm-Message-ID: 264ccdbb03327488f50ef2115397809c6c90c187 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=185.70.43.16; envelope-from=okamsn@protonmail.com; 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_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-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: philipk@posteo.net, nicolas@petton.fr, 73431@debbugs.gnu.org, monnier@iro.umontreal.ca X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) Michael Heerdegen wrote: > Okamsn writes: >> * stream.el (stream): Define the structure using 'cl-defstruct'. Set >> safety to 0 using 'cl-declaim' to avoid checking the type of the=20 argument >> to 'stream--force' multiple times. Instead, explicitly check a=20 single time >> in 'stream--force', which must be used inside the public functions=20 anyway. > > How much slower or faster is forcing with this change, in the end? In my tests of iterating through the stream, the increase in speed from=20 disabling the safety checks ranged from about 10% to about 20%. > > >> + (bad-output >> + (error "Bad output from stream updater: %s" >> + bad-output))) > ^^ > > Should this better be %S (we use %s for strings only)? I have fixed this in the local version. I will send an updated set of=20 patches after a better doc string for `seq-take-while` is chosen, to=20 reduce noise. Michael Heerdegen wrote: > Also: when compiling using master I get >=20 > | stream.el:395:15: Warning: docstring wider than 80 characters > | stream.el:421:15: Warning: docstring has wrong usage of unescaped singl= e > | quotes (use \=3D' or different quoting such as `...') >=20 > Could you please try to care about these? For shortening the first line of the documentation of `seq-take-while`,=20 do you think changing "Return a stream of the successive elements for=20 which (PRED elt) is non-nil in STREAM" to "Return a stream of serial=20 elements in STREAM for which PRED returns non-nil" works? Also, do you=20 think that the documentation string for `seq-drop-while` should also be=20 changed for consistency? > But apart from these details your patches look fine to me. Thanks for > working on this. Thank you for testing the patch with el-search. From debbugs-submit-bounces@debbugs.gnu.org Sun Oct 27 06:07:00 2024 Received: (at submit) by debbugs.gnu.org; 27 Oct 2024 10:07:00 +0000 Received: from localhost ([127.0.0.1]:43843 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t50Al-000567-Rq for submit@debbugs.gnu.org; Sun, 27 Oct 2024 06:07:00 -0400 Received: from lists.gnu.org ([209.51.188.17]:38940) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t50Aj-00055x-B1 for submit@debbugs.gnu.org; Sun, 27 Oct 2024 06:06:57 -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 ) id 1t50AA-0005Sn-Co for bug-gnu-emacs@gnu.org; Sun, 27 Oct 2024 06:06:22 -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 ) id 1t50A8-0000dI-PS for bug-gnu-emacs@gnu.org; Sun, 27 Oct 2024 06:06:22 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=web.de; s=s29768273; t=1730023558; x=1730628358; i=michael_heerdegen@web.de; bh=vcDM5BIhpzq3W6UHHFgZFrhgbOeizGrCQIlknVd8+uo=; 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=ONT15Df5pVkvsOx2qQ4yxO33RPlSMd607U15GfEkSgejEsSNCz1TwGoi4QBuvYuF ks0WRwpHYcpwBKpqejzI+vu//JrJ+fyY6HyF0JHLYTpXQTeUEmYocvlcXpSjlivrP i5xeMNvSkN+qfeKiuZv/70Yd6ITBKg4dNUq876P+hHyzbdZ9uZw3YbymV6oKR4S3e 6+heYMmcOOcca2tL4xdtelEPRqKerswxuj8OMy1hzSUwlgi8huMP8gW3cMR/u5AjQ XuvYXGojDtdn1hbt5HcCQZfc4BHuJdS33GrPnlkIhFWXVw02t0onkRQU564uzzk2R PG+qABYTwojn12m8bw== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Received: from drachen.dragon ([92.75.138.198]) by smtp.web.de (mrweb006 [213.165.67.108]) with ESMTPSA (Nemesis) id 1MQPZd-1tIWpz38U5-00UiKN; Sun, 27 Oct 2024 11:05:58 +0100 From: Michael Heerdegen To: Okamsn Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA In-Reply-To: (okamsn@protonmail.com's message of "Thu, 24 Oct 2024 02:51:05 +0000") References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <932d7782-5685-4a43-b34c-fc0bb3a958e4@protonmail.com> <87zfnk6ydj.fsf@posteo.net> <9db72ab8-604e-451d-b9a0-74fa5b3fa81f@protonmail.com> <87a5fic3om.fsf@posteo.net> <7de379ab-a4f2-4853-96dc-cdf05dd7218e@protonmail.com> <09504d12-9ca6-4b4d-84ff-c7f9d1087192@protonmail.com> <87o73dmp7q.fsf@web.de> <87ed48mgbu.fsf@web.de> Date: Sun, 27 Oct 2024 11:06:56 +0100 Message-ID: <87iktdkgfz.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:Al7uvLRCYjCkpFgFfAtrCQk9WacPV8x4nHEKa1xcFQQ8vnsOTny bYO+bZJJ4HeiVggB9oSz9dqQ16pmFmNZ8nVtB9K2wsU124WBswhC1i/EyA+5pwHPX4rZkyB +tEyZ36EXglfxrZ4y28FUHIJfh+rIqx4va1XU0l4Flo+mYCmGB3Td66qB377tjZ054O3c0g FM9ABIiXMbw8Q6L//vLYw== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:/j3tIKLpDIQ=;MYoP0IDakr/Edhy45JXudGCPTa2 w/ieYj457mBli2kXojp3oiE1Dq76K+VXaycIeKP3e9MBb4kd3JHlhIkI52euoc7mlWIWXapGL tnbGGosnKpUxrI7PQIg59ATfxB2cO8Xnw0Ugsqclr9vUcYxvAPPOELfyVmXko2+BrjPWJNC3D XLh1W4NDY7Nk1h4GBWQx5Fm9eg5NWHCiU8zsz/ZQHOWz5iWKzO+uyUuL7RAkYYCjbG4sDJn7U +U07FrdjeXG8NSbqDFnF0kJTpTFyd54xLWar/dSWWkgKki3zv1Ud7E2Npjm8BbsAc/vAzTdEh JIBrYhr39EEA5SIVN3s14h3CwB8Y2e3fbjvjDptyi3U8pChuXRyc+zf+93Gzig7rJvZedXR26 4Lr6DqUYERGY6aMgimOvwPR5rYIs4WlrvCx0JwbtHzljpKY31P4mXqumv7oEylFtiaxKV1ufX xtqFbBS+tbOZPpU+PufOz6TwV9dUo9dRQIkrkLdO9rGFaai95dnkn8fktctqtJlrwbdOflnvz qbCKX/qWXBR5nmScYnWQQQJgMAsnZNFMCQJul8j40s8O3OdhfqKfiC20tVYci9xV4NqHXgvrU pOaFAKfEj9P4wQrPFu4lzBhEejjBvs+CqzMXynkCAU+EPApjFAcv0ukYAE88QweCLRsPNLk4l GbTLcFkiyft57XbcXnIVy60IK51DFKp9EIWrJuB3pkx2quPy47YetZ7pXDdZ6etRgmsnDnEag Rbq9IR45rNvmReWaw5b96AhgDFZfG/AgUpO/ykNyUizuAx+MduqkOe5I5qVvy6IpFzj6HMZXB fYJbG0ZMRtKXVlVQP0+8gNOw== Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=212.227.15.14; envelope-from=michael_heerdegen@web.de; 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, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=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: "Michael Heerdegen via \"Bug reports for GNU Emacs, the Swiss army knife of text editors\"" , nicolas@petton.fr, philipk@posteo.net, monnier@iro.umontreal.ca, 73431@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) Okamsn writes: > For shortening the first line of the documentation of `seq-take-while`, > do you think changing "Return a stream of the successive elements for > which (PRED elt) is non-nil in STREAM" to "Return a stream of serial > elements in STREAM for which PRED returns non-nil" works? Hmm. How about "Return the starting consecutive elements that fulfill PRED." Or "front elements"? I tried to emphasize that the function is not about the whole sequence but starts at the front and aborts once PRED is not fulfilled. We can later say explicitly that the predicate is called like (PRED ELT) - that alone makes the sentence shorter. But I'm not that good when using English language - better versions welcome. > Also, do you think that the documentation string for `seq-drop-while` > should also be changed for consistency? Sure. Michael. From debbugs-submit-bounces@debbugs.gnu.org Sun Oct 27 10:27:15 2024 Received: (at 73431) by debbugs.gnu.org; 27 Oct 2024 14:27:15 +0000 Received: from localhost ([127.0.0.1]:45865 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t54Ed-00017X-1R for submit@debbugs.gnu.org; Sun, 27 Oct 2024 10:27:15 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:11698) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t54Eb-00017I-9w for 73431@debbugs.gnu.org; Sun, 27 Oct 2024 10:27:14 -0400 Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 640814410BE; Sun, 27 Oct 2024 10:26:31 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1730039190; bh=Z/nCv4xCHOu4ahysETast2AOtI/VzM5j/NQ7UkY0JDA=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=gTD6iGU7zRYq34zWrlkBYpewXzNr//sy0TKSxg14UTq1RNW0H7SjGzFOPrRfs+0YK TmEsK8I0XXYMOWLBJpISlTZNqHlk7yYgddNwkSLxxEvdXuo1BemWz7PO9ZTanN2XEn VPLI+NxIoKd2Jku2hANVBsuv12bYICu9djzCixXjEWpM8xrp9sKxqoDao366twsbtG ONQDZ1mYwFyTwxDxekK28xkN/bMABs9aOuq5PChCS0M+KWN7iSHhcwwMMw4Bj8zpiH 7mMZOYeKhm2sfq1L3B7b/4PO5jQc6dnEJPQTE+L7WMqjpgSn84rUuPn3VMMBtJd3+e 5wAuQHDMCp/yg== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 3EE5A440408; Sun, 27 Oct 2024 10:26:30 -0400 (EDT) Received: from pastel (69-196-161-60.dsl.teksavvy.com [69.196.161.60]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id F16E51201CF; Sun, 27 Oct 2024 10:26:29 -0400 (EDT) From: Stefan Monnier To: Okamsn Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA In-Reply-To: (okamsn@protonmail.com's message of "Thu, 24 Oct 2024 02:51:05 +0000") Message-ID: References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <932d7782-5685-4a43-b34c-fc0bb3a958e4@protonmail.com> <87zfnk6ydj.fsf@posteo.net> <9db72ab8-604e-451d-b9a0-74fa5b3fa81f@protonmail.com> <87a5fic3om.fsf@posteo.net> <7de379ab-a4f2-4853-96dc-cdf05dd7218e@protonmail.com> <09504d12-9ca6-4b4d-84ff-c7f9d1087192@protonmail.com> <87o73dmp7q.fsf@web.de> <87ed48mgbu.fsf@web.de> Date: Sun, 27 Oct 2024 10:26:28 -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.157 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: -2.3 (--) X-Debbugs-Envelope-To: 73431 Cc: Michael Heerdegen , philipk@posteo.net, nicolas@petton.fr, 73431@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) >> | stream.el:395:15: Warning: docstring wider than 80 characters >> | stream.el:421:15: Warning: docstring has wrong usage of unescaped single >> | quotes (use \=' or different quoting such as `...') >> >> Could you please try to care about these? > > For shortening the first line of the documentation of `seq-take-while`, > do you think changing "Return a stream of the successive elements for > which (PRED elt) is non-nil in STREAM" to "Return a stream of serial > elements in STREAM for which PRED returns non-nil" works? Why do we even need a docstring? The generic function already comes with its docstring: Take the successive elements of SEQUENCE for which PRED returns non-nil. PRED is a function of one argument. The function keeps collecting elements from SEQUENCE and adding them to the result until PRED returns nil for an element. Value is a sequence of the same type as SEQUENCE. Methods of a generic function shouldn't duplicate the generic function's docstring. They may add some clarifications specific to the method, of course, but in most cases no docstring is needed. Look at what your docstring does in `C-h f seq-take-while` to judge whether it's appropriate. Stefan From debbugs-submit-bounces@debbugs.gnu.org Mon Oct 28 05:42:40 2024 Received: (at 73431) by debbugs.gnu.org; 28 Oct 2024 09:42:40 +0000 Received: from localhost ([127.0.0.1]:52566 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t5MGm-0006Vo-BB for submit@debbugs.gnu.org; Mon, 28 Oct 2024 05:42:40 -0400 Received: from mout.web.de ([212.227.15.4]:38203) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t5MGk-0006VW-9L for 73431@debbugs.gnu.org; Mon, 28 Oct 2024 05:42:38 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=web.de; s=s29768273; t=1730108508; x=1730713308; i=michael_heerdegen@web.de; bh=gRKS7TVRXPGx036c4QmW2i/n2e65xUMDgzzyx3NtiDQ=; 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=uKe/2cpofU6kQJ4HDRv+Wp3ylBx5SxsurYrFSg5EcBzEKo9/W9nXQpw9Ly+O2fDY hk2OLkWNVSnQO6tUroP/vnuv6HJRyIw/1xhgzdzZdO/9xJ92OSjI5EuofVgSWiOdq a6X/Aj4MDwvyIaJ/BYmpc8Gg0DB3UcQmVqaVw1Lrffx2BR/xqSouKJnQE41BmKAjE gIwD6lR9+yUoH2rmLM5ubDyP434rxzfWxnWtpvNQ53fIfWREYjYs0+QaXVhg/zyyh MT94XuQKJoa8QOEQm/5OgUxJ8Qj8WNLU+USn2mhuz8StqotjvLmkz5yITdz2hjge1 okOT3qYSNPWArjhPGA== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Received: from drachen.dragon ([92.75.138.198]) by smtp.web.de (mrweb005 [213.165.67.108]) with ESMTPSA (Nemesis) id 1MJWoe-1tKgBH3k2i-00VjZc; Mon, 28 Oct 2024 10:41:47 +0100 From: Michael Heerdegen To: Stefan Monnier Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA In-Reply-To: (Stefan Monnier's message of "Sun, 27 Oct 2024 10:26:28 -0400") References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <932d7782-5685-4a43-b34c-fc0bb3a958e4@protonmail.com> <87zfnk6ydj.fsf@posteo.net> <9db72ab8-604e-451d-b9a0-74fa5b3fa81f@protonmail.com> <87a5fic3om.fsf@posteo.net> <7de379ab-a4f2-4853-96dc-cdf05dd7218e@protonmail.com> <09504d12-9ca6-4b4d-84ff-c7f9d1087192@protonmail.com> <87o73dmp7q.fsf@web.de> <87ed48mgbu.fsf@web.de> Date: Mon, 28 Oct 2024 10:42:47 +0100 Message-ID: <87ttcwimw8.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:2FY95FXpEBdN8NfRSUIp0jOCUfjCKIitibM4P4MIs/h+p7p9of6 yGSyLS0HvI+6hJuk4el+Nrt0A4gEQyAjFYFRJquOii2WgYGvZHKdtOBEWvjBwvyQ0RarrCO M6mxNtKjvIwxbPTPeNsNwZnZ76hWHTSX2Rd6701N5k14wXunaImyJ213as3lKM3J3u1ESRi 8sZIC37PNjfP7lwYUIVtg== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:iJ6Af2/BQcY=;mEx3qIKXplV0H3v9P2Z1z1COIfV 1Nvv/niOZAMjL0djfeZf+0vlgdqUi0MKoIDgrQi+kZSajWnonG6lEPSGqjSpvLkqBqUyInBBw yd6/+MZ5jCKLhQmZiywb1dNBYg8tZ92KE0jMXrKWIP19fy2ZO8Q2a3dDKrQ83RzjLSAGESo4p zGsnRzv7yEcLSOxA9trzBiRvdU+XxAyr5ZHRp1/CknPWTiQI6290WLYNdK1aH9lV0hXfX5T15 OY7iS+DDH89nUCrpy2HPMoSV0Ag1TMvKSLXD3EdeR9hUpaNwCUcDSVD3Y1XmLjbnPPUpj0WTN XbEYxV2hE+wOHnFJGIeNETSZJNtCvto1ukwYwrDQM9UR+DIaRzPUG9Iv1B0lQxEAKGob9zQE1 1sqOGZCLLZSRm7oXnz4AYIMelPZm45mJOfRpLt1kGIjc5+XFIdXKL7kXEJgKinVp2r6HwFAG6 BBJrSZ+xEtBfskMIWT63wspaIdkHWbYPnnt3dR4bZP6uYeBfGiTjqMm3+96Y9zR+GXFuSfmbj H07zSiO2JVdjjJJ0qBlH9QrQwb1pt9bNKYjXkAmG830ADh4lwvVACJ9TOgNtGadnbX8PIciwU bpLL3Y9P/VhYWhOWn2tu8rOiNlfjDSKi3577u599G+zdqs8mQyo3GWPRJMk8pLnvdgT+/J5tr hrbZMWJvX3fVZ0VQJbVh2f4sgfdCnS0mRWcCAxrliiCKd7FyYBXKgjef6tDII8T+Fghgg75z3 dmf+hq7OpCiH72LI8h2KbGTZ16hKSwrXLMogCD6jk/cVHj3pFr8AI/3bW17WmD5195uABdDSJ czg485leFpsbFhbDrEmfvgD5H9Ysw48hwKVdQUbIvrGWY= X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 73431 Cc: Okamsn , philipk@posteo.net, nicolas@petton.fr, 73431@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Stefan Monnier writes: > > For shortening the first line of the documentation of `seq-take-while` > > [...] > Why do we even need a docstring? The generic function already comes > with its docstring: [...] I agree 100%. Michael. From debbugs-submit-bounces@debbugs.gnu.org Mon Oct 28 21:15:47 2024 Received: (at 73431) by debbugs.gnu.org; 29 Oct 2024 01:15:48 +0000 Received: from localhost ([127.0.0.1]:55249 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t5apn-0007lh-L0 for submit@debbugs.gnu.org; Mon, 28 Oct 2024 21:15:47 -0400 Received: from mail-4316.protonmail.ch ([185.70.43.16]:59933) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t5apl-0007lO-E6 for 73431@debbugs.gnu.org; Mon, 28 Oct 2024 21:15:46 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1730164538; x=1730423738; bh=6fHp+n0BFNLu4/SBFy9xWBoi7fC73Kb/2jsBpKfRTxI=; 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=O4GjGYCL7yxVSqJmVrLg7bko0pwytZDMkPlsRGB5ddqMIeaaiTNl2u9JXz9TnixLo 5MR/Mb6qJ3eya6BAGYXgoU8eksnod1YdrTIHeCQEpcMAZbHkrmxm6LmmKW7tdoCoFh 9xgL5vVjCUVe0EE6xiFinPKX+pdG33hrI4WQ9deotUkciI6X21n48fRW2y4Xvt38Kf BDQc/YMop2mPwYdMu8AUD6DJmOY/QDMOujqe1DLmZDLZgG/Nrn19Kr2fum2YlRnqj5 D7BWWn4dTk94NfsfWSsysjFLAxXZRqP1DHgDEo8zX3V4FdTTvhm6adDqTTmolCFVsw +LXBxOVCigYMg== Date: Tue, 29 Oct 2024 01:15:34 +0000 To: Michael Heerdegen , Stefan Monnier From: Okamsn Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA Message-ID: <5d5ae196-f7f2-4b30-aafe-daed980680f1@protonmail.com> In-Reply-To: <87ttcwimw8.fsf@web.de> References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <87a5fic3om.fsf@posteo.net> <7de379ab-a4f2-4853-96dc-cdf05dd7218e@protonmail.com> <09504d12-9ca6-4b4d-84ff-c7f9d1087192@protonmail.com> <87o73dmp7q.fsf@web.de> <87ed48mgbu.fsf@web.de> <87ttcwimw8.fsf@web.de> Feedback-ID: 25935600:user:proton X-Pm-Message-ID: 6e8fefd00ca7954e72c0c388751c2b6b2965aec0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 73431 Cc: philipk@posteo.net, nicolas@petton.fr, 73431@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Michael Heerdegen wrote: > Stefan Monnier writes: >=20 >>> For shortening the first line of the documentation of `seq-take-while` >>> [...] >=20 >> Why do we even need a docstring? The generic function already comes >> with its docstring: [...] >=20 > I agree 100%. >=20 >=20 > Michael. Hello, Did you also want to delete the documentation string of `seq-mapn`,=20 which contains an example? Thank you. From debbugs-submit-bounces@debbugs.gnu.org Mon Oct 28 22:00:39 2024 Received: (at 73431) by debbugs.gnu.org; 29 Oct 2024 02:00:39 +0000 Received: from localhost ([127.0.0.1]:55322 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t5bXD-0001Lx-0Z for submit@debbugs.gnu.org; Mon, 28 Oct 2024 22:00:39 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:17439) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t5bX7-0001Lc-9R for 73431@debbugs.gnu.org; Mon, 28 Oct 2024 22:00:37 -0400 Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id ACECB4443D2; Mon, 28 Oct 2024 22:00:26 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1730167225; bh=J6HO8BPrYC4UqdcaLMmudziTDW9eic5sBOPod40tZu0=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=BJ9lvVqmmVHPmZy7f3xg96GDFfm0Xr+svFGoJ7QVlxtbC0rHJmRIUYM3dP8jd6VWJ E799JLzqhbU5a/+8/ZNuOqcLYUqov48VJ+COCcLiCTQxbExAxyXvhRCOzfwpnirOT/ s2UtO1DkRljkdWM9ehGJUhG6YEAN7HxX3Y88wNAuSwMsW8MwIHvEoSh2vjH6pna6Je bSNjCKhkhqQGRwzsD3S6yKsxVGAH+8bRSS+W+Rt3bS+44Bvtd5nJQ/c9BVwSf6y4ty LpdzJT2y9XNWGkGUl3viIPWZbn625DLjdA9fd0oM7AMs6DenBLcLqoD3IaatqOhOY9 J+wW4vBXym12A== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id B1C904443D0; Mon, 28 Oct 2024 22:00:25 -0400 (EDT) Received: from pastel (69-196-161-60.dsl.teksavvy.com [69.196.161.60]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 71539120489; Mon, 28 Oct 2024 22:00:25 -0400 (EDT) From: Stefan Monnier To: Okamsn Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA In-Reply-To: <5d5ae196-f7f2-4b30-aafe-daed980680f1@protonmail.com> (okamsn@protonmail.com's message of "Tue, 29 Oct 2024 01:15:34 +0000") Message-ID: References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <87a5fic3om.fsf@posteo.net> <7de379ab-a4f2-4853-96dc-cdf05dd7218e@protonmail.com> <09504d12-9ca6-4b4d-84ff-c7f9d1087192@protonmail.com> <87o73dmp7q.fsf@web.de> <87ed48mgbu.fsf@web.de> <87ttcwimw8.fsf@web.de> <5d5ae196-f7f2-4b30-aafe-daed980680f1@protonmail.com> Date: Mon, 28 Oct 2024 22:00:23 -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.145 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: -2.3 (--) X-Debbugs-Envelope-To: 73431 Cc: Michael Heerdegen , philipk@posteo.net, nicolas@petton.fr, 73431@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Did you also want to delete the documentation string of `seq-mapn`, > which contains an example? I can't find the patch right now to make an informed judgment, but the docstring of the stream method of `seq-mapn` should be specific to the stream method. Please look at the result in `C-h f seq-mapn` to see if your docstring makes sense. Stefan From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 29 05:57:18 2024 Received: (at 73431) by debbugs.gnu.org; 29 Oct 2024 09:57:19 +0000 Received: from localhost ([127.0.0.1]:56046 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t5iyU-0006b3-JD for submit@debbugs.gnu.org; Tue, 29 Oct 2024 05:57:18 -0400 Received: from mout.web.de ([212.227.17.11]:46327) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t5iyM-0006ae-MP for 73431@debbugs.gnu.org; Tue, 29 Oct 2024 05:57:15 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=web.de; s=s29768273; t=1730195815; x=1730800615; i=michael_heerdegen@web.de; bh=zPA6COcGB8QyQm6yJgj0a+Az+5b8RAFuWZRU7YZPrMc=; 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=lQ2BaKsVByWvJ5kbUB/2M3O9bhmgAHMh+iGUSTVl3tiBMYn065eB49Y04HaXf1KX ALxge+kvQw/L9Uxx41bIbR4aIOjwRlJOM7s6nRBILMRn+UyzFJHjRiCeYWV1in+Xo 74YB9An9dd5LVxE923ng2REKU37f/uLfiZrLkVdmCRRRbHuaEaS3+kTZtEeryL4eZ ZT4xxEQchmoR5dkFx8IKsmgGY/yI12WTKN6iiyIBeD7jWnjAQCIMKeaAfBEqRwt68 bO03c2Z5rNyhVb3UVS81i3PwPIiSEv2L8pb4mJ9Bhre2M1ghbCtYScBO0T+N+i1Cn q5xNNod3oC5itl4seA== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Received: from drachen.dragon ([92.75.138.198]) by smtp.web.de (mrweb105 [213.165.67.124]) with ESMTPSA (Nemesis) id 1M1aHx-1t8l6i36T5-00HAEN; Tue, 29 Oct 2024 10:56:55 +0100 From: Michael Heerdegen To: Stefan Monnier Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA In-Reply-To: (Stefan Monnier's message of "Mon, 28 Oct 2024 22:00:23 -0400") References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <87a5fic3om.fsf@posteo.net> <7de379ab-a4f2-4853-96dc-cdf05dd7218e@protonmail.com> <09504d12-9ca6-4b4d-84ff-c7f9d1087192@protonmail.com> <87o73dmp7q.fsf@web.de> <87ed48mgbu.fsf@web.de> <87ttcwimw8.fsf@web.de> <5d5ae196-f7f2-4b30-aafe-daed980680f1@protonmail.com> Date: Tue, 29 Oct 2024 10:57:52 +0100 Message-ID: <87plnjqli7.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:EHJAA9sFsymPr8Iz3xhe/L2MznS1M8Z9AHa7O3L/tfyOr4GNZRt vDHHMKI51PnJdvPn/cBvTmcH4fTgjN2/4Xx38BfJxLljwG8Pu/LUimS6CCltjIECZo8ia3Y rRZrASUwdQdjrdCpNygSlBJ/lPC41Af0At5DjFg7sQQA9SWvzOTNV8SxM03spcrO2nIRyG/ 7CAvClJpfk8pfQZgtNXew== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:++djfluwwGo=;0MqfwoS86foeuGvxgp4eUIo2b25 4S+HqVMQGsVFPfT5VL4bfPyAEpfquJHza0H+QYgvED1JG0qzYrEWtTg83PJprreusK1jDxwrk PWwCF3chKxCg3f0+NRrYJ0AYKkDJ0uvIw1VZFhT9KnUF/c0Lr79YM5MJvJWZtelxuJj+tRhlV zuOkUDaL2L/dDrtNlLRVC2UGavtodCX7+ba3XrO/IUi7ZM9bWBIPKnVsfxfv2kmaCoYZJYHlQ IECmAP94aOINmnHHDw9aUIIrGyHlsdgF654aDrdBYpmTzfXrb/+CMTUkLJaD4y0eXDaXFLvSF 0Ho34ik6cQFNXzDMfqFalgmrbYQub8UzwiNlb8Ewn54AZqtIKEL45P/1rMQ6B6Cl0SgyYQ4it AuUjxEf+suSteP+sdGkp7hk5RGQKlcnVCeEhqpXPreHSeCGTm90wP9i8kyfXwCJp1aiID6giO f7G3+9b2lNzLIQWuBW9Yv5yc0in6gTwtwalKECSKx4PwrCP7EG9bGFkkzc6RYaOLXZvWFGOQ2 OqXb6wEKFb9jg9TeVnBIJfAwbNCevjuYgjsjPlddQCQrHMFYs5DWedFYJXXUbrz6L0/o6tOrN wQdSSp+KEcEe9uAEqMG+aty0tIktToWV3vWmN5l3xHUV1jO2UTi/LGccltTbD++CIS9xeU7Fu ft4gR1EujnFVRWt+3PUyJPm9ot37UF+GZTgr8Hypwel4VHnshNCuMCjAZ/R8qwa1QTal93HkN ZOs9oqlPOLvw+c23UkhzVsStTgiHgbsHDiy/c/PJI/ocTydnG1AVSfqe1OTfMuUjwR3g6tZVC ttWYN0pk6NNIn/F6vEuI79aA== Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 73431 Cc: Okamsn , philipk@posteo.net, nicolas@petton.fr, 73431@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Stefan Monnier writes: > > Did you also want to delete the documentation string of `seq-mapn`, > > which contains an example? > > I can't find the patch right now to make an informed judgment, but the > docstring of the stream method of `seq-mapn` should be specific to the > stream method. > Please look at the result in `C-h f seq-mapn` to see if your > docstring makes sense. Dunno how this could be beautified to harmonize better with the C-h f output BUT we definitely do want to keep the Fibonacci number construction example because it is very educative. And it fits well here in this docstring, so, modulo cosmetic improvements, I would let it be. Michael. From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 29 06:34:31 2024 Received: (at 73431) by debbugs.gnu.org; 29 Oct 2024 10:34:31 +0000 Received: from localhost ([127.0.0.1]:56138 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t5jYU-0007s3-Nu for submit@debbugs.gnu.org; Tue, 29 Oct 2024 06:34:31 -0400 Received: from mout.web.de ([212.227.17.12]:56355) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t5jYQ-0007ri-DK for 73431@debbugs.gnu.org; Tue, 29 Oct 2024 06:34:28 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=web.de; s=s29768273; t=1730198051; x=1730802851; i=michael_heerdegen@web.de; bh=BibiKlp2Pi3xpyM5HBYoucZ0Nkk39TAOhhb5SXUs3iU=; 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=OZt64nRbrpZuB6eSMyhD/bC3aJc40FJ2wG5coeuPBKQ/U0nZf02eD3CDz5LirIGL 3HZn5ASiadXwJdqGUIQ6JTIatJpP2Met2YRZhlcl8dhkx1XWIsjEvNiXDM31U5wa7 abJGPzMA21L2jxtvBZDrXKf+r/0HBTGoIZXMYsZej6kpZZVRiREPmEc5lw5fmh6EB xoUmvd2pXCiV3MzWotD2lBqV1PMnjWC8if2ztByQ6hoZGdt6noRhV+upvqtPc7/Dh GREx9gE4DRgQN/5oLJONT/DR9T8EdokuFvvGpKTBbNBTpyz2APgshTbzQpZsbMFSt 5uGkHbC7p7UVJnVWVQ== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Received: from drachen.dragon ([92.75.138.198]) by smtp.web.de (mrweb106 [213.165.67.124]) with ESMTPSA (Nemesis) id 1Mr7eu-1tbzlN0Wwg-00c14u; Tue, 29 Oct 2024 11:34:11 +0100 From: Michael Heerdegen To: Stefan Monnier Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA In-Reply-To: <87plnjqli7.fsf@web.de> (Michael Heerdegen's message of "Tue, 29 Oct 2024 10:57:52 +0100") References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <87a5fic3om.fsf@posteo.net> <7de379ab-a4f2-4853-96dc-cdf05dd7218e@protonmail.com> <09504d12-9ca6-4b4d-84ff-c7f9d1087192@protonmail.com> <87o73dmp7q.fsf@web.de> <87ed48mgbu.fsf@web.de> <87ttcwimw8.fsf@web.de> <5d5ae196-f7f2-4b30-aafe-daed980680f1@protonmail.com> <87plnjqli7.fsf@web.de> Date: Tue, 29 Oct 2024 11:35:10 +0100 Message-ID: <87ldy7qjs1.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:bzodKt7LZYxVI9RqTEnZt5jGtho2LCV1451rFiZBWauJv9MKotn ooHludCwUFHqvgbyzEiBGrvuMX285otFYPZj0EeF/uaZAJRyBGVs/770M7JuHJHkyRNBtCF vvja2wkletu80Lm0Qy3q8VwRFHHZQlJTeotAFGDcDD25AU2YRTIJwfdgiArMaUQ7Lwzec8V uKt/uIXdCuPGSbl4QUgMw== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:jElqwpM5kQg=;/lS9XhQ7VpQAHNYYZFm604PGPre saYkrGVcdeqDWY+ROiZpDLVu3BDOnscXpmh5REqbvRm7+aymjDesR+z1nCIrq9kV3Vjhf6lq6 4gmk5t05KGIzvGU4xHQXMDKLNsUepUn7RRK2RHTxuh7TbjEeDm+elBGJ8TcuGoS0rGuO/8h+9 g6DizSleAryniNpMNpuwfevHtyDyH0u5PRNITv1gz5Ub0Km7oYmRED5Fg0zzwhINKuYvLqHh0 EYzQe8mPvABZF/awPnOwWkT4EkuCS8t/MFs/DAnqqg4rGBKps9KrKFbqtK1roziJq77+7UOvV wDy75gmgILlyolLm6OKQ60wkQRbKSQAYwmiNJpE71zh6a44Em2VYSMXs6t8qkJU0odv4Jinz8 vQFD8tQktPLgB/GyeG4piVdMX+TcbMlUsvUSMV0ZkjFQkR7UpSuWo4wOTb7nvS75962A+EAy0 VlZEORTluNJDfNfOSjPJVdpqrw98VDSx06i7IMXfa7ub3aJ5P2G2bcVsy/k/F9vEhu/ufyjk7 UTPMhhGKYp8bc4GFcSU3BMQUpywcWfNHBtEjtHBOKPERxtz+yrozqkEP7mBrDsb8/nkBPLuCO GL2yV+OBSypk7kZfaSziFkpOhXUgBI7DlUVANHRZkNcad9NFrux+k2/eNWRg9fAW5zQeh0qbN ltGWUXJ2c1FYEJmIVl+Q1V3LK0y5ZrClAuIZkvHPtiV32gwtzjKS5xFA17zvPL+mJ3187XWa0 EfCv9pidcXLXCdDtmh2WILDbeFgSSQB0K6gQndF+NzQQBhkfqROUmLdwK5DPW3sNa+jHgo/Do foiaezVpdpKSzCeuijeeq/vA== X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 73431 Cc: Okamsn , philipk@posteo.net, nicolas@petton.fr, 73431@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Michael Heerdegen writes: > > Please look at the result in `C-h f seq-mapn` to see if your > > docstring makes sense. > [...] we definitely do want to keep the Fibonacci number > construction example because it is very educative. Is it allowed for method docstrings that the first line is not a complete sentence with these and that requirements? Then I would remove the first, redundant and thus confusing sentence (doesn't tell anything about this implementation) and use a docstring like "Example: (the Fibo example ...)" Michael. From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 29 08:43:59 2024 Received: (at 73431) by debbugs.gnu.org; 29 Oct 2024 12:44:00 +0000 Received: from localhost ([127.0.0.1]:56331 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t5lZn-0003D5-JO for submit@debbugs.gnu.org; Tue, 29 Oct 2024 08:43:59 -0400 Received: from eggs.gnu.org ([209.51.188.92]:55246) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t5lZl-0003Cx-E9 for 73431@debbugs.gnu.org; Tue, 29 Oct 2024 08:43:58 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t5lZe-0002Od-2F; Tue, 29 Oct 2024 08:43:50 -0400 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=SJPW4NFvEs01dsp1KQf+bhMN4lJh75jxfdtViZhCArg=; b=Ieoe5lSu7hF7 ZxKNiUqfWhqIKHUZbR6GX7jsXGfP1AvSuimrjJ11MHGaFa6Yl0iFw+4GqJbIj3i+6/VJd6xAEstEY qNyYPl3lQbw0r6gfMs/ccHUPWGCN70sHPmRFviXLIubyj4U7LVOvMsDgwzGI1vmY5DuAPcI3qHACW Ck72lhupMREVmzqXqK0c6PuOO+lURQiBqpxykYIVYAyyNgLegalXhT3o5HZpmy9TVSFF7uxie6NLC kYZOMYBytgM1wN4F8+DQmHbkVKikfU2tNKKMKMFVegsCUQ6nHijZU9ciPwKJvSi5ViaPK5D24gkDJ Os4cZWtP3D9V8l1180x1MQ==; Date: Tue, 29 Oct 2024 14:43:46 +0200 Message-Id: <861pzz6pvh.fsf@gnu.org> From: Eli Zaretskii To: Michael Heerdegen In-Reply-To: <87ldy7qjs1.fsf@web.de> (bug-gnu-emacs@gnu.org) Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <87a5fic3om.fsf@posteo.net> <7de379ab-a4f2-4853-96dc-cdf05dd7218e@protonmail.com> <09504d12-9ca6-4b4d-84ff-c7f9d1087192@protonmail.com> <87o73dmp7q.fsf@web.de> <87ed48mgbu.fsf@web.de> <87ttcwimw8.fsf@web.de> <5d5ae196-f7f2-4b30-aafe-daed980680f1@protonmail.com> <87plnjqli7.fsf@web.de> <87ldy7qjs1.fsf@web.de> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 73431 Cc: okamsn@protonmail.com, philipk@posteo.net, nicolas@petton.fr, monnier@iro.umontreal.ca, 73431@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Cc: Okamsn , philipk@posteo.net, nicolas@petton.fr, > 73431@debbugs.gnu.org > Date: Tue, 29 Oct 2024 11:35:10 +0100 > From: Michael Heerdegen via "Bug reports for GNU Emacs, > the Swiss army knife of text editors" > > Is it allowed for method docstrings that the first line is not a > complete sentence with these and that requirements? Then I would remove > the first, redundant and thus confusing sentence (doesn't tell anything > about this implementation) and use a docstring like > > "Example: > > (the Fibo example ...)" The rule that the first line should be a complete sentence (actually, a summary) is for the benefit of the apropos commands, which show only the first line of each doc string. So the answer to your question depends on whether these methods can wind up in output of apropos commands, and what happens if and when they do. From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 29 09:30:59 2024 Received: (at 73431) by debbugs.gnu.org; 29 Oct 2024 13:30:59 +0000 Received: from localhost ([127.0.0.1]:56418 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t5mJG-0004wh-MW for submit@debbugs.gnu.org; Tue, 29 Oct 2024 09:30:58 -0400 Received: from mout.web.de ([217.72.192.78]:55873) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t5mJD-0004wV-Ac for 73431@debbugs.gnu.org; Tue, 29 Oct 2024 09:30:56 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=web.de; s=s29768273; t=1730208638; x=1730813438; i=michael_heerdegen@web.de; bh=RXpQrtuo/7d+pv+qEUHuSiHnok1noMLSExbJ6x762ok=; 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=px1fzVa8CzW04ssZBw0DZ2yCyGPup1qjVBaP8tfS97V3vvJgsMrQkBxFym7fhNj5 be0c49GJl8S+rRH8z8j5LyOvjyUfCLWSRzHBoPkS7GRj6ZHXTyBylznMICxFTT5k3 x5ySmLpEbA6L/Buv2Q4rkIEAphh8LmAYHOByG7+tRBJdJCIej3bcocln6ZcUxZlBL kSMTyMIw8N6MR8m3ewyRaKh7VEZpk0hwE7uC5FoBkd5NWIFjlbL4m42ToSW1JnwyT mvfrutvCSk2zsegHGQuRNpVIYzvQvlCJIaBxxQho7cLmX+3BNX1pglqsUpVq6WeFj 5zWN2p16J1sQ8JAM2g== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Received: from drachen.dragon ([92.75.138.198]) by smtp.web.de (mrweb105 [213.165.67.124]) with ESMTPSA (Nemesis) id 1N2BHw-1trOZE1pbq-00yMtb; Tue, 29 Oct 2024 14:30:38 +0100 From: Michael Heerdegen To: Eli Zaretskii Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA In-Reply-To: <861pzz6pvh.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 29 Oct 2024 14:43:46 +0200") References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <87a5fic3om.fsf@posteo.net> <7de379ab-a4f2-4853-96dc-cdf05dd7218e@protonmail.com> <09504d12-9ca6-4b4d-84ff-c7f9d1087192@protonmail.com> <87o73dmp7q.fsf@web.de> <87ed48mgbu.fsf@web.de> <87ttcwimw8.fsf@web.de> <5d5ae196-f7f2-4b30-aafe-daed980680f1@protonmail.com> <87plnjqli7.fsf@web.de> <87ldy7qjs1.fsf@web.de> <861pzz6pvh.fsf@gnu.org> Date: Tue, 29 Oct 2024 14:31:34 +0100 Message-ID: <87zfmnujbd.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:j92HMCRKKVEA4wS00I5HAurW1ME8nTvg5cPB7pgWpBO+26xonZM 1uxZP8DHj6P99kF9qE0xwb1aO85HsJp6STrnoE2GBLUUQ1WcohmtR0ezmvAMmxbvc4Q/ndf XkGVbwkHJvCG1Kra3S93UUTGu5nD6DJfhccExKun+zWOZyVxj5/l2EWSj4pl7Knt0tCBaCo G0aJgmj2YKRvFL65MLW0w== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:x9KnirT+xeo=;pYG9xO6u9Ll9UbYaWRbawGpiIy1 JsaxaoAkZFoPhV6FgeLYqkPvvGAyPrG8C/+OeTucti+Ho0CRgew+QWfjHOcFDQfryw2lT9HJh qZyyhWOtJHn4YT8KJyY9tDpWsXr+u86Uj8zopCd+z6DyL6FHnVNrU9M82J1iloMqXeOrmpLLW JhEyyg19bhKY44EY4IZkh9Ys/G7CvKNckB+2mCQqXgcZILixSt56JC0pzTRTYkMeFy2blPuDP YPK3bzov/g3KQwEjAl7qtjMCrwgP21FgVS8rHZVO1h0qdZo2BAEn7H/F83SwEnLvXwHrfgTWx 0OTgxe2FG5xmXHigbqta4wfyHz4lYPIYCN++2puFJV0qrCb7IE1qXdg/QMTiJ3f1Tf0yNWxP/ hx955A0VN6ORDLRhzT1WFvelpY1C2G0qrIy0DEbe3kk1ysJjmZ0SKA2hZDgxepXsTcy8Bsa+f MBOUG2qIjss4MZGW9UDRT8tmnWrvYXhHYzGCk0M7jhts2JyF4TSITzyFbm4vrMTn7wHzjRzJW H25FoH9uadwdB4Wdxc3sRU44Jow5LLv9ENxABQvQCW3JihRozP40oUAG8CQUyOAh2sYlfZ9bB LhA1LU9ohZsV6B2V7LT//D/HRGdHj09/34zcAbp6FHk+6m2JAbJgjzRKdCTdr1akfSQrhxCvr +XiVxfPomHHMG7tfsARx+ONn4axIaOsEbcIUu0TIQOLwod00Ut9zFvIJZrQmGwBVmdD3YFVlg ecWyr4iUks1IT+X8CRg0GzXJMpu/CYCUJ6PUOHNfj6LHU2Nye+2LAYj4lech5Hw+CH5UJNsxP 2/ydiQV2v5VDvCTaZjo5KDwilyRWnBuN14QuUKxXg/7Qc= X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 73431 Cc: okamsn@protonmail.com, philipk@posteo.net, nicolas@petton.fr, monnier@iro.umontreal.ca, 73431@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Eli Zaretskii writes: > The rule that the first line should be a complete sentence (actually, > a summary) is for the benefit of the apropos commands, which show only > the first line of each doc string. So the answer to your question > depends on whether these methods can wind up in output of apropos > commands, and what happens if and when they do. Thanks. At the first glance this doesn't seem the case. We do have this FIXME in "apropos.el" though: ;; FIXME: Print information about each individual method: both ;; its docstring and specializers (bug#21422). So I guess we want to follow the rule here. But then - how to provide the nice example here, without repeating the first sentence of the generic. Any idea? Thanks, Michael. From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 29 11:03:46 2024 Received: (at 73431) by debbugs.gnu.org; 29 Oct 2024 15:03:46 +0000 Received: from localhost ([127.0.0.1]:56835 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t5nl4-0007r9-Eb for submit@debbugs.gnu.org; Tue, 29 Oct 2024 11:03:46 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:21596) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t5nl2-0007r1-FB for 73431@debbugs.gnu.org; Tue, 29 Oct 2024 11:03:45 -0400 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 40915100192; Tue, 29 Oct 2024 11:03:37 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1730214216; bh=usgoeJU4CZP9I/F4U6KPAVJdrMsVAxZtUaCTkepOKTo=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=l/xYG16ZUiA+hOfpXDM4m5ad+aLgOmbxc5DoELKFPHmsdQGSnOCFd6KvutladV0Z1 haXvjX2zztVzH3M6OApAnsO8Z3tGgjvjh/LWjoEqP+1qB78K3PhjhAEI0Z9g1Cw2Jb 9pufbH8OgOMrJeynRWRaTATEqQi9WSWP21eE3bFWunGwVdHDzyozyEtzE1XWVpR4x5 sbjImN8m3Muv2vYiCIDHEKnUqP5ADuj6MoIy4HvoN3DUjoJOx/vdDSCqP/KSrkh4KU jxHBWQdoj5JuLJ76blgdx40O8MEXalzsiKLoKqWElXPJVIEdEMNZYTCh0IL5O1dTYv rc/c6sGFOCtig== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 92B5E100180; Tue, 29 Oct 2024 11:03:36 -0400 (EDT) Received: from alfajor (modemcable094.121-70-69.static.videotron.ca [69.70.121.94]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 5C6F7120346; Tue, 29 Oct 2024 11:03:36 -0400 (EDT) From: Stefan Monnier To: Michael Heerdegen Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA In-Reply-To: <87ldy7qjs1.fsf@web.de> (Michael Heerdegen's message of "Tue, 29 Oct 2024 11:35:10 +0100") Message-ID: References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <87a5fic3om.fsf@posteo.net> <7de379ab-a4f2-4853-96dc-cdf05dd7218e@protonmail.com> <09504d12-9ca6-4b4d-84ff-c7f9d1087192@protonmail.com> <87o73dmp7q.fsf@web.de> <87ed48mgbu.fsf@web.de> <87ttcwimw8.fsf@web.de> <5d5ae196-f7f2-4b30-aafe-daed980680f1@protonmail.com> <87plnjqli7.fsf@web.de> <87ldy7qjs1.fsf@web.de> Date: Tue, 29 Oct 2024 11:03:35 -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.867 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: 1.3 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: > "Example: > (the Fibo example ...)" Looks OK to me. We could also use an empty first line. > ; ; FIXME: Print information about each individual method: both > ;; its docstring and specializers (bug#21422). Content analysis details: (1.3 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 RCVD_IN_VALIDITY_SAFE_BLOCKED RBL: ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. [132.204.25.50 listed in sa-accredit.habeas.com] 3.6 RCVD_IN_SBL_CSS RBL: Received via a relay in Spamhaus SBL-CSS [69.70.121.94 listed in zen.spamhaus.org] -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/, medium trust [132.204.25.50 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 SPF_PASS SPF: sender matches SPF record 0.0 RCVD_IN_VALIDITY_RPBL_BLOCKED RBL: ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. [132.204.25.50 listed in bl.score.senderscore.com] X-Debbugs-Envelope-To: 73431 Cc: Okamsn , philipk@posteo.net, nicolas@petton.fr, 73431@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) > "Example: > (the Fibo example ...)" Looks OK to me. We could also use an empty first line. > ;; FIXME: Print information about each individual method: both > ;; its docstring and specializers (bug#21422). We'll cross that bridge when we get there. Stefan From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 29 11:05:25 2024 Received: (at 73431) by debbugs.gnu.org; 29 Oct 2024 15:05:25 +0000 Received: from localhost ([127.0.0.1]:56854 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t5nme-0007ym-CR for submit@debbugs.gnu.org; Tue, 29 Oct 2024 11:05:25 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:53657) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t5nmY-0007yc-Fs for 73431@debbugs.gnu.org; Tue, 29 Oct 2024 11:05:22 -0400 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 2B5AB100180; Tue, 29 Oct 2024 11:05:13 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1730214312; bh=/3wFHLQLKruYoLSYS8vN1IwccDcJ55WYlBOQEuudCUc=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=cDH8L/bVEZPpJZwccRK5gw96OTjGcgkwFwDu88tms4FytA1scn2JEuZeWxs3h7diR Jkv2YgdualhzcQqOlgKUr4R/3wIGVWPSZ6ulbh1NHQZz5hkfyAl+A3noSR0Ux4r9mQ UR1gVeBtkLNC8p3bYV5gUW+p7Rq9VmyqMfkLU0VVFpvPI9O+Yk0305xpi9XPjVQAS8 fleMYQn2gVao3rZxbYyMEnnUckMuSaSqkzI83YU01oQPjhNfALNSDS94Lvx/CxwhQr xDE96ld4ZFf8HI6RvaBHmAq3fbzgec+2ujWqMhBdQuz0K8f/ENVSh/FPReq5XGVRaD 9jiOP339F/5uA== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 7B0D6100043; Tue, 29 Oct 2024 11:05:12 -0400 (EDT) Received: from alfajor (modemcable094.121-70-69.static.videotron.ca [69.70.121.94]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 420F01203DA; Tue, 29 Oct 2024 11:05:12 -0400 (EDT) From: Stefan Monnier To: Michael Heerdegen Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA In-Reply-To: <87plnjqli7.fsf@web.de> (Michael Heerdegen's message of "Tue, 29 Oct 2024 10:57:52 +0100") Message-ID: References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <87a5fic3om.fsf@posteo.net> <7de379ab-a4f2-4853-96dc-cdf05dd7218e@protonmail.com> <09504d12-9ca6-4b4d-84ff-c7f9d1087192@protonmail.com> <87o73dmp7q.fsf@web.de> <87ed48mgbu.fsf@web.de> <87ttcwimw8.fsf@web.de> <5d5ae196-f7f2-4b30-aafe-daed980680f1@protonmail.com> <87plnjqli7.fsf@web.de> Date: Tue, 29 Oct 2024 11:05:11 -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.693 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: 1.3 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: > Dunno how this could be beautified to harmonize better with the C-h f > output BUT we definitely do want to keep the Fibonacci number > construction example because it is very educative. And it fits [...] Content analysis details: (1.3 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/, medium trust [132.204.25.50 listed in list.dnswl.org] 0.0 RCVD_IN_VALIDITY_SAFE_BLOCKED RBL: ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. [132.204.25.50 listed in sa-accredit.habeas.com] 0.0 RCVD_IN_VALIDITY_RPBL_BLOCKED RBL: ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. [132.204.25.50 listed in bl.score.senderscore.com] 3.6 RCVD_IN_SBL_CSS RBL: Received via a relay in Spamhaus SBL-CSS [69.70.121.94 listed in zen.spamhaus.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 SPF_PASS SPF: sender matches SPF record X-Debbugs-Envelope-To: 73431 Cc: Okamsn , philipk@posteo.net, nicolas@petton.fr, 73431@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.3 (/) > Dunno how this could be beautified to harmonize better with the C-h f > output BUT we definitely do want to keep the Fibonacci number > construction example because it is very educative. And it fits well > here in this docstring, so, modulo cosmetic improvements, I would let it > be. Maybe such examples would be better in a shortdoc. Stefan From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 29 11:43:55 2024 Received: (at 73431) by debbugs.gnu.org; 29 Oct 2024 15:43:55 +0000 Received: from localhost ([127.0.0.1]:57042 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t5oNv-0000fl-47 for submit@debbugs.gnu.org; Tue, 29 Oct 2024 11:43:55 -0400 Received: from eggs.gnu.org ([209.51.188.92]:57268) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t5oNt-0000ff-4U for 73431@debbugs.gnu.org; Tue, 29 Oct 2024 11:43:54 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t5oNl-0003PS-MD; Tue, 29 Oct 2024 11:43:45 -0400 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=ailHV0NusDaUfOdBtLFyVLW0f2+IUwlGr1OGGTYEoiI=; b=TBnLMGvU/8EZ E4nO+xU/+P/XPoG165KFEdMHU18t3QM/m2vEmI7mdZGe5Hf4uMnKJ8nQKPd/m80zlqSztLYIwz9ro t0leHN1/6g5v/DfU2FK4EB4++xmah/M8WFXBDrVa2L2rcDIqhY2jGtuYgxYCA8mlEhw+l4UuBtkRe kSswfpZ6FQiVMfYJC7X9QY+eWIuAzIkNupE0EYWhR0l6MWzY7HIeoU/KLoFoEUb52T64V2qChDnp4 bXjWGQb+VNg69rBVXf8sf4JDmWO31c1iefXYpGAF8xc3XjGppnnIUIJUtHFgqPNbhsOFS05k6JHCl tdoBz2nnNazufJ00O4tYcA==; Date: Tue, 29 Oct 2024 17:43:43 +0200 Message-Id: <86h68u6hjk.fsf@gnu.org> From: Eli Zaretskii To: Michael Heerdegen In-Reply-To: <87zfmnujbd.fsf@web.de> (message from Michael Heerdegen on Tue, 29 Oct 2024 14:31:34 +0100) Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <87a5fic3om.fsf@posteo.net> <7de379ab-a4f2-4853-96dc-cdf05dd7218e@protonmail.com> <09504d12-9ca6-4b4d-84ff-c7f9d1087192@protonmail.com> <87o73dmp7q.fsf@web.de> <87ed48mgbu.fsf@web.de> <87ttcwimw8.fsf@web.de> <5d5ae196-f7f2-4b30-aafe-daed980680f1@protonmail.com> <87plnjqli7.fsf@web.de> <87ldy7qjs1.fsf@web.de> <861pzz6pvh.fsf@gnu.org> <87zfmnujbd.fsf@web.de> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 73431 Cc: okamsn@protonmail.com, philipk@posteo.net, nicolas@petton.fr, monnier@iro.umontreal.ca, 73431@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Michael Heerdegen > Cc: monnier@iro.umontreal.ca, okamsn@protonmail.com, philipk@posteo.net, > nicolas@petton.fr, 73431@debbugs.gnu.org > Date: Tue, 29 Oct 2024 14:31:34 +0100 > > Eli Zaretskii writes: > > > The rule that the first line should be a complete sentence (actually, > > a summary) is for the benefit of the apropos commands, which show only > > the first line of each doc string. So the answer to your question > > depends on whether these methods can wind up in output of apropos > > commands, and what happens if and when they do. > > Thanks. > > At the first glance this doesn't seem the case. We do have this FIXME > in "apropos.el" though: > > ;; FIXME: Print information about each individual method: both > ;; its docstring and specializers (bug#21422). > > So I guess we want to follow the rule here. But then - how to provide > the nice example here, without repeating the first sentence of the > generic. Any idea? Can you point me to the doc strings you are talking about, so I could see their text and the examples you'd like to keep? From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 29 12:08:21 2024 Received: (at 73431) by debbugs.gnu.org; 29 Oct 2024 16:08:22 +0000 Received: from localhost ([127.0.0.1]:57160 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t5olZ-0001OF-Kv for submit@debbugs.gnu.org; Tue, 29 Oct 2024 12:08:21 -0400 Received: from mout.web.de ([212.227.15.4]:36205) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t5olX-0001O9-Nw for 73431@debbugs.gnu.org; Tue, 29 Oct 2024 12:08:20 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=web.de; s=s29768273; t=1730218085; x=1730822885; i=michael_heerdegen@web.de; bh=/0XcZVQYxxJ3c9lVpleho9CovZXbhEzbu+yYjVzhetY=; 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=cpmdQTb26ans6Rx3bL6FsxthskBKyaOGMoRGZRDfY65GmDT17tPYUszWVllFmkac 8mo0Um3vtpPE/Yc2DQ0IwjMNzyOz8rGpO4/fVIwryCwHN86xGVjKrAZZKMmrrTofF qQcUo3WAZeyUT3TdraydUcL30Sq6PhkvjtaqGKwIjuIvmiLJFux0sk+bqdMko4Amb vrKyc2+BK2L2MHOqEGjkpfhhfW/3f/Z596gD4IpGssNkpnAiH+uQHFNowr0yYjEGk PbWcO+7RTC9UFuL/k8227k4zul7/Ye2eTPBU69/6dX+HWOKZ1pwLpumj7UfrPzDUR UR3YtJCn0dTqu8BWxw== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Received: from drachen.dragon ([92.75.138.198]) by smtp.web.de (mrweb005 [213.165.67.108]) with ESMTPSA (Nemesis) id 1MQ8Wa-1tRtzR1vtY-00TXiW; Tue, 29 Oct 2024 17:08:05 +0100 From: Michael Heerdegen To: Eli Zaretskii Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA In-Reply-To: <86h68u6hjk.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 29 Oct 2024 17:43:43 +0200") References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <87a5fic3om.fsf@posteo.net> <7de379ab-a4f2-4853-96dc-cdf05dd7218e@protonmail.com> <09504d12-9ca6-4b4d-84ff-c7f9d1087192@protonmail.com> <87o73dmp7q.fsf@web.de> <87ed48mgbu.fsf@web.de> <87ttcwimw8.fsf@web.de> <5d5ae196-f7f2-4b30-aafe-daed980680f1@protonmail.com> <87plnjqli7.fsf@web.de> <87ldy7qjs1.fsf@web.de> <861pzz6pvh.fsf@gnu.org> <87zfmnujbd.fsf@web.de> <86h68u6hjk.fsf@gnu.org> Date: Tue, 29 Oct 2024 17:09:04 +0100 Message-ID: <87r07yvqlb.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:Ir7NqeXFQwVmZjs+ij8QeLxnNVMDWNu4smj2I4yuuc6StJg3lcc cNn9uDMWusdEaXH9RNWPByegkhMNlYQ+VtzUlfHlANGRAJACndpYztzP7Bnun2qsD1APDWz QrQDSHJqgjSUD9mODWsOgWffGCrluBC99ta+DqvlTUaGfIWAJYL0pnD9NWcltVNJlLNxHq+ fH3GLEg/oXWI0ARomn/Ng== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:jtE7QilnpU0=;+FFiBr5fDzc5x1SXgPZF/UbcFdP HkZNNNpGJxENNjaw6bNKrkQQ70CVtOsR2h5VgVcd6e+fTGaOFA5OmOBXA/qciQjLOBYg28ro5 0Jf2HQbWpCEE4uxakXsJP6VdzRjCjoS2gCOQirMIa1bP1KuHJSL9eKa7in7J+c9qWNB5KvRsG wopSWh7Y8uMMQGqr0iYU/PZYQYfrMywk07m2LUGKoyvMxvF02p0r1URuZ0fy/mIS/lc+XtR9t /QKddGiVQ1YZtZ6mJ55vfxLzdu1YZf3mfKkOGe2gP608C9bdqFZf1GPre+rYj4p13U2wReqLq krM7R4SxgpOw9tqWgZkrNYy0R2Lw7yJazfCUnjbShEjrHTTgBjK9VGJJ9lTamNqkKcpn2zRRF gzi2dIuLa/6rwvOUAaSj4pkp2UMJNn6pYNtpdomZP8Y6BAdSy12NL/oniQJxcWxa4COXa7iX9 SSltH1K/aGPB78WlicxEAQ4mo4fzAEIg2FpwOVl2JxZmKqGFRKwuhhyX2EfUM5+lgy0/7k9H+ mIQ02L2Gtk9jJ43pjP+Kgf8cTV6DW2Xt4nkC8yQZckoH6I9cb7PRKclwDXleexJUgO7sLn2IK 5q65T8yS7jYUZOV4L+eMAwBD6RAzQuusD0uv/fsdQ41cXuA8G2Rm7cOfO1DJNC/+12IQh8H6Q Hq9Fj+Ec3Zqj4cFnXHhwpGictIdlUK536wIX3s+NDoI4XscQk/0ODrdFbOtOEDF742Q6Lz1YJ KeROQSIjYJaxOqf57CdZbIPAYE3bK8me1/jSp9zXG+7/JeQ1fwJ3gYy97sZoNECYR5c2R4XZ6 UvdcFZ9vONVOQNgjoyLWzadw== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 73431 Cc: okamsn@protonmail.com, philipk@posteo.net, nicolas@petton.fr, monnier@iro.umontreal.ca, 73431@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Eli Zaretskii writes: > > So I guess we want to follow the rule here. But then - how to provide > > the nice example here, without repeating the first sentence of the > > generic. Any idea? > > Can you point me to the doc strings you are talking about, so I could > see their text and the examples you'd like to keep? We are discussing the docstring of the implementation of `seq-mapn' for streams in "stream.el" (line 342). TIA, Michael. From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 29 12:18:23 2024 Received: (at 73431) by debbugs.gnu.org; 29 Oct 2024 16:18:23 +0000 Received: from localhost ([127.0.0.1]:57215 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t5ovH-0001hh-A5 for submit@debbugs.gnu.org; Tue, 29 Oct 2024 12:18:23 -0400 Received: from mout.web.de ([212.227.15.4]:58149) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t5ovE-0001hX-U8 for 73431@debbugs.gnu.org; Tue, 29 Oct 2024 12:18:22 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=web.de; s=s29768273; t=1730218687; x=1730823487; i=michael_heerdegen@web.de; bh=FNdDCH9qZmZX4FT9ol+aBO4MSSNfohvvi7Ohtlx9+04=; 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=bvsip4F+UfZ/n5/YSiN7vr/wdowZL6KrtmH4UV0OPX8xANd0Fm8PZdEWvuALrn3f K7SqgkTyZMquKAnQi0Zi1Zyat5TFLKWt3oH+6s7pX2znhJLV9m/i2k6zvTjbrXkPU FBwXmw2dbtyEdsiwJuboh9Ga8psUi64/EsHee5M1F7fwFkfVqLD/IXFcTH4UHg3Dn zuJ5ddgfTlB0IXRiLxts45MATxoxMxRqwmsC5B2pp7YC/CXuG//K9L9DmsxiZtFg5 7t9zYWgJvrdcP1MDqeJy/hAUNJXlDLAlh8n9HrR9E7iclO3wWQ/8SZbATSdwHOjsa TLhJdYUfIZElRLb2Hg== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Received: from drachen.dragon ([92.75.138.198]) by smtp.web.de (mrweb005 [213.165.67.108]) with ESMTPSA (Nemesis) id 1MzCEB-1u1Vu80U1T-012168; Tue, 29 Oct 2024 17:18:07 +0100 From: Michael Heerdegen To: Stefan Monnier Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA In-Reply-To: (Stefan Monnier's message of "Tue, 29 Oct 2024 11:05:11 -0400") References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <87a5fic3om.fsf@posteo.net> <7de379ab-a4f2-4853-96dc-cdf05dd7218e@protonmail.com> <09504d12-9ca6-4b4d-84ff-c7f9d1087192@protonmail.com> <87o73dmp7q.fsf@web.de> <87ed48mgbu.fsf@web.de> <87ttcwimw8.fsf@web.de> <5d5ae196-f7f2-4b30-aafe-daed980680f1@protonmail.com> <87plnjqli7.fsf@web.de> Date: Tue, 29 Oct 2024 17:19:06 +0100 Message-ID: <87h68uvq4l.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:gk032zmrvBgUZqd1U6zX8t2PekTL5Yy6UhTw7wC8/+P7MiMZgMQ vRot1/ObNIAJXgTXIcvU6hBTwS7ixsejzbSFPs1Xms08JfSOl1VlWuyMXWy8V+ELOQVMbMb TnGNLVzi451/oTs8kBI7SDQvleW1B9wvKI4Se/ERc9kSJKdgHA9ea6+ffKVIdL633VJ3jmi ZRJrmfpkIfYQYvWU4068Q== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:htV1QePzqeE=;mMjuheZtmhr7PZQUIHidRyd11ro DdOzkxEqHtrY3wnXHQLtLtRobWOPH4AlaP7RIzZm5pSUPLO2tiMAq8eWWbSFHFIJmfHSdAFA9 qBxlMUadig8ph/GUaHOGcv+ltRrttaZeLCgp01iyxLGtoTwQc/ILa6x0viHsr4qAuy4/bm/Qc KIYfrx4YL9OH8y6wXOhgC4IZrX6v+D+9EzCwAA9FBlzk1ZjL5OiFXY+pDt3CPV7OG3B7Infn5 fUk9uilb90ar5hBbPG1+p4YRCFx9Q6988hQP7PNuQcercW4ixlcTM8LklD1wpPXJcrTY52DTP /IHvoNCc+RhNq0nuBqNdpJkpCHWQ1O+OLBQvUXZEozcaXI+mpsv4koIf4AESMMC+Hv5LuHrYe Ac2/J+SVXQMnDnQfIJ38xZL4hu9p+lW2vog9CvqEmdknjDO8rp8gyy10TDMce/3C3Do/PzCdw Y0QplJYSw8GfWNTDy38XLPDHRnwEp3+AI+gjpusSQxIQtQYLcWUvYppBBtSGUR1cdzbEJttKz gaHNxZdIdyXEdhLPbQGgvv0AoZH8CuGnCbg0ZJ2ec8gb46fgjRAuVAXsi10jeQRLVMA7zTcq5 2NhAUgUkV9MAw49u8FXbtZupFKF7rYTyNNeWNm/HD99BYWEpmJUxJfAFe+Lj67m2OlEQzukTj BB8E5UUwE+OPVEBEnxm8mRL7EXWOg6fr5f9FPBiy9x8aHIlrHjIskoygyHHk/OFSKB3WMRDJ5 Achioxf54+zBWTSw4m131lLEVIG2HWiec482n6uJmK8WftqV7WQ7/lS9w2sxRa7Rz3Cnru5qn crmbuhk0ivEqkyDLS1F82nCyXIwK85/gkXRk/7x+lcd6M= X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 73431 Cc: Okamsn , philipk@posteo.net, nicolas@petton.fr, 73431@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Stefan Monnier writes: > Maybe such examples would be better in a shortdoc. I dunno, but the example also tells something essential: that the mapping happens in a delayed way. That, and the implications, might not be obvious. Maybe it's not wrong to have that in a docstring - maybe even more explicit than currently? I'm also looking at the doc of `seq-map's implementation in stream.el. Michael. From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 29 12:25:31 2024 Received: (at 73431) by debbugs.gnu.org; 29 Oct 2024 16:25:31 +0000 Received: from localhost ([127.0.0.1]:57274 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t5p2A-0001zO-N0 for submit@debbugs.gnu.org; Tue, 29 Oct 2024 12:25:30 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:52961) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t5p28-0001z6-QQ for 73431@debbugs.gnu.org; Tue, 29 Oct 2024 12:25:29 -0400 Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 43E4980B5C; Tue, 29 Oct 2024 12:25:22 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1730219121; bh=QRjGPVyix1WBZtAL2SHVpf7zrlBC/C2lnSVTgRrXKAU=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=OLFjcmffNn5+w+4Id82e0+ROtlp6Ha9urhF9EFd3mlQm8P0Lc0Iy4OK/YXLdmanYk ZFtnSIXZ4vgvA8lQSdwE6Di9XDnrzLBGrnGhoPEf6mF7OjVhfHLPoVVAgc7rkMbbQ5 9beukTZocIxYFgIeMzCJcy3scdQAd2fj6LZZNwGvpBR5Oo4wxiqYlv/Eq+izhaIWmJ QKt5n2mYsNy6VMbhCXWkYQiAPX2AqGsT7PhwUk9qVf6XBX1sLV5/eiaS7Bg22SF87S CTXd7klarMLSwo7FBIs2U3E2KASb0LVJaG3uCwpg/Zq3mw4IquCXbBDCopdeli1m/z 6puvYVUXPyQew== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 61D2080A6B; Tue, 29 Oct 2024 12:25:21 -0400 (EDT) Received: from alfajor (lechon.iro.umontreal.ca [132.204.27.242]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 188951203D5; Tue, 29 Oct 2024 12:25:21 -0400 (EDT) From: Stefan Monnier To: Michael Heerdegen Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA In-Reply-To: <87h68uvq4l.fsf@web.de> (Michael Heerdegen's message of "Tue, 29 Oct 2024 17:19:06 +0100") Message-ID: References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <87a5fic3om.fsf@posteo.net> <7de379ab-a4f2-4853-96dc-cdf05dd7218e@protonmail.com> <09504d12-9ca6-4b4d-84ff-c7f9d1087192@protonmail.com> <87o73dmp7q.fsf@web.de> <87ed48mgbu.fsf@web.de> <87ttcwimw8.fsf@web.de> <5d5ae196-f7f2-4b30-aafe-daed980680f1@protonmail.com> <87plnjqli7.fsf@web.de> <87h68uvq4l.fsf@web.de> Date: Tue, 29 Oct 2024 12:25:19 -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.181 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: -2.3 (--) X-Debbugs-Envelope-To: 73431 Cc: Okamsn , philipk@posteo.net, nicolas@petton.fr, 73431@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) >> Maybe such examples would be better in a shortdoc. > I dunno, but the example also tells something essential: that the > mapping happens in a delayed way. That, and the implications, might not > be obvious. Maybe it's not wrong to have that in a docstring - maybe > even more explicit than currently? AFAIK, `seq-map` and `seq-mapn` always return a sequence of the same type (same type as the first sequence in the case of `seq-mapn`). Maybe their doc should say so more explicitly. That info would be sufficient to know that the `seq-map(n)` does its job lazily when applied to a stream (it would be a clear misfeature to return a stream and yet to build that stream eagerly). Stefan From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 29 13:06:30 2024 Received: (at 73431) by debbugs.gnu.org; 29 Oct 2024 17:06:31 +0000 Received: from localhost ([127.0.0.1]:57473 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t5pfq-0003DB-4d for submit@debbugs.gnu.org; Tue, 29 Oct 2024 13:06:30 -0400 Received: from eggs.gnu.org ([209.51.188.92]:47364) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t5pfn-0003D2-8i for 73431@debbugs.gnu.org; Tue, 29 Oct 2024 13:06:29 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t5pfe-0004nH-7G; Tue, 29 Oct 2024 13:06:18 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=W7hEPGqMVUpr12G55jfZOFl2P7MAHhA8R8njIErZC6E=; b=WHx73ZxPTtzAUrYUeIcA xtNXfL/YPPgwoqH8DGWS9ePsVsHCcQwvyDGhqp2f/kzPpgzg8wjQOkAV1hEOyJ9L8Ezgr6FNCpi66 zY0vwx3Ws/3NYUqCylx3xjP6xGhXV+0cROqc2Aogsl9WA0tFEYtqbmoYqJPFQ99bC2l5j9HfbfsMP 1jhopLeC2YvyNbVhxWKza98iFuwKhQ/Al/P1klZy4yYNCTwgW5BlBC43zt7JZ2UBNtNVZlYOzzobw QbDOzE7xqRsMpaKorsZr47aMokZkcdBZ/FwZgz31p/6KrgxCS+z1TnSY4H2UlqfsIpdloHUrCdw2k FLhgzrHkHv6taQ==; Date: Tue, 29 Oct 2024 19:06:14 +0200 Message-Id: <86a5em6dq1.fsf@gnu.org> From: Eli Zaretskii To: Michael Heerdegen In-Reply-To: <87r07yvqlb.fsf@web.de> (message from Michael Heerdegen on Tue, 29 Oct 2024 17:09:04 +0100) Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <87a5fic3om.fsf@posteo.net> <7de379ab-a4f2-4853-96dc-cdf05dd7218e@protonmail.com> <09504d12-9ca6-4b4d-84ff-c7f9d1087192@protonmail.com> <87o73dmp7q.fsf@web.de> <87ed48mgbu.fsf@web.de> <87ttcwimw8.fsf@web.de> <5d5ae196-f7f2-4b30-aafe-daed980680f1@protonmail.com> <87plnjqli7.fsf@web.de> <87ldy7qjs1.fsf@web.de> <861pzz6pvh.fsf@gnu.org> <87zfmnujbd.fsf@web.de> <86h68u6hjk.fsf@gnu.org> <87r07yvqlb.fsf@web.de> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 73431 Cc: okamsn@protonmail.com, philipk@posteo.net, nicolas@petton.fr, monnier@iro.umontreal.ca, 73431@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Michael Heerdegen > Cc: monnier@iro.umontreal.ca, okamsn@protonmail.com, philipk@posteo.net, > nicolas@petton.fr, 73431@debbugs.gnu.org > Date: Tue, 29 Oct 2024 17:09:04 +0100 > > Eli Zaretskii writes: > > > > So I guess we want to follow the rule here. But then - how to provide > > > the nice example here, without repeating the first sentence of the > > > generic. Any idea? > > > > Can you point me to the doc strings you are talking about, so I could > > see their text and the examples you'd like to keep? > > We are discussing the docstring of the implementation of `seq-mapn' for > streams in "stream.el" (line 342). Thanks. But I'm not sure I understand the problem. If I load both seq.el and stream.el, and then type "C-h f seq-mapn", I see this: seq-mapn is a byte-code-function in ‘seq.el’. (seq-mapn FUNCTION SEQUENCES...) Return the result of applying FUNCTION to each element of SEQUENCEs. Like ‘seq-map’, but FUNCTION is mapped over all SEQUENCEs. The arity of FUNCTION must match the number of SEQUENCEs, and the mapping stops on the shortest sequence. Return a list of the results. This is a generic function. Implementations: (seq-mapn ARG0 (ARG1 stream) &rest CL--ARGS) in ‘~/data/stream-2.3.0/stream.el’. Map FUNCTION over the STREAMS. Example: this prints the first ten Fibonacci numbers: (letrec ((fibs (stream-cons 1 (stream-cons 1 (seq-mapn #’+ fibs (stream-rest fibs)))))) (seq-do #’print (seq-take fibs 10))) (seq-mapn FUNCTION SEQUENCE &rest SEQUENCES) in ‘seq.el’. Undocumented The "Undocumented" part at the end aside, I see both the doc string of defgeneric and the doc string of the implementation for streams, complete with the example. The only aspect of this I'd change is the first line of the doc string for the streams implementation: I'd make it say Implementation of `seq-mapn' for streams. Other than that, everything looks good, and "M-x apropos" shows only the generic function. What problem did you try to solve? From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 29 13:28:31 2024 Received: (at 73431) by debbugs.gnu.org; 29 Oct 2024 17:28:31 +0000 Received: from localhost ([127.0.0.1]:57588 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t5q15-0003r6-IP for submit@debbugs.gnu.org; Tue, 29 Oct 2024 13:28:31 -0400 Received: from mout.web.de ([212.227.15.3]:52745) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t5q13-0003qw-Kj for 73431@debbugs.gnu.org; Tue, 29 Oct 2024 13:28:26 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=web.de; s=s29768273; t=1730222891; x=1730827691; i=michael_heerdegen@web.de; bh=cRzcCVMeeQVkxUoXTmJ0aZ/9WGRBgcTFl0M54dEFxYQ=; 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=DHedb8z/l3Cw03viuL6dgFsum8nRRVcmyA3qp1Rd646I6TN3QiMwehWep6Kj4b55 y0AvHX3MqHEnwGaNvAMNGSwmxWWJJ8TJN0te+2l7SMU1Ii5PKdDOvflx3QKbny0oG H4I3o2WNNshfuOnIi4KtKK1/zngXZrvT2dEQZjC+tKe5bRirQTR87zQN572qwN44d tynVL+7Vm/J3LA0/EQKJnnRGkqqNRL6XJx/j/w7wrH6L2OklxQFDmHTnyoJ5Qi75p MgqWCzcODW2w6dM4Rul9bNYfGu5vFtzXJ9RrPD3yjP7Jb4rSSRF0T22DMR6OiEQ+H nGoUpZTfZVEDvhFHZA== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Received: from drachen.dragon ([92.75.138.198]) by smtp.web.de (mrweb005 [213.165.67.108]) with ESMTPSA (Nemesis) id 1MuFD7-1tzrRW1Y5N-015rte; Tue, 29 Oct 2024 18:28:11 +0100 From: Michael Heerdegen To: Eli Zaretskii Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA In-Reply-To: <86a5em6dq1.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 29 Oct 2024 19:06:14 +0200") References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <87a5fic3om.fsf@posteo.net> <7de379ab-a4f2-4853-96dc-cdf05dd7218e@protonmail.com> <09504d12-9ca6-4b4d-84ff-c7f9d1087192@protonmail.com> <87o73dmp7q.fsf@web.de> <87ed48mgbu.fsf@web.de> <87ttcwimw8.fsf@web.de> <5d5ae196-f7f2-4b30-aafe-daed980680f1@protonmail.com> <87plnjqli7.fsf@web.de> <87ldy7qjs1.fsf@web.de> <861pzz6pvh.fsf@gnu.org> <87zfmnujbd.fsf@web.de> <86h68u6hjk.fsf@gnu.org> <87r07yvqlb.fsf@web.de> <86a5em6dq1.fsf@gnu.org> Date: Tue, 29 Oct 2024 18:29:10 +0100 Message-ID: <87cyjivmvt.fsf@web.de> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:pmZ6y/XFEywXNgrWiai4Z/jiZOZ2DEC6YYxk1ITftz0U0cjlhFW 8Yqb22B0Fbj/3Gof7jZcHeKlbfAtZUMut8gmtQoY8PX6pZ/h+ijvriM+dVTjKnBBtvKgMZw BB0KEcJbjkvIQJcTRdh9Qok9AlngxbtbTSFv1WkU4/uZQwTqEEbyKnOq5MwsrnlIlsYBU90 bk1o0h5T02Ng9CgklfzhA== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:JUiTnPyDIok=;BaDRpZHU3kXd/zTDIj2OQ6q66Z5 +bU9bWA720Mvs10gDzNE52W6JEE0pAqDO2F2BfgqZ618vxM/DEbHDsu85aEb74CdWF6/0wEE/ JrwcQXNXy8X1jeTe1QMd3y9xMpFXXx5NNNyt0pWA302dBhaoTV0dtB87GQR689/D3vlTLkWqk 8dUn6OnR35h5/ZpaoaHUJHQL/YE8ryn76t5TUmVmfPMwP+kFR0XCQwUQaYE1FNSLcy9Ww2eUH JQX89r/1FEMd/sqnRmH61iUUFhVGLl8IE7leSW19kHRJGMjsg49ywAqDK9Meh+aHNwvqar5bo 5gOlDATCDr1wUObHlHQnAyKBzy2yF3ENhb6/8g/9Sw37G2vPkXQXm9SHKFO4lmTGQbi+xGFHE jhxw5bcex6IKt9dkb5wXYA8btxg85c6mgy3f9RskyKbdYpu89bdb8caov0qxsF3PNR4R2Nrcn Pzl75mgD1J7JYVhwKhBecXw22/gMYTvVapz1ft1y6HJ8GAt6orY8btlye3z2PH3e3MGlrxi0w l9MY2ImVvkoLXDT683ohn0CtIPAPm0RZpfrzHZAefwhmHdsyShx0dzXuBPCEujcOeTkhR7Xpo NCKOkC8lMqgFRvNu1ZQaKozVF2PGiAm3VieKnWGIzKER51/SsOJT/v9DjUec0MBcz7Gki2QaF TfG8HhRU4VUASL+9SegeTn5FhD9RzsX5g5d8g6bM21niHQOy52vWQQiCghYL7yzG64xYNVHAp lf+ZeX0tST9FNj/9Xjfrl1eQHV9e4IoIYwORdVDstrH/a9UOw+XqNaueWvcRuV4HHMQ/dyZCO hOQLPTXbwrpBLaif8fhTukv86bMpfHSVnl76Dz2qPlCJA= Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 73431 Cc: okamsn@protonmail.com, philipk@posteo.net, nicolas@petton.fr, monnier@iro.umontreal.ca, 73431@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Eli Zaretskii writes: > The only aspect of this I'd change is the first line of the doc string > for the streams implementation: I'd make it say > > Implementation of `seq-mapn' for streams. > > Other than that, everything looks good, and "M-x apropos" shows only > the generic function. > > What problem did you try to solve? Thanks... yes, that problem: how to avoid repeating what the docstring of the generic already says - because that would suggest that the implementation does something specific or differently. But we also need to find out where these lines: | (seq-mapn FUNCTION SEQUENCE &rest SEQUENCES) in `seq.el'. | | Undocumented come from (the link to the source is broken). And whether we can avoid these ARG0 ARG1 variable names: | Implementations: | | (seq-mapn ARG0 (ARG1 stream) &rest CL--ARGS) that are not present in the source. Michael. From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 29 13:50:42 2024 Received: (at 73431) by debbugs.gnu.org; 29 Oct 2024 17:50:42 +0000 Received: from localhost ([127.0.0.1]:57752 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t5qMc-0004bH-36 for submit@debbugs.gnu.org; Tue, 29 Oct 2024 13:50:42 -0400 Received: from eggs.gnu.org ([209.51.188.92]:37304) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t5qMZ-0004b9-G7 for 73431@debbugs.gnu.org; Tue, 29 Oct 2024 13:50:41 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t5qMS-0001UG-FA; Tue, 29 Oct 2024 13:50:32 -0400 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=0hgs7vubRM+sC56QFKRPk5fig42u4/MvGJClF59/w/0=; b=Sl5jyl/N6hf5 lVDLFCIcxDO1sjXuia4LGENOSK1fyhxEFsDyw/UpRMG+cl0kSIzl7KsVncu8rcdI3nFpq5BYLIVPi nt0bgWRUGQ7WKLhhOdlEqkfeZuqQ8CdGvwg1yAvL9cN5IO8Ey4j8usQxCB30VZHjuo9t6XOJ1pdCH EUBebAcvjGXlwj/T4wCYxa7keyONlBxGqL5KCeXSDz5HefE2Er2HBPPnaPdmr+sKStezdVgJL8MjF BYbkrnzFxpq3JppAM8BoFmUB+TrQOH3mh+xL352+MPEj94F6a1QtnsQh2/gm9IvUfm9lB3yVIoCcL E8Urr+myK+6OCc5Se+xYNA==; Date: Tue, 29 Oct 2024 19:50:30 +0200 Message-Id: <8634ke6bo9.fsf@gnu.org> From: Eli Zaretskii To: Michael Heerdegen In-Reply-To: <87cyjivmvt.fsf@web.de> (message from Michael Heerdegen on Tue, 29 Oct 2024 18:29:10 +0100) Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <87a5fic3om.fsf@posteo.net> <7de379ab-a4f2-4853-96dc-cdf05dd7218e@protonmail.com> <09504d12-9ca6-4b4d-84ff-c7f9d1087192@protonmail.com> <87o73dmp7q.fsf@web.de> <87ed48mgbu.fsf@web.de> <87ttcwimw8.fsf@web.de> <5d5ae196-f7f2-4b30-aafe-daed980680f1@protonmail.com> <87plnjqli7.fsf@web.de> <87ldy7qjs1.fsf@web.de> <861pzz6pvh.fsf@gnu.org> <87zfmnujbd.fsf@web.de> <86h68u6hjk.fsf@gnu.org> <87r07yvqlb.fsf@web.de> <86a5em6dq1.fsf@gnu.org> <87cyjivmvt.fsf@web.de> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 73431 Cc: okamsn@protonmail.com, philipk@posteo.net, nicolas@petton.fr, monnier@iro.umontreal.ca, 73431@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Michael Heerdegen > Cc: monnier@iro.umontreal.ca, okamsn@protonmail.com, philipk@posteo.net, > nicolas@petton.fr, 73431@debbugs.gnu.org > Date: Tue, 29 Oct 2024 18:29:10 +0100 > > Eli Zaretskii writes: > > > The only aspect of this I'd change is the first line of the doc string > > for the streams implementation: I'd make it say > > > > Implementation of `seq-mapn' for streams. > > > > Other than that, everything looks good, and "M-x apropos" shows only > > the generic function. > > > > What problem did you try to solve? > > Thanks... yes, that problem: how to avoid repeating what the docstring > of the generic already says - because that would suggest that the > implementation does something specific or differently. That line comes directly from the doc string in stream.el, so if we change it to say Implementation of `seq-mapn' for streams. the problem will be solved, no? > But we also need to find out where these lines: > > | (seq-mapn FUNCTION SEQUENCE &rest SEQUENCES) in `seq.el'. > | > | Undocumented > > come from (the link to the source is broken). > > And whether we can avoid these ARG0 ARG1 variable names: > > | Implementations: > | > | (seq-mapn ARG0 (ARG1 stream) &rest CL--ARGS) > > that are not present in the source. Right, but that's a separate issue, I think? From debbugs-submit-bounces@debbugs.gnu.org Thu Nov 07 20:46:23 2024 Received: (at submit) by debbugs.gnu.org; 8 Nov 2024 01:46:23 +0000 Received: from localhost ([127.0.0.1]:50498 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t9E4s-0008Kr-Dj for submit@debbugs.gnu.org; Thu, 07 Nov 2024 20:46:23 -0500 Received: from lists.gnu.org ([209.51.188.17]:50722) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t9E4p-0008KY-Mr for submit@debbugs.gnu.org; Thu, 07 Nov 2024 20:46:20 -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 ) id 1t9E4c-0001D1-O6 for bug-gnu-emacs@gnu.org; Thu, 07 Nov 2024 20:46:08 -0500 Received: from mail-40134.protonmail.ch ([185.70.40.134]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t9E4X-0002lD-0R; Thu, 07 Nov 2024 20:46:06 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1731030353; x=1731289553; bh=WxRDObIb7UeZXQc//w1V5U4Cy6MbwqW2X7gIIMcBAPM=; 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:List-Unsubscribe:List-Unsubscribe-Post; b=iiIwTneJT9vRBO2dVQ9b9JQNfgSknoWClbmjEwrczxeI1ZraPVSDgyXTgZw8RbRca +/EBy9SRlpG9FCfWCSHZWAmH1+0narMMzZdaxlaQy9mKto8xPMG2efNZPnsXOBHnPk WfovxA+2FFAwMUbG4dLpTKKGikIv2S/1QQWl06ICRPS1G3/GMfvdLZBKeXr18Tjyhc kvreJtkanxc9lT5eEfG/kB4Hc6FtMTyIZ/L+7YWcpc2S2cmWITlJrMDt9NtVdTlOXY vCBmGIvrPH6saodLXczSFCupktGUrI9CK7qPnI+riJkajnLnI0+ponDMtnNopKrE85 S5J+yb7sPVHIA== Date: Fri, 08 Nov 2024 01:45:47 +0000 To: Michael Heerdegen From: Okamsn Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA Message-ID: <2d8d0357-e103-4296-82f0-2c4dfc294df8@protonmail.com> In-Reply-To: <87iktdkgfz.fsf@web.de> References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <9db72ab8-604e-451d-b9a0-74fa5b3fa81f@protonmail.com> <87a5fic3om.fsf@posteo.net> <7de379ab-a4f2-4853-96dc-cdf05dd7218e@protonmail.com> <09504d12-9ca6-4b4d-84ff-c7f9d1087192@protonmail.com> <87o73dmp7q.fsf@web.de> <87ed48mgbu.fsf@web.de> <87iktdkgfz.fsf@web.de> Feedback-ID: 25935600:user:proton X-Pm-Message-ID: b91bf722419695fb25f89700aa197c98cb39c63c MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1=_GohjKTMAZg544p7mewPImOYRy8pGQ2z6bIrKLDtL4" Received-SPF: pass client-ip=185.70.40.134; envelope-from=okamsn@protonmail.com; helo=mail-40134.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_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-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: philipk@posteo.net, "Michael Heerdegen via \"Bug reports for GNU Emacs, the Swiss army knife of text editors\"" , monnier@iro.umontreal.ca, Eli Zaretskii , nicolas@petton.fr, 73431@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) --b1=_GohjKTMAZg544p7mewPImOYRy8pGQ2z6bIrKLDtL4 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Michael Heerdegen wrote: > Okamsn writes: >=20 >> For shortening the first line of the documentation of `seq-take-while`, >> do you think changing "Return a stream of the successive elements for >> which (PRED elt) is non-nil in STREAM" to "Return a stream of serial >> elements in STREAM for which PRED returns non-nil" works? >=20 > Hmm. How about >=20 > "Return the starting consecutive elements that fulfill PRED." >=20 > Or "front elements"? >=20 > I tried to emphasize that the function is not about the whole sequence > but starts at the front and aborts once PRED is not fulfilled. We can > later say explicitly that the predicate is called like (PRED ELT) - that > alone makes the sentence shorter. >=20 > But I'm not that good when using English language - better versions > welcome. >=20 >> Also, do you think that the documentation string for `seq-drop-while` >> should also be changed for consistency? >=20 > Sure. >=20 >=20 > Michael. Hello, Attached are patch files which include the requested shorter doc strings=20 for `seq-take-while` and `seq-drop-while`. The quoting in `seq-mapn`=20 has been fixed. I did not delete any of the doc strings because there=20 does not seem to be consensus on that. Is there anything else that you would like changed outside of the=20 discussion about the doc strings? Thank you. --b1=_GohjKTMAZg544p7mewPImOYRy8pGQ2z6bIrKLDtL4 Content-Type: text/x-patch; charset=UTF-8; name=v5-0007-Shorten-the-documentation-strings-of-seq-take-whi.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v5-0007-Shorten-the-documentation-strings-of-seq-take-whi.patch RnJvbSA0N2UzMjg5MTMyODBlMTUzYjAyMGMzMjY5NjgzZWJlYzZlOTA3MzYyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBFYXJsIEh5YXR0IDxva2Ftc25AcHJvdG9ubWFpbC5jb20+CkRh dGU6IFRodSwgNyBOb3YgMjAyNCAyMDoyNzozNSAtMDUwMApTdWJqZWN0OiBbUEFUQ0ggdjUgNy83 XSBTaG9ydGVuIHRoZSBkb2N1bWVudGF0aW9uIHN0cmluZ3Mgb2Ygc2VxLXRha2Utd2hpbGUKIGFu ZCBzZXEtZHJvcC13aGlsZS4KCiogc3RyZWFtLmVsIChzZXEtdGFrZS13aGlsZSk6IFJlLXdvcmQg ZG9jdW1lbnRhdGlvbiBzdHJpbmcgdG8gYmUgbGVzcyB0aGF0IDgwCmNoYXJhY3RlcnMuCgoqIHN0 cmVhbS5lbCAoc2VxLWRyb3Atd2hpbGUpOiBSZS13b3JkIGRvY3VtZW50YXRpb24gc3RyaW5nIGZv ciBzeW1tZXRyeSB3aXRoCnNlcS10YWtlLXdoaWxlLgotLS0KIHN0cmVhbS5lbCB8IDQgKystLQog MSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9zdHJlYW0uZWwgYi9zdHJlYW0uZWwKaW5kZXggNGMxZmI0Yi4uZGNkNDVhNyAxMDA2NDQK LS0tIGEvc3RyZWFtLmVsCisrKyBiL3N0cmVhbS5lbApAQCAtNDEzLDE0ICs0MTMsMTQgQEAgKGNs LWRlZm1ldGhvZCBzZXEtZHJvcCAoKHN0cmVhbSBzdHJlYW0pIG4pCiAgICAgICAgICAgIChzdHJl YW0tcmVzdCBzdHJlYW0pKSkpKQogCiAoY2wtZGVmbWV0aG9kIHNlcS10YWtlLXdoaWxlIChwcmVk IChzdHJlYW0gc3RyZWFtKSkKLSAgIlJldHVybiBhIHN0cmVhbSBvZiB0aGUgc3VjY2Vzc2l2ZSBl bGVtZW50cyBmb3Igd2hpY2ggKFBSRUQgZWx0KSBpcyBub24tbmlsIGluIFNUUkVBTS4iCisgICJS ZXR1cm4gYSBzdHJlYW0gb2YgU1RSRUFNJ3Mgc3VjY2Vzc2l2ZSBlbGVtZW50cyBmb3Igd2hpY2gg UFJFRCByZXR1cm5zIG5vbi1uaWwuIgogICAoc3RyZWFtLW1ha2UKICAgICh3aGVuIChmdW5jYWxs IHByZWQgKHN0cmVhbS1maXJzdCBzdHJlYW0pKQogICAgICAoY29ucyAoc3RyZWFtLWZpcnN0IHN0 cmVhbSkKICAgICAgICAgICAgKHNlcS10YWtlLXdoaWxlIHByZWQgKHN0cmVhbS1yZXN0IHN0cmVh bSkpKSkpKQogCiAoY2wtZGVmbWV0aG9kIHNlcS1kcm9wLXdoaWxlIChwcmVkIChzdHJlYW0gc3Ry ZWFtKSkKLSAgIlJldHVybiBhIHN0cmVhbSBmcm9tIHRoZSBmaXJzdCBlbGVtZW50IGZvciB3aGlj aCAoUFJFRCBlbHQpIGlzIG5pbCBpbiBTVFJFQU0uIgorICAiUmV0dXJuIGEgc3RyZWFtIG9mIFNU UkVBTSdzIHN1Y2Nlc3NpdmUgZWxlbWVudHMgZm9yIHdoaWNoIFBSRUQgcmV0dXJucyBuaWwuIgog ICAoc3RyZWFtLW1ha2UKICAgICh3aGlsZSAobm90IChvciAoc3RyZWFtLWVtcHR5LXAgc3RyZWFt KQogICAgICAgICAgICAgICAgICAgIChmdW5jYWxsIHByZWQgKHN0cmVhbS1maXJzdCBzdHJlYW0p KSkpCi0tIAoyLjQzLjAKCg== --b1=_GohjKTMAZg544p7mewPImOYRy8pGQ2z6bIrKLDtL4 Content-Type: text/x-patch; charset=UTF-8; name=v5-0006-Fix-the-quoting-in-the-documentation-of-seq-mapn-.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v5-0006-Fix-the-quoting-in-the-documentation-of-seq-mapn-.patch RnJvbSBmYjY2MzhiZDJhZDM3ZDJhNjE3ZDI3MzQ1MWI2MDg1MDQxOWM0OTBmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBFYXJsIEh5YXR0IDxva2Ftc25AcHJvdG9ubWFpbC5jb20+CkRh dGU6IE1vbiwgMjggT2N0IDIwMjQgMjA6NDM6MzcgLTA0MDAKU3ViamVjdDogW1BBVENIIHY1IDYv N10gRml4IHRoZSBxdW90aW5nIGluIHRoZSBkb2N1bWVudGF0aW9uIG9mIGBzZXEtbWFwbmAgZm9y CiBzdHJlYW1zLgoKKiBzdHJlYW0uZWwgKHNlcS1tYXBuKTogQ29ycmVjdGx5IHVzZSAiXFw9IiBm b3IgZXNjYXBpbmcgdGhlIHNpbmdsZSBxdW90ZSBpbiB0aGUKZG9jdW1lbnRhdGlvbiBzdHJpbmcu Ci0tLQogc3RyZWFtLmVsIHwgNCArKy0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCsp LCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3N0cmVhbS5lbCBiL3N0cmVhbS5lbAppbmRl eCBmOTIxMGVkLi40YzFmYjRiIDEwMDY0NAotLS0gYS9zdHJlYW0uZWwKKysrIGIvc3RyZWFtLmVs CkBAIC00NDcsOCArNDQ3LDggQEAgKGNsLWRlZm1ldGhvZCBzZXEtbWFwbiAoZnVuY3Rpb24gKHN0 cmVhbSBzdHJlYW0pICZyZXN0IHN0cmVhbXMpCiAgICAgICAgICAgICAgICAgICAxCiAgICAgICAg ICAgICAgICAgICAoc3RyZWFtLWNvbnMKICAgICAgICAgICAgICAgICAgICAxCi0gICAgICAgICAg ICAgICAgICAgKHNlcS1tYXBuICMnKyBmaWJzIChzdHJlYW0tcmVzdCBmaWJzKSkpKSkpCi0gICAg KHNlcS1kbyAjJ3ByaW50IChzZXEtdGFrZSBmaWJzIDEwKSkpCisgICAgICAgICAgICAgICAgICAg KHNlcS1tYXBuICNcXD0nKyBmaWJzIChzdHJlYW0tcmVzdCBmaWJzKSkpKSkpCisgICAgKHNlcS1k byAjXFw9J3ByaW50IChzZXEtdGFrZSBmaWJzIDEwKSkpCiAKIFwoZm4gRlVOQ1RJT04gU1RSRUFN Uy4uLikiCiAgIChpZiAobm90IChzZXEtZXZlcnktcCAjJ3N0cmVhbXAgc3RyZWFtcykpCi0tIAoy LjQzLjAKCg== --b1=_GohjKTMAZg544p7mewPImOYRy8pGQ2z6bIrKLDtL4 Content-Type: text/x-patch; charset=UTF-8; name=v5-0005-Add-test-for-delayed-evaluation-for-seq-drop-whil.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v5-0005-Add-test-for-delayed-evaluation-for-seq-drop-whil.patch RnJvbSA1YWFkMWMzZDY5Y2I2NzhkZTQyMTcyZTE0MzA1MWNjYzU3ODA3MGNiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBFYXJsIEh5YXR0IDxva2Ftc25AcHJvdG9ubWFpbC5jb20+CkRh dGU6IFNhdCwgNSBPY3QgMjAyNCAyMToxOToxOCAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggdjUgNS83 XSBBZGQgdGVzdCBmb3IgZGVsYXllZCBldmFsdWF0aW9uIGZvciBzZXEtZHJvcC13aGlsZSBmb3IK IHN0cmVhbXMuCgoqIHRlc3RzL3N0cmVhbS10ZXN0cy5lbCAoZGVmdGVzdC1mb3ItZGVsYXllZC1l dmFsdWF0aW9uKTogQWRkIGEgdGVzdApmb3Igc2VxLWRyb3Atd2hpbGUuCi0tLQogdGVzdHMvc3Ry ZWFtLXRlc3RzLmVsIHwgMSArCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKCmRpZmYg LS1naXQgYS90ZXN0cy9zdHJlYW0tdGVzdHMuZWwgYi90ZXN0cy9zdHJlYW0tdGVzdHMuZWwKaW5k ZXggNWQzZjExNi4uZGVmYzU0NCAxMDA2NDQKLS0tIGEvdGVzdHMvc3RyZWFtLXRlc3RzLmVsCisr KyBiL3Rlc3RzL3N0cmVhbS10ZXN0cy5lbApAQCAtMzIxLDYgKzMyMSw3IEBAIChkZWZ0ZXN0LWZv ci1kZWxheWVkLWV2YWx1YXRpb24gKHN0cmVhbS1hcHBlbmQgIChtYWtlLWRlbGF5ZWQtdGVzdC1z dHJlYW0pIChtYWtlCiAoZGVmdGVzdC1mb3ItZGVsYXllZC1ldmFsdWF0aW9uIChzZXEtdGFrZSAo bWFrZS1kZWxheWVkLXRlc3Qtc3RyZWFtKSAyKSkKIChkZWZ0ZXN0LWZvci1kZWxheWVkLWV2YWx1 YXRpb24gKHNlcS1kcm9wIChtYWtlLWRlbGF5ZWQtdGVzdC1zdHJlYW0pIDIpKQogKGRlZnRlc3Qt Zm9yLWRlbGF5ZWQtZXZhbHVhdGlvbiAoc2VxLXRha2Utd2hpbGUgIydudW1iZXJwIChtYWtlLWRl bGF5ZWQtdGVzdC1zdHJlYW0pKSkKKyhkZWZ0ZXN0LWZvci1kZWxheWVkLWV2YWx1YXRpb24gKHNl cS1kcm9wLXdoaWxlICMnbnVtYmVycCAobWFrZS1kZWxheWVkLXRlc3Qtc3RyZWFtKSkpCiAoZGVm dGVzdC1mb3ItZGVsYXllZC1ldmFsdWF0aW9uIChzZXEtbWFwICMnaWRlbnRpdHkgKG1ha2UtZGVs YXllZC10ZXN0LXN0cmVhbSkpKQogKGRlZnRlc3QtZm9yLWRlbGF5ZWQtZXZhbHVhdGlvbiAoc2Vx LW1hcG4gIydjb25zCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo bWFrZS1kZWxheWVkLXRlc3Qtc3RyZWFtKQotLSAKMi40My4wCgo= --b1=_GohjKTMAZg544p7mewPImOYRy8pGQ2z6bIrKLDtL4 Content-Type: text/x-patch; charset=UTF-8; name=v5-0004-Add-an-implementation-of-seq-concatenate-for-stre.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v5-0004-Add-an-implementation-of-seq-concatenate-for-stre.patch RnJvbSA2MTMzMjU4ODI4ODdkNmE2NThkZmFiMTBkMjg4NDM4MWZjOWQxZWNlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBFYXJsIEh5YXR0IDxva2Ftc25AcHJvdG9ubWFpbC5jb20+CkRh dGU6IFNhdCwgNSBPY3QgMjAyNCAyMToxNToyNCAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggdjUgNC83 XSBBZGQgYW4gaW1wbGVtZW50YXRpb24gb2YgYHNlcS1jb25jYXRlbmF0ZWAgZm9yCiBzdHJlYW1z LgoKKiBzdHJlYW0uZWwgKHN0cmVhbSk6IEFkZCBhIG1ldGhvZCBmb3IgY3JlYXRpbmcgYSBzdHJl YW0gZnJvbSBhIHN0cmVhbSwKd2hpY2ggcmVhbGx5IGp1c3QgcmV0dXJucyB0aGUgb3JpZ2luYWwg c3RyZWFtIHVubW9kaWZpZWQuCgoqIHN0cmVhbS5lbCAoc2VxLWNvbmNhdGVuYXRlKTogQWRkIGlt cGxlbWVudGF0aW9uIGZvciBzdHJlYW1zLgoKKiB0ZXN0cy9zdHJlYW0tdGVzdHMgKHN0cmVhbS1z ZXEtY29uY2F0ZW5hdGUtdGVzdCwgc3RyZWFtLXNlcS1tYXBjYXQtdGVzdCk6CkFkZCB0ZXN0cyBm b3Igc2VxLWNvbmNhdGVuYXRlIGFuZCBzZXEtbWFwY2F0LCB3aGljaCBieSBkZWZhdWx0IHVzZXMK c2VxLWNvbmNhdGVuYXRlLgotLS0KIHN0cmVhbS5lbCAgICAgICAgICAgICB8ICA5ICsrKysrKysr KwogdGVzdHMvc3RyZWFtLXRlc3RzLmVsIHwgMjEgKysrKysrKysrKysrKysrKysrKysrCiAyIGZp bGVzIGNoYW5nZWQsIDMwIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9zdHJlYW0uZWwgYi9z dHJlYW0uZWwKaW5kZXggZGVhNDJiNC4uZjkyMTBlZCAxMDA2NDQKLS0tIGEvc3RyZWFtLmVsCisr KyBiL3N0cmVhbS5lbApAQCAtMTY0LDYgKzE2NCwxMCBAQCAoZGVmbWFjcm8gc3RyZWFtLWNvbnMg KGZpcnN0IHJlc3QpCiAoY2wtZGVmZ2VuZXJpYyBzdHJlYW0gKHNyYykKICAgIlJldHVybiBhIG5l dyBzdHJlYW0gZnJvbSBTUkMuIikKIAorKGNsLWRlZm1ldGhvZCBzdHJlYW0gKChzdHJlYW0gc3Ry ZWFtKSkKKyAgIlJldHVybiBTVFJFQU0gdW5tb2RpZmllZC4iCisgIHN0cmVhbSkKKwogKGNsLWRl Zm1ldGhvZCBzdHJlYW0gKChzZXEgc2VxdWVuY2UpKQogICAiUmV0dXJuIGEgc3RyZWFtIGJ1aWx0 IGZyb20gdGhlIHNlcXVlbmNlIFNFUS4KIFNFUSBjYW4gYmUgYSBsaXN0LCB2ZWN0b3Igb3Igc3Ry aW5nLiIKQEAgLTQ5Miw2ICs0OTYsMTEgQEAgKGRlZm1hY3JvIHN0cmVhbS1kZWxheSAoZXhwcikK IChjbC1kZWZtZXRob2Qgc2VxLWNvcHkgKChzdHJlYW0gc3RyZWFtKSkKICAgIlJldHVybiBhIHNo YWxsb3cgY29weSBvZiBTVFJFQU0uIgogICAoc3RyZWFtLWRlbGF5IHN0cmVhbSkpCisKKyhjbC1k ZWZtZXRob2Qgc2VxLWNvbmNhdGVuYXRlICgoX3R5cGUgKGVxbCBzdHJlYW0pKSAmcmVzdCBzZXF1 ZW5jZXMpCisgICJNYWtlIGEgc3RyZWFtIHdoaWNoIGNvbmNhdGVuYXRlcyBlYWNoIHNlcXVlbmNl IGluIFNFUVVFTkNFUy4iCisgIChhcHBseSAjJ3N0cmVhbS1hcHBlbmQgKG1hcGNhciAjJ3N0cmVh bSBzZXF1ZW5jZXMpKSkKKwogDAogCiA7OzsgTW9yZSBzdHJlYW0gb3BlcmF0aW9ucwpkaWZmIC0t Z2l0IGEvdGVzdHMvc3RyZWFtLXRlc3RzLmVsIGIvdGVzdHMvc3RyZWFtLXRlc3RzLmVsCmluZGV4 IDk5N2RkODYuLjVkM2YxMTYgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3N0cmVhbS10ZXN0cy5lbAorKysg Yi90ZXN0cy9zdHJlYW0tdGVzdHMuZWwKQEAgLTIxMiw2ICsyMTIsMjcgQEAgKGVydC1kZWZ0ZXN0 IHN0cmVhbS1kZWxheS10ZXN0ICgpCiAgICAgICAgICAgICAoYW5kIChlcXVhbCByZXMxIDUpCiAg ICAgICAgICAgICAgICAgIChlcXVhbCByZXMyIDUpKSkpKQogCisoZXJ0LWRlZnRlc3Qgc3RyZWFt LXNlcS1jb25jYXRlbmF0ZS10ZXN0ICgpCisgIChzaG91bGQgKHN0cmVhbXAgKHNlcS1jb25jYXRl bmF0ZSAnc3RyZWFtIChsaXN0IDEgMikgKHZlY3RvciAzIDQpIChzdHJlYW0gKGxpc3QgNSA2KSkp KSkKKyAgKHNob3VsZCAoZXF1YWwgJygxIDIgMyA0IDUgNikKKyAgICAgICAgICAgICAgICAgKHNl cS1pbnRvIChzZXEtY29uY2F0ZW5hdGUgJ3N0cmVhbQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAobGlzdCAxIDIpCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICh2ZWN0b3IgMyA0KQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAoc3RyZWFtIChsaXN0IDUgNikpKQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgJ2xpc3QpKSkpCisKKyhlcnQtZGVmdGVzdCBzdHJlYW0tc2VxLW1hcGNhdC10 ZXN0ICgpCisgIChzaG91bGQgKHN0cmVhbXAgKHNlcS1tYXBjYXQgIydzdHJlYW0gKGxpc3QgKGxp c3QgMSAyKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2 ZWN0b3IgMyA0KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IChzdHJlYW0gKGxpc3QgNSA2KSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N0 cmVhbSkpKQorICAoc2hvdWxkIChlcXVhbCAnKDEgMiAzIDQgNSA2KQorICAgICAgICAgICAgICAg ICAoc2VxLWludG8gKHNlcS1tYXBjYXQgIydzdHJlYW0gKGxpc3QgKGxpc3QgMSAyKQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZlY3RvciAz IDQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAoc3RyZWFtIChsaXN0IDUgNikpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJ3N0cmVhbSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICdsaXN0KSkpKQorCiAo ZXJ0LWRlZnRlc3Qgc3RyZWFtLXNlcS1jb3B5LXRlc3QgKCkKICAgKHNob3VsZCAoc3RyZWFtcCAo c2VxLWNvcHkgKHN0cmVhbS1yYW5nZSkpKSkKICAgKHNob3VsZCAoPSAwIChzdHJlYW0tZmlyc3Qg KHNlcS1jb3B5IChzdHJlYW0tcmFuZ2UpKSkpKQotLSAKMi40My4wCgo= --b1=_GohjKTMAZg544p7mewPImOYRy8pGQ2z6bIrKLDtL4 Content-Type: text/x-patch; charset=UTF-8; name=v5-0003-Add-generalized-variables-for-streams-that-error-.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v5-0003-Add-generalized-variables-for-streams-that-error-.patch RnJvbSBmNTM0NWRmNTBmN2UwNzJkY2EwYjdhMDBiYWM5MGNmNjg0NTRlNmRkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBFYXJsIEh5YXR0IDxva2Ftc25AcHJvdG9ubWFpbC5jb20+CkRh dGU6IFNhdCwgNSBPY3QgMjAyNCAyMToxMTo1OSAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggdjUgMy83 XSBBZGQgZ2VuZXJhbGl6ZWQgdmFyaWFibGVzIGZvciBzdHJlYW1zIHRoYXQgZXJyb3Igd2hlbgog dXNlZC4KCiogc3RyZWFtLmVsIChzZXEtZWx0LCBzdHJlYW0tZmlyc3QsIHN0cmVhbS1yZXN0KTog U2lnbmFsIGFuIGVycm9yIHdoZW4gdHJ5aW5nIHRvCnVzZSB0aGlzIGZ1bmN0aW9uIGFzIGEgcGxh Y2UgZm9yICdzZXRmJy4KLS0tCiBzdHJlYW0uZWwgfCAxMSArKysrKysrKysrKwogMSBmaWxlIGNo YW5nZWQsIDExIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9zdHJlYW0uZWwgYi9zdHJlYW0u ZWwKaW5kZXggMzAwZjNiOC4uZGVhNDJiNCAxMDA2NDQKLS0tIGEvc3RyZWFtLmVsCisrKyBiL3N0 cmVhbS5lbApAQCAtMjkwLDYgKzI5MCwxMCBAQCAoZGVmdW4gc3RyZWFtLWZpcnN0IChzdHJlYW0p CiBSZXR1cm4gbmlsIGlmIFNUUkVBTSBpcyBlbXB0eS4iCiAgIChzdHJlYW0tLWZpcnN0IChzdHJl YW0tLWZvcmNlIHN0cmVhbSkpKQogCisoZGVmdW4gXChzZXRmXCBzdHJlYW0tZmlyc3RcKSAoX3N0 b3JlIF9zdHJlYW0pCisgICJTaWduYWwgYW4gZXJyb3Igd2hlbiB0cnlpbmcgdG8gdXNlIGBzZXRm JyBvbiB0aGUgaGVhZCBvZiBhIHN0cmVhbS4iCisgIChlcnJvciAiU3RyZWFtcyBhcmUgbm90IG11 dGFibGUiKSkKKwogKGRlZnVuIHN0cmVhbS1yZXN0IChzdHJlYW0pCiAgICJSZXR1cm4gYSBzdHJl YW0gb2YgYWxsIGJ1dCB0aGUgZmlyc3QgZWxlbWVudCBvZiBTVFJFQU0uIgogICAoc2V0cSBzdHJl YW0gKHN0cmVhbS0tZm9yY2Ugc3RyZWFtKSkKQEAgLTI5Nyw2ICszMDEsMTAgQEAgKGRlZnVuIHN0 cmVhbS1yZXN0IChzdHJlYW0pCiAgICAgICAoc3RyZWFtLWVtcHR5KQogICAgIChzdHJlYW0tLXJl c3Qgc3RyZWFtKSkpCiAKKyhkZWZ1biBcKHNldGZcIHN0cmVhbS1yZXN0XCkgKF9zdG9yZSBfc3Ry ZWFtKQorICAiU2lnbmFsIGFuIGVycm9yIHdoZW4gdHJ5aW5nIHRvIHVzZSBgc2V0Zicgb24gdGhl IHRhaWwgb2YgYSBzdHJlYW0uIgorICAoZXJyb3IgIlN0cmVhbXMgYXJlIG5vdCBtdXRhYmxlIikp CisKIChkZWZ1biBzdHJlYW0tYXBwZW5kICgmcmVzdCBzdHJlYW1zKQogICAiQ29uY2F0ZW5hdGUg dGhlIFNUUkVBTVMuCiBSZXF1ZXN0aW5nIGVsZW1lbnRzIGZyb20gdGhlIHJlc3VsdGluZyBzdHJl YW0gd2lsbCByZXF1ZXN0IHRoZQpAQCAtMzM3LDYgKzM0NSw5IEBAIChjbC1kZWZtZXRob2Qgc2Vx LWVsdCAoKHN0cmVhbSBzdHJlYW0pIG4pCiAgICAgKHNldHEgbiAoMS0gbikpKQogICAoc3RyZWFt LWZpcnN0IHN0cmVhbSkpCiAKKyhjbC1kZWZtZXRob2QgKHNldGYgc2VxLWVsdCkgKF9zdG9yZSAo X3NlcXVlbmNlIHN0cmVhbSkgX24pCisgIChlcnJvciAiU3RyZWFtcyBhcmUgbm90IG11dGFibGUi KSkKKwogKGNsLWRlZm1ldGhvZCBzZXEtbGVuZ3RoICgoc3RyZWFtIHN0cmVhbSkpCiAgICJSZXR1 cm4gdGhlIGxlbmd0aCBvZiBTVFJFQU0uCiBUaGlzIGZ1bmN0aW9uIHdpbGwgZWFnZXJseSBjb25z dW1lIHRoZSBlbnRpcmUgc3RyZWFtLiIKLS0gCjIuNDMuMAoK --b1=_GohjKTMAZg544p7mewPImOYRy8pGQ2z6bIrKLDtL4 Content-Type: text/x-patch; charset=UTF-8; name=v5-0002-Add-more-efficient-method-for-making-streams-from.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v5-0002-Add-more-efficient-method-for-making-streams-from.patch RnJvbSAzNGM4NjNiZWFiMzM3ZTJjN2RiYjdkZTg2ZDVmNjNlMDUzYTc0ZjczIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBFYXJsIEh5YXR0IDxva2Ftc25AcHJvdG9ubWFpbC5jb20+CkRh dGU6IFNhdCwgNSBPY3QgMjAyNCAyMTowNzoxNiAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggdjUgMi83 XSBBZGQgbW9yZSBlZmZpY2llbnQgbWV0aG9kIGZvciBtYWtpbmcgc3RyZWFtcyBmcm9tCiBhcnJh eXMuCgoqIHN0cmVhbS5lbCAoc3RyZWFtKTogQWRkIG1ldGhvZCBmb3IgYXJyYXlzIHRoYXQgYXZv aWRzIGNyZWF0aW5nIHN1Yi1zZXF1ZW5jZXMuCgoqIHRlc3RzL3N0cmVhbS10ZXN0cy5lbCAoc3Ry ZWFtLWFycmF5LXRlc3QpOiBBZGQgdGVzdCBmb3IgbmV3IG1ldGhvZC4KLS0tCiBzdHJlYW0uZWwg ICAgICAgICAgICAgfCAxOCArKysrKysrKysrKysrKysrKysKIHRlc3RzL3N0cmVhbS10ZXN0cy5l bCB8ICA0ICsrKysKIDIgZmlsZXMgY2hhbmdlZCwgMjIgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdp dCBhL3N0cmVhbS5lbCBiL3N0cmVhbS5lbAppbmRleCAyNDM5Zjk1Li4zMDBmM2I4IDEwMDY0NAot LS0gYS9zdHJlYW0uZWwKKysrIGIvc3RyZWFtLmVsCkBAIC0xNzMsNiArMTczLDI0IEBAIChjbC1k ZWZtZXRob2Qgc3RyZWFtICgoc2VxIHNlcXVlbmNlKSkKICAgICAgKHNlcS1lbHQgc2VxIDApCiAg ICAgIChzdHJlYW0gKHNlcS1zdWJzZXEgc2VxIDEpKSkpKQogCisoY2wtZGVmbWV0aG9kIHN0cmVh bSAoKGFycmF5IGFycmF5KSkKKyAgIlJldHVybiBhIHN0cmVhbSBidWlsdCBmcm9tIHRoZSBhcnJh eSBBUlJBWS4iCisgIChsZXQgKChsZW4gKGxlbmd0aCBhcnJheSkpKQorICAgIChpZiAoPSBsZW4g MCkKKyAgICAgICAgKHN0cmVhbS1lbXB0eSkKKyAgICAgIDs7IFRoaXMgYXBwcm9hY2ggY291bGQg YXZvaWQgb25lIGxldmVsIG9mIGluZGlyZWN0aW9uIGJ5IHNldHRpbmcKKyAgICAgIDs7IGBzdHJl YW0tLXVwZGF0ZXInIGRpcmVjdGx5LCBidXQgdXNpbmcgYGZ1bmNhbGwnIG1ha2VzIGZvciBhCisg ICAgICA7OyBnb29kIGV4YW1wbGUgb2YgaG93IHRvIHVzZSBhIGN1c3RvbSB1cGRhdGVyIGZ1bmN0 aW9uIHVzaW5nIHRoZSBwdWJsaWMKKyAgICAgIDs7IGludGVyZmFjZS4KKyAgICAgIChsZXQgKChp ZHggMCkpCisgICAgICAgIChjbC1sYWJlbHMgKCh1cGRhdGVyICgpCisgICAgICAgICAgICAgICAg ICAgICAgKGlmICg8IGlkeCBsZW4pCisgICAgICAgICAgICAgICAgICAgICAgICAgIChwcm9nMSAo Y29ucyAoYXJlZiBhcnJheSBpZHgpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoc3RyZWFtLW1ha2UgKGZ1bmNhbGwgIyd1cGRhdGVyKSkpCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKHNldHEgaWR4ICgxKyBpZHgpKSkKKyAgICAgICAgICAgICAgICAgICAgICAg IG5pbCkpKQorICAgICAgICAgIChzdHJlYW0tbWFrZSAoZnVuY2FsbCAjJ3VwZGF0ZXIpKSkpKSkp CisKIChjbC1kZWZtZXRob2Qgc3RyZWFtICgobGlzdCBsaXN0KSkKICAgIlJldHVybiBhIHN0cmVh bSBidWlsdCBmcm9tIHRoZSBsaXN0IExJU1QuIgogICAoaWYgKG51bGwgbGlzdCkKZGlmZiAtLWdp dCBhL3Rlc3RzL3N0cmVhbS10ZXN0cy5lbCBiL3Rlc3RzL3N0cmVhbS10ZXN0cy5lbAppbmRleCBi YTMwNGYxLi45OTdkZDg2IDEwMDY0NAotLS0gYS90ZXN0cy9zdHJlYW0tdGVzdHMuZWwKKysrIGIv dGVzdHMvc3RyZWFtLXRlc3RzLmVsCkBAIC0yMzQsNiArMjM0LDEwIEBAIChlcnQtZGVmdGVzdCBz dHJlYW0tbGlzdC10ZXN0ICgpCiAgIChkb2xpc3QgKGxpc3QgJyhuaWwgJygxIDIgMykgJyhhIC4g YikpKQogICAgIChzaG91bGQgKGVxdWFsIGxpc3QgKHNlcS1pbnRvIChzdHJlYW0gbGlzdCkgJ2xp c3QpKSkpKQogCisoZXJ0LWRlZnRlc3Qgc3RyZWFtLWFycmF5LXRlc3QgKCkKKyAgKGRvbGlzdCAo YXJyIChsaXN0ICJjYXQiIFswIDEgMl0pKQorICAgIChzaG91bGQgKGVxdWFsIGFyciAoc2VxLWlu dG8gKHN0cmVhbSBhcnIpICh0eXBlLW9mIGFycikpKSkpKQorCiAoZXJ0LWRlZnRlc3Qgc3RyZWFt LXNlcS1zdWJzZXEtdGVzdCAoKQogICAoc2hvdWxkIChzdHJlYW0tZW1wdHktcCAoc2VxLXN1YnNl cSAoc3RyZWFtLXJhbmdlIDIgMTApIDAgMCkpKQogICAoc2hvdWxkICg9IChzdHJlYW0tZmlyc3Qg KHNlcS1zdWJzZXEgKHN0cmVhbS1yYW5nZSAyIDEwKSAwIDMpKSAyKSkKLS0gCjIuNDMuMAoK --b1=_GohjKTMAZg544p7mewPImOYRy8pGQ2z6bIrKLDtL4 Content-Type: text/x-patch; charset=UTF-8; name=v5-0001-Change-stream.el-to-use-structures-instead-of-con.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v5-0001-Change-stream.el-to-use-structures-instead-of-con.patch RnJvbSBlNTlmZjRjNGY2OTMyMzJhN2VlMWRhNDY3NWYxZGUzODlkZmIxMzQ4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBFYXJsIEh5YXR0IDxva2Ftc25AcHJvdG9ubWFpbC5jb20+CkRh dGU6IFNhdCwgNSBPY3QgMjAyNCAyMTowMTowMyAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggdjUgMS83 XSBDaGFuZ2UgJ3N0cmVhbS5lbCcgdG8gdXNlIHN0cnVjdHVyZXMgaW5zdGVhZCBvZiBjb25zCiBj ZWxscy4KCiogc3RyZWFtLmVsIChzdHJlYW0pOiBEZWZpbmUgdGhlIHN0cnVjdHVyZSB1c2luZyAn Y2wtZGVmc3RydWN0Jy4gIFNldApzYWZldHkgdG8gMCB1c2luZyAnY2wtZGVjbGFpbScgdG8gYXZv aWQgY2hlY2tpbmcgdGhlIHR5cGUgb2YgdGhlIGFyZ3VtZW50CnRvICdzdHJlYW0tLWZvcmNlJyBt dWx0aXBsZSB0aW1lcy4gIEluc3RlYWQsIGV4cGxpY2l0bHkgY2hlY2sgYSBzaW5nbGUgdGltZQpp biAnc3RyZWFtLS1mb3JjZScsIHdoaWNoIG11c3QgYmUgdXNlZCBpbnNpZGUgdGhlIHB1YmxpYyBm dW5jdGlvbnMgYW55d2F5LgoKKiBzdHJlYW0uZWwgKHN0cmVhbS1tYWtlKTogQ2hhbmdlIHRvIHVz ZSBuZXcgc3RydWN0dXJlIGNvbnN0cnVjdG9yCidzdHJlYW0tLW1ha2Utc3RyZWFtJy4KCiogc3Ry ZWFtLmVsIChzdHJlYW1wKTogRGVsZXRlIGV4aXN0aW5nIGRlZmluaXRpb24gdG8gYXZvaWQgY29u ZmxpY3RzCndpdGggZGVmaW5pdGlvbiBnZW5lcmF0ZWQgZm9yIHN0cnVjdHVyZXMuCgoqIHN0cmVh bS5lbCAoc3RyZWFtLS1mb3JjZSwgc3RyZWFtLWZpcnN0LCBzdHJlYW0tcmVzdCkKKHN0cmVhbS1l bXB0eSwgc3RyZWFtLWVtcHR5LXApOiBSZWRlZmluZSB0byB1c2Ugc3RydWN0dXJlIHNsb3RzLgoK KiBzdHJlYW0uZWwgKHN0cmVhbS0tZnJlc2gtaWRlbnRpZmllciwgc3RyZWFtLS1ldmFsZC1pZGVu dGlmaWVyKToKUmVtb3ZlIG5vdyB1bnVzZWQgZGVmaW5pdGlvbnMuCgoqIHN0cmVhbS5lbCAoc3Ry ZWFtLS1nZW5lcmFsaXplciwgY2wtZ2VuZXJpYy1nZW5lcmFsaXplcnMpOiBSZW1vdmUKdGhlc2Ug c3BlY2lhbGl6ZXJzIGZyb20gdGhlIG9sZCwgY29ucy1iYXNlZCBpbXBsZW1lbnRhdGlvbi4KLS0t CiBzdHJlYW0uZWwgfCAxMzggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0t LS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgOTIgaW5zZXJ0aW9ucygrKSwgNDYgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3RyZWFtLmVsIGIvc3RyZWFtLmVsCmluZGV4IDcxMzVl ZTAuLjI0MzlmOTUgMTAwNjQ0Ci0tLSBhL3N0cmVhbS5lbAorKysgYi9zdHJlYW0uZWwKQEAgLTYz LDMzICs2Myw5NCBAQAogCiA7OzsgQ29kZToKIAotKGV2YWwtd2hlbi1jb21waWxlIChyZXF1aXJl ICdjbC1saWIpKQorKGV2YWwtd2hlbi1jb21waWxlCisgIChyZXF1aXJlICdjbC1saWIpCisgIDs7 IFNldCBzYWZldHkgdG8gMCB0byBhdm9pZCBjaGVja2luZyB0aGUgdHlwZSBvZiB0aGUgYXJndW1l bnQgbXVsdGlwbGUgdGltZXMKKyAgOzsgd2l0aGluIGBzdHJlYW0tLWZvcmNlJywgd2hpY2ggaXMg dXNlZCBmcmVxdWVudGx5LgorICAoY2wtZGVjbGFpbSAob3B0aW1pemUgKHNhZmV0eSAwKSkpKQor CiAocmVxdWlyZSAnc2VxKQogCi0oZXZhbC1hbmQtY29tcGlsZQotICAoZGVmY29uc3Qgc3RyZWFt LS1mcmVzaC1pZGVudGlmaWVyICctLXN0cmVhbS1mcmVzaC0tCi0gICAgIlN5bWJvbCBpbnRlcm5h bGx5IHVzZWQgdG8gc3RyZWFtcyB3aG9zZSBoZWFkIHdhcyBub3QgZXZhbHVhdGVkLiIpCi0gIChk ZWZjb25zdCBzdHJlYW0tLWV2YWxkLWlkZW50aWZpZXIgJy0tc3RyZWFtLWV2YWxkLS0KLSAgICAi U3ltYm9sIGludGVybmFsbHkgdXNlZCB0byBzdHJlYW1zIHdob3NlIGhlYWQgd2FzIGV2YWx1YXRl ZC4iKSkKKyhjbC1kZWZzdHJ1Y3QgKHN0cmVhbSAoOmNvbnN0cnVjdG9yIHN0cmVhbS0tbWFrZS1z dHJlYW0pCisgICAgICAgICAgICAgICAgICAgICAgKDpjb25jLW5hbWUgc3RyZWFtLS0pCisgICAg ICAgICAgICAgICAgICAgICAgKDpwcmVkaWNhdGUgc3RyZWFtcCkKKyAgICAgICAgICAgICAgICAg ICAgICA6bmFtZWQpCisKKyAgIkEgbGF6aWx5IGV2YWx1YXRlZCBzZXF1ZW5jZSwgY29tcGF0aWJs ZSB3aXRoIHRoZSBgc2VxJyBsaWJyYXJ5J3MgZnVuY3Rpb25zLiIKKworICAoZXZhbHVhdGVkCisg ICBuaWwKKyAgIDp0eXBlIGJvb2xlYW4KKyAgIDpkb2N1bWVudGF0aW9uICJXaGV0aGVyIHRoZSBo ZWFkIGFuZCB0YWlsIG9mIHRoZSBzdHJlYW0gYXJlIGFjY2Vzc2libGUuCisKK1RoaXMgdmFsdWUg aXMgc2V0IHRvIHQgdmlhIHRoZSBmdW5jdGlvbiBgc3RyZWFtLS1mb3JjZScgYWZ0ZXIgaXQKK2Nh bGxzIHRoZSB1cGRhdGVyIGZ1bmN0aW9uLiIpCisKKyAgKGZpcnN0CisgICBuaWwKKyAgIDp0eXBl IHQKKyAgIDpkb2N1bWVudGF0aW9uICJUaGUgZmlyc3QgZWxlbWVudCBvZiB0aGUgc3RyZWFtLiIp CisKKyAgKHJlc3QKKyAgIG5pbAorICAgOnR5cGUgKG9yIHN0cmVhbSBudWxsKQorICAgOmRvY3Vt ZW50YXRpb24gIlRoZSByZXN0IG9mIHRoZSBzdHJlYW0sIHdoaWNoIGlzIGl0c2VsZiBhIHN0cmVh bS4iKQorCisgIChlbXB0eQorICAgbmlsCisgICA6dHlwZSBib29sZWFuCisgICA6ZG9jdW1lbnRh dGlvbiAiV2hldGhlciB0aGUgZXZhbHVhdGVkIHN0cmVhbSBpcyBlbXB0eS4KKworQSBzdHJlYW0g aXMgZW1wdHkgaWYgdGhlIHVwZGF0ZXIgZnVuY3Rpb24gcmV0dXJucyBuaWwgd2hlbgorYHN0cmVh bS0tZm9yY2UnIGV2YWx1YXRlcyB0aGUgc3RyZWFtLiIpCisKKyAgKHVwZGF0ZXIKKyAgIG5pbAor ICAgOnR5cGUgKG9yIGZ1bmN0aW9uIG51bGwpCisgICA6ZG9jdW1lbnRhdGlvbiAiRnVuY3Rpb24g dGhhdCByZXR1cm5zIHRoZSBoZWFkIGFuZCB0YWlsIG9mIHRoZSBzdHJlYW0gd2hlbiBjYWxsZWQu CisKK1RoZSB1cGRhdGVyIGZ1bmN0aW9uIHJldHVybnMgdGhlIGhlYWQgYW5kIHRhaWwgaW4gYSBj b25zIGNlbGwuCitJZiBpdCByZXR1cm5zIG5pbCwgdGhlbiB0aGUgc3RyZWFtIGlzIGVtcHR5IGFu ZCBgZW1wdHknIGlzCitzZXQgdG8gdC4gIEFmdGVyIHRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkLCBh c3N1bWluZyBubyBlcnJvcnMgd2VyZSBzaWduYWxlZCwKK2BldmFsdWF0ZWQnIGlzIHNldCB0byB0 LgorCitJbiB0aGUgY2FzZSBvZiB0aGUgY2Fub25pY2FsIGVtcHR5IHN0cmVhbSAoc2VlIHRoZSB2 YXJpYWJsZSBgc3RyZWFtLWVtcHR5JyksCit0aGlzIHNsb3QgaXMgbmlsLiIpKQogCiAoZGVmbWFj cm8gc3RyZWFtLW1ha2UgKCZyZXN0IGJvZHkpCiAgICJSZXR1cm4gYSBzdHJlYW0gYnVpbHQgZnJv bSBCT0RZLgotQk9EWSBtdXN0IHJldHVybiBuaWwgb3IgYSBjb25zIGNlbGwgd2hvc2UgY2RyIGlz IGl0c2VsZiBhCi1zdHJlYW0uIgorCitCT0RZIG11c3QgcmV0dXJuIGEgY29ucyBjZWxsIHdob3Nl IGNhciB3b3VsZCBiZSB0aGUgaGVhZCBvZiBhCitzdHJlYW0gYW5kIHdob3NlIGNkciB3b3VsZCBi ZSB0aGUgdGFpbCBvZiBhIHN0cmVhbS4gIFRoZSBjZHIgbXVzdAorYmUgYSBzdHJlYW0gaXRzZWxm IGluIG9yZGVyIHRvIGJlIGEgdmFsaWQgdGFpbC4gIEFsdGVybmF0aXZlbHksCitCT0RZIG1heSBy ZXR1cm4gbmlsLCBpbiB3aGljaCBjYXNlIHRoZSBzdHJlYW0gaXMgbWFya2VkIGVtcHR5Cit3aGVu IHRoZSBzdHJlYW0gaXMgZXZhbHVhdGVkLiIKICAgKGRlY2xhcmUgKGRlYnVnIHQpKQotICBgKGNv bnMgJyxzdHJlYW0tLWZyZXNoLWlkZW50aWZpZXIgKGxhbWJkYSAoKSAsQGJvZHkpKSkKKyAgYChz dHJlYW0tLW1ha2Utc3RyZWFtIDpldmFsdWF0ZWQgbmlsCisgICAgICAgICAgICAgICAgICAgICAg ICA6dXBkYXRlciAobGFtYmRhICgpICxAYm9keSkpKQogCiAoZGVmdW4gc3RyZWFtLS1mb3JjZSAo c3RyZWFtKQotICAiRXZhbHVhdGUgYW5kIHJldHVybiB0aGUgZmlyc3QgY29ucyBjZWxsIG9mIFNU UkVBTS4KLVRoYXQgdmFsdWUgaXMgdGhlIG9uZSBwYXNzZWQgdG8gYHN0cmVhbS1tYWtlJy4iCi0g IChjb25kCi0gICAoKGVxIChjYXItc2FmZSBzdHJlYW0pIHN0cmVhbS0tZXZhbGQtaWRlbnRpZmll cikKLSAgICAoY2RyIHN0cmVhbSkpCi0gICAoKGVxIChjYXItc2FmZSBzdHJlYW0pIHN0cmVhbS0t ZnJlc2gtaWRlbnRpZmllcikKLSAgICAocHJvZzEgKHNldGYgKGNkciBzdHJlYW0pIChmdW5jYWxs IChjZHIgc3RyZWFtKSkpCi0gICAgICA7OyBpZGVudGlmaWVyIGlzIG9ubHkgdXBkYXRlZCB3aGVu IGZvcmNpbmcgZGlkbid0IGV4aXQgbm9ubG9jYWxseQotICAgICAgKHNldGYgKGNhciBzdHJlYW0p IHN0cmVhbS0tZXZhbGQtaWRlbnRpZmllcikpKQotICAgKHQgKHNpZ25hbCAnd3JvbmctdHlwZS1h cmd1bWVudCAobGlzdCAnc3RyZWFtcCBzdHJlYW0pKSkpKQorICAiRXZhbHVhdGUgYW5kIHJldHVy biB0aGUgU1RSRUFNLgorCitJZiB0aGUgb3V0cHV0IG9mIHRoZSB1cGRhdGVyIGZ1bmN0aW9uIGlz IG5pbCwgdGhlbiBTVFJFQU0gaXMKK21hcmtlZCBhcyBlbXB0eS4gIE90aGVyd2lzZSwgdGhlIG91 dHB1dCBvZiB0aGUgdXBkYXRlciBmdW5jdGlvbgoraXMgdXNlZCB0byBzZXQgdGhlIGhlYWQgYW5k IHRoZSB0YWlsIG9mIHRoZSBzdHJlYW0uIgorICA7OyBDaGVjayBleHBsaWNpdGx5IHNvIHRoYXQg d2UgY2FuIGF2b2lkIGNoZWNraW5nCisgIDs7IGluIGFjY2Vzc29ycyBieSBzZXR0aW5nIHNhZmV0 eSB0byAwIHZpYSBgY2wtZGVjbGFpbScuCisgIChjbC1jaGVjay10eXBlIHN0cmVhbSBzdHJlYW0p CisgIChpZiAoc3RyZWFtLS1ldmFsdWF0ZWQgc3RyZWFtKQorICAgICAgc3RyZWFtCisgICAgKHBj YXNlIChmdW5jYWxsIChzdHJlYW0tLXVwZGF0ZXIgc3RyZWFtKSkKKyAgICAgIChgKCxoZWFkIC4g LHRhaWwpCisgICAgICAgKHNldGYgKHN0cmVhbS0tZmlyc3Qgc3RyZWFtKSBoZWFkCisgICAgICAg ICAgICAgKHN0cmVhbS0tcmVzdCBzdHJlYW0pIHRhaWwpKQorICAgICAgKChwcmVkIG51bGwpCisg ICAgICAgKHNldGYgKHN0cmVhbS0tZW1wdHkgc3RyZWFtKSB0KSkKKyAgICAgIChiYWQtb3V0cHV0 CisgICAgICAgKGVycm9yICJCYWQgb3V0cHV0IGZyb20gc3RyZWFtIHVwZGF0ZXI6ICVTIgorICAg ICAgICAgICAgICBiYWQtb3V0cHV0KSkpCisgICAgKHNldGYgKHN0cmVhbS0tZXZhbHVhdGVkIHN0 cmVhbSkgdCkKKyAgICBzdHJlYW0pKQogCiAoZGVmbWFjcm8gc3RyZWFtLWNvbnMgKGZpcnN0IHJl c3QpCiAgICJSZXR1cm4gYSBzdHJlYW0gYnVpbHQgZnJvbSB0aGUgY29ucyBvZiBGSVJTVCBhbmQg UkVTVC4KQEAgLTE5MCwxMyArMjUxLDEyIEBAIChkZWZ1biBzdHJlYW0tcmFuZ2UgKCZvcHRpb25h bCBzdGFydCBlbmQgc3RlcCkKICAgICAgKHN0cmVhbS1yYW5nZSAoKyBzdGFydCBzdGVwKSBlbmQg c3RlcCkpKSkKIAwKIAotKGRlZnVuIHN0cmVhbXAgKHN0cmVhbSkKLSAgIlJldHVybiBub24tbmls IGlmIFNUUkVBTSBpcyBhIHN0cmVhbSwgbmlsIG90aGVyd2lzZS4iCi0gIChsZXQgKChjYXIgKGNh ci1zYWZlIHN0cmVhbSkpKQotICAgIChvciAoZXEgY2FyIHN0cmVhbS0tZnJlc2gtaWRlbnRpZmll cikKLSAgICAgICAgKGVxIGNhciBzdHJlYW0tLWV2YWxkLWlkZW50aWZpZXIpKSkpCi0KLShkZWZj b25zdCBzdHJlYW0tZW1wdHkgKGNvbnMgc3RyZWFtLS1ldmFsZC1pZGVudGlmaWVyIG5pbCkKKyhk ZWZjb25zdCBzdHJlYW0tZW1wdHkKKyAgKHN0cmVhbS0tbWFrZS1zdHJlYW0gOmV2YWx1YXRlZCB0 CisgICAgICAgICAgICAgICAgICAgICAgIDpmaXJzdCBuaWwKKyAgICAgICAgICAgICAgICAgICAg ICAgOnJlc3QgbmlsCisgICAgICAgICAgICAgICAgICAgICAgIDplbXB0eSB0CisgICAgICAgICAg ICAgICAgICAgICAgIDp1cGRhdGVyIG5pbCkKICAgIlRoZSBlbXB0eSBzdHJlYW0uIikKIAogKGRl ZnVuIHN0cmVhbS1lbXB0eSAoKQpAQCAtMjA1LDE3ICsyNjUsMTkgQEAgKGRlZnVuIHN0cmVhbS1l bXB0eSAoKQogCiAoZGVmdW4gc3RyZWFtLWVtcHR5LXAgKHN0cmVhbSkKICAgIlJldHVybiBub24t bmlsIGlmIFNUUkVBTSBpcyBlbXB0eSwgbmlsIG90aGVyd2lzZS4iCi0gIChudWxsIChjZHIgKHN0 cmVhbS0tZm9yY2Ugc3RyZWFtKSkpKQorICAoc3RyZWFtLS1lbXB0eSAoc3RyZWFtLS1mb3JjZSBz dHJlYW0pKSkKIAogKGRlZnVuIHN0cmVhbS1maXJzdCAoc3RyZWFtKQogICAiUmV0dXJuIHRoZSBm aXJzdCBlbGVtZW50IG9mIFNUUkVBTS4KIFJldHVybiBuaWwgaWYgU1RSRUFNIGlzIGVtcHR5LiIK LSAgKGNhciAoc3RyZWFtLS1mb3JjZSBzdHJlYW0pKSkKKyAgKHN0cmVhbS0tZmlyc3QgKHN0cmVh bS0tZm9yY2Ugc3RyZWFtKSkpCiAKIChkZWZ1biBzdHJlYW0tcmVzdCAoc3RyZWFtKQogICAiUmV0 dXJuIGEgc3RyZWFtIG9mIGFsbCBidXQgdGhlIGZpcnN0IGVsZW1lbnQgb2YgU1RSRUFNLiIKLSAg KG9yIChjZHIgKHN0cmVhbS0tZm9yY2Ugc3RyZWFtKSkKLSAgICAgIChzdHJlYW0tZW1wdHkpKSkK KyAgKHNldHEgc3RyZWFtIChzdHJlYW0tLWZvcmNlIHN0cmVhbSkpCisgIChpZiAoc3RyZWFtLS1l bXB0eSBzdHJlYW0pCisgICAgICAoc3RyZWFtLWVtcHR5KQorICAgIChzdHJlYW0tLXJlc3Qgc3Ry ZWFtKSkpCiAKIChkZWZ1biBzdHJlYW0tYXBwZW5kICgmcmVzdCBzdHJlYW1zKQogICAiQ29uY2F0 ZW5hdGUgdGhlIFNUUkVBTVMuCkBAIC0yNDIsMjIgKzMwNCw2IEBAIChkZWZtYWNybyBzdHJlYW0t cG9wIChzdHJlYW0pCiAgICAgIChzZXRxICxzdHJlYW0gKHN0cmVhbS1yZXN0ICxzdHJlYW0pKSkp CiAMCiAKLTs7OyBjbC1nZW5lcmljIHN1cHBvcnQgZm9yIHN0cmVhbXMKLQotKGNsLWdlbmVyaWMt ZGVmaW5lLWdlbmVyYWxpemVyIHN0cmVhbS0tZ2VuZXJhbGl6ZXIKLSAgMTEKLSAgKGxhbWJkYSAo bmFtZSAmcmVzdCBfKQotICAgIGAod2hlbiAoc3RyZWFtcCAsbmFtZSkKLSAgICAgICAnc3RyZWFt KSkKLSAgKGxhbWJkYSAodGFnICZyZXN0IF8pCi0gICAgKHdoZW4gKGVxIHRhZyAnc3RyZWFtKQot ICAgICAgJyhzdHJlYW0pKSkpCi0KLShjbC1kZWZtZXRob2QgY2wtZ2VuZXJpYy1nZW5lcmFsaXpl cnMgKChfc3BlY2lhbGl6ZXIgKGVxbCBzdHJlYW0pKSkKLSAgIlN1cHBvcnQgZm9yIGBzdHJlYW0n IHNwZWNpYWxpemVycy4iCi0gIChsaXN0IHN0cmVhbS0tZ2VuZXJhbGl6ZXIpKQotDAotCiA7Ozsg SW1wbGVtZW50YXRpb24gb2Ygc2VxLmVsIGdlbmVyaWMgZnVuY3Rpb25zCiAKIChjbC1kZWZtZXRo b2Qgc2VxcCAoKF9zdHJlYW0gc3RyZWFtKSkKLS0gCjIuNDMuMAoK --b1=_GohjKTMAZg544p7mewPImOYRy8pGQ2z6bIrKLDtL4-- From debbugs-submit-bounces@debbugs.gnu.org Sun Nov 17 21:17:10 2024 Received: (at 73431-done) by debbugs.gnu.org; 18 Nov 2024 02:17:10 +0000 Received: from localhost ([127.0.0.1]:59304 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tCrK9-0004SH-L5 for submit@debbugs.gnu.org; Sun, 17 Nov 2024 21:17:09 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:59959) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tCrK6-0004Rj-9G for 73431-done@debbugs.gnu.org; Sun, 17 Nov 2024 21:17:08 -0500 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id F15571000C3; Sun, 17 Nov 2024 21:16:59 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1731896219; bh=BDhEanLE6aIxl/b7Jjgyeyr4nu65yIuE+MmGCi0vP70=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=FYO2WsOpO1I96a9zsZLprTp43bTOb3ctVPqkWIq8m+nnKofvvAsRzOPPbKePk8fgz /zg+IacUs0J3LOXISzD4Na56TKZ91W00TJjFiQ8qg6awzB3gwVpvIuSzsdJiHJ3kCU TphGmXMFpfYbqHc86MYGmZSoCVsKM5cIoqoduU7UL5os/d//ZjwxbdhE8UuVLxtzBJ 4PwcvZfHGo3eGN7yEQeFRoYoYObUORyvvJ8yFs3kY0kq233ox3tQR30dBAhVMhq9Ff lTC4NaY0pSwpSr/k9QD+kJDiUbZHo9+etqMRekmIccO6Y3FXz/Lev6qBU7vnsK/CGg mTQafEyZ5LMfw== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 37B66100042; Sun, 17 Nov 2024 21:16:59 -0500 (EST) Received: from alfajor (104-195-225-43.cpe.teksavvy.com [104.195.225.43]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id E5829120313; Sun, 17 Nov 2024 21:16:58 -0500 (EST) From: Stefan Monnier To: Okamsn Subject: Re: bug#73431: Add `setf` support for `stream.el` in ELPA In-Reply-To: <2d8d0357-e103-4296-82f0-2c4dfc294df8@protonmail.com> (okamsn@protonmail.com's message of "Fri, 08 Nov 2024 01:45:47 +0000") Message-ID: References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <9db72ab8-604e-451d-b9a0-74fa5b3fa81f@protonmail.com> <87a5fic3om.fsf@posteo.net> <7de379ab-a4f2-4853-96dc-cdf05dd7218e@protonmail.com> <09504d12-9ca6-4b4d-84ff-c7f9d1087192@protonmail.com> <87o73dmp7q.fsf@web.de> <87ed48mgbu.fsf@web.de> <87iktdkgfz.fsf@web.de> <2d8d0357-e103-4296-82f0-2c4dfc294df8@protonmail.com> Date: Sun, 17 Nov 2024 21:16:58 -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.013 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: -2.3 (--) X-Debbugs-Envelope-To: 73431-done Cc: Michael Heerdegen , philipk@posteo.net, Eli Zaretskii , nicolas@petton.fr, 73431-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Not sure who should do it, but since noone did it yet, I went ahead and pushed it to `elpa.git`. Thanks. Stefan Okamsn [2024-11-08 01:45:47] wrote: > Michael Heerdegen wrote: >> Okamsn writes: >> >>> For shortening the first line of the documentation of `seq-take-while`, >>> do you think changing "Return a stream of the successive elements for >>> which (PRED elt) is non-nil in STREAM" to "Return a stream of serial >>> elements in STREAM for which PRED returns non-nil" works? >> >> Hmm. How about >> >> "Return the starting consecutive elements that fulfill PRED." >> >> Or "front elements"? >> >> I tried to emphasize that the function is not about the whole sequence >> but starts at the front and aborts once PRED is not fulfilled. We can >> later say explicitly that the predicate is called like (PRED ELT) - that >> alone makes the sentence shorter. >> >> But I'm not that good when using English language - better versions >> welcome. >> >>> Also, do you think that the documentation string for `seq-drop-while` >>> should also be changed for consistency? >> >> Sure. >> >> >> Michael. > > Hello, > > Attached are patch files which include the requested shorter doc strings > for `seq-take-while` and `seq-drop-while`. The quoting in `seq-mapn` > has been fixed. I did not delete any of the doc strings because there > does not seem to be consensus on that. > > Is there anything else that you would like changed outside of the > discussion about the doc strings? > > Thank you. From unknown Sat Sep 06 20:03:24 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Mon, 16 Dec 2024 12:24:09 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator