From unknown Sun Jun 15 08:36:25 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#68272 <68272@debbugs.gnu.org> To: bug#68272 <68272@debbugs.gnu.org> Subject: Status: [PATCH] Fix -1 leaking from C to lisp in 'read-event' etc. Reply-To: bug#68272 <68272@debbugs.gnu.org> Date: Sun, 15 Jun 2025 15:36:25 +0000 retitle 68272 [PATCH] Fix -1 leaking from C to lisp in 'read-event' etc. reassign 68272 emacs submitter 68272 Tim Ruffing severity 68272 normal tag 68272 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 05 16:19:41 2024 Received: (at submit) by debbugs.gnu.org; 5 Jan 2024 21:19:41 +0000 Received: from localhost ([127.0.0.1]:58070 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rLrbQ-0001SO-BF for submit@debbugs.gnu.org; Fri, 05 Jan 2024 16:19:41 -0500 Received: from lists.gnu.org ([2001:470:142::17]:52118) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rLrbM-0001S9-Qa for submit@debbugs.gnu.org; Fri, 05 Jan 2024 16:19:38 -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 1rLrbC-0003Zm-Ak for bug-gnu-emacs@gnu.org; Fri, 05 Jan 2024 16:19:26 -0500 Received: from mout-p-201.mailbox.org ([80.241.56.171]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_CHACHA20_POLY1305:256) (Exim 4.90_1) (envelope-from ) id 1rLrb5-00083l-OD for bug-gnu-emacs@gnu.org; Fri, 05 Jan 2024 16:19:25 -0500 Received: from smtp102.mailbox.org (smtp102.mailbox.org [10.196.197.102]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-201.mailbox.org (Postfix) with ESMTPS id 4T6GYC2kjyz9sZL for ; Fri, 5 Jan 2024 22:19:11 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=timruffing.de; s=MBO0001; t=1704489551; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type:autocrypt:autocrypt; bh=CWsG5HWoHoGdfY0bN7k2KKpUM7KpAitEvUHIGhjiwtE=; b=HdzdKyuhTgoKHQds+wHIlKvAW2BAT3NLlV4whrsZ64G9hqPNazcM4cYT8sFCdvOafkhl7O 1SX4chU7JugrHE7kYtBRqgKNtSysiYBSxzRebeer5xqQwAR6kl+Nc8S88slPNt5/RV1CUw kKfDZLLZrvp5H0hjmXghlEjQJwe7949WFKPB7YzhX0iLCK+pTly/AEQJcfTj1gbjObaKJ/ XvgInztFNb/MYf3Dcgq6Av2Rbv5t4Cal0t+59QAChPF3SyyageWdKhbf6ELvjzkm8Jgmr+ hwJnBu7mw5n3OheFM0x+1XNZkSAmEHlhQUOZCGNQpN09GSMoo2wlWcTB3VcYYA== Message-ID: <46480759b6d89b5a4864e8ee1b986817366a56e5.camel@timruffing.de> Subject: [PATCH] Fix -1 leaking from C to lisp in 'read-event' etc. From: Tim Ruffing To: bug-gnu-emacs@gnu.org Date: Fri, 05 Jan 2024 22:19:10 +0100 Autocrypt: addr=crypto@timruffing.de; prefer-encrypt=mutual; keydata=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 7xWBA== Content-Type: multipart/mixed; boundary="=-PUaU02Ozv+LlZk/Klo3Z" MIME-Version: 1.0 Received-SPF: pass client-ip=80.241.56.171; envelope-from=crypto@timruffing.de; helo=mout-p-201.mailbox.org X-Spam_score_int: -23 X-Spam_score: -2.4 X-Spam_bar: -- X-Spam_report: (-2.4 / 5.0 requ) BAYES_00=-1.9, DKIM_INVALID=0.1, DKIM_SIGNED=0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.6 (/) X-Debbugs-Envelope-To: submit 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.4 (/) --=-PUaU02Ozv+LlZk/Klo3Z Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 'read_char' in src/keyboard.c returns -1 to indicate the end of a keyboard macro. This case is supposed to be propagated via=20 'read_key_sequence' and 'command_loop_2' to 'Fexecute_kbd_macro'. But 'read_key_sequence' is not the only caller of 'read_char'. It is also called by 'read-event' and similar lisp functions, and in that case, the magic C return value -1 is wrongly propagated to the lisp caller.=C2=A0 There are at least workarounds for this bug in at least three lisp modules in the code base, in subr.el, in calc and most recently added in dbus.el (bug #62018), see the attached patches. These patches are supposed to resolve the underlying issue, and then remove the workarounds. --=-PUaU02Ozv+LlZk/Klo3Z Content-Disposition: attachment; filename="0001-Extract-check-for-end-of-macro-to-function.patch" Content-Type: text/x-patch; name="0001-Extract-check-for-end-of-macro-to-function.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSBmM2JkMGIzNDZlN2FhNDM1ZDc3OGU1NmI5YTdjNmExMjMzMTVkZjE4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUaW0gUnVmZmluZyA8Y3J5cHRvQHRpbXJ1ZmZpbmcuZGU+CkRh dGU6IFdlZCwgMjcgRGVjIDIwMjMgMTQ6MjY6MjYgKzAxMDAKU3ViamVjdDogW1BBVENIIDEvNF0g RXh0cmFjdCBjaGVjayBmb3IgZW5kIG9mIG1hY3JvIHRvIGZ1bmN0aW9uCgoqIHNyYy9tYWNyb3Mu aCAoYXRfZW5kX29mX21hY3JvX3ApOgoqIHNyYy9tYWNyb3MuYyAoYXRfZW5kX29mX21hY3JvX3Ap OgpOZXcgZnVuY3Rpb24uCiogc3JjL2tleWJvYXJkLmMgKHJlYWRfY2hhcik6IFVzZSB0aGUgbmV3 IGZ1bmN0aW9uLgotLS0KIHNyYy9rZXlib2FyZC5jIHwgIDMgKy0tCiBzcmMvbWFjcm9zLmMgICB8 IDEyICsrKysrKysrKysrKwogc3JjL21hY3Jvcy5oICAgfCAgNSArKysrKwogMyBmaWxlcyBjaGFu Z2VkLCAxOCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9r ZXlib2FyZC5jIGIvc3JjL2tleWJvYXJkLmMKaW5kZXggZTFkNzM4ZGQ2ZWYuLmQ0NzM2M2JjMzlm IDEwMDY0NAotLS0gYS9zcmMva2V5Ym9hcmQuYworKysgYi9zcmMva2V5Ym9hcmQuYwpAQCAtMjYy Nyw4ICsyNjI3LDcgQEAgcmVhZF9jaGFyIChpbnQgY29tbWFuZGZsYWcsIExpc3BfT2JqZWN0IG1h cCwKICAgICAgIC8qIEV4aXQgdGhlIG1hY3JvIGlmIHdlIGFyZSBhdCB0aGUgZW5kLgogCSBBbHNv LCBzb21lIHRoaW5ncyByZXBsYWNlIHRoZSBtYWNybyB3aXRoIHQKIAkgdG8gZm9yY2UgYW4gZWFy bHkgZXhpdC4gICovCi0gICAgICBpZiAoRVEgKFZleGVjdXRpbmdfa2JkX21hY3JvLCBRdCkKLQkg IHx8IGV4ZWN1dGluZ19rYmRfbWFjcm9faW5kZXggPj0gWEZJWE5BVCAoRmxlbmd0aCAoVmV4ZWN1 dGluZ19rYmRfbWFjcm8pKSkKKyAgICAgIGlmIChhdF9lbmRfb2ZfbWFjcm9fcCAoKSkKIAl7CiAJ ICBYU0VUSU5UIChjLCAtMSk7CiAJICBnb3RvIGV4aXQ7CmRpZmYgLS1naXQgYS9zcmMvbWFjcm9z LmMgYi9zcmMvbWFjcm9zLmMKaW5kZXggNWY3MWJjYmQzNjEuLjYyMTI5YmUxNjI5IDEwMDY0NAot LS0gYS9zcmMvbWFjcm9zLmMKKysrIGIvc3JjL21hY3Jvcy5jCkBAIC0zNTMsNiArMzUzLDE4IEBA IGluaXRfbWFjcm9zICh2b2lkKQogICBleGVjdXRpbmdfa2JkX21hY3JvID0gUW5pbDsKIH0KIAor LyogV2hldGhlciB0aGUgZXhlY3V0aW9uIG9mIGEgbWFjcm8gaGFzIHJlYWNoZWQgaXRzIGVuZC4K KyAgIEl0IG1ha2VzIG9ubHkgc2Vuc2UgdG8gY2FsbCB0aGlzIHdoZW4gd2hpbGUgZXhlY3V0aW5n IGEgbWFjcm8uICAqLworCitib29sCithdF9lbmRfb2ZfbWFjcm9fcCAodm9pZCkKK3sKKyAgZWFz c3VtZSAoIU5JTFAgKFZleGVjdXRpbmdfa2JkX21hY3JvKSk7CisgIC8qIFNvbWUgdGhpbmdzIHJl cGxhY2UgdGhlIG1hY3JvIHdpdGggdCB0byBmb3JjZSBhbiBlYXJseSBleGl0LiAgKi8KKyAgcmV0 dXJuIEVRIChWZXhlY3V0aW5nX2tiZF9tYWNybywgUXQpCisgICAgfHwgZXhlY3V0aW5nX2tiZF9t YWNyb19pbmRleCA+PSBYRklYTkFUIChGbGVuZ3RoIChWZXhlY3V0aW5nX2tiZF9tYWNybykpOwor fQorCiB2b2lkCiBzeW1zX29mX21hY3JvcyAodm9pZCkKIHsKZGlmZiAtLWdpdCBhL3NyYy9tYWNy b3MuaCBiL3NyYy9tYWNyb3MuaAppbmRleCA1MTU5OWEyOWJjZC4uNzg3MGFhNGRlMWQgMTAwNjQ0 Ci0tLSBhL3NyYy9tYWNyb3MuaAorKysgYi9zcmMvbWFjcm9zLmgKQEAgLTQ3LDQgKzQ3LDkgQEAg I2RlZmluZSBFTUFDU19NQUNST1NfSAogCiBleHRlcm4gdm9pZCBzdG9yZV9rYmRfbWFjcm9fY2hh ciAoTGlzcF9PYmplY3QpOwogCisvKiBXaGV0aGVyIHRoZSBleGVjdXRpb24gb2YgYSBtYWNybyBo YXMgcmVhY2hlZCBpdHMgZW5kLgorICAgSXQgbWFrZXMgb25seSBzZW5zZSB0byBjYWxsIHRoaXMg d2hlbiB3aGlsZSBleGVjdXRpbmcgYSBtYWNyby4gICovCisKK2V4dGVybiBib29sIGF0X2VuZF9v Zl9tYWNyb19wICh2b2lkKTsKKwogI2VuZGlmIC8qIEVNQUNTX01BQ1JPU19IICovCi0tIAoyLjQz LjAKCg== --=-PUaU02Ozv+LlZk/Klo3Z Content-Disposition: attachment; filename="0002-src-keyboard.c-requeued_events_pending_p-Revive.patch" Content-Type: text/x-patch; name="0002-src-keyboard.c-requeued_events_pending_p-Revive.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSAyM2JjZWE0M2Q5YzU2ZTgyOWJmMjQ4Nzc2NTNkNTlhMDUxZTZjZDE5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUaW0gUnVmZmluZyA8Y3J5cHRvQHRpbXJ1ZmZpbmcuZGU+CkRh dGU6IFdlZCwgMjcgRGVjIDIwMjMgMTQ6Mjk6MzQgKzAxMDAKU3ViamVjdDogW1BBVENIIDIvNF0g KiBzcmMva2V5Ym9hcmQuYyAocmVxdWV1ZWRfZXZlbnRzX3BlbmRpbmdfcCk6IFJldml2ZQoKKiBz cmMva2V5Ym9hcmQuYyAocmVxdWV1ZWRfZXZlbnRzX3BlbmRpbmdfcCk6CkZpeCAncmVxdWV1ZWRf ZXZlbnRzX3BlbmRpbmdfcCcgZnVuY3Rpb24gYnkgYWRkaW5nIG1pc3NpbmcKJ1Z1bnJlYWRfKl9l dmVudCcgdmFyaWFibGVzLiBXaGVuICdyZXF1ZXVlZF9ldmVudHNfcGVuZGluZ19wJwp3YXMgYWRk ZWQgKGNvbW1pdCBiMTg3OGY0NTA4NjgzNjVmMjdhZjBjNzE5MDAyMzcwNTZhNDRmOTAwKSwKJ1Z1 bnJlYWRfY29tbWFuZF9ldmVudHMnIHdhcyB0aGUgb25seSB2YXJpYWJsZSBvZiB0aGlzIGtpbmQu CiogKEZpbnB1dF9wZW5kaW5nX3ApOiBBY3R1YWxseSB1c2UgdGhlIGNoYW5nZWQgZnVuY3Rpb24u Ci0tLQogc3JjL2tleWJvYXJkLmMgfCAxMCArKysrKy0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNSBp bnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9rZXlib2FyZC5j IGIvc3JjL2tleWJvYXJkLmMKaW5kZXggZDQ3MzYzYmMzOWYuLjA0MWI2MTZkOWFhIDEwMDY0NAot LS0gYS9zcmMva2V5Ym9hcmQuYworKysgYi9zcmMva2V5Ym9hcmQuYwpAQCAtMTE1NTYsNyArMTE1 NTYsNyBAQCBjbGVhcl9pbnB1dF9wZW5kaW5nICh2b2lkKQogfQogCiAvKiBSZXR1cm4gdHJ1ZSBp ZiB0aGVyZSBhcmUgcGVuZGluZyByZXF1ZXVlZCBldmVudHMuCi0gICBUaGlzIGlzbid0IHVzZWQg eWV0LiAgVGhlIGhvcGUgaXMgdG8gbWFrZSB3YWl0X3JlYWRpbmdfcHJvY2Vzc19vdXRwdXQKKyAg IEluIHRoZSBmdXR1cmUsIHRoZSBob3BlIGlzIHRvIG1ha2Ugd2FpdF9yZWFkaW5nX3Byb2Nlc3Nf b3V0cHV0CiAgICBjYWxsIGl0LCBhbmQgcmV0dXJuIGlmIGl0IHJ1bnMgTGlzcCBjb2RlIHRoYXQg dW5yZWFkcyBzb21ldGhpbmcuCiAgICBUaGUgcHJvYmxlbSBpcywga2JkX2J1ZmZlcl9nZXRfZXZl bnQgbmVlZHMgdG8gYmUgZml4ZWQgdG8ga25vdyB3aGF0CiAgICB0byBkbyBpbiB0aGF0IGNhc2Uu ICBJdCBpc24ndCB0cml2aWFsLiAgKi8KQEAgLTExNTY0LDcgKzExNTY0LDkgQEAgY2xlYXJfaW5w dXRfcGVuZGluZyAodm9pZCkKIGJvb2wKIHJlcXVldWVkX2V2ZW50c19wZW5kaW5nX3AgKHZvaWQp CiB7Ci0gIHJldHVybiAoQ09OU1AgKFZ1bnJlYWRfY29tbWFuZF9ldmVudHMpKTsKKyAgcmV0dXJu IChDT05TUCAoVnVucmVhZF9jb21tYW5kX2V2ZW50cykKKwkgIHx8IENPTlNQIChWdW5yZWFkX3Bv c3RfaW5wdXRfbWV0aG9kX2V2ZW50cykKKwkgIHx8IENPTlNQIChWdW5yZWFkX2lucHV0X21ldGhv ZF9ldmVudHMpKTsKIH0KIAogREVGVU4gKCJpbnB1dC1wZW5kaW5nLXAiLCBGaW5wdXRfcGVuZGlu Z19wLCBTaW5wdXRfcGVuZGluZ19wLCAwLCAxLCAwLApAQCAtMTE1NzUsOSArMTE1NzcsNyBAQCBE RUZVTiAoImlucHV0LXBlbmRpbmctcCIsIEZpbnB1dF9wZW5kaW5nX3AsIFNpbnB1dF9wZW5kaW5n X3AsIDAsIDEsIDAsCiBJZiBDSEVDSy1USU1FUlMgaXMgbm9uLW5pbCwgdGltZXJzIHRoYXQgYXJl IHJlYWR5IHRvIHJ1biB3aWxsIGRvIHNvLiAgKi8pCiAgIChMaXNwX09iamVjdCBjaGVja190aW1l cnMpCiB7Ci0gIGlmIChDT05TUCAoVnVucmVhZF9jb21tYW5kX2V2ZW50cykKLSAgICAgIHx8ICFO SUxQIChWdW5yZWFkX3Bvc3RfaW5wdXRfbWV0aG9kX2V2ZW50cykKLSAgICAgIHx8ICFOSUxQIChW dW5yZWFkX2lucHV0X21ldGhvZF9ldmVudHMpKQorICBpZiAocmVxdWV1ZWRfZXZlbnRzX3BlbmRp bmdfcCAoKSkKICAgICByZXR1cm4gKFF0KTsKIAogICAvKiBQcm9jZXNzIG5vbi11c2VyLXZpc2li bGUgZXZlbnRzIChCdWcjMTAxOTUpLiAgKi8KLS0gCjIuNDMuMAoK --=-PUaU02Ozv+LlZk/Klo3Z Content-Disposition: attachment; filename="0003-Fix-1-leaking-from-C-to-lisp-in-read-event-etc.patch" Content-Type: text/x-patch; name="0003-Fix-1-leaking-from-C-to-lisp-in-read-event-etc.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSAyN2RiMDYyNWU1MzQ4ZDUwYmM1OTY3NGMwYThjOGQ0NWVkNGRiODc0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUaW0gUnVmZmluZyA8Y3J5cHRvQHRpbXJ1ZmZpbmcuZGU+CkRh dGU6IFdlZCwgMjcgRGVjIDIwMjMgMTQ6MzI6MDkgKzAxMDAKU3ViamVjdDogW1BBVENIIDMvNF0g Rml4IC0xIGxlYWtpbmcgZnJvbSBDIHRvIGxpc3AgaW4gJ3JlYWQtZXZlbnQnIGV0Yy4KClRoaXMg Zml4ZXMgYSBidWcgdGhhdCBjb3VsZCBtYWtlICdyZWFkLWV2ZW50JywgJ3JlYWQtY2hhcicsIGFu ZAoncmVhZC1jaGFyLWV4Y2x1c2l2ZScgZXJyb25lb3VzbHkgcmV0dXJuIC0xLCBhbiBpbnRlcm5h bCBtYWdpYyByZXR1cm4KdmFsdWUgb2YgJ3JlYWRfY2hhcicgbGVha2VkIGZyb20gQyB0byBsaXNw LgoqIHNyYy9rZXlib2FyZC5jIChyZWFkX2NoYXIsIHJlYWRfa2V5X3NlcXVlbmNlKTogTW92ZSBo YW5kbGluZwpvZiB0aGUgZW5kIG9mIGEga2V5Ym9hcmQgbWFjcm8gZnJvbSAncmVhZF9jaGFyJyB0 byBpdHMgY2FsbGVyCidyZWFkX2tleV9zZXF1ZW5jZScsIHdoaWNoIGlzIHRoZSBvbmx5IGNhbGxl ciB0aGF0IGNhbgptZWFuaW5nZnVsbHkgZGVhbCB3aXRoIHRoaXMgY2FzZS4KLS0tCiBzcmMva2V5 Ym9hcmQuYyB8IDM5ICsrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBm aWxlIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDI0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL3NyYy9rZXlib2FyZC5jIGIvc3JjL2tleWJvYXJkLmMKaW5kZXggMDQxYjYxNmQ5YWEuLjli NWUwMjAyMzhjIDEwMDY0NAotLS0gYS9zcmMva2V5Ym9hcmQuYworKysgYi9zcmMva2V5Ym9hcmQu YwpAQCAtMjYxMCw3ICsyNjEwLDggQEAgcmVhZF9jaGFyIChpbnQgY29tbWFuZGZsYWcsIExpc3Bf T2JqZWN0IG1hcCwKICAgICAgIGdvdG8gcmVyZWFkX2Zvcl9pbnB1dF9tZXRob2Q7CiAgICAgfQog Ci0gIGlmICghTklMUCAoVmV4ZWN1dGluZ19rYmRfbWFjcm8pKQorICAvKiBJZiB3ZSdyZSBleGVj dXRpbmcgYSBtYWNybywgcHJvY2VzcyBpdCB1bmxlc3Mgd2UgYXJlIGF0IGl0cyBlbmQuICovCisg IGlmICghTklMUCAoVmV4ZWN1dGluZ19rYmRfbWFjcm8pICYmICFhdF9lbmRfb2ZfbWFjcm9fcCAo KSkKICAgICB7CiAgICAgICAvKiBXZSBzZXQgdGhpcyB0byBRbWFjcm87IHNpbmNlIHRoYXQncyBu b3QgYSBmcmFtZSwgbm9ib2R5IHdpbGwKIAkgdHJ5IHRvIHN3aXRjaCBmcmFtZXMgb24gdXMsIGFu ZCB0aGUgc2VsZWN0ZWQgd2luZG93IHdpbGwKQEAgLTI2MjQsMTUgKzI2MjUsNiBAQCByZWFkX2No YXIgKGludCBjb21tYW5kZmxhZywgTGlzcF9PYmplY3QgbWFwLAogCSBzZWxlY3RlZC4gICovCiAg ICAgICBWbGFzdF9ldmVudF9mcmFtZSA9IGludGVybmFsX2xhc3RfZXZlbnRfZnJhbWUgPSBRbWFj cm87CiAKLSAgICAgIC8qIEV4aXQgdGhlIG1hY3JvIGlmIHdlIGFyZSBhdCB0aGUgZW5kLgotCSBB bHNvLCBzb21lIHRoaW5ncyByZXBsYWNlIHRoZSBtYWNybyB3aXRoIHQKLQkgdG8gZm9yY2UgYW4g ZWFybHkgZXhpdC4gICovCi0gICAgICBpZiAoYXRfZW5kX29mX21hY3JvX3AgKCkpCi0JewotCSAg WFNFVElOVCAoYywgLTEpOwotCSAgZ290byBleGl0OwotCX0KLQogICAgICAgYyA9IEZhcmVmIChW ZXhlY3V0aW5nX2tiZF9tYWNybywgbWFrZV9pbnQgKGV4ZWN1dGluZ19rYmRfbWFjcm9faW5kZXgp KTsKICAgICAgIGlmIChTVFJJTkdQIChWZXhlY3V0aW5nX2tiZF9tYWNybykKIAkgICYmIChYRklY TkFUIChjKSAmIDB4ODApICYmIChYRklYTkFUIChjKSA8PSAweGZmKSkKQEAgLTEwNjg0LDggKzEw Njc2LDE5IEBAIHJlYWRfa2V5X3NlcXVlbmNlIChMaXNwX09iamVjdCAqa2V5YnVmLCBMaXNwX09i amVjdCBwcm9tcHQsCiAJICAgIH0KIAkgIHVzZWRfbW91c2VfbWVudSA9IHVzZWRfbW91c2VfbWVu dV9oaXN0b3J5W3RdOwogCX0KLQotICAgICAgLyogSWYgbm90LCB3ZSBzaG91bGQgYWN0dWFsbHkg cmVhZCBhIGNoYXJhY3Rlci4gICovCisgICAgICAvKiBJZiB3ZSdyZSBhdCB0aGUgZW5kIG9mIGEg bWFjcm8sIGV4aXQgaXQgYnkgcmV0dXJuaW5nIDAsCisJIHVubGVzcyB0aGVyZSBhcmUgdW5yZWFk IGV2ZW50cyBwZW5kaW5nLiAgKi8KKyAgICAgIGVsc2UgaWYgKCFOSUxQIChWZXhlY3V0aW5nX2ti ZF9tYWNybykKKwkgICYmIGF0X2VuZF9vZl9tYWNyb19wICgpCisJICAmJiAhcmVxdWV1ZWRfZXZl bnRzX3BlbmRpbmdfcCAoKSkKKwl7CisJICB0ID0gMDsKKwkgIC8qIFRoZSBNaWNyb3NvZnQgQyBj b21waWxlciBjYW4ndCBoYW5kbGUgdGhlIGdvdG8gdGhhdAorCSAgICAgd291bGQgZ28gaGVyZS4g ICovCisJICBkdW1teWZsYWcgPSB0cnVlOworCSAgYnJlYWs7CisJfQorICAgICAgLyogT3RoZXJ3 aXNlLCB3ZSBzaG91bGQgYWN0dWFsbHkgcmVhZCBhIGNoYXJhY3Rlci4gICovCiAgICAgICBlbHNl CiAJewogCSAgewpAQCAtMTA3NzcsMTggKzEwNzgwLDYgQEAgcmVhZF9rZXlfc2VxdWVuY2UgKExp c3BfT2JqZWN0ICprZXlidWYsIExpc3BfT2JqZWN0IHByb21wdCwKIAkgICAgICByZXR1cm4gLTE7 CiAJICAgIH0KIAotCSAgLyogcmVhZF9jaGFyIHJldHVybnMgLTEgYXQgdGhlIGVuZCBvZiBhIG1h Y3JvLgotCSAgICAgRW1hY3MgMTggaGFuZGxlcyB0aGlzIGJ5IHJldHVybmluZyBpbW1lZGlhdGVs eSB3aXRoIGEKLQkgICAgIHplcm8sIHNvIHRoYXQncyB3aGF0IHdlJ2xsIGRvLiAgKi8KLQkgIGlm IChGSVhOVU1QIChrZXkpICYmIFhGSVhOVU0gKGtleSkgPT0gLTEpCi0JICAgIHsKLQkgICAgICB0 ID0gMDsKLQkgICAgICAvKiBUaGUgTWljcm9zb2Z0IEMgY29tcGlsZXIgY2FuJ3QgaGFuZGxlIHRo ZSBnb3RvIHRoYXQKLQkJIHdvdWxkIGdvIGhlcmUuICAqLwotCSAgICAgIGR1bW15ZmxhZyA9IHRy dWU7Ci0JICAgICAgYnJlYWs7Ci0JICAgIH0KLQogCSAgLyogSWYgdGhlIGN1cnJlbnQgYnVmZmVy IGhhcyBiZWVuIGNoYW5nZWQgZnJvbSB1bmRlciB1cywgdGhlCiAJICAgICBrZXltYXAgbWF5IGhh dmUgY2hhbmdlZCwgc28gcmVwbGF5IHRoZSBzZXF1ZW5jZS4gICovCiAJICBpZiAoQlVGRkVSUCAo a2V5KSkKLS0gCjIuNDMuMAoK --=-PUaU02Ozv+LlZk/Klo3Z Content-Disposition: attachment; filename="0004-Remove-workarounds-for-solved-read-event-bug.patch" Content-Type: text/x-patch; name="0004-Remove-workarounds-for-solved-read-event-bug.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSBlNzNlMDg5Mjc3OTIzMDMwMTNhOGE5OTM1NjU2MzY1ZjlmMjI5OWI2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUaW0gUnVmZmluZyA8Y3J5cHRvQHRpbXJ1ZmZpbmcuZGU+CkRh dGU6IFdlZCwgMjcgRGVjIDIwMjMgMTQ6MzI6MDkgKzAxMDAKU3ViamVjdDogW1BBVENIIDQvNF0g UmVtb3ZlIHdvcmthcm91bmRzIGZvciBzb2x2ZWQgJ3JlYWQtZXZlbnQnIGJ1ZwoKKiBsaXNwL3N1 YnIuZWwgKHJlYWQtY2hhci1jaG9pY2Utd2l0aC1yZWFkLWtleSk6CiogbGlzcC9uZXQvZGJ1cy5l bCAoZGJ1cy1jYWxsLW1ldGhvZCk6CiogbGlzcC9jYWxjL2NhbGMtcHJvZy5lbDoKUmVtb3ZlIHdv cmthcm91bmRzIGZvciB0aGUgYnVnIGZpeGVkIGluIHRoZSBwcmV2aW91cyBjb21taXQKYWM4MmJh ZWExYzQxZWM5NzRhZDQ5ZjI4NjFhZTZjMDZiZGEyYjRlZCwgd2hlcmUgJ3JlYWQtZXZlbnQnLAon cmVhZC1jaGFyJyBhbmQgJ3JlYWQtY2hhci1leGNsdXNpdmVseScgY291bGQgcmV0dXJuIHdyb25n bHkgLTEuCkluIHRoZSBjYXNlIG9mIGxpc3AvZGJ1cy5lbCwgdGhpcyByZXZlcnRzIGNvbW1pdAo3 MTc3MzkzODI2YzczYzg3ZmZlOWI0MjhmMGU1ZWRhZTI0NGQ3YTk4LgotLS0KIGxpc3AvY2FsYy9j YWxjLXByb2cuZWwgfCA2IC0tLS0tLQogbGlzcC9uZXQvZGJ1cy5lbCAgICAgICB8IDYgKy0tLS0t CiBsaXNwL3N1YnIuZWwgICAgICAgICAgIHwgNSAtLS0tLQogMyBmaWxlcyBjaGFuZ2VkLCAxIGlu c2VydGlvbigrKSwgMTYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGlzcC9jYWxjL2NhbGMt cHJvZy5lbCBiL2xpc3AvY2FsYy9jYWxjLXByb2cuZWwKaW5kZXggMDMyMTA5OTVlYjMuLjE3N2Mx Nzk0MzNkIDEwMDY0NAotLS0gYS9saXNwL2NhbGMvY2FsYy1wcm9nLmVsCisrKyBiL2xpc3AvY2Fs Yy9jYWxjLXByb2cuZWwKQEAgLTEyMzAsOCArMTIzMCw2IEBAIGNhbGMta2JkLXNraXAtdG8tZWxz ZS1pZgogCWNoKQogICAgICh3aGlsZSAoPj0gY291bnQgMCkKICAgICAgIChzZXRxIGNoIChyZWFk LWNoYXIpKQotICAgICAgKGlmICg9IGNoIC0xKQotCSAgKGVycm9yICJVbnRlcm1pbmF0ZWQgWlsg aW4ga2V5Ym9hcmQgbWFjcm8iKSkKICAgICAgIChpZiAoPSBjaCA/WikKIAkgIChwcm9nbgogCSAg ICAoc2V0cSBjaCAocmVhZC1jaGFyKSkKQEAgLTEzMDAsOCArMTI5OCw2IEBAIGNhbGMta2JkLWxv b3AKIAkobWVzc2FnZSAiUmVhZGluZyBsb29wIGJvZHkuLi4iKSkKICAgICAod2hpbGUgKD49IGNv dW50IDApCiAgICAgICAoc2V0cSBjaCAocmVhZC1ldmVudCkpCi0gICAgICAoaWYgKGVxIGNoIC0x KQotCSAgKGVycm9yICJVbnRlcm1pbmF0ZWQgWiVjIGluIGtleWJvYXJkIG1hY3JvIiBvcGVuKSkK ICAgICAgIChpZiAoZXEgY2ggP1opCiAJICAocHJvZ24KIAkgICAgKHNldHEgY2ggKHJlYWQtZXZl bnQpCkBAIC0xNDI4LDggKzE0MjQsNiBAQCBjYWxjLWtiZC1wdXNoCiAJICAgICAgIChtZXNzYWdl ICJSZWFkaW5nIGJvZHkuLi4iKSkKIAkgICAod2hpbGUgKD49IGNvdW50IDApCiAJICAgICAoc2V0 cSBjaCAocmVhZC1jaGFyKSkKLQkgICAgIChpZiAoPSBjaCAtMSkKLQkJIChlcnJvciAiVW50ZXJt aW5hdGVkIFpgIGluIGtleWJvYXJkIG1hY3JvIikpCiAJICAgICAoaWYgKD0gY2ggP1opCiAJCSAo cHJvZ24KIAkJICAgKHNldHEgY2ggKHJlYWQtY2hhcikKZGlmZiAtLWdpdCBhL2xpc3AvbmV0L2Ri dXMuZWwgYi9saXNwL25ldC9kYnVzLmVsCmluZGV4IDc3YjMzNGU3MDRlLi40NmY4NWRhYmEyNCAx MDA2NDQKLS0tIGEvbGlzcC9uZXQvZGJ1cy5lbAorKysgYi9saXNwL25ldC9kYnVzLmVsCkBAIC0z NzEsMTEgKzM3MSw3IEBAIGRidXMtY2FsbC1tZXRob2QKIAkgKGFwcGx5CiAgICAgICAgICAgIydk YnVzLW1lc3NhZ2UtaW50ZXJuYWwgZGJ1cy1tZXNzYWdlLXR5cGUtbWV0aG9kLWNhbGwKICAgICAg ICAgICBidXMgc2VydmljZSBwYXRoIGludGVyZmFjZSBtZXRob2QgIydkYnVzLWNhbGwtbWV0aG9k LWhhbmRsZXIgYXJncykpCi0gICAgICAgIChyZXN1bHQgKHVubGVzcyBleGVjdXRpbmcta2JkLW1h Y3JvIChjb25zIDpwZW5kaW5nIG5pbCkpKSkKLQotICAgIDs7IFdoaWxlIGV4ZWN1dGluZyBhIGtl eWJvYXJkIG1hY3JvLCB3ZSBydW4gaW50byBhbiBpbmZpbml0ZSBsb29wLAotICAgIDs7IHJlY2Vp dmluZyB0aGUgZXZlbnQgLTEuICBTbyB3ZSBkb24ndCB0cnkgdG8gZ2V0IHRoZSByZXN1bHQuCi0g ICAgOzsgKEJ1ZyM2MjAxOCkKKyAgICAgICAgKHJlc3VsdCAoY29ucyA6cGVuZGluZyBuaWwpKSkK IAogICAgIDs7IFdhaXQgdW50aWwgYGRidXMtY2FsbC1tZXRob2QtaGFuZGxlcicgaGFzIHB1dCB0 aGUgcmVzdWx0IGludG8KICAgICA7OyBgZGJ1cy1yZXR1cm4tdmFsdWVzLXRhYmxlJy4gIElmIG5v IHRpbWVvdXQgaXMgZ2l2ZW4sIHVzZSB0aGUKZGlmZiAtLWdpdCBhL2xpc3Avc3Vici5lbCBiL2xp c3Avc3Vici5lbAppbmRleCBkZjI4OTg5YjM5OS4uNzhlN2ZmYmM5NzkgMTAwNjQ0Ci0tLSBhL2xp c3Avc3Vici5lbAorKysgYi9saXNwL3N1YnIuZWwKQEAgLTM1MzksMTEgKzM1MzksNiBAQCByZWFk LWNoYXItY2hvaWNlLXdpdGgtcmVhZC1rZXkKIAkJIChoZWxwLWZvcm0tc2hvdykpKQogCSAgICgo bWVtcSBjaGFyIGNoYXJzKQogCSAgICAoc2V0cSBkb25lIHQpKQotCSAgICgoYW5kIGV4ZWN1dGlu Zy1rYmQtbWFjcm8gKD0gY2hhciAtMSkpCi0JICAgIDs7IHJlYWQtZXZlbnQgcmV0dXJucyAtMSBp ZiB3ZSBhcmUgaW4gYSBrYmQgbWFjcm8gYW5kCi0JICAgIDs7IHRoZXJlIGFyZSBubyBtb3JlIGV2 ZW50cyBpbiB0aGUgbWFjcm8uICBBdHRlbXB0IHRvCi0JICAgIDs7IGdldCBhbiBldmVudCBpbnRl cmFjdGl2ZWx5LgotCSAgICAoc2V0cSBleGVjdXRpbmcta2JkLW1hY3JvIG5pbCkpCiAJICAgKChu b3QgaW5oaWJpdC1rZXlib2FyZC1xdWl0KQogCSAgICAoY29uZAogCSAgICAgKChhbmQgKG51bGwg ZXNjLWZsYWcpIChlcSBjaGFyID9cZSkpCi0tIAoyLjQzLjAKCg== --=-PUaU02Ozv+LlZk/Klo3Z-- From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 06 02:43:08 2024 Received: (at 68272) by debbugs.gnu.org; 6 Jan 2024 07:43:08 +0000 Received: from localhost ([127.0.0.1]:58489 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rM1Kl-0006Qd-Mj for submit@debbugs.gnu.org; Sat, 06 Jan 2024 02:43:08 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:42184) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rM1Kf-0006Q5-WA for 68272@debbugs.gnu.org; Sat, 06 Jan 2024 02:43:06 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rM1KV-00014C-1l; Sat, 06 Jan 2024 02:42:51 -0500 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=Bmd7W9he294eibqJoBh5BmxpYXKRUGUSMF66jhhaEa4=; b=JniZypxfQqlXlxTTomW2 8M6DycCrW0bbrDzT3h56yUk2lQ4+oiusoX5OrmIGYgJxa3ITs49ekOtYXaFGP1nf9O32AoKFXOlQJ 62Gr7kQ6652nJJdog0EZ0WLoC9sou/yeCBQ/9/uJ1FgQa+s+27D3t6pNE8t1meYE8rG0Gd2nQkQt7 q6988bSjbtpyWRAJNdV0PLr01l2xU1uF4G2vdiVhLidpJlWSEYJnm54cBO/DZYdwqKzMCcrq6QLMN 2sSR+ZM7kOAG2s54FFm9c8PvOQgLtf9I2orL9ci9Ez50M9bS/HM20gRX0CxtrpJRj0lTqyeYcIvmU O6pGzW6Q2ZkDIg==; Date: Sat, 06 Jan 2024 09:42:39 +0200 Message-Id: <83wmsmucuo.fsf@gnu.org> From: Eli Zaretskii To: Tim Ruffing In-Reply-To: <46480759b6d89b5a4864e8ee1b986817366a56e5.camel@timruffing.de> (message from Tim Ruffing on Fri, 05 Jan 2024 22:19:10 +0100) Subject: Re: bug#68272: [PATCH] Fix -1 leaking from C to lisp in 'read-event' etc. References: <46480759b6d89b5a4864e8ee1b986817366a56e5.camel@timruffing.de> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 68272 Cc: 68272@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: Tim Ruffing > Date: Fri, 05 Jan 2024 22:19:10 +0100 > > 'read_char' in src/keyboard.c returns -1 to indicate the end of a > keyboard macro. This case is supposed to be propagated via > 'read_key_sequence' and 'command_loop_2' to 'Fexecute_kbd_macro'. > > But 'read_key_sequence' is not the only caller of 'read_char'. It is > also called by 'read-event' and similar lisp functions, and in that > case, the magic C return value -1 is wrongly propagated to the lisp > caller.  > > There are at least workarounds for this bug in at least three lisp > modules in the code base, in subr.el, in calc and most recently added > in dbus.el (bug #62018), see the attached patches. These patches are > supposed to resolve the underlying issue, and then remove the > workarounds. "There be dragons." AFAIU, this is basically a cleanup: a non-elegant solution already exists, but we'd want to do it more elegantly. In such cases, and in a maze such as keyboard.c's processing of input and related code, the danger is to introduce regressions because some code somewhere expects something to happen, and the changes disrupt that. With that in mind, couldn't we solve this in a more localized manner, such that we are sure the changes could not affect unrelated code paths and use cases? For example, your patches modify requeued_events_pending_p, but that function is called in several places, including outside of keyboard.c -- how can we be sure we are not introducing regressions this way? And read_char is called in several places, including by lread.c and read_char itself -- did you figure out how will this change affect those? Given your description above, that read_char is called by read-event and other Lisp functions, I would expect a fix to be localized to read_char and those functions calling read_char (to limit special handling of -1 to those functions), but that is not what I see in the patch. Moreover, the changes in read_char modify code more than is necessary to handle the "at end of macro" situation, so we are risking changes that will break something else. Here's an example: > --- a/src/keyboard.c > +++ b/src/keyboard.c > @@ -2610,7 +2610,8 @@ read_char (int commandflag, Lisp_Object map, > goto reread_for_input_method; > } > > - if (!NILP (Vexecuting_kbd_macro)) > + /* If we're executing a macro, process it unless we are at its end. */ > + if (!NILP (Vexecuting_kbd_macro) && !at_end_of_macro_p ()) > { > /* We set this to Qmacro; since that's not a frame, nobody will > try to switch frames on us, and the selected window will > @@ -2624,15 +2625,6 @@ read_char (int commandflag, Lisp_Object map, > selected. */ > Vlast_event_frame = internal_last_event_frame = Qmacro; > > - /* Exit the macro if we are at the end. > - Also, some things replace the macro with t > - to force an early exit. */ > - if (at_end_of_macro_p ()) > - { > - XSETINT (c, -1); > - goto exit; > - } > - This hunk moves the at_end_of_macro_p test to a higher level, which has a side effect of not executing the code before the original at_end_of_macro_p test -- how do we know this won't break something that happens to depend on that code which will now not execute in the at-end-of-macro case? Also note that at least in subr.el we don't only test the -1 value, we also test that a keyboard macro is being executed, and in this and other callers that handle -1, each application behaves in application-specific way when it receives -1. It is not clear to me how your changes modify the behavior in those cases, and your explanations and the log message doesn't seem to answer this question. For example, this code in calc-prog: > --- a/lisp/calc/calc-prog.el > +++ b/lisp/calc/calc-prog.el > @@ -1230,8 +1230,6 @@ calc-kbd-skip-to-else-if > ch) > (while (>= count 0) > (setq ch (read-char)) > - (if (= ch -1) > - (error "Unterminated Z[ in keyboard macro")) > (if (= ch ?Z) > (progn > (setq ch (read-char)) now signals a specific error in the case of an unterminated keyboard macro: what will the behavior in that case be after the changes? The questions I ask above are not theoretical -- we have been bitten before, more than once or twice, by making seemingly innocuous changes like this in keyboard.c, only to discover later, sometimes much later, that some important use case became broken due to the change. My take from those incidents was that read_char and related code in keyboard.c is a complex maze of code that should be touched only if we have a very good reason, and then in a way that makes changes as localized as possible to the very fragments we want to change. In this case, given that we want a more elegant solution for a situation that we already handle, I tend to avoid any such changes to begin with, for the reasons I explained above, and instead perhaps document the special meaning of -1 in these cases. And if we want to consider such changes these dangers notwithstanding, I would like to see them affecting as little other code as possible. Can you suggest a safer changeset? Adding Stefan to the discussion, in case he has comments. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 06 04:15:37 2024 Received: (at 68272) by debbugs.gnu.org; 6 Jan 2024 09:15:37 +0000 Received: from localhost ([127.0.0.1]:58578 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rM2mH-0000W7-Cy for submit@debbugs.gnu.org; Sat, 06 Jan 2024 04:15:37 -0500 Received: from mail-out.m-online.net ([212.18.0.9]:56011) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rM2mE-0000NH-FQ for 68272@debbugs.gnu.org; Sat, 06 Jan 2024 04:15:36 -0500 Received: from frontend01.mail.m-online.net (unknown [192.168.8.182]) by mail-out.m-online.net (Postfix) with ESMTP id 4T6ZRg2hLdz1qsP5; Sat, 6 Jan 2024 10:15:27 +0100 (CET) Received: from localhost (dynscan1.mnet-online.de [192.168.6.68]) by mail.m-online.net (Postfix) with ESMTP id 4T6ZRg1Rwjz1qqlS; Sat, 6 Jan 2024 10:15:27 +0100 (CET) X-Virus-Scanned: amavis at mnet-online.de Received: from mail.mnet-online.de ([192.168.8.182]) by localhost (dynscan1.mail.m-online.net [192.168.6.68]) (amavis, port 10024) with ESMTP id Hct6Wpj4GXAW; Sat, 6 Jan 2024 10:15:26 +0100 (CET) X-Auth-Info: wSDLGfb5kpzh1/cUjNIFVO9a4e9qwh91p/68mDN98Rl1JfO0cM01VHT7dpMDGo6w Received: from tiger.home (aftr-62-216-202-146.dynamic.mnet-online.de [62.216.202.146]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mail.mnet-online.de (Postfix) with ESMTPSA; Sat, 6 Jan 2024 10:15:26 +0100 (CET) Received: by tiger.home (Postfix, from userid 1000) id 28F192455C3; Sat, 6 Jan 2024 10:15:26 +0100 (CET) From: Andreas Schwab To: Tim Ruffing Subject: Re: bug#68272: [PATCH] Fix -1 leaking from C to lisp in 'read-event' etc. In-Reply-To: <46480759b6d89b5a4864e8ee1b986817366a56e5.camel@timruffing.de> (Tim Ruffing's message of "Fri, 05 Jan 2024 22:19:10 +0100") References: <46480759b6d89b5a4864e8ee1b986817366a56e5.camel@timruffing.de> X-Yow: What I want to find out is -- do parrots know much about Astro-Turf? Date: Sat, 06 Jan 2024 10:15:26 +0100 Message-ID: <87cyueg6vl.fsf@linux-m68k.org> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.5 (/) X-Debbugs-Envelope-To: 68272 Cc: 68272@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.5 (-) On Jan 05 2024, Tim Ruffing wrote: > From e73e08927792303013a8a9935656365f9f2299b6 Mon Sep 17 00:00:00 2001 > From: Tim Ruffing > Date: Wed, 27 Dec 2023 14:32:09 +0100 > Subject: [PATCH 4/4] Remove workarounds for solved 'read-event' bug > > * lisp/subr.el (read-char-choice-with-read-key): > * lisp/net/dbus.el (dbus-call-method): > * lisp/calc/calc-prog.el: > Remove workarounds for the bug fixed in the previous commit > ac82baea1c41ec974ad49f2861ae6c06bda2b4ed, where 'read-event', > 'read-char' and 'read-char-exclusively' could return wrongly -1. > In the case of lisp/dbus.el, this reverts commit > 7177393826c73c87ffe9b428f0e5edae244d7a98. > --- > lisp/calc/calc-prog.el | 6 ------ > lisp/net/dbus.el | 6 +----- > lisp/subr.el | 5 ----- > 3 files changed, 1 insertion(+), 16 deletions(-) > > diff --git a/lisp/calc/calc-prog.el b/lisp/calc/calc-prog.el > index 03210995eb3..177c179433d 100644 > --- a/lisp/calc/calc-prog.el > +++ b/lisp/calc/calc-prog.el > @@ -1230,8 +1230,6 @@ calc-kbd-skip-to-else-if > ch) > (while (>= count 0) > (setq ch (read-char)) > - (if (= ch -1) > - (error "Unterminated Z[ in keyboard macro")) Seems like calc actually wants to know when the kbd macro ends prematurely, and removing the option to detect it is a regression. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different." From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 06 09:32:43 2024 Received: (at 68272) by debbugs.gnu.org; 6 Jan 2024 14:32:43 +0000 Received: from localhost ([127.0.0.1]:58858 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rM7j8-00061m-NH for submit@debbugs.gnu.org; Sat, 06 Jan 2024 09:32:43 -0500 Received: from mout-p-202.mailbox.org ([80.241.56.172]:48166) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rM7j5-00061W-1C for 68272@debbugs.gnu.org; Sat, 06 Jan 2024 09:32:40 -0500 Received: from smtp202.mailbox.org (smtp202.mailbox.org [IPv6:2001:67c:2050:b231:465::202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-202.mailbox.org (Postfix) with ESMTPS id 4T6jTP0L18z9sdD; Sat, 6 Jan 2024 15:32:25 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=timruffing.de; s=MBO0001; t=1704551545; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=UgXpShXS8J8XI8wLkFCK8JaHCC8OYqP588v18ybpVJ0=; b=KH9Rp9ooI6DNO6Gqj41BeS2WpzrToPTciCSXvYgDODriXLtIc97EtBaoZSdOGmhOe7RRUm SVzwA1UyG2/CsBZh71be8xNykog5wvmcgHicRJKre3HUyon+pnzaUiNlWxC3bU2hPhvjqS yMny6kHNq+9TTUK8mN8e4JR8EJQlQ0pk1ePkhuHSGBuGuM2HZxId+alqQNo4nLgENTkGj4 M8/HGZuTMVmIfcXXg+to1di2IEJdqW5E7o79WPgMs5a0E+K0GrewhZ7b2PED+Ewg1hO5Jr DFjc9DBBLEYzVoOZ171Mk/in4DWrAtJdpT8VTqZlA9ax43EBK0GSUqW1hZDVpQ== Message-ID: <1b3fa12138838a3fe5643a9e76a65d32a677e34d.camel@timruffing.de> Subject: Re: bug#68272: [PATCH] Fix -1 leaking from C to lisp in 'read-event' etc. From: Tim Ruffing To: Eli Zaretskii Date: Sat, 06 Jan 2024 15:32:23 +0100 In-Reply-To: <83wmsmucuo.fsf@gnu.org> References: <46480759b6d89b5a4864e8ee1b986817366a56e5.camel@timruffing.de> <83wmsmucuo.fsf@gnu.org> Autocrypt: addr=crypto@timruffing.de; prefer-encrypt=mutual; keydata=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 7xWBA== Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Rspamd-Queue-Id: 4T6jTP0L18z9sdD X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 68272 Cc: 68272@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 (-) Hey, thank you very much for the long email. I was somewhat prepared for hesitant reply, and I totally understand that "there be dragons". And I'm also aware that it doesn't spark confidence when someone with (almost) zero code contributions submits a patch of this kind. I feel the same when new people send complex patches to the C library I maintain... And sure, it took a me quite a while to navigate this maze of keyboard.c and to come up with this patch and make the tests pass, but I feel rather confident now that this is the right approach. I agree, we can never be fully sure that this introduces regressions, but let me still try to convince you that this approach and these patches are carefully crafted and thought through. Here's my analysis of the situation: First of all, I think the bug is real. read-event (and read-char and read-char-exclusive, which I won't mention from now on for brevity) can return -1, but the docs don't mention -1, and it's arguably a strange "magic" value for a lisp function. If anything, one would expect nil, or some special symbol. Of course, we could simply document the -1 return value.=C2=A0 But the problem is not just that this is not elegant. It's worse because it's also pretty unclear what the caller should do in this case. In particular, the caller can't simply skip the -1 and try again: The caller will see an infinite stream of -1 values, until the keyboard macro has been resolved properly, i.e., as long as executing_kbd_macro is non-nil. One thing the caller can simply do is to error out. But if the caller wants an event, the only thing it can do is to touch executing_kbd_macro and set it nil explicitly (this is what subr.el does currently). We could also document this, but I feel something like "this function can return -1 and if it does, set executing_kbd_macro to nil and try again" is really a bit too unelegant (and it has more downsides, see next paragraph). However, this now hints at a different approach: Could we handle this in read-event locally and just perform the retrying for the caller? First of all, we'd probably still do it one level below in the call stack in order not to mess up with the timeouts (if we simply try again, we could double the timeout), so we'd want to do it inread_filtered_event. But I think that approach will then be *not* localized and thus dangerous: it's not clear if setting executing_kbd_macro to nil has unexpected side effects have. Resolving the macro properly is ultimately the responsibility of Fexecute_kbd_macro and pop_kbd_macro in macros.c, and we shouldn't just declare at some other point in the code that we wish the macro handling to be done. ------------- Let me try to convince you that these commits are more harmless than they look at the first glance. I'll go through them one by one. I'm also happy to add a revised version of this to the commit messages. 1. "Extract check for end of macro to function": This is pure refactoring. A brief code review shows that this does not change semantics at all. 2. "src/keyboard.c (requeued_events_pending_p): Revive" 2a. On Sat, 2024-01-06 at 09:42 +0200, Eli Zaretskii wrote: > =C2=A0 For example, your patches modify > requeued_events_pending_p, but that function is called in several > places, including outside of keyboard.c -- how can we be sure we are > not introducing regressions this way?=C2=A0 Oh, good catch. In fact, it's (without the patches here) only called outside of keyboard.c. I was misled by the comment that said "This isn't used yet. The hope is to make wait_reading_process_output call it". Indeed, this comment is outdated and the (only) caller is wait_reading_process_output. wait_reading_process_output really wants only keyboard output, so it should really just=C2=A0check Vunread_command_events and not unread_post_input_method_events and Vunread_input_method_events; the latter two are for non-keyboard input. I can rework this. I think the way to go is to split this into two functions requeued_events_pending_p and requeued_command_events_pending_p or similar, and fix the outdated comment. 2b. This changes two !NILP to CONSP to be consistent with the checks within read_char (see 3. below). This is fine under the assumption that the variables are always lists (as they should be). I was about to say that I can take this back if you feel it's too dangerous, but if this function needs to be split into two anyway, we won't need the change from !NILP to CONSP. 3. "Fix -1 leaking from C to lisp in 'read-event' etc." 3a. On Sat, 2024-01-06 at 09:42 +0200, Eli Zaretskii wrote: > And read_char is called in > several places, including by lread.c and read_char itself -- did you > figure out how will this change affect those? >=20 Yes, I carefully checked all the callers. (I know, it's not trivial to review this commit, and I think any careful reviewer would need to do the same in the end...) The only caller which acts specially on -1 is read_key_sequence, so it makes sense to handle this case in read_key_sequence. This is done in this commit. The other callers are not prepared to get -1 (which is the root cause of the bug!), and exactly what we would like to avoid. 3b. On Sat, 2024-01-06 at 09:42 +0200, Eli Zaretskii wrote: > =C2=A0 Moreover, the changes in read_char modify code more than is > necessary to handle the "at end of macro" situation, so we are > risking > changes that will break something else.=C2=A0 Here's an example: >=20 > > --- a/src/keyboard.c > > +++ b/src/keyboard.c > > @@ -2610,7 +2610,8 @@ read_char (int commandflag, Lisp_Object map, > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 goto reread_for_input_method; > > =C2=A0=C2=A0=C2=A0=C2=A0 } > > =C2=A0 > > -=C2=A0 if (!NILP (Vexecuting_kbd_macro)) > > +=C2=A0 /* If we're executing a macro, process it unless we are at its > > end. */ > > +=C2=A0 if (!NILP (Vexecuting_kbd_macro) && !at_end_of_macro_p ()) > > =C2=A0=C2=A0=C2=A0=C2=A0 { > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* We set this to Qmacro; since th= at's not a frame, nobody > > will > > =C2=A0 try to switch frames on us, and the selected window will > > @@ -2624,15 +2625,6 @@ read_char (int commandflag, Lisp_Object map, > > =C2=A0 selected.=C2=A0 */ > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Vlast_event_frame =3D internal_las= t_event_frame =3D Qmacro; > > =C2=A0 > > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* Exit the macro if we are at the end. > > - Also, some things replace the macro with t > > - to force an early exit.=C2=A0 */ > > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (at_end_of_macro_p ()) > > - { > > - =C2=A0 XSETINT (c, -1); > > - =C2=A0 goto exit; > > - } > > - >=20 > This hunk moves the at_end_of_macro_p test to a higher level, which > has a side effect of not executing the code before the original > at_end_of_macro_p test -- how do we know this won't break something > that happens to depend on that code which will now not execute in the > at-end-of-macro case? The commit takes care of this, and it's not too hard to verify: If you look at read_char, except for setting local variables, this is what it does above the original at_end_of_macro_p test: =C2=A0 * if (CONSP (Vunread_post_input_method_events)) ... * Vlast_event_device =3D Qnil; * if (CONSP (Vunread_command_events)) ... * if (CONSP (Vunread_input_method_events)) * Vlast_event_frame =3D internal_last_event_frame =3D Qmacro; (if in a kbd macro) =C2=A0 =C2=A0 =C2=A0 =C2=A0 The "if" blocks don't matter. That's exactly why the caller checks for patch check for !requeued_events_pending_p () in the patch: if those blocks were to become active, we'd *not* skip read_char. Consider "Vlast_event_frame =3D internal_last_event_frame =3D Qmacro". The purpose this is to indicate that the last event came from a kbd macro. Since we now don't return the "event" -1 any longer, it also doesn't make sense to set this in this case.=C2=A0(And when we read a new event, this will be correctly updated.) What remains is setting "Vlast_event_device =3D Qnil". The same logic applies here. I don't think we should set to this nil at the end of a keyboard macro, because no new event was processed, i.e., the "last event" didn't change. That's why I choose to skip this line. But it's certainly more conservative to keep the two assignments to avoid any unexpected consequences, I'm happy to add this to the caller with an appropriate comment, if this is desired 4. "Remove workarounds for solved 'read-event' bug" On Sat, 2024-01-06 at 09:42 +0200, Eli Zaretskii wrote: > Also note that at least in subr.el we don't only test the -1 value, > we > also test that a keyboard macro is being executed, and in this and > other callers that handle -1, each application behaves in > application-specific way when it receives -1.=C2=A0 It is not clear to me > how your changes modify the behavior in those cases, and your > explanations and the log message doesn't seem to answer this > question. > For example, this code in calc-prog: >=20 > > --- a/lisp/calc/calc-prog.el > > +++ b/lisp/calc/calc-prog.el > > @@ -1230,8 +1230,6 @@ calc-kbd-skip-to-else-if > > =C2=A0 ch) > > =C2=A0=C2=A0=C2=A0=C2=A0 (while (>=3D count 0) > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (setq ch (read-char)) > > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (if (=3D ch -1) > > - =C2=A0 (error "Unterminated Z[ in keyboard macro")) > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (if (=3D ch ?Z) > > =C2=A0 =C2=A0 (progn > > =C2=A0 =C2=A0=C2=A0=C2=A0 (setq ch (read-char)) >=20 > now signals a specific error in the case of an unterminated keyboard > macro: what will the behavior in that case be after the changes? The behavior is that it will wait for interactive user input. Say you define a keyboard macro that performs only part of a calculation. Then instead of signaling an error, it will simply wait for the user the provide the remaining key strokes. On Sat, 2024-01-06 at 10:15 +0100, Andreas Schwab wrote: >=20 > Seems like calc actually wants to know when the kbd macro ends > prematurely, and removing the option to detect it is a regression To be honest, I really don't think that signaling an error here was a crucial feature. I'm pretty sure what happened is that -1 appeared as an unexpected return case, and then the error was added. Yes, this is a semantic change, but I think it's an acceptable one. This doesn't remove any real functionality, it simply avoids an error condition. But one thing I wasn't sure about is whether the change that -1 can't occur anymore would warrant a NEWS item or similar. If yes, I'll add one.=20 ------------- On Sat, 2024-01-06 at 09:42 +0200, Eli Zaretskii wrote: > In this case, given > that we want a more elegant solution for a situation that we already > handle, I tend to avoid any such changes to begin with, for the > reasons I explained above, and instead perhaps document the special > meaning of -1 in these cases.=C2=A0 And if we want to consider such > changes > these dangers notwithstanding, I would like to see them affecting as > little other code as possible.=C2=A0 Can you suggest a safer changeset? As I explained above, documenting this is not trivial either. While we can, of course, simply document that -1 can be returned, it's hard to give meaningful advice except "this function can return -1 and if it does and you really want to wait for input, set executing_kbd_macro to nil and try again", which is not only unelegant, but could have further consequences.=20 I'm happy to make the changes based on your review and on other feedback, and expand the commit message a lot, and I think this will make the patches more conservative and safer.=C2=A0 It's still not trivial to review and verify my analysis. But this is just how it is. The code change wasn't easy to come up with, so it's necessarily not very easy to review. With the modifications I hinted at based on your review, I think what we end up with is: 1. commit: no semantic change 2. commit: will be reworked to have no semantic change at all 3. commit: only change is that -1 is not propagated to lisp, other callers of read_char are unaffected as I explained above. (modulo Vlast_event_device and Vlast_event_frame -- which I can also still set if you want me to to). 4. commit: this only removes code paths which are unreachable now, so again no semantic chance. But then it will be good upfront if it's at least realistic that these patches get in in some form or another. If I can get conceptual approval or dismissal of this approach, I know what to do next. Best, Tim From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 13 04:40:35 2024 Received: (at 68272) by debbugs.gnu.org; 13 Jan 2024 09:40:35 +0000 Received: from localhost ([127.0.0.1]:38448 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rOaVG-0008FL-Qu for submit@debbugs.gnu.org; Sat, 13 Jan 2024 04:40:35 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:54466) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rOaVF-0008F9-81 for 68272@debbugs.gnu.org; Sat, 13 Jan 2024 04:40:34 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rOaV3-0000bS-1c; Sat, 13 Jan 2024 04:40:27 -0500 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=e9AV3QT9Hcc8mOkZrQqzNMgY6QguXJDBMLne4JeS9oA=; b=h0nelmsdfvEOPDlfrX8D dkq7EOhuxmijD9NVrQSNWjG0BUOx11VSb0WJT7aUEAmmEadnvkeFoj53MRBT3CkOKTB6nlnh2Yaur imuUfq7edyX9E2/D6TTg/S4USpzsi6MjGOkZSdlSxxm0KlXyQFZIrDkFHdzpbsH5Z2GVq7THsISNS ESHspVTmNcjGfeQbUvenNvDlQsvZN4JkeDQnmxczO42WE8L8TijSSV+VObAd4cz14CQz0V6G3PoWN KSJU8vl7KLvU+vMJ8T6yGL6EZHETQdW/URqUwWQ7iQkwyPIKy36i7y7D4iiErZ4D+SZembX6BkyTR GFRJwpUm5aCaig==; Date: Sat, 13 Jan 2024 11:39:29 +0200 Message-Id: <83cyu5h8ry.fsf@gnu.org> From: Eli Zaretskii To: Tim Ruffing , Stefan Monnier In-Reply-To: <1b3fa12138838a3fe5643a9e76a65d32a677e34d.camel@timruffing.de> (message from Tim Ruffing on Sat, 06 Jan 2024 15:32:23 +0100) Subject: Re: bug#68272: [PATCH] Fix -1 leaking from C to lisp in 'read-event' etc. References: <46480759b6d89b5a4864e8ee1b986817366a56e5.camel@timruffing.de> <83wmsmucuo.fsf@gnu.org> <1b3fa12138838a3fe5643a9e76a65d32a677e34d.camel@timruffing.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: 68272 Cc: 68272@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, any comments or ideas? I'm not very comfortable with this change, frankly, and tend to document this "feature" leaving the code alone. Note that currently various callers do different things when they get the -1 value, and it is unclear to me whether changing that will be perceived as regressions. In any case, I think the patch needs a change, if only to account for the fact that requeued_events_pending_p is called from process.c. > From: Tim Ruffing > Cc: 68272@debbugs.gnu.org > Date: Sat, 06 Jan 2024 15:32:23 +0100 > > Hey, thank you very much for the long email. I was somewhat prepared > for hesitant reply, and I totally understand that "there be dragons". > And I'm also aware that it doesn't spark confidence when someone with > (almost) zero code contributions submits a patch of this kind. I feel > the same when new people send complex patches to the C library I > maintain... And sure, it took a me quite a while to navigate this maze > of keyboard.c and to come up with this patch and make the tests pass, > but I feel rather confident now that this is the right approach. > > I agree, we can never be fully sure that this introduces regressions, > but let me still try to convince you that this approach and these > patches are carefully crafted and thought through. Here's my analysis > of the situation: > > First of all, I think the bug is real. read-event (and read-char and > read-char-exclusive, which I won't mention from now on for brevity) can > return -1, but the docs don't mention -1, and it's arguably a strange > "magic" value for a lisp function. If anything, one would expect nil, > or some special symbol. Of course, we could simply document the -1 > return value.  > > But the problem is not just that this is not elegant. It's worse > because it's also pretty unclear what the caller should do in this > case. In particular, the caller can't simply skip the -1 and try again: > The caller will see an infinite stream of -1 values, until the keyboard > macro has been resolved properly, i.e., as long as executing_kbd_macro > is non-nil. One thing the caller can simply do is to error out. But if > the caller wants an event, the only thing it can do is to touch > executing_kbd_macro and set it nil explicitly (this is what subr.el > does currently). We could also document this, but I feel something like > "this function can return -1 and if it does, set executing_kbd_macro to > nil and try again" is really a bit too unelegant (and it has more > downsides, see next paragraph). > > However, this now hints at a different approach: Could we handle this > in read-event locally and just perform the retrying for the caller? > First of all, we'd probably still do it one level below in the call > stack in order not to mess up with the timeouts (if we simply try > again, we could double the timeout), so we'd want to do it > inread_filtered_event. But I think that approach will then be *not* > localized and thus dangerous: it's not clear if setting > executing_kbd_macro to nil has unexpected side effects have. Resolving > the macro properly is ultimately the responsibility of > Fexecute_kbd_macro and pop_kbd_macro in macros.c, and we shouldn't just > declare at some other point in the code that we wish the macro handling > to be done. > > ------------- > > Let me try to convince you that these commits are more harmless than > they look at the first glance. I'll go through them one by one. I'm > also happy to add a revised version of this to the commit messages. > > 1. "Extract check for end of macro to function": > This is pure refactoring. A brief code review shows that this does not > change semantics at all. > > 2. "src/keyboard.c (requeued_events_pending_p): Revive" > > 2a. > > On Sat, 2024-01-06 at 09:42 +0200, Eli Zaretskii wrote: > >   For example, your patches modify > > requeued_events_pending_p, but that function is called in several > > places, including outside of keyboard.c -- how can we be sure we are > > not introducing regressions this way?  > > Oh, good catch. In fact, it's (without the patches here) only called > outside of keyboard.c. I was misled by the comment that said "This > isn't used yet. The hope is to make wait_reading_process_output call > it". Indeed, this comment is outdated and the (only) caller is > wait_reading_process_output. wait_reading_process_output really wants > only keyboard output, so it should really just check > Vunread_command_events and not unread_post_input_method_events and > Vunread_input_method_events; the latter two are for non-keyboard input. > I can rework this. I think the way to go is to split this into two > functions requeued_events_pending_p and > requeued_command_events_pending_p or similar, and fix the outdated > comment. > > 2b. > This changes two !NILP to CONSP to be consistent with the checks within > read_char (see 3. below). This is fine under the assumption that the > variables are always lists (as they should be). I was about to say that > I can take this back if you feel it's too dangerous, but if this > function needs to be split into two anyway, we won't need the change > from !NILP to CONSP. > > 3. "Fix -1 leaking from C to lisp in 'read-event' etc." > > 3a. > > On Sat, 2024-01-06 at 09:42 +0200, Eli Zaretskii wrote: > > And read_char is called in > > several places, including by lread.c and read_char itself -- did you > > figure out how will this change affect those? > > > > Yes, I carefully checked all the callers. (I know, it's not trivial to > review this commit, and I think any careful reviewer would need to do > the same in the end...) The only caller which acts specially on -1 is > read_key_sequence, so it makes sense to handle this case in > read_key_sequence. This is done in this commit. The other callers are > not prepared to get -1 (which is the root cause of the bug!), and > exactly what we would like to avoid. > > 3b. > > On Sat, 2024-01-06 at 09:42 +0200, Eli Zaretskii wrote: > >   Moreover, the changes in read_char modify code more than is > > necessary to handle the "at end of macro" situation, so we are > > risking > > changes that will break something else.  Here's an example: > > > > > --- a/src/keyboard.c > > > +++ b/src/keyboard.c > > > @@ -2610,7 +2610,8 @@ read_char (int commandflag, Lisp_Object map, > > >        goto reread_for_input_method; > > >      } > > >   > > > -  if (!NILP (Vexecuting_kbd_macro)) > > > +  /* If we're executing a macro, process it unless we are at its > > > end. */ > > > +  if (!NILP (Vexecuting_kbd_macro) && !at_end_of_macro_p ()) > > >      { > > >        /* We set this to Qmacro; since that's not a frame, nobody > > > will > > >   try to switch frames on us, and the selected window will > > > @@ -2624,15 +2625,6 @@ read_char (int commandflag, Lisp_Object map, > > >   selected.  */ > > >        Vlast_event_frame = internal_last_event_frame = Qmacro; > > >   > > > -      /* Exit the macro if we are at the end. > > > - Also, some things replace the macro with t > > > - to force an early exit.  */ > > > -      if (at_end_of_macro_p ()) > > > - { > > > -   XSETINT (c, -1); > > > -   goto exit; > > > - } > > > - > > > > This hunk moves the at_end_of_macro_p test to a higher level, which > > has a side effect of not executing the code before the original > > at_end_of_macro_p test -- how do we know this won't break something > > that happens to depend on that code which will now not execute in the > > at-end-of-macro case? > > The commit takes care of this, and it's not too hard to verify: If you > look at read_char, except for setting local variables, this is what it > does above the original at_end_of_macro_p test:   > * if (CONSP (Vunread_post_input_method_events)) ... > * Vlast_event_device = Qnil; > * if (CONSP (Vunread_command_events)) ... > * if (CONSP (Vunread_input_method_events)) > * Vlast_event_frame = internal_last_event_frame = Qmacro; (if in a kbd > macro)         > > The "if" blocks don't matter. That's exactly why the caller checks for > patch check for !requeued_events_pending_p () in the patch: if those > blocks were to become active, we'd *not* skip read_char. > > Consider "Vlast_event_frame = internal_last_event_frame = Qmacro". The > purpose this is to indicate that the last event came from a kbd macro. > Since we now don't return the "event" -1 any longer, it also doesn't > make sense to set this in this case. (And when we read a new event, > this will be correctly updated.) > > What remains is setting "Vlast_event_device = Qnil". The same logic > applies here. I don't think we should set to this nil at the end of a > keyboard macro, because no new event was processed, i.e., the "last > event" didn't change. That's why I choose to skip this line. > > But it's certainly more conservative to keep the two assignments to > avoid any unexpected consequences, I'm happy to add this to the caller > with an appropriate comment, if this is desired > > 4. "Remove workarounds for solved 'read-event' bug" > > On Sat, 2024-01-06 at 09:42 +0200, Eli Zaretskii wrote: > > Also note that at least in subr.el we don't only test the -1 value, > > we > > also test that a keyboard macro is being executed, and in this and > > other callers that handle -1, each application behaves in > > application-specific way when it receives -1.  It is not clear to me > > how your changes modify the behavior in those cases, and your > > explanations and the log message doesn't seem to answer this > > question. > > For example, this code in calc-prog: > > > > > --- a/lisp/calc/calc-prog.el > > > +++ b/lisp/calc/calc-prog.el > > > @@ -1230,8 +1230,6 @@ calc-kbd-skip-to-else-if > > >   ch) > > >      (while (>= count 0) > > >        (setq ch (read-char)) > > > -      (if (= ch -1) > > > -   (error "Unterminated Z[ in keyboard macro")) > > >        (if (= ch ?Z) > > >     (progn > > >       (setq ch (read-char)) > > > > now signals a specific error in the case of an unterminated keyboard > > macro: what will the behavior in that case be after the changes? > > The behavior is that it will wait for interactive user input. Say you > define a keyboard macro that performs only part of a calculation. Then > instead of signaling an error, it will simply wait for the user the > provide the remaining key strokes. > > On Sat, 2024-01-06 at 10:15 +0100, Andreas Schwab wrote: > > > > Seems like calc actually wants to know when the kbd macro ends > > prematurely, and removing the option to detect it is a regression > > To be honest, I really don't think that signaling an error here was a > crucial feature. I'm pretty sure what happened is that -1 appeared as > an unexpected return case, and then the error was added. Yes, this is a > semantic change, but I think it's an acceptable one. This doesn't > remove any real functionality, it simply avoids an error condition. > > But one thing I wasn't sure about is whether the change that -1 can't > occur anymore would warrant a NEWS item or similar. If yes, I'll add > one. > > ------------- > > On Sat, 2024-01-06 at 09:42 +0200, Eli Zaretskii wrote: > > In this case, given > > that we want a more elegant solution for a situation that we already > > handle, I tend to avoid any such changes to begin with, for the > > reasons I explained above, and instead perhaps document the special > > meaning of -1 in these cases.  And if we want to consider such > > changes > > these dangers notwithstanding, I would like to see them affecting as > > little other code as possible.  Can you suggest a safer changeset? > > As I explained above, documenting this is not trivial either. While we > can, of course, simply document that -1 can be returned, it's hard to > give meaningful advice except "this function can return -1 and if it > does and you really want to wait for input, set executing_kbd_macro to > nil and try again", which is not only unelegant, but could have further > consequences. > > I'm happy to make the changes based on your review and on other > feedback, and expand the commit message a lot, and I think this will > make the patches more conservative and safer.  > > It's still not trivial to review and verify my analysis. But this is > just how it is. The code change wasn't easy to come up with, so it's > necessarily not very easy to review. > > With the modifications I hinted at based on your review, I think what > we end up with is: > 1. commit: no semantic change > 2. commit: will be reworked to have no semantic change at all > 3. commit: only change is that -1 is not propagated to lisp, other > callers of read_char are unaffected as I explained above. (modulo > Vlast_event_device and Vlast_event_frame -- which I can also still set > if you want me to to). > 4. commit: this only removes code paths which are unreachable now, so > again no semantic chance. > > But then it will be good upfront if it's at least realistic that these > patches get in in some form or another. If I can get conceptual > approval or dismissal of this approach, I know what to do next. > > Best, > Tim > > From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 13 12:40:41 2024 Received: (at 68272) by debbugs.gnu.org; 13 Jan 2024 17:40:41 +0000 Received: from localhost ([127.0.0.1]:40981 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rOhzt-0007Oq-2g for submit@debbugs.gnu.org; Sat, 13 Jan 2024 12:40:41 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:3057) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rOhzr-0007Od-6W for 68272@debbugs.gnu.org; Sat, 13 Jan 2024 12:40:39 -0500 Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id B3AA5440FD6; Sat, 13 Jan 2024 12:40:34 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1705167632; bh=8Iok5tK96sa5HVFYEPRBps5s9mueN9Bg70RfqNegJSU=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=NkvfwTzJ/X22lCKdSQUvM89KPfnXpmnI7GhGwyh1WJ+4v/grAF7OoHBu09ckw6A6F vE05EJvZn3EmgztvGqcsSSDxT5v+9f7iqNY3g118X0O6eN5qgho6z0UgxPlux3mv3V Kl1MPVUJR5YbuvyLs4K4nJES7vbX6O1PrhIdZoqacsDwg51LueiB8U7l/pyDdXo2At 02OxnQmJXMT+i7hzImPg/BJpkcGu82qEkPisXwtpcIgLpZnqqhKE3oTJiK4tK4jI5g lN51w87jsmxvwIvQ1l3OYulW0jSORxdF9dnQTWgLc62GVCibFWyiBrkFL7IIuRs/zF M8ZqylpLnN1iQ== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id A837B440B2E; Sat, 13 Jan 2024 12:40:32 -0500 (EST) Received: from pastel (65-110-221-238.cpe.pppoe.ca [65.110.221.238]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 7C88812082B; Sat, 13 Jan 2024 12:40:32 -0500 (EST) From: Stefan Monnier To: Tim Ruffing Subject: Re: bug#68272: [PATCH] Fix -1 leaking from C to lisp in 'read-event' etc. In-Reply-To: <1b3fa12138838a3fe5643a9e76a65d32a677e34d.camel@timruffing.de> (Tim Ruffing's message of "Sat, 06 Jan 2024 15:32:23 +0100") Message-ID: References: <46480759b6d89b5a4864e8ee1b986817366a56e5.camel@timruffing.de> <83wmsmucuo.fsf@gnu.org> <1b3fa12138838a3fe5643a9e76a65d32a677e34d.camel@timruffing.de> Date: Sat, 13 Jan 2024 12:40:31 -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.009 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 68272 Cc: Eli Zaretskii , 68272@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 (---) Hi Tim, > Hey, thank you very much for the long email. I was somewhat prepared > for hesitant reply, and I totally understand that "there be dragons". :-) > And I'm also aware that it doesn't spark confidence when someone with > (almost) zero code contributions submits a patch of this kind. [ Actually, such carefully written code and (even more so) the convention-abiding commit messages coming from someone who's not a regular contributor spiked my ears. It made me think that this is either a carefully crafted trojan, or it's a really welcome new kid on the block :-) ] > First of all, I think the bug is real. No doubt. Bug#62018 brought to my attention to nasty situation, and I'm really glad you went through the trouble to come up with a cleanup. > But the problem is not just that this is not elegant. It's worse > because it's also pretty unclear what the caller should do in > this case. Yes, I think we should document in a comment somewhere how the end of kmacro is handled from a "global" perspective: what `read_char` does when it's the case, where/when it's supposed to be detected and how this "signal" is propagated from there to the corresponding call to `execute-kbd-macro`, how that relates to setting `executing-kbd-macro` back to nil, ... > One thing the caller can simply do is to error out. My first intuition is that we should do that more often. That's what `calc.el` does. In `read-char-choice-with-read-key`, OTOH we apparently decided to consider that not as an error but to "transparently" continue execution past the end of the kmacro by reading from the keyboard (which is the behavior that your patch implements). In the case of `dbus.el` my head hurts trying to understand what the code really does, really should do, and how your patch changes its behavior. First, the `dbus.el` code is problematic in any case because it relies on "pre-reading" input events and pushing them back on `unread-command-events`, which is sadly not 100% "a no-op". We should provide better primitives to handle such parallel input streams without having to "read" all events and them push them back. IIUC, with your patch, we have the following scenario: - Say we're inside a kmacro with N events left to execute. - Dbus reads those N events and stashes them them onto `unread-command-events`. - Dbus finally can read the actual dbus event and does its thing. - Good! - But now `at_end_of_macro_p` will return true, even though we've yet to execute the last N events. We'll presumably still execute them (since they're in `unread-command-events`) but that won't be considered as coming from a kmacro any more. > But if the caller wants an event, the only thing it can do is to touch > executing_kbd_macro and set it nil explicitly (this is what subr.el > does currently). My head also hurts trying to understand what are the consequences of doing that. > We could also document this, but I feel something like > "this function can return -1 and if it does, set executing_kbd_macro to > nil and try again" is really a bit too unelegant (and it has more > downsides, see next paragraph). Agreed. I think the problem is that we haven't clearly decided what `execute-kbd-macro` is supposed to do. The problem is that the way it's expected to work implies a form of "nesting" such that at the end of processing those events we return from the function, but sometimes that's not what happens. E.g. a kmacro can end in the middle of a recursive edit. Your patch brings is closer to a non-nesting semantics, a bit as if `execute-kbd-macro` pushed all those events into the incoming input queue and returned immediately. Maybe that's what `execute-kbd-macro` should do, really: push all the events into `unread-command-events` and return. But then, how would we do the boolean tests for `executing-kbd-macro` which we perform at various places? [ I guess we could label/wrap the events such that they get executed in a special way (which let-binds `executing-kbd-macro` to t? ] Seeing how `calc.el` used the -1 to signal an error (i.e. forcing kmacros to contain "complete sequences"), maybe a half-way behavior between the current one and your new one would be for `read_char` to return -1 (or rather a more explicit `end-of-kbd-macro`) event *once* and then on the next call to go on and read from the keyboard. > 3. commit: only change is that -1 is not propagated to lisp, other > callers of read_char are unaffected as I explained above. (modulo > Vlast_event_device and Vlast_event_frame -- which I can also still set > if you want me to to). "-1 is not propagated to lisp" doesn't say what happens in its stead. What this does really is transparently continue reading input from the keyboard when reaching the end of a kmacro. I tend to agree that it's closer to the ideal behavior (even though I still don't know what that is :-). Stefan From debbugs-submit-bounces@debbugs.gnu.org Fri Feb 02 13:05:08 2024 Received: (at 68272) by debbugs.gnu.org; 2 Feb 2024 18:05:08 +0000 Received: from localhost ([127.0.0.1]:45540 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rVxuW-0008Iy-40 for submit@debbugs.gnu.org; Fri, 02 Feb 2024 13:05:08 -0500 Received: from mout-p-101.mailbox.org ([2001:67c:2050:0:465::101]:35042) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rVxuT-0008IM-Ue for 68272@debbugs.gnu.org; Fri, 02 Feb 2024 13:05:07 -0500 Received: from smtp1.mailbox.org (smtp1.mailbox.org [IPv6:2001:67c:2050:b231:465::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-101.mailbox.org (Postfix) with ESMTPS id 4TRNvz4LP0z9st0; Fri, 2 Feb 2024 19:04:47 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=timruffing.de; s=MBO0001; t=1706897087; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=z1TUrxRwgmMOqEOz1PH1X8KWWGjOMtxbcKUKx5SoAN0=; b=rV8dHVmYeeUKxpe/FRVYJj6Utcup/MUXfSpzpaKK6qGUsiwnB42GadEKXqzMiXmFyTf1lL n4C1f9kenfgCw3HvfTiHnPnIBrrtJKL2R6nqq7KRPs1N5zXA2aBDujRxlwsdUvCgPuT+ND I4wJB143FCvL+pCkW36r9IYIvT/QAtGlTIrHMlPeoTbLvK8RgyiHL413ClI3LBw+qerPAI pZb1sMjhed9BpOla+p3TO1DPbnzS0qFLo783P01XyePBkVG6soQCLP3VyCtS/OXF6Bm/Th Wbs0kSm6G07xEdkWBldqP9J10hndYyfvSR2bi2ZxCJWrd7dPvAT/FW7NPXNjag== Message-ID: Subject: Re: bug#68272: [PATCH] Fix -1 leaking from C to lisp in 'read-event' etc. From: Tim Ruffing To: Stefan Monnier Date: Fri, 02 Feb 2024 19:04:45 +0100 In-Reply-To: References: <46480759b6d89b5a4864e8ee1b986817366a56e5.camel@timruffing.de> <83wmsmucuo.fsf@gnu.org> <1b3fa12138838a3fe5643a9e76a65d32a677e34d.camel@timruffing.de> Autocrypt: addr=crypto@timruffing.de; prefer-encrypt=mutual; keydata=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 7xWBA== Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Rspamd-Queue-Id: 4TRNvz4LP0z9st0 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 68272 Cc: Eli Zaretskii , 68272@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 (-) On Sat, 2024-01-13 at 12:40 -0500, Stefan Monnier wrote: > I tend to agree that it's closer to the ideal behavior (even though > I still don't know what that is :-). I think that's the crucial question for now. I'm happy to follow up with an updated patch, but we should first see in which direction we want to head. > I think the problem is that we haven't clearly decided what > `execute-kbd-macro` is supposed to do. The problem is that the way > it's > expected to work implies a form of "nesting" such that at the end of > processing those events we return from the function, but sometimes > that's not what happens. E.g. a kmacro can end in the middle of > a recursive edit. >=20 > Your patch brings is closer to a non-nesting semantics, a bit as if > `execute-kbd-macro` pushed all those events into the incoming input > queue and returned immediately. >=20 > Maybe that's what `execute-kbd-macro` should do, really: push all the > events into `unread-command-events` and return. Just to make sure we're on same page: You mean it should (maybe) push the events into `unread-command-events` assuming LIFO semantics?=20 That is, in simple cases when there's no lisp code that reads events explicitly (`read-char` etc) and you have a kmacro A that executes another kmacro B, the it's still the case that we get the normal nesting semantics. In other words, consider the following kmacros: A: read char x, read char y (which does nothing but trigger B), read char z B: read char b Then executing A will be as if the user typed "x b z" explicitly. I think your proposal makes sense. It's simple, it does "what you'd expect" in simple cases, and it seems compatible to the current behavior, up to the -1 bug. (And don't think there's a natural expectation for cases where we hit -1.)=20 > But then, how would we > do the boolean tests for `executing-kbd-macro` which we perform at > various places? [ I guess we could label/wrap the events such that > they > get executed in a special way (which let-binds `executing-kbd-macro` > to > t? ] Yeah, this sounds reasonable (at least at first glance :)).=20 > Seeing how `calc.el` used the -1 to signal an error (i.e. forcing > kmacros to contain "complete sequences"), maybe a half-way > behavior between the current one and your new one would be for > `read_char` to return -1 (or rather a more explicit `end-of-kbd- > macro`) > event *once* and then on the next call to go on and read from > the keyboard. Hm, indeed. But to be honest, I'm not convinced that lisp code should be able to distinguish this at all when trying to get an event. (If you *really* want to detect this, you could still check `executing-kbd- macro` after reading an event and see if it has changed from non-nil to nil.) Moreover, it would make the C code more complicated, because we'll probably have to add another state variable that captures if we've returned -1 (or a symbol) already or not.=20 Another compromise, which I find nicer, is to introduce a new variant of `read-char` (or add a flag) that suppresses the -1 entirely. We'd probably still need the state variable in the C code, but at least this won't change anything for existing callers. We could even keep the - 1... Well okay, assuming we agree that the non-nesting semantics is in general what we want to have, what should we (or I) do now? 1. Work on an improved version of my patch, which brings it closer to the ideal semantics, but doesn't touch too much of the code? 2. Write a new patch that implements the "full" non-nesting semantics suggest above? 3. Rewrite my patch to do something in the middle? (Returning -1 once, or have a boolean flag that fixes the -1.) 4. Do nothing because all of it is too dangerous. If anything, I think option 3 with a flag beats 4, because 3 won't be too dangerous then. But for the rest, I'm really unsure (and anyway, I don't think I'm the one to make the call). 2 sounds nice, but do you think there will be even more dragons with 2 than with 1? It will be an even larger change for sure... ---- More inline replies: > IIUC, with your patch, we have the following scenario: > - Say we're inside a kmacro with N events left to execute. > - Dbus reads those N events and stashes them them onto `unread- > command-events`. > - Dbus finally can read the actual dbus event and does its thing. > - Good! > - But now `at_end_of_macro_p` will return true, even though we've yet > to > execute the last N events. We'll presumably still execute them > (since they're in `unread-command-events`) but that won't be > considered as coming from a kmacro any more. This matches my understanding. My thinking is that this is not a big deal in this specific case. The dbus code currently relies on the idea of reading events and putting them back to `unread-command-events`. While the patch affects the behavior, it doesn't change anything about the fact that this is an ugly hack anyway. So I'm not really convinced that we should care about this change of behavior too much, as long as we don't break anything.=20 >=20 > > And I'm also aware that it doesn't spark confidence when someone > > with > > (almost) zero code contributions submits a patch of this kind. >=20 > [ Actually, such carefully written code and (even more so) the > =C2=A0 convention-abiding commit messages coming from someone who's not > =C2=A0 a regular contributor spiked my ears.=C2=A0 It made me think > =C2=A0 that this is either a carefully crafted trojan, or it's a really > =C2=A0 welcome new kid on the block :-)=C2=A0 ] >=20 Hehe, thanks for the kind words. I'll submit the trojan in the next patch then. ;) On a more serious note, I took the time to dig deeply here, but I don't think I'll have the bandwidth regularly (as you see from my response time...)=20 By the way, the CONTRIBUTE file is pretty long, but it's also pretty good and clear.=20 > Yes, I think we should document in a comment somewhere how the end of > kmacro is handled from a "global" perspective: what `read_char` > does when it's the case, where/when it's supposed to be detected and > how > this "signal" is propagated from there to the corresponding call to > `execute-kbd-macro`, how that relates to setting `executing-kbd- > macro` > back to nil, ... >=20 Agreed. > "-1 is not propagated to lisp" doesn't say what happens in its stead. > What this does really is transparently continue reading input from > the > keyboard when reaching the end of a kmacro. >=20 Agreed, I can change it. But let's first decide what we would like to do in general. Best, Tim From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 06 16:05:13 2024 Received: (at 68272) by debbugs.gnu.org; 6 Feb 2024 21:05:13 +0000 Received: from localhost ([127.0.0.1]:55228 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rXScy-0003xG-IA for submit@debbugs.gnu.org; Tue, 06 Feb 2024 16:05:12 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:59197) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rXScw-0003x0-K4 for 68272@debbugs.gnu.org; Tue, 06 Feb 2024 16:05:11 -0500 Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 8246E440985; Tue, 6 Feb 2024 16:04:51 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1707253489; bh=/q+HwZheln83fykOPNvYexE6U4RMtO0c11xTe446nSI=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=me1KzoB1v0zG7iUuMCkPQz+uOEMXzG5x/lU7LVAyhIRBCBW4MYR6kQOAprojL0bLb UzWV4JGXLAQSDn36v5kgGDGEzog1ujDSgwiScVJoEMP6QBapLcIem+Aj78gkEZjjNf dePkTW1jVcj9Xh1/A1/YsbQmRQzOKALh32g4IbTQuScxh5b43v3+AhtVP2wPQh7CfL nnjLnnMOT3JZcGS/aM+agFJOfAB1MQjyE2novHVJqlB1MGN1kBzrrX+91FDozCD3B2 pP2h/QQzPrla9qA4Odpq4CHglSfeXFQwR/j9z31n4dvtRH0jNm7ieP7Fr9Bsy8ibfD 2fHgOaXxRcEdA== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 74ED244240B; Tue, 6 Feb 2024 16:04:49 -0500 (EST) Received: from pastel (69-165-153-17.dsl.teksavvy.com [69.165.153.17]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 5007412021A; Tue, 6 Feb 2024 16:04:49 -0500 (EST) From: Stefan Monnier To: Tim Ruffing Subject: Re: bug#68272: [PATCH] Fix -1 leaking from C to lisp in 'read-event' etc. In-Reply-To: (Tim Ruffing's message of "Fri, 02 Feb 2024 19:04:45 +0100") Message-ID: References: <46480759b6d89b5a4864e8ee1b986817366a56e5.camel@timruffing.de> <83wmsmucuo.fsf@gnu.org> <1b3fa12138838a3fe5643a9e76a65d32a677e34d.camel@timruffing.de> Date: Tue, 06 Feb 2024 16:04:48 -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.038 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 68272 Cc: Eli Zaretskii , 68272@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 (---) > Just to make sure we're on same page: You mean it should (maybe) push > the events into `unread-command-events` assuming LIFO semantics? Yes. >> Seeing how `calc.el` used the -1 to signal an error (i.e. forcing >> kmacros to contain "complete sequences"), maybe a half-way behavior >> between the current one and your new one would be for `read_char` to >> return -1 (or rather a more explicit `end-of-kbd-macro`) event >> *once* and then on the next call to go on and read from the keyboard. > > Hm, indeed. But to be honest, I'm not convinced that lisp code should > be able to distinguish this at all when trying to get an event. (If you > *really* want to detect this, you could still check `executing-kbd- > macro` after reading an event and see if it has changed from non-nil to > nil.) Moreover, it would make the C code more complicated, because > we'll probably have to add another state variable that captures if > we've returned -1 (or a symbol) already or not. FWIW, I tend to agree. > Another compromise, which I find nicer, is to introduce a new variant > of `read-char` (or add a flag) that suppresses the -1 entirely. I'd rather not go there, if we can avoid it. > 1. Work on an improved version of my patch, which brings it closer > to the ideal semantics, but doesn't touch too much of the code? That's what I'd vote for. > 2. Write a new patch that implements the "full" non-nesting > semantics suggest above? In the long run it might be worth trying it out, but I suspect this /will/ bump into surprising corner cases, so I'd keep it as a subsequent step which could be made optional (I suspect it can be implemented fully in ELisp). >> IIUC, with your patch, we have the following scenario: >> - Say we're inside a kmacro with N events left to execute. >> - Dbus reads those N events and stashes them them onto `unread- >> command-events`. >> - Dbus finally can read the actual dbus event and does its thing. >> - Good! >> - But now `at_end_of_macro_p` will return true, even though we've yet >> to >> execute the last N events. We'll presumably still execute them >> (since they're in `unread-command-events`) but that won't be >> considered as coming from a kmacro any more. > This matches my understanding. My thinking is that this is not a big > deal in this specific case. The dbus code currently relies on the idea > of reading events and putting them back to `unread-command-events`. > While the patch affects the behavior, it doesn't change anything about > the fact that this is an ugly hack anyway. You mean they had it coming? I can agree to some extent, but currently there aren't very many alternative approaches :-( >> Yes, I think we should document in a comment somewhere how the end of >> kmacro is handled from a "global" perspective: what `read_char` does >> when it's the case, where/when it's supposed to be detected and how >> this "signal" is propagated from there to the corresponding call to >> `execute-kbd-macro`, how that relates to setting >> `executing-kbd-macro` back to nil, ... > > Agreed. Could you try writing such a description? It doesn't have to be complete: just write what you happen to know already. Stefan From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 01 07:15:36 2024 Received: (at 68272) by debbugs.gnu.org; 1 Mar 2024 12:15:36 +0000 Received: from localhost ([127.0.0.1]:36222 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rg1nc-0007rE-F2 for submit@debbugs.gnu.org; Fri, 01 Mar 2024 07:15:36 -0500 Received: from mout-p-202.mailbox.org ([80.241.56.172]:36908) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rg1nZ-0007qw-37 for 68272@debbugs.gnu.org; Fri, 01 Mar 2024 07:15:35 -0500 Received: from smtp102.mailbox.org (smtp102.mailbox.org [10.196.197.102]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-202.mailbox.org (Postfix) with ESMTPS id 4TmRqP57zsz9t7J; Fri, 1 Mar 2024 13:14:57 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=timruffing.de; s=MBO0001; t=1709295297; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=gL8Wz4alAejhf00Sw+EZglCBVOhXumnrN8ged7EeV78=; b=qv9YfETd/7D1FX6+f4nucdeWpI2YcNvBtYYEDEsLui/iKDbmbF2K5LF4JFPnlrpVJijHN8 J9NZ5PtGhD/JRbl/4yLRGZ1kuF80Md9DfSqjNxdTRyS2XZ2JRT5nGgHsqDQrGogFzAu4p9 UFEwJ16K2JcheGAWcYUeWfdB1EE1+/q9yhhbIjRThv3mQ2jsJ6E2LCSfkctTxhW02BnSY3 2l1he2HB5Bj0lAMIUf72StUv8as3SMenW67xTewNNIKeb7TG+juG2CwGImdPvH0dv0CE/Q K7HDJ+4/zeLm8I1RTj1heEPLgcXJIZYgWSxOJRdjhzh4mmtPmJRr+57djGNlHw== Message-ID: <33de23a45d00e23ddfebb24d16db95d638ac96f1.camel@timruffing.de> Subject: Re: bug#68272: [PATCH] Fix -1 leaking from C to lisp in 'read-event' etc. From: Tim Ruffing To: Stefan Monnier Date: Fri, 01 Mar 2024 13:14:54 +0100 In-Reply-To: References: <46480759b6d89b5a4864e8ee1b986817366a56e5.camel@timruffing.de> <83wmsmucuo.fsf@gnu.org> <1b3fa12138838a3fe5643a9e76a65d32a677e34d.camel@timruffing.de> Autocrypt: addr=crypto@timruffing.de; prefer-encrypt=mutual; keydata=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 7xWBA== Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 68272 Cc: Eli Zaretskii , 68272@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, sorry for the delay again... I'll try to do my best to come up with an updated patch within the following week. Tim From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 04 13:43:23 2024 Received: (at 68272) by debbugs.gnu.org; 4 Mar 2024 18:43:23 +0000 Received: from localhost ([127.0.0.1]:44874 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rhDHW-0006VG-1q for submit@debbugs.gnu.org; Mon, 04 Mar 2024 13:43:23 -0500 Received: from mout-p-202.mailbox.org ([80.241.56.172]:56064) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rhDHT-0006V3-Tq for 68272@debbugs.gnu.org; Mon, 04 Mar 2024 13:43:21 -0500 Received: from smtp1.mailbox.org (smtp1.mailbox.org [IPv6:2001:67c:2050:b231:465::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-202.mailbox.org (Postfix) with ESMTPS id 4TpSGr2fQnz9t1C; Mon, 4 Mar 2024 19:42:12 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=timruffing.de; s=MBO0001; t=1709577732; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=wY+g8gyzpX6lf8DNS7nbBuoZGG4FlzcYGWKm0VMf9oE=; b=Pl1q5H5YwaOdW3NkzgqH1wvfeijDIQTlQ2L+gAVnmbuWxTu7I1QypX9uRrLwSr4y0T9NkV 2GMDjmYhAPWlAPxwh1CfB0oYg5DUb+jLNDCuXfvIBhbhHZkcTlkF1GZxN0+WQsICHK4elN Ubqs4V0/B674ZjcL+w5WbRCUDqDpd4zk0hdauH95rPhKlkTC25q8jrhn1lgic09h0W/+kb +aortMlC0Yp/5anq0+Qup8YVwGtF2Sw5YOEMcLl0/uKI6muXjIbq43CSS+tBtzASuefYZr Z1iVv6D5ny2mcaGVdvFB0EdgBusmu4uyqwqLDfCR/csl8u/NvqlTk+Fk/TiPXg== Message-ID: <933c41e932327b6c149706ca251c18046d9ffb8b.camel@timruffing.de> Subject: Re: bug#68272: [PATCH] Fix -1 leaking from C to lisp in 'read-event' etc. From: Tim Ruffing To: Stefan Monnier Date: Mon, 04 Mar 2024 19:42:09 +0100 In-Reply-To: <33de23a45d00e23ddfebb24d16db95d638ac96f1.camel@timruffing.de> References: <46480759b6d89b5a4864e8ee1b986817366a56e5.camel@timruffing.de> <83wmsmucuo.fsf@gnu.org> <1b3fa12138838a3fe5643a9e76a65d32a677e34d.camel@timruffing.de> <33de23a45d00e23ddfebb24d16db95d638ac96f1.camel@timruffing.de> Autocrypt: addr=crypto@timruffing.de; prefer-encrypt=mutual; keydata=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 7xWBA== Content-Type: multipart/mixed; boundary="=-S+praMyoVfo42qlG581q" MIME-Version: 1.0 X-Rspamd-Queue-Id: 4TpSGr2fQnz9t1C X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 68272 Cc: Eli Zaretskii , 68272@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 (-) --=-S+praMyoVfo42qlG581q Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi, this is an updated patch set. Changes to the previous revision: * Instead of changing requeued_events_pending_p, it's renamed to requeued_command_events_pending_p, and I've fixed the outdated comment that had misled me. =C2=A0Then a new requeued_events_pending_p with different semantics is added and used in following commits. This addresses one of Eli's comments, and should make sure that existing callers of requeued_events_pending_p are not affected by the patch. * I've added a large comment to src/macro.c as an attempt to explain how we handle the end of a keyboard macro. * I've improved the commit message of (now) 6be0f5f.=C2=A0 Best, Tim --=-S+praMyoVfo42qlG581q Content-Disposition: attachment; filename="0001-Extract-check-for-end-of-macro-to-function.patch" Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="0001-Extract-check-for-end-of-macro-to-function.patch"; charset="UTF-8" RnJvbSAyN2RlNzNhZjE1MGM0NTg2NjlkZTI5ZTg2NjJhMjgxYmFlYjBhNjAzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUaW0gUnVmZmluZyA8Y3J5cHRvQHRpbXJ1ZmZpbmcuZGU+CkRh dGU6IFdlZCwgMjcgRGVjIDIwMjMgMTQ6MjY6MjYgKzAxMDAKU3ViamVjdDogW1BBVENIIDEvNV0g RXh0cmFjdCBjaGVjayBmb3IgZW5kIG9mIG1hY3JvIHRvIGZ1bmN0aW9uCgoqIHNyYy9tYWNyb3Mu aCAoYXRfZW5kX29mX21hY3JvX3ApOgoqIHNyYy9tYWNyb3MuYyAoYXRfZW5kX29mX21hY3JvX3Ap OgpOZXcgZnVuY3Rpb24uCiogc3JjL2tleWJvYXJkLmMgKHJlYWRfY2hhcik6IFVzZSB0aGUgbmV3 IGZ1bmN0aW9uLgotLS0KIHNyYy9rZXlib2FyZC5jIHwgIDMgKy0tCiBzcmMvbWFjcm9zLmMgICB8 IDEyICsrKysrKysrKysrKwogc3JjL21hY3Jvcy5oICAgfCAgNSArKysrKwogMyBmaWxlcyBjaGFu Z2VkLCAxOCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9r ZXlib2FyZC5jIGIvc3JjL2tleWJvYXJkLmMKaW5kZXggZWIwZGU5OGJhZDEuLmI2ZmM1NjhjZGU1 IDEwMDY0NAotLS0gYS9zcmMva2V5Ym9hcmQuYworKysgYi9zcmMva2V5Ym9hcmQuYwpAQCAtMjYz Nyw4ICsyNjM3LDcgQEAgcmVhZF9jaGFyIChpbnQgY29tbWFuZGZsYWcsIExpc3BfT2JqZWN0IG1h cCwKICAgICAgIC8qIEV4aXQgdGhlIG1hY3JvIGlmIHdlIGFyZSBhdCB0aGUgZW5kLgogCSBBbHNv LCBzb21lIHRoaW5ncyByZXBsYWNlIHRoZSBtYWNybyB3aXRoIHQKIAkgdG8gZm9yY2UgYW4gZWFy bHkgZXhpdC4gICovCi0gICAgICBpZiAoRVEgKFZleGVjdXRpbmdfa2JkX21hY3JvLCBRdCkKLQkg IHx8IGV4ZWN1dGluZ19rYmRfbWFjcm9faW5kZXggPj0gWEZJWE5BVCAoRmxlbmd0aCAoVmV4ZWN1 dGluZ19rYmRfbWFjcm8pKSkKKyAgICAgIGlmIChhdF9lbmRfb2ZfbWFjcm9fcCAoKSkKIAl7CiAJ ICBYU0VUSU5UIChjLCAtMSk7CiAJICBnb3RvIGV4aXQ7CmRpZmYgLS1naXQgYS9zcmMvbWFjcm9z LmMgYi9zcmMvbWFjcm9zLmMKaW5kZXggNWY3MWJjYmQzNjEuLjYyMTI5YmUxNjI5IDEwMDY0NAot LS0gYS9zcmMvbWFjcm9zLmMKKysrIGIvc3JjL21hY3Jvcy5jCkBAIC0zNTMsNiArMzUzLDE4IEBA IGluaXRfbWFjcm9zICh2b2lkKQogICBleGVjdXRpbmdfa2JkX21hY3JvID0gUW5pbDsKIH0KIAor LyogV2hldGhlciB0aGUgZXhlY3V0aW9uIG9mIGEgbWFjcm8gaGFzIHJlYWNoZWQgaXRzIGVuZC4K KyAgIEl0IG1ha2VzIG9ubHkgc2Vuc2UgdG8gY2FsbCB0aGlzIHdoZW4gd2hpbGUgZXhlY3V0aW5n IGEgbWFjcm8uICAqLworCitib29sCithdF9lbmRfb2ZfbWFjcm9fcCAodm9pZCkKK3sKKyAgZWFz c3VtZSAoIU5JTFAgKFZleGVjdXRpbmdfa2JkX21hY3JvKSk7CisgIC8qIFNvbWUgdGhpbmdzIHJl cGxhY2UgdGhlIG1hY3JvIHdpdGggdCB0byBmb3JjZSBhbiBlYXJseSBleGl0LiAgKi8KKyAgcmV0 dXJuIEVRIChWZXhlY3V0aW5nX2tiZF9tYWNybywgUXQpCisgICAgfHwgZXhlY3V0aW5nX2tiZF9t YWNyb19pbmRleCA+PSBYRklYTkFUIChGbGVuZ3RoIChWZXhlY3V0aW5nX2tiZF9tYWNybykpOwor fQorCiB2b2lkCiBzeW1zX29mX21hY3JvcyAodm9pZCkKIHsKZGlmZiAtLWdpdCBhL3NyYy9tYWNy b3MuaCBiL3NyYy9tYWNyb3MuaAppbmRleCA1MTU5OWEyOWJjZC4uNzg3MGFhNGRlMWQgMTAwNjQ0 Ci0tLSBhL3NyYy9tYWNyb3MuaAorKysgYi9zcmMvbWFjcm9zLmgKQEAgLTQ3LDQgKzQ3LDkgQEAg I2RlZmluZSBFTUFDU19NQUNST1NfSAogCiBleHRlcm4gdm9pZCBzdG9yZV9rYmRfbWFjcm9fY2hh ciAoTGlzcF9PYmplY3QpOwogCisvKiBXaGV0aGVyIHRoZSBleGVjdXRpb24gb2YgYSBtYWNybyBo YXMgcmVhY2hlZCBpdHMgZW5kLgorICAgSXQgbWFrZXMgb25seSBzZW5zZSB0byBjYWxsIHRoaXMg d2hlbiB3aGlsZSBleGVjdXRpbmcgYSBtYWNyby4gICovCisKK2V4dGVybiBib29sIGF0X2VuZF9v Zl9tYWNyb19wICh2b2lkKTsKKwogI2VuZGlmIC8qIEVNQUNTX01BQ1JPU19IICovCi0tIAoyLjQ0 LjAKCg== --=-S+praMyoVfo42qlG581q Content-Disposition: attachment; filename*0=0002-src-keyboard.c-requeued_events_pending_p-Improve-nam.pat; filename*1=ch Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="0002-src-keyboard.c-requeued_events_pending_p-Improve-nam.patch"; charset="UTF-8" RnJvbSA4NDhlZGU5YjU3ODgzMzQxNGU3NjRkOWY5ZGQ4NWI3Njc3YTRiMTEwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUaW0gUnVmZmluZyA8Y3J5cHRvQHRpbXJ1ZmZpbmcuZGU+CkRh dGU6IFdlZCwgMjcgRGVjIDIwMjMgMTQ6Mjk6MzQgKzAxMDAKU3ViamVjdDogW1BBVENIIDIvNV0g KiBzcmMva2V5Ym9hcmQuYyAocmVxdWV1ZWRfZXZlbnRzX3BlbmRpbmdfcCk6IEltcHJvdmUKIG5h bWUgYW5kIGZpeCBjb21tZW50CgoqIHNyYy9rZXlib2FyZC5jLCBzcmMva2V5Ym9hcmQuaCAocmVx dWV1ZWRfZXZlbnRzX3BlbmRpbmdfcCk6IFJlbmFtZSB0bwoncmVxdWV1ZWRfY29tbWFuZF9ldmVu dHNfcGVuZGluZ19wJyB0byBjbGFyaWZ5IHRoYXQgdGhlIGZ1bmN0aW9uIGNvdmVycwpvbmx5IGNv bW1hbmQgZXZlbnRzLiBGaXggd3JvbmcgY29tbWVudCB0aGF0IGNsYWltZWQgdGhhdCB0aGUgZnVu Y3Rpb24Kd2FzIHVudXNlZC4KKiBzcmMvcHJvY2Vzcy5jICh3YWl0X3JlYWRpbmdfcHJvY2Vzc19v dXRwdXQpOiBVcGRhdGUgY2FsbGVyIHRvIHVzZSB0aGUKbmV3IG5hbWUuCi0tLQogc3JjL2tleWJv YXJkLmMgfCA4ICsrLS0tLS0tCiBzcmMva2V5Ym9hcmQuaCB8IDIgKy0KIHNyYy9wcm9jZXNzLmMg IHwgOCArKysrLS0tLQogMyBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDExIGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9rZXlib2FyZC5jIGIvc3JjL2tleWJvYXJkLmMKaW5k ZXggYjZmYzU2OGNkZTUuLmU1ZWZkZTRlZjUzIDEwMDY0NAotLS0gYS9zcmMva2V5Ym9hcmQuYwor KysgYi9zcmMva2V5Ym9hcmQuYwpAQCAtMTE1NjUsMTQgKzExNTY1LDEwIEBAIGNsZWFyX2lucHV0 X3BlbmRpbmcgKHZvaWQpCiAgIGlucHV0X3BlbmRpbmcgPSBmYWxzZTsKIH0KIAotLyogUmV0dXJu IHRydWUgaWYgdGhlcmUgYXJlIHBlbmRpbmcgcmVxdWV1ZWQgZXZlbnRzLgotICAgVGhpcyBpc24n dCB1c2VkIHlldC4gIFRoZSBob3BlIGlzIHRvIG1ha2Ugd2FpdF9yZWFkaW5nX3Byb2Nlc3Nfb3V0 cHV0Ci0gICBjYWxsIGl0LCBhbmQgcmV0dXJuIGlmIGl0IHJ1bnMgTGlzcCBjb2RlIHRoYXQgdW5y ZWFkcyBzb21ldGhpbmcuCi0gICBUaGUgcHJvYmxlbSBpcywga2JkX2J1ZmZlcl9nZXRfZXZlbnQg bmVlZHMgdG8gYmUgZml4ZWQgdG8ga25vdyB3aGF0Ci0gICB0byBkbyBpbiB0aGF0IGNhc2UuICBJ dCBpc24ndCB0cml2aWFsLiAgKi8KKy8qIFJldHVybiB0cnVlIGlmIHRoZXJlIGFyZSBwZW5kaW5n IHJlcXVldWVkIGNvbW1hbmQgZXZlbnRzLiAgKi8KIAogYm9vbAotcmVxdWV1ZWRfZXZlbnRzX3Bl bmRpbmdfcCAodm9pZCkKK3JlcXVldWVkX2NvbW1hbmRfZXZlbnRzX3BlbmRpbmdfcCAodm9pZCkK IHsKICAgcmV0dXJuIChDT05TUCAoVnVucmVhZF9jb21tYW5kX2V2ZW50cykpOwogfQpkaWZmIC0t Z2l0IGEvc3JjL2tleWJvYXJkLmggYi9zcmMva2V5Ym9hcmQuaAppbmRleCA2OGU2OGJjMmFlMy4u NjAwYWFmMTE1MTcgMTAwNjQ0Ci0tLSBhL3NyYy9rZXlib2FyZC5oCisrKyBiL3NyYy9rZXlib2Fy ZC5oCkBAIC00ODMsNyArNDgzLDcgQEAgI2RlZmluZSBFVkVOVF9IRUFEX0tJTkQoZXZlbnRfaGVh ZCkgXAogZXh0ZXJuIGludCBnb2JibGVfaW5wdXQgKHZvaWQpOwogZXh0ZXJuIGJvb2wgaW5wdXRf cG9sbGluZ191c2VkICh2b2lkKTsKIGV4dGVybiB2b2lkIGNsZWFyX2lucHV0X3BlbmRpbmcgKHZv aWQpOwotZXh0ZXJuIGJvb2wgcmVxdWV1ZWRfZXZlbnRzX3BlbmRpbmdfcCAodm9pZCk7CitleHRl cm4gYm9vbCByZXF1ZXVlZF9jb21tYW5kX2V2ZW50c19wZW5kaW5nX3AgKHZvaWQpOwogZXh0ZXJu IHZvaWQgYmluZF9wb2xsaW5nX3BlcmlvZCAoaW50KTsKIGV4dGVybiBpbnQgbWFrZV9jdHJsX2No YXIgKGludCkgQVRUUklCVVRFX0NPTlNUOwogZXh0ZXJuIHZvaWQgc3R1ZmZfYnVmZmVyZWRfaW5w dXQgKExpc3BfT2JqZWN0KTsKZGlmZiAtLWdpdCBhL3NyYy9wcm9jZXNzLmMgYi9zcmMvcHJvY2Vz cy5jCmluZGV4IDQ4YTJjMGM4ZTUzLi42YjhiNDgzY2RmNyAxMDA2NDQKLS0tIGEvc3JjL3Byb2Nl c3MuYworKysgYi9zcmMvcHJvY2Vzcy5jCkBAIC01NDM5LDcgKzU0MzksNyBAQCB3YWl0X3JlYWRp bmdfcHJvY2Vzc19vdXRwdXQgKGludG1heF90IHRpbWVfbGltaXQsIGludCBuc2VjcywgaW50IHJl YWRfa2JkLAogCiAJICAvKiBJZiB0aGVyZSBpcyB1bnJlYWQga2V5Ym9hcmQgaW5wdXQsIGFsc28g cmV0dXJuLiAgKi8KIAkgIGlmIChyZWFkX2tiZCAhPSAwCi0JICAgICAgJiYgcmVxdWV1ZWRfZXZl bnRzX3BlbmRpbmdfcCAoKSkKKwkgICAgICAmJiByZXF1ZXVlZF9jb21tYW5kX2V2ZW50c19wZW5k aW5nX3AgKCkpCiAJICAgIGJyZWFrOwogCiAgICAgICAgICAgLyogVGhpcyBpcyBzbyBhIGJyZWFr cG9pbnQgY2FuIGJlIHB1dCBoZXJlLiAgKi8KQEAgLTU4NDksNyArNTg0OSw3IEBAIHdhaXRfcmVh ZGluZ19wcm9jZXNzX291dHB1dCAoaW50bWF4X3QgdGltZV9saW1pdCwgaW50IG5zZWNzLCBpbnQg cmVhZF9rYmQsCiAKICAgICAgIC8qIElmIHRoZXJlIGlzIHVucmVhZCBrZXlib2FyZCBpbnB1dCwg YWxzbyByZXR1cm4uICAqLwogICAgICAgaWYgKHJlYWRfa2JkICE9IDAKLQkgICYmIHJlcXVldWVk X2V2ZW50c19wZW5kaW5nX3AgKCkpCisJICAmJiByZXF1ZXVlZF9jb21tYW5kX2V2ZW50c19wZW5k aW5nX3AgKCkpCiAJYnJlYWs7CiAKICAgICAgIC8qIElmIHdlIGFyZSBub3QgY2hlY2tpbmcgZm9y IGtleWJvYXJkIGlucHV0IG5vdywKQEAgLTgwMzYsNyArODAzNiw3IEBAIHdhaXRfcmVhZGluZ19w cm9jZXNzX291dHB1dCAoaW50bWF4X3QgdGltZV9saW1pdCwgaW50IG5zZWNzLCBpbnQgcmVhZF9r YmQsCiAKIAkgIC8qIElmIHRoZXJlIGlzIHVucmVhZCBrZXlib2FyZCBpbnB1dCwgYWxzbyByZXR1 cm4uICAqLwogCSAgaWYgKHJlYWRfa2JkICE9IDAKLQkgICAgICAmJiByZXF1ZXVlZF9ldmVudHNf cGVuZGluZ19wICgpKQorCSAgICAgICYmIHJlcXVldWVkX2NvbW1hbmRfZXZlbnRzX3BlbmRpbmdf cCAoKSkKIAkgICAgYnJlYWs7CiAKIAkgIGlmICh0aW1lc3BlY192YWxpZF9wICh0aW1lcl9kZWxh eSkpCkBAIC04MTA5LDcgKzgxMDksNyBAQCB3YWl0X3JlYWRpbmdfcHJvY2Vzc19vdXRwdXQgKGlu dG1heF90IHRpbWVfbGltaXQsIGludCBuc2VjcywgaW50IHJlYWRfa2JkLAogCiAgICAgICAvKiBJ ZiB0aGVyZSBpcyB1bnJlYWQga2V5Ym9hcmQgaW5wdXQsIGFsc28gcmV0dXJuLiAgKi8KICAgICAg IGlmIChyZWFkX2tiZAotCSAgJiYgcmVxdWV1ZWRfZXZlbnRzX3BlbmRpbmdfcCAoKSkKKwkgICYm IHJlcXVldWVkX2NvbW1hbmRfZXZlbnRzX3BlbmRpbmdfcCAoKSkKIAlicmVhazsKIAogICAgICAg LyogSWYgd2FpdF9mb3JfY2VsbC4gY2hlY2sgZm9yIGtleWJvYXJkIGlucHV0Ci0tIAoyLjQ0LjAK Cg== --=-S+praMyoVfo42qlG581q Content-Disposition: attachment; filename*0=0003-src-keyboard.c-requeued_events_pending_p-New-functio.pat; filename*1=ch Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="0003-src-keyboard.c-requeued_events_pending_p-New-functio.patch"; charset="UTF-8" RnJvbSAxNzU5M2IyYzFlNzMxM2IxNTZlY2M3MDc3YWFhMDE5MjkwYjhhMDk2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUaW0gUnVmZmluZyA8Y3J5cHRvQHRpbXJ1ZmZpbmcuZGU+CkRh dGU6IFdlZCwgMjcgRGVjIDIwMjMgMTQ6Mjk6MzQgKzAxMDAKU3ViamVjdDogW1BBVENIIDMvNV0g KiBzcmMva2V5Ym9hcmQuYyAocmVxdWV1ZWRfZXZlbnRzX3BlbmRpbmdfcCk6IE5ldwogZnVuY3Rp b24KCiogc3JjL2tleWJvYXJkLmMsIHNyYy9rZXlib2FyZC5oIChyZXF1ZXVlZF9ldmVudHNfcGVu ZGluZ19wKTogQWRkCmZ1bmN0aW9uICdyZXF1ZXVlZF9ldmVudHNfcGVuZGluZ19wJyAod2hvc2Ug bmFtZSB3YXMgbWFkZSBhdmFpbGFibGUgaW4KdGhlIHByZXZpb3VzIGNvbW1pdCkuIEFzIG9wcG9z ZWQgdG8gdGhlIHByZXZpb3VzIGZ1bmN0aW9uIHdpdGggdGhlIHNhbWUKbmFtZSwgdGhlIG5ldyBm dW5jdGlvbiBjb3ZlcnMgYm90aCBjb21tYW5kIGFuZCBvdGhlciBldmVudHMuCiogc3JjL2tleWJv YXJkLmMgKEZpbnB1dF9wZW5kaW5nX3ApOiBVc2UgdGhlIG5ldyBmdW5jdGlvbi4KLS0tCiBzcmMv a2V5Ym9hcmQuYyB8IDE1ICsrKysrKysrKysrKy0tLQogc3JjL2tleWJvYXJkLmggfCAgMSArCiAy IGZpbGVzIGNoYW5nZWQsIDEzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvc3JjL2tleWJvYXJkLmMgYi9zcmMva2V5Ym9hcmQuYwppbmRleCBlNWVmZGU0ZWY1My4u Yzg5ODk4OGRjNWYgMTAwNjQ0Ci0tLSBhL3NyYy9rZXlib2FyZC5jCisrKyBiL3NyYy9rZXlib2Fy ZC5jCkBAIC0xMTU3Myw2ICsxMTU3MywxNyBAQCByZXF1ZXVlZF9jb21tYW5kX2V2ZW50c19wZW5k aW5nX3AgKHZvaWQpCiAgIHJldHVybiAoQ09OU1AgKFZ1bnJlYWRfY29tbWFuZF9ldmVudHMpKTsK IH0KIAorLyogUmV0dXJuIHRydWUgaWYgdGhlcmUgYXJlIGFueSBwZW5kaW5nIHJlcXVldWVkIGV2 ZW50cyAoY29tbWFuZCBldmVudHMKKyAgIG9yIGV2ZW50cyB0byBiZSBwcm9jZXNzZWQgYnkgaW5w dXQgbWV0aG9kcykuICAqLworCitib29sCityZXF1ZXVlZF9ldmVudHNfcGVuZGluZ19wICh2b2lk KQoreworICByZXR1cm4gKHJlcXVldWVkX2NvbW1hbmRfZXZlbnRzX3BlbmRpbmdfcCAoKQorCSAg fHwgIU5JTFAgKFZ1bnJlYWRfcG9zdF9pbnB1dF9tZXRob2RfZXZlbnRzKQorCSAgfHwgIU5JTFAg KFZ1bnJlYWRfaW5wdXRfbWV0aG9kX2V2ZW50cykpOworfQorCiBERUZVTiAoImlucHV0LXBlbmRp bmctcCIsIEZpbnB1dF9wZW5kaW5nX3AsIFNpbnB1dF9wZW5kaW5nX3AsIDAsIDEsIDAsCiAgICAg ICAgZG9jOiAvKiBSZXR1cm4gdCBpZiBjb21tYW5kIGlucHV0IGlzIGN1cnJlbnRseSBhdmFpbGFi bGUgd2l0aCBubyB3YWl0LgogQWN0dWFsbHksIHRoZSB2YWx1ZSBpcyBuaWwgb25seSBpZiB3ZSBj YW4gYmUgc3VyZSB0aGF0IG5vIGlucHV0IGlzIGF2YWlsYWJsZTsKQEAgLTExNTgxLDkgKzExNTky LDcgQEAgREVGVU4gKCJpbnB1dC1wZW5kaW5nLXAiLCBGaW5wdXRfcGVuZGluZ19wLCBTaW5wdXRf cGVuZGluZ19wLCAwLCAxLCAwLAogSWYgQ0hFQ0stVElNRVJTIGlzIG5vbi1uaWwsIHRpbWVycyB0 aGF0IGFyZSByZWFkeSB0byBydW4gd2lsbCBkbyBzby4gICovKQogICAoTGlzcF9PYmplY3QgY2hl Y2tfdGltZXJzKQogewotICBpZiAoQ09OU1AgKFZ1bnJlYWRfY29tbWFuZF9ldmVudHMpCi0gICAg ICB8fCAhTklMUCAoVnVucmVhZF9wb3N0X2lucHV0X21ldGhvZF9ldmVudHMpCi0gICAgICB8fCAh TklMUCAoVnVucmVhZF9pbnB1dF9tZXRob2RfZXZlbnRzKSkKKyAgaWYgKHJlcXVldWVkX2V2ZW50 c19wZW5kaW5nX3AgKCkpCiAgICAgcmV0dXJuIChRdCk7CiAKICAgLyogUHJvY2VzcyBub24tdXNl ci12aXNpYmxlIGV2ZW50cyAoQnVnIzEwMTk1KS4gICovCmRpZmYgLS1naXQgYS9zcmMva2V5Ym9h cmQuaCBiL3NyYy9rZXlib2FyZC5oCmluZGV4IDYwMGFhZjExNTE3Li4yY2UwMDNmZDQ0NCAxMDA2 NDQKLS0tIGEvc3JjL2tleWJvYXJkLmgKKysrIGIvc3JjL2tleWJvYXJkLmgKQEAgLTQ4NCw2ICs0 ODQsNyBAQCAjZGVmaW5lIEVWRU5UX0hFQURfS0lORChldmVudF9oZWFkKSBcCiBleHRlcm4gYm9v bCBpbnB1dF9wb2xsaW5nX3VzZWQgKHZvaWQpOwogZXh0ZXJuIHZvaWQgY2xlYXJfaW5wdXRfcGVu ZGluZyAodm9pZCk7CiBleHRlcm4gYm9vbCByZXF1ZXVlZF9jb21tYW5kX2V2ZW50c19wZW5kaW5n X3AgKHZvaWQpOworZXh0ZXJuIGJvb2wgcmVxdWV1ZWRfZXZlbnRzX3BlbmRpbmdfcCAodm9pZCk7 CiBleHRlcm4gdm9pZCBiaW5kX3BvbGxpbmdfcGVyaW9kIChpbnQpOwogZXh0ZXJuIGludCBtYWtl X2N0cmxfY2hhciAoaW50KSBBVFRSSUJVVEVfQ09OU1Q7CiBleHRlcm4gdm9pZCBzdHVmZl9idWZm ZXJlZF9pbnB1dCAoTGlzcF9PYmplY3QpOwotLSAKMi40NC4wCgo= --=-S+praMyoVfo42qlG581q Content-Disposition: attachment; filename*0=0004-Continue-reading-in-read-event-etc.-at-the-end-of-a-.pat; filename*1=ch Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="0004-Continue-reading-in-read-event-etc.-at-the-end-of-a-.patch"; charset="UTF-8" RnJvbSA2YmUwZjVmNmM0MjUzY2VmZDM1MGIyM2M3OWU0NjkwNThkNmM1ODljIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUaW0gUnVmZmluZyA8Y3J5cHRvQHRpbXJ1ZmZpbmcuZGU+CkRh dGU6IFdlZCwgMjcgRGVjIDIwMjMgMTQ6MzI6MDkgKzAxMDAKU3ViamVjdDogW1BBVENIIDQvNV0g Q29udGludWUgcmVhZGluZyBpbiAncmVhZC1ldmVudCcgZXRjLiBhdCB0aGUgZW5kIG9mIGEKIGtl eWJvYXJkIG1hY3JvCgpUaGlzIGZpeGVzIGEgYnVnIHRoYXQgY291bGQgbWFrZSAncmVhZC1ldmVu dCcsICdyZWFkLWNoYXInLCBhbmQKJ3JlYWQtY2hhci1leGNsdXNpdmUnIGVycm9uZW91c2x5IHJl dHVybiAtMSwgYW4gaW50ZXJuYWwgbWFnaWMgcmV0dXJuCnZhbHVlIG9mICdyZWFkX2NoYXInIGxl YWtlZCBmcm9tIEMgdG8gbGlzcC4gSW5zdGVhZCBvZiByZXR1cm5pbmcgLTEsIHRoZQphZm9yZW1l bnRpb25lZCBsaXNwIGZ1bmN0aW9ucyBub3cgdHJhbnNwYXJlbnRseSBjb250aW51ZSByZWFkaW5n CmF2YWlsYWJsZSBpbnB1dCAoZS5nLiwgZnJvbSB0aGUga2V5Ym9hcmQpIHdoZW4gcmVhY2hpbmcg dGhlIGVuZCBvZiBhCmtleWJvYXJkIG1hY3JvLgoqIHNyYy9rZXlib2FyZC5jIChyZWFkX2NoYXIs IHJlYWRfa2V5X3NlcXVlbmNlKTogTW92ZSBoYW5kbGluZwpvZiB0aGUgZW5kIG9mIGEga2V5Ym9h cmQgbWFjcm8gZnJvbSAncmVhZF9jaGFyJyB0byBpdHMgY2FsbGVyCidyZWFkX2tleV9zZXF1ZW5j ZScsIHdoaWNoIGlzIHRoZSBvbmx5IGNhbGxlciB0aGF0IGNhbgptZWFuaW5nZnVsbHkgZGVhbCB3 aXRoIHRoaXMgY2FzZS4KKiBzcmMvbWFjcm9zLmMgKEZleGVjdXRlX2tiZF9tYWNybyk6IERvY3Vt ZW50IGhvdyB0aGUgZW5kIG9mIGtleWJvYXJkCm1hY3JvIGlzIHByb2Nlc3NlZC4KLS0tCiBzcmMv a2V5Ym9hcmQuYyB8IDM5ICsrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQog c3JjL21hY3Jvcy5jICAgfCAyMyArKysrKysrKysrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFu Z2VkLCAzOCBpbnNlcnRpb25zKCspLCAyNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMv a2V5Ym9hcmQuYyBiL3NyYy9rZXlib2FyZC5jCmluZGV4IGM4OTg5ODhkYzVmLi5lMzRkMWI1NDkx ZCAxMDA2NDQKLS0tIGEvc3JjL2tleWJvYXJkLmMKKysrIGIvc3JjL2tleWJvYXJkLmMKQEAgLTI2 MjAsNyArMjYyMCw4IEBAIHJlYWRfY2hhciAoaW50IGNvbW1hbmRmbGFnLCBMaXNwX09iamVjdCBt YXAsCiAgICAgICBnb3RvIHJlcmVhZF9mb3JfaW5wdXRfbWV0aG9kOwogICAgIH0KIAotICBpZiAo IU5JTFAgKFZleGVjdXRpbmdfa2JkX21hY3JvKSkKKyAgLyogSWYgd2UncmUgZXhlY3V0aW5nIGEg bWFjcm8sIHByb2Nlc3MgaXQgdW5sZXNzIHdlIGFyZSBhdCBpdHMgZW5kLiAqLworICBpZiAoIU5J TFAgKFZleGVjdXRpbmdfa2JkX21hY3JvKSAmJiAhYXRfZW5kX29mX21hY3JvX3AgKCkpCiAgICAg ewogICAgICAgLyogV2Ugc2V0IHRoaXMgdG8gUW1hY3JvOyBzaW5jZSB0aGF0J3Mgbm90IGEgZnJh bWUsIG5vYm9keSB3aWxsCiAJIHRyeSB0byBzd2l0Y2ggZnJhbWVzIG9uIHVzLCBhbmQgdGhlIHNl bGVjdGVkIHdpbmRvdyB3aWxsCkBAIC0yNjM0LDE1ICsyNjM1LDYgQEAgcmVhZF9jaGFyIChpbnQg Y29tbWFuZGZsYWcsIExpc3BfT2JqZWN0IG1hcCwKIAkgc2VsZWN0ZWQuICAqLwogICAgICAgVmxh c3RfZXZlbnRfZnJhbWUgPSBpbnRlcm5hbF9sYXN0X2V2ZW50X2ZyYW1lID0gUW1hY3JvOwogCi0g ICAgICAvKiBFeGl0IHRoZSBtYWNybyBpZiB3ZSBhcmUgYXQgdGhlIGVuZC4KLQkgQWxzbywgc29t ZSB0aGluZ3MgcmVwbGFjZSB0aGUgbWFjcm8gd2l0aCB0Ci0JIHRvIGZvcmNlIGFuIGVhcmx5IGV4 aXQuICAqLwotICAgICAgaWYgKGF0X2VuZF9vZl9tYWNyb19wICgpKQotCXsKLQkgIFhTRVRJTlQg KGMsIC0xKTsKLQkgIGdvdG8gZXhpdDsKLQl9Ci0KICAgICAgIGMgPSBGYXJlZiAoVmV4ZWN1dGlu Z19rYmRfbWFjcm8sIG1ha2VfaW50IChleGVjdXRpbmdfa2JkX21hY3JvX2luZGV4KSk7CiAgICAg ICBpZiAoU1RSSU5HUCAoVmV4ZWN1dGluZ19rYmRfbWFjcm8pCiAJICAmJiAoWEZJWE5BVCAoYykg JiAweDgwKSAmJiAoWEZJWE5BVCAoYykgPD0gMHhmZikpCkBAIC0xMDY5NCw4ICsxMDY4NiwxOSBA QCByZWFkX2tleV9zZXF1ZW5jZSAoTGlzcF9PYmplY3QgKmtleWJ1ZiwgTGlzcF9PYmplY3QgcHJv bXB0LAogCSAgICB9CiAJICB1c2VkX21vdXNlX21lbnUgPSB1c2VkX21vdXNlX21lbnVfaGlzdG9y eVt0XTsKIAl9Ci0KLSAgICAgIC8qIElmIG5vdCwgd2Ugc2hvdWxkIGFjdHVhbGx5IHJlYWQgYSBj aGFyYWN0ZXIuICAqLworICAgICAgLyogSWYgd2UncmUgYXQgdGhlIGVuZCBvZiBhIG1hY3JvLCBl eGl0IGl0IGJ5IHJldHVybmluZyAwLAorCSB1bmxlc3MgdGhlcmUgYXJlIHVucmVhZCBldmVudHMg cGVuZGluZy4gICovCisgICAgICBlbHNlIGlmICghTklMUCAoVmV4ZWN1dGluZ19rYmRfbWFjcm8p CisJICAmJiBhdF9lbmRfb2ZfbWFjcm9fcCAoKQorCSAgJiYgIXJlcXVldWVkX2V2ZW50c19wZW5k aW5nX3AgKCkpCisJeworCSAgdCA9IDA7CisJICAvKiBUaGUgTWljcm9zb2Z0IEMgY29tcGlsZXIg Y2FuJ3QgaGFuZGxlIHRoZSBnb3RvIHRoYXQKKwkgICAgIHdvdWxkIGdvIGhlcmUuICAqLworCSAg ZHVtbXlmbGFnID0gdHJ1ZTsKKwkgIGJyZWFrOworCX0KKyAgICAgIC8qIE90aGVyd2lzZSwgd2Ug c2hvdWxkIGFjdHVhbGx5IHJlYWQgYSBjaGFyYWN0ZXIuICAqLwogICAgICAgZWxzZQogCXsKIAkg IHsKQEAgLTEwNzg3LDE4ICsxMDc5MCw2IEBAIHJlYWRfa2V5X3NlcXVlbmNlIChMaXNwX09iamVj dCAqa2V5YnVmLCBMaXNwX09iamVjdCBwcm9tcHQsCiAJICAgICAgcmV0dXJuIC0xOwogCSAgICB9 CiAKLQkgIC8qIHJlYWRfY2hhciByZXR1cm5zIC0xIGF0IHRoZSBlbmQgb2YgYSBtYWNyby4KLQkg ICAgIEVtYWNzIDE4IGhhbmRsZXMgdGhpcyBieSByZXR1cm5pbmcgaW1tZWRpYXRlbHkgd2l0aCBh Ci0JICAgICB6ZXJvLCBzbyB0aGF0J3Mgd2hhdCB3ZSdsbCBkby4gICovCi0JICBpZiAoRklYTlVN UCAoa2V5KSAmJiBYRklYTlVNIChrZXkpID09IC0xKQotCSAgICB7Ci0JICAgICAgdCA9IDA7Ci0J ICAgICAgLyogVGhlIE1pY3Jvc29mdCBDIGNvbXBpbGVyIGNhbid0IGhhbmRsZSB0aGUgZ290byB0 aGF0Ci0JCSB3b3VsZCBnbyBoZXJlLiAgKi8KLQkgICAgICBkdW1teWZsYWcgPSB0cnVlOwotCSAg ICAgIGJyZWFrOwotCSAgICB9Ci0KIAkgIC8qIElmIHRoZSBjdXJyZW50IGJ1ZmZlciBoYXMgYmVl biBjaGFuZ2VkIGZyb20gdW5kZXIgdXMsIHRoZQogCSAgICAga2V5bWFwIG1heSBoYXZlIGNoYW5n ZWQsIHNvIHJlcGxheSB0aGUgc2VxdWVuY2UuICAqLwogCSAgaWYgKEJVRkZFUlAgKGtleSkpCmRp ZmYgLS1naXQgYS9zcmMvbWFjcm9zLmMgYi9zcmMvbWFjcm9zLmMKaW5kZXggNjIxMjliZTE2Mjku Ljk4MjkwZTdlMjc2IDEwMDY0NAotLS0gYS9zcmMvbWFjcm9zLmMKKysrIGIvc3JjL21hY3Jvcy5j CkBAIC0zMTQsNiArMzE0LDI5IEBAIERFRlVOICgiZXhlY3V0ZS1rYmQtbWFjcm8iLCBGZXhlY3V0 ZV9rYmRfbWFjcm8sIFNleGVjdXRlX2tiZF9tYWNybywgMSwgMywgMCwKIAkJICAgICAgVnJlYWxf dGhpc19jb21tYW5kKSk7CiAgIHJlY29yZF91bndpbmRfcHJvdGVjdCAocG9wX2tiZF9tYWNybywg dGVtKTsKIAorICAvKiBUaGUgZm9sbG93aW5nIGxvb3Agc3RhcnRzIHRoZSBleGVjdXRpb24gb2Yg dGhlIG1hY3JvLiAgSW5kaXZpZHVhbAorICAgICBjaGFyYWN0ZXJzIGZyb20gdGhlIG1hY3JvIGFy ZSByZWFkIGJ5IHJlYWRfY2hhciwgd2hpY2ggdGFrZXMgY2FyZQorICAgICBvZiBpbmNyZW1lbnRp bmcgZXhlY3V0aW5nX2tiZF9tYWNyb19pbmRleC4gIFRoZSBlbmQgb2YgdGhlCisgICAgIG1hY3Jv IGlzIGhhbmRsZWQgYXMgZm9sbG93czoKKyAgICAgLSByZWFkX2tleV9zZXF1ZW5jZSBhc2tzIGF0 X2VuZF9vZl9tYWNyb19wIHdoZXRoZXIgdGhlIGVuZCBvZgorICAgICAob25lIGl0ZXJhdGlvbiBv ZiB0aGUgbWFjcm8pIGhhcyBiZWVuIHJlYWNoZWQuICBJZiBzbywgaXQgcmV0dXJucworICAgICB0 aGUgbWFnaWMgdmFsdWUgMCB0byBjb21tYW5kX2xvb3BfMS4KKyAgICAgLSBjb21tYW5kX2xvb3Bf MSByZXR1cm5zIFFuaWwgdG8gY29tbWFuZF9sb29wXzIuCisgICAgIC0gY29tbWFuZF9sb29wXzIg cmV0dXJucyBRbmlsIHRvIHRoaXMgZnVuY3Rpb24KKyAgICAgICAoYnV0IG9ubHkgdGhlIHJldHVy bmluZyBpcyByZWxldmFudCwgbm90IHRoZSBhY3R1YWwgdmFsdWUpLgorCisgICAgIElmIHJlYWRf Y2hhciBoYXBwZW5zIHRvIGJlIGNhbGxlZCBhdCB0aGUgZW5kIG9mIHRoZSBtYWNybywgYnV0Cisg ICAgIGJlZm9yZSByZWFkX2tleV9zZXF1ZW5jZSBjb3VsZCBoYW5kbGUgdGhlIGVuZCAoZS5nLiwg YmVjYXVzZSBsaXNwCisgICAgIGNvZGUgY2FsbHMgJ3JlYWQtZXZlbnQnLCAncmVhZC1jaGFyJywg YW5kICdyZWFkLWNoYXItZXhjbHVzaXZlJyksCisgICAgIHJlYWRfY2hhciB3aWxsIHNpbXBseSBj b250aW51ZSByZWFkaW5nIG90aGVyIGF2YWlsYWJsZSBpbnB1dAorICAgICAoQnVnIzY4MjcyKS4K KworICAgICBOb3RlIHRoYXQgdGhpcyBpcyBzaW1pbGFyIChpbiBvYnNlcnZhYmxlIGJlaGF2aW9y KSB0byBhIHNpbXBsZXIKKyAgICAgaW1wbGVtZW50YXRpb24gb2Yga2V5Ym9hcmQgbWFjcm9zIGlu IHdoaWNoIHRoaXMgZnVuY3Rpb24gc2ltcGx5CisgICAgIHB1c2hlZCBhbGwgY2hhcmFjdGVycyBv ZiB0aGUgbWFjcm8gaW50byB0aGUgaW5jb21pbmcgZXZlbnQgcXVldWUKKyAgICAgYW5kIHJldHVy bmVkIGltbWVkaWF0ZWx5LiAgTWF5YmUgdGhpcyBpcyB0aGUgaW1wbGVtZW50YXRpb24gdGhhdAor ICAgICB3ZSBpZGVhbGx5IHdvdWxkIGxpa2UgdG8gaGF2ZSwgYnV0IHN3aXRjaGluZyB0byBpdCB3 aWxsIHJlcXVpcmUKKyAgICAgYSBsYXJnZXIgY29kZSBjaGFuZ2UuICAqLwogICBkbwogICAgIHsK ICAgICAgIFZleGVjdXRpbmdfa2JkX21hY3JvID0gZmluYWw7Ci0tIAoyLjQ0LjAKCg== --=-S+praMyoVfo42qlG581q Content-Disposition: attachment; filename="0005-Remove-workarounds-for-solved-read-event-bug.patch" Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="0005-Remove-workarounds-for-solved-read-event-bug.patch"; charset="UTF-8" RnJvbSA5NjY4NGJkMGRkNWIyZWQ3MDFlM2I0NDBhYmQyMTBkZDljNmZkZmQ2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUaW0gUnVmZmluZyA8Y3J5cHRvQHRpbXJ1ZmZpbmcuZGU+CkRh dGU6IFdlZCwgMjcgRGVjIDIwMjMgMTQ6MzI6MDkgKzAxMDAKU3ViamVjdDogW1BBVENIIDUvNV0g UmVtb3ZlIHdvcmthcm91bmRzIGZvciBzb2x2ZWQgJ3JlYWQtZXZlbnQnIGJ1ZwoKKiBsaXNwL3N1 YnIuZWwgKHJlYWQtY2hhci1jaG9pY2Utd2l0aC1yZWFkLWtleSk6CiogbGlzcC9uZXQvZGJ1cy5l bCAoZGJ1cy1jYWxsLW1ldGhvZCk6CiogbGlzcC9jYWxjL2NhbGMtcHJvZy5lbDoKUmVtb3ZlIHdv cmthcm91bmRzIGZvciB0aGUgYnVnIGZpeGVkIGluIHRoZSBwcmV2aW91cyBjb21taXQKYWM4MmJh ZWExYzQxZWM5NzRhZDQ5ZjI4NjFhZTZjMDZiZGEyYjRlZCwgd2hlcmUgJ3JlYWQtZXZlbnQnLAon cmVhZC1jaGFyJyBhbmQgJ3JlYWQtY2hhci1leGNsdXNpdmVseScgY291bGQgcmV0dXJuIHdyb25n bHkgLTEuCkluIHRoZSBjYXNlIG9mIGxpc3AvZGJ1cy5lbCwgdGhpcyByZXZlcnRzIGNvbW1pdAo3 MTc3MzkzODI2YzczYzg3ZmZlOWI0MjhmMGU1ZWRhZTI0NGQ3YTk4LgotLS0KIGxpc3AvY2FsYy9j YWxjLXByb2cuZWwgfCA2IC0tLS0tLQogbGlzcC9uZXQvZGJ1cy5lbCAgICAgICB8IDYgKy0tLS0t CiBsaXNwL3N1YnIuZWwgICAgICAgICAgIHwgNSAtLS0tLQogMyBmaWxlcyBjaGFuZ2VkLCAxIGlu c2VydGlvbigrKSwgMTYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGlzcC9jYWxjL2NhbGMt cHJvZy5lbCBiL2xpc3AvY2FsYy9jYWxjLXByb2cuZWwKaW5kZXggMDMyMTA5OTVlYjMuLjE3N2Mx Nzk0MzNkIDEwMDY0NAotLS0gYS9saXNwL2NhbGMvY2FsYy1wcm9nLmVsCisrKyBiL2xpc3AvY2Fs Yy9jYWxjLXByb2cuZWwKQEAgLTEyMzAsOCArMTIzMCw2IEBAIGNhbGMta2JkLXNraXAtdG8tZWxz ZS1pZgogCWNoKQogICAgICh3aGlsZSAoPj0gY291bnQgMCkKICAgICAgIChzZXRxIGNoIChyZWFk LWNoYXIpKQotICAgICAgKGlmICg9IGNoIC0xKQotCSAgKGVycm9yICJVbnRlcm1pbmF0ZWQgWlsg aW4ga2V5Ym9hcmQgbWFjcm8iKSkKICAgICAgIChpZiAoPSBjaCA/WikKIAkgIChwcm9nbgogCSAg ICAoc2V0cSBjaCAocmVhZC1jaGFyKSkKQEAgLTEzMDAsOCArMTI5OCw2IEBAIGNhbGMta2JkLWxv b3AKIAkobWVzc2FnZSAiUmVhZGluZyBsb29wIGJvZHkuLi4iKSkKICAgICAod2hpbGUgKD49IGNv dW50IDApCiAgICAgICAoc2V0cSBjaCAocmVhZC1ldmVudCkpCi0gICAgICAoaWYgKGVxIGNoIC0x KQotCSAgKGVycm9yICJVbnRlcm1pbmF0ZWQgWiVjIGluIGtleWJvYXJkIG1hY3JvIiBvcGVuKSkK ICAgICAgIChpZiAoZXEgY2ggP1opCiAJICAocHJvZ24KIAkgICAgKHNldHEgY2ggKHJlYWQtZXZl bnQpCkBAIC0xNDI4LDggKzE0MjQsNiBAQCBjYWxjLWtiZC1wdXNoCiAJICAgICAgIChtZXNzYWdl ICJSZWFkaW5nIGJvZHkuLi4iKSkKIAkgICAod2hpbGUgKD49IGNvdW50IDApCiAJICAgICAoc2V0 cSBjaCAocmVhZC1jaGFyKSkKLQkgICAgIChpZiAoPSBjaCAtMSkKLQkJIChlcnJvciAiVW50ZXJt aW5hdGVkIFpgIGluIGtleWJvYXJkIG1hY3JvIikpCiAJICAgICAoaWYgKD0gY2ggP1opCiAJCSAo cHJvZ24KIAkJICAgKHNldHEgY2ggKHJlYWQtY2hhcikKZGlmZiAtLWdpdCBhL2xpc3AvbmV0L2Ri dXMuZWwgYi9saXNwL25ldC9kYnVzLmVsCmluZGV4IDc3YjMzNGU3MDRlLi40NmY4NWRhYmEyNCAx MDA2NDQKLS0tIGEvbGlzcC9uZXQvZGJ1cy5lbAorKysgYi9saXNwL25ldC9kYnVzLmVsCkBAIC0z NzEsMTEgKzM3MSw3IEBAIGRidXMtY2FsbC1tZXRob2QKIAkgKGFwcGx5CiAgICAgICAgICAgIydk YnVzLW1lc3NhZ2UtaW50ZXJuYWwgZGJ1cy1tZXNzYWdlLXR5cGUtbWV0aG9kLWNhbGwKICAgICAg ICAgICBidXMgc2VydmljZSBwYXRoIGludGVyZmFjZSBtZXRob2QgIydkYnVzLWNhbGwtbWV0aG9k LWhhbmRsZXIgYXJncykpCi0gICAgICAgIChyZXN1bHQgKHVubGVzcyBleGVjdXRpbmcta2JkLW1h Y3JvIChjb25zIDpwZW5kaW5nIG5pbCkpKSkKLQotICAgIDs7IFdoaWxlIGV4ZWN1dGluZyBhIGtl eWJvYXJkIG1hY3JvLCB3ZSBydW4gaW50byBhbiBpbmZpbml0ZSBsb29wLAotICAgIDs7IHJlY2Vp dmluZyB0aGUgZXZlbnQgLTEuICBTbyB3ZSBkb24ndCB0cnkgdG8gZ2V0IHRoZSByZXN1bHQuCi0g ICAgOzsgKEJ1ZyM2MjAxOCkKKyAgICAgICAgKHJlc3VsdCAoY29ucyA6cGVuZGluZyBuaWwpKSkK IAogICAgIDs7IFdhaXQgdW50aWwgYGRidXMtY2FsbC1tZXRob2QtaGFuZGxlcicgaGFzIHB1dCB0 aGUgcmVzdWx0IGludG8KICAgICA7OyBgZGJ1cy1yZXR1cm4tdmFsdWVzLXRhYmxlJy4gIElmIG5v IHRpbWVvdXQgaXMgZ2l2ZW4sIHVzZSB0aGUKZGlmZiAtLWdpdCBhL2xpc3Avc3Vici5lbCBiL2xp c3Avc3Vici5lbAppbmRleCBkNThmOGJhM2IyNy4uY2U5MzNlM2JmZGMgMTAwNjQ0Ci0tLSBhL2xp c3Avc3Vici5lbAorKysgYi9saXNwL3N1YnIuZWwKQEAgLTM1NTQsMTEgKzM1NTQsNiBAQCByZWFk LWNoYXItY2hvaWNlLXdpdGgtcmVhZC1rZXkKIAkJIChoZWxwLWZvcm0tc2hvdykpKQogCSAgICgo bWVtcSBjaGFyIGNoYXJzKQogCSAgICAoc2V0cSBkb25lIHQpKQotCSAgICgoYW5kIGV4ZWN1dGlu Zy1rYmQtbWFjcm8gKD0gY2hhciAtMSkpCi0JICAgIDs7IHJlYWQtZXZlbnQgcmV0dXJucyAtMSBp ZiB3ZSBhcmUgaW4gYSBrYmQgbWFjcm8gYW5kCi0JICAgIDs7IHRoZXJlIGFyZSBubyBtb3JlIGV2 ZW50cyBpbiB0aGUgbWFjcm8uICBBdHRlbXB0IHRvCi0JICAgIDs7IGdldCBhbiBldmVudCBpbnRl cmFjdGl2ZWx5LgotCSAgICAoc2V0cSBleGVjdXRpbmcta2JkLW1hY3JvIG5pbCkpCiAJICAgKChu b3QgaW5oaWJpdC1rZXlib2FyZC1xdWl0KQogCSAgICAoY29uZAogCSAgICAgKChhbmQgKG51bGwg ZXNjLWZsYWcpIChlcSBjaGFyID9cZSkpCi0tIAoyLjQ0LjAKCg== --=-S+praMyoVfo42qlG581q-- From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 05 08:11:30 2024 Received: (at 68272) by debbugs.gnu.org; 5 Mar 2024 13:11:30 +0000 Received: from localhost ([127.0.0.1]:46947 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rhUZu-0000Xq-An for submit@debbugs.gnu.org; Tue, 05 Mar 2024 08:11:30 -0500 Received: from eggs.gnu.org ([209.51.188.92]:43414) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rhUZr-0000Xa-Ju for 68272@debbugs.gnu.org; Tue, 05 Mar 2024 08:11:28 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rhUZH-0005ot-2k; Tue, 05 Mar 2024 08:10:51 -0500 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=/Mj4NZacVzmJMPvHlJfye8jYyJpEnQ/YJnRJxFPDt0M=; b=e7NgDmxpWhso393/TeVh GHWQcTC4v4hRHwvZz6mu7ETf/IxqmSs7wnf8/8sBSdv9Qpkpb/5ds6+GvgnlEbzGyw1fcmidf9To+ vG7/0sky9Er6Vska3d3dx54Ws0zFQqH2b7HVMfYuh/GxpwrwcNfjJrP6rsL4YGp+N6LqFo+hNZ5+Q OSXvoQtLMyOVdIPQvyluo7W4RVnk2mUdeNRnnVTN/kPzyqnDSaxnNnurLTUfOj4XqmSAAGCDEVHB5 arhqCMvu55T+6gJHErl7Pn3aVKqYVqlXBxnASeES9YZcOaupDF19vicXfudfWyD2T71czQ7Uk2wOf Zfqo6A8WFmk7rQ==; Date: Tue, 05 Mar 2024 15:10:39 +0200 Message-Id: <86sf14lt80.fsf@gnu.org> From: Eli Zaretskii To: Tim Ruffing In-Reply-To: <933c41e932327b6c149706ca251c18046d9ffb8b.camel@timruffing.de> (message from Tim Ruffing on Mon, 04 Mar 2024 19:42:09 +0100) Subject: Re: bug#68272: [PATCH] Fix -1 leaking from C to lisp in 'read-event' etc. References: <46480759b6d89b5a4864e8ee1b986817366a56e5.camel@timruffing.de> <83wmsmucuo.fsf@gnu.org> <1b3fa12138838a3fe5643a9e76a65d32a677e34d.camel@timruffing.de> <33de23a45d00e23ddfebb24d16db95d638ac96f1.camel@timruffing.de> <933c41e932327b6c149706ca251c18046d9ffb8b.camel@timruffing.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: 68272 Cc: 68272@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: -3.3 (---) > From: Tim Ruffing > Cc: Eli Zaretskii , 68272@debbugs.gnu.org > Date: Mon, 04 Mar 2024 19:42:09 +0100 > > Hi, this is an updated patch set. > > Changes to the previous revision: > * Instead of changing requeued_events_pending_p, it's renamed to > requeued_command_events_pending_p, and I've fixed the outdated > comment that had misled me.  Then a new requeued_events_pending_p > with different semantics is added and used in following commits. > This addresses one of Eli's comments, and should make sure that > existing callers of requeued_events_pending_p are not affected by > the patch. > * I've added a large comment to src/macro.c as an attempt to explain > how we handle the end of a keyboard macro. > * I've improved the commit message of (now) 6be0f5f.  Thanks, but what about the comments in https://debbugs.gnu.org/cgi/bugreport.cgi?bug=68272#11 ? IOW, what about callers that actually _want_ to know when the macro ends prematurely? From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 05 11:46:33 2024 Received: (at 68272) by debbugs.gnu.org; 5 Mar 2024 16:46:33 +0000 Received: from localhost ([127.0.0.1]:48795 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rhXw0-000119-So for submit@debbugs.gnu.org; Tue, 05 Mar 2024 11:46:33 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:19570) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rhXvx-00010j-19 for 68272@debbugs.gnu.org; Tue, 05 Mar 2024 11:46:31 -0500 Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id E0FE380C35; Tue, 5 Mar 2024 11:45:52 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1709657151; bh=sSdJUFuw9fEMyzPYGQgaxC4kF4mL1BEujkuCH73zoAc=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=MLtU2ktVcs/cOoqSmqYwztzcr1wn0NkQlEL5air1P89VnIvNNaS1lLEXpROcVKtff 79WPnXV0kGPpZBKXGTxx4D4VycTG5tYYEIFPzrtRzaPUuNopVHmZ1I576EMMjH2Xc5 OoHH0unZ4zpVClNiVkC2y5CLc4/+EpefUtGK/CVKt8/RN45u6rw9I2TnmcCq9pZCof r0+V23WFCmOLvY0axjOrUQwAe9JEENuGckwKwkFPwoNjZ0gH4A4MymJCzNps1sIoCH HQTt20rU07tt3dwRguilWKRneChMquJwxKrvpx+4UmTSI1HvcZNbonnB/k02eKJR4t hh+eawrgjxnPg== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 73CEC805ED; Tue, 5 Mar 2024 11:45:51 -0500 (EST) Received: from pastel (unknown [104.247.233.29]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 4D4F5120672; Tue, 5 Mar 2024 11:45:51 -0500 (EST) From: Stefan Monnier To: Tim Ruffing Subject: Re: bug#68272: [PATCH] Fix -1 leaking from C to lisp in 'read-event' etc. In-Reply-To: <933c41e932327b6c149706ca251c18046d9ffb8b.camel@timruffing.de> (Tim Ruffing's message of "Mon, 04 Mar 2024 19:42:09 +0100") Message-ID: References: <46480759b6d89b5a4864e8ee1b986817366a56e5.camel@timruffing.de> <83wmsmucuo.fsf@gnu.org> <1b3fa12138838a3fe5643a9e76a65d32a677e34d.camel@timruffing.de> <33de23a45d00e23ddfebb24d16db95d638ac96f1.camel@timruffing.de> <933c41e932327b6c149706ca251c18046d9ffb8b.camel@timruffing.de> Date: Tue, 05 Mar 2024 11:45:41 -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.580 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 68272 Cc: Eli Zaretskii , 68272@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 (---) > Hi, this is an updated patch set. Looks really nice, thank you. Comments/nitpicks below. Eli Zaretskii [2024-03-05 15:10:39] wrote: > IOW, what about callers that actually _want_ to know when the macro > ends prematurely? I couldn't find any, really. Of course, we could export `at_end_of_macro_p` to ELisp, but I don't see any need for it. [ Also: define "prematurely". My impression is that the callers of `read-char` are generally not in a position to know what is premature and what isn't because it tends to depend on the users' intentions. ] > +/* Whether the execution of a macro has reached its end. > + It makes only sense to call this when while executing a macro. */ ^^^^ ^^^^ \----------------------^ [ And same for the other copy of that coment. ] > +/* Return true if there are any pending requeued events (command events > + or events to be processed by input methods). */ I think I'd say "other levels of the input processing stages" instead of "input methods", so as to conceptually include any other "unread_*_events" we may end up with. > - /* If not, we should actually read a character. */ > + /* If we're at the end of a macro, exit it by returning 0, > + unless there are unread events pending. */ > + else if (!NILP (Vexecuting_kbd_macro) > + && at_end_of_macro_p () > + && !requeued_events_pending_p ()) > + { > + t = 0; > + /* The Microsoft C compiler can't handle the goto that > + would go here. */ > + dummyflag = true; > + break; > + } This "Microsoft C compiler" business dates back to 1994 (commit bc536d847736f466727453ca6aa7c07aef6fce46). I think it's safe to clean it up now :-) > index 62129be1629..98290e7e276 100644 > --- a/src/macros.c > +++ b/src/macros.c > @@ -314,6 +314,29 @@ DEFUN ("execute-kbd-macro", Fexecute_kbd_macro, Sexecute_kbd_macro, 1, 3, 0, > Vreal_this_command)); > record_unwind_protect (pop_kbd_macro, tem); > > + /* The following loop starts the execution of the macro. Individual > + characters from the macro are read by read_char, which takes care > + of incrementing executing_kbd_macro_index. The end of the > + macro is handled as follows: > + - read_key_sequence asks at_end_of_macro_p whether the end of > + (one iteration of the macro) has been reached. If so, it returns > + the magic value 0 to command_loop_1. > + - command_loop_1 returns Qnil to command_loop_2. > + - command_loop_2 returns Qnil to this function > + (but only the returning is relevant, not the actual value). Could you complete the sequence to the point where we clear Vexecuting_kbd_macro? > + If read_char happens to be called at the end of the macro, but > + before read_key_sequence could handle the end (e.g., because lisp > + code calls 'read-event', 'read-char', and 'read-char-exclusive'), > + read_char will simply continue reading other available input > + (Bug#68272). Could you clarify here what happens w.r.t the value of Vexecuting_kbd_macro (AFAICT, we "remain `at_end_of_macro_p`"). > + Note that this is similar (in observable behavior) to a simpler > + implementation of keyboard macros in which this function simply > + pushed all characters of the macro into the incoming event queue > + and returned immediately. Maybe this is the implementation that > + we ideally would like to have, but switching to it will require > + a larger code change. */ It might be worth mentioning that the main difference is the availability of `executing-kbd-macro` to let ELisp code behave differently when called via a kmacro than via "live input". Which also kind of justifies why `read-key-sequence` wants to detect the end: if a kmacro ends in the middle of a key sequence, then it's triggered both my kmacro and by live input. [ Of course, we could handle it in the command loop instead: check and compare the set of pending kmacro events before and after we call `read-key-sequence`. ] Stefan From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 05 11:56:09 2024 Received: (at 68272) by debbugs.gnu.org; 5 Mar 2024 16:56:09 +0000 Received: from localhost ([127.0.0.1]:48853 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rhY5J-0001OZ-4S for submit@debbugs.gnu.org; Tue, 05 Mar 2024 11:56:09 -0500 Received: from eggs.gnu.org ([209.51.188.92]:34672) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rhY5H-0001OM-KP for 68272@debbugs.gnu.org; Tue, 05 Mar 2024 11:56:08 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rhY4g-0003Ay-AN; Tue, 05 Mar 2024 11:55:31 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=qQsL6x/QE+R/sKqYO9VQ/jQ8xRvGiQpUjhuXgCPSJL8=; b=Tcvj33yQeICp wJw6T6jHTsLohg0veMqe9G7N7jG11MxUaaqUB39RM67jRV3pqsARFHifcSQzIzfimB3bFTYKxpHEs O8IU9x4KEGuZChRFgdOa+D2Jwik0LyLAB+wWfBHV87v95IH6RyH082+G6iJzmKGnO/T4mRfsZ4zp3 tDfWJktnC/VnKtwXpSaJrPSb+Zm05qVTucejOfoh8nFXRcJECoaLUx83W/qUayyj7x2S0QMIuQAMP sZur7ei41v3vyAh9Q4LkJZ0nC8W9hVzNiZEcViAyp66nEivHdrTv15PPLX+mbJLU3Q9H507w/j30M jLpQ0hwEnqW8zebAqaSntQ==; Date: Tue, 05 Mar 2024 18:55:18 +0200 Message-Id: <86il20litl.fsf@gnu.org> From: Eli Zaretskii To: Stefan Monnier In-Reply-To: (message from Stefan Monnier on Tue, 05 Mar 2024 11:45:41 -0500) Subject: Re: bug#68272: [PATCH] Fix -1 leaking from C to lisp in 'read-event' etc. References: <46480759b6d89b5a4864e8ee1b986817366a56e5.camel@timruffing.de> <83wmsmucuo.fsf@gnu.org> <1b3fa12138838a3fe5643a9e76a65d32a677e34d.camel@timruffing.de> <33de23a45d00e23ddfebb24d16db95d638ac96f1.camel@timruffing.de> <933c41e932327b6c149706ca251c18046d9ffb8b.camel@timruffing.de> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 68272 Cc: crypto@timruffing.de, 68272@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: Stefan Monnier > Cc: Eli Zaretskii , 68272@debbugs.gnu.org > Date: Tue, 05 Mar 2024 11:45:41 -0500 > > Eli Zaretskii [2024-03-05 15:10:39] wrote: > > IOW, what about callers that actually _want_ to know when the macro > > ends prematurely? > > I couldn't find any, really. ??? calc is one, obviously. > > + t = 0; > > + /* The Microsoft C compiler can't handle the goto that > > + would go here. */ > > + dummyflag = true; > > + break; > > + } > > This "Microsoft C compiler" business dates back to 1994 (commit > bc536d847736f466727453ca6aa7c07aef6fce46). > I think it's safe to clean it up now :-) The commit and its date don't matter, since we dropped support for MSVC long ago. We only support GCC on Windows (at least officially). From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 05 12:58:38 2024 Received: (at 68272) by debbugs.gnu.org; 5 Mar 2024 17:58:38 +0000 Received: from localhost ([127.0.0.1]:48947 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rhZ3m-0000BH-Ah for submit@debbugs.gnu.org; Tue, 05 Mar 2024 12:58:38 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:17457) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rhZ3k-0000B2-I3 for 68272@debbugs.gnu.org; Tue, 05 Mar 2024 12:58:37 -0500 Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id D0188442B1C; Tue, 5 Mar 2024 12:57:58 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1709661477; bh=csh279Q8sQugyRcNp68qiN53Ewl0HTFhcu1GZG1zwio=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=K0tp7CD7wfeRck4aFULe75mt7zcM2czhfozqOKCLT3W2DFEzF79+vuya+UOGUPaP9 z7cFP/gpgt8Z+fUENms+1O+FU8upiLqR7RSZgDDjRRAZ42/nEsG/NrqUYENjxLpxCf nrmMDmOo05bF0h6UuKsZTp8VfLwUzutgz6FaDmJW7VBBCBa8Etd4BhAHG8qORDL7BM /Sf5L4K4V3pBr9r+tZbJCnXzEN8jN6KjV2VTDyXNg5ZXop7hvmHs0JRGer1nZW0G2G 9CUHTvqYDF3MP3mAA2wSotnFxF8jDrFcCvj1CjsbP3wvYT0WdFS35oHhwiOe3ST4MB pXdCridF4lzKg== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 8F42E441B8F; Tue, 5 Mar 2024 12:57:57 -0500 (EST) Received: from pastel (unknown [104.247.233.29]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 63FFB1203F3; Tue, 5 Mar 2024 12:57:57 -0500 (EST) From: Stefan Monnier To: Eli Zaretskii Subject: Re: bug#68272: [PATCH] Fix -1 leaking from C to lisp in 'read-event' etc. In-Reply-To: <86il20litl.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 05 Mar 2024 18:55:18 +0200") Message-ID: References: <46480759b6d89b5a4864e8ee1b986817366a56e5.camel@timruffing.de> <83wmsmucuo.fsf@gnu.org> <1b3fa12138838a3fe5643a9e76a65d32a677e34d.camel@timruffing.de> <33de23a45d00e23ddfebb24d16db95d638ac96f1.camel@timruffing.de> <933c41e932327b6c149706ca251c18046d9ffb8b.camel@timruffing.de> <86il20litl.fsf@gnu.org> Date: Tue, 05 Mar 2024 12:57:56 -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.006 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 68272 Cc: crypto@timruffing.de, 68272@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 (---) >> > IOW, what about callers that actually _want_ to know when the macro >> > ends prematurely? >> I couldn't find any, really. > ??? calc is one, obviously. I don't think so: AFAICT the tests there were added simply because they had to do something with this -1 return value. Other places deal with it differently (e.g. by setting `executing-kbd-macro` to nil), so *maybe* the specific way they deal with it is indicative of intent, but from where I stand it looks like they just chose that behavior arbitrarily. I can't think of a good UI reason why they'd *want* to signal an error when a kmacro ends in the middle of a `Z` thingy: it's an acceptable behavior but it's not clearly superior to just continuing reading the Z thingy from live input (I'd even tend to think that continuing is a better choice since it lets users use kmacro that provide the first part of a Z thingy and let the user finish it). Stefan From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 05 13:54:28 2024 Received: (at 68272) by debbugs.gnu.org; 5 Mar 2024 18:54:28 +0000 Received: from localhost ([127.0.0.1]:49001 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rhZvo-0001gq-EQ for submit@debbugs.gnu.org; Tue, 05 Mar 2024 13:54:28 -0500 Received: from eggs.gnu.org ([209.51.188.92]:48318) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rhZvl-0001gX-1O for 68272@debbugs.gnu.org; Tue, 05 Mar 2024 13:54:27 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rhZv9-0007tK-Kf; Tue, 05 Mar 2024 13:53:47 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=nAXjpJh2jl4jQNaE/pzyHawSkKnWerNnZ4fJBtHzkXs=; b=gFHsW+P4sQoM nTyVf6EjtDbO2QXOHddSjILLq4OqRU7ZGlB8foD5t08kX5qgYdbi7ddbtL5uWudo10TIV9ejeoPNu en+PupREuKvWeSLJokqLAWe2+zMkhgdwOWt9WcybQxzRkOV9vd5zZuWIvvbti/2sguI2yTYC4xVxU 8u3kZgFVjPOCWB3lPlFXH85AqsZUPLBYKWwL8qluj/7nwtamubzQigME9mp1j6tLRq9clFlH154bL 4jFYAyYq8mDNZ2Dd2B5QLQYZy7Noie5slxo+gBgMHdZP6bZ9y1P+ZUT9UUq4FEe2MmG7TTKUficVS pv5OjsgcpnOrrlEuUV2c+Q==; Date: Tue, 05 Mar 2024 20:53:44 +0200 Message-Id: <86frx4ldc7.fsf@gnu.org> From: Eli Zaretskii To: Stefan Monnier In-Reply-To: (message from Stefan Monnier on Tue, 05 Mar 2024 12:57:56 -0500) Subject: Re: bug#68272: [PATCH] Fix -1 leaking from C to lisp in 'read-event' etc. References: <46480759b6d89b5a4864e8ee1b986817366a56e5.camel@timruffing.de> <83wmsmucuo.fsf@gnu.org> <1b3fa12138838a3fe5643a9e76a65d32a677e34d.camel@timruffing.de> <33de23a45d00e23ddfebb24d16db95d638ac96f1.camel@timruffing.de> <933c41e932327b6c149706ca251c18046d9ffb8b.camel@timruffing.de> <86il20litl.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 68272 Cc: crypto@timruffing.de, 68272@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: Stefan Monnier > Cc: crypto@timruffing.de, 68272@debbugs.gnu.org > Date: Tue, 05 Mar 2024 12:57:56 -0500 > > >> > IOW, what about callers that actually _want_ to know when the macro > >> > ends prematurely? > >> I couldn't find any, really. > > ??? calc is one, obviously. > > I don't think so: AFAICT the tests there were added simply > because they had to do something with this -1 return value. Any evidence? Andreas thought differently, what if he is right? From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 05 14:30:23 2024 Received: (at 68272) by debbugs.gnu.org; 5 Mar 2024 19:30:23 +0000 Received: from localhost ([127.0.0.1]:49036 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rhaUZ-0002da-I2 for submit@debbugs.gnu.org; Tue, 05 Mar 2024 14:30:23 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:58304) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rhaUX-0002dJ-8e for 68272@debbugs.gnu.org; Tue, 05 Mar 2024 14:30:22 -0500 Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 4D7D180C35; Tue, 5 Mar 2024 14:29:45 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1709666984; bh=Z1Hu5IQicyjwpMm4I0+gc0vJa9NtFCd0OqDs9CZJSD8=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=RSHhLyOzRhg3EpgNuWPRAlVIaJ1GPfjkX8Ecxok0hzfeq03lS1pPUyIEfjcQKXrng 2fCFNA/CVsa43OZomFvURb3o/pHW3059U8vdiCljTyES6pslnNxy8vAgZptme0lseA l5Sy2Ue2GdbFm+C0qtBQ1RwQTRwf5wjAKXv4LShK2CXTrsAgPSfIkMaVuYStGcXfgz Vb/Rviw+Orc6ux7hid1vYurQsXa/JUc6WH7x/srox6kgxy+O8XXRknH8tULIXglTvs 6jkGbAT4nw3ZyfeiencrEKiYgnEXjg2H4mkHvDj8HIpUGx1CTjfIs0d04K08Qswmlh XvZt9gQgtJz9g== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 45C8F80394; Tue, 5 Mar 2024 14:29:44 -0500 (EST) Received: from pastel (unknown [104.247.233.29]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 22296120804; Tue, 5 Mar 2024 14:29:44 -0500 (EST) From: Stefan Monnier To: Eli Zaretskii Subject: Re: bug#68272: [PATCH] Fix -1 leaking from C to lisp in 'read-event' etc. In-Reply-To: <86frx4ldc7.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 05 Mar 2024 20:53:44 +0200") Message-ID: References: <46480759b6d89b5a4864e8ee1b986817366a56e5.camel@timruffing.de> <83wmsmucuo.fsf@gnu.org> <1b3fa12138838a3fe5643a9e76a65d32a677e34d.camel@timruffing.de> <33de23a45d00e23ddfebb24d16db95d638ac96f1.camel@timruffing.de> <933c41e932327b6c149706ca251c18046d9ffb8b.camel@timruffing.de> <86il20litl.fsf@gnu.org> <86frx4ldc7.fsf@gnu.org> Date: Tue, 05 Mar 2024 14:29:43 -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.497 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 68272 Cc: crypto@timruffing.de, 68272@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 (---) >> >> > IOW, what about callers that actually _want_ to know when the macro >> >> > ends prematurely? >> >> I couldn't find any, really. >> > ??? calc is one, obviously. >> >> I don't think so: AFAICT the tests there were added simply >> because they had to do something with this -1 return value. > > Any evidence? Andreas thought differently, what if he is right? I think the mail you responded to already provided my answer to the case the original author did it on purpose. I have nothing to add. Do you have a better alternative? Stefan From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 05 14:56:39 2024 Received: (at 68272) by debbugs.gnu.org; 5 Mar 2024 19:56:39 +0000 Received: from localhost ([127.0.0.1]:49069 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rhatz-0003NT-6B for submit@debbugs.gnu.org; Tue, 05 Mar 2024 14:56:39 -0500 Received: from eggs.gnu.org ([209.51.188.92]:34840) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rhatt-0003N5-K7 for 68272@debbugs.gnu.org; Tue, 05 Mar 2024 14:56:37 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rhatI-0001co-RX; Tue, 05 Mar 2024 14:55:56 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=YpPo5ZIuHM5d5ZS+u43YuMGrtUYeHY/THBkapKLSwPk=; b=ig+dzqPVjf/n 5P/Pac2Yci9PH09i9HDziAjILyXwTRCfax3rSUJpxUjKJf2hpgQXkrY5yqwjAaZJd+RHHb1KNEXON YAAgZWKTyre4Lh6vzxguRxRHHKiaf75rovJh12B06Mo88HfbF0PndWWT2taC3cBnEyPhoG/zZphic kuPm2MatXv/mSDgggywQb6wv7u+IFCKxyur/pAEabrZKp8R5ctXj7J1Rxbx5GMlny3pScFBCH2r8Z V0eY/Eyc4rJuG0lJhAFMbjkrpb2f6eA65M8ifA5ytZey01sckZI29xerxsH0LK2Z+PYm9PSlAeW8Y fvxztk7nqDFjhkjjRDh3IA==; Date: Tue, 05 Mar 2024 21:55:49 +0200 Message-Id: <86cys8lagq.fsf@gnu.org> From: Eli Zaretskii To: Stefan Monnier In-Reply-To: (message from Stefan Monnier on Tue, 05 Mar 2024 14:29:43 -0500) Subject: Re: bug#68272: [PATCH] Fix -1 leaking from C to lisp in 'read-event' etc. References: <46480759b6d89b5a4864e8ee1b986817366a56e5.camel@timruffing.de> <83wmsmucuo.fsf@gnu.org> <1b3fa12138838a3fe5643a9e76a65d32a677e34d.camel@timruffing.de> <33de23a45d00e23ddfebb24d16db95d638ac96f1.camel@timruffing.de> <933c41e932327b6c149706ca251c18046d9ffb8b.camel@timruffing.de> <86il20litl.fsf@gnu.org> <86frx4ldc7.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 68272 Cc: crypto@timruffing.de, 68272@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: Stefan Monnier > Cc: crypto@timruffing.de, 68272@debbugs.gnu.org > Date: Tue, 05 Mar 2024 14:29:43 -0500 > > >> >> > IOW, what about callers that actually _want_ to know when the macro > >> >> > ends prematurely? > >> >> I couldn't find any, really. > >> > ??? calc is one, obviously. > >> > >> I don't think so: AFAICT the tests there were added simply > >> because they had to do something with this -1 return value. > > > > Any evidence? Andreas thought differently, what if he is right? > > I think the mail you responded to already provided my answer to the case > the original author did it on purpose. I have nothing to add. > Do you have a better alternative? I'd prefer that we allowed Lisp programs to diagnose the situation where the macro ends prematurely, and that at least the two places in Calc keep showing the error messages they show now in those cases. The other places, which use the special -1 value to simply keep reading, or do something else silently -- those should use the new facility which does the same in low-level code. One way of doing that is to allow some hook to be called when we currently return -1, and if that hook returns some special value, avoid continuing to read -- this will allow Lisp programs that want it to keep the current behavior by setting up the hook. From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 05 15:19:28 2024 Received: (at 68272) by debbugs.gnu.org; 5 Mar 2024 20:19:28 +0000 Received: from localhost ([127.0.0.1]:49082 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rhbG4-0003yr-Bx for submit@debbugs.gnu.org; Tue, 05 Mar 2024 15:19:28 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:7054) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rhbG0-0003yd-RK for 68272@debbugs.gnu.org; Tue, 05 Mar 2024 15:19:26 -0500 Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 5E694444A84; Tue, 5 Mar 2024 15:18:48 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1709669927; bh=b1quP22yju7Dzi+LkaZgbErn9O4sqww/18sNn01uuaU=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=IzrnbpvaEXuBgRbIFkz7UqwPHmZ8Mvc7dJWwOxOfmIv8+Vqsj97CR7gk/Q4gotgdH K7R/u5/MvnivqI1E6jGS8Dh8p4ZH80lqZ1dqOYa5nPxnZ/0TUCdVKG1JrgX/cYvipz /k8BTaC1CGQpjhga/XISkNN4DLDOPZTS2aV5c5KT7fQBFeP5DibdW/X5uJ/qmEU0EX zKd+eFa3kNcdbVszc9KYtUvAccE6/YlWQ3/t96D0GST9+sLJmJ7k25Zkgsx4FwTZuN iSaj9pDJbYYqaLC9bx0aol8twJRXZryAVdyXEcuiuhHRYNK2IAW1meMLMuy+L4+T7J tw8D10/qC7sPQ== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id EF1E14429CD; Tue, 5 Mar 2024 15:18:46 -0500 (EST) Received: from pastel (unknown [104.247.233.29]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id CB8A51202B1; Tue, 5 Mar 2024 15:18:46 -0500 (EST) From: Stefan Monnier To: Eli Zaretskii Subject: Re: bug#68272: [PATCH] Fix -1 leaking from C to lisp in 'read-event' etc. In-Reply-To: <86cys8lagq.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 05 Mar 2024 21:55:49 +0200") Message-ID: References: <46480759b6d89b5a4864e8ee1b986817366a56e5.camel@timruffing.de> <83wmsmucuo.fsf@gnu.org> <1b3fa12138838a3fe5643a9e76a65d32a677e34d.camel@timruffing.de> <33de23a45d00e23ddfebb24d16db95d638ac96f1.camel@timruffing.de> <933c41e932327b6c149706ca251c18046d9ffb8b.camel@timruffing.de> <86il20litl.fsf@gnu.org> <86frx4ldc7.fsf@gnu.org> <86cys8lagq.fsf@gnu.org> Date: Tue, 05 Mar 2024 15:18:45 -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.010 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 68272 Cc: crypto@timruffing.de, 68272@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 (---) > I'd prefer that we allowed Lisp programs to diagnose the situation > where the macro ends prematurely, If we prefer to preserve the current behavior in Calc, the patch below should do the trick. Stefan diff --git a/lisp/calc/calc-prog.el b/lisp/calc/calc-prog.el index 03210995eb3..8dff7f1f264 100644 --- a/lisp/calc/calc-prog.el +++ b/lisp/calc/calc-prog.el @@ -1225,13 +1225,17 @@ calc-kbd-else-if (interactive) (calc-kbd-if)) +(defun calc--at-end-of-kmacro-p () + (and (arrayp executing-kbd-macro) + (>= executing-kbd-macro-index (length executing-kbd-macro)))) + (defun calc-kbd-skip-to-else-if (else-okay) (let ((count 0) ch) (while (>= count 0) - (setq ch (read-char)) - (if (= ch -1) + (if (calc--at-end-of-kmacro-p) (error "Unterminated Z[ in keyboard macro")) + (setq ch (read-char)) (if (= ch ?Z) (progn (setq ch (read-char)) @@ -1299,9 +1303,9 @@ calc-kbd-loop (or executing-kbd-macro (message "Reading loop body...")) (while (>= count 0) - (setq ch (read-event)) - (if (eq ch -1) + (if (calc--at-end-of-kmacro-p) (error "Unterminated Z%c in keyboard macro" open)) + (setq ch (read-event)) (if (eq ch ?Z) (progn (setq ch (read-event) @@ -1427,9 +1431,9 @@ calc-kbd-push (if defining-kbd-macro (message "Reading body...")) (while (>= count 0) - (setq ch (read-char)) - (if (= ch -1) + (if (calc--at-end-of-kmacro-p) (error "Unterminated Z` in keyboard macro")) + (setq ch (read-char)) (if (= ch ?Z) (progn (setq ch (read-char) From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 06 06:46:53 2024 Received: (at 68272) by debbugs.gnu.org; 6 Mar 2024 11:46:53 +0000 Received: from localhost ([127.0.0.1]:49910 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rhpjY-0006UH-Sn for submit@debbugs.gnu.org; Wed, 06 Mar 2024 06:46:53 -0500 Received: from eggs.gnu.org ([209.51.188.92]:48776) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rhpjW-0006U4-Dd for 68272@debbugs.gnu.org; Wed, 06 Mar 2024 06:46:51 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rhpiu-0006Gd-S4; Wed, 06 Mar 2024 06:46:13 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=8YMw0Q9jc2hMaEyv3ZTUvwO4hYBBsjO/iGlL/AxfmiE=; b=eXxs6Xt0M/ki k6i1EYSrlW5tDHDaVBXlqTSiVPiFzrPvTbB4rJ7kQ3apYAPAiklDFVRu4wPncFDftYYDa3fp2yKzh ot60JB9ynXn1ZmIj/d6R3drlNiMThObuhJF+UwycCTC5zwymkInJsIOk0tUWHaNIyVAqZYjA4erfG 48izPx545GETJ74fuCP+Q2w45hjcK+4TznUBNohugk42ZIrWcwpubuSQmsol5XG2/qmvRiQdchRQ5 fLEG/G8yrG9eKwnPdQbNqI8ONgBo0YpYB5y3oS+4VI+od28SMduIXkxpq1JZYD/stD5saw2b66D8o YAYD41J9r57dSKZxftPuHA==; Date: Wed, 06 Mar 2024 13:46:05 +0200 Message-Id: <86a5nblh1e.fsf@gnu.org> From: Eli Zaretskii To: Stefan Monnier In-Reply-To: (message from Stefan Monnier on Tue, 05 Mar 2024 15:18:45 -0500) Subject: Re: bug#68272: [PATCH] Fix -1 leaking from C to lisp in 'read-event' etc. References: <46480759b6d89b5a4864e8ee1b986817366a56e5.camel@timruffing.de> <83wmsmucuo.fsf@gnu.org> <1b3fa12138838a3fe5643a9e76a65d32a677e34d.camel@timruffing.de> <33de23a45d00e23ddfebb24d16db95d638ac96f1.camel@timruffing.de> <933c41e932327b6c149706ca251c18046d9ffb8b.camel@timruffing.de> <86il20litl.fsf@gnu.org> <86frx4ldc7.fsf@gnu.org> <86cys8lagq.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 68272 Cc: crypto@timruffing.de, 68272@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: Stefan Monnier > Cc: crypto@timruffing.de, 68272@debbugs.gnu.org > Date: Tue, 05 Mar 2024 15:18:45 -0500 > > > I'd prefer that we allowed Lisp programs to diagnose the situation > > where the macro ends prematurely, > > If we prefer to preserve the current behavior in Calc, the patch below > should do the trick. Fine by me, provided that we describe this technique in NEWS when we install the changes. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Sat Mar 09 07:35:14 2024 Received: (at 68272) by debbugs.gnu.org; 9 Mar 2024 12:35:14 +0000 Received: from localhost ([127.0.0.1]:60908 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rivux-0004ia-4b for submit@debbugs.gnu.org; Sat, 09 Mar 2024 07:35:13 -0500 Received: from mout-p-102.mailbox.org ([80.241.56.152]:56362) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rivus-0004hz-3B for 68272@debbugs.gnu.org; Sat, 09 Mar 2024 07:35:10 -0500 Received: from smtp1.mailbox.org (smtp1.mailbox.org [10.196.197.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-102.mailbox.org (Postfix) with ESMTPS id 4TsMsb620Bz9spZ; Sat, 9 Mar 2024 13:33:55 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=timruffing.de; s=MBO0001; t=1709987635; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=JcC6W4VH73kh9cwhZRe65oSiXhNtNrVWz/2NT6S1Vdk=; b=PuCdTJjJgHs7Jn0PCLLXhxDtmGZfCNvdEX35D/uV5gtKfd0uOKl74445i/WTjJFI9js7u6 SZ8Fns/ReHDrkTneliE1T1+SuHJfLaBpeRzYy5hA9vdKzeDRsR5nEitmEp9NwJFjvK0hoT FtU7BtuwKn0N/WNP4RSb7qQ8P1WTm93OL81igTG78rFkrjhidnaPyhqJZyQaO5+EYaVIUP UQ6ZQoR3vRB1aleD8yfyJXXhDWFolvDzX3lXunhVLHMZJf5mzkDwXg7ZsMnKitxoGOwkaM SsjsL9UHStzuZAoIlrJxwxJXumipAObNhyx5TIamPU7v05IVjD0YxkUbjEkDGg== Message-ID: <1ade51547f01cbfc1aeb28238f8be60b51b74891.camel@timruffing.de> Subject: Re: bug#68272: [PATCH] Fix -1 leaking from C to lisp in 'read-event' etc. From: Tim Ruffing To: Eli Zaretskii , Stefan Monnier Date: Sat, 09 Mar 2024 13:33:53 +0100 In-Reply-To: <86a5nblh1e.fsf@gnu.org> References: <46480759b6d89b5a4864e8ee1b986817366a56e5.camel@timruffing.de> <83wmsmucuo.fsf@gnu.org> <1b3fa12138838a3fe5643a9e76a65d32a677e34d.camel@timruffing.de> <33de23a45d00e23ddfebb24d16db95d638ac96f1.camel@timruffing.de> <933c41e932327b6c149706ca251c18046d9ffb8b.camel@timruffing.de> <86il20litl.fsf@gnu.org> <86frx4ldc7.fsf@gnu.org> <86cys8lagq.fsf@gnu.org> <86a5nblh1e.fsf@gnu.org> Autocrypt: addr=crypto@timruffing.de; prefer-encrypt=mutual; keydata=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 7xWBA== Content-Type: multipart/mixed; boundary="=-P971/Qa9Jbpdrv9U5Eza" MIME-Version: 1.0 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 68272 Cc: 68272@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 (-) --=-P971/Qa9Jbpdrv9U5Eza Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Third revision. - Addressed Stefan's nit. - Extended the large comment. - Switched to Stefan's suggestion for calc. - Added a NEWS item that describes the suggestion - Added a commit that removes the Microsoft hack > > It might be worth mentioning that the main difference is the > > availability of `executing-kbd-macro` to let ELisp code behave > > differently when called via a kmacro than via "live input". > > Which also kind of justifies why `read-key-sequence` wants to > > detect the end: if a kmacro ends in the middle of a key sequence, > > then > > it's triggered both my kmacro and by live input. > > [ Of course, we could handle it in the command loop instead: > > =C2=A0=C2=A0check and compare the set of pending kmacro events before a= nd > > after > > we > > =C2=A0=C2=A0call `read-key-sequence`. ] I didn't do this, because I couldn't follow exactly what you're saying. Feel free to suggest a sentence. Best, Tim --=-P971/Qa9Jbpdrv9U5Eza Content-Disposition: attachment; filename="0001-Extract-check-for-end-of-macro-to-function.patch" Content-Type: text/x-patch; name="0001-Extract-check-for-end-of-macro-to-function.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSAyMmQ4OTBjODhlNzIxZjE1YTU5MTc4OWQyMzNiYzk0M2M5MDk1NTkzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUaW0gUnVmZmluZyA8Y3J5cHRvQHRpbXJ1ZmZpbmcuZGU+CkRh dGU6IFdlZCwgMjcgRGVjIDIwMjMgMTQ6MjY6MjYgKzAxMDAKU3ViamVjdDogW1BBVENIIDEvN10g RXh0cmFjdCBjaGVjayBmb3IgZW5kIG9mIG1hY3JvIHRvIGZ1bmN0aW9uCgoqIHNyYy9tYWNyb3Mu aCAoYXRfZW5kX29mX21hY3JvX3ApOgoqIHNyYy9tYWNyb3MuYyAoYXRfZW5kX29mX21hY3JvX3Ap OgpOZXcgZnVuY3Rpb24uCiogc3JjL2tleWJvYXJkLmMgKHJlYWRfY2hhcik6IFVzZSB0aGUgbmV3 IGZ1bmN0aW9uLgotLS0KIHNyYy9rZXlib2FyZC5jIHwgIDMgKy0tCiBzcmMvbWFjcm9zLmMgICB8 IDEyICsrKysrKysrKysrKwogc3JjL21hY3Jvcy5oICAgfCAgNSArKysrKwogMyBmaWxlcyBjaGFu Z2VkLCAxOCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9r ZXlib2FyZC5jIGIvc3JjL2tleWJvYXJkLmMKaW5kZXggZWIwZGU5OGJhZDEuLmI2ZmM1NjhjZGU1 IDEwMDY0NAotLS0gYS9zcmMva2V5Ym9hcmQuYworKysgYi9zcmMva2V5Ym9hcmQuYwpAQCAtMjYz Nyw4ICsyNjM3LDcgQEAgcmVhZF9jaGFyIChpbnQgY29tbWFuZGZsYWcsIExpc3BfT2JqZWN0IG1h cCwKICAgICAgIC8qIEV4aXQgdGhlIG1hY3JvIGlmIHdlIGFyZSBhdCB0aGUgZW5kLgogCSBBbHNv LCBzb21lIHRoaW5ncyByZXBsYWNlIHRoZSBtYWNybyB3aXRoIHQKIAkgdG8gZm9yY2UgYW4gZWFy bHkgZXhpdC4gICovCi0gICAgICBpZiAoRVEgKFZleGVjdXRpbmdfa2JkX21hY3JvLCBRdCkKLQkg IHx8IGV4ZWN1dGluZ19rYmRfbWFjcm9faW5kZXggPj0gWEZJWE5BVCAoRmxlbmd0aCAoVmV4ZWN1 dGluZ19rYmRfbWFjcm8pKSkKKyAgICAgIGlmIChhdF9lbmRfb2ZfbWFjcm9fcCAoKSkKIAl7CiAJ ICBYU0VUSU5UIChjLCAtMSk7CiAJICBnb3RvIGV4aXQ7CmRpZmYgLS1naXQgYS9zcmMvbWFjcm9z LmMgYi9zcmMvbWFjcm9zLmMKaW5kZXggNWY3MWJjYmQzNjEuLmZhZWM5ZGM2NDZkIDEwMDY0NAot LS0gYS9zcmMvbWFjcm9zLmMKKysrIGIvc3JjL21hY3Jvcy5jCkBAIC0zNTMsNiArMzUzLDE4IEBA IGluaXRfbWFjcm9zICh2b2lkKQogICBleGVjdXRpbmdfa2JkX21hY3JvID0gUW5pbDsKIH0KIAor LyogV2hldGhlciB0aGUgZXhlY3V0aW9uIG9mIGEgbWFjcm8gaGFzIHJlYWNoZWQgaXRzIGVuZC4K KyAgIFRoaXMgc2hvdWxkIGJlIGNhbGxlZCBvbmx5IHdoaWxlIGV4ZWN1dGluZyBhIG1hY3JvLiAg Ki8KKworYm9vbAorYXRfZW5kX29mX21hY3JvX3AgKHZvaWQpCit7CisgIGVhc3N1bWUgKCFOSUxQ IChWZXhlY3V0aW5nX2tiZF9tYWNybykpOworICAvKiBTb21lIHRoaW5ncyByZXBsYWNlIHRoZSBt YWNybyB3aXRoIHQgdG8gZm9yY2UgYW4gZWFybHkgZXhpdC4gICovCisgIHJldHVybiBFUSAoVmV4 ZWN1dGluZ19rYmRfbWFjcm8sIFF0KQorICAgIHx8IGV4ZWN1dGluZ19rYmRfbWFjcm9faW5kZXgg Pj0gWEZJWE5BVCAoRmxlbmd0aCAoVmV4ZWN1dGluZ19rYmRfbWFjcm8pKTsKK30KKwogdm9pZAog c3ltc19vZl9tYWNyb3MgKHZvaWQpCiB7CmRpZmYgLS1naXQgYS9zcmMvbWFjcm9zLmggYi9zcmMv bWFjcm9zLmgKaW5kZXggNTE1OTlhMjliY2QuLmNiNmFjOGFhMjA2IDEwMDY0NAotLS0gYS9zcmMv bWFjcm9zLmgKKysrIGIvc3JjL21hY3Jvcy5oCkBAIC00Nyw0ICs0Nyw5IEBAICNkZWZpbmUgRU1B Q1NfTUFDUk9TX0gKIAogZXh0ZXJuIHZvaWQgc3RvcmVfa2JkX21hY3JvX2NoYXIgKExpc3BfT2Jq ZWN0KTsKIAorLyogV2hldGhlciB0aGUgZXhlY3V0aW9uIG9mIGEgbWFjcm8gaGFzIHJlYWNoZWQg aXRzIGVuZC4KKyAgIFRoaXMgc2hvdWxkIGJlIGNhbGxlZCBvbmx5IHdoaWxlIGV4ZWN1dGluZyBh IG1hY3JvLiAgKi8KKworZXh0ZXJuIGJvb2wgYXRfZW5kX29mX21hY3JvX3AgKHZvaWQpOworCiAj ZW5kaWYgLyogRU1BQ1NfTUFDUk9TX0ggKi8KLS0gCjIuNDQuMAoK --=-P971/Qa9Jbpdrv9U5Eza Content-Disposition: attachment; filename*0=0002-src-keyboard.c-requeued_events_pending_p-Improve-nam.pat; filename*1=ch Content-Type: text/x-patch; name="0002-src-keyboard.c-requeued_events_pending_p-Improve-nam.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSA5MjljYmM2YzZjNGNkNGEwZDcxZWYzN2ZjNDdjYTdlOWVlNWIxMTZiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUaW0gUnVmZmluZyA8Y3J5cHRvQHRpbXJ1ZmZpbmcuZGU+CkRh dGU6IFdlZCwgMjcgRGVjIDIwMjMgMTQ6Mjk6MzQgKzAxMDAKU3ViamVjdDogW1BBVENIIDIvN10g KiBzcmMva2V5Ym9hcmQuYyAocmVxdWV1ZWRfZXZlbnRzX3BlbmRpbmdfcCk6IEltcHJvdmUKIG5h bWUgYW5kIGZpeCBjb21tZW50CgoqIHNyYy9rZXlib2FyZC5jLCBzcmMva2V5Ym9hcmQuaCAocmVx dWV1ZWRfZXZlbnRzX3BlbmRpbmdfcCk6IFJlbmFtZSB0bwoncmVxdWV1ZWRfY29tbWFuZF9ldmVu dHNfcGVuZGluZ19wJyB0byBjbGFyaWZ5IHRoYXQgdGhlIGZ1bmN0aW9uIGNvdmVycwpvbmx5IGNv bW1hbmQgZXZlbnRzLiBGaXggd3JvbmcgY29tbWVudCB0aGF0IGNsYWltZWQgdGhhdCB0aGUgZnVu Y3Rpb24Kd2FzIHVudXNlZC4KKiBzcmMvcHJvY2Vzcy5jICh3YWl0X3JlYWRpbmdfcHJvY2Vzc19v dXRwdXQpOiBVcGRhdGUgY2FsbGVyIHRvIHVzZSB0aGUKbmV3IG5hbWUuCi0tLQogc3JjL2tleWJv YXJkLmMgfCA4ICsrLS0tLS0tCiBzcmMva2V5Ym9hcmQuaCB8IDIgKy0KIHNyYy9wcm9jZXNzLmMg IHwgOCArKysrLS0tLQogMyBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDExIGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9rZXlib2FyZC5jIGIvc3JjL2tleWJvYXJkLmMKaW5k ZXggYjZmYzU2OGNkZTUuLmU1ZWZkZTRlZjUzIDEwMDY0NAotLS0gYS9zcmMva2V5Ym9hcmQuYwor KysgYi9zcmMva2V5Ym9hcmQuYwpAQCAtMTE1NjUsMTQgKzExNTY1LDEwIEBAIGNsZWFyX2lucHV0 X3BlbmRpbmcgKHZvaWQpCiAgIGlucHV0X3BlbmRpbmcgPSBmYWxzZTsKIH0KIAotLyogUmV0dXJu IHRydWUgaWYgdGhlcmUgYXJlIHBlbmRpbmcgcmVxdWV1ZWQgZXZlbnRzLgotICAgVGhpcyBpc24n dCB1c2VkIHlldC4gIFRoZSBob3BlIGlzIHRvIG1ha2Ugd2FpdF9yZWFkaW5nX3Byb2Nlc3Nfb3V0 cHV0Ci0gICBjYWxsIGl0LCBhbmQgcmV0dXJuIGlmIGl0IHJ1bnMgTGlzcCBjb2RlIHRoYXQgdW5y ZWFkcyBzb21ldGhpbmcuCi0gICBUaGUgcHJvYmxlbSBpcywga2JkX2J1ZmZlcl9nZXRfZXZlbnQg bmVlZHMgdG8gYmUgZml4ZWQgdG8ga25vdyB3aGF0Ci0gICB0byBkbyBpbiB0aGF0IGNhc2UuICBJ dCBpc24ndCB0cml2aWFsLiAgKi8KKy8qIFJldHVybiB0cnVlIGlmIHRoZXJlIGFyZSBwZW5kaW5n IHJlcXVldWVkIGNvbW1hbmQgZXZlbnRzLiAgKi8KIAogYm9vbAotcmVxdWV1ZWRfZXZlbnRzX3Bl bmRpbmdfcCAodm9pZCkKK3JlcXVldWVkX2NvbW1hbmRfZXZlbnRzX3BlbmRpbmdfcCAodm9pZCkK IHsKICAgcmV0dXJuIChDT05TUCAoVnVucmVhZF9jb21tYW5kX2V2ZW50cykpOwogfQpkaWZmIC0t Z2l0IGEvc3JjL2tleWJvYXJkLmggYi9zcmMva2V5Ym9hcmQuaAppbmRleCA2OGU2OGJjMmFlMy4u NjAwYWFmMTE1MTcgMTAwNjQ0Ci0tLSBhL3NyYy9rZXlib2FyZC5oCisrKyBiL3NyYy9rZXlib2Fy ZC5oCkBAIC00ODMsNyArNDgzLDcgQEAgI2RlZmluZSBFVkVOVF9IRUFEX0tJTkQoZXZlbnRfaGVh ZCkgXAogZXh0ZXJuIGludCBnb2JibGVfaW5wdXQgKHZvaWQpOwogZXh0ZXJuIGJvb2wgaW5wdXRf cG9sbGluZ191c2VkICh2b2lkKTsKIGV4dGVybiB2b2lkIGNsZWFyX2lucHV0X3BlbmRpbmcgKHZv aWQpOwotZXh0ZXJuIGJvb2wgcmVxdWV1ZWRfZXZlbnRzX3BlbmRpbmdfcCAodm9pZCk7CitleHRl cm4gYm9vbCByZXF1ZXVlZF9jb21tYW5kX2V2ZW50c19wZW5kaW5nX3AgKHZvaWQpOwogZXh0ZXJu IHZvaWQgYmluZF9wb2xsaW5nX3BlcmlvZCAoaW50KTsKIGV4dGVybiBpbnQgbWFrZV9jdHJsX2No YXIgKGludCkgQVRUUklCVVRFX0NPTlNUOwogZXh0ZXJuIHZvaWQgc3R1ZmZfYnVmZmVyZWRfaW5w dXQgKExpc3BfT2JqZWN0KTsKZGlmZiAtLWdpdCBhL3NyYy9wcm9jZXNzLmMgYi9zcmMvcHJvY2Vz cy5jCmluZGV4IDQ4YTJjMGM4ZTUzLi42YjhiNDgzY2RmNyAxMDA2NDQKLS0tIGEvc3JjL3Byb2Nl c3MuYworKysgYi9zcmMvcHJvY2Vzcy5jCkBAIC01NDM5LDcgKzU0MzksNyBAQCB3YWl0X3JlYWRp bmdfcHJvY2Vzc19vdXRwdXQgKGludG1heF90IHRpbWVfbGltaXQsIGludCBuc2VjcywgaW50IHJl YWRfa2JkLAogCiAJICAvKiBJZiB0aGVyZSBpcyB1bnJlYWQga2V5Ym9hcmQgaW5wdXQsIGFsc28g cmV0dXJuLiAgKi8KIAkgIGlmIChyZWFkX2tiZCAhPSAwCi0JICAgICAgJiYgcmVxdWV1ZWRfZXZl bnRzX3BlbmRpbmdfcCAoKSkKKwkgICAgICAmJiByZXF1ZXVlZF9jb21tYW5kX2V2ZW50c19wZW5k aW5nX3AgKCkpCiAJICAgIGJyZWFrOwogCiAgICAgICAgICAgLyogVGhpcyBpcyBzbyBhIGJyZWFr cG9pbnQgY2FuIGJlIHB1dCBoZXJlLiAgKi8KQEAgLTU4NDksNyArNTg0OSw3IEBAIHdhaXRfcmVh ZGluZ19wcm9jZXNzX291dHB1dCAoaW50bWF4X3QgdGltZV9saW1pdCwgaW50IG5zZWNzLCBpbnQg cmVhZF9rYmQsCiAKICAgICAgIC8qIElmIHRoZXJlIGlzIHVucmVhZCBrZXlib2FyZCBpbnB1dCwg YWxzbyByZXR1cm4uICAqLwogICAgICAgaWYgKHJlYWRfa2JkICE9IDAKLQkgICYmIHJlcXVldWVk X2V2ZW50c19wZW5kaW5nX3AgKCkpCisJICAmJiByZXF1ZXVlZF9jb21tYW5kX2V2ZW50c19wZW5k aW5nX3AgKCkpCiAJYnJlYWs7CiAKICAgICAgIC8qIElmIHdlIGFyZSBub3QgY2hlY2tpbmcgZm9y IGtleWJvYXJkIGlucHV0IG5vdywKQEAgLTgwMzYsNyArODAzNiw3IEBAIHdhaXRfcmVhZGluZ19w cm9jZXNzX291dHB1dCAoaW50bWF4X3QgdGltZV9saW1pdCwgaW50IG5zZWNzLCBpbnQgcmVhZF9r YmQsCiAKIAkgIC8qIElmIHRoZXJlIGlzIHVucmVhZCBrZXlib2FyZCBpbnB1dCwgYWxzbyByZXR1 cm4uICAqLwogCSAgaWYgKHJlYWRfa2JkICE9IDAKLQkgICAgICAmJiByZXF1ZXVlZF9ldmVudHNf cGVuZGluZ19wICgpKQorCSAgICAgICYmIHJlcXVldWVkX2NvbW1hbmRfZXZlbnRzX3BlbmRpbmdf cCAoKSkKIAkgICAgYnJlYWs7CiAKIAkgIGlmICh0aW1lc3BlY192YWxpZF9wICh0aW1lcl9kZWxh eSkpCkBAIC04MTA5LDcgKzgxMDksNyBAQCB3YWl0X3JlYWRpbmdfcHJvY2Vzc19vdXRwdXQgKGlu dG1heF90IHRpbWVfbGltaXQsIGludCBuc2VjcywgaW50IHJlYWRfa2JkLAogCiAgICAgICAvKiBJ ZiB0aGVyZSBpcyB1bnJlYWQga2V5Ym9hcmQgaW5wdXQsIGFsc28gcmV0dXJuLiAgKi8KICAgICAg IGlmIChyZWFkX2tiZAotCSAgJiYgcmVxdWV1ZWRfZXZlbnRzX3BlbmRpbmdfcCAoKSkKKwkgICYm IHJlcXVldWVkX2NvbW1hbmRfZXZlbnRzX3BlbmRpbmdfcCAoKSkKIAlicmVhazsKIAogICAgICAg LyogSWYgd2FpdF9mb3JfY2VsbC4gY2hlY2sgZm9yIGtleWJvYXJkIGlucHV0Ci0tIAoyLjQ0LjAK Cg== --=-P971/Qa9Jbpdrv9U5Eza Content-Disposition: attachment; filename*0=0003-src-keyboard.c-requeued_events_pending_p-New-functio.pat; filename*1=ch Content-Type: text/x-patch; name="0003-src-keyboard.c-requeued_events_pending_p-New-functio.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSAxM2ExNTQ3MTUzYzEzOTg5N2ZkMWU1NjUyNjU0ZWI2YmFkMzYwMzkwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUaW0gUnVmZmluZyA8Y3J5cHRvQHRpbXJ1ZmZpbmcuZGU+CkRh dGU6IFdlZCwgMjcgRGVjIDIwMjMgMTQ6Mjk6MzQgKzAxMDAKU3ViamVjdDogW1BBVENIIDMvN10g KiBzcmMva2V5Ym9hcmQuYyAocmVxdWV1ZWRfZXZlbnRzX3BlbmRpbmdfcCk6IE5ldwogZnVuY3Rp b24KCiogc3JjL2tleWJvYXJkLmMsIHNyYy9rZXlib2FyZC5oIChyZXF1ZXVlZF9ldmVudHNfcGVu ZGluZ19wKTogQWRkCmZ1bmN0aW9uICdyZXF1ZXVlZF9ldmVudHNfcGVuZGluZ19wJyAod2hvc2Ug bmFtZSB3YXMgbWFkZSBhdmFpbGFibGUgaW4KdGhlIHByZXZpb3VzIGNvbW1pdCkuIEFzIG9wcG9z ZWQgdG8gdGhlIHByZXZpb3VzIGZ1bmN0aW9uIHdpdGggdGhlIHNhbWUKbmFtZSwgdGhlIG5ldyBm dW5jdGlvbiBjb3ZlcnMgYm90aCBjb21tYW5kIGFuZCBvdGhlciBldmVudHMuCiogc3JjL2tleWJv YXJkLmMgKEZpbnB1dF9wZW5kaW5nX3ApOiBVc2UgdGhlIG5ldyBmdW5jdGlvbi4KLS0tCiBzcmMv a2V5Ym9hcmQuYyB8IDE2ICsrKysrKysrKysrKystLS0KIHNyYy9rZXlib2FyZC5oIHwgIDEgKwog MiBmaWxlcyBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL3NyYy9rZXlib2FyZC5jIGIvc3JjL2tleWJvYXJkLmMKaW5kZXggZTVlZmRlNGVmNTMu LmJkOGQzYWE3ZWNmIDEwMDY0NAotLS0gYS9zcmMva2V5Ym9hcmQuYworKysgYi9zcmMva2V5Ym9h cmQuYwpAQCAtMTE1NzMsNiArMTE1NzMsMTggQEAgcmVxdWV1ZWRfY29tbWFuZF9ldmVudHNfcGVu ZGluZ19wICh2b2lkKQogICByZXR1cm4gKENPTlNQIChWdW5yZWFkX2NvbW1hbmRfZXZlbnRzKSk7 CiB9CiAKKy8qIFJldHVybiB0cnVlIGlmIHRoZXJlIGFyZSBhbnkgcGVuZGluZyByZXF1ZXVlZCBl dmVudHMgKGNvbW1hbmQgZXZlbnRzCisgICBvciBldmVudHMgdG8gYmUgcHJvY2Vzc2VkIGJ5IG90 aGVyIGxldmVscyBvZiB0aGUgaW5wdXQgcHJvY2Vzc2luZworICAgc3RhZ2VzKS4gICovCisKK2Jv b2wKK3JlcXVldWVkX2V2ZW50c19wZW5kaW5nX3AgKHZvaWQpCit7CisgIHJldHVybiAocmVxdWV1 ZWRfY29tbWFuZF9ldmVudHNfcGVuZGluZ19wICgpCisJICB8fCAhTklMUCAoVnVucmVhZF9wb3N0 X2lucHV0X21ldGhvZF9ldmVudHMpCisJICB8fCAhTklMUCAoVnVucmVhZF9pbnB1dF9tZXRob2Rf ZXZlbnRzKSk7Cit9CisKIERFRlVOICgiaW5wdXQtcGVuZGluZy1wIiwgRmlucHV0X3BlbmRpbmdf cCwgU2lucHV0X3BlbmRpbmdfcCwgMCwgMSwgMCwKICAgICAgICBkb2M6IC8qIFJldHVybiB0IGlm IGNvbW1hbmQgaW5wdXQgaXMgY3VycmVudGx5IGF2YWlsYWJsZSB3aXRoIG5vIHdhaXQuCiBBY3R1 YWxseSwgdGhlIHZhbHVlIGlzIG5pbCBvbmx5IGlmIHdlIGNhbiBiZSBzdXJlIHRoYXQgbm8gaW5w dXQgaXMgYXZhaWxhYmxlOwpAQCAtMTE1ODEsOSArMTE1OTMsNyBAQCBERUZVTiAoImlucHV0LXBl bmRpbmctcCIsIEZpbnB1dF9wZW5kaW5nX3AsIFNpbnB1dF9wZW5kaW5nX3AsIDAsIDEsIDAsCiBJ ZiBDSEVDSy1USU1FUlMgaXMgbm9uLW5pbCwgdGltZXJzIHRoYXQgYXJlIHJlYWR5IHRvIHJ1biB3 aWxsIGRvIHNvLiAgKi8pCiAgIChMaXNwX09iamVjdCBjaGVja190aW1lcnMpCiB7Ci0gIGlmIChD T05TUCAoVnVucmVhZF9jb21tYW5kX2V2ZW50cykKLSAgICAgIHx8ICFOSUxQIChWdW5yZWFkX3Bv c3RfaW5wdXRfbWV0aG9kX2V2ZW50cykKLSAgICAgIHx8ICFOSUxQIChWdW5yZWFkX2lucHV0X21l dGhvZF9ldmVudHMpKQorICBpZiAocmVxdWV1ZWRfZXZlbnRzX3BlbmRpbmdfcCAoKSkKICAgICBy ZXR1cm4gKFF0KTsKIAogICAvKiBQcm9jZXNzIG5vbi11c2VyLXZpc2libGUgZXZlbnRzIChCdWcj MTAxOTUpLiAgKi8KZGlmZiAtLWdpdCBhL3NyYy9rZXlib2FyZC5oIGIvc3JjL2tleWJvYXJkLmgK aW5kZXggNjAwYWFmMTE1MTcuLjJjZTAwM2ZkNDQ0IDEwMDY0NAotLS0gYS9zcmMva2V5Ym9hcmQu aAorKysgYi9zcmMva2V5Ym9hcmQuaApAQCAtNDg0LDYgKzQ4NCw3IEBAICNkZWZpbmUgRVZFTlRf SEVBRF9LSU5EKGV2ZW50X2hlYWQpIFwKIGV4dGVybiBib29sIGlucHV0X3BvbGxpbmdfdXNlZCAo dm9pZCk7CiBleHRlcm4gdm9pZCBjbGVhcl9pbnB1dF9wZW5kaW5nICh2b2lkKTsKIGV4dGVybiBi b29sIHJlcXVldWVkX2NvbW1hbmRfZXZlbnRzX3BlbmRpbmdfcCAodm9pZCk7CitleHRlcm4gYm9v bCByZXF1ZXVlZF9ldmVudHNfcGVuZGluZ19wICh2b2lkKTsKIGV4dGVybiB2b2lkIGJpbmRfcG9s bGluZ19wZXJpb2QgKGludCk7CiBleHRlcm4gaW50IG1ha2VfY3RybF9jaGFyIChpbnQpIEFUVFJJ QlVURV9DT05TVDsKIGV4dGVybiB2b2lkIHN0dWZmX2J1ZmZlcmVkX2lucHV0IChMaXNwX09iamVj dCk7Ci0tIAoyLjQ0LjAKCg== --=-P971/Qa9Jbpdrv9U5Eza Content-Disposition: attachment; filename*0=0004-Continue-reading-in-read-event-etc.-at-the-end-of-a-.pat; filename*1=ch Content-Type: text/x-patch; name="0004-Continue-reading-in-read-event-etc.-at-the-end-of-a-.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSBmOGRmYjQwNTZiYWMxMGUxYWE1YjYzNDA3YTdhZjVmNzhhZDYxMTQ3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUaW0gUnVmZmluZyA8Y3J5cHRvQHRpbXJ1ZmZpbmcuZGU+CkRh dGU6IFdlZCwgMjcgRGVjIDIwMjMgMTQ6MzI6MDkgKzAxMDAKU3ViamVjdDogW1BBVENIIDQvN10g Q29udGludWUgcmVhZGluZyBpbiAncmVhZC1ldmVudCcgZXRjLiBhdCB0aGUgZW5kIG9mIGEKIGtl eWJvYXJkIG1hY3JvCgpUaGlzIGZpeGVzIGEgYnVnIHRoYXQgY291bGQgbWFrZSAncmVhZC1ldmVu dCcsICdyZWFkLWNoYXInLCBhbmQKJ3JlYWQtY2hhci1leGNsdXNpdmUnIGVycm9uZW91c2x5IHJl dHVybiAtMSwgYW4gaW50ZXJuYWwgbWFnaWMgcmV0dXJuCnZhbHVlIG9mICdyZWFkX2NoYXInIGxl YWtlZCBmcm9tIEMgdG8gbGlzcC4gSW5zdGVhZCBvZiByZXR1cm5pbmcgLTEsIHRoZQphZm9yZW1l bnRpb25lZCBsaXNwIGZ1bmN0aW9ucyBub3cgdHJhbnNwYXJlbnRseSBjb250aW51ZSByZWFkaW5n CmF2YWlsYWJsZSBpbnB1dCAoZS5nLiwgZnJvbSB0aGUga2V5Ym9hcmQpIHdoZW4gcmVhY2hpbmcg dGhlIGVuZCBvZiBhCmtleWJvYXJkIG1hY3JvLgoKKiBzcmMva2V5Ym9hcmQuYyAocmVhZF9jaGFy LCByZWFkX2tleV9zZXF1ZW5jZSk6IE1vdmUgaGFuZGxpbmcKb2YgdGhlIGVuZCBvZiBhIGtleWJv YXJkIG1hY3JvIGZyb20gJ3JlYWRfY2hhcicgdG8gaXRzIGNhbGxlcgoncmVhZF9rZXlfc2VxdWVu Y2UnLCB3aGljaCBpcyB0aGUgb25seSBjYWxsZXIgdGhhdCBjYW4KbWVhbmluZ2Z1bGx5IGRlYWwg d2l0aCB0aGlzIGNhc2UuCiogc3JjL21hY3Jvcy5jIChGZXhlY3V0ZV9rYmRfbWFjcm8pOiBEb2N1 bWVudCBob3cgdGhlIGVuZCBvZiBrZXlib2FyZAptYWNybyBpcyBwcm9jZXNzZWQuCiogZXRjL05F V1M6IEFubm91bmNlIHRoaXMgY2hhbmdlLgotLS0KIGV0Yy9ORVdTICAgICAgIHwgMTIgKysrKysr KysrKysrCiBzcmMva2V5Ym9hcmQuYyB8IDM5ICsrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQogc3JjL21hY3Jvcy5jICAgfCA0MiArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgNjkgaW5zZXJ0aW9ucygrKSwgMjQg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZXRjL05FV1MgYi9ldGMvTkVXUwppbmRleCAyYWE2 NjliZTM0NC4uYmI1N2M3NjQwZDYgMTAwNjQ0Ci0tLSBhL2V0Yy9ORVdTCisrKyBiL2V0Yy9ORVdT CkBAIC0yMTMxLDYgKzIxMzEsMTggQEAgTGlrZSB0aGUgdmFyaWFibGUgd2l0aCB0aGUgc2FtZSBu YW1lLCBpdCBhZGRzIG1lbnVzIGZyb20gdGhlIGxpc3QgdGhhdAogaXMgdGhlIHZhbHVlIG9mIHRo ZSBwcm9wZXJ0eSB0byBjb250ZXh0IG1lbnVzIHNob3duIHdoZW4gY2xpY2tpbmcgb24gdGhlCiB0 ZXh0IHdoaWNoIGFzIHRoaXMgcHJvcGVydHkuCiAKKy0tLQorKiogRGV0ZWN0aW5nIHRoZSBlbmQg b2YgYW4gaXRlcmF0aW9uIG9mIGEga2V5Ym9hcmQgbWFjcm8KKydyZWFkLWV2ZW50JywgJ3JlYWQt Y2hhcicsIGFuZCAncmVhZC1jaGFyLWV4Y2x1c2l2ZScgbm8gbG9uZ2VyIHJldHVybiAtMQord2hl biBjYWxsZWQgYXQgdGhlIGVuZCBvZiBhbiBpdGVyYXRpb24gb2YgYSB0aGUgZXhlY3V0aW9uIG9m IGEga2V5Ym9hcmQKK21hY3JvLiAgSW5zdGVhZCwgdGhleSB3aWxsIHRyYW5zcGFyZW50bHkgY29u dGludWUgcmVhZGluZyBhdmFpbGFibGUgaW5wdXQKKyhlLmcuLCBmcm9tIHRoZSBrZXlib2FyZCku ICBJZiB5b3UgbmVlZCB0byBkZXRlY3QgdGhlIGVuZCBvZiBhIG1hY3JvCitpdGVyYXRpb24sIGNo ZWNrIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uIGJlZm9yZSBjYWxsaW5nIG9uZSBvZiB0aGUKK2Fm b3JlbWVudGlvbmVkIGZ1bmN0aW9uczoKKworICAgIChhbmQgKGFycmF5cCBleGVjdXRpbmcta2Jk LW1hY3JvKQorICAgICAgICAgKD49IGV4ZWN1dGluZy1rYmQtbWFjcm8taW5kZXggKGxlbmd0aCBl eGVjdXRpbmcta2JkLW1hY3JvKSkpKQorCiAMCiAqIENoYW5nZXMgaW4gRW1hY3MgMzAuMSBvbiBO b24tRnJlZSBPcGVyYXRpbmcgU3lzdGVtcwogCmRpZmYgLS1naXQgYS9zcmMva2V5Ym9hcmQuYyBi L3NyYy9rZXlib2FyZC5jCmluZGV4IGJkOGQzYWE3ZWNmLi5jYWRiMzc2NDMwZSAxMDA2NDQKLS0t IGEvc3JjL2tleWJvYXJkLmMKKysrIGIvc3JjL2tleWJvYXJkLmMKQEAgLTI2MjAsNyArMjYyMCw4 IEBAIHJlYWRfY2hhciAoaW50IGNvbW1hbmRmbGFnLCBMaXNwX09iamVjdCBtYXAsCiAgICAgICBn b3RvIHJlcmVhZF9mb3JfaW5wdXRfbWV0aG9kOwogICAgIH0KIAotICBpZiAoIU5JTFAgKFZleGVj dXRpbmdfa2JkX21hY3JvKSkKKyAgLyogSWYgd2UncmUgZXhlY3V0aW5nIGEgbWFjcm8sIHByb2Nl c3MgaXQgdW5sZXNzIHdlIGFyZSBhdCBpdHMgZW5kLiAqLworICBpZiAoIU5JTFAgKFZleGVjdXRp bmdfa2JkX21hY3JvKSAmJiAhYXRfZW5kX29mX21hY3JvX3AgKCkpCiAgICAgewogICAgICAgLyog V2Ugc2V0IHRoaXMgdG8gUW1hY3JvOyBzaW5jZSB0aGF0J3Mgbm90IGEgZnJhbWUsIG5vYm9keSB3 aWxsCiAJIHRyeSB0byBzd2l0Y2ggZnJhbWVzIG9uIHVzLCBhbmQgdGhlIHNlbGVjdGVkIHdpbmRv dyB3aWxsCkBAIC0yNjM0LDE1ICsyNjM1LDYgQEAgcmVhZF9jaGFyIChpbnQgY29tbWFuZGZsYWcs IExpc3BfT2JqZWN0IG1hcCwKIAkgc2VsZWN0ZWQuICAqLwogICAgICAgVmxhc3RfZXZlbnRfZnJh bWUgPSBpbnRlcm5hbF9sYXN0X2V2ZW50X2ZyYW1lID0gUW1hY3JvOwogCi0gICAgICAvKiBFeGl0 IHRoZSBtYWNybyBpZiB3ZSBhcmUgYXQgdGhlIGVuZC4KLQkgQWxzbywgc29tZSB0aGluZ3MgcmVw bGFjZSB0aGUgbWFjcm8gd2l0aCB0Ci0JIHRvIGZvcmNlIGFuIGVhcmx5IGV4aXQuICAqLwotICAg ICAgaWYgKGF0X2VuZF9vZl9tYWNyb19wICgpKQotCXsKLQkgIFhTRVRJTlQgKGMsIC0xKTsKLQkg IGdvdG8gZXhpdDsKLQl9Ci0KICAgICAgIGMgPSBGYXJlZiAoVmV4ZWN1dGluZ19rYmRfbWFjcm8s IG1ha2VfaW50IChleGVjdXRpbmdfa2JkX21hY3JvX2luZGV4KSk7CiAgICAgICBpZiAoU1RSSU5H UCAoVmV4ZWN1dGluZ19rYmRfbWFjcm8pCiAJICAmJiAoWEZJWE5BVCAoYykgJiAweDgwKSAmJiAo WEZJWE5BVCAoYykgPD0gMHhmZikpCkBAIC0xMDY5NCw4ICsxMDY4NiwxOSBAQCByZWFkX2tleV9z ZXF1ZW5jZSAoTGlzcF9PYmplY3QgKmtleWJ1ZiwgTGlzcF9PYmplY3QgcHJvbXB0LAogCSAgICB9 CiAJICB1c2VkX21vdXNlX21lbnUgPSB1c2VkX21vdXNlX21lbnVfaGlzdG9yeVt0XTsKIAl9Ci0K LSAgICAgIC8qIElmIG5vdCwgd2Ugc2hvdWxkIGFjdHVhbGx5IHJlYWQgYSBjaGFyYWN0ZXIuICAq LworICAgICAgLyogSWYgd2UncmUgYXQgdGhlIGVuZCBvZiBhIG1hY3JvLCBleGl0IGl0IGJ5IHJl dHVybmluZyAwLAorCSB1bmxlc3MgdGhlcmUgYXJlIHVucmVhZCBldmVudHMgcGVuZGluZy4gICov CisgICAgICBlbHNlIGlmICghTklMUCAoVmV4ZWN1dGluZ19rYmRfbWFjcm8pCisJICAmJiBhdF9l bmRfb2ZfbWFjcm9fcCAoKQorCSAgJiYgIXJlcXVldWVkX2V2ZW50c19wZW5kaW5nX3AgKCkpCisJ eworCSAgdCA9IDA7CisJICAvKiBUaGUgTWljcm9zb2Z0IEMgY29tcGlsZXIgY2FuJ3QgaGFuZGxl IHRoZSBnb3RvIHRoYXQKKwkgICAgIHdvdWxkIGdvIGhlcmUuICAqLworCSAgZHVtbXlmbGFnID0g dHJ1ZTsKKwkgIGJyZWFrOworCX0KKyAgICAgIC8qIE90aGVyd2lzZSwgd2Ugc2hvdWxkIGFjdHVh bGx5IHJlYWQgYSBjaGFyYWN0ZXIuICAqLwogICAgICAgZWxzZQogCXsKIAkgIHsKQEAgLTEwNzg3 LDE4ICsxMDc5MCw2IEBAIHJlYWRfa2V5X3NlcXVlbmNlIChMaXNwX09iamVjdCAqa2V5YnVmLCBM aXNwX09iamVjdCBwcm9tcHQsCiAJICAgICAgcmV0dXJuIC0xOwogCSAgICB9CiAKLQkgIC8qIHJl YWRfY2hhciByZXR1cm5zIC0xIGF0IHRoZSBlbmQgb2YgYSBtYWNyby4KLQkgICAgIEVtYWNzIDE4 IGhhbmRsZXMgdGhpcyBieSByZXR1cm5pbmcgaW1tZWRpYXRlbHkgd2l0aCBhCi0JICAgICB6ZXJv LCBzbyB0aGF0J3Mgd2hhdCB3ZSdsbCBkby4gICovCi0JICBpZiAoRklYTlVNUCAoa2V5KSAmJiBY RklYTlVNIChrZXkpID09IC0xKQotCSAgICB7Ci0JICAgICAgdCA9IDA7Ci0JICAgICAgLyogVGhl IE1pY3Jvc29mdCBDIGNvbXBpbGVyIGNhbid0IGhhbmRsZSB0aGUgZ290byB0aGF0Ci0JCSB3b3Vs ZCBnbyBoZXJlLiAgKi8KLQkgICAgICBkdW1teWZsYWcgPSB0cnVlOwotCSAgICAgIGJyZWFrOwot CSAgICB9Ci0KIAkgIC8qIElmIHRoZSBjdXJyZW50IGJ1ZmZlciBoYXMgYmVlbiBjaGFuZ2VkIGZy b20gdW5kZXIgdXMsIHRoZQogCSAgICAga2V5bWFwIG1heSBoYXZlIGNoYW5nZWQsIHNvIHJlcGxh eSB0aGUgc2VxdWVuY2UuICAqLwogCSAgaWYgKEJVRkZFUlAgKGtleSkpCmRpZmYgLS1naXQgYS9z cmMvbWFjcm9zLmMgYi9zcmMvbWFjcm9zLmMKaW5kZXggZmFlYzlkYzY0NmQuLjIzMDE5NWQ5NDg4 IDEwMDY0NAotLS0gYS9zcmMvbWFjcm9zLmMKKysrIGIvc3JjL21hY3Jvcy5jCkBAIC0zMTQsNiAr MzE0LDQ4IEBAIERFRlVOICgiZXhlY3V0ZS1rYmQtbWFjcm8iLCBGZXhlY3V0ZV9rYmRfbWFjcm8s IFNleGVjdXRlX2tiZF9tYWNybywgMSwgMywgMCwKIAkJICAgICAgVnJlYWxfdGhpc19jb21tYW5k KSk7CiAgIHJlY29yZF91bndpbmRfcHJvdGVjdCAocG9wX2tiZF9tYWNybywgdGVtKTsKIAorICAv KiBUaGUgZm9sbG93aW5nIGxvb3Agc3RhcnRzIHRoZSBleGVjdXRpb24gb2YgcG9zc2libHkgbXVs dGlwbGUKKyAgICAgaXRlcmF0aW9ucyBvZiB0aGUgbWFjcm8uCisKKyAgICAgVGhlIHN0YXRlIHZh cmlhYmxlcyB0aGF0IGNvbnRyb2wgdGhlIGV4ZWN1dGlvbiBvZiBhIHNpbmdsZQorICAgICBpdGVy YXRpb24gYXJlIFZleGVjdXRpbmdfa2JkX21hY3JvIGFuZCBleGVjdXRpbmdfa2JkX21hY3JvX2lu ZGV4LAorICAgICB3aGljaCBjYW4gYmUgYWNjZXNzZWQgZnJvbSBsaXNwLiBUaGUgcHVycG9zZSBv ZiB0aGUgdmFyaWFibGVzCisgICAgIGV4ZWN1dGluZ19rYmRfbWFjcm8gYW5kIGV4ZWN1dGluZ19r YmRfbWFjcm9faXRlcmF0aW9uIGlzIHRvCisgICAgIHJlbWVtYmVyIHRoZSBtb3N0IHJlY2VudGx5 IHN0YXJ0ZWQgbWFjcm8gYW5kIGl0cyBpdGVyYXRpb24gY291bnQuCisgICAgIFRoaXMgbWFrZXMg aXQgcG9zc2libGUgdG8gcHJvZHVjZSBhIG1lYW5pbmdmdWwgbWVzc2FnZSBpbiBjYXNlIG9mCisg ICAgIGVycm9ycyBkdXJpbmcgdGhlIGV4ZWN1dGlvbiBvZiB0aGUgbWFjcm8uCisKKyAgICAgSW4g YSBzaW5nbGUgaXRlcmF0aW9uLCBpbmRpdmlkdWFsIGNoYXJhY3RlcnMgZnJvbSB0aGUgbWFjcm8g YXJlCisgICAgIHJlYWQgYnkgcmVhZF9jaGFyLCB3aGljaCB0YWtlcyBjYXJlIG9mIGluY3JlbWVu dGluZworICAgICBleGVjdXRpbmdfa2JkX21hY3JvX2luZGV4IGFmdGVyIGVhY2ggY2hhcmFjdGVy LgorCisgICAgIFRoZSBlbmQgb2YgYSBtYWNybyBpdGVyYXRpb24gaXMgaGFuZGxlZCBhcyBmb2xs b3dzOgorICAgICAgLSByZWFkX2tleV9zZXF1ZW5jZSBhc2tzIGF0X2VuZF9vZl9tYWNyb19wIHdo ZXRoZXIgdGhlIGVuZCBvZiB0aGUKKyAgICAgICAgaXRlcmF0aW9uIGhhcyBiZWVuIHJlYWNoZWQu ICBJZiBzbywgaXQgcmV0dXJucyB0aGUgbWFnaWMgdmFsdWUgMAorICAgICAgICB0byBjb21tYW5k X2xvb3BfMS4KKyAgICAgIC0gY29tbWFuZF9sb29wXzEgcmV0dXJucyBRbmlsIHRvIGNvbW1hbmRf bG9vcF8yLgorICAgICAgLSBjb21tYW5kX2xvb3BfMiByZXR1cm5zIFFuaWwgdG8gdGhpcyBmdW5j dGlvbgorICAgICAgICAoYnV0IG9ubHkgdGhlIHJldHVybmluZyBpcyByZWxldmFudCwgbm90IHRo ZSBhY3R1YWwgdmFsdWUpLgorCisgICAgIE1hY3JvIGV4ZWN1dGlvbnMgZm9ybSBhIHN0YWNrLiAg QWZ0ZXIgdGhlIGxhc3QgaXRlcmF0aW9uIG9mIHRoZQorICAgICBleGVjdXRpb24gb2Ygb25lIHN0 YWNrIGl0ZW0sIG9yIGluIGNhc2Ugb2YgYW4gZXJyb3IgZHVyaW5nIG9uZSBvZgorICAgICB0aGUg aXRlcmF0aW9ucywgcG9wX2tiZF9tYWNybyAoaW52b2tlZCB2aWEgdW53aW5kLXByb3RlY3QpIHdp bGwKKyAgICAgcmVzdG9yZSBWZXhlY3V0aW5nX2tiZF9tYWNybyBhbmQgZXhlY3V0aW5nX2tiZF9t YWNyb19pbmRleCwgYW5kCisgICAgIHJ1biAna2JkLW1hY3JvLXRlcm1pbmF0aW9uLWhvb2snLgor CisgICAgIElmIHJlYWRfY2hhciBoYXBwZW5zIHRvIGJlIGNhbGxlZCBhdCB0aGUgZW5kIG9mIGEg bWFjcm8gaW50ZXJhdGlvbiwKKyAgICAgYnV0IGJlZm9yZSByZWFkX2tleV9zZXF1ZW5jZSBjb3Vs ZCBoYW5kbGUgdGhlIGVuZCAoZS5nLiwgd2hlbiBsaXNwCisgICAgIGNvZGUgY2FsbHMgJ3JlYWQt ZXZlbnQnLCAncmVhZC1jaGFyJywgb3IgJ3JlYWQtY2hhci1leGNsdXNpdmUnKSwKKyAgICAgcmVh ZF9jaGFyIHdpbGwgc2ltcGx5IGNvbnRpbnVlIHJlYWRpbmcgb3RoZXIgYXZhaWxhYmxlIGlucHV0 CisgICAgIChCdWcjNjgyNzIpLiAgVmV4ZWN1dGluZ19rYmRfbWFjcm8gYW5kIGV4ZWN1dGluZ19r YmRfbWFjcm8gcmVtYWluCisgICAgIHVudG91Y2hlZCB1bnRpbCB0aGUgZW5kIG9mIHRoZSBpdGVy YXRpb24gaXMgaGFuZGxlZC4KKworICAgICBUaGlzIGlzIHNpbWlsYXIgKGluIG9ic2VydmFibGUg YmVoYXZpb3IpIHRvIGEgcG9zaWJseSBzaW1wbGVyCisgICAgIGltcGxlbWVudGF0aW9uIG9mIGtl eWJvYXJkIG1hY3JvcyBpbiB3aGljaCB0aGlzIGZ1bmN0aW9uIHB1c2hlZCBhbGwKKyAgICAgY2hh cmFjdGVycyBvZiB0aGUgbWFjcm8gaW50byB0aGUgaW5jb21pbmcgZXZlbnQgcXVldWUgYW5kIHJl dHVybmVkCisgICAgIGltbWVkaWF0ZWx5LiAgTWF5YmUgdGhpcyBpcyB0aGUgaW1wbGVtZW50YXRp b24gdGhhdCB3ZSBpZGVhbGx5CisgICAgIHdvdWxkIGxpa2UgdG8gaGF2ZSwgYnV0IHN3aXRjaGlu ZyB0byBpdCB3aWxsIHJlcXVpcmUgYSBsYXJnZXIgY29kZQorICAgICBjaGFuZ2UuICAqLwogICBk bwogICAgIHsKICAgICAgIFZleGVjdXRpbmdfa2JkX21hY3JvID0gZmluYWw7Ci0tIAoyLjQ0LjAK Cg== --=-P971/Qa9Jbpdrv9U5Eza Content-Disposition: attachment; filename="0005-Remove-workarounds-for-solved-read-event-bug.patch" Content-Type: text/x-patch; name="0005-Remove-workarounds-for-solved-read-event-bug.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSA1NGUwMWIwMzBiMjk5MDQ5ZmY3MTBmNjE3MDgyNDQ3ODI4ODgyYjBjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUaW0gUnVmZmluZyA8Y3J5cHRvQHRpbXJ1ZmZpbmcuZGU+CkRh dGU6IFdlZCwgMjcgRGVjIDIwMjMgMTQ6MzI6MDkgKzAxMDAKU3ViamVjdDogW1BBVENIIDUvN10g UmVtb3ZlIHdvcmthcm91bmRzIGZvciBzb2x2ZWQgJ3JlYWQtZXZlbnQnIGJ1ZwoKKiBsaXNwL3N1 YnIuZWwgKHJlYWQtY2hhci1jaG9pY2Utd2l0aC1yZWFkLWtleSk6CiogbGlzcC9uZXQvZGJ1cy5l bCAoZGJ1cy1jYWxsLW1ldGhvZCk6ClJlbW92ZSB3b3JrYXJvdW5kcyBmb3IgdGhlIGJ1ZyBmaXhl ZCBpbiB0aGUgcHJldmlvdXMgY29tbWl0CmFjODJiYWVhMWM0MWVjOTc0YWQ0OWYyODYxYWU2YzA2 YmRhMmI0ZWQsIHdoZXJlICdyZWFkLWV2ZW50JywKJ3JlYWQtY2hhcicgYW5kICdyZWFkLWNoYXIt ZXhjbHVzaXZlbHknIGNvdWxkIHJldHVybiB3cm9uZ2x5IC0xLgpJbiB0aGUgY2FzZSBvZiBsaXNw L2RidXMuZWwsIHRoaXMgcmV2ZXJ0cyBjb21taXQKNzE3NzM5MzgyNmM3M2M4N2ZmZTliNDI4ZjBl NWVkYWUyNDRkN2E5OC4KLS0tCiBsaXNwL25ldC9kYnVzLmVsIHwgNiArLS0tLS0KIGxpc3Avc3Vi ci5lbCAgICAgfCA1IC0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxMCBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saXNwL25ldC9kYnVzLmVsIGIvbGlzcC9uZXQvZGJ1 cy5lbAppbmRleCA3N2IzMzRlNzA0ZS4uNDZmODVkYWJhMjQgMTAwNjQ0Ci0tLSBhL2xpc3AvbmV0 L2RidXMuZWwKKysrIGIvbGlzcC9uZXQvZGJ1cy5lbApAQCAtMzcxLDExICszNzEsNyBAQCBkYnVz LWNhbGwtbWV0aG9kCiAJIChhcHBseQogICAgICAgICAgICMnZGJ1cy1tZXNzYWdlLWludGVybmFs IGRidXMtbWVzc2FnZS10eXBlLW1ldGhvZC1jYWxsCiAgICAgICAgICAgYnVzIHNlcnZpY2UgcGF0 aCBpbnRlcmZhY2UgbWV0aG9kICMnZGJ1cy1jYWxsLW1ldGhvZC1oYW5kbGVyIGFyZ3MpKQotICAg ICAgICAocmVzdWx0ICh1bmxlc3MgZXhlY3V0aW5nLWtiZC1tYWNybyAoY29ucyA6cGVuZGluZyBu aWwpKSkpCi0KLSAgICA7OyBXaGlsZSBleGVjdXRpbmcgYSBrZXlib2FyZCBtYWNybywgd2UgcnVu IGludG8gYW4gaW5maW5pdGUgbG9vcCwKLSAgICA7OyByZWNlaXZpbmcgdGhlIGV2ZW50IC0xLiAg U28gd2UgZG9uJ3QgdHJ5IHRvIGdldCB0aGUgcmVzdWx0LgotICAgIDs7IChCdWcjNjIwMTgpCisg ICAgICAgIChyZXN1bHQgKGNvbnMgOnBlbmRpbmcgbmlsKSkpCiAKICAgICA7OyBXYWl0IHVudGls IGBkYnVzLWNhbGwtbWV0aG9kLWhhbmRsZXInIGhhcyBwdXQgdGhlIHJlc3VsdCBpbnRvCiAgICAg OzsgYGRidXMtcmV0dXJuLXZhbHVlcy10YWJsZScuICBJZiBubyB0aW1lb3V0IGlzIGdpdmVuLCB1 c2UgdGhlCmRpZmYgLS1naXQgYS9saXNwL3N1YnIuZWwgYi9saXNwL3N1YnIuZWwKaW5kZXggZDU4 ZjhiYTNiMjcuLmNlOTMzZTNiZmRjIDEwMDY0NAotLS0gYS9saXNwL3N1YnIuZWwKKysrIGIvbGlz cC9zdWJyLmVsCkBAIC0zNTU0LDExICszNTU0LDYgQEAgcmVhZC1jaGFyLWNob2ljZS13aXRoLXJl YWQta2V5CiAJCSAoaGVscC1mb3JtLXNob3cpKSkKIAkgICAoKG1lbXEgY2hhciBjaGFycykKIAkg ICAgKHNldHEgZG9uZSB0KSkKLQkgICAoKGFuZCBleGVjdXRpbmcta2JkLW1hY3JvICg9IGNoYXIg LTEpKQotCSAgICA7OyByZWFkLWV2ZW50IHJldHVybnMgLTEgaWYgd2UgYXJlIGluIGEga2JkIG1h Y3JvIGFuZAotCSAgICA7OyB0aGVyZSBhcmUgbm8gbW9yZSBldmVudHMgaW4gdGhlIG1hY3JvLiAg QXR0ZW1wdCB0bwotCSAgICA7OyBnZXQgYW4gZXZlbnQgaW50ZXJhY3RpdmVseS4KLQkgICAgKHNl dHEgZXhlY3V0aW5nLWtiZC1tYWNybyBuaWwpKQogCSAgICgobm90IGluaGliaXQta2V5Ym9hcmQt cXVpdCkKIAkgICAgKGNvbmQKIAkgICAgICgoYW5kIChudWxsIGVzYy1mbGFnKSAoZXEgY2hhciA/ XGUpKQotLSAKMi40NC4wCgo= --=-P971/Qa9Jbpdrv9U5Eza Content-Disposition: attachment; filename*0=0006-lisp-calc-calc-prog.el-Switch-to-new-method-of-detec.pat; filename*1=ch Content-Type: text/x-patch; name="0006-lisp-calc-calc-prog.el-Switch-to-new-method-of-detec.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSBjYWEzMGZlOWFhM2NmNzUxMTRkOWRiMDVjZDBhZWQ1Mzg0NDRlOTU3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUaW0gUnVmZmluZyA8Y3J5cHRvQHRpbXJ1ZmZpbmcuZGU+CkRh dGU6IFNhdCwgOSBNYXIgMjAyNCAxMjoyOTozOSArMDEwMApTdWJqZWN0OiBbUEFUQ0ggNi83XSAq IGxpc3AvY2FsYy9jYWxjLXByb2cuZWw6IFN3aXRjaCB0byBuZXcgbWV0aG9kIG9mCiBkZXRlY3Rp bmcgZW5kIG9mIGtiZCBtYWNybwoKJ3JlYWQtY2hhcicgd2lsbCBubyBsb25nZXIgcmV0dXJuIC0x IGFzIG9mCmFjODJiYWVhMWM0MWVjOTc0YWQ0OWYyODYxYWU2YzA2YmRhMmI0ZWQuIFRoaXMgc3dp dGNoZXMgdG8gYSBjbGVhbmVyCm1ldGhvZCBvZiBkZXRlY3Rpbmcgd2hldGhlciB0aGUgZW5kIG9m IGEga2V5Ym9hcmQgbWFjcm8gaGFzIGJlZW4KcmVhY2hlZC4KCiogbGlzcC9jYWxjL2NhbGMtcHJv Zy5lbCAoY2FsYy0tYXQtZW5kLW9mLWttYWNyby1wKTogTmV3IGZ1bmN0aW9uLgooY2FsYy1rYmQt c2tpcC10by1lbHNlLWlmKTogVXNlIHRoZSBmdW5jdGlvbi4KCkNvLWF1dGhvcmVkLWJ5OiBTdGVm YW4gTW9ubmllciA8bW9ubmllckBpcm8udW1vbnRyZWFsLmNhPgotLS0KIGxpc3AvY2FsYy9jYWxj LXByb2cuZWwgfCAxNiArKysrKysrKysrLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0 aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saXNwL2NhbGMvY2FsYy1wcm9n LmVsIGIvbGlzcC9jYWxjL2NhbGMtcHJvZy5lbAppbmRleCAwMzIxMDk5NWViMy4uOGRmZjdmMWYy NjQgMTAwNjQ0Ci0tLSBhL2xpc3AvY2FsYy9jYWxjLXByb2cuZWwKKysrIGIvbGlzcC9jYWxjL2Nh bGMtcHJvZy5lbApAQCAtMTIyNSwxMyArMTIyNSwxNyBAQCBjYWxjLWtiZC1lbHNlLWlmCiAgIChp bnRlcmFjdGl2ZSkKICAgKGNhbGMta2JkLWlmKSkKIAorKGRlZnVuIGNhbGMtLWF0LWVuZC1vZi1r bWFjcm8tcCAoKQorICAoYW5kIChhcnJheXAgZXhlY3V0aW5nLWtiZC1tYWNybykKKyAgICAgICAo Pj0gZXhlY3V0aW5nLWtiZC1tYWNyby1pbmRleCAobGVuZ3RoIGV4ZWN1dGluZy1rYmQtbWFjcm8p KSkpCisKIChkZWZ1biBjYWxjLWtiZC1za2lwLXRvLWVsc2UtaWYgKGVsc2Utb2theSkKICAgKGxl dCAoKGNvdW50IDApCiAJY2gpCiAgICAgKHdoaWxlICg+PSBjb3VudCAwKQotICAgICAgKHNldHEg Y2ggKHJlYWQtY2hhcikpCi0gICAgICAoaWYgKD0gY2ggLTEpCisgICAgICAoaWYgKGNhbGMtLWF0 LWVuZC1vZi1rbWFjcm8tcCkKIAkgIChlcnJvciAiVW50ZXJtaW5hdGVkIFpbIGluIGtleWJvYXJk IG1hY3JvIikpCisgICAgICAoc2V0cSBjaCAocmVhZC1jaGFyKSkKICAgICAgIChpZiAoPSBjaCA/ WikKIAkgIChwcm9nbgogCSAgICAoc2V0cSBjaCAocmVhZC1jaGFyKSkKQEAgLTEyOTksOSArMTMw Myw5IEBAIGNhbGMta2JkLWxvb3AKICAgICAob3IgZXhlY3V0aW5nLWtiZC1tYWNybwogCShtZXNz YWdlICJSZWFkaW5nIGxvb3AgYm9keS4uLiIpKQogICAgICh3aGlsZSAoPj0gY291bnQgMCkKLSAg ICAgIChzZXRxIGNoIChyZWFkLWV2ZW50KSkKLSAgICAgIChpZiAoZXEgY2ggLTEpCisgICAgICAo aWYgKGNhbGMtLWF0LWVuZC1vZi1rbWFjcm8tcCkKIAkgIChlcnJvciAiVW50ZXJtaW5hdGVkIFol YyBpbiBrZXlib2FyZCBtYWNybyIgb3BlbikpCisgICAgICAoc2V0cSBjaCAocmVhZC1ldmVudCkp CiAgICAgICAoaWYgKGVxIGNoID9aKQogCSAgKHByb2duCiAJICAgIChzZXRxIGNoIChyZWFkLWV2 ZW50KQpAQCAtMTQyNyw5ICsxNDMxLDkgQEAgY2FsYy1rYmQtcHVzaAogCSAgIChpZiBkZWZpbmlu Zy1rYmQtbWFjcm8KIAkgICAgICAgKG1lc3NhZ2UgIlJlYWRpbmcgYm9keS4uLiIpKQogCSAgICh3 aGlsZSAoPj0gY291bnQgMCkKLQkgICAgIChzZXRxIGNoIChyZWFkLWNoYXIpKQotCSAgICAgKGlm ICg9IGNoIC0xKQorCSAgICAgKGlmIChjYWxjLS1hdC1lbmQtb2Yta21hY3JvLXApCiAJCSAoZXJy b3IgIlVudGVybWluYXRlZCBaYCBpbiBrZXlib2FyZCBtYWNybyIpKQorCSAgICAgKHNldHEgY2gg KHJlYWQtY2hhcikpCiAJICAgICAoaWYgKD0gY2ggP1opCiAJCSAocHJvZ24KIAkJICAgKHNldHEg Y2ggKHJlYWQtY2hhcikKLS0gCjIuNDQuMAoK --=-P971/Qa9Jbpdrv9U5Eza Content-Disposition: attachment; filename*0=0007-src-keyboard.c-read_key_sequence-Remove-MSVC-compati.pat; filename*1=ch Content-Type: text/x-patch; name="0007-src-keyboard.c-read_key_sequence-Remove-MSVC-compati.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSBhNWNlZmU5YWI1MTZkMmIwNjJmM2EwYzY4MTEzZTU1ZjQzZTMwODViIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUaW0gUnVmZmluZyA8Y3J5cHRvQHRpbXJ1ZmZpbmcuZGU+CkRh dGU6IFNhdCwgOSBNYXIgMjAyNCAxMjoxNToyMiArMDEwMApTdWJqZWN0OiBbUEFUQ0ggNy83XSAq IHNyYy9rZXlib2FyZC5jIChyZWFkX2tleV9zZXF1ZW5jZSk6IFJlbW92ZSBNU1ZDCiBjb21wYXRp YmlsaXR5IGhhY2sKCi0tLQogc3JjL2tleWJvYXJkLmMgfCAxOCArKysrKy0tLS0tLS0tLS0tLS0K IDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL3NyYy9rZXlib2FyZC5jIGIvc3JjL2tleWJvYXJkLmMKaW5kZXggY2FkYjM3NjQzMGUu LjFiYTc0YTU5NTM3IDEwMDY0NAotLS0gYS9zcmMva2V5Ym9hcmQuYworKysgYi9zcmMva2V5Ym9h cmQuYwpAQCAtMTA0NDIsOSArMTA0NDIsNiBAQCByZWFkX2tleV9zZXF1ZW5jZSAoTGlzcF9PYmpl Y3QgKmtleWJ1ZiwgTGlzcF9PYmplY3QgcHJvbXB0LAogICBMaXNwX09iamVjdCBvcmlnaW5hbF91 cHBlcmNhc2UgVU5JTklUOwogICBpbnQgb3JpZ2luYWxfdXBwZXJjYXNlX3Bvc2l0aW9uID0gLTE7 CiAKLSAgLyogR2V0cyBhcm91bmQgTWljcm9zb2Z0IGNvbXBpbGVyIGxpbWl0YXRpb25zLiAgKi8K LSAgYm9vbCBkdW1teWZsYWcgPSBmYWxzZTsKLQogI2lmZGVmIEhBVkVfVEVYVF9DT05WRVJTSU9O CiAgIGJvb2wgZGlzYWJsZWRfY29udmVyc2lvbjsKIApAQCAtMTA2OTMsMTAgKzEwNjkwLDcgQEAg cmVhZF9rZXlfc2VxdWVuY2UgKExpc3BfT2JqZWN0ICprZXlidWYsIExpc3BfT2JqZWN0IHByb21w dCwKIAkgICYmICFyZXF1ZXVlZF9ldmVudHNfcGVuZGluZ19wICgpKQogCXsKIAkgIHQgPSAwOwot CSAgLyogVGhlIE1pY3Jvc29mdCBDIGNvbXBpbGVyIGNhbid0IGhhbmRsZSB0aGUgZ290byB0aGF0 Ci0JICAgICB3b3VsZCBnbyBoZXJlLiAgKi8KLQkgIGR1bW15ZmxhZyA9IHRydWU7Ci0JICBicmVh azsKKwkgIGdvdG8gZG9uZTsKIAl9CiAgICAgICAvKiBPdGhlcndpc2UsIHdlIHNob3VsZCBhY3R1 YWxseSByZWFkIGEgY2hhcmFjdGVyLiAgKi8KICAgICAgIGVsc2UKQEAgLTExMjkxLDEwICsxMTI4 NSw3IEBAIHJlYWRfa2V5X3NlcXVlbmNlIChMaXNwX09iamVjdCAqa2V5YnVmLCBMaXNwX09iamVj dCBwcm9tcHQsCiAJICAmJiBoZWxwX2NoYXJfcCAoRVZFTlRfSEVBRCAoa2V5KSkgJiYgdCA+IDEp CiAJICAgIHsKIAkgICAgICByZWFkX2tleV9zZXF1ZW5jZV9jbWQgPSBWcHJlZml4X2hlbHBfY29t bWFuZDsKLQkgICAgICAvKiBUaGUgTWljcm9zb2Z0IEMgY29tcGlsZXIgY2FuJ3QgaGFuZGxlIHRo ZSBnb3RvIHRoYXQKLQkJIHdvdWxkIGdvIGhlcmUuICAqLwotCSAgICAgIGR1bW15ZmxhZyA9IHRy dWU7Ci0JICAgICAgYnJlYWs7CisJICAgICAgZ290byBkb25lOwogCSAgICB9CiAKICAgICAgIC8q IElmIEtFWSBpcyBub3QgZGVmaW5lZCBpbiBhbnkgb2YgdGhlIGtleW1hcHMsCkBAIC0xMTM0Myw4 ICsxMTMzNCw5IEBAIHJlYWRfa2V5X3NlcXVlbmNlIChMaXNwX09iamVjdCAqa2V5YnVmLCBMaXNw X09iamVjdCBwcm9tcHQsCiAJICAgIH0KIAl9CiAgICAgfQotICBpZiAoIWR1bW15ZmxhZykKLSAg ICByZWFkX2tleV9zZXF1ZW5jZV9jbWQgPSBjdXJyZW50X2JpbmRpbmc7CisgIHJlYWRfa2V5X3Nl cXVlbmNlX2NtZCA9IGN1cnJlbnRfYmluZGluZzsKKworICBkb25lOgogICByZWFkX2tleV9zZXF1 ZW5jZV9yZW1hcHBlZAogICAgIC8qIFJlbWFwIGNvbW1hbmQgdGhyb3VnaCBhY3RpdmUga2V5bWFw cy4KICAgICAgICBEbyB0aGUgcmVtYXBwaW5nIGhlcmUsIGJlZm9yZSB0aGUgdW5iaW5kX3RvIHNv IGl0IHVzZXMgdGhlIGtleW1hcHMKLS0gCjIuNDQuMAoK --=-P971/Qa9Jbpdrv9U5Eza-- From debbugs-submit-bounces@debbugs.gnu.org Sat Mar 09 13:09:31 2024 Received: (at 68272) by debbugs.gnu.org; 9 Mar 2024 18:09:31 +0000 Received: from localhost ([127.0.0.1]:34751 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rj18U-0005co-V6 for submit@debbugs.gnu.org; Sat, 09 Mar 2024 13:09:31 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:61234) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rj18S-0005ca-2F for 68272@debbugs.gnu.org; Sat, 09 Mar 2024 13:09:29 -0500 Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id AC4B680577; Sat, 9 Mar 2024 13:08:49 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1710007724; bh=JTtVwGESlWvCA/XKFZyH2UyQuP33ndEkxMDOIJVPwfw=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=OcIiA1HOmtIRKHf5TdpxLWHvQAsJOfY0Lz83HPGfz5ISYIEK9EULRTpsuIIU85EA4 fRT5g3IJM6f0rso2shS14ATO4XL351ahw/miC58vkmu8Ow4DdoyS0CH4W0OeKGD/6L ylmq8WzRXMd98+uG9TmA8YWs8BFhMXsqEvxnhhwjr6JOBRabMs3mvHd2ynwMuk2Bw1 gl3dF4qlrQq5SUwND1ciZfvzToqZGtZaazHMznqa8dw0AZ6nlPJOMuqM57If4oHeEb UjUHudFe2OhXchEZR6h/In4mIvySCh9QNDHc2HYP/oFkSB7AzBBbezFae+RFM1553L iNXk10f9UQBTw== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id A913D8089D; Sat, 9 Mar 2024 13:08:44 -0500 (EST) Received: from pastel (69-165-153-56.dsl.teksavvy.com [69.165.153.56]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 7CDB21201BE; Sat, 9 Mar 2024 13:08:44 -0500 (EST) From: Stefan Monnier To: Tim Ruffing Subject: Re: bug#68272: [PATCH] Fix -1 leaking from C to lisp in 'read-event' etc. In-Reply-To: <1ade51547f01cbfc1aeb28238f8be60b51b74891.camel@timruffing.de> (Tim Ruffing's message of "Sat, 09 Mar 2024 13:33:53 +0100") Message-ID: References: <46480759b6d89b5a4864e8ee1b986817366a56e5.camel@timruffing.de> <83wmsmucuo.fsf@gnu.org> <1b3fa12138838a3fe5643a9e76a65d32a677e34d.camel@timruffing.de> <33de23a45d00e23ddfebb24d16db95d638ac96f1.camel@timruffing.de> <933c41e932327b6c149706ca251c18046d9ffb8b.camel@timruffing.de> <86il20litl.fsf@gnu.org> <86frx4ldc7.fsf@gnu.org> <86cys8lagq.fsf@gnu.org> <86a5nblh1e.fsf@gnu.org> <1ade51547f01cbfc1aeb28238f8be60b51b74891.camel@timruffing.de> Date: Sat, 09 Mar 2024 13:08:44 -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 BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 68272 Cc: Eli Zaretskii , 68272@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 (---) > Third revision. > > - Addressed Stefan's nit. > - Extended the large comment. > - Switched to Stefan's suggestion for calc. > - Added a NEWS item that describes the suggestion > - Added a commit that removes the Microsoft hack LGTM. Eli? Stefan From debbugs-submit-bounces@debbugs.gnu.org Sat Mar 09 13:37:54 2024 Received: (at 68272) by debbugs.gnu.org; 9 Mar 2024 18:37:54 +0000 Received: from localhost ([127.0.0.1]:34806 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rj1Zy-0006LS-6w for submit@debbugs.gnu.org; Sat, 09 Mar 2024 13:37:54 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36146) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rj1Zu-0006LB-Ob for 68272@debbugs.gnu.org; Sat, 09 Mar 2024 13:37:52 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rj1ZH-0003qW-8p; Sat, 09 Mar 2024 13:37:11 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=p13RgLmmnu0b7nKhZNe2Kh9B8u1z3TAFSc0fbDz2Xig=; b=jQaNGL59hppb ZjQpgGf7QAG5J1jHJcdio7bzithOCxGM24PrLBOD5BROcf8yqpqJfeLcJ67oNZdP2j9JdXrAfXB7g kxqOU+LFeVFXA9X5VZVPMs9bvMvOB6z8G8GKONVsSkNxgpalHBWGXhZijXUSvuEcqj7UojzroSkql 6RicyuzCh7FMDsXhTx/g3ysZ2B+pqvxG8VSTmN2roR7DRV/Rl6j+wv1OyQMa/nIZjpryn2cFLVGBD KGIj6e41j2ctkDp8ErUE04XTcRhnDVH4iCR71HZPlnvAvj4gvYrdkFpDGpCqgW7X6V7BS8FjNX5+r bSMv+s5j51bVReaezuJVVA==; Date: Sat, 09 Mar 2024 20:37:08 +0200 Message-Id: <86y1arw8tn.fsf@gnu.org> From: Eli Zaretskii To: Stefan Monnier , Michael Albinus In-Reply-To: (message from Stefan Monnier on Sat, 09 Mar 2024 13:08:44 -0500) Subject: Re: bug#68272: [PATCH] Fix -1 leaking from C to lisp in 'read-event' etc. References: <46480759b6d89b5a4864e8ee1b986817366a56e5.camel@timruffing.de> <83wmsmucuo.fsf@gnu.org> <1b3fa12138838a3fe5643a9e76a65d32a677e34d.camel@timruffing.de> <33de23a45d00e23ddfebb24d16db95d638ac96f1.camel@timruffing.de> <933c41e932327b6c149706ca251c18046d9ffb8b.camel@timruffing.de> <86il20litl.fsf@gnu.org> <86frx4ldc7.fsf@gnu.org> <86cys8lagq.fsf@gnu.org> <86a5nblh1e.fsf@gnu.org> <1ade51547f01cbfc1aeb28238f8be60b51b74891.camel@timruffing.de> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 68272 Cc: crypto@timruffing.de, 68272@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: Stefan Monnier > Cc: Eli Zaretskii , 68272@debbugs.gnu.org > Date: Sat, 09 Mar 2024 13:08:44 -0500 > > > Third revision. > > > > - Addressed Stefan's nit. > > - Extended the large comment. > > - Switched to Stefan's suggestion for calc. > > - Added a NEWS item that describes the suggestion > > - Added a commit that removes the Microsoft hack > > LGTM. Eli? The dbus.el change should be reviewed by Michael (CC'ed). Otherwise, I'm okay with this, fingers crossed. From debbugs-submit-bounces@debbugs.gnu.org Sun Mar 10 04:25:33 2024 Received: (at 68272) by debbugs.gnu.org; 10 Mar 2024 08:25:33 +0000 Received: from localhost ([127.0.0.1]:35584 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rjEUu-0005nj-Uo for submit@debbugs.gnu.org; Sun, 10 Mar 2024 04:25:33 -0400 Received: from mout.gmx.net ([212.227.17.22]:34351) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rjEUs-0005nR-1N for 68272@debbugs.gnu.org; Sun, 10 Mar 2024 04:25:31 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417; t=1710059087; x=1710663887; i=michael.albinus@gmx.de; bh=AJxbpXEVtWU0WubuMSGawJvHYnCOvLE3eQOfAVFHT0s=; h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References: Date; b=byQP+PW2qIEyUqcw8tgqbsJwxhQDpJ+XObz1oPkCkapjvcpS2DdLXls0NXvLQDrC e2M/sDhoB0gyaYHrKzx2+5njiW0Jx1tv+vY8uVNGN+udbKdt0RvlXiG2Bu38i4s1b GdGE4nWHolAUlN2t3F7H3g8aXy1oCBoZDPK3u5+3HvgXTuOMzqel+K90yTbVpv2zh /muzEyHYELhX8ciL3OkPXx1fwaG+B7TKGumKi4sLZ/01bcpW8vetCDXfB23rRG8Co GcU4lqggsWLXc/3kA/KtHU5+rI7QFVOvKUBx6GcPOYYM/9JywD+/MbMkNiMeDKSYL C6wbFY1Ma5A/9GX/qQ== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from gandalf.gmx.de ([185.89.39.16]) by mail.gmx.net (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1N0oG5-1qvXmV4Bqn-00wkT1; Sun, 10 Mar 2024 09:24:47 +0100 From: Michael Albinus To: Eli Zaretskii Subject: Re: bug#68272: [PATCH] Fix -1 leaking from C to lisp in 'read-event' etc. In-Reply-To: <86y1arw8tn.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 09 Mar 2024 20:37:08 +0200") References: <46480759b6d89b5a4864e8ee1b986817366a56e5.camel@timruffing.de> <83wmsmucuo.fsf@gnu.org> <1b3fa12138838a3fe5643a9e76a65d32a677e34d.camel@timruffing.de> <33de23a45d00e23ddfebb24d16db95d638ac96f1.camel@timruffing.de> <933c41e932327b6c149706ca251c18046d9ffb8b.camel@timruffing.de> <86il20litl.fsf@gnu.org> <86frx4ldc7.fsf@gnu.org> <86cys8lagq.fsf@gnu.org> <86a5nblh1e.fsf@gnu.org> <1ade51547f01cbfc1aeb28238f8be60b51b74891.camel@timruffing.de> <86y1arw8tn.fsf@gnu.org> Date: Sun, 10 Mar 2024 09:24:45 +0100 Message-ID: <87y1aqxzn6.fsf@gmx.de> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:VlbMjEpSFHkKIopsgT+NkTSqnaMVsji/mNo2dOodIyQ1KgYMAu5 jXHeBApb++P91KEK58b5JCgGQxW3wVJFXLiVI7hMB2iMlEZIyC43YlCArYRzvIxHAhPvdCb VD0HhBON12NG7KjUHw5e2H+bEyzX2J5xg8wCh1MOEcUGD/ZQaAET/TRrillLEN2iacXNmLJ irKq1OgQaSNHsfTFryb9Q== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:JIbLD/euC78=;DMPT4Ykcwv8idLtG5mJYb/wWQ3D WJoiXZJsZLBl7rsZYdy5DGCtw5BaOdO6qI98sK+U08caL/3UL43NXqlF552FvYEAG5LLRF+4H 4UZaFWzxkZ59V4kewEeSdxyME7UtBbEWS+MkXM+lFqUgZFL04TmK4YKSHls9qUL1E70OBqIWv HogEjS2x49plskI01O5pbk8bSMLf7YPbMTG/SKsYdG9LLXNuZLcC3AOdhDHhbTtMMIY2yRfwT pXtDeyLSNmv257l3CkzrSFp19IL5TBZKh15qrJmS6X/OoEIk9qkTSPb+USRxFISCWZPTxkq56 JdBzVCbYY9RB4aW4Ap+mVa05/W66ku+cYStjfp+3+dMycz8GCi2uilsq7ttAVaTYuuyP5LsLC uunkn/cbKXREYMFSZjJPdQ1GPsOpm4E9C9djwSSMvAGxzWVoSWNyvcudlBnGaVy1Q8QiCiz+B JfUATdoWn5cNskrPuo2mKQStkFXsierdk4mnlQ3nOdnSoB7726fwTgKBpj0Gf34StQ9LMRmig VK07KAdGohsDgl7D0jdTaI8qkxG/Cyi2XtqiAIek7UYAj/sprcaeDFO2ZzQ5EWrFbT+nkfh1D DTN8G9mQr7j3OMF3QhVMBMeMeiJ7NXYUKwYdat/uQoGO0MR4zZrexs9+bmRiNXM6qNS5D21RA g8TNBZ/p3ErhcxJRvLTHEEi90QvIgcH1lxjephZLk3QdP3OIn2kji3OfVYsExer2ccDfqlEo6 lRx58yCmYTxhv5pEtmO9GDwaXZoCVZiJIsLHN/WTqeJgYGHhroeCWDuLJcj/6z4tdRp0bmDn/ sBSlGnXfBP1nezdaku83L0F3JSfZt8Ztz9eM4j6p/Qgdm3Y4a9oKAS5F98ZSZYghTK X-Spam-Score: 2.9 (++) 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: Eli Zaretskii writes: Hi, > The dbus.el change should be reviewed by Michael (CC'ed). Content analysis details: (2.9 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 3.6 RCVD_IN_SBL_CSS RBL: Received via a relay in Spamhaus SBL-CSS [185.89.39.16 listed in zen.spamhaus.org] 0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3) [212.227.17.22 listed in wl.mailspike.net] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (michael.albinus[at]gmx.de) 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at https://www.dnswl.org/, low trust [212.227.17.22 listed in list.dnswl.org] 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders -0.0 T_SCC_BODY_TEXT_LINE No description available. X-Debbugs-Envelope-To: 68272 Cc: crypto@timruffing.de, 68272@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: 1.9 (+) 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: Eli Zaretskii writes: Hi, > The dbus.el change should be reviewed by Michael (CC'ed). Content analysis details: (1.9 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3) [212.227.17.22 listed in wl.mailspike.net] 3.6 RCVD_IN_SBL_CSS RBL: Received via a relay in Spamhaus SBL-CSS [185.89.39.16 listed in zen.spamhaus.org] -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at https://www.dnswl.org/, low trust [212.227.17.22 listed in list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (michael.albinus[at]gmx.de) 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders -0.0 T_SCC_BODY_TEXT_LINE No description available. -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager Eli Zaretskii writes: Hi, > The dbus.el change should be reviewed by Michael (CC'ed). There's no essential change in dbus.el. The check for executing-kbd-macro is removed, which looks OK in the contect of the other changes. > Otherwise, I'm okay with this, fingers crossed. Best regards, Michael. From debbugs-submit-bounces@debbugs.gnu.org Sun Mar 10 10:49:26 2024 Received: (at 68272-done) by debbugs.gnu.org; 10 Mar 2024 14:49:26 +0000 Received: from localhost ([127.0.0.1]:37685 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rjKUN-0003J2-WC for submit@debbugs.gnu.org; Sun, 10 Mar 2024 10:49:26 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:4147) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rjKUK-0003IC-PE for 68272-done@debbugs.gnu.org; Sun, 10 Mar 2024 10:49:22 -0400 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 97624100196; Sun, 10 Mar 2024 10:48:41 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1710082120; bh=O4SWHSJQdasB9hN1O1fwCZTGST5HY+tvjNcwBvvetrM=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=RFKpROiRTfq0aBEi7bB+ysguQCvZ4YQh8CaO9a+TQ17Fjem3rx7qvx+x1dXvapWAN peh6tSbEbNMsqIikTIzm1jeseEO2NroVbM0zqKANr7Z+Nbu5CH+4jMQhY6xqVYnZeQ qRGS/uhC9Bov8UXFwI9+AO2seB0sNKsyKQh7U2r5XmHuQxw/MyeePi09pUIKqTAB5x p5g88vrErJpwuCpn2pMJBD62YJmlpklJHv1cmqtkqUFKUevk7Nt5ounwaWj3cOsucZ zK/6QjPG3jW2CDvshcgKcWrNP0sg3NUQAGJOEI5hygPj/aoc5OA/FjvyeAsDcWHnNz VQvxdhmqKgFlA== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id BF7401000D6; Sun, 10 Mar 2024 10:48:40 -0400 (EDT) Received: from pastel (69-165-147-56.dsl.teksavvy.com [69.165.147.56]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 969E0120611; Sun, 10 Mar 2024 10:48:40 -0400 (EDT) From: Stefan Monnier To: Eli Zaretskii Subject: Re: bug#68272: [PATCH] Fix -1 leaking from C to lisp in 'read-event' etc. In-Reply-To: <86y1arw8tn.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 09 Mar 2024 20:37:08 +0200") Message-ID: References: <46480759b6d89b5a4864e8ee1b986817366a56e5.camel@timruffing.de> <83wmsmucuo.fsf@gnu.org> <1b3fa12138838a3fe5643a9e76a65d32a677e34d.camel@timruffing.de> <33de23a45d00e23ddfebb24d16db95d638ac96f1.camel@timruffing.de> <933c41e932327b6c149706ca251c18046d9ffb8b.camel@timruffing.de> <86il20litl.fsf@gnu.org> <86frx4ldc7.fsf@gnu.org> <86cys8lagq.fsf@gnu.org> <86a5nblh1e.fsf@gnu.org> <1ade51547f01cbfc1aeb28238f8be60b51b74891.camel@timruffing.de> <86y1arw8tn.fsf@gnu.org> Date: Sun, 10 Mar 2024 10:48:40 -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 BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 68272-done Cc: crypto@timruffing.de, 68272-done@debbugs.gnu.org, Michael Albinus 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 (---) Thank you, pushed, closing, Stefan From unknown Sun Jun 15 08:36:25 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, 08 Apr 2024 11:24:10 +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