From unknown Tue Aug 19 05:08:21 2025 X-Loop: help-debbugs@gnu.org Subject: bug#36190: 27.0.50; `put-text-property' etc. with buffer argument calls current buffer's `after-change-functions' Resent-From: Pip Cet Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 13 Jun 2019 13:50:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 36190 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 36190@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.156043376523045 (code B ref -1); Thu, 13 Jun 2019 13:50:02 +0000 Received: (at submit) by debbugs.gnu.org; 13 Jun 2019 13:49:25 +0000 Received: from localhost ([127.0.0.1]:34760 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hbQ6X-0005zc-59 for submit@debbugs.gnu.org; Thu, 13 Jun 2019 09:49:25 -0400 Received: from lists.gnu.org ([209.51.188.17]:51043) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hbQ6U-0005zU-Fb for submit@debbugs.gnu.org; Thu, 13 Jun 2019 09:49:23 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56846) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hbQ6R-0001JQ-TL for bug-gnu-emacs@gnu.org; Thu, 13 Jun 2019 09:49:21 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hbQ6P-0002OF-9I for bug-gnu-emacs@gnu.org; Thu, 13 Jun 2019 09:49:18 -0400 Received: from mail-oi1-x236.google.com ([2607:f8b0:4864:20::236]:34825) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hbQ6O-0002Nn-WC for bug-gnu-emacs@gnu.org; Thu, 13 Jun 2019 09:49:17 -0400 Received: by mail-oi1-x236.google.com with SMTP id y6so14477438oix.2 for ; Thu, 13 Jun 2019 06:49:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=MNdfyhHNVSR67QQtHD2sAe8HpxxKsH1XXfC8v+B2YFc=; b=bEon2ySYAcp+PhJI/Aul0WgbAYeEkl9JHo+lhzjhtuqbaM+xaZ3Dxc4Lgcn4FPebaO tE9xmsK7V3nnOtHpUZpPNweUtw5yRuG3b8xwOwtc0IkfnJPQIz0QXJSxlSAj2i6BgNRi AY9CkD37TFuRx3fc6xCbIVCRCh6yOWMRJPC78lGRADBZBAhKQrrVW3Jw4A9ol4RNrIq6 ZtFSPFVCTA+8rVgg+jMVZplW4drPLIT52yIWCr84F/4VoT2SE+FFBuqtJlb38iX3pUu0 RrDd/wbehTvUBbVVgFdrQ3RzbbL0y/j+Wx+17TQom1LNi925OzWVjdO116Hgel2HeV+z 0ukQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=MNdfyhHNVSR67QQtHD2sAe8HpxxKsH1XXfC8v+B2YFc=; b=oqRU0Vmh0VeqzAiOQThdcivDfU3OR7VoN9AQqelE3OfOOtrK4gcq3wXZH0szxSnMLc fivjofySDQ3+mq/Gjk+pxfcrn/+AJTQFP0O+V6snuNNUCQIKKdWVpFomLnxeT3Qhh909 EJ57GUhoMma7RxD5i2vfjQlt/I9FDZuWAOTNdMnQvG0ZTGo8bmLPmWtVlImlqyco6SeD PvAta3Yj81izqffmj4OkGtnlqg22Bw/6flOeuHRdIEX8F0MLDe54kXJP1Oklo2hkxrt4 a8br7vXNVF2vPtHQAZxPzQvME8v3+c4pPnDEUXEIy62eNuqD4OCiQXn+0f/7UEV95S7f 5Hfw== X-Gm-Message-State: APjAAAUcBybs3ph/9DCAHo34jqNoUeuehoAnTiyHy3hBPepA2PU96NOk kFOYFGWAjvhEkl+0i/dSNbb33YEiIYLInfArwnJfQz6YaKc= X-Google-Smtp-Source: APXvYqxlWgyvde/gk7eRI5CsrVPUMbfTX7cOxUqmJDqw0BfN2hVhjzHeuDNHQTdXnnoLX6cdvtcJcTIgS/FkeiKb0e0= X-Received: by 2002:aca:4790:: with SMTP id u138mr3146662oia.44.1560433756168; Thu, 13 Jun 2019 06:49:16 -0700 (PDT) MIME-Version: 1.0 From: Pip Cet Date: Thu, 13 Jun 2019 13:48:40 +0000 Message-ID: Content-Type: text/plain; charset="UTF-8" X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::236 X-Spam-Score: -1.3 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) In emacs -Q, evaluating: (let ((buffer1 (generate-new-buffer "A")) (buffer2 (generate-new-buffer "B"))) (with-current-buffer buffer2 (insert "BBB")) (with-current-buffer buffer1 (add-hook 'after-change-functions (lambda (beg end len) (message "%S %S %S" beg end len)) nil t) (put-text-property 1 4 'read-only t buffer2))) results in a "1 4 3" message. I would have expected no message, as buffer2 was modified and buffer1, whose after-change-functions I'd set, wasn't. I've looked at the code, and it appears no particular provisions are being made to make sure we switch to the modified buffer before calling signal_after_change(). As far as I can tell, this makes `put-text-property' with a buffer argument pretty useless. Am I missing something? Is this expected behavior somehow? From unknown Tue Aug 19 05:08:21 2025 X-Loop: help-debbugs@gnu.org Subject: bug#36190: 27.0.50; `put-text-property' etc. with buffer argument calls current buffer's `after-change-functions' Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 13 Jun 2019 16:37:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 36190 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Pip Cet Cc: 36190@debbugs.gnu.org Received: via spool by 36190-submit@debbugs.gnu.org id=B36190.15604437772055 (code B ref 36190); Thu, 13 Jun 2019 16:37:01 +0000 Received: (at 36190) by debbugs.gnu.org; 13 Jun 2019 16:36:17 +0000 Received: from localhost ([127.0.0.1]:36013 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hbSi0-0000X4-RP for submit@debbugs.gnu.org; Thu, 13 Jun 2019 12:36:17 -0400 Received: from eggs.gnu.org ([209.51.188.92]:44019) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hbShy-0000Wo-PT for 36190@debbugs.gnu.org; Thu, 13 Jun 2019 12:36:15 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:35702) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hbShs-0002bR-Nj; Thu, 13 Jun 2019 12:36:08 -0400 Received: from [176.228.60.248] (port=4531 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1hbShs-0005gj-4j; Thu, 13 Jun 2019 12:36:08 -0400 Date: Thu, 13 Jun 2019 19:36:09 +0300 Message-Id: <83h88tzbly.fsf@gnu.org> From: Eli Zaretskii In-reply-to: (message from Pip Cet on Thu, 13 Jun 2019 13:48:40 +0000) References: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) 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: Pip Cet > Date: Thu, 13 Jun 2019 13:48:40 +0000 > > I've looked at the code, and it appears no particular provisions are > being made to make sure we switch to the modified buffer before > calling signal_after_change(). > > As far as I can tell, this makes `put-text-property' with a buffer > argument pretty useless. Only if you have a buffer-local value of after-change-functions. From unknown Tue Aug 19 05:08:21 2025 X-Loop: help-debbugs@gnu.org Subject: bug#36190: 27.0.50; `put-text-property' etc. with buffer argument calls current buffer's `after-change-functions' Resent-From: Pip Cet Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 13 Jun 2019 18:50:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 36190 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 36190@debbugs.gnu.org Received: via spool by 36190-submit@debbugs.gnu.org id=B36190.156045174816143 (code B ref 36190); Thu, 13 Jun 2019 18:50:01 +0000 Received: (at 36190) by debbugs.gnu.org; 13 Jun 2019 18:49:08 +0000 Received: from localhost ([127.0.0.1]:36096 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hbUmZ-0004CI-ST for submit@debbugs.gnu.org; Thu, 13 Jun 2019 14:49:08 -0400 Received: from mail-oi1-f182.google.com ([209.85.167.182]:35576) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hbUmX-0004Bl-Le for 36190@debbugs.gnu.org; Thu, 13 Jun 2019 14:49:06 -0400 Received: by mail-oi1-f182.google.com with SMTP id y6so138831oix.2 for <36190@debbugs.gnu.org>; Thu, 13 Jun 2019 11:49:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=Gw6ZrRo0MStEJBcJO/IzUDhUqIvjyINXj7o4OptRXoo=; b=t+9v98VHKt0AHMNAlzqoJlG0NpPmg+0/wYuS3XlUyMC3cZy9tdxCpZy7h0rtGK91mB J+vLYQk3deRxYFA9/LlgOjfrnXPszYpmcdI1sXf0kyIVJJUv0ZizBZ2sNG+6rl+dx3R4 7WTQjZp6220sgsRDk09o28bY2rvFZHwfC5hvzcSV5DcFZzT9vCI4rxnZDkxSTfbfFTz1 pNa92MP+WGgxkkJtevZSFBOMUTuILFP1BpmX/C81J9kKP4rUoOfBJ5aL/6bT/l+aDDeE gArpG9rnrgTspd2qPCf4MbZD6RUfAbMKLcVZHEwJM4bFZOajET5E+bRDTTfO4gcAGD1J vGZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=Gw6ZrRo0MStEJBcJO/IzUDhUqIvjyINXj7o4OptRXoo=; b=nvI+3yJWGDdKKrFzv6mPmUDyQF6nXPlVtLJNIpfozxglpqtKH9djRY+YjcTng1VphX rFZ+hAoQ9NUWcI7z8ufnpBmMwOymS0u3p49rXDQiDshPSKZ+JtgXHHZYYptVefPoLpkH vDM3BMZ+TKumepFYhQA2lD48LEp2OgLmPXR9aAzLbnACX2q4dI7DXhQg5dX7/VPknHA3 54Bnr+SV9LxMdN5Ed7i/M8QujFQqSL5RfPGWIE1lFyNkjS2B20+inuf5A/5W9HjNGFza 9/obAXwz8BoB9rh/U3TI+CQTODlIsXYHVuxiy/UHaxNfSGojq7O+p/ZdtopRqNBuQXhT /MzQ== X-Gm-Message-State: APjAAAWIHgq0mjC+QYCEECGfZPX+F1+RXx298dwhuQX3eZerwRKlYqI2 U8loxc9zASasOcEYyigqi08JEtf4gPp+UMlMpRg= X-Google-Smtp-Source: APXvYqwJr8H+Fa2Dapql6V8hC303mlpq27v7WYrhyOIi2G2my4uOVC6Jm+EG+nAy+fODssiAs2Ki301z1kxUjWfKTnU= X-Received: by 2002:aca:4790:: with SMTP id u138mr4093601oia.44.1560451739790; Thu, 13 Jun 2019 11:48:59 -0700 (PDT) MIME-Version: 1.0 References: <83h88tzbly.fsf@gnu.org> In-Reply-To: <83h88tzbly.fsf@gnu.org> From: Pip Cet Date: Thu, 13 Jun 2019 18:48:23 +0000 Message-ID: Content-Type: multipart/mixed; boundary="000000000000a3d7dc058b38fb88" X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --000000000000a3d7dc058b38fb88 Content-Type: text/plain; charset="UTF-8" On Thu, Jun 13, 2019 at 4:36 PM Eli Zaretskii wrote: > > > From: Pip Cet > > Date: Thu, 13 Jun 2019 13:48:40 +0000 > > > > I've looked at the code, and it appears no particular provisions are > > being made to make sure we switch to the modified buffer before > > calling signal_after_change(). > > > > As far as I can tell, this makes `put-text-property' with a buffer > > argument pretty useless. > > Only if you have a buffer-local value of after-change-functions. I'm not sure what you're saying. I'm seeing weird behavior in these cases: - buffer-local value of after-change-functions - global value of after-change functions (current-buffer is wrong!) - overlay property modification-hooks (let ((buffer1 (generate-new-buffer "A")) (buffer2 (generate-new-buffer "B"))) (with-current-buffer buffer2 (insert "BBB")) (with-current-buffer buffer1 (insert "AAA") (overlay-put (make-overlay 1 4 buffer1) 'modification-hooks (list (lambda (&rest args) (message "%S" args)))) (goto-char 2) (insert "AAA") (put-text-property 1 4 'read-only t buffer2))) produces three calls to the lambda, but should produce only two. (The last_overlay_modification_hooks logic is a bit weird, thus the second insertion). That seems pretty wrong to me. In which cases do you think we're seeing the right behavior? Here's a first patch, which adds a "buffer" argument to signal_after_change, to be explicit about where the change happens. It should be pretty cheap in the case where we don't switch buffers. --000000000000a3d7dc058b38fb88 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Switch-to-modified-buffer-in-signal_after_change.patch" Content-Disposition: attachment; filename="0001-Switch-to-modified-buffer-in-signal_after_change.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jwv013vh0 RnJvbSBmZjQwYTkwY2MxZTRhZGU5ODQ4YjZjYjAxZWE5ZTQxNWQ0ZTgyZDhmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQaXAgQ2V0IDxwaXBjZXRAZ21haWwuY29tPgpEYXRlOiBUaHUs IDEzIEp1biAyMDE5IDE0OjA2OjQ2ICswMDAwClN1YmplY3Q6IFtQQVRDSF0gU3dpdGNoIHRvIG1v ZGlmaWVkIGJ1ZmZlciBpbiBzaWduYWxfYWZ0ZXJfY2hhbmdlCgoqIHNyYy9pbnNkZWwuYyAoc2ln bmFsX2FmdGVyX2NoYW5nZSk6IEFkZCBidWZmZXIgYXJndW1lbnQuCiogc3JjL2Nhc2VmaWRkbGUu YyAoY2FzaWZ5X3JlZ2lvbiksCiAgc3JjL2RlY29tcHJlc3MuYyAodW53aW5kX2RlY29tcHJlc3Ms IEZ6bGliX2RlY29tcHJlc3NfcmVnaW9uKSwKICBzcmMvZWRpdGZucy5jIChGcmVwbGFjZV9idWZm ZXJfY29udGVudHMsIEZ0cmFuc2xhdGVfcmVnaW9uX2ludGVybmFsLAogIEZ0cmFuc3Bvc2VfcmVn aW9ucyksIHNyYy9maWxlaW8uYyAoRmluc2VydF9maWxlX2NvbnRlbnRzKSwKICBzcmMvZm5zLmMg KEZiYXNlNjRfZGVjb2RlX3JlZ2lvbiksIHNyYy9pbnNkZWwuYyAoaW5zZXJ0LAogIGluc2VydF9h bmRfaW5oZXJpdCwgaW5zZXJ0X2JlZm9yZV9tYXJrZXJzLAogIGluc2VydF9iZWZvcmVfbWFya2Vy c19hbmRfaW5oZXJpdCwgaW5zZXJ0X2Zyb21fc3RyaW5nLAogIGluc2VydF9mcm9tX3N0cmluZ19i ZWZvcmVfbWFya2VycywgaW5zZXJ0X2Zyb21fYnVmZmVyLAogIHJlcGxhY2VfcmFuZ2UsIGRlbF9y YW5nZV8xLCBkZWxfcmFuZ2VfYnl0ZSwgZGVsX3JhbmdlX2JvdGgsCiAgRmNvbWJpbmVfYWZ0ZXJf Y2hhbmdlX2V4ZWN1dGUpLCBzcmMvanNvbi5jIChGanNvbl9pbnNlcnQpLAogIHNyYy9wcmludC5j IChQUklOVEZJTklTSCk6IHVzZSBjdXJyZW50X2J1ZmZlci4KKiBzcmMvdGV4dHByb3AuYyAoYWRk X3RleHRfcHJvcGVydGllc18xLCBzZXRfdGV4dF9wcm9wZXJ0aWVzLAogIEZyZW1vdmVfdGV4dF9w cm9wZXJ0aWVzLCBGcmVtb3ZlX2xpc3Rfb2ZfdGV4dF9wcm9wZXJ0aWVzKTogdXNlCiAgY29ycmVj dCBidWZmZXIuCi0tLQogc3JjL2Nhc2VmaWRkbGUuYyB8ICAyICstCiBzcmMvZGVjb21wcmVzcy5j IHwgIDQgKystLQogc3JjL2VkaXRmbnMuYyAgICB8ICA4ICsrKystLS0tCiBzcmMvZmlsZWlvLmMg ICAgIHwgIDIgKy0KIHNyYy9mbnMuYyAgICAgICAgfCAgMiArLQogc3JjL2luc2RlbC5jICAgICB8 IDMwICsrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLQogc3JjL2pzb24uYyAgICAgICB8ICAy ICstCiBzcmMvbGlzcC5oICAgICAgIHwgIDIgKy0KIHNyYy9wcmludC5jICAgICAgfCAgMyArKy0K IHNyYy90ZXh0cHJvcC5jICAgfCAyMiArKysrKysrKysrKy0tLS0tLS0tLS0tCiAxMCBmaWxlcyBj aGFuZ2VkLCA0MSBpbnNlcnRpb25zKCspLCAzNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9z cmMvY2FzZWZpZGRsZS5jIGIvc3JjL2Nhc2VmaWRkbGUuYwppbmRleCAzZjQwN2VhZGVkLi5kN2Uy OWQxMGFlIDEwMDY0NAotLS0gYS9zcmMvY2FzZWZpZGRsZS5jCisrKyBiL3NyYy9jYXNlZmlkZGxl LmMKQEAgLTUwOSw3ICs1MDksNyBAQCBjYXNpZnlfcmVnaW9uIChlbnVtIGNhc2VfYWN0aW9uIGZs YWcsIExpc3BfT2JqZWN0IGIsIExpc3BfT2JqZWN0IGUpCiAKICAgaWYgKHN0YXJ0ID49IDApCiAg ICAgewotICAgICAgc2lnbmFsX2FmdGVyX2NoYW5nZSAoc3RhcnQsIGVuZCAtIHN0YXJ0IC0gYWRk ZWQsIGVuZCAtIHN0YXJ0KTsKKyAgICAgIHNpZ25hbF9hZnRlcl9jaGFuZ2UgKGN1cnJlbnRfYnVm ZmVyLCBzdGFydCwgZW5kIC0gc3RhcnQgLSBhZGRlZCwgZW5kIC0gc3RhcnQpOwogICAgICAgdXBk YXRlX2NvbXBvc2l0aW9ucyAoc3RhcnQsIGVuZCwgQ0hFQ0tfQUxMKTsKICAgICB9CiAKZGlmZiAt LWdpdCBhL3NyYy9kZWNvbXByZXNzLmMgYi9zcmMvZGVjb21wcmVzcy5jCmluZGV4IDRjYTZhNTBi MmEuLjgzMWNjNzhmZTUgMTAwNjQ0Ci0tLSBhL3NyYy9kZWNvbXByZXNzLmMKKysrIGIvc3JjL2Rl Y29tcHJlc3MuYwpAQCAtODgsNyArODgsNyBAQCB1bndpbmRfZGVjb21wcmVzcyAodm9pZCAqZGRh dGEpCiAgICAgICB1cGRhdGVfY29tcG9zaXRpb25zIChkYXRhLT5zdGFydCwgZGF0YS0+c3RhcnQs IENIRUNLX0hFQUQpOwogICAgICAgLyogIkJhbGFuY2UiIHRoZSBiZWZvcmUtY2hhbmdlLWZ1bmN0 aW9ucyBjYWxsLCB3aGljaCB3b3VsZAogICAgICAgICAgb3RoZXJ3aXNlIGJlIGxlZnQgImhhbmdp bmciLiAqLwotICAgICAgc2lnbmFsX2FmdGVyX2NoYW5nZSAoZGF0YS0+b3JpZywgZGF0YS0+c3Rh cnQgLSBkYXRhLT5vcmlnLAorICAgICAgc2lnbmFsX2FmdGVyX2NoYW5nZSAoY3VycmVudF9idWZm ZXIsIGRhdGEtPm9yaWcsIGRhdGEtPnN0YXJ0IC0gZGF0YS0+b3JpZywKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGRhdGEtPnN0YXJ0IC0gZGF0YS0+b3JpZyk7CiAgICAgfQogICAvKiBQdXQg cG9pbnQgd2hlcmUgaXQgd2FzLCBvciBpZiB0aGUgYnVmZmVyIGhhcyBzaHJ1bmsgYmVjYXVzZSB0 aGUKQEAgLTIyNyw3ICsyMjcsNyBAQCBERUZVTiAoInpsaWItZGVjb21wcmVzcy1yZWdpb24iLCBG emxpYl9kZWNvbXByZXNzX3JlZ2lvbiwKICAgZGVsX3JhbmdlXzIgKGlzdGFydCwgaXN0YXJ0LCAv KiBieXRlIGFuZCBjaGFyIG9mZnNldHMgYXJlIHRoZSBzYW1lLiAqLwogICAgICAgICAgICAgICAg aWVuZCwgaWVuZCwgMCk7CiAKLSAgc2lnbmFsX2FmdGVyX2NoYW5nZSAoaXN0YXJ0LCBpZW5kIC0g aXN0YXJ0LCB1bndpbmRfZGF0YS5uYnl0ZXMpOworICBzaWduYWxfYWZ0ZXJfY2hhbmdlIChjdXJy ZW50X2J1ZmZlciwgaXN0YXJ0LCBpZW5kIC0gaXN0YXJ0LCB1bndpbmRfZGF0YS5uYnl0ZXMpOwog ICB1cGRhdGVfY29tcG9zaXRpb25zIChpc3RhcnQsIGlzdGFydCwgQ0hFQ0tfSEVBRCk7CiAKICAg cmV0dXJuIHVuYmluZF90byAoY291bnQsIHJldCk7CmRpZmYgLS1naXQgYS9zcmMvZWRpdGZucy5j IGIvc3JjL2VkaXRmbnMuYwppbmRleCBlZTUzOGU1MGUyLi45YWRhMjNmZjYxIDEwMDY0NAotLS0g YS9zcmMvZWRpdGZucy5jCisrKyBiL3NyYy9lZGl0Zm5zLmMKQEAgLTIxNDgsNyArMjE0OCw3IEBA IERFRlVOICgicmVwbGFjZS1idWZmZXItY29udGVudHMiLCBGcmVwbGFjZV9idWZmZXJfY29udGVu dHMsCiAKICAgaWYgKG1vZGlmaWNhdGlvbl9ob29rc19pbmhpYml0ZWQpCiAgICAgewotICAgICAg c2lnbmFsX2FmdGVyX2NoYW5nZSAoQkVHViwgc2l6ZV9hLCBaViAtIEJFR1YpOworICAgICAgc2ln bmFsX2FmdGVyX2NoYW5nZSAoY3VycmVudF9idWZmZXIsIEJFR1YsIHNpemVfYSwgWlYgLSBCRUdW KTsKICAgICAgIHVwZGF0ZV9jb21wb3NpdGlvbnMgKEJFR1YsIFpWLCBDSEVDS19JTlNJREUpOwog ICAgIH0KIApAQCAtMjQxMiw3ICsyNDEyLDcgQEAgI2RlZmluZSBDT01CSU5JTkdfQk9USCAoQ09N QklOSU5HX0JFRk9SRSB8IENPTUJJTklOR19BRlRFUikKIAogICBpZiAoY2hhbmdlZCA+IDApCiAg ICAgewotICAgICAgc2lnbmFsX2FmdGVyX2NoYW5nZSAoY2hhbmdlZCwKKyAgICAgIHNpZ25hbF9h ZnRlcl9jaGFuZ2UgKGN1cnJlbnRfYnVmZmVyLCBjaGFuZ2VkLAogCQkJICAgbGFzdF9jaGFuZ2Vk IC0gY2hhbmdlZCwgbGFzdF9jaGFuZ2VkIC0gY2hhbmdlZCk7CiAgICAgICB1cGRhdGVfY29tcG9z aXRpb25zIChjaGFuZ2VkLCBsYXN0X2NoYW5nZWQsIENIRUNLX0FMTCk7CiAgICAgfQpAQCAtMjYw MCw3ICsyNjAwLDcgQEAgREVGVU4gKCJ0cmFuc2xhdGUtcmVnaW9uLWludGVybmFsIiwgRnRyYW5z bGF0ZV9yZWdpb25faW50ZXJuYWwsCiAJCSAgcmVjb3JkX2NoYW5nZSAocG9zLCAxKTsKIAkJICB3 aGlsZSAoc3RyX2xlbi0tID4gMCkKIAkJICAgICpwKysgPSAqc3RyKys7Ci0JCSAgc2lnbmFsX2Fm dGVyX2NoYW5nZSAocG9zLCAxLCAxKTsKKwkJICBzaWduYWxfYWZ0ZXJfY2hhbmdlIChjdXJyZW50 X2J1ZmZlciwgcG9zLCAxLCAxKTsKIAkJICB1cGRhdGVfY29tcG9zaXRpb25zIChwb3MsIHBvcyAr IDEsIENIRUNLX0JPUkRFUik7CiAJCX0KIAkgICAgICBjaGFyYWN0ZXJzX2NoYW5nZWQrKzsKQEAg LTQ0NDUsNyArNDQ0NSw3IEBAIERFRlVOICgidHJhbnNwb3NlLXJlZ2lvbnMiLCBGdHJhbnNwb3Nl X3JlZ2lvbnMsIFN0cmFuc3Bvc2VfcmVnaW9ucywgNCwgNSwKICAgICAgIGFkanVzdF9tYXJrZXJz X2J5dGVwb3MgKHN0YXJ0MSwgc3RhcnQxX2J5dGUsIGVuZDIsIGVuZDJfYnl0ZSwgMCk7CiAgICAg fQogCi0gIHNpZ25hbF9hZnRlcl9jaGFuZ2UgKHN0YXJ0MSwgZW5kMiAtIHN0YXJ0MSwgZW5kMiAt IHN0YXJ0MSk7CisgIHNpZ25hbF9hZnRlcl9jaGFuZ2UgKGN1cnJlbnRfYnVmZmVyLCBzdGFydDEs IGVuZDIgLSBzdGFydDEsIGVuZDIgLSBzdGFydDEpOwogICByZXR1cm4gUW5pbDsKIH0KIApkaWZm IC0tZ2l0IGEvc3JjL2ZpbGVpby5jIGIvc3JjL2ZpbGVpby5jCmluZGV4IGIxNDFmNTY4ZDcuLjA1 NmRhMmNiOWQgMTAwNjQ0Ci0tLSBhL3NyYy9maWxlaW8uYworKysgYi9zcmMvZmlsZWlvLmMKQEAg LTQ1NTUsNyArNDU1NSw3IEBAIGJlY2F1c2UgKDEpIGl0IHByZXNlcnZlcyBzb21lIG1hcmtlciBw b3NpdGlvbnMgYW5kICgyKSBpdCBwdXRzIGxlc3MgZGF0YQogICBpZiAoaW5zZXJ0ZWQgPiAwICYm IHRvdGFsID4gMAogICAgICAgJiYgKE5JTFAgKHZpc2l0KSB8fCAhTklMUCAocmVwbGFjZSkpKQog ICAgIHsKLSAgICAgIHNpZ25hbF9hZnRlcl9jaGFuZ2UgKFBULCAwLCBpbnNlcnRlZCk7CisgICAg ICBzaWduYWxfYWZ0ZXJfY2hhbmdlIChjdXJyZW50X2J1ZmZlciwgUFQsIDAsIGluc2VydGVkKTsK ICAgICAgIHVwZGF0ZV9jb21wb3NpdGlvbnMgKFBULCBQVCwgQ0hFQ0tfQk9SREVSKTsKICAgICB9 CiAKZGlmZiAtLWdpdCBhL3NyYy9mbnMuYyBiL3NyYy9mbnMuYwppbmRleCBlYWEyYzA3ZmJlLi40 YjBjMjcxYjQ2IDEwMDY0NAotLS0gYS9zcmMvZm5zLmMKKysrIGIvc3JjL2Zucy5jCkBAIC0zNTc3 LDcgKzM1NzcsNyBAQCBERUZVTiAoImJhc2U2NC1kZWNvZGUtcmVnaW9uIiwgRmJhc2U2NF9kZWNv ZGVfcmVnaW9uLCBTYmFzZTY0X2RlY29kZV9yZWdpb24sCiAgICAgIGFuZCBkZWxldGUgdGhlIG9s ZC4gIChJbnNlcnQgZmlyc3QgaW4gb3JkZXIgdG8gcHJlc2VydmUgbWFya2Vycy4pICAqLwogICBU RU1QX1NFVF9QVF9CT1RIIChYRklYTkFUIChiZWcpLCBpYmVnKTsKICAgaW5zZXJ0XzFfYm90aCAo ZGVjb2RlZCwgaW5zZXJ0ZWRfY2hhcnMsIGRlY29kZWRfbGVuZ3RoLCAwLCAxLCAwKTsKLSAgc2ln bmFsX2FmdGVyX2NoYW5nZSAoWEZJWE5BVCAoYmVnKSwgMCwgaW5zZXJ0ZWRfY2hhcnMpOworICBz aWduYWxfYWZ0ZXJfY2hhbmdlIChjdXJyZW50X2J1ZmZlciwgWEZJWE5BVCAoYmVnKSwgMCwgaW5z ZXJ0ZWRfY2hhcnMpOwogICBTQUZFX0ZSRUUgKCk7CiAKICAgLyogRGVsZXRlIHRoZSBvcmlnaW5h bCB0ZXh0LiAgKi8KZGlmZiAtLWdpdCBhL3NyYy9pbnNkZWwuYyBiL3NyYy9pbnNkZWwuYwppbmRl eCA4NWZmZmQ4ZmQxLi5mOTQ5OWE2YWIzIDEwMDY0NAotLS0gYS9zcmMvaW5zZGVsLmMKKysrIGIv c3JjL2luc2RlbC5jCkBAIC02NjksNyArNjY5LDcgQEAgaW5zZXJ0IChjb25zdCBjaGFyICpzdHJp bmcsIHB0cmRpZmZfdCBuYnl0ZXMpCiAgICAgICBwdHJkaWZmX3QgbGVuID0gY2hhcnNfaW5fdGV4 dCAoKHVuc2lnbmVkIGNoYXIgKikgc3RyaW5nLCBuYnl0ZXMpLCBvcG9pbnQ7CiAgICAgICBpbnNl cnRfMV9ib3RoIChzdHJpbmcsIGxlbiwgbmJ5dGVzLCAwLCAxLCAwKTsKICAgICAgIG9wb2ludCA9 IFBUIC0gbGVuOwotICAgICAgc2lnbmFsX2FmdGVyX2NoYW5nZSAob3BvaW50LCAwLCBsZW4pOwor ICAgICAgc2lnbmFsX2FmdGVyX2NoYW5nZSAoY3VycmVudF9idWZmZXIsIG9wb2ludCwgMCwgbGVu KTsKICAgICAgIHVwZGF0ZV9jb21wb3NpdGlvbnMgKG9wb2ludCwgUFQsIENIRUNLX0JPUkRFUik7 CiAgICAgfQogfQpAQCAtNjg0LDcgKzY4NCw3IEBAIGluc2VydF9hbmRfaW5oZXJpdCAoY29uc3Qg Y2hhciAqc3RyaW5nLCBwdHJkaWZmX3QgbmJ5dGVzKQogICAgICAgcHRyZGlmZl90IGxlbiA9IGNo YXJzX2luX3RleHQgKCh1bnNpZ25lZCBjaGFyICopIHN0cmluZywgbmJ5dGVzKSwgb3BvaW50Owog ICAgICAgaW5zZXJ0XzFfYm90aCAoc3RyaW5nLCBsZW4sIG5ieXRlcywgMSwgMSwgMCk7CiAgICAg ICBvcG9pbnQgPSBQVCAtIGxlbjsKLSAgICAgIHNpZ25hbF9hZnRlcl9jaGFuZ2UgKG9wb2ludCwg MCwgbGVuKTsKKyAgICAgIHNpZ25hbF9hZnRlcl9jaGFuZ2UgKGN1cnJlbnRfYnVmZmVyLCBvcG9p bnQsIDAsIGxlbik7CiAgICAgICB1cGRhdGVfY29tcG9zaXRpb25zIChvcG9pbnQsIFBULCBDSEVD S19CT1JERVIpOwogICAgIH0KIH0KQEAgLTcyOSw3ICs3MjksNyBAQCBpbnNlcnRfYmVmb3JlX21h cmtlcnMgKGNvbnN0IGNoYXIgKnN0cmluZywgcHRyZGlmZl90IG5ieXRlcykKICAgICAgIHB0cmRp ZmZfdCBsZW4gPSBjaGFyc19pbl90ZXh0ICgodW5zaWduZWQgY2hhciAqKSBzdHJpbmcsIG5ieXRl cyksIG9wb2ludDsKICAgICAgIGluc2VydF8xX2JvdGggKHN0cmluZywgbGVuLCBuYnl0ZXMsIDAs IDEsIDEpOwogICAgICAgb3BvaW50ID0gUFQgLSBsZW47Ci0gICAgICBzaWduYWxfYWZ0ZXJfY2hh bmdlIChvcG9pbnQsIDAsIGxlbik7CisgICAgICBzaWduYWxfYWZ0ZXJfY2hhbmdlIChjdXJyZW50 X2J1ZmZlciwgb3BvaW50LCAwLCBsZW4pOwogICAgICAgdXBkYXRlX2NvbXBvc2l0aW9ucyAob3Bv aW50LCBQVCwgQ0hFQ0tfQk9SREVSKTsKICAgICB9CiB9CkBAIC03NDUsNyArNzQ1LDcgQEAgaW5z ZXJ0X2JlZm9yZV9tYXJrZXJzX2FuZF9pbmhlcml0IChjb25zdCBjaGFyICpzdHJpbmcsCiAgICAg ICBwdHJkaWZmX3QgbGVuID0gY2hhcnNfaW5fdGV4dCAoKHVuc2lnbmVkIGNoYXIgKikgc3RyaW5n LCBuYnl0ZXMpLCBvcG9pbnQ7CiAgICAgICBpbnNlcnRfMV9ib3RoIChzdHJpbmcsIGxlbiwgbmJ5 dGVzLCAxLCAxLCAxKTsKICAgICAgIG9wb2ludCA9IFBUIC0gbGVuOwotICAgICAgc2lnbmFsX2Fm dGVyX2NoYW5nZSAob3BvaW50LCAwLCBsZW4pOworICAgICAgc2lnbmFsX2FmdGVyX2NoYW5nZSAo Y3VycmVudF9idWZmZXIsIG9wb2ludCwgMCwgbGVuKTsKICAgICAgIHVwZGF0ZV9jb21wb3NpdGlv bnMgKG9wb2ludCwgUFQsIENIRUNLX0JPUkRFUik7CiAgICAgfQogfQpAQCAtOTU5LDcgKzk1OSw3 IEBAIGluc2VydF9mcm9tX3N0cmluZyAoTGlzcF9PYmplY3Qgc3RyaW5nLCBwdHJkaWZmX3QgcG9z LCBwdHJkaWZmX3QgcG9zX2J5dGUsCiAKICAgaW5zZXJ0X2Zyb21fc3RyaW5nXzEgKHN0cmluZywg cG9zLCBwb3NfYnl0ZSwgbGVuZ3RoLCBsZW5ndGhfYnl0ZSwKIAkJCWluaGVyaXQsIDApOwotICBz aWduYWxfYWZ0ZXJfY2hhbmdlIChvcG9pbnQsIDAsIFBUIC0gb3BvaW50KTsKKyAgc2lnbmFsX2Fm dGVyX2NoYW5nZSAoY3VycmVudF9idWZmZXIsIG9wb2ludCwgMCwgUFQgLSBvcG9pbnQpOwogICB1 cGRhdGVfY29tcG9zaXRpb25zIChvcG9pbnQsIFBULCBDSEVDS19CT1JERVIpOwogfQogCkBAIC05 NzksNyArOTc5LDcgQEAgaW5zZXJ0X2Zyb21fc3RyaW5nX2JlZm9yZV9tYXJrZXJzIChMaXNwX09i amVjdCBzdHJpbmcsCiAKICAgaW5zZXJ0X2Zyb21fc3RyaW5nXzEgKHN0cmluZywgcG9zLCBwb3Nf Ynl0ZSwgbGVuZ3RoLCBsZW5ndGhfYnl0ZSwKIAkJCWluaGVyaXQsIDEpOwotICBzaWduYWxfYWZ0 ZXJfY2hhbmdlIChvcG9pbnQsIDAsIFBUIC0gb3BvaW50KTsKKyAgc2lnbmFsX2FmdGVyX2NoYW5n ZSAoY3VycmVudF9idWZmZXIsIG9wb2ludCwgMCwgUFQgLSBvcG9pbnQpOwogICB1cGRhdGVfY29t cG9zaXRpb25zIChvcG9pbnQsIFBULCBDSEVDS19CT1JERVIpOwogfQogCkBAIC0xMTM1LDcgKzEx MzUsNyBAQCBpbnNlcnRfZnJvbV9idWZmZXIgKHN0cnVjdCBidWZmZXIgKmJ1ZiwKICAgcHRyZGlm Zl90IG9wb2ludCA9IFBUOwogCiAgIGluc2VydF9mcm9tX2J1ZmZlcl8xIChidWYsIGNoYXJwb3Ms IG5jaGFycywgaW5oZXJpdCk7Ci0gIHNpZ25hbF9hZnRlcl9jaGFuZ2UgKG9wb2ludCwgMCwgUFQg LSBvcG9pbnQpOworICBzaWduYWxfYWZ0ZXJfY2hhbmdlIChjdXJyZW50X2J1ZmZlciwgb3BvaW50 LCAwLCBQVCAtIG9wb2ludCk7CiAgIHVwZGF0ZV9jb21wb3NpdGlvbnMgKG9wb2ludCwgUFQsIENI RUNLX0JPUkRFUik7CiB9CiAKQEAgLTE1MzAsNyArMTUzMCw3IEBAIHJlcGxhY2VfcmFuZ2UgKHB0 cmRpZmZfdCBmcm9tLCBwdHJkaWZmX3QgdG8sIExpc3BfT2JqZWN0IG5ldywKICAgaWYgKGFkanVz dF9tYXRjaF9kYXRhKQogICAgIHVwZGF0ZV9zZWFyY2hfcmVncyAoZnJvbSwgdG8sIGZyb20gKyBT Q0hBUlMgKG5ldykpOwogCi0gIHNpZ25hbF9hZnRlcl9jaGFuZ2UgKGZyb20sIG5jaGFyc19kZWws IEdQVCAtIGZyb20pOworICBzaWduYWxfYWZ0ZXJfY2hhbmdlIChjdXJyZW50X2J1ZmZlciwgZnJv bSwgbmNoYXJzX2RlbCwgR1BUIC0gZnJvbSk7CiAgIHVwZGF0ZV9jb21wb3NpdGlvbnMgKGZyb20s IEdQVCwgQ0hFQ0tfQk9SREVSKTsKIH0KIAwKQEAgLTE2OTgsNyArMTY5OCw3IEBAIGRlbF9yYW5n ZV8xIChwdHJkaWZmX3QgZnJvbSwgcHRyZGlmZl90IHRvLCBib29sIHByZXBhcmUsIGJvb2wgcmV0 X3N0cmluZykKICAgdG9fYnl0ZSA9IENIQVJfVE9fQllURSAodG8pOwogCiAgIGRlbGV0aW9uID0g ZGVsX3JhbmdlXzIgKGZyb20sIGZyb21fYnl0ZSwgdG8sIHRvX2J5dGUsIHJldF9zdHJpbmcpOwot ICBzaWduYWxfYWZ0ZXJfY2hhbmdlIChmcm9tLCB0byAtIGZyb20sIDApOworICBzaWduYWxfYWZ0 ZXJfY2hhbmdlIChjdXJyZW50X2J1ZmZlciwgZnJvbSwgdG8gLSBmcm9tLCAwKTsKICAgdXBkYXRl X2NvbXBvc2l0aW9ucyAoZnJvbSwgZnJvbSwgQ0hFQ0tfSEVBRCk7CiAgIHJldHVybiBkZWxldGlv bjsKIH0KQEAgLTE3NDAsNyArMTc0MCw3IEBAIGRlbF9yYW5nZV9ieXRlIChwdHJkaWZmX3QgZnJv bV9ieXRlLCBwdHJkaWZmX3QgdG9fYnl0ZSkKICAgfQogCiAgIGRlbF9yYW5nZV8yIChmcm9tLCBm cm9tX2J5dGUsIHRvLCB0b19ieXRlLCAwKTsKLSAgc2lnbmFsX2FmdGVyX2NoYW5nZSAoZnJvbSwg dG8gLSBmcm9tLCAwKTsKKyAgc2lnbmFsX2FmdGVyX2NoYW5nZSAoY3VycmVudF9idWZmZXIsIGZy b20sIHRvIC0gZnJvbSwgMCk7CiAgIHVwZGF0ZV9jb21wb3NpdGlvbnMgKGZyb20sIGZyb20sIENI RUNLX0hFQUQpOwogfQogCkBAIC0xNzg0LDcgKzE3ODQsNyBAQCBkZWxfcmFuZ2VfYm90aCAocHRy ZGlmZl90IGZyb20sIHB0cmRpZmZfdCBmcm9tX2J5dGUsCiAgICAgfQogCiAgIGRlbF9yYW5nZV8y IChmcm9tLCBmcm9tX2J5dGUsIHRvLCB0b19ieXRlLCAwKTsKLSAgc2lnbmFsX2FmdGVyX2NoYW5n ZSAoZnJvbSwgdG8gLSBmcm9tLCAwKTsKKyAgc2lnbmFsX2FmdGVyX2NoYW5nZSAoY3VycmVudF9i dWZmZXIsIGZyb20sIHRvIC0gZnJvbSwgMCk7CiAgIHVwZGF0ZV9jb21wb3NpdGlvbnMgKGZyb20s IGZyb20sIENIRUNLX0hFQUQpOwogfQogCkBAIC0yMTc0LDcgKzIxNzQsOCBAQCBzaWduYWxfYmVm b3JlX2NoYW5nZSAocHRyZGlmZl90IHN0YXJ0X2ludCwgcHRyZGlmZl90IGVuZF9pbnQsCiAgICBh ZnRlciB0aGUgY2hhbmdlLiAgKi8KIAogdm9pZAotc2lnbmFsX2FmdGVyX2NoYW5nZSAocHRyZGlm Zl90IGNoYXJwb3MsIHB0cmRpZmZfdCBsZW5kZWwsIHB0cmRpZmZfdCBsZW5pbnMpCitzaWduYWxf YWZ0ZXJfY2hhbmdlIChzdHJ1Y3QgYnVmZmVyICpidWZmZXIsCisgICAgICAgICAgICAgICAgICAg ICBwdHJkaWZmX3QgY2hhcnBvcywgcHRyZGlmZl90IGxlbmRlbCwgcHRyZGlmZl90IGxlbmlucykK IHsKICAgcHRyZGlmZl90IGNvdW50ID0gU1BFQ1BETF9JTkRFWCAoKTsKICAgc3RydWN0IHJ2b2Vf YXJnIHJ2b2VfYXJnOwpAQCAtMjE4Myw2ICsyMTg0LDkgQEAgc2lnbmFsX2FmdGVyX2NoYW5nZSAo cHRyZGlmZl90IGNoYXJwb3MsIHB0cmRpZmZfdCBsZW5kZWwsIHB0cmRpZmZfdCBsZW5pbnMpCiAg IGlmIChpbmhpYml0X21vZGlmaWNhdGlvbl9ob29rcykKICAgICByZXR1cm47CiAKKyAgcmVjb3Jk X3Vud2luZF9jdXJyZW50X2J1ZmZlciAoKTsKKyAgc2V0X2J1ZmZlcl9pbnRlcm5hbCAoYnVmZmVy KTsKKwogICAvKiBJZiB3ZSBhcmUgZGVmZXJyaW5nIGNhbGxzIHRvIHRoZSBhZnRlci1jaGFuZ2Ug ZnVuY3Rpb25zCiAgICAgIGFuZCB0aGVyZSBhcmUgbm8gYmVmb3JlLWNoYW5nZSBmdW5jdGlvbnMs CiAgICAgIGp1c3QgcmVjb3JkIHRoZSBhcmdzIHRoYXQgd2Ugd2VyZSBnb2luZyB0byB1c2UuICAq LwpAQCAtMjMzOCw3ICsyMzQyLDcgQEAgREVGVU4gKCJjb21iaW5lLWFmdGVyLWNoYW5nZS1leGVj dXRlIiwgRmNvbWJpbmVfYWZ0ZXJfY2hhbmdlX2V4ZWN1dGUsCiAgICAgIFR1cm4gb2ZmIHRoZSBm bGFnIHRoYXQgZGVmZXJzIHRoZW0uICAqLwogICByZWNvcmRfdW53aW5kX3Byb3RlY3QgKEZjb21i aW5lX2FmdGVyX2NoYW5nZV9leGVjdXRlXzEsCiAJCQkgVmNvbWJpbmVfYWZ0ZXJfY2hhbmdlX2Nh bGxzKTsKLSAgc2lnbmFsX2FmdGVyX2NoYW5nZSAoYmVncG9zLCBlbmRwb3MgLSBiZWdwb3MgLSBj aGFuZ2UsIGVuZHBvcyAtIGJlZ3Bvcyk7CisgIHNpZ25hbF9hZnRlcl9jaGFuZ2UgKGN1cnJlbnRf YnVmZmVyLCBiZWdwb3MsIGVuZHBvcyAtIGJlZ3BvcyAtIGNoYW5nZSwgZW5kcG9zIC0gYmVncG9z KTsKICAgdXBkYXRlX2NvbXBvc2l0aW9ucyAoYmVncG9zLCBlbmRwb3MsIENIRUNLX0FMTCk7CiAK ICAgcmV0dXJuIHVuYmluZF90byAoY291bnQsIFFuaWwpOwpkaWZmIC0tZ2l0IGEvc3JjL2pzb24u YyBiL3NyYy9qc29uLmMKaW5kZXggZTJhNDQyNDQ2My4uZWNiNDdmM2ZmNCAxMDA2NDQKLS0tIGEv c3JjL2pzb24uYworKysgYi9zcmMvanNvbi5jCkBAIC03ODksNyArNzg5LDcgQEAgREVGVU4gKCJq c29uLWluc2VydCIsIEZqc29uX2luc2VydCwgU2pzb25faW5zZXJ0LCAxLCBNQU5ZLAogICAgIH0K IAogICAvKiBDYWxsIGFmdGVyLWNoYW5nZSBob29rcy4gICovCi0gIHNpZ25hbF9hZnRlcl9jaGFu Z2UgKFBULCAwLCBpbnNlcnRlZCk7CisgIHNpZ25hbF9hZnRlcl9jaGFuZ2UgKGN1cnJlbnRfYnVm ZmVyLCBQVCwgMCwgaW5zZXJ0ZWQpOwogICBpZiAoaW5zZXJ0ZWQgPiAwKQogICAgIHsKICAgICAg IHVwZGF0ZV9jb21wb3NpdGlvbnMgKFBULCBQVCwgQ0hFQ0tfQk9SREVSKTsKZGlmZiAtLWdpdCBh L3NyYy9saXNwLmggYi9zcmMvbGlzcC5oCmluZGV4IDc3ZmMyMmQxMTguLmExZWQ0YTNjZTkgMTAw NjQ0Ci0tLSBhL3NyYy9saXNwLmgKKysrIGIvc3JjL2xpc3AuaApAQCAtMzY4NSw3ICszNjg1LDcg QEAgI2RlZmluZSBDT05TX1RPX0lOVEVHRVIoY29ucywgdHlwZSwgdmFyKQkJCQlcCiBleHRlcm4g dm9pZCBwcmVwYXJlX3RvX21vZGlmeV9idWZmZXIgKHB0cmRpZmZfdCwgcHRyZGlmZl90LCBwdHJk aWZmX3QgKik7CiBleHRlcm4gdm9pZCBwcmVwYXJlX3RvX21vZGlmeV9idWZmZXJfMSAocHRyZGlm Zl90LCBwdHJkaWZmX3QsIHB0cmRpZmZfdCAqKTsKIGV4dGVybiB2b2lkIGludmFsaWRhdGVfYnVm ZmVyX2NhY2hlcyAoc3RydWN0IGJ1ZmZlciAqLCBwdHJkaWZmX3QsIHB0cmRpZmZfdCk7Ci1leHRl cm4gdm9pZCBzaWduYWxfYWZ0ZXJfY2hhbmdlIChwdHJkaWZmX3QsIHB0cmRpZmZfdCwgcHRyZGlm Zl90KTsKK2V4dGVybiB2b2lkIHNpZ25hbF9hZnRlcl9jaGFuZ2UgKHN0cnVjdCBidWZmZXIgKiwg cHRyZGlmZl90LCBwdHJkaWZmX3QsIHB0cmRpZmZfdCk7CiBleHRlcm4gdm9pZCBhZGp1c3RfYWZ0 ZXJfaW5zZXJ0IChwdHJkaWZmX3QsIHB0cmRpZmZfdCwgcHRyZGlmZl90LAogCQkJCSBwdHJkaWZm X3QsIHB0cmRpZmZfdCk7CiBleHRlcm4gdm9pZCBhZGp1c3RfbWFya2Vyc19mb3JfZGVsZXRlIChw dHJkaWZmX3QsIHB0cmRpZmZfdCwKZGlmZiAtLWdpdCBhL3NyYy9wcmludC5jIGIvc3JjL3ByaW50 LmMKaW5kZXggNDA2YWJiZjRhMy4uZTk0ZWFmMzZmOSAxMDA2NDQKLS0tIGEvc3JjL3ByaW50LmMK KysrIGIvc3JjL3ByaW50LmMKQEAgLTE3OCw3ICsxNzgsOCBAQCAjZGVmaW5lIFBSSU5URklOSVNI CQkJCQkJCVwKICAgICAgICBlbHNlCQkJCQkJCQlcCiAJIGluc2VydF8xX2JvdGggKHByaW50X2J1 ZmZlciwgcHJpbnRfYnVmZmVyX3BvcywJCQlcCiAJCQlwcmludF9idWZmZXJfcG9zX2J5dGUsIDAs IDEsIDApOwkJXAotICAgICAgIHNpZ25hbF9hZnRlcl9jaGFuZ2UgKFBUIC0gcHJpbnRfYnVmZmVy X3BvcywgMCwgcHJpbnRfYnVmZmVyX3Bvcyk7XAorICAgICAgIHNpZ25hbF9hZnRlcl9jaGFuZ2Ug KGN1cnJlbnRfYnVmZmVyLCBQVCAtIHByaW50X2J1ZmZlcl9wb3MsICAgICAgXAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDAsIHByaW50X2J1ZmZlcl9wb3MpOyAgICAgICAgICAgICAgICAg ICAgICAgXAogICAgICB9CQkJCQkJCQkJXAogICAgaWYgKGZyZWVfcHJpbnRfYnVmZmVyKQkJCQkJ CVwKICAgICAgewkJCQkJCQkJCVwKZGlmZiAtLWdpdCBhL3NyYy90ZXh0cHJvcC5jIGIvc3JjL3Rl eHRwcm9wLmMKaW5kZXggYWU0MmM0NDE4NS4uMjkzYWMwMmQ5YyAxMDA2NDQKLS0tIGEvc3JjL3Rl eHRwcm9wLmMKKysrIGIvc3JjL3RleHRwcm9wLmMKQEAgLTEyMTUsNyArMTIxNSw3IEBAIGFkZF90 ZXh0X3Byb3BlcnRpZXNfMSAoTGlzcF9PYmplY3Qgc3RhcnQsIExpc3BfT2JqZWN0IGVuZCwKIAkg IGlmIChpbnRlcnZhbF9oYXNfYWxsX3Byb3BlcnRpZXMgKHByb3BlcnRpZXMsIGkpKQogCSAgICB7 CiAJICAgICAgaWYgKEJVRkZFUlAgKG9iamVjdCkpCi0JCXNpZ25hbF9hZnRlcl9jaGFuZ2UgKFhG SVhOVU0gKHN0YXJ0KSwgWEZJWE5VTSAoZW5kKSAtIFhGSVhOVU0gKHN0YXJ0KSwKKwkJc2lnbmFs X2FmdGVyX2NoYW5nZSAoWEJVRkZFUiAob2JqZWN0KSwgWEZJWE5VTSAoc3RhcnQpLCBYRklYTlVN IChlbmQpIC0gWEZJWE5VTSAoc3RhcnQpLAogCQkJCSAgICAgWEZJWE5VTSAoZW5kKSAtIFhGSVhO VU0gKHN0YXJ0KSk7CiAKIAkgICAgICBlYXNzZXJ0IChtb2RpZmllZCk7CkBAIC0xMjI2LDcgKzEy MjYsNyBAQCBhZGRfdGV4dF9wcm9wZXJ0aWVzXzEgKExpc3BfT2JqZWN0IHN0YXJ0LCBMaXNwX09i amVjdCBlbmQsCiAJICAgIHsKIAkgICAgICBhZGRfcHJvcGVydGllcyAocHJvcGVydGllcywgaSwg b2JqZWN0LCBzZXRfdHlwZSk7CiAJICAgICAgaWYgKEJVRkZFUlAgKG9iamVjdCkpCi0JCXNpZ25h bF9hZnRlcl9jaGFuZ2UgKFhGSVhOVU0gKHN0YXJ0KSwgWEZJWE5VTSAoZW5kKSAtIFhGSVhOVU0g KHN0YXJ0KSwKKwkJc2lnbmFsX2FmdGVyX2NoYW5nZSAoWEJVRkZFUiAob2JqZWN0KSwgWEZJWE5V TSAoc3RhcnQpLCBYRklYTlVNIChlbmQpIC0gWEZJWE5VTSAoc3RhcnQpLAogCQkJCSAgICAgWEZJ WE5VTSAoZW5kKSAtIFhGSVhOVU0gKHN0YXJ0KSk7CiAJICAgICAgcmV0dXJuIFF0OwogCSAgICB9 CkBAIC0xMjM3LDcgKzEyMzcsNyBAQCBhZGRfdGV4dF9wcm9wZXJ0aWVzXzEgKExpc3BfT2JqZWN0 IHN0YXJ0LCBMaXNwX09iamVjdCBlbmQsCiAJICBjb3B5X3Byb3BlcnRpZXMgKHVuY2hhbmdlZCwg aSk7CiAJICBhZGRfcHJvcGVydGllcyAocHJvcGVydGllcywgaSwgb2JqZWN0LCBzZXRfdHlwZSk7 CiAJICBpZiAoQlVGRkVSUCAob2JqZWN0KSkKLQkgICAgc2lnbmFsX2FmdGVyX2NoYW5nZSAoWEZJ WE5VTSAoc3RhcnQpLCBYRklYTlVNIChlbmQpIC0gWEZJWE5VTSAoc3RhcnQpLAorCSAgICBzaWdu YWxfYWZ0ZXJfY2hhbmdlIChYQlVGRkVSIChvYmplY3QpLCBYRklYTlVNIChzdGFydCksIFhGSVhO VU0gKGVuZCkgLSBYRklYTlVNIChzdGFydCksCiAJCQkJIFhGSVhOVU0gKGVuZCkgLSBYRklYTlVN IChzdGFydCkpOwogCSAgcmV0dXJuIFF0OwogCX0KQEAgLTEzOTgsNyArMTM5OCw3IEBAIHNldF90 ZXh0X3Byb3BlcnRpZXMgKExpc3BfT2JqZWN0IHN0YXJ0LCBMaXNwX09iamVjdCBlbmQsIExpc3Bf T2JqZWN0IHByb3BlcnRpZXMsCiAgIHNldF90ZXh0X3Byb3BlcnRpZXNfMSAoc3RhcnQsIGVuZCwg cHJvcGVydGllcywgb2JqZWN0LCBpKTsKIAogICBpZiAoQlVGRkVSUCAob2JqZWN0KSAmJiAhTklM UCAoY29oZXJlbnRfY2hhbmdlX3ApKQotICAgIHNpZ25hbF9hZnRlcl9jaGFuZ2UgKFhGSVhOVU0g KHN0YXJ0KSwgWEZJWE5VTSAoZW5kKSAtIFhGSVhOVU0gKHN0YXJ0KSwKKyAgICBzaWduYWxfYWZ0 ZXJfY2hhbmdlIChYQlVGRkVSIChvYmplY3QpLCBYRklYTlVNIChzdGFydCksIFhGSVhOVU0gKGVu ZCkgLSBYRklYTlVNIChzdGFydCksCiAJCQkgWEZJWE5VTSAoZW5kKSAtIFhGSVhOVU0gKHN0YXJ0 KSk7CiAgIHJldHVybiBRdDsKIH0KQEAgLTE1NjUsNyArMTU2NSw3IEBAIERFRlVOICgicmVtb3Zl LXRleHQtcHJvcGVydGllcyIsIEZyZW1vdmVfdGV4dF9wcm9wZXJ0aWVzLAogCSAgICB7CiAJICAg ICAgZWFzc2VydCAobW9kaWZpZWQpOwogCSAgICAgIGlmIChCVUZGRVJQIChvYmplY3QpKQotCQlz aWduYWxfYWZ0ZXJfY2hhbmdlIChYRklYTlVNIChzdGFydCksIFhGSVhOVU0gKGVuZCkgLSBYRklY TlVNIChzdGFydCksCisJCXNpZ25hbF9hZnRlcl9jaGFuZ2UgKFhCVUZGRVIgKG9iamVjdCksIFhG SVhOVU0gKHN0YXJ0KSwgWEZJWE5VTSAoZW5kKSAtIFhGSVhOVU0gKHN0YXJ0KSwKIAkJCQkgICAg IFhGSVhOVU0gKGVuZCkgLSBYRklYTlVNIChzdGFydCkpOwogCSAgICAgIHJldHVybiBRdDsKIAkg ICAgfQpAQCAtMTU3NCw3ICsxNTc0LDcgQEAgREVGVU4gKCJyZW1vdmUtdGV4dC1wcm9wZXJ0aWVz IiwgRnJlbW92ZV90ZXh0X3Byb3BlcnRpZXMsCiAJICAgIHsKIAkgICAgICByZW1vdmVfcHJvcGVy dGllcyAocHJvcGVydGllcywgUW5pbCwgaSwgb2JqZWN0KTsKIAkgICAgICBpZiAoQlVGRkVSUCAo b2JqZWN0KSkKLQkJc2lnbmFsX2FmdGVyX2NoYW5nZSAoWEZJWE5VTSAoc3RhcnQpLCBYRklYTlVN IChlbmQpIC0gWEZJWE5VTSAoc3RhcnQpLAorCQlzaWduYWxfYWZ0ZXJfY2hhbmdlIChYQlVGRkVS IChvYmplY3QpLCBYRklYTlVNIChzdGFydCksIFhGSVhOVU0gKGVuZCkgLSBYRklYTlVNIChzdGFy dCksCiAJCQkJICAgICBYRklYTlVNIChlbmQpIC0gWEZJWE5VTSAoc3RhcnQpKTsKIAkgICAgICBy ZXR1cm4gUXQ7CiAJICAgIH0KQEAgLTE1ODUsNyArMTU4NSw3IEBAIERFRlVOICgicmVtb3ZlLXRl eHQtcHJvcGVydGllcyIsIEZyZW1vdmVfdGV4dF9wcm9wZXJ0aWVzLAogCSAgY29weV9wcm9wZXJ0 aWVzICh1bmNoYW5nZWQsIGkpOwogCSAgcmVtb3ZlX3Byb3BlcnRpZXMgKHByb3BlcnRpZXMsIFFu aWwsIGksIG9iamVjdCk7CiAJICBpZiAoQlVGRkVSUCAob2JqZWN0KSkKLQkgICAgc2lnbmFsX2Fm dGVyX2NoYW5nZSAoWEZJWE5VTSAoc3RhcnQpLCBYRklYTlVNIChlbmQpIC0gWEZJWE5VTSAoc3Rh cnQpLAorCSAgICBzaWduYWxfYWZ0ZXJfY2hhbmdlIChYQlVGRkVSIChvYmplY3QpLCBYRklYTlVN IChzdGFydCksIFhGSVhOVU0gKGVuZCkgLSBYRklYTlVNIChzdGFydCksCiAJCQkJIFhGSVhOVU0g KGVuZCkgLSBYRklYTlVNIChzdGFydCkpOwogCSAgcmV0dXJuIFF0OwogCX0KQEAgLTE2NjMsNyAr MTY2Myw3IEBAIERFRlVOICgicmVtb3ZlLWxpc3Qtb2YtdGV4dC1wcm9wZXJ0aWVzIiwgRnJlbW92 ZV9saXN0X29mX3RleHRfcHJvcGVydGllcywKIAkgICAgICBpZiAobW9kaWZpZWQpCiAJCXsKIAkJ ICBpZiAoQlVGRkVSUCAob2JqZWN0KSkKLQkJICAgIHNpZ25hbF9hZnRlcl9jaGFuZ2UgKFhGSVhO VU0gKHN0YXJ0KSwKKwkJICAgIHNpZ25hbF9hZnRlcl9jaGFuZ2UgKFhCVUZGRVIgKG9iamVjdCks IFhGSVhOVU0gKHN0YXJ0KSwKIAkJCQkJIFhGSVhOVU0gKGVuZCkgLSBYRklYTlVNIChzdGFydCks CiAJCQkJCSBYRklYTlVNIChlbmQpIC0gWEZJWE5VTSAoc3RhcnQpKTsKIAkJICByZXR1cm4gUXQ7 CkBAIC0xNjc3LDcgKzE2NzcsNyBAQCBERUZVTiAoInJlbW92ZS1saXN0LW9mLXRleHQtcHJvcGVy dGllcyIsIEZyZW1vdmVfbGlzdF9vZl90ZXh0X3Byb3BlcnRpZXMsCiAJCW1vZGlmeV90ZXh0X3By b3BlcnRpZXMgKG9iamVjdCwgc3RhcnQsIGVuZCk7CiAJICAgICAgcmVtb3ZlX3Byb3BlcnRpZXMg KFFuaWwsIHByb3BlcnRpZXMsIGksIG9iamVjdCk7CiAJICAgICAgaWYgKEJVRkZFUlAgKG9iamVj dCkpCi0JCXNpZ25hbF9hZnRlcl9jaGFuZ2UgKFhGSVhOVU0gKHN0YXJ0KSwgWEZJWE5VTSAoZW5k KSAtIFhGSVhOVU0gKHN0YXJ0KSwKKwkJc2lnbmFsX2FmdGVyX2NoYW5nZSAoWEJVRkZFUiAob2Jq ZWN0KSwgWEZJWE5VTSAoc3RhcnQpLCBYRklYTlVNIChlbmQpIC0gWEZJWE5VTSAoc3RhcnQpLAog CQkJCSAgICAgWEZJWE5VTSAoZW5kKSAtIFhGSVhOVU0gKHN0YXJ0KSk7CiAJICAgICAgcmV0dXJu IFF0OwogCSAgICB9CkBAIC0xNjkwLDcgKzE2OTAsNyBAQCBERUZVTiAoInJlbW92ZS1saXN0LW9m LXRleHQtcHJvcGVydGllcyIsIEZyZW1vdmVfbGlzdF9vZl90ZXh0X3Byb3BlcnRpZXMsCiAJCW1v ZGlmeV90ZXh0X3Byb3BlcnRpZXMgKG9iamVjdCwgc3RhcnQsIGVuZCk7CiAJICAgICAgcmVtb3Zl X3Byb3BlcnRpZXMgKFFuaWwsIHByb3BlcnRpZXMsIGksIG9iamVjdCk7CiAJICAgICAgaWYgKEJV RkZFUlAgKG9iamVjdCkpCi0JCXNpZ25hbF9hZnRlcl9jaGFuZ2UgKFhGSVhOVU0gKHN0YXJ0KSwg WEZJWE5VTSAoZW5kKSAtIFhGSVhOVU0gKHN0YXJ0KSwKKwkJc2lnbmFsX2FmdGVyX2NoYW5nZSAo WEJVRkZFUiAob2JqZWN0KSwgWEZJWE5VTSAoc3RhcnQpLCBYRklYTlVNIChlbmQpIC0gWEZJWE5V TSAoc3RhcnQpLAogCQkJCSAgICAgWEZJWE5VTSAoZW5kKSAtIFhGSVhOVU0gKHN0YXJ0KSk7CiAJ ICAgICAgcmV0dXJuIFF0OwogCSAgICB9CkBAIC0xNzA5LDcgKzE3MDksNyBAQCBERUZVTiAoInJl bW92ZS1saXN0LW9mLXRleHQtcHJvcGVydGllcyIsIEZyZW1vdmVfbGlzdF9vZl90ZXh0X3Byb3Bl cnRpZXMsCiAgICAgICAgICAgaWYgKG1vZGlmaWVkKQogICAgICAgICAgICAgewogICAgICAgICAg ICAgICBpZiAoQlVGRkVSUCAob2JqZWN0KSkKLSAgICAgICAgICAgICAgICBzaWduYWxfYWZ0ZXJf Y2hhbmdlIChYRklYTlVNIChzdGFydCksCisgICAgICAgICAgICAgICAgc2lnbmFsX2FmdGVyX2No YW5nZSAoWEJVRkZFUiAob2JqZWN0KSwgWEZJWE5VTSAoc3RhcnQpLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFhGSVhOVU0gKGVuZCkgLSBYRklYTlVNIChzdGFydCksCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWEZJWE5VTSAoZW5kKSAtIFhGSVhO VU0gKHN0YXJ0KSk7CiAgICAgICAgICAgICAgIHJldHVybiBRdDsKLS0gCjIuMjAuMQoK --000000000000a3d7dc058b38fb88-- From unknown Tue Aug 19 05:08:21 2025 X-Loop: help-debbugs@gnu.org Subject: bug#36190: 27.0.50; `put-text-property' etc. with buffer argument calls current buffer's `after-change-functions' Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 13 Jun 2019 19:07:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 36190 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Pip Cet Cc: 36190@debbugs.gnu.org Received: via spool by 36190-submit@debbugs.gnu.org id=B36190.156045278218140 (code B ref 36190); Thu, 13 Jun 2019 19:07:02 +0000 Received: (at 36190) by debbugs.gnu.org; 13 Jun 2019 19:06:22 +0000 Received: from localhost ([127.0.0.1]:36130 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hbV3G-0004iV-BW for submit@debbugs.gnu.org; Thu, 13 Jun 2019 15:06:22 -0400 Received: from eggs.gnu.org ([209.51.188.92]:33621) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hbV3D-0004iE-9s for 36190@debbugs.gnu.org; Thu, 13 Jun 2019 15:06:21 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:38653) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hbV33-0001a8-T3; Thu, 13 Jun 2019 15:06:12 -0400 Received: from [176.228.60.248] (port=1902 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1hbV2q-0003io-JJ; Thu, 13 Jun 2019 15:05:59 -0400 Date: Thu, 13 Jun 2019 22:05:48 +0300 Message-Id: <835zp9z4oj.fsf@gnu.org> From: Eli Zaretskii In-reply-to: (message from Pip Cet on Thu, 13 Jun 2019 18:48:23 +0000) References: <83h88tzbly.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) 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: Pip Cet > Date: Thu, 13 Jun 2019 18:48:23 +0000 > Cc: 36190@debbugs.gnu.org > > > > As far as I can tell, this makes `put-text-property' with a buffer > > > argument pretty useless. > > > > Only if you have a buffer-local value of after-change-functions. > > I'm not sure what you're saying. I'm saying that the buffer argument to put-text-property is pretty useless only if you consider after-change-functions. The primary purpose of put-text-property is to modify text properties, not to call after-change-functions. For that primary purpose, the buffer argument is not useless. > That seems pretty wrong to me. In which cases do you think we're > seeing the right behavior? Where did I say that this behavior was right? > Here's a first patch, which adds a "buffer" argument to > signal_after_change, to be explicit about where the change happens. It > should be pretty cheap in the case where we don't switch buffers. Not sure I have a clear idea of how you intend to use that additional argument. Are you suggesting that we switch to that buffer? If so, how is that different from not using the buffer argument at all, and instead wrapping the call to put-text-property with with-current-buffer? Also, passing current_buffer sounds redundant to me anyway, because in that case signal_after_change will not need to do anything that it doesn't already do. I would pass NULL instead. Thanks. From unknown Tue Aug 19 05:08:21 2025 X-Loop: help-debbugs@gnu.org Subject: bug#36190: 27.0.50; `put-text-property' etc. with buffer argument calls current buffer's `after-change-functions' Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 13 Jun 2019 19:29:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 36190 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: pipcet@gmail.com Cc: 36190@debbugs.gnu.org Received: via spool by 36190-submit@debbugs.gnu.org id=B36190.156045409420142 (code B ref 36190); Thu, 13 Jun 2019 19:29:01 +0000 Received: (at 36190) by debbugs.gnu.org; 13 Jun 2019 19:28:14 +0000 Received: from localhost ([127.0.0.1]:36145 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hbVOP-0005En-Rc for submit@debbugs.gnu.org; Thu, 13 Jun 2019 15:28:14 -0400 Received: from eggs.gnu.org ([209.51.188.92]:40319) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hbVOO-0005Eb-4m for 36190@debbugs.gnu.org; Thu, 13 Jun 2019 15:28:12 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:39053) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hbVOI-00076w-Sb; Thu, 13 Jun 2019 15:28:06 -0400 Received: from [176.228.60.248] (port=3251 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1hbVOD-000660-Ra; Thu, 13 Jun 2019 15:28:04 -0400 Date: Thu, 13 Jun 2019 22:27:56 +0300 Message-Id: <8336kdz3nn.fsf@gnu.org> From: Eli Zaretskii In-reply-to: <835zp9z4oj.fsf@gnu.org> (message from Eli Zaretskii on Thu, 13 Jun 2019 22:05:48 +0300) References: <83h88tzbly.fsf@gnu.org> <835zp9z4oj.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) 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 (---) > Date: Thu, 13 Jun 2019 22:05:48 +0300 > From: Eli Zaretskii > Cc: 36190@debbugs.gnu.org > > > Here's a first patch, which adds a "buffer" argument to > > signal_after_change, to be explicit about where the change happens. It > > should be pretty cheap in the case where we don't switch buffers. > > Not sure I have a clear idea of how you intend to use that additional > argument. Found it: > + record_unwind_current_buffer (); > + set_buffer_internal (buffer); From unknown Tue Aug 19 05:08:21 2025 X-Loop: help-debbugs@gnu.org Subject: bug#36190: 27.0.50; `put-text-property' etc. with buffer argument calls current buffer's `after-change-functions' Resent-From: Pip Cet Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 13 Jun 2019 19:44:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 36190 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 36190@debbugs.gnu.org Received: via spool by 36190-submit@debbugs.gnu.org id=B36190.156045499221602 (code B ref 36190); Thu, 13 Jun 2019 19:44:02 +0000 Received: (at 36190) by debbugs.gnu.org; 13 Jun 2019 19:43:12 +0000 Received: from localhost ([127.0.0.1]:36174 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hbVcu-0005cM-0h for submit@debbugs.gnu.org; Thu, 13 Jun 2019 15:43:12 -0400 Received: from mail-ot1-f49.google.com ([209.85.210.49]:39591) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hbVcs-0005c9-Rj for 36190@debbugs.gnu.org; Thu, 13 Jun 2019 15:43:11 -0400 Received: by mail-ot1-f49.google.com with SMTP id r21so338671otq.6 for <36190@debbugs.gnu.org>; Thu, 13 Jun 2019 12:43:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=lZY9okjy43UBDDEusg/SMV+N6pXnqyEQJLikgPMYqnw=; b=YZeohk6oucR5eiTg2AJzHkHIHmTisECU9f37CD9dt/PMn4sbO1t10klwPFGsYHGEde UntJ473JoHdlt22rLK6hbxF4mcCJc8kFhl1ei5zJtR29PEPgr1LdRtm5JuuJNaec7C6u PK6P6yepR2YilkEj+iUgStkN30+1bfAIqsbwhQ5S1oWGnoRMWrIAKDAK4Ns0n4oiG//F Y+PDlmeEKSkZ9bLP/ZAaKwMNhZXN4WjSbfoQiRr5AZcD2gWcTdHSSOpWav7IlabJC6R/ ogooTzQed7MFQodGfRPTqlayOujBwsiVc84Kih9tfFJp2O91j/RKaDPnwUuVYebZWd3a gq8A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=lZY9okjy43UBDDEusg/SMV+N6pXnqyEQJLikgPMYqnw=; b=oR1ycQkzoUnuhWEnkgDBfKQM7V79GDR80f/2ve9Cnuw+5sHiJxVxmlZwxal60etw0v 1dXeiO7JEO7midM3CBPGhlDddxo0c4Oggsc1RvLdUv//w4gXqg2zlUGcjhgjpcN//6V9 CZTu2S82mxhy5JiV1aPY3lKS62X0DeJJTvhV786rKrjW7uz32FssY+EtC3QJSIh8Kwbn /B++9xk3fpO46AuoshIa0CqpRzoFEIQp7RNXVN2x11BOTeYVwNn76pGEG63iC4umD1XO NxickLrS1QYE6fONPjq+omF8n9qeZra0dQzUZeQFB+pzKzj4XBklC0mf5uovJ0f0CFt9 xIpg== X-Gm-Message-State: APjAAAV9Vq+BqC/b8G1GYtgVc4J2r6gukkB8j25NGh2pbvyHg5y52vX7 M3Zbz1ajL6dNJurJZi7QV1wp7tgadZphwMOSweE= X-Google-Smtp-Source: APXvYqw6ydLwsLvZJZ2GT6Ysyjkgz8MJlh9fSKHZH0OwBf/aZOECTSvwJk5FxpXsUyquxClqrxHWilz9pkhwHZQQXVU= X-Received: by 2002:a9d:5e95:: with SMTP id f21mr14656758otl.287.1560454985178; Thu, 13 Jun 2019 12:43:05 -0700 (PDT) MIME-Version: 1.0 References: <83h88tzbly.fsf@gnu.org> <835zp9z4oj.fsf@gnu.org> In-Reply-To: <835zp9z4oj.fsf@gnu.org> From: Pip Cet Date: Thu, 13 Jun 2019 19:42:29 +0000 Message-ID: Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On Thu, Jun 13, 2019 at 7:06 PM Eli Zaretskii wrote: > > > From: Pip Cet > > Date: Thu, 13 Jun 2019 18:48:23 +0000 > > Cc: 36190@debbugs.gnu.org > > > > > > As far as I can tell, this makes `put-text-property' with a buffer > > > > argument pretty useless. > > > > > > Only if you have a buffer-local value of after-change-functions. > > > > I'm not sure what you're saying. > > I'm saying that the buffer argument to put-text-property is pretty > useless only if you consider after-change-functions. The primary > purpose of put-text-property is to modify text properties, not to call > after-change-functions. For that primary purpose, the buffer argument > is not useless. Thanks for clarifying. I suppose you could say that it's after-change-functions (local, global, plus overlay modification hooks) that have become useless, or will be called spuriously and with potentially nonsensical arguments. For example, this would break: (push (lambda (beg end len) (message "%S" (buffer-substring beg end))) after-change-functions) > > That seems pretty wrong to me. In which cases do you think we're > > seeing the right behavior? > > Where did I say that this behavior was right? You said "only if", so I assumed you were asserting the contrapositive. > > Here's a first patch, which adds a "buffer" argument to > > signal_after_change, to be explicit about where the change happens. It > > should be pretty cheap in the case where we don't switch buffers. > > Not sure I have a clear idea of how you intend to use that additional > argument. Are you suggesting that we switch to that buffer? Yes: @@ -2183,6 +2184,9 @@ signal_after_change (ptrdiff_t charpos, ptrdiff_t lendel, ptrdiff_t lenins) if (inhibit_modification_hooks) return; + record_unwind_current_buffer (); + set_buffer_internal (buffer); + /* If we are deferring calls to the after-change functions and there are no before-change functions, just record the args that we were going to use. */ > If so, > how is that different from not using the buffer argument at all, and > instead wrapping the call to put-text-property with > with-current-buffer? I don't think they're usefully different, but put-text-property doesn't appear to check the buffer is still live. > Also, passing current_buffer sounds redundant to me anyway, because in > that case signal_after_change will not need to do anything that it > doesn't already do. I would pass NULL instead. May I ask why? I think passing current_buffer is the clearest signal we can send to someone reusing the code that they might have to change this if they're dealing with more than one buffer. As a practical matter, it's hard to change the text property functions to use NULL when passed a nil argument, so we'd have functions using current_buffer and others using NULL, and that seems needlessly inconsistent. From unknown Tue Aug 19 05:08:21 2025 X-Loop: help-debbugs@gnu.org Subject: bug#36190: 27.0.50; `put-text-property' etc. with buffer argument calls current buffer's `after-change-functions' Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 13 Jun 2019 20:02:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 36190 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Pip Cet Cc: 36190@debbugs.gnu.org Received: via spool by 36190-submit@debbugs.gnu.org id=B36190.156045607923527 (code B ref 36190); Thu, 13 Jun 2019 20:02:02 +0000 Received: (at 36190) by debbugs.gnu.org; 13 Jun 2019 20:01:19 +0000 Received: from localhost ([127.0.0.1]:36185 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hbVuQ-00067O-4g for submit@debbugs.gnu.org; Thu, 13 Jun 2019 16:01:18 -0400 Received: from eggs.gnu.org ([209.51.188.92]:48797) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hbVuK-000675-RT for 36190@debbugs.gnu.org; Thu, 13 Jun 2019 16:01:13 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:39726) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hbVuF-0001PX-Kt; Thu, 13 Jun 2019 16:01:07 -0400 Received: from [176.228.60.248] (port=1378 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1hbVuB-0007d4-7f; Thu, 13 Jun 2019 16:01:07 -0400 Date: Thu, 13 Jun 2019 23:01:03 +0300 Message-Id: <83y325xnk0.fsf@gnu.org> From: Eli Zaretskii In-reply-to: (message from Pip Cet on Thu, 13 Jun 2019 19:42:29 +0000) References: <83h88tzbly.fsf@gnu.org> <835zp9z4oj.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) 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: Pip Cet > Date: Thu, 13 Jun 2019 19:42:29 +0000 > Cc: 36190@debbugs.gnu.org > > > Not sure I have a clear idea of how you intend to use that additional > > argument. Are you suggesting that we switch to that buffer? > > Yes: > > @@ -2183,6 +2184,9 @@ signal_after_change (ptrdiff_t charpos, > ptrdiff_t lendel, ptrdiff_t lenins) > if (inhibit_modification_hooks) > return; > > + record_unwind_current_buffer (); > + set_buffer_internal (buffer); Ugh! switching buffers just to run a hook! This will kill performance in some cases. We had something similar with JSON parsing a few months ago. I wish we had a better alternative. Maybe we should warn in the documentation that calling these functions with BUFFER being other than the current buffer might hurt performance when after-change-functions is non-nil. > > Also, passing current_buffer sounds redundant to me anyway, because in > > that case signal_after_change will not need to do anything that it > > doesn't already do. I would pass NULL instead. > > May I ask why? To make the code speak for itself. With passing current_buffer, you now rely on subroutines of set_buffer_internal two or 3 levels down to test whether we are already in that buffer and do nothing. Meanwhile, you wasted cycles on 2 or 3 function calls, and forced someone who reads the code to go down that rabbit hole if they want to understand what happens in that particular case. > I think passing current_buffer is the clearest signal we can send to > someone reusing the code that they might have to change this if > they're dealing with more than one buffer. Each function has commentary, where you can say that NULL means not to switch buffers because we are already there. That is a more clear signal, IME. > As a practical matter, it's hard to change the text property functions > to use NULL when passed a nil argument How is it harder than passing current_buffer? > so we'd have functions using current_buffer and others using NULL, > and that seems needlessly inconsistent. Sorry, I don't see any inconsistency. We do such things (for other kinds of arguments) all over the place. It's really a matter of stylistic preferences, but you did ask why... From unknown Tue Aug 19 05:08:21 2025 X-Loop: help-debbugs@gnu.org Subject: bug#36190: 27.0.50; `put-text-property' etc. with buffer argument calls current buffer's `after-change-functions' Resent-From: Pip Cet Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 13 Jun 2019 20:58:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 36190 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 36190@debbugs.gnu.org Received: via spool by 36190-submit@debbugs.gnu.org id=B36190.156045947229117 (code B ref 36190); Thu, 13 Jun 2019 20:58:02 +0000 Received: (at 36190) by debbugs.gnu.org; 13 Jun 2019 20:57:52 +0000 Received: from localhost ([127.0.0.1]:36214 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hbWn9-0007ZZ-Ns for submit@debbugs.gnu.org; Thu, 13 Jun 2019 16:57:51 -0400 Received: from mail-oi1-f171.google.com ([209.85.167.171]:34078) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hbWn8-0007ZL-2k for 36190@debbugs.gnu.org; Thu, 13 Jun 2019 16:57:50 -0400 Received: by mail-oi1-f171.google.com with SMTP id j184so415771oih.1 for <36190@debbugs.gnu.org>; Thu, 13 Jun 2019 13:57:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=KCsICQydwHom7mykAl8qP6JeHWEmJF9St/uBm5TAlyI=; b=LuScDoj6yneZdXQYhpgLNgFf0vUx5Bo7aU/EYGJHe0k1vvmIPi1P83Q6bnQoI9+buW 5a1tmqdtPG0yOHuN7/tUV3s7Vt1G9CVsiEYogCLXzDQHCozjiYnq/A0Q5ngRATlls52B EyIF3XTK/I3Imrjmvh/73jzyGriF3LezAMwgqzjFv6wqvPo4/csnwPeSDhKp6YPwJWFO wiAyLmIMFHg41HeA1xz+Nt//Aews8Vi4WpjtNRYd7o8XuWFETAf9ep15yprKx5XmqxrG wwtz0RRDGUr53/deEaqWBzS/o6kNhEVUuERfpigkBV5CF3NaqRQ3IzJsTP/XXsr+NbPy 76uw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=KCsICQydwHom7mykAl8qP6JeHWEmJF9St/uBm5TAlyI=; b=pt78dBzGmyBpfps3ItKjvAE/W2YjDDV2nlWDHIyvFIv5K2tMReEZdl/QVmI9geiyx4 sB3cXdSJWqPEDbKBUWyKdSavF4AQJ94WJcy2zZH/aL9rt2LBjyphNbnnI2BTlerMBC/T vdad+KiMzITpa7QJnyHUft+PTgNamoc+DJyy/7o6bCmMUS0rzWr02kenM/D+dEIT/4Ws Of3b8JcmhOOGDk1WcawbxGoYL03nxbC3xHToY73OB+BTLCZ7/Nfc5IgbTzzCZ2/77dx/ dy9xMniSm/BIJsdF83XZ7/laMbIGh/mBTKTZ6t3mZZCcCIgSE/xvModXJ0aOVDVq9Xk6 Wmmg== X-Gm-Message-State: APjAAAVEZdM8TMTZie1hNOb2NfHzCKIDif8FIrpCkz+m9WWymtvH4tWC bi7sGIUdCEDsH2jYGQZlkS5E7cO54zjMxO1hipA= X-Google-Smtp-Source: APXvYqxQ5NLkVJgSRR6CdnEH41CP1KgtLERbqa+iLJPPmECdEVkauGxx9aE44A6PqPmwInhGnwBc7aGO7S/FT5ujMOw= X-Received: by 2002:aca:aa93:: with SMTP id t141mr4462397oie.128.1560459464363; Thu, 13 Jun 2019 13:57:44 -0700 (PDT) MIME-Version: 1.0 References: <83h88tzbly.fsf@gnu.org> <835zp9z4oj.fsf@gnu.org> <83y325xnk0.fsf@gnu.org> In-Reply-To: <83y325xnk0.fsf@gnu.org> From: Pip Cet Date: Thu, 13 Jun 2019 20:57:08 +0000 Message-ID: Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On Thu, Jun 13, 2019 at 8:01 PM Eli Zaretskii wrote: > > From: Pip Cet > > Date: Thu, 13 Jun 2019 19:42:29 +0000 > > Cc: 36190@debbugs.gnu.org > > > > > Not sure I have a clear idea of how you intend to use that additional > > > argument. Are you suggesting that we switch to that buffer? > > > > Yes: > > > > @@ -2183,6 +2184,9 @@ signal_after_change (ptrdiff_t charpos, > > ptrdiff_t lendel, ptrdiff_t lenins) > > if (inhibit_modification_hooks) > > return; > > > > + record_unwind_current_buffer (); > > + set_buffer_internal (buffer); > > Ugh! switching buffers just to run a hook! > This will kill performance > in some cases. I really don't think it will have a noticeable impact on performance, but if you can think of a scenario, we could try to fix it. > We had something similar with JSON parsing a few > months ago. > I wish we had a better alternative. (Such as not calling regular modification hooks for text property changes?) > Maybe we should warn > in the documentation that calling these functions with BUFFER being > other than the current buffer might hurt performance when > after-change-functions is non-nil. It'll hurt performance even when after-change-functions is nil, so such a warning would be overspecific. > > As a practical matter, it's hard to change the text property functions > > to use NULL when passed a nil argument > > How is it harder than passing current_buffer? The code path goes through if (NILP (object)) XSETBUFFER (object, current_buffer); > It's really a matter of stylistic preferences, but you did ask why... It was out of genuine interest, because passing NULL to implicitly specify a default argument is something that people advocate against, and that C in particular has a history of avoiding (stdout isn't NULL, and post-VAX NULL isn't an empty string, for example). Thank you for responding, and I'll change my patch accordingly. From unknown Tue Aug 19 05:08:21 2025 X-Loop: help-debbugs@gnu.org Subject: bug#36190: 27.0.50; `put-text-property' etc. with buffer argument calls current buffer's `after-change-functions' Resent-From: Pip Cet Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 13 Jun 2019 21:39:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 36190 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 36190@debbugs.gnu.org Received: via spool by 36190-submit@debbugs.gnu.org id=B36190.1560461904729 (code B ref 36190); Thu, 13 Jun 2019 21:39:01 +0000 Received: (at 36190) by debbugs.gnu.org; 13 Jun 2019 21:38:24 +0000 Received: from localhost ([127.0.0.1]:36252 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hbXQN-0000Bh-FR for submit@debbugs.gnu.org; Thu, 13 Jun 2019 17:38:23 -0400 Received: from mail-oi1-f178.google.com ([209.85.167.178]:32978) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hbXQL-0000BO-VZ for 36190@debbugs.gnu.org; Thu, 13 Jun 2019 17:38:22 -0400 Received: by mail-oi1-f178.google.com with SMTP id q186so501504oia.0 for <36190@debbugs.gnu.org>; Thu, 13 Jun 2019 14:38:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=59zHJX4aXongYYX1aixw4w7cvb/Kl6ZnDvUgmGsyAQg=; b=mpXznZBuN4HrjOmAuhsIXx/BfyPD+iIibzGDbqtGhPc1WY5Qlqww7ubgUNSN3BAnnq BdaCUhe+T054byojed9HjoxgSDavxObYvdKAkN2oGb5fZFOKtKIeNQUqz+D+lJsQXmKl /+TXy1t6nrhB9FUCIjzwRYQza/f+e3ilh7bJIxYoHbVEYe7P6fd6q4cuOjQuUs8pGZbu zsmqBmnkXCJPxa+J7qQC4iW4x0dYvZMoBmsIeWUHlVUNbQdCvjKpQ9yaYEUE6f8Xp6/+ 9ipL2Y8Xj4kdXzmQBRGqzRxFwg16556fRWJyueMjJxs3BJBZUwUWBsCdNZiEM1c/IAwR jsgQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=59zHJX4aXongYYX1aixw4w7cvb/Kl6ZnDvUgmGsyAQg=; b=MDpBuxOiJ+GabHHr5cLJQFXazppl9NEYywq2sde1bkLzxVLHizbT5CKWB9QrTQWYaO eZo3EEFYg20gYzKz/EGmJ3YZq1jvySMJIk5rhwrLywTj3U4gAjORctgbJXKsjHf53O9D 1z24yDcldb1WgiWC77FimVicNylh24G8PKh+KVgucHrhTwUnvnJBzlTVZRoHywKMmfgE e/I76YWmU0rKYnFTiO3Sc5UCb/P/0yFIAzmGDuAgsZN0gsL2WiQpR2XT3slj94hTz4Dq aqCIOC06SbWR41u89ZNdDjH++qCj7jleBwTHAVAX8ZjQBlUG2EplD51SKDWKyMPwRXqL 1dNQ== X-Gm-Message-State: APjAAAVmGG3szvp9TEWjUm1Eh8dVfi1TV7GdeTACIS0LxxBcnriPx/OJ jf09KrOuzakGys+jM2X5pgJBQerir1wfFZa/WJU= X-Google-Smtp-Source: APXvYqwHt6Vz0XguNhoj65bYCmjtxK7dWLIt8CmyJy8yss4PELRJLTjF0lKsr9JNbogi+nTQUPD/V7qkQRuKRr7d1Uw= X-Received: by 2002:aca:6c1:: with SMTP id 184mr4188357oig.122.1560461896200; Thu, 13 Jun 2019 14:38:16 -0700 (PDT) MIME-Version: 1.0 References: <83h88tzbly.fsf@gnu.org> <835zp9z4oj.fsf@gnu.org> <83y325xnk0.fsf@gnu.org> In-Reply-To: From: Pip Cet Date: Thu, 13 Jun 2019 21:37:40 +0000 Message-ID: Content-Type: multipart/mixed; boundary="000000000000026574058b3b59f3" X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --000000000000026574058b3b59f3 Content-Type: text/plain; charset="UTF-8" Here's a simplified patch (I'm unsure about the right tab convention to use; I hope I got this right). --000000000000026574058b3b59f3 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Switch-to-correct-buffer-in-put-text-property-etc.patch" Content-Disposition: attachment; filename="0001-Switch-to-correct-buffer-in-put-text-property-etc.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jwv6oo5k0 RnJvbSA4NjY0YmUxYjBhYTU1NzMxNzc0ZmUyYjAxMGQ4ZGQ3MjU5Y2EyZDI4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQaXAgQ2V0IDxwaXBjZXRAZ21haWwuY29tPgpEYXRlOiBUaHUs IDEzIEp1biAyMDE5IDIxOjIxOjUwICswMDAwClN1YmplY3Q6IFtQQVRDSF0gU3dpdGNoIHRvIGNv cnJlY3QgYnVmZmVyIGluIHB1dC10ZXh0LXByb3BlcnR5IGV0Yy4KCiogc3JjL3RleHRwcm9wLmMg KGFkZF90ZXh0X3Byb3BlcnRpZXNfMSwgc2V0X3RleHRfcHJvcGVydGllcykKKEZyZW1vdmVfdGV4 dF9wcm9wZXJ0aWVzLCBGcmVtb3ZlX2xpc3Rfb2ZfdGV4dF9wcm9wZXJ0aWVzKToKdXNlIGBzaWdu YWxfYWZ0ZXJfY2hhbmdlX2luX2J1ZmZlcicuCgoqIHNyYy9pbnNkZWwuYyAoc2lnbmFsX2FmdGVy X2NoYW5nZV9pbl9idWZmZXIpOiBOZXcgZnVuY3Rpb24uCi0tLQogc3JjL2luc2RlbC5jICAgfCAx OSArKysrKysrKysrKysrCiBzcmMvbGlzcC5oICAgICB8ICAxICsKIHNyYy90ZXh0cHJvcC5jIHwg NzMgKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDMg ZmlsZXMgY2hhbmdlZCwgNjAgaW5zZXJ0aW9ucygrKSwgMzMgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvc3JjL2luc2RlbC5jIGIvc3JjL2luc2RlbC5jCmluZGV4IDg1ZmZmZDhmZDEuLjA1NTIw NDQ0NDcgMTAwNjQ0Ci0tLSBhL3NyYy9pbnNkZWwuYworKysgYi9zcmMvaW5zZGVsLmMKQEAgLTIy NTMsNiArMjI1MywyNSBAQCBzaWduYWxfYWZ0ZXJfY2hhbmdlIChwdHJkaWZmX3QgY2hhcnBvcywg cHRyZGlmZl90IGxlbmRlbCwgcHRyZGlmZl90IGxlbmlucykKICAgdW5iaW5kX3RvIChjb3VudCwg UW5pbCk7CiB9CiAKKy8qIFNpZ25hbCBhIGNoYW5nZSBpbW1lZGlhdGVseSBhZnRlciBpdCBoYXBw ZW5zLgorICAgQlVGRkVSIGlzIHRoZSBidWZmZXIgaW4gd2hpY2ggdGhlIGNoYW5nZSBoYXBwZW5l ZC4KKyAgIENIQVJQT1MgaXMgdGhlIGNoYXJhY3RlciBwb3NpdGlvbiBvZiB0aGUgc3RhcnQgb2Yg dGhlIGNoYW5nZWQgdGV4dC4KKyAgIExFTkRFTCBpcyB0aGUgbnVtYmVyIG9mIGNoYXJhY3RlcnMg b2YgdGhlIHRleHQgYmVmb3JlIHRoZSBjaGFuZ2UuCisgICAoTm90IHRoZSB3aG9sZSBidWZmZXI7 IGp1c3QgdGhlIHBhcnQgdGhhdCB3YXMgY2hhbmdlZC4pCisgICBMRU5JTlMgaXMgdGhlIG51bWJl ciBvZiBjaGFyYWN0ZXJzIGluIHRoYXQgcGFydCBvZiB0aGUgdGV4dAorICAgYWZ0ZXIgdGhlIGNo YW5nZS4gICovCisKK3ZvaWQKK3NpZ25hbF9hZnRlcl9jaGFuZ2VfaW5fYnVmZmVyIChzdHJ1Y3Qg YnVmZmVyICpidWZmZXIsIHB0cmRpZmZfdCBjaGFycG9zLCBwdHJkaWZmX3QgbGVuZGVsLCBwdHJk aWZmX3QgbGVuaW5zKQoreworICBwdHJkaWZmX3QgY291bnQgPSBTUEVDUERMX0lOREVYICgpOwor CisgIHJlY29yZF91bndpbmRfY3VycmVudF9idWZmZXIgKCk7CisgIHNldF9idWZmZXJfaW50ZXJu YWwgKGJ1ZmZlcik7CisgIHNpZ25hbF9hZnRlcl9jaGFuZ2UgKGNoYXJwb3MsIGxlbmRlbCwgbGVu aW5zKTsKKyAgdW5iaW5kX3RvIChjb3VudCwgUW5pbCk7Cit9CisKIHN0YXRpYyB2b2lkCiBGY29t YmluZV9hZnRlcl9jaGFuZ2VfZXhlY3V0ZV8xIChMaXNwX09iamVjdCB2YWwpCiB7CmRpZmYgLS1n aXQgYS9zcmMvbGlzcC5oIGIvc3JjL2xpc3AuaAppbmRleCA3N2ZjMjJkMTE4Li40ZTA1Yzk1NTVi IDEwMDY0NAotLS0gYS9zcmMvbGlzcC5oCisrKyBiL3NyYy9saXNwLmgKQEAgLTM2ODYsNiArMzY4 Niw3IEBAICNkZWZpbmUgQ09OU19UT19JTlRFR0VSKGNvbnMsIHR5cGUsIHZhcikJCQkJXAogZXh0 ZXJuIHZvaWQgcHJlcGFyZV90b19tb2RpZnlfYnVmZmVyXzEgKHB0cmRpZmZfdCwgcHRyZGlmZl90 LCBwdHJkaWZmX3QgKik7CiBleHRlcm4gdm9pZCBpbnZhbGlkYXRlX2J1ZmZlcl9jYWNoZXMgKHN0 cnVjdCBidWZmZXIgKiwgcHRyZGlmZl90LCBwdHJkaWZmX3QpOwogZXh0ZXJuIHZvaWQgc2lnbmFs X2FmdGVyX2NoYW5nZSAocHRyZGlmZl90LCBwdHJkaWZmX3QsIHB0cmRpZmZfdCk7CitleHRlcm4g dm9pZCBzaWduYWxfYWZ0ZXJfY2hhbmdlX2luX2J1ZmZlciAoc3RydWN0IGJ1ZmZlciAqLCBwdHJk aWZmX3QsIHB0cmRpZmZfdCwgcHRyZGlmZl90KTsKIGV4dGVybiB2b2lkIGFkanVzdF9hZnRlcl9p bnNlcnQgKHB0cmRpZmZfdCwgcHRyZGlmZl90LCBwdHJkaWZmX3QsCiAJCQkJIHB0cmRpZmZfdCwg cHRyZGlmZl90KTsKIGV4dGVybiB2b2lkIGFkanVzdF9tYXJrZXJzX2Zvcl9kZWxldGUgKHB0cmRp ZmZfdCwgcHRyZGlmZl90LApkaWZmIC0tZ2l0IGEvc3JjL3RleHRwcm9wLmMgYi9zcmMvdGV4dHBy b3AuYwppbmRleCBhZTQyYzQ0MTg1Li4xNzgxNDQwYjEwIDEwMDY0NAotLS0gYS9zcmMvdGV4dHBy b3AuYworKysgYi9zcmMvdGV4dHByb3AuYwpAQCAtMTIxNSw4ICsxMjE1LDggQEAgYWRkX3RleHRf cHJvcGVydGllc18xIChMaXNwX09iamVjdCBzdGFydCwgTGlzcF9PYmplY3QgZW5kLAogCSAgaWYg KGludGVydmFsX2hhc19hbGxfcHJvcGVydGllcyAocHJvcGVydGllcywgaSkpCiAJICAgIHsKIAkg ICAgICBpZiAoQlVGRkVSUCAob2JqZWN0KSkKLQkJc2lnbmFsX2FmdGVyX2NoYW5nZSAoWEZJWE5V TSAoc3RhcnQpLCBYRklYTlVNIChlbmQpIC0gWEZJWE5VTSAoc3RhcnQpLAotCQkJCSAgICAgWEZJ WE5VTSAoZW5kKSAtIFhGSVhOVU0gKHN0YXJ0KSk7CisJCXNpZ25hbF9hZnRlcl9jaGFuZ2VfaW5f YnVmZmVyIChYQlVGRkVSIChvYmplY3QpLCBYRklYTlVNIChzdGFydCksIFhGSVhOVU0gKGVuZCkg LSBYRklYTlVNIChzdGFydCksCisJCQkJCSAgICAgICBYRklYTlVNIChlbmQpIC0gWEZJWE5VTSAo c3RhcnQpKTsKIAogCSAgICAgIGVhc3NlcnQgKG1vZGlmaWVkKTsKIAkgICAgICByZXR1cm4gUXQ7 CkBAIC0xMjI2LDggKzEyMjYsOCBAQCBhZGRfdGV4dF9wcm9wZXJ0aWVzXzEgKExpc3BfT2JqZWN0 IHN0YXJ0LCBMaXNwX09iamVjdCBlbmQsCiAJICAgIHsKIAkgICAgICBhZGRfcHJvcGVydGllcyAo cHJvcGVydGllcywgaSwgb2JqZWN0LCBzZXRfdHlwZSk7CiAJICAgICAgaWYgKEJVRkZFUlAgKG9i amVjdCkpCi0JCXNpZ25hbF9hZnRlcl9jaGFuZ2UgKFhGSVhOVU0gKHN0YXJ0KSwgWEZJWE5VTSAo ZW5kKSAtIFhGSVhOVU0gKHN0YXJ0KSwKLQkJCQkgICAgIFhGSVhOVU0gKGVuZCkgLSBYRklYTlVN IChzdGFydCkpOworCQlzaWduYWxfYWZ0ZXJfY2hhbmdlX2luX2J1ZmZlciAoWEJVRkZFUiAob2Jq ZWN0KSwgWEZJWE5VTSAoc3RhcnQpLCBYRklYTlVNIChlbmQpIC0gWEZJWE5VTSAoc3RhcnQpLAor CQkJCQkgICAgICAgWEZJWE5VTSAoZW5kKSAtIFhGSVhOVU0gKHN0YXJ0KSk7CiAJICAgICAgcmV0 dXJuIFF0OwogCSAgICB9CiAKQEAgLTEyMzcsOCArMTIzNyw4IEBAIGFkZF90ZXh0X3Byb3BlcnRp ZXNfMSAoTGlzcF9PYmplY3Qgc3RhcnQsIExpc3BfT2JqZWN0IGVuZCwKIAkgIGNvcHlfcHJvcGVy dGllcyAodW5jaGFuZ2VkLCBpKTsKIAkgIGFkZF9wcm9wZXJ0aWVzIChwcm9wZXJ0aWVzLCBpLCBv YmplY3QsIHNldF90eXBlKTsKIAkgIGlmIChCVUZGRVJQIChvYmplY3QpKQotCSAgICBzaWduYWxf YWZ0ZXJfY2hhbmdlIChYRklYTlVNIChzdGFydCksIFhGSVhOVU0gKGVuZCkgLSBYRklYTlVNIChz dGFydCksCi0JCQkJIFhGSVhOVU0gKGVuZCkgLSBYRklYTlVNIChzdGFydCkpOworCSAgICBzaWdu YWxfYWZ0ZXJfY2hhbmdlX2luX2J1ZmZlciAoWEJVRkZFUiAob2JqZWN0KSwgWEZJWE5VTSAoc3Rh cnQpLCBYRklYTlVNIChlbmQpIC0gWEZJWE5VTSAoc3RhcnQpLAorCQkJCQkgICBYRklYTlVNIChl bmQpIC0gWEZJWE5VTSAoc3RhcnQpKTsKIAkgIHJldHVybiBRdDsKIAl9CiAKQEAgLTEzOTgsOCAr MTM5OCw5IEBAIHNldF90ZXh0X3Byb3BlcnRpZXMgKExpc3BfT2JqZWN0IHN0YXJ0LCBMaXNwX09i amVjdCBlbmQsIExpc3BfT2JqZWN0IHByb3BlcnRpZXMsCiAgIHNldF90ZXh0X3Byb3BlcnRpZXNf MSAoc3RhcnQsIGVuZCwgcHJvcGVydGllcywgb2JqZWN0LCBpKTsKIAogICBpZiAoQlVGRkVSUCAo b2JqZWN0KSAmJiAhTklMUCAoY29oZXJlbnRfY2hhbmdlX3ApKQotICAgIHNpZ25hbF9hZnRlcl9j aGFuZ2UgKFhGSVhOVU0gKHN0YXJ0KSwgWEZJWE5VTSAoZW5kKSAtIFhGSVhOVU0gKHN0YXJ0KSwK LQkJCSBYRklYTlVNIChlbmQpIC0gWEZJWE5VTSAoc3RhcnQpKTsKKyAgICBzaWduYWxfYWZ0ZXJf Y2hhbmdlX2luX2J1ZmZlciAoWEJVRkZFUiAob2JqZWN0KSwKKwkJCQkgICBYRklYTlVNIChzdGFy dCksIFhGSVhOVU0gKGVuZCkgLSBYRklYTlVNIChzdGFydCksCisJCQkJICAgWEZJWE5VTSAoZW5k KSAtIFhGSVhOVU0gKHN0YXJ0KSk7CiAgIHJldHVybiBRdDsKIH0KIApAQCAtMTU2NSw4ICsxNTY2 LDkgQEAgREVGVU4gKCJyZW1vdmUtdGV4dC1wcm9wZXJ0aWVzIiwgRnJlbW92ZV90ZXh0X3Byb3Bl cnRpZXMsCiAJICAgIHsKIAkgICAgICBlYXNzZXJ0IChtb2RpZmllZCk7CiAJICAgICAgaWYgKEJV RkZFUlAgKG9iamVjdCkpCi0JCXNpZ25hbF9hZnRlcl9jaGFuZ2UgKFhGSVhOVU0gKHN0YXJ0KSwg WEZJWE5VTSAoZW5kKSAtIFhGSVhOVU0gKHN0YXJ0KSwKLQkJCQkgICAgIFhGSVhOVU0gKGVuZCkg LSBYRklYTlVNIChzdGFydCkpOworCQlzaWduYWxfYWZ0ZXJfY2hhbmdlX2luX2J1ZmZlciAoWEJV RkZFUiAob2JqZWN0KSwKKwkJCQkJICAgICAgIFhGSVhOVU0gKHN0YXJ0KSwgWEZJWE5VTSAoZW5k KSAtIFhGSVhOVU0gKHN0YXJ0KSwKKwkJCQkJICAgICAgIFhGSVhOVU0gKGVuZCkgLSBYRklYTlVN IChzdGFydCkpOwogCSAgICAgIHJldHVybiBRdDsKIAkgICAgfQogCkBAIC0xNTc0LDggKzE1NzYs OSBAQCBERUZVTiAoInJlbW92ZS10ZXh0LXByb3BlcnRpZXMiLCBGcmVtb3ZlX3RleHRfcHJvcGVy dGllcywKIAkgICAgewogCSAgICAgIHJlbW92ZV9wcm9wZXJ0aWVzIChwcm9wZXJ0aWVzLCBRbmls LCBpLCBvYmplY3QpOwogCSAgICAgIGlmIChCVUZGRVJQIChvYmplY3QpKQotCQlzaWduYWxfYWZ0 ZXJfY2hhbmdlIChYRklYTlVNIChzdGFydCksIFhGSVhOVU0gKGVuZCkgLSBYRklYTlVNIChzdGFy dCksCi0JCQkJICAgICBYRklYTlVNIChlbmQpIC0gWEZJWE5VTSAoc3RhcnQpKTsKKwkJc2lnbmFs X2FmdGVyX2NoYW5nZV9pbl9idWZmZXIgKFhCVUZGRVIgKG9iamVjdCksCisJCQkJCSAgICAgICBY RklYTlVNIChzdGFydCksIFhGSVhOVU0gKGVuZCkgLSBYRklYTlVNIChzdGFydCksCisJCQkJCSAg ICAgICBYRklYTlVNIChlbmQpIC0gWEZJWE5VTSAoc3RhcnQpKTsKIAkgICAgICByZXR1cm4gUXQ7 CiAJICAgIH0KIApAQCAtMTU4NSw4ICsxNTg4LDkgQEAgREVGVU4gKCJyZW1vdmUtdGV4dC1wcm9w ZXJ0aWVzIiwgRnJlbW92ZV90ZXh0X3Byb3BlcnRpZXMsCiAJICBjb3B5X3Byb3BlcnRpZXMgKHVu Y2hhbmdlZCwgaSk7CiAJICByZW1vdmVfcHJvcGVydGllcyAocHJvcGVydGllcywgUW5pbCwgaSwg b2JqZWN0KTsKIAkgIGlmIChCVUZGRVJQIChvYmplY3QpKQotCSAgICBzaWduYWxfYWZ0ZXJfY2hh bmdlIChYRklYTlVNIChzdGFydCksIFhGSVhOVU0gKGVuZCkgLSBYRklYTlVNIChzdGFydCksCi0J CQkJIFhGSVhOVU0gKGVuZCkgLSBYRklYTlVNIChzdGFydCkpOworCSAgICBzaWduYWxfYWZ0ZXJf Y2hhbmdlX2luX2J1ZmZlciAoWEJVRkZFUiAob2JqZWN0KSwKKwkJCQkJICAgWEZJWE5VTSAoc3Rh cnQpLCBYRklYTlVNIChlbmQpIC0gWEZJWE5VTSAoc3RhcnQpLAorCQkJCQkgICBYRklYTlVNIChl bmQpIC0gWEZJWE5VTSAoc3RhcnQpKTsKIAkgIHJldHVybiBRdDsKIAl9CiAKQEAgLTE2NjMsOSAr MTY2NywxMCBAQCBERUZVTiAoInJlbW92ZS1saXN0LW9mLXRleHQtcHJvcGVydGllcyIsIEZyZW1v dmVfbGlzdF9vZl90ZXh0X3Byb3BlcnRpZXMsCiAJICAgICAgaWYgKG1vZGlmaWVkKQogCQl7CiAJ CSAgaWYgKEJVRkZFUlAgKG9iamVjdCkpCi0JCSAgICBzaWduYWxfYWZ0ZXJfY2hhbmdlIChYRklY TlVNIChzdGFydCksCi0JCQkJCSBYRklYTlVNIChlbmQpIC0gWEZJWE5VTSAoc3RhcnQpLAotCQkJ CQkgWEZJWE5VTSAoZW5kKSAtIFhGSVhOVU0gKHN0YXJ0KSk7CisJCSAgICBzaWduYWxfYWZ0ZXJf Y2hhbmdlX2luX2J1ZmZlciAoWEJVRkZFUiAob2JqZWN0KSwKKwkJCQkJCSAgIFhGSVhOVU0gKHN0 YXJ0KSwKKwkJCQkJCSAgIFhGSVhOVU0gKGVuZCkgLSBYRklYTlVNIChzdGFydCksCisJCQkJCQkg ICBYRklYTlVNIChlbmQpIC0gWEZJWE5VTSAoc3RhcnQpKTsKIAkJICByZXR1cm4gUXQ7CiAJCX0K IAkgICAgICBlbHNlCkBAIC0xNjc3LDggKzE2ODIsOSBAQCBERUZVTiAoInJlbW92ZS1saXN0LW9m LXRleHQtcHJvcGVydGllcyIsIEZyZW1vdmVfbGlzdF9vZl90ZXh0X3Byb3BlcnRpZXMsCiAJCW1v ZGlmeV90ZXh0X3Byb3BlcnRpZXMgKG9iamVjdCwgc3RhcnQsIGVuZCk7CiAJICAgICAgcmVtb3Zl X3Byb3BlcnRpZXMgKFFuaWwsIHByb3BlcnRpZXMsIGksIG9iamVjdCk7CiAJICAgICAgaWYgKEJV RkZFUlAgKG9iamVjdCkpCi0JCXNpZ25hbF9hZnRlcl9jaGFuZ2UgKFhGSVhOVU0gKHN0YXJ0KSwg WEZJWE5VTSAoZW5kKSAtIFhGSVhOVU0gKHN0YXJ0KSwKLQkJCQkgICAgIFhGSVhOVU0gKGVuZCkg LSBYRklYTlVNIChzdGFydCkpOworCQlzaWduYWxfYWZ0ZXJfY2hhbmdlX2luX2J1ZmZlciAoWEJV RkZFUiAob2JqZWN0KSwKKwkJCQkJICAgICAgIFhGSVhOVU0gKHN0YXJ0KSwgWEZJWE5VTSAoZW5k KSAtIFhGSVhOVU0gKHN0YXJ0KSwKKwkJCQkJICAgICAgIFhGSVhOVU0gKGVuZCkgLSBYRklYTlVN IChzdGFydCkpOwogCSAgICAgIHJldHVybiBRdDsKIAkgICAgfQogCSAgZWxzZQpAQCAtMTY5MCw4 ICsxNjk2LDkgQEAgREVGVU4gKCJyZW1vdmUtbGlzdC1vZi10ZXh0LXByb3BlcnRpZXMiLCBGcmVt b3ZlX2xpc3Rfb2ZfdGV4dF9wcm9wZXJ0aWVzLAogCQltb2RpZnlfdGV4dF9wcm9wZXJ0aWVzIChv YmplY3QsIHN0YXJ0LCBlbmQpOwogCSAgICAgIHJlbW92ZV9wcm9wZXJ0aWVzIChRbmlsLCBwcm9w ZXJ0aWVzLCBpLCBvYmplY3QpOwogCSAgICAgIGlmIChCVUZGRVJQIChvYmplY3QpKQotCQlzaWdu YWxfYWZ0ZXJfY2hhbmdlIChYRklYTlVNIChzdGFydCksIFhGSVhOVU0gKGVuZCkgLSBYRklYTlVN IChzdGFydCksCi0JCQkJICAgICBYRklYTlVNIChlbmQpIC0gWEZJWE5VTSAoc3RhcnQpKTsKKwkJ c2lnbmFsX2FmdGVyX2NoYW5nZV9pbl9idWZmZXIgKFhCVUZGRVIgKG9iamVjdCksCisJCQkJCSAg ICAgICBYRklYTlVNIChzdGFydCksIFhGSVhOVU0gKGVuZCkgLSBYRklYTlVNIChzdGFydCksCisJ CQkJCSAgICAgICBYRklYTlVNIChlbmQpIC0gWEZJWE5VTSAoc3RhcnQpKTsKIAkgICAgICByZXR1 cm4gUXQ7CiAJICAgIH0KIAl9CkBAIC0xNzA1LDE4ICsxNzEyLDE4IEBAIERFRlVOICgicmVtb3Zl LWxpc3Qtb2YtdGV4dC1wcm9wZXJ0aWVzIiwgRnJlbW92ZV9saXN0X29mX3RleHRfcHJvcGVydGll cywKICAgICAgIGxlbiAtPSBMRU5HVEggKGkpOwogICAgICAgaSA9IG5leHRfaW50ZXJ2YWwgKGkp OwogICAgICAgaWYgKCFpKQotICAgICAgICB7Ci0gICAgICAgICAgaWYgKG1vZGlmaWVkKQotICAg ICAgICAgICAgewotICAgICAgICAgICAgICBpZiAoQlVGRkVSUCAob2JqZWN0KSkKLSAgICAgICAg ICAgICAgICBzaWduYWxfYWZ0ZXJfY2hhbmdlIChYRklYTlVNIChzdGFydCksCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgWEZJWE5VTSAoZW5kKSAtIFhGSVhOVU0gKHN0YXJ0 KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYRklYTlVNIChlbmQpIC0g WEZJWE5VTSAoc3RhcnQpKTsKLSAgICAgICAgICAgICAgcmV0dXJuIFF0OwotICAgICAgICAgICAg fQotICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIHJldHVybiBRbmlsOwotICAgICAgICB9CisJ eworCSAgaWYgKG1vZGlmaWVkKQorCSAgICB7CisJICAgICAgaWYgKEJVRkZFUlAgKG9iamVjdCkp CisJCXNpZ25hbF9hZnRlcl9jaGFuZ2VfaW5fYnVmZmVyIChYQlVGRkVSIChvYmplY3QpLCBYRklY TlVNIChzdGFydCksCisJCQkJCSAgICAgICBYRklYTlVNIChlbmQpIC0gWEZJWE5VTSAoc3RhcnQp LAorCQkJCQkgICAgICAgWEZJWE5VTSAoZW5kKSAtIFhGSVhOVU0gKHN0YXJ0KSk7CisJICAgICAg cmV0dXJuIFF0OworCSAgICB9CisJICBlbHNlCisJICAgIHJldHVybiBRbmlsOworCX0KICAgICB9 CiB9CiAMCi0tIAoyLjIwLjEKCg== --000000000000026574058b3b59f3-- From unknown Tue Aug 19 05:08:21 2025 X-Loop: help-debbugs@gnu.org Subject: bug#36190: 27.0.50; `put-text-property' etc. with buffer argument calls current buffer's `after-change-functions' Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 14 Jun 2019 07:38:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 36190 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Pip Cet Cc: 36190@debbugs.gnu.org Received: via spool by 36190-submit@debbugs.gnu.org id=B36190.156049782610698 (code B ref 36190); Fri, 14 Jun 2019 07:38:01 +0000 Received: (at 36190) by debbugs.gnu.org; 14 Jun 2019 07:37:06 +0000 Received: from localhost ([127.0.0.1]:36543 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hbglm-0002mQ-2P for submit@debbugs.gnu.org; Fri, 14 Jun 2019 03:37:06 -0400 Received: from eggs.gnu.org ([209.51.188.92]:33385) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hbglg-0002lj-TH for 36190@debbugs.gnu.org; Fri, 14 Jun 2019 03:37:04 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:49827) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hbglb-0006WT-Nn; Fri, 14 Jun 2019 03:36:55 -0400 Received: from [176.228.60.248] (port=3952 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1hbgla-0001H5-UG; Fri, 14 Jun 2019 03:36:55 -0400 Date: Fri, 14 Jun 2019 10:36:57 +0300 Message-Id: <83lfy4y5wm.fsf@gnu.org> From: Eli Zaretskii In-reply-to: (message from Pip Cet on Thu, 13 Jun 2019 20:57:08 +0000) References: <83h88tzbly.fsf@gnu.org> <835zp9z4oj.fsf@gnu.org> <83y325xnk0.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) 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: Pip Cet > Date: Thu, 13 Jun 2019 20:57:08 +0000 > Cc: 36190@debbugs.gnu.org > > > > + record_unwind_current_buffer (); > > > + set_buffer_internal (buffer); > > > > Ugh! switching buffers just to run a hook! This will kill > > performance in some cases. > > I really don't think it will have a noticeable impact on performance, > but if you can think of a scenario, we could try to fix it. Switching buffers means rebinding values of all the buffer-local variables, of which there could be quite a few. Or am I missing something? One scenario where this could be painful could be reading a stream of data that results in many changes in text properties, such as fontifying a buffer of program source by using syntactical analysis data received from a language server. If you read and apply the input one object at a time, this will result in many buffer switches. > > I wish we had a better alternative. > > (Such as not calling regular modification hooks for text property changes?) I thought about that, but I don't think this would be acceptable. > > Maybe we should warn > > in the documentation that calling these functions with BUFFER being > > other than the current buffer might hurt performance when > > after-change-functions is non-nil. > > It'll hurt performance even when after-change-functions is nil, so > such a warning would be overspecific. We could avoid switching buffers if the hook is nil, at least in principle. If not, it's even worse than I feared. > > > As a practical matter, it's hard to change the text property functions > > > to use NULL when passed a nil argument > > > > How is it harder than passing current_buffer? > > The code path goes through > > if (NILP (object)) > XSETBUFFER (object, current_buffer); I meant in the cases where you pass the literal current_buffer. But even the above is not a problem: struct buffer *b; if (NILP (object)) { XSETBUFFER (object, current_buffer); b = NULL; } else if (BUFFERP (object)) b = XBUFFER (object); [...] signal_after_change (b, ...); > It was out of genuine interest, because passing NULL to implicitly > specify a default argument is something that people advocate against, Not to specify the default, but to indicate that no action is needed at all wrt the buffer. It is similar to the last argument to 'strtol', for example. From unknown Tue Aug 19 05:08:21 2025 X-Loop: help-debbugs@gnu.org Subject: bug#36190: 27.0.50; `put-text-property' etc. with buffer argument calls current buffer's `after-change-functions' Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 14 Jun 2019 07:42:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 36190 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Pip Cet Cc: 36190@debbugs.gnu.org Received: via spool by 36190-submit@debbugs.gnu.org id=B36190.156049811511179 (code B ref 36190); Fri, 14 Jun 2019 07:42:02 +0000 Received: (at 36190) by debbugs.gnu.org; 14 Jun 2019 07:41:55 +0000 Received: from localhost ([127.0.0.1]:36551 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hbgqQ-0002uF-S0 for submit@debbugs.gnu.org; Fri, 14 Jun 2019 03:41:55 -0400 Received: from eggs.gnu.org ([209.51.188.92]:34376) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hbgqO-0002tx-NS for 36190@debbugs.gnu.org; Fri, 14 Jun 2019 03:41:53 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:49887) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hbgqI-0000y2-Fc; Fri, 14 Jun 2019 03:41:47 -0400 Received: from [176.228.60.248] (port=4243 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1hbgqD-0001Rd-ND; Fri, 14 Jun 2019 03:41:43 -0400 Date: Fri, 14 Jun 2019 10:41:45 +0300 Message-Id: <83k1doy5om.fsf@gnu.org> From: Eli Zaretskii In-reply-to: (message from Pip Cet on Thu, 13 Jun 2019 21:37:40 +0000) References: <83h88tzbly.fsf@gnu.org> <835zp9z4oj.fsf@gnu.org> <83y325xnk0.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) 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: Pip Cet > Date: Thu, 13 Jun 2019 21:37:40 +0000 > Cc: 36190@debbugs.gnu.org > > +/* Signal a change immediately after it happens. > + BUFFER is the buffer in which the change happened. > + CHARPOS is the character position of the start of the changed text. > + LENDEL is the number of characters of the text before the change. > + (Not the whole buffer; just the part that was changed.) > + LENINS is the number of characters in that part of the text > + after the change. */ I would just say "Like signal_after_change, but ..." and describe only the BUFFER argument. > +void > +signal_after_change_in_buffer (struct buffer *buffer, ptrdiff_t charpos, ptrdiff_t lendel, ptrdiff_t lenins) > +{ > + ptrdiff_t count = SPECPDL_INDEX (); > + > + record_unwind_current_buffer (); > + set_buffer_internal (buffer); > + signal_after_change (charpos, lendel, lenins); > + unbind_to (count, Qnil); > +} I still think we should explicitly detect the current_buffer case here and if so, avoid the calls to everything else except signal_after_change itself. But I indeed like this patch better, although the concerns over the performance hit are still present. Thanks. From unknown Tue Aug 19 05:08:21 2025 X-Loop: help-debbugs@gnu.org Subject: bug#36190: 27.0.50; `put-text-property' etc. with buffer argument calls current buffer's `after-change-functions' Resent-From: Pip Cet Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 14 Jun 2019 11:16:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 36190 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 36190@debbugs.gnu.org Received: via spool by 36190-submit@debbugs.gnu.org id=B36190.15605109392564 (code B ref 36190); Fri, 14 Jun 2019 11:16:02 +0000 Received: (at 36190) by debbugs.gnu.org; 14 Jun 2019 11:15:39 +0000 Received: from localhost ([127.0.0.1]:36625 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hbkBG-0000fH-Cy for submit@debbugs.gnu.org; Fri, 14 Jun 2019 07:15:38 -0400 Received: from mail-oi1-f171.google.com ([209.85.167.171]:41175) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hbkBD-0000f3-Mn for 36190@debbugs.gnu.org; Fri, 14 Jun 2019 07:15:36 -0400 Received: by mail-oi1-f171.google.com with SMTP id g7so1667186oia.8 for <36190@debbugs.gnu.org>; Fri, 14 Jun 2019 04:15:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=r0obNx3DxGcuS03YrIpM3uSPq3g0XalXl701oKp3TqY=; b=keFJM0E2cqrGibEayQ4cL0B0X410pzip+7JZI0A+vN4lgj4gyaeJyeLd9lKTvM2yOD LE52DHJieQOVB8aD/xiLwp8IfeOdQYs1fiHonCSN7bMDZGAwudy/SjtLHn7HrixuOCFX 89vx+b4yNgBmbW03wzl4MtXGESx4XJDWuh/saVvSVq9HLKjfWhsVjrK8qdGGyt/QfDPX teAZKdLwAvg4x20GqXExJYANAi/I1sqob2e7uKVtQpnPnIthPNu2ZmdE6dZSm8qmssfm DNJtUFXwQmArLEAQIWQa9pdOxExEIaxaEQDmkODPsz6cNd1Xs57Qz68AEwu+jv2GjmpI v0fg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=r0obNx3DxGcuS03YrIpM3uSPq3g0XalXl701oKp3TqY=; b=tSAHg9dcmnfHnGCJuzXExHNotIIJJMCLVWEvw1ZYeDhMzzsb1oCmLKR+YIh8s801g6 GnxIDvTiRcUFmDfR5ToHPessH6YK+4EEo9tDuEbnn/POARKKTA8vz/BH6JwOEGGsTxnv J+rZlTnCpIkxvKwweo2HTf1WF/i1cpwaIqj+poOZYBvx5MpAIclgUbPApSdRI0blHLLN /hWaWb03gCWku/PigEecG+rFntBLuJAHdBUCnLG7BDnD7uvG/lBhFVKD+NsPbuC+C9vd v0ssOcxpUaGqYoHX3yP1cgd6PtE3TWRZRdwYJcyq3gCS4Gya00OKKjFwjI8km2u0JXKP ZtFg== X-Gm-Message-State: APjAAAUc7ebm/etSKWkm8d6+/OApHyqmYTVen2uYEYBcO/m3v/41S58u RsGYwUhul8HA0/HUPD+3+7OBizxP9IVZI/oP4rU= X-Google-Smtp-Source: APXvYqy9+HfrzLA+Ytr4JagrjzLaZtxzzz+Ji9xjvF/5xHfj7srtcJnPg8xIqaIDuL1K7CrmDPhTR0Td0TVSBOkRaCM= X-Received: by 2002:aca:dcd7:: with SMTP id t206mr1524121oig.30.1560510929963; Fri, 14 Jun 2019 04:15:29 -0700 (PDT) MIME-Version: 1.0 References: <83h88tzbly.fsf@gnu.org> <835zp9z4oj.fsf@gnu.org> <83y325xnk0.fsf@gnu.org> <83k1doy5om.fsf@gnu.org> In-Reply-To: <83k1doy5om.fsf@gnu.org> From: Pip Cet Date: Fri, 14 Jun 2019 11:14:53 +0000 Message-ID: Content-Type: multipart/mixed; boundary="000000000000a62ecb058b46c3ce" X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --000000000000a62ecb058b46c3ce Content-Type: text/plain; charset="UTF-8" On Fri, Jun 14, 2019 at 7:41 AM Eli Zaretskii wrote: > > > From: Pip Cet > > Date: Thu, 13 Jun 2019 21:37:40 +0000 > > Cc: 36190@debbugs.gnu.org > > > > +/* Signal a change immediately after it happens. > > + BUFFER is the buffer in which the change happened. > > + CHARPOS is the character position of the start of the changed text. > > + LENDEL is the number of characters of the text before the change. > > + (Not the whole buffer; just the part that was changed.) > > + LENINS is the number of characters in that part of the text > > + after the change. */ > > I would just say "Like signal_after_change, but ..." and describe only > the BUFFER argument. > > > +void > > +signal_after_change_in_buffer (struct buffer *buffer, ptrdiff_t charpos, ptrdiff_t lendel, ptrdiff_t lenins) > > +{ > > + ptrdiff_t count = SPECPDL_INDEX (); > > + > > + record_unwind_current_buffer (); > > + set_buffer_internal (buffer); > > + signal_after_change (charpos, lendel, lenins); > > + unbind_to (count, Qnil); > > +} > > I still think we should explicitly detect the current_buffer case here > and if so, avoid the calls to everything else except > signal_after_change itself. > > But I indeed like this patch better, although the concerns over the > performance hit are still present. Thanks. Okay, I fixed those two issues. As for the performance problem, should we amend the documentation to state that if many changes are made, it's better to use `with-current-buffer' instead of repeatedly calling put-text-property with a buffer argument? --000000000000a62ecb058b46c3ce Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Switch-to-correct-buffer-in-put-text-property-etc.patch" Content-Disposition: attachment; filename="0001-Switch-to-correct-buffer-in-put-text-property-etc.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jwvzndou0 RnJvbSBiMjNlYmU0NTE2NjRiMGY1MGEwMmZiMmU0ZWU1YTQxODc3ZGZlMzJkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQaXAgQ2V0IDxwaXBjZXRAZ21haWwuY29tPgpEYXRlOiBGcmks IDE0IEp1biAyMDE5IDExOjA1OjMxICswMDAwClN1YmplY3Q6IFtQQVRDSF0gU3dpdGNoIHRvIGNv cnJlY3QgYnVmZmVyIGluIHB1dC10ZXh0LXByb3BlcnR5IGV0Yy4KCiogc3JjL3RleHRwcm9wLmMg KGFkZF90ZXh0X3Byb3BlcnRpZXNfMSwgc2V0X3RleHRfcHJvcGVydGllcykKKEZyZW1vdmVfdGV4 dF9wcm9wZXJ0aWVzLCBGcmVtb3ZlX2xpc3Rfb2ZfdGV4dF9wcm9wZXJ0aWVzKToKdXNlIGBzaWdu YWxfYWZ0ZXJfY2hhbmdlX2luX2J1ZmZlcicuCiogc3JjL2luc2RlbC5jIChzaWduYWxfYWZ0ZXJf Y2hhbmdlX2luX2J1ZmZlcik6IE5ldyBmdW5jdGlvbi4KLS0tCiBzcmMvaW5zZGVsLmMgICB8IDE2 ICsrKysrKysrKysrCiBzcmMvbGlzcC5oICAgICB8ICAxICsKIHNyYy90ZXh0cHJvcC5jIHwgNzMg KysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDMgZmls ZXMgY2hhbmdlZCwgNTcgaW5zZXJ0aW9ucygrKSwgMzMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvc3JjL2luc2RlbC5jIGIvc3JjL2luc2RlbC5jCmluZGV4IDg1ZmZmZDhmZDEuLjQ5YWNhOTRl MDMgMTAwNjQ0Ci0tLSBhL3NyYy9pbnNkZWwuYworKysgYi9zcmMvaW5zZGVsLmMKQEAgLTIyNTMs NiArMjI1MywyMiBAQCBzaWduYWxfYWZ0ZXJfY2hhbmdlIChwdHJkaWZmX3QgY2hhcnBvcywgcHRy ZGlmZl90IGxlbmRlbCwgcHRyZGlmZl90IGxlbmlucykKICAgdW5iaW5kX3RvIChjb3VudCwgUW5p bCk7CiB9CiAKKy8qIExpa2UgYHNpZ25hbF9hZnRlcl9jaGFuZ2UnLCBidXQgc3dpdGNoIHRvIEJV RkZFUiBmaXJzdC4gICovCisKK3ZvaWQKK3NpZ25hbF9hZnRlcl9jaGFuZ2VfaW5fYnVmZmVyIChz dHJ1Y3QgYnVmZmVyICpidWZmZXIsIHB0cmRpZmZfdCBjaGFycG9zLCBwdHJkaWZmX3QgbGVuZGVs LCBwdHJkaWZmX3QgbGVuaW5zKQoreworICBwdHJkaWZmX3QgY291bnQgPSBTUEVDUERMX0lOREVY ICgpOworCisgIGlmIChidWZmZXIgIT0gY3VycmVudF9idWZmZXIpCisgICAgeworICAgICAgcmVj b3JkX3Vud2luZF9jdXJyZW50X2J1ZmZlciAoKTsKKyAgICAgIHNldF9idWZmZXJfaW50ZXJuYWwg KGJ1ZmZlcik7CisgICAgfQorICBzaWduYWxfYWZ0ZXJfY2hhbmdlIChjaGFycG9zLCBsZW5kZWws IGxlbmlucyk7CisgIHVuYmluZF90byAoY291bnQsIFFuaWwpOworfQorCiBzdGF0aWMgdm9pZAog RmNvbWJpbmVfYWZ0ZXJfY2hhbmdlX2V4ZWN1dGVfMSAoTGlzcF9PYmplY3QgdmFsKQogewpkaWZm IC0tZ2l0IGEvc3JjL2xpc3AuaCBiL3NyYy9saXNwLmgKaW5kZXggNzdmYzIyZDExOC4uNGUwNWM5 NTU1YiAxMDA2NDQKLS0tIGEvc3JjL2xpc3AuaAorKysgYi9zcmMvbGlzcC5oCkBAIC0zNjg2LDYg KzM2ODYsNyBAQCAjZGVmaW5lIENPTlNfVE9fSU5URUdFUihjb25zLCB0eXBlLCB2YXIpCQkJCVwK IGV4dGVybiB2b2lkIHByZXBhcmVfdG9fbW9kaWZ5X2J1ZmZlcl8xIChwdHJkaWZmX3QsIHB0cmRp ZmZfdCwgcHRyZGlmZl90ICopOwogZXh0ZXJuIHZvaWQgaW52YWxpZGF0ZV9idWZmZXJfY2FjaGVz IChzdHJ1Y3QgYnVmZmVyICosIHB0cmRpZmZfdCwgcHRyZGlmZl90KTsKIGV4dGVybiB2b2lkIHNp Z25hbF9hZnRlcl9jaGFuZ2UgKHB0cmRpZmZfdCwgcHRyZGlmZl90LCBwdHJkaWZmX3QpOworZXh0 ZXJuIHZvaWQgc2lnbmFsX2FmdGVyX2NoYW5nZV9pbl9idWZmZXIgKHN0cnVjdCBidWZmZXIgKiwg cHRyZGlmZl90LCBwdHJkaWZmX3QsIHB0cmRpZmZfdCk7CiBleHRlcm4gdm9pZCBhZGp1c3RfYWZ0 ZXJfaW5zZXJ0IChwdHJkaWZmX3QsIHB0cmRpZmZfdCwgcHRyZGlmZl90LAogCQkJCSBwdHJkaWZm X3QsIHB0cmRpZmZfdCk7CiBleHRlcm4gdm9pZCBhZGp1c3RfbWFya2Vyc19mb3JfZGVsZXRlIChw dHJkaWZmX3QsIHB0cmRpZmZfdCwKZGlmZiAtLWdpdCBhL3NyYy90ZXh0cHJvcC5jIGIvc3JjL3Rl eHRwcm9wLmMKaW5kZXggYWU0MmM0NDE4NS4uMTc4MTQ0MGIxMCAxMDA2NDQKLS0tIGEvc3JjL3Rl eHRwcm9wLmMKKysrIGIvc3JjL3RleHRwcm9wLmMKQEAgLTEyMTUsOCArMTIxNSw4IEBAIGFkZF90 ZXh0X3Byb3BlcnRpZXNfMSAoTGlzcF9PYmplY3Qgc3RhcnQsIExpc3BfT2JqZWN0IGVuZCwKIAkg IGlmIChpbnRlcnZhbF9oYXNfYWxsX3Byb3BlcnRpZXMgKHByb3BlcnRpZXMsIGkpKQogCSAgICB7 CiAJICAgICAgaWYgKEJVRkZFUlAgKG9iamVjdCkpCi0JCXNpZ25hbF9hZnRlcl9jaGFuZ2UgKFhG SVhOVU0gKHN0YXJ0KSwgWEZJWE5VTSAoZW5kKSAtIFhGSVhOVU0gKHN0YXJ0KSwKLQkJCQkgICAg IFhGSVhOVU0gKGVuZCkgLSBYRklYTlVNIChzdGFydCkpOworCQlzaWduYWxfYWZ0ZXJfY2hhbmdl X2luX2J1ZmZlciAoWEJVRkZFUiAob2JqZWN0KSwgWEZJWE5VTSAoc3RhcnQpLCBYRklYTlVNIChl bmQpIC0gWEZJWE5VTSAoc3RhcnQpLAorCQkJCQkgICAgICAgWEZJWE5VTSAoZW5kKSAtIFhGSVhO VU0gKHN0YXJ0KSk7CiAKIAkgICAgICBlYXNzZXJ0IChtb2RpZmllZCk7CiAJICAgICAgcmV0dXJu IFF0OwpAQCAtMTIyNiw4ICsxMjI2LDggQEAgYWRkX3RleHRfcHJvcGVydGllc18xIChMaXNwX09i amVjdCBzdGFydCwgTGlzcF9PYmplY3QgZW5kLAogCSAgICB7CiAJICAgICAgYWRkX3Byb3BlcnRp ZXMgKHByb3BlcnRpZXMsIGksIG9iamVjdCwgc2V0X3R5cGUpOwogCSAgICAgIGlmIChCVUZGRVJQ IChvYmplY3QpKQotCQlzaWduYWxfYWZ0ZXJfY2hhbmdlIChYRklYTlVNIChzdGFydCksIFhGSVhO VU0gKGVuZCkgLSBYRklYTlVNIChzdGFydCksCi0JCQkJICAgICBYRklYTlVNIChlbmQpIC0gWEZJ WE5VTSAoc3RhcnQpKTsKKwkJc2lnbmFsX2FmdGVyX2NoYW5nZV9pbl9idWZmZXIgKFhCVUZGRVIg KG9iamVjdCksIFhGSVhOVU0gKHN0YXJ0KSwgWEZJWE5VTSAoZW5kKSAtIFhGSVhOVU0gKHN0YXJ0 KSwKKwkJCQkJICAgICAgIFhGSVhOVU0gKGVuZCkgLSBYRklYTlVNIChzdGFydCkpOwogCSAgICAg IHJldHVybiBRdDsKIAkgICAgfQogCkBAIC0xMjM3LDggKzEyMzcsOCBAQCBhZGRfdGV4dF9wcm9w ZXJ0aWVzXzEgKExpc3BfT2JqZWN0IHN0YXJ0LCBMaXNwX09iamVjdCBlbmQsCiAJICBjb3B5X3By b3BlcnRpZXMgKHVuY2hhbmdlZCwgaSk7CiAJICBhZGRfcHJvcGVydGllcyAocHJvcGVydGllcywg aSwgb2JqZWN0LCBzZXRfdHlwZSk7CiAJICBpZiAoQlVGRkVSUCAob2JqZWN0KSkKLQkgICAgc2ln bmFsX2FmdGVyX2NoYW5nZSAoWEZJWE5VTSAoc3RhcnQpLCBYRklYTlVNIChlbmQpIC0gWEZJWE5V TSAoc3RhcnQpLAotCQkJCSBYRklYTlVNIChlbmQpIC0gWEZJWE5VTSAoc3RhcnQpKTsKKwkgICAg c2lnbmFsX2FmdGVyX2NoYW5nZV9pbl9idWZmZXIgKFhCVUZGRVIgKG9iamVjdCksIFhGSVhOVU0g KHN0YXJ0KSwgWEZJWE5VTSAoZW5kKSAtIFhGSVhOVU0gKHN0YXJ0KSwKKwkJCQkJICAgWEZJWE5V TSAoZW5kKSAtIFhGSVhOVU0gKHN0YXJ0KSk7CiAJICByZXR1cm4gUXQ7CiAJfQogCkBAIC0xMzk4 LDggKzEzOTgsOSBAQCBzZXRfdGV4dF9wcm9wZXJ0aWVzIChMaXNwX09iamVjdCBzdGFydCwgTGlz cF9PYmplY3QgZW5kLCBMaXNwX09iamVjdCBwcm9wZXJ0aWVzLAogICBzZXRfdGV4dF9wcm9wZXJ0 aWVzXzEgKHN0YXJ0LCBlbmQsIHByb3BlcnRpZXMsIG9iamVjdCwgaSk7CiAKICAgaWYgKEJVRkZF UlAgKG9iamVjdCkgJiYgIU5JTFAgKGNvaGVyZW50X2NoYW5nZV9wKSkKLSAgICBzaWduYWxfYWZ0 ZXJfY2hhbmdlIChYRklYTlVNIChzdGFydCksIFhGSVhOVU0gKGVuZCkgLSBYRklYTlVNIChzdGFy dCksCi0JCQkgWEZJWE5VTSAoZW5kKSAtIFhGSVhOVU0gKHN0YXJ0KSk7CisgICAgc2lnbmFsX2Fm dGVyX2NoYW5nZV9pbl9idWZmZXIgKFhCVUZGRVIgKG9iamVjdCksCisJCQkJICAgWEZJWE5VTSAo c3RhcnQpLCBYRklYTlVNIChlbmQpIC0gWEZJWE5VTSAoc3RhcnQpLAorCQkJCSAgIFhGSVhOVU0g KGVuZCkgLSBYRklYTlVNIChzdGFydCkpOwogICByZXR1cm4gUXQ7CiB9CiAKQEAgLTE1NjUsOCAr MTU2Niw5IEBAIERFRlVOICgicmVtb3ZlLXRleHQtcHJvcGVydGllcyIsIEZyZW1vdmVfdGV4dF9w cm9wZXJ0aWVzLAogCSAgICB7CiAJICAgICAgZWFzc2VydCAobW9kaWZpZWQpOwogCSAgICAgIGlm IChCVUZGRVJQIChvYmplY3QpKQotCQlzaWduYWxfYWZ0ZXJfY2hhbmdlIChYRklYTlVNIChzdGFy dCksIFhGSVhOVU0gKGVuZCkgLSBYRklYTlVNIChzdGFydCksCi0JCQkJICAgICBYRklYTlVNIChl bmQpIC0gWEZJWE5VTSAoc3RhcnQpKTsKKwkJc2lnbmFsX2FmdGVyX2NoYW5nZV9pbl9idWZmZXIg KFhCVUZGRVIgKG9iamVjdCksCisJCQkJCSAgICAgICBYRklYTlVNIChzdGFydCksIFhGSVhOVU0g KGVuZCkgLSBYRklYTlVNIChzdGFydCksCisJCQkJCSAgICAgICBYRklYTlVNIChlbmQpIC0gWEZJ WE5VTSAoc3RhcnQpKTsKIAkgICAgICByZXR1cm4gUXQ7CiAJICAgIH0KIApAQCAtMTU3NCw4ICsx NTc2LDkgQEAgREVGVU4gKCJyZW1vdmUtdGV4dC1wcm9wZXJ0aWVzIiwgRnJlbW92ZV90ZXh0X3By b3BlcnRpZXMsCiAJICAgIHsKIAkgICAgICByZW1vdmVfcHJvcGVydGllcyAocHJvcGVydGllcywg UW5pbCwgaSwgb2JqZWN0KTsKIAkgICAgICBpZiAoQlVGRkVSUCAob2JqZWN0KSkKLQkJc2lnbmFs X2FmdGVyX2NoYW5nZSAoWEZJWE5VTSAoc3RhcnQpLCBYRklYTlVNIChlbmQpIC0gWEZJWE5VTSAo c3RhcnQpLAotCQkJCSAgICAgWEZJWE5VTSAoZW5kKSAtIFhGSVhOVU0gKHN0YXJ0KSk7CisJCXNp Z25hbF9hZnRlcl9jaGFuZ2VfaW5fYnVmZmVyIChYQlVGRkVSIChvYmplY3QpLAorCQkJCQkgICAg ICAgWEZJWE5VTSAoc3RhcnQpLCBYRklYTlVNIChlbmQpIC0gWEZJWE5VTSAoc3RhcnQpLAorCQkJ CQkgICAgICAgWEZJWE5VTSAoZW5kKSAtIFhGSVhOVU0gKHN0YXJ0KSk7CiAJICAgICAgcmV0dXJu IFF0OwogCSAgICB9CiAKQEAgLTE1ODUsOCArMTU4OCw5IEBAIERFRlVOICgicmVtb3ZlLXRleHQt cHJvcGVydGllcyIsIEZyZW1vdmVfdGV4dF9wcm9wZXJ0aWVzLAogCSAgY29weV9wcm9wZXJ0aWVz ICh1bmNoYW5nZWQsIGkpOwogCSAgcmVtb3ZlX3Byb3BlcnRpZXMgKHByb3BlcnRpZXMsIFFuaWws IGksIG9iamVjdCk7CiAJICBpZiAoQlVGRkVSUCAob2JqZWN0KSkKLQkgICAgc2lnbmFsX2FmdGVy X2NoYW5nZSAoWEZJWE5VTSAoc3RhcnQpLCBYRklYTlVNIChlbmQpIC0gWEZJWE5VTSAoc3RhcnQp LAotCQkJCSBYRklYTlVNIChlbmQpIC0gWEZJWE5VTSAoc3RhcnQpKTsKKwkgICAgc2lnbmFsX2Fm dGVyX2NoYW5nZV9pbl9idWZmZXIgKFhCVUZGRVIgKG9iamVjdCksCisJCQkJCSAgIFhGSVhOVU0g KHN0YXJ0KSwgWEZJWE5VTSAoZW5kKSAtIFhGSVhOVU0gKHN0YXJ0KSwKKwkJCQkJICAgWEZJWE5V TSAoZW5kKSAtIFhGSVhOVU0gKHN0YXJ0KSk7CiAJICByZXR1cm4gUXQ7CiAJfQogCkBAIC0xNjYz LDkgKzE2NjcsMTAgQEAgREVGVU4gKCJyZW1vdmUtbGlzdC1vZi10ZXh0LXByb3BlcnRpZXMiLCBG cmVtb3ZlX2xpc3Rfb2ZfdGV4dF9wcm9wZXJ0aWVzLAogCSAgICAgIGlmIChtb2RpZmllZCkKIAkJ ewogCQkgIGlmIChCVUZGRVJQIChvYmplY3QpKQotCQkgICAgc2lnbmFsX2FmdGVyX2NoYW5nZSAo WEZJWE5VTSAoc3RhcnQpLAotCQkJCQkgWEZJWE5VTSAoZW5kKSAtIFhGSVhOVU0gKHN0YXJ0KSwK LQkJCQkJIFhGSVhOVU0gKGVuZCkgLSBYRklYTlVNIChzdGFydCkpOworCQkgICAgc2lnbmFsX2Fm dGVyX2NoYW5nZV9pbl9idWZmZXIgKFhCVUZGRVIgKG9iamVjdCksCisJCQkJCQkgICBYRklYTlVN IChzdGFydCksCisJCQkJCQkgICBYRklYTlVNIChlbmQpIC0gWEZJWE5VTSAoc3RhcnQpLAorCQkJ CQkJICAgWEZJWE5VTSAoZW5kKSAtIFhGSVhOVU0gKHN0YXJ0KSk7CiAJCSAgcmV0dXJuIFF0Owog CQl9CiAJICAgICAgZWxzZQpAQCAtMTY3Nyw4ICsxNjgyLDkgQEAgREVGVU4gKCJyZW1vdmUtbGlz dC1vZi10ZXh0LXByb3BlcnRpZXMiLCBGcmVtb3ZlX2xpc3Rfb2ZfdGV4dF9wcm9wZXJ0aWVzLAog CQltb2RpZnlfdGV4dF9wcm9wZXJ0aWVzIChvYmplY3QsIHN0YXJ0LCBlbmQpOwogCSAgICAgIHJl bW92ZV9wcm9wZXJ0aWVzIChRbmlsLCBwcm9wZXJ0aWVzLCBpLCBvYmplY3QpOwogCSAgICAgIGlm IChCVUZGRVJQIChvYmplY3QpKQotCQlzaWduYWxfYWZ0ZXJfY2hhbmdlIChYRklYTlVNIChzdGFy dCksIFhGSVhOVU0gKGVuZCkgLSBYRklYTlVNIChzdGFydCksCi0JCQkJICAgICBYRklYTlVNIChl bmQpIC0gWEZJWE5VTSAoc3RhcnQpKTsKKwkJc2lnbmFsX2FmdGVyX2NoYW5nZV9pbl9idWZmZXIg KFhCVUZGRVIgKG9iamVjdCksCisJCQkJCSAgICAgICBYRklYTlVNIChzdGFydCksIFhGSVhOVU0g KGVuZCkgLSBYRklYTlVNIChzdGFydCksCisJCQkJCSAgICAgICBYRklYTlVNIChlbmQpIC0gWEZJ WE5VTSAoc3RhcnQpKTsKIAkgICAgICByZXR1cm4gUXQ7CiAJICAgIH0KIAkgIGVsc2UKQEAgLTE2 OTAsOCArMTY5Niw5IEBAIERFRlVOICgicmVtb3ZlLWxpc3Qtb2YtdGV4dC1wcm9wZXJ0aWVzIiwg RnJlbW92ZV9saXN0X29mX3RleHRfcHJvcGVydGllcywKIAkJbW9kaWZ5X3RleHRfcHJvcGVydGll cyAob2JqZWN0LCBzdGFydCwgZW5kKTsKIAkgICAgICByZW1vdmVfcHJvcGVydGllcyAoUW5pbCwg cHJvcGVydGllcywgaSwgb2JqZWN0KTsKIAkgICAgICBpZiAoQlVGRkVSUCAob2JqZWN0KSkKLQkJ c2lnbmFsX2FmdGVyX2NoYW5nZSAoWEZJWE5VTSAoc3RhcnQpLCBYRklYTlVNIChlbmQpIC0gWEZJ WE5VTSAoc3RhcnQpLAotCQkJCSAgICAgWEZJWE5VTSAoZW5kKSAtIFhGSVhOVU0gKHN0YXJ0KSk7 CisJCXNpZ25hbF9hZnRlcl9jaGFuZ2VfaW5fYnVmZmVyIChYQlVGRkVSIChvYmplY3QpLAorCQkJ CQkgICAgICAgWEZJWE5VTSAoc3RhcnQpLCBYRklYTlVNIChlbmQpIC0gWEZJWE5VTSAoc3RhcnQp LAorCQkJCQkgICAgICAgWEZJWE5VTSAoZW5kKSAtIFhGSVhOVU0gKHN0YXJ0KSk7CiAJICAgICAg cmV0dXJuIFF0OwogCSAgICB9CiAJfQpAQCAtMTcwNSwxOCArMTcxMiwxOCBAQCBERUZVTiAoInJl bW92ZS1saXN0LW9mLXRleHQtcHJvcGVydGllcyIsIEZyZW1vdmVfbGlzdF9vZl90ZXh0X3Byb3Bl cnRpZXMsCiAgICAgICBsZW4gLT0gTEVOR1RIIChpKTsKICAgICAgIGkgPSBuZXh0X2ludGVydmFs IChpKTsKICAgICAgIGlmICghaSkKLSAgICAgICAgewotICAgICAgICAgIGlmIChtb2RpZmllZCkK LSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgaWYgKEJVRkZFUlAgKG9iamVjdCkpCi0gICAg ICAgICAgICAgICAgc2lnbmFsX2FmdGVyX2NoYW5nZSAoWEZJWE5VTSAoc3RhcnQpLAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhGSVhOVU0gKGVuZCkgLSBYRklYTlVNIChz dGFydCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWEZJWE5VTSAoZW5k KSAtIFhGSVhOVU0gKHN0YXJ0KSk7Ci0gICAgICAgICAgICAgIHJldHVybiBRdDsKLSAgICAgICAg ICAgIH0KLSAgICAgICAgICBlbHNlCi0gICAgICAgICAgICByZXR1cm4gUW5pbDsKLSAgICAgICAg fQorCXsKKwkgIGlmIChtb2RpZmllZCkKKwkgICAgeworCSAgICAgIGlmIChCVUZGRVJQIChvYmpl Y3QpKQorCQlzaWduYWxfYWZ0ZXJfY2hhbmdlX2luX2J1ZmZlciAoWEJVRkZFUiAob2JqZWN0KSwg WEZJWE5VTSAoc3RhcnQpLAorCQkJCQkgICAgICAgWEZJWE5VTSAoZW5kKSAtIFhGSVhOVU0gKHN0 YXJ0KSwKKwkJCQkJICAgICAgIFhGSVhOVU0gKGVuZCkgLSBYRklYTlVNIChzdGFydCkpOworCSAg ICAgIHJldHVybiBRdDsKKwkgICAgfQorCSAgZWxzZQorCSAgICByZXR1cm4gUW5pbDsKKwl9CiAg ICAgfQogfQogDAotLSAKMi4yMC4xCgo= --000000000000a62ecb058b46c3ce-- From unknown Tue Aug 19 05:08:21 2025 X-Loop: help-debbugs@gnu.org Subject: bug#36190: 27.0.50; `put-text-property' etc. with buffer argument calls current buffer's `after-change-functions' Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 14 Jun 2019 12:12:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 36190 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Pip Cet Cc: 36190@debbugs.gnu.org Received: via spool by 36190-submit@debbugs.gnu.org id=B36190.156051428916280 (code B ref 36190); Fri, 14 Jun 2019 12:12:01 +0000 Received: (at 36190) by debbugs.gnu.org; 14 Jun 2019 12:11:29 +0000 Received: from localhost ([127.0.0.1]:36680 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hbl3I-0004EW-N6 for submit@debbugs.gnu.org; Fri, 14 Jun 2019 08:11:28 -0400 Received: from eggs.gnu.org ([209.51.188.92]:43493) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hbl3G-0004EG-EV for 36190@debbugs.gnu.org; Fri, 14 Jun 2019 08:11:27 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:36314) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hbl33-0004T1-JQ; Fri, 14 Jun 2019 08:11:19 -0400 Received: from [176.228.60.248] (port=1121 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1hbl2r-0001Oe-NW; Fri, 14 Jun 2019 08:11:12 -0400 Date: Fri, 14 Jun 2019 15:10:52 +0300 Message-Id: <83d0jgxt83.fsf@gnu.org> From: Eli Zaretskii In-reply-to: (message from Pip Cet on Fri, 14 Jun 2019 11:14:53 +0000) References: <83h88tzbly.fsf@gnu.org> <835zp9z4oj.fsf@gnu.org> <83y325xnk0.fsf@gnu.org> <83k1doy5om.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) 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: Pip Cet > Date: Fri, 14 Jun 2019 11:14:53 +0000 > Cc: 36190@debbugs.gnu.org > > Okay, I fixed those two issues. Thanks. > As for the performance problem, should we amend the documentation to > state that if many changes are made, it's better to use > `with-current-buffer' instead of repeatedly calling > put-text-property with a buffer argument? I think so, yes. From unknown Tue Aug 19 05:08:21 2025 X-Loop: help-debbugs@gnu.org Subject: bug#36190: 27.0.50; `put-text-property' etc. with buffer argument calls current buffer's `after-change-functions' Resent-From: Pip Cet Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 15 Jun 2019 15:16:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 36190 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 36190@debbugs.gnu.org Received: via spool by 36190-submit@debbugs.gnu.org id=B36190.156061172810036 (code B ref 36190); Sat, 15 Jun 2019 15:16:01 +0000 Received: (at 36190) by debbugs.gnu.org; 15 Jun 2019 15:15:28 +0000 Received: from localhost ([127.0.0.1]:39076 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hcAOu-0002bn-71 for submit@debbugs.gnu.org; Sat, 15 Jun 2019 11:15:28 -0400 Received: from mail-oi1-f177.google.com ([209.85.167.177]:33407) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hcAOr-0002bZ-IS for 36190@debbugs.gnu.org; Sat, 15 Jun 2019 11:15:26 -0400 Received: by mail-oi1-f177.google.com with SMTP id q186so4149212oia.0 for <36190@debbugs.gnu.org>; Sat, 15 Jun 2019 08:15:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=nVU9i0aqYU0xAL314iQgOFnk9XBsGBCIICHUaiPHKao=; b=ulLNcVJpAZGqRaEbQUr1jXm8Zak/wvO8IXhkNmw0epArdd68+7bzeWugEuntr0IUbz XqGi0kSFkN5yVsh+3w0T6xMucC2GUfXP/kHxseVo6B9nmRLH95nH8oLC/3cz/lzyLceH ttYY4eAPI8eVhbhMfIE1tJIU5JaeFqRixrcdPmDAojLRcSQ19XyRhsw3Fbs3kM+x/eSL 4G0aoRJl/Mh5AJER+8v1bWUcl4ENulq3YAhft77YG95PqGIa/3Je91X1iYeG0kgkfhT2 C0Lcs7GkwGx5zVywKuImnR34lFIB19dMvh3u2eVwLbaFwqUddCaG0RIEnhm1DQocv5dz CwKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=nVU9i0aqYU0xAL314iQgOFnk9XBsGBCIICHUaiPHKao=; b=UpW5qYdWTpzFWNbVNW/YQgn6ysst8HddshU1NGwr32/TUQz0Ds2SZE2nzk4E2pYI65 LNQWvf3Pby8bE16aXeacIMGBXPvhReCXH0pVkAZzo/0aPL4oUMrFKRVbluL8OTprf+/H Pt6q8iwRfxhvu9vCEY/bfR3gRdNpk9lHdmhu1cbWcD8aNt/PszPezquztSvedoEn1kT8 3IgPH48pBq4YObmW5QQ1vaAOl3YaRy/UyuzXKsP/ZE1wWP2rhUwUglhFUt5QrVHcPu5T Wdu4vQ793Icvtnfxtzo79FzViQYF6q950Ns1Y7MkUJVXG+40PrI3T3bZEUMkmAFusobQ 8/Ag== X-Gm-Message-State: APjAAAX0AHxz70XsxRDX+IpKWzvC1m8XRLGUnyBOM4DicC9Vr6Cs7twY /VFxb46MkoCXZ0A3s53PPe/RGfTbjwB/VZEKx4s= X-Google-Smtp-Source: APXvYqwBnTZdR931t8fVxcZ5EyTI9ZNMwOavt+Z4pRmqlDd8HrtdfBSzPi34QnleWLbTlcFCiuaGvWYdiqb3Ucrf48w= X-Received: by 2002:aca:dcd7:: with SMTP id t206mr5416595oig.30.1560611719892; Sat, 15 Jun 2019 08:15:19 -0700 (PDT) MIME-Version: 1.0 References: <83h88tzbly.fsf@gnu.org> <835zp9z4oj.fsf@gnu.org> <83y325xnk0.fsf@gnu.org> <83k1doy5om.fsf@gnu.org> <83d0jgxt83.fsf@gnu.org> In-Reply-To: <83d0jgxt83.fsf@gnu.org> From: Pip Cet Date: Sat, 15 Jun 2019 15:14:43 +0000 Message-ID: Content-Type: multipart/mixed; boundary="000000000000327750058b5e3bcc" X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --000000000000327750058b5e3bcc Content-Type: text/plain; charset="UTF-8" On Fri, Jun 14, 2019 at 12:11 PM Eli Zaretskii wrote: > > From: Pip Cet > > Date: Fri, 14 Jun 2019 11:14:53 +0000 > > Cc: 36190@debbugs.gnu.org > > > > Okay, I fixed those two issues. > > Thanks. Except that calls set_buffer_internal twice for a single call to put-text-property. That's too slow, right? How about simply emulating (with-current-buffer buffer (put-text-property ...)), as the attached patch does? That should fix the immediate problem. Thanks! --000000000000327750058b5e3bcc Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Update-current-buffer-when-changing-text-properties.patch" Content-Disposition: attachment; filename="0001-Update-current-buffer-when-changing-text-properties.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jwxnw5vy0 RnJvbSBjODIyZTU2MmFhYTUxYWYyZmM2ZmZjNzcwODEyNGZlYzZiYjMzM2U0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQaXAgQ2V0IDxwaXBjZXRAZ21haWwuY29tPgpEYXRlOiBTYXQs IDE1IEp1biAyMDE5IDE1OjEyOjE0ICswMDAwClN1YmplY3Q6IFtQQVRDSF0gVXBkYXRlIGN1cnJl bnQgYnVmZmVyIHdoZW4gY2hhbmdpbmcgdGV4dCBwcm9wZXJ0aWVzLgoKKiBzcmMvdGV4dHByb3Au YyAoYWRkX3RleHRfcHJvcGVydGllc18xLCBzZXRfdGV4dF9wcm9wZXJ0aWVzKQooc2V0X3RleHRf cHJvcGVydGllc18xLCBGcmVtb3ZlX3RleHRfcHJvcGVydGllcyk6Ci0tLQogc3JjL3RleHRwcm9w LmMgfCA0OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK IDEgZmlsZSBjaGFuZ2VkLCA0OCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvc3JjL3RleHRw cm9wLmMgYi9zcmMvdGV4dHByb3AuYwppbmRleCBhZTQyYzQ0MTg1Li40NmRlMzcyYjYxIDEwMDY0 NAotLS0gYS9zcmMvdGV4dHByb3AuYworKysgYi9zcmMvdGV4dHByb3AuYwpAQCAtMTE0MSw2ICsx MTQxLDE1IEBAIERFRlVOICgicHJldmlvdXMtc2luZ2xlLXByb3BlcnR5LWNoYW5nZSIsIEZwcmV2 aW91c19zaW5nbGVfcHJvcGVydHlfY2hhbmdlLAogYWRkX3RleHRfcHJvcGVydGllc18xIChMaXNw X09iamVjdCBzdGFydCwgTGlzcF9PYmplY3QgZW5kLAogCQkgICAgICAgTGlzcF9PYmplY3QgcHJv cGVydGllcywgTGlzcF9PYmplY3Qgb2JqZWN0LAogCQkgICAgICAgZW51bSBwcm9wZXJ0eV9zZXRf dHlwZSBzZXRfdHlwZSkgeworICBpZiAoQlVGRkVSUCAob2JqZWN0KSAmJiBYQlVGRkVSIChvYmpl Y3QpICE9IGN1cnJlbnRfYnVmZmVyKQorICAgIHsKKyAgICAgIHB0cmRpZmZfdCBjb3VudCA9IFNQ RUNQRExfSU5ERVggKCk7CisgICAgICByZWNvcmRfdW53aW5kX2N1cnJlbnRfYnVmZmVyICgpOwor ICAgICAgc2V0X2J1ZmZlcl9pbnRlcm5hbCAoWEJVRkZFUiAob2JqZWN0KSk7CisgICAgICByZXR1 cm4gdW5iaW5kX3RvIChjb3VudCwgYWRkX3RleHRfcHJvcGVydGllc18xIChzdGFydCwgZW5kLCBw cm9wZXJ0aWVzLAorCQkJCQkJICAgICAgb2JqZWN0LCBzZXRfdHlwZSkpOworICAgIH0KKwogICBJ TlRFUlZBTCBpLCB1bmNoYW5nZWQ7CiAgIHB0cmRpZmZfdCBzLCBsZW47CiAgIGJvb2wgbW9kaWZp ZWQgPSBmYWxzZTsKQEAgLTEzNDIsNiArMTM1MSwxNSBAQCBmYWNlKHMpIGFyZSByZXRhaW5lZC4g IFRoaXMgaXMgZG9uZSBieSBzZXR0aW5nIHRoZSBgZmFjZScgcHJvcGVydHkgdG8KIHNldF90ZXh0 X3Byb3BlcnRpZXMgKExpc3BfT2JqZWN0IHN0YXJ0LCBMaXNwX09iamVjdCBlbmQsIExpc3BfT2Jq ZWN0IHByb3BlcnRpZXMsCiAJCSAgICAgTGlzcF9PYmplY3Qgb2JqZWN0LCBMaXNwX09iamVjdCBj b2hlcmVudF9jaGFuZ2VfcCkKIHsKKyAgaWYgKEJVRkZFUlAgKG9iamVjdCkgJiYgWEJVRkZFUiAo b2JqZWN0KSAhPSBjdXJyZW50X2J1ZmZlcikKKyAgICB7CisgICAgICBwdHJkaWZmX3QgY291bnQg PSBTUEVDUERMX0lOREVYICgpOworICAgICAgcmVjb3JkX3Vud2luZF9jdXJyZW50X2J1ZmZlciAo KTsKKyAgICAgIHNldF9idWZmZXJfaW50ZXJuYWwgKFhCVUZGRVIgKG9iamVjdCkpOworICAgICAg cmV0dXJuIHVuYmluZF90byAoY291bnQsIHNldF90ZXh0X3Byb3BlcnRpZXMgKHN0YXJ0LCBlbmQs IHByb3BlcnRpZXMsCisJCQkJCQkgICAgb2JqZWN0LCBjb2hlcmVudF9jaGFuZ2VfcCkpOworICAg IH0KKwogICBJTlRFUlZBTCBpOwogICBib29sIGZpcnN0X3RpbWUgPSB0cnVlOwogCkBAIC0xNDEy LDYgKzE0MzAsMTcgQEAgc2V0X3RleHRfcHJvcGVydGllcyAoTGlzcF9PYmplY3Qgc3RhcnQsIExp c3BfT2JqZWN0IGVuZCwgTGlzcF9PYmplY3QgcHJvcGVydGllcywKIHNldF90ZXh0X3Byb3BlcnRp ZXNfMSAoTGlzcF9PYmplY3Qgc3RhcnQsIExpc3BfT2JqZWN0IGVuZCwKIAkJICAgICAgIExpc3Bf T2JqZWN0IHByb3BlcnRpZXMsIExpc3BfT2JqZWN0IG9iamVjdCwgSU5URVJWQUwgaSkKIHsKKyAg aWYgKEJVRkZFUlAgKG9iamVjdCkgJiYgWEJVRkZFUiAob2JqZWN0KSAhPSBjdXJyZW50X2J1ZmZl cikKKyAgICB7CisgICAgICBwdHJkaWZmX3QgY291bnQgPSBTUEVDUERMX0lOREVYICgpOworICAg ICAgcmVjb3JkX3Vud2luZF9jdXJyZW50X2J1ZmZlciAoKTsKKyAgICAgIHNldF9idWZmZXJfaW50 ZXJuYWwgKFhCVUZGRVIgKG9iamVjdCkpOworCisgICAgICBzZXRfdGV4dF9wcm9wZXJ0aWVzXzEg KHN0YXJ0LCBlbmQsIHByb3BlcnRpZXMsIG9iamVjdCwgaSk7CisgICAgICB1bmJpbmRfdG8gKGNv dW50LCBRbmlsKTsKKyAgICAgIHJldHVybjsKKyAgICB9CisKICAgSU5URVJWQUwgcHJldl9jaGFu Z2VkID0gTlVMTDsKICAgcHRyZGlmZl90IHMgPSBYRklYTlVNIChzdGFydCk7CiAgIHB0cmRpZmZf dCBsZW4gPSBYRklYTlVNIChlbmQpIC0gczsKQEAgLTE0OTQsNiArMTUyMywxNSBAQCBERUZVTiAo InJlbW92ZS10ZXh0LXByb3BlcnRpZXMiLCBGcmVtb3ZlX3RleHRfcHJvcGVydGllcywKIFVzZSBg c2V0LXRleHQtcHJvcGVydGllcycgaWYgeW91IHdhbnQgdG8gcmVtb3ZlIGFsbCB0ZXh0IHByb3Bl cnRpZXMuICAqLykKICAgKExpc3BfT2JqZWN0IHN0YXJ0LCBMaXNwX09iamVjdCBlbmQsIExpc3Bf T2JqZWN0IHByb3BlcnRpZXMsIExpc3BfT2JqZWN0IG9iamVjdCkKIHsKKyAgaWYgKEJVRkZFUlAg KG9iamVjdCkgJiYgWEJVRkZFUiAob2JqZWN0KSAhPSBjdXJyZW50X2J1ZmZlcikKKyAgICB7Cisg ICAgICBwdHJkaWZmX3QgY291bnQgPSBTUEVDUERMX0lOREVYICgpOworICAgICAgcmVjb3JkX3Vu d2luZF9jdXJyZW50X2J1ZmZlciAoKTsKKyAgICAgIHNldF9idWZmZXJfaW50ZXJuYWwgKFhCVUZG RVIgKG9iamVjdCkpOworICAgICAgcmV0dXJuIHVuYmluZF90byAoY291bnQsIEZyZW1vdmVfdGV4 dF9wcm9wZXJ0aWVzIChzdGFydCwgZW5kLCBwcm9wZXJ0aWVzLAorCQkJCQkJCW9iamVjdCkpOwor ICAgIH0KKwogICBJTlRFUlZBTCBpLCB1bmNoYW5nZWQ7CiAgIHB0cmRpZmZfdCBzLCBsZW47CiAg IGJvb2wgbW9kaWZpZWQgPSBmYWxzZTsKQEAgLTE2MDYsNiArMTY0NCwxNiBAQCBERUZVTiAoInJl bW92ZS1saXN0LW9mLXRleHQtcHJvcGVydGllcyIsIEZyZW1vdmVfbGlzdF9vZl90ZXh0X3Byb3Bl cnRpZXMsCiBSZXR1cm4gdCBpZiBhbnkgcHJvcGVydHkgd2FzIGFjdHVhbGx5IHJlbW92ZWQsIG5p bCBvdGhlcndpc2UuICAqLykKICAgKExpc3BfT2JqZWN0IHN0YXJ0LCBMaXNwX09iamVjdCBlbmQs IExpc3BfT2JqZWN0IGxpc3Rfb2ZfcHJvcGVydGllcywgTGlzcF9PYmplY3Qgb2JqZWN0KQogewor ICBpZiAoQlVGRkVSUCAob2JqZWN0KSAmJiBYQlVGRkVSIChvYmplY3QpICE9IGN1cnJlbnRfYnVm ZmVyKQorICAgIHsKKyAgICAgIHB0cmRpZmZfdCBjb3VudCA9IFNQRUNQRExfSU5ERVggKCk7Cisg ICAgICByZWNvcmRfdW53aW5kX2N1cnJlbnRfYnVmZmVyICgpOworICAgICAgc2V0X2J1ZmZlcl9p bnRlcm5hbCAoWEJVRkZFUiAob2JqZWN0KSk7CisgICAgICByZXR1cm4gdW5iaW5kX3RvIChjb3Vu dCwgRnJlbW92ZV9saXN0X29mX3RleHRfcHJvcGVydGllcyAoc3RhcnQsIGVuZCwKKwkJCQkJCQkJ bGlzdF9vZl9wcm9wZXJ0aWVzLAorCQkJCQkJCQlvYmplY3QpKTsKKyAgICB9CisKICAgSU5URVJW QUwgaSwgdW5jaGFuZ2VkOwogICBwdHJkaWZmX3QgcywgbGVuOwogICBib29sIG1vZGlmaWVkID0g ZmFsc2U7Ci0tIAoyLjIwLjEKCg== --000000000000327750058b5e3bcc-- From unknown Tue Aug 19 05:08:21 2025 X-Loop: help-debbugs@gnu.org Subject: bug#36190: 27.0.50; `put-text-property' etc. with buffer argument calls current buffer's `after-change-functions' Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 15 Jun 2019 15:24:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 36190 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Pip Cet Cc: 36190@debbugs.gnu.org Received: via spool by 36190-submit@debbugs.gnu.org id=B36190.156061219710730 (code B ref 36190); Sat, 15 Jun 2019 15:24:02 +0000 Received: (at 36190) by debbugs.gnu.org; 15 Jun 2019 15:23:17 +0000 Received: from localhost ([127.0.0.1]:39082 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hcAWT-0002mz-8R for submit@debbugs.gnu.org; Sat, 15 Jun 2019 11:23:17 -0400 Received: from eggs.gnu.org ([209.51.188.92]:51153) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hcAWQ-0002ml-PA for 36190@debbugs.gnu.org; Sat, 15 Jun 2019 11:23:15 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:38067) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hcAWL-0000nt-Ks; Sat, 15 Jun 2019 11:23:09 -0400 Received: from [176.228.60.248] (port=1923 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1hcAWK-00005y-Tb; Sat, 15 Jun 2019 11:23:09 -0400 Date: Sat, 15 Jun 2019 18:23:15 +0300 Message-Id: <83wohmvpng.fsf@gnu.org> From: Eli Zaretskii In-reply-to: (message from Pip Cet on Sat, 15 Jun 2019 15:14:43 +0000) References: <83h88tzbly.fsf@gnu.org> <835zp9z4oj.fsf@gnu.org> <83y325xnk0.fsf@gnu.org> <83k1doy5om.fsf@gnu.org> <83d0jgxt83.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) 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: Pip Cet > Date: Sat, 15 Jun 2019 15:14:43 +0000 > Cc: 36190@debbugs.gnu.org > > Except that calls set_buffer_internal twice for a single call to > put-text-property. That's too slow, right? > > How about simply emulating (with-current-buffer buffer > (put-text-property ...)), as the attached patch does? That should fix > the immediate problem. Looks better to me, but I'd suggest a comment explaining why we do such an unusual thing. From unknown Tue Aug 19 05:08:21 2025 X-Loop: help-debbugs@gnu.org Subject: bug#36190: 27.0.50; `put-text-property' etc. with buffer argument calls current buffer's `after-change-functions' Resent-From: Pip Cet Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 15 Jun 2019 19:29:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 36190 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 36190@debbugs.gnu.org Received: via spool by 36190-submit@debbugs.gnu.org id=B36190.15606268944920 (code B ref 36190); Sat, 15 Jun 2019 19:29:01 +0000 Received: (at 36190) by debbugs.gnu.org; 15 Jun 2019 19:28:14 +0000 Received: from localhost ([127.0.0.1]:39218 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hcELW-0001HI-49 for submit@debbugs.gnu.org; Sat, 15 Jun 2019 15:28:14 -0400 Received: from mail-ot1-f47.google.com ([209.85.210.47]:41908) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hcELU-0001H5-Ex for 36190@debbugs.gnu.org; Sat, 15 Jun 2019 15:28:13 -0400 Received: by mail-ot1-f47.google.com with SMTP id 107so5761162otj.8 for <36190@debbugs.gnu.org>; Sat, 15 Jun 2019 12:28:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=D1sM0o7En1KJSUJWcNqINDtHCeg7Smx9YVEhpEZaHbw=; b=t9kEgy3CuppR8TsqsCO2T3+1q4IG8ss5h24U9A5HW4jW/k693jOyxBQlofl8QG93vF 25l3mLTTDXAtK1B7ZrIX/qrKXNKbTaTb/8me3eXWbYyVIN388ub5GZEmN35ztl4LkjDN 2qV0NUNP8dPvdR/AVaYkpSjQqRFmKI9cpal0Og4RfHMC1X7J2Z33KR3XZvvaa4xVBUgC sn/tWLWGcmDNmH+QZm4yLFDL1P0cg9WS9jPV0oG+og10r8K096GmI8mTOl8BAphGAl/K 1UDWbstQTWG55B9OTxYvtkTEqSmPdkXO89KfIuDxg0cMArTH5Y3w45BGGix/BGm+tTVl ISVw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=D1sM0o7En1KJSUJWcNqINDtHCeg7Smx9YVEhpEZaHbw=; b=CgfDEDZ8UhkaOpXsGPxum+TYpn1MmwlT70GAFlB8ZcYDrng1Qo/2mo+C2EXXbJPMMx pxvK1XYDG87+Badf92lzYwAu6L9pim/gNbBWW8/xzfk4j823QrAaPA9kCM9tLopOgCA9 9eJMBxEb/f67SE+kXiDSWlHqAZuiEutbcZMZmy4J0zmbosp9MbhLIjsD+SsbpEY76+sz A4af//FCa/q/V6Ul+DtttPsni9oN28iamNagcPh6AQY6oHqvlRV40jfUqObCcbURERdk /Qc/uhp6k+wD/i6ZrKoZ77/twp9+/hs2KjV7vm1pwLWDYAzrP1j81TIlswdaLgSX51zN 8+ow== X-Gm-Message-State: APjAAAXIDtBXZUWWACrlcUyhmff92e0OU+oEtkEhymVVZZ8LOIWgx/Kr oR+Cp+HePPuJrAgBAPsKd4D5NlbXseoeJZv6FMnKZnmX X-Google-Smtp-Source: APXvYqy5nTP6KiK2Wi6nSgJzpAol4HkiUf4COeE1rxaqYdiVwAlM5NdfYWUqdn76qtlzHAcE3XzctGZGDAgo4t9Hf1I= X-Received: by 2002:a9d:3c5:: with SMTP id f63mr6134536otf.210.1560626886716; Sat, 15 Jun 2019 12:28:06 -0700 (PDT) MIME-Version: 1.0 References: <83h88tzbly.fsf@gnu.org> <835zp9z4oj.fsf@gnu.org> <83y325xnk0.fsf@gnu.org> <83k1doy5om.fsf@gnu.org> <83d0jgxt83.fsf@gnu.org> <83wohmvpng.fsf@gnu.org> In-Reply-To: <83wohmvpng.fsf@gnu.org> From: Pip Cet Date: Sat, 15 Jun 2019 19:27:30 +0000 Message-ID: Content-Type: multipart/mixed; boundary="00000000000035e745058b61c372" X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --00000000000035e745058b61c372 Content-Type: text/plain; charset="UTF-8" On Sat, Jun 15, 2019 at 3:23 PM Eli Zaretskii wrote: > > From: Pip Cet > > Date: Sat, 15 Jun 2019 15:14:43 +0000 > > Cc: 36190@debbugs.gnu.org > > > > How about simply emulating (with-current-buffer buffer > > (put-text-property ...)), as the attached patch does? That should fix > > the immediate problem. > > Looks better to me, but I'd suggest a comment explaining why we do > such an unusual thing. Sounds good to me. The attached patch contains the comments and a hint in the documentation. (Maybe the comments should be a FIXME, because there's really no need to switch buffers at all when there are no applicable hooks?) Obviously, feel free to reword as you consider appropriate. --00000000000035e745058b61c372 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Update-current-buffer-when-changing-text-properties.patch" Content-Disposition: attachment; filename="0001-Update-current-buffer-when-changing-text-properties.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jwxwpwq70 RnJvbSAwMTc4NGU2YjE2YzQwYWVmMzYyZjM5NTE5YTRlOGIyOTk4MmM4ZmNkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQaXAgQ2V0IDxwaXBjZXRAZ21haWwuY29tPgpEYXRlOiBTYXQs IDE1IEp1biAyMDE5IDE1OjEyOjE0ICswMDAwClN1YmplY3Q6IFtQQVRDSF0gVXBkYXRlIGN1cnJl bnQgYnVmZmVyIHdoZW4gY2hhbmdpbmcgdGV4dCBwcm9wZXJ0aWVzLgoKKiBzcmMvdGV4dHByb3Au YyAoYWRkX3RleHRfcHJvcGVydGllc18xLCBzZXRfdGV4dF9wcm9wZXJ0aWVzKQooc2V0X3RleHRf cHJvcGVydGllc18xLCBGcmVtb3ZlX3RleHRfcHJvcGVydGllcyk6Ci0tLQogZG9jL2xpc3ByZWYv dGV4dC50ZXhpIHwgIDIgKy0KIHNyYy90ZXh0cHJvcC5jICAgICAgICB8IDU4ICsrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgNTkgaW5z ZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RvYy9saXNwcmVmL3RleHQu dGV4aSBiL2RvYy9saXNwcmVmL3RleHQudGV4aQppbmRleCAyZTdjNDk3ZjU3Li4wMzVmZWE2YTZi IDEwMDY0NAotLS0gYS9kb2MvbGlzcHJlZi90ZXh0LnRleGkKKysrIGIvZG9jL2xpc3ByZWYvdGV4 dC50ZXhpCkBAIC0yODAwLDcgKzI4MDAsNyBAQCBFeGFtaW5pbmcgUHJvcGVydGllcwogCiAgIFRo ZXNlIGZ1bmN0aW9ucyBoYW5kbGUgYm90aCBzdHJpbmdzIGFuZCBidWZmZXJzLiAgS2VlcCBpbiBt aW5kIHRoYXQKIHBvc2l0aW9ucyBpbiBhIHN0cmluZyBzdGFydCBmcm9tIDAsIHdoZXJlYXMgcG9z aXRpb25zIGluIGEgYnVmZmVyIHN0YXJ0Ci1mcm9tIDEuCitmcm9tIDEuICBQYXNzaW5nIGEgYnVm ZmVyIG90aGVyIHRoYW4gdGhlIGN1cnJlbnQgYnVmZmVyIG1heSBiZSBzbG93LgogCiBAZGVmdW4g Z2V0LXRleHQtcHJvcGVydHkgcG9zIHByb3AgJm9wdGlvbmFsIG9iamVjdAogVGhpcyBmdW5jdGlv biByZXR1cm5zIHRoZSB2YWx1ZSBvZiB0aGUgQHZhcntwcm9wfSBwcm9wZXJ0eSBvZiB0aGUKZGlm ZiAtLWdpdCBhL3NyYy90ZXh0cHJvcC5jIGIvc3JjL3RleHRwcm9wLmMKaW5kZXggYWU0MmM0NDE4 NS4uNTZmMjc2YjlhZCAxMDA2NDQKLS0tIGEvc3JjL3RleHRwcm9wLmMKKysrIGIvc3JjL3RleHRw cm9wLmMKQEAgLTExNDEsNiArMTE0MSwxNyBAQCBERUZVTiAoInByZXZpb3VzLXNpbmdsZS1wcm9w ZXJ0eS1jaGFuZ2UiLCBGcHJldmlvdXNfc2luZ2xlX3Byb3BlcnR5X2NoYW5nZSwKIGFkZF90ZXh0 X3Byb3BlcnRpZXNfMSAoTGlzcF9PYmplY3Qgc3RhcnQsIExpc3BfT2JqZWN0IGVuZCwKIAkJICAg ICAgIExpc3BfT2JqZWN0IHByb3BlcnRpZXMsIExpc3BfT2JqZWN0IG9iamVjdCwKIAkJICAgICAg IGVudW0gcHJvcGVydHlfc2V0X3R5cGUgc2V0X3R5cGUpIHsKKyAgLyogRW5zdXJlIHdlIHJ1biB0 aGUgbW9kaWZpY2F0aW9uIGhvb2tzIGZvciB0aGUgcmlnaHQgYnVmZmVyLAorICAgICB3aXRob3V0 IHN3aXRjaGluZyBidWZmZXJzIHR3aWNlIChidWcgMzYxOTApLiAqLworICBpZiAoQlVGRkVSUCAo b2JqZWN0KSAmJiBYQlVGRkVSIChvYmplY3QpICE9IGN1cnJlbnRfYnVmZmVyKQorICAgIHsKKyAg ICAgIHB0cmRpZmZfdCBjb3VudCA9IFNQRUNQRExfSU5ERVggKCk7CisgICAgICByZWNvcmRfdW53 aW5kX2N1cnJlbnRfYnVmZmVyICgpOworICAgICAgc2V0X2J1ZmZlcl9pbnRlcm5hbCAoWEJVRkZF UiAob2JqZWN0KSk7CisgICAgICByZXR1cm4gdW5iaW5kX3RvIChjb3VudCwgYWRkX3RleHRfcHJv cGVydGllc18xIChzdGFydCwgZW5kLCBwcm9wZXJ0aWVzLAorCQkJCQkJICAgICAgb2JqZWN0LCBz ZXRfdHlwZSkpOworICAgIH0KKwogICBJTlRFUlZBTCBpLCB1bmNoYW5nZWQ7CiAgIHB0cmRpZmZf dCBzLCBsZW47CiAgIGJvb2wgbW9kaWZpZWQgPSBmYWxzZTsKQEAgLTEzNDIsNiArMTM1MywxNyBA QCBmYWNlKHMpIGFyZSByZXRhaW5lZC4gIFRoaXMgaXMgZG9uZSBieSBzZXR0aW5nIHRoZSBgZmFj ZScgcHJvcGVydHkgdG8KIHNldF90ZXh0X3Byb3BlcnRpZXMgKExpc3BfT2JqZWN0IHN0YXJ0LCBM aXNwX09iamVjdCBlbmQsIExpc3BfT2JqZWN0IHByb3BlcnRpZXMsCiAJCSAgICAgTGlzcF9PYmpl Y3Qgb2JqZWN0LCBMaXNwX09iamVjdCBjb2hlcmVudF9jaGFuZ2VfcCkKIHsKKyAgLyogRW5zdXJl IHdlIHJ1biB0aGUgbW9kaWZpY2F0aW9uIGhvb2tzIGZvciB0aGUgcmlnaHQgYnVmZmVyLAorICAg ICB3aXRob3V0IHN3aXRjaGluZyBidWZmZXJzIHR3aWNlIChidWcgMzYxOTApLiAqLworICBpZiAo QlVGRkVSUCAob2JqZWN0KSAmJiBYQlVGRkVSIChvYmplY3QpICE9IGN1cnJlbnRfYnVmZmVyKQor ICAgIHsKKyAgICAgIHB0cmRpZmZfdCBjb3VudCA9IFNQRUNQRExfSU5ERVggKCk7CisgICAgICBy ZWNvcmRfdW53aW5kX2N1cnJlbnRfYnVmZmVyICgpOworICAgICAgc2V0X2J1ZmZlcl9pbnRlcm5h bCAoWEJVRkZFUiAob2JqZWN0KSk7CisgICAgICByZXR1cm4gdW5iaW5kX3RvIChjb3VudCwgc2V0 X3RleHRfcHJvcGVydGllcyAoc3RhcnQsIGVuZCwgcHJvcGVydGllcywKKwkJCQkJCSAgICBvYmpl Y3QsIGNvaGVyZW50X2NoYW5nZV9wKSk7CisgICAgfQorCiAgIElOVEVSVkFMIGk7CiAgIGJvb2wg Zmlyc3RfdGltZSA9IHRydWU7CiAKQEAgLTE0MTIsNiArMTQzNCwxOSBAQCBzZXRfdGV4dF9wcm9w ZXJ0aWVzIChMaXNwX09iamVjdCBzdGFydCwgTGlzcF9PYmplY3QgZW5kLCBMaXNwX09iamVjdCBw cm9wZXJ0aWVzLAogc2V0X3RleHRfcHJvcGVydGllc18xIChMaXNwX09iamVjdCBzdGFydCwgTGlz cF9PYmplY3QgZW5kLAogCQkgICAgICAgTGlzcF9PYmplY3QgcHJvcGVydGllcywgTGlzcF9PYmpl Y3Qgb2JqZWN0LCBJTlRFUlZBTCBpKQogeworICAvKiBFbnN1cmUgd2UgcnVuIHRoZSBtb2RpZmlj YXRpb24gaG9va3MgZm9yIHRoZSByaWdodCBidWZmZXIsCisgICAgIHdpdGhvdXQgc3dpdGNoaW5n IGJ1ZmZlcnMgdHdpY2UgKGJ1ZyAzNjE5MCkuICovCisgIGlmIChCVUZGRVJQIChvYmplY3QpICYm IFhCVUZGRVIgKG9iamVjdCkgIT0gY3VycmVudF9idWZmZXIpCisgICAgeworICAgICAgcHRyZGlm Zl90IGNvdW50ID0gU1BFQ1BETF9JTkRFWCAoKTsKKyAgICAgIHJlY29yZF91bndpbmRfY3VycmVu dF9idWZmZXIgKCk7CisgICAgICBzZXRfYnVmZmVyX2ludGVybmFsIChYQlVGRkVSIChvYmplY3Qp KTsKKworICAgICAgc2V0X3RleHRfcHJvcGVydGllc18xIChzdGFydCwgZW5kLCBwcm9wZXJ0aWVz LCBvYmplY3QsIGkpOworICAgICAgdW5iaW5kX3RvIChjb3VudCwgUW5pbCk7CisgICAgICByZXR1 cm47CisgICAgfQorCiAgIElOVEVSVkFMIHByZXZfY2hhbmdlZCA9IE5VTEw7CiAgIHB0cmRpZmZf dCBzID0gWEZJWE5VTSAoc3RhcnQpOwogICBwdHJkaWZmX3QgbGVuID0gWEZJWE5VTSAoZW5kKSAt IHM7CkBAIC0xNDk0LDYgKzE1MjksMTcgQEAgREVGVU4gKCJyZW1vdmUtdGV4dC1wcm9wZXJ0aWVz IiwgRnJlbW92ZV90ZXh0X3Byb3BlcnRpZXMsCiBVc2UgYHNldC10ZXh0LXByb3BlcnRpZXMnIGlm IHlvdSB3YW50IHRvIHJlbW92ZSBhbGwgdGV4dCBwcm9wZXJ0aWVzLiAgKi8pCiAgIChMaXNwX09i amVjdCBzdGFydCwgTGlzcF9PYmplY3QgZW5kLCBMaXNwX09iamVjdCBwcm9wZXJ0aWVzLCBMaXNw X09iamVjdCBvYmplY3QpCiB7CisgIC8qIEVuc3VyZSB3ZSBydW4gdGhlIG1vZGlmaWNhdGlvbiBo b29rcyBmb3IgdGhlIHJpZ2h0IGJ1ZmZlciwKKyAgICAgd2l0aG91dCBzd2l0Y2hpbmcgYnVmZmVy cyB0d2ljZSAoYnVnIDM2MTkwKS4gKi8KKyAgaWYgKEJVRkZFUlAgKG9iamVjdCkgJiYgWEJVRkZF UiAob2JqZWN0KSAhPSBjdXJyZW50X2J1ZmZlcikKKyAgICB7CisgICAgICBwdHJkaWZmX3QgY291 bnQgPSBTUEVDUERMX0lOREVYICgpOworICAgICAgcmVjb3JkX3Vud2luZF9jdXJyZW50X2J1ZmZl ciAoKTsKKyAgICAgIHNldF9idWZmZXJfaW50ZXJuYWwgKFhCVUZGRVIgKG9iamVjdCkpOworICAg ICAgcmV0dXJuIHVuYmluZF90byAoY291bnQsIEZyZW1vdmVfdGV4dF9wcm9wZXJ0aWVzIChzdGFy dCwgZW5kLCBwcm9wZXJ0aWVzLAorCQkJCQkJCW9iamVjdCkpOworICAgIH0KKwogICBJTlRFUlZB TCBpLCB1bmNoYW5nZWQ7CiAgIHB0cmRpZmZfdCBzLCBsZW47CiAgIGJvb2wgbW9kaWZpZWQgPSBm YWxzZTsKQEAgLTE2MDYsNiArMTY1MiwxOCBAQCBERUZVTiAoInJlbW92ZS1saXN0LW9mLXRleHQt cHJvcGVydGllcyIsIEZyZW1vdmVfbGlzdF9vZl90ZXh0X3Byb3BlcnRpZXMsCiBSZXR1cm4gdCBp ZiBhbnkgcHJvcGVydHkgd2FzIGFjdHVhbGx5IHJlbW92ZWQsIG5pbCBvdGhlcndpc2UuICAqLykK ICAgKExpc3BfT2JqZWN0IHN0YXJ0LCBMaXNwX09iamVjdCBlbmQsIExpc3BfT2JqZWN0IGxpc3Rf b2ZfcHJvcGVydGllcywgTGlzcF9PYmplY3Qgb2JqZWN0KQogeworICAvKiBFbnN1cmUgd2UgcnVu IHRoZSBtb2RpZmljYXRpb24gaG9va3MgZm9yIHRoZSByaWdodCBidWZmZXIsCisgICAgIHdpdGhv dXQgc3dpdGNoaW5nIGJ1ZmZlcnMgdHdpY2UgKGJ1ZyAzNjE5MCkuICovCisgIGlmIChCVUZGRVJQ IChvYmplY3QpICYmIFhCVUZGRVIgKG9iamVjdCkgIT0gY3VycmVudF9idWZmZXIpCisgICAgewor ICAgICAgcHRyZGlmZl90IGNvdW50ID0gU1BFQ1BETF9JTkRFWCAoKTsKKyAgICAgIHJlY29yZF91 bndpbmRfY3VycmVudF9idWZmZXIgKCk7CisgICAgICBzZXRfYnVmZmVyX2ludGVybmFsIChYQlVG RkVSIChvYmplY3QpKTsKKyAgICAgIHJldHVybiB1bmJpbmRfdG8gKGNvdW50LCBGcmVtb3ZlX2xp c3Rfb2ZfdGV4dF9wcm9wZXJ0aWVzIChzdGFydCwgZW5kLAorCQkJCQkJCQlsaXN0X29mX3Byb3Bl cnRpZXMsCisJCQkJCQkJCW9iamVjdCkpOworICAgIH0KKwogICBJTlRFUlZBTCBpLCB1bmNoYW5n ZWQ7CiAgIHB0cmRpZmZfdCBzLCBsZW47CiAgIGJvb2wgbW9kaWZpZWQgPSBmYWxzZTsKLS0gCjIu MjAuMQoK --00000000000035e745058b61c372-- From unknown Tue Aug 19 05:08:21 2025 X-Loop: help-debbugs@gnu.org Subject: bug#36190: 27.0.50; `put-text-property' etc. with buffer argument calls current buffer's `after-change-functions' Resent-From: Pip Cet Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 17 Jun 2019 11:40:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 36190 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 36190@debbugs.gnu.org Received: via spool by 36190-submit@debbugs.gnu.org id=B36190.15607715652321 (code B ref 36190); Mon, 17 Jun 2019 11:40:02 +0000 Received: (at 36190) by debbugs.gnu.org; 17 Jun 2019 11:39:25 +0000 Received: from localhost ([127.0.0.1]:42086 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hcpyv-0000bN-A2 for submit@debbugs.gnu.org; Mon, 17 Jun 2019 07:39:25 -0400 Received: from mail-oi1-f180.google.com ([209.85.167.180]:40226) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hcpyu-0000bA-4h for 36190@debbugs.gnu.org; Mon, 17 Jun 2019 07:39:24 -0400 Received: by mail-oi1-f180.google.com with SMTP id w196so6746678oie.7 for <36190@debbugs.gnu.org>; Mon, 17 Jun 2019 04:39:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=MwWvFtNcBRotd/UvMFwS3ti3cOIZcFtdi0gQK9Hwops=; b=pJANJQrGSwp8P1Hlb0jMuOEbgyBBZb/8GMtstrCZo8SSmZZYF6p/4I3teyNTK5vHSw 9GWsmPDRNZT8z29Wr2VRUUxdMGlb1E6MTtEmCwnfgrZUptV8tz8EYtxZBagrhtdGpa7O aLU6pQFiTKd6e/ixAo8QWJVwWq5/9+ICil6mk5h90fJr4W9wqsQ+FFVIiVl84o7jOzDi Os2b01tJ86tQvQcn8d2+YoilG1xykM335RjmBkrfemE7a3kF+N9Mar7XqMzm6tL1f0Qo ovDyEqZFw2uPYYhtlpNp+HmBfUHMhO/8UYF2jwQlvddx9qer0Tv0rWP5UCLwN8cRu11z 9x3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=MwWvFtNcBRotd/UvMFwS3ti3cOIZcFtdi0gQK9Hwops=; b=TUB2L/1uDJbCy2BSL8zIXvLe50bEkMTogB9j+jgG3K5v8uxlpiRgj6879bHSFMmdov vUMWb33qJO340ryaHIvtRMdO539Jw5diFx5FM5m5LO9VkJxQWeShmd8PXkaDuGBL3hlG bD/37AF/nlULj7u/OjTRwqkqjQVfrzjSDi7dVcNR00Ouh4+LGBXPF0T2ueVEXfQvFpB9 CSHJEy7+zdsXbquPSuLgsTD/AeEg4yKfq90zq+oe8Y1HAZ2q7kLKyhS5URHw4yuhAIUR u/caC48xOqLRIXnRQtplEO7w6MU2tDPjNvZVVn0zyswZJc314bKpXa9eaPsAyaoIJHit mpOA== X-Gm-Message-State: APjAAAX5nmGFQ0ZlGbJgtyQHvvqamaE88kbVDXZPnBeh+AwlOizSXrh/ MAet6drJ/ev/RZhEIlXEXi4jfMKxYBOwH+UhIh8= X-Google-Smtp-Source: APXvYqzdSOOTHAk+fmJDiZKug/qcARHorspcCFH6UHd9Nl7Lvo0lz3fitNszQ7J9vpJ+fU/wwdaKQbbc2UKT0fsduTk= X-Received: by 2002:aca:aa93:: with SMTP id t141mr10428712oie.128.1560771557519; Mon, 17 Jun 2019 04:39:17 -0700 (PDT) MIME-Version: 1.0 References: <83h88tzbly.fsf@gnu.org> <835zp9z4oj.fsf@gnu.org> <83y325xnk0.fsf@gnu.org> <83lfy4y5wm.fsf@gnu.org> In-Reply-To: <83lfy4y5wm.fsf@gnu.org> From: Pip Cet Date: Mon, 17 Jun 2019 11:38:38 +0000 Message-ID: Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On Fri, Jun 14, 2019 at 7:36 AM Eli Zaretskii wrote: > > From: Pip Cet > > Date: Thu, 13 Jun 2019 20:57:08 +0000 > > Cc: 36190@debbugs.gnu.org > > > > > > + record_unwind_current_buffer (); > > > > + set_buffer_internal (buffer); > > > > > > Ugh! switching buffers just to run a hook! This will kill > > > performance in some cases. > > > > I really don't think it will have a noticeable impact on performance, > > but if you can think of a scenario, we could try to fix it. > > Switching buffers means rebinding values of all the buffer-local > variables, of which there could be quite a few. Or am I missing > something? I just don't see how the requirement to switch buffers for modifying text properties is so different, performance-wise, from the case of modifying buffer text; in the latter case, we simply accept we can do so only for the current buffer. In any case, the current code already switches buffers, it's just a question of doing so twice rather than once. > One scenario where this could be painful could be reading a stream of > data that results in many changes in text properties, such as > fontifying a buffer of program source by using syntactical analysis > data received from a language server. If you read and apply the input > one object at a time, this will result in many buffer switches. Yes, I agree. However, half of those buffer switches are probably because the language server output would be directed into a buffer; you could avoid those using a filter function, I suppose. > > > I wish we had a better alternative. > > > > (Such as not calling regular modification hooks for text property changes?) > > I thought about that, but I don't think this would be acceptable. It's certainly not something to be done on the spur of the moment, but it is something I feel Emacs did wrongly, perhaps because XEmacs did things differently, if I understand correctly. I'm not sure I'm aware of even a single place where text properties are used for something that's integrally part of buffer text. > > > Maybe we should warn > > > in the documentation that calling these functions with BUFFER being > > > other than the current buffer might hurt performance when > > > after-change-functions is non-nil. > > > > It'll hurt performance even when after-change-functions is nil, so > > such a warning would be overspecific. > > We could avoid switching buffers if the hook is nil, at least in > principle. If not, it's even worse than I feared. We could. I've looked at the code and I think the right thing to do, when someone has time to test things properly, is to rewrite all buffer-modifying functions to look like this: Lisp_Object hooks = run_before_change_hooks (...); modify_buffer (); run_after_change_hooks (hooks, ...); where run_before_change_hooks runs the before-change hooks but collects the modification hooks to be run after the modification in the same iteration. Right now, we're using global variables to achieve something similar, but, among other problems, that means modification hooks aren't reentrant. Modifying buffer B from buffer A's modification hooks sounds like it should be safe to me even when B has modification hooks, but it isn't. (In fact, I don't see why inhibit-modification-hooks isn't buffer-local). > > > > As a practical matter, it's hard to change the text property functions > > > > to use NULL when passed a nil argument > > > > > > How is it harder than passing current_buffer? > > > > The code path goes through > > > > if (NILP (object)) > > XSETBUFFER (object, current_buffer); > > I meant in the cases where you pass the literal current_buffer. > > But even the above is not a problem: > > struct buffer *b; > if (NILP (object)) > { > XSETBUFFER (object, current_buffer); > b = NULL; > } > else if (BUFFERP (object)) > b = XBUFFER (object); > [...] > signal_after_change (b, ...); I find the above much less readable than the current version, I must say. > > It was out of genuine interest, because passing NULL to implicitly > > specify a default argument is something that people advocate against, > > Not to specify the default, but to indicate that no action is needed > at all wrt the buffer. It is similar to the last argument to > 'strtol', for example. The `base' argument, you mean? If that's what you're saying, I agree that using 0 as a short-hand for "use implicit base" is an odd decision for C to have made, but I'm not sure I see the similarity to the current argument. From unknown Tue Aug 19 05:08:21 2025 X-Loop: help-debbugs@gnu.org Subject: bug#36190: 27.0.50; `put-text-property' etc. with buffer argument calls current buffer's `after-change-functions' Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 17 Jun 2019 16:00:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 36190 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Pip Cet Cc: 36190@debbugs.gnu.org Received: via spool by 36190-submit@debbugs.gnu.org id=B36190.156078714412358 (code B ref 36190); Mon, 17 Jun 2019 16:00:02 +0000 Received: (at 36190) by debbugs.gnu.org; 17 Jun 2019 15:59:04 +0000 Received: from localhost ([127.0.0.1]:43177 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hcu2B-0003DG-PH for submit@debbugs.gnu.org; Mon, 17 Jun 2019 11:59:04 -0400 Received: from eggs.gnu.org ([209.51.188.92]:34428) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hcu29-0003Ci-VS for 36190@debbugs.gnu.org; Mon, 17 Jun 2019 11:59:02 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:51318) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hcu24-0003cg-Er; Mon, 17 Jun 2019 11:58:56 -0400 Received: from [176.228.60.248] (port=4298 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1hcu22-0003AT-Q7; Mon, 17 Jun 2019 11:58:55 -0400 Date: Mon, 17 Jun 2019 18:59:05 +0300 Message-Id: <83lfy0td86.fsf@gnu.org> From: Eli Zaretskii In-reply-to: (message from Pip Cet on Mon, 17 Jun 2019 11:38:38 +0000) References: <83h88tzbly.fsf@gnu.org> <835zp9z4oj.fsf@gnu.org> <83y325xnk0.fsf@gnu.org> <83lfy4y5wm.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) 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: Pip Cet > Date: Mon, 17 Jun 2019 11:38:38 +0000 > Cc: 36190@debbugs.gnu.org > > > Switching buffers means rebinding values of all the buffer-local > > variables, of which there could be quite a few. Or am I missing > > something? > > I just don't see how the requirement to switch buffers for modifying > text properties is so different, performance-wise, from the case of > modifying buffer text; in the latter case, we simply accept we can do > so only for the current buffer. It isn't different. It's just that (a) modifying another buffer's text is relatively rare, and (b) this is one more such switch. > In any case, the current code already switches buffers, it's just a > question of doing so twice rather than once. Yes. IOW, we get hit by that one more time. > > > > I wish we had a better alternative. > > > > > > (Such as not calling regular modification hooks for text property changes?) > > > > I thought about that, but I don't think this would be acceptable. > > It's certainly not something to be done on the spur of the moment, but > it is something I feel Emacs did wrongly, perhaps because XEmacs did > things differently, if I understand correctly. I'm not sure I'm aware > of even a single place where text properties are used for something > that's integrally part of buffer text. I don't think this i a part of the problem: applications that don't want the side effects of text properties can use overlays instead. > when someone has time to test things properly, is to rewrite all > buffer-modifying functions to look like this: > > Lisp_Object hooks = run_before_change_hooks (...); > modify_buffer (); > run_after_change_hooks (hooks, ...); I think that'd be a welcome refactoring, if indeed this paradigm doesn't break in some subtle use case (Emacs internals are frequently like that). > > struct buffer *b; > > if (NILP (object)) > > { > > XSETBUFFER (object, current_buffer); > > b = NULL; > > } > > else if (BUFFERP (object)) > > b = XBUFFER (object); > > [...] > > signal_after_change (b, ...); > > I find the above much less readable than the current version, I must say. I guess we will have to disagree then, because this is boilerplate C ion Emacs sources. > > > It was out of genuine interest, because passing NULL to implicitly > > > specify a default argument is something that people advocate against, > > > > Not to specify the default, but to indicate that no action is needed > > at all wrt the buffer. It is similar to the last argument to > > 'strtol', for example. > > The `base' argument, you mean? Sorry, meant the penultimate argument, ENDPTR. From unknown Tue Aug 19 05:08:21 2025 X-Loop: help-debbugs@gnu.org Subject: bug#36190: 27.0.50; `put-text-property' etc. with buffer argument calls current buffer's `after-change-functions' Resent-From: Pip Cet Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 18 Jun 2019 17:15:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 36190 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 36190@debbugs.gnu.org Received: via spool by 36190-submit@debbugs.gnu.org id=B36190.15608780969714 (code B ref 36190); Tue, 18 Jun 2019 17:15:01 +0000 Received: (at 36190) by debbugs.gnu.org; 18 Jun 2019 17:14:56 +0000 Received: from localhost ([127.0.0.1]:45515 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hdHh9-0002WX-VJ for submit@debbugs.gnu.org; Tue, 18 Jun 2019 13:14:56 -0400 Received: from mail-ot1-f44.google.com ([209.85.210.44]:35720) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hdHh8-0002WE-1t for 36190@debbugs.gnu.org; Tue, 18 Jun 2019 13:14:54 -0400 Received: by mail-ot1-f44.google.com with SMTP id j19so16006228otq.2 for <36190@debbugs.gnu.org>; Tue, 18 Jun 2019 10:14:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=7/ISic70R2TQMmX+um6hcYdIhPHie5Av95NkGTHNsHk=; b=FV3AZDIuhQidGXMIDTJ8wUNR6mhFyrt6fx5Zv/f5XlnPlKuV/5mhZkUtREQ0NltIs1 d4zHS25z4UzPkIkx5jK7lpgtjQhy9IvhWKFdINRjYGun+9y9nxXFqRWr/xC38D1T/+O6 OGuzYK03NsI3OcSVnjI0gvm6/mixkjMdBc88C3XvHfCDY6P82s9LSJ4/qhrGwXND99qi mXsrWojsUT70R+2xKsnBMHpPFsh58BFGcQ/IRQLNC6giQUZwBjZQy7PyqfsyqI6ftM2P uSVveZeZjC9LgMPaL4dLJW/fwf7wguKh8wiOO+rdlrXZViXTsEMxPwyxgT8eiO/QfIfP CEOw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=7/ISic70R2TQMmX+um6hcYdIhPHie5Av95NkGTHNsHk=; b=ltPS2Ipw71M040rgqJNmskm+uTKqhCknP5qRe+Ezyc/ySoRKSGrRueu+tDBZpjkhsR VUQYKe2VmT0bOxvsJ3JjVNy+QjWPgw8JZwLTbSZrrd0EOTb5/dKeycr8C4xAoDrdQ4Zk PkYve5uKfV3A/IR3NbewlqZ3Y5qN4Wu3YKjHqiH3g02suczHI0qi4PbZnHvS4U7UOw6F qf5FUkN0/UPZ33lMVHttheX/CDh6OZSmWtsn0W9cjhjApaghGBlYoUbGY+4IgDjCeUOZ bgcBfE4PGAjgdt4eY+HZsCFH4MOk6N0bc2FvNATyVaHFngm/3ag5j0Fnk1XKToTQYSSq BxfQ== X-Gm-Message-State: APjAAAXxFECDT/n0qzW+jQ/aY7nH2c5dggbVOODk/B8zF2zjyO+9V8JK MsK6jMEEe7R0JPp7yWHh2uHs8gTUb2DEfLJ7GqI= X-Google-Smtp-Source: APXvYqyayGe6AjOtwgtSS0ErSyZGpesyYIpV+p4UQxbktUb/j3ED+Si79RhQoIg05f8rrzqmEo+CQhj/6lSl+UJN77A= X-Received: by 2002:a9d:664c:: with SMTP id q12mr5995320otm.175.1560878088403; Tue, 18 Jun 2019 10:14:48 -0700 (PDT) MIME-Version: 1.0 References: <83h88tzbly.fsf@gnu.org> <835zp9z4oj.fsf@gnu.org> <83y325xnk0.fsf@gnu.org> <83lfy4y5wm.fsf@gnu.org> <83lfy0td86.fsf@gnu.org> In-Reply-To: <83lfy0td86.fsf@gnu.org> From: Pip Cet Date: Tue, 18 Jun 2019 17:14:09 +0000 Message-ID: Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On Mon, Jun 17, 2019 at 3:58 PM Eli Zaretskii wrote: > > From: Pip Cet > > Date: Mon, 17 Jun 2019 11:38:38 +0000 > > Cc: 36190@debbugs.gnu.org > > > > > I wish we had a better alternative. > > > > > > > > (Such as not calling regular modification hooks for text property changes?) > > > > > > I thought about that, but I don't think this would be acceptable. > > > > It's certainly not something to be done on the spur of the moment, but > > it is something I feel Emacs did wrongly, perhaps because XEmacs did > > things differently, if I understand correctly. I'm not sure I'm aware > > of even a single place where text properties are used for something > > that's integrally part of buffer text. > > I don't think this i a part of the problem: applications that don't > want the side effects of text properties can use overlays instead. I've seen performance problems with overlays, and the subtle API differences made switching, for me, difficult. You're right, though, that this is certainly not part of this bug report, which I think the latest patch I sent would fix for now (although I'd be happy to see it fixed any other way, too). > > when someone has time to test things properly, is to rewrite all > > buffer-modifying functions to look like this: > > > > Lisp_Object hooks = run_before_change_hooks (...); > > modify_buffer (); > > run_after_change_hooks (hooks, ...); > > I think that'd be a welcome refactoring, if indeed this paradigm > doesn't break in some subtle use case (Emacs internals are frequently > like that). It would almost certainly be an observable change in behavior, but I'm testing something and it doesn't seem to fall apart entirely, at least. > > > > It was out of genuine interest, because passing NULL to implicitly > > > > specify a default argument is something that people advocate against, > > > > > > Not to specify the default, but to indicate that no action is needed > > > at all wrt the buffer. It is similar to the last argument to > > > 'strtol', for example. > > > > The `base' argument, you mean? > > Sorry, meant the penultimate argument, ENDPTR. Thanks again for explaining, I'll think about it more. From unknown Tue Aug 19 05:08:21 2025 X-Loop: help-debbugs@gnu.org Subject: bug#36190: 27.0.50; `put-text-property' etc. with buffer argument calls current buffer's `after-change-functions' Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 06 Jul 2019 08:09:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 36190 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Pip Cet Cc: 36190@debbugs.gnu.org Received: via spool by 36190-submit@debbugs.gnu.org id=B36190.156240053511771 (code B ref 36190); Sat, 06 Jul 2019 08:09:02 +0000 Received: (at 36190) by debbugs.gnu.org; 6 Jul 2019 08:08:55 +0000 Received: from localhost ([127.0.0.1]:54162 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hjfkd-00033n-Aq for submit@debbugs.gnu.org; Sat, 06 Jul 2019 04:08:55 -0400 Received: from eggs.gnu.org ([209.51.188.92]:53206) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hjfkb-00033a-6H for 36190@debbugs.gnu.org; Sat, 06 Jul 2019 04:08:53 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:51595) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hjfkV-0007ld-8A; Sat, 06 Jul 2019 04:08:48 -0400 Received: from [176.228.60.248] (port=1675 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1hjfkU-0007aq-KJ; Sat, 06 Jul 2019 04:08:47 -0400 Date: Sat, 06 Jul 2019 11:08:41 +0300 Message-Id: <8336jja8l2.fsf@gnu.org> From: Eli Zaretskii In-reply-to: (message from Pip Cet on Sat, 15 Jun 2019 19:27:30 +0000) References: <83h88tzbly.fsf@gnu.org> <835zp9z4oj.fsf@gnu.org> <83y325xnk0.fsf@gnu.org> <83k1doy5om.fsf@gnu.org> <83d0jgxt83.fsf@gnu.org> <83wohmvpng.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) 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: Pip Cet > Date: Sat, 15 Jun 2019 19:27:30 +0000 > Cc: 36190@debbugs.gnu.org > > > Looks better to me, but I'd suggest a comment explaining why we do > > such an unusual thing. > > Sounds good to me. The attached patch contains the comments and a hint > in the documentation. (Maybe the comments should be a FIXME, because > there's really no need to switch buffers at all when there are no > applicable hooks?) I'm okay with adding such a FIXME. > Obviously, feel free to reword as you consider appropriate. LGTM, with a couple of minor comments below. Feel free to push after fixing those. > + /* Ensure we run the modification hooks for the right buffer, > + without switching buffers twice (bug 36190). */ ^^ Here and elsewhere please keep 2 spaces between the period and "*/" > + if (BUFFERP (object) && XBUFFER (object) != current_buffer) > + { > + ptrdiff_t count = SPECPDL_INDEX (); > + record_unwind_current_buffer (); > + set_buffer_internal (XBUFFER (object)); > + return unbind_to (count, Fremove_list_of_text_properties (start, end, > + list_of_properties, > + object)); > + } The indentation here is too deep; suggest reformatting, e.g., by inserting a newline before Fremove_list_of_text_properties, and then reindenting the rest. From unknown Tue Aug 19 05:08:21 2025 X-Loop: help-debbugs@gnu.org Subject: bug#36190: 27.0.50; `put-text-property' etc. with buffer argument calls current buffer's `after-change-functions' Resent-From: Pip Cet Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 06 Jul 2019 15:29:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 36190 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 36190@debbugs.gnu.org Received: via spool by 36190-submit@debbugs.gnu.org id=B36190.156242691031456 (code B ref 36190); Sat, 06 Jul 2019 15:29:02 +0000 Received: (at 36190) by debbugs.gnu.org; 6 Jul 2019 15:28:30 +0000 Received: from localhost ([127.0.0.1]:55766 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hjmc0-0008BE-84 for submit@debbugs.gnu.org; Sat, 06 Jul 2019 11:28:28 -0400 Received: from mail-ot1-f41.google.com ([209.85.210.41]:42758) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hjmby-0008B1-K2 for 36190@debbugs.gnu.org; Sat, 06 Jul 2019 11:28:27 -0400 Received: by mail-ot1-f41.google.com with SMTP id l15so11827905otn.9 for <36190@debbugs.gnu.org>; Sat, 06 Jul 2019 08:28:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=SjSoi8wvbPrw1zCKoy8I/ubVpET+mtL/W4Nt4B42IBc=; b=od3aNHe/arUho6ZUlMGYzMNqDnVlta6wwOL9dJTzrzGTjuaQ/rLVDI0LJArksC+D72 I4kIYn2DuPnqT97hffnljI6OFGkoNvncpVHNPAWzJKYcxMYheeoTX9H/O3nbakbFeeAJ nMtIdNwypYF0J4BUZii7J+qU7CVUPofnFGl8v1YDw+O11QqJZ21Rt+XGdleDsEPnILEP 9fj31h62bcg/YcXvb79jjWJfyZ0WxEd9KSlkYAgb8Qn0cXMxkU0INsXrTTW9YdyIubxy XPPI64fGPeXkHbqk7EDPJlJq70KTyIPE1uU5LVI1uIBipD9PFSgEg98nzZom6FajgWrZ BzgQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=SjSoi8wvbPrw1zCKoy8I/ubVpET+mtL/W4Nt4B42IBc=; b=o/7Zl71s6pXf4/qUpg9GWwxBk+b/bAg3BhwZPfun+6b9Fs2o28wmdYCY+rE7nxbGXp tc3QiON3EDNdCeAyoPY4oL/bucHvGZWjwsqwptUIVdLzG7+B3Q7rkEyxNzUjqJ1XU4TW 7g5CvabOClERZXO7xBQvQdeNejKL1tpba6XZubSXWgkG9Kk7OPC0CAq0wY8ihlhNhGCR tQxy5eXWZbxr0KDXbSYzn5gDRhvgxoD03UfZjNh6/mlsSwCvaFFHiHF/kYZAeC3WtDmF cZZfkhiJ/rUjIwlGSDVeVC0N6rGfUyQfk3E8bSS+x8+colKVtpH255EkEBwRYczLeIo5 QfLg== X-Gm-Message-State: APjAAAXkUxK5h0dZYoqDXELxfbbfppgk1EAaU1P1hphPkCL+AgPL1de3 wO07vXkusSHsj4JkJuUJzHXLYGTYPjCmOsyA/VU= X-Google-Smtp-Source: APXvYqzrwYcHwoFwHf2VGUwCNWwh1VQboPc5sGIYp6NCf2JY1djEnbATJzdtxcIxby4vsMGD4xZS9HoCJvCaBAUFDM4= X-Received: by 2002:a9d:744f:: with SMTP id p15mr7454613otk.287.1562426900878; Sat, 06 Jul 2019 08:28:20 -0700 (PDT) MIME-Version: 1.0 References: <83h88tzbly.fsf@gnu.org> <835zp9z4oj.fsf@gnu.org> <83y325xnk0.fsf@gnu.org> <83k1doy5om.fsf@gnu.org> <83d0jgxt83.fsf@gnu.org> <83wohmvpng.fsf@gnu.org> <8336jja8l2.fsf@gnu.org> In-Reply-To: <8336jja8l2.fsf@gnu.org> From: Pip Cet Date: Sat, 6 Jul 2019 15:27:41 +0000 Message-ID: Content-Type: multipart/mixed; boundary="0000000000006a30b3058d04dced" X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --0000000000006a30b3058d04dced Content-Type: text/plain; charset="UTF-8" On Sat, Jul 6, 2019 at 8:08 AM Eli Zaretskii wrote: > > Sounds good to me. The attached patch contains the comments and a hint > > in the documentation. (Maybe the comments should be a FIXME, because > > there's really no need to switch buffers at all when there are no > > applicable hooks?) > > I'm okay with adding such a FIXME. Added. > > > Obviously, feel free to reword as you consider appropriate. > > LGTM, with a couple of minor comments below. Feel free to push after > fixing those. I don't have push access, so I hope it's okay just to send the new patch. Thanks for the review! --0000000000006a30b3058d04dced Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Update-current-buffer-when-changing-text-properties.patch" Content-Disposition: attachment; filename="0001-Update-current-buffer-when-changing-text-properties.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jxrolrct0 RnJvbSA3ZTNiMTdjZTU3MDRiNTMyN2I5Nzc2NzMzODI2ODhmOGU3ZjViNGM5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQaXAgQ2V0IDxwaXBjZXRAZ21haWwuY29tPgpEYXRlOiBTYXQs IDYgSnVsIDIwMTkgMTU6MjE6MDQgKzAwMDAKU3ViamVjdDogW1BBVENIXSBVcGRhdGUgY3VycmVu dCBidWZmZXIgd2hlbiBjaGFuZ2luZyB0ZXh0IHByb3BlcnRpZXMuCgoqIHNyYy90ZXh0cHJvcC5j IChhZGRfdGV4dF9wcm9wZXJ0aWVzXzEsIHNldF90ZXh0X3Byb3BlcnRpZXMpCihzZXRfdGV4dF9w cm9wZXJ0aWVzXzEsIEZyZW1vdmVfdGV4dF9wcm9wZXJ0aWVzKTogU3dpdGNoIGJ1ZmZlciBpZgpu ZWNlc3NhcnkuCgoqIGRvYy9saXNwcmVmL3RleHQudGV4aSAoRXhhbWluaW5nIFByb3BlcnRpZXMp OiBEb2N1bWVudCBwZXJmb3JtYW5jZQpGSVhNRS4KLS0tCiBkb2MvbGlzcHJlZi90ZXh0LnRleGkg fCAgMiArLQogc3JjL3RleHRwcm9wLmMgICAgICAgIHwgNjYgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCA2NyBpbnNlcnRpb25zKCsp LCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL2xpc3ByZWYvdGV4dC50ZXhpIGIvZG9j L2xpc3ByZWYvdGV4dC50ZXhpCmluZGV4IGM0ZmM1MjQ3YTEuLmNhMGRkNjY0MmQgMTAwNjQ0Ci0t LSBhL2RvYy9saXNwcmVmL3RleHQudGV4aQorKysgYi9kb2MvbGlzcHJlZi90ZXh0LnRleGkKQEAg LTI4MDAsNyArMjgwMCw3IEBAIEV4YW1pbmluZyBQcm9wZXJ0aWVzCiAKICAgVGhlc2UgZnVuY3Rp b25zIGhhbmRsZSBib3RoIHN0cmluZ3MgYW5kIGJ1ZmZlcnMuICBLZWVwIGluIG1pbmQgdGhhdAog cG9zaXRpb25zIGluIGEgc3RyaW5nIHN0YXJ0IGZyb20gMCwgd2hlcmVhcyBwb3NpdGlvbnMgaW4g YSBidWZmZXIgc3RhcnQKLWZyb20gMS4KK2Zyb20gMS4gIFBhc3NpbmcgYSBidWZmZXIgb3RoZXIg dGhhbiB0aGUgY3VycmVudCBidWZmZXIgbWF5IGJlIHNsb3cuCiAKIEBkZWZ1biBnZXQtdGV4dC1w cm9wZXJ0eSBwb3MgcHJvcCAmb3B0aW9uYWwgb2JqZWN0CiBUaGlzIGZ1bmN0aW9uIHJldHVybnMg dGhlIHZhbHVlIG9mIHRoZSBAdmFye3Byb3B9IHByb3BlcnR5IG9mIHRoZQpkaWZmIC0tZ2l0IGEv c3JjL3RleHRwcm9wLmMgYi9zcmMvdGV4dHByb3AuYwppbmRleCA5MDIzZjRlZmEwLi40NGMzMzMy NTZhIDEwMDY0NAotLS0gYS9zcmMvdGV4dHByb3AuYworKysgYi9zcmMvdGV4dHByb3AuYwpAQCAt MTE0Miw2ICsxMTQyLDE4IEBAIERFRlVOICgicHJldmlvdXMtc2luZ2xlLXByb3BlcnR5LWNoYW5n ZSIsIEZwcmV2aW91c19zaW5nbGVfcHJvcGVydHlfY2hhbmdlLAogYWRkX3RleHRfcHJvcGVydGll c18xIChMaXNwX09iamVjdCBzdGFydCwgTGlzcF9PYmplY3QgZW5kLAogCQkgICAgICAgTGlzcF9P YmplY3QgcHJvcGVydGllcywgTGlzcF9PYmplY3Qgb2JqZWN0LAogCQkgICAgICAgZW51bSBwcm9w ZXJ0eV9zZXRfdHlwZSBzZXRfdHlwZSkgeworICAvKiBFbnN1cmUgd2UgcnVuIHRoZSBtb2RpZmlj YXRpb24gaG9va3MgZm9yIHRoZSByaWdodCBidWZmZXIsCisgICAgIHdpdGhvdXQgc3dpdGNoaW5n IGJ1ZmZlcnMgdHdpY2UgKGJ1ZyAzNjE5MCkuICBGSVhNRTogU3dpdGNoaW5nCisgICAgIGJ1ZmZl cnMgaXMgc2xvdyBhbmQgb2Z0ZW4gdW5uZWNlc3NhcnkuICAqLworICBpZiAoQlVGRkVSUCAob2Jq ZWN0KSAmJiBYQlVGRkVSIChvYmplY3QpICE9IGN1cnJlbnRfYnVmZmVyKQorICAgIHsKKyAgICAg IHB0cmRpZmZfdCBjb3VudCA9IFNQRUNQRExfSU5ERVggKCk7CisgICAgICByZWNvcmRfdW53aW5k X2N1cnJlbnRfYnVmZmVyICgpOworICAgICAgc2V0X2J1ZmZlcl9pbnRlcm5hbCAoWEJVRkZFUiAo b2JqZWN0KSk7CisgICAgICByZXR1cm4gdW5iaW5kX3RvIChjb3VudCwgYWRkX3RleHRfcHJvcGVy dGllc18xIChzdGFydCwgZW5kLCBwcm9wZXJ0aWVzLAorCQkJCQkJICAgICAgb2JqZWN0LCBzZXRf dHlwZSkpOworICAgIH0KKwogICBJTlRFUlZBTCBpLCB1bmNoYW5nZWQ7CiAgIHB0cmRpZmZfdCBz LCBsZW47CiAgIGJvb2wgbW9kaWZpZWQgPSBmYWxzZTsKQEAgLTEzNDMsNiArMTM1NSwxOSBAQCBm YWNlKHMpIGFyZSByZXRhaW5lZC4gIFRoaXMgaXMgZG9uZSBieSBzZXR0aW5nIHRoZSBgZmFjZScg cHJvcGVydHkgdG8KIHNldF90ZXh0X3Byb3BlcnRpZXMgKExpc3BfT2JqZWN0IHN0YXJ0LCBMaXNw X09iamVjdCBlbmQsIExpc3BfT2JqZWN0IHByb3BlcnRpZXMsCiAJCSAgICAgTGlzcF9PYmplY3Qg b2JqZWN0LCBMaXNwX09iamVjdCBjb2hlcmVudF9jaGFuZ2VfcCkKIHsKKyAgLyogRW5zdXJlIHdl IHJ1biB0aGUgbW9kaWZpY2F0aW9uIGhvb2tzIGZvciB0aGUgcmlnaHQgYnVmZmVyLAorICAgICB3 aXRob3V0IHN3aXRjaGluZyBidWZmZXJzIHR3aWNlIChidWcgMzYxOTApLiAgRklYTUU6IFN3aXRj aGluZworICAgICBidWZmZXJzIGlzIHNsb3cgYW5kIG9mdGVuIHVubmVjZXNzYXJ5LiAgKi8KKyAg aWYgKEJVRkZFUlAgKG9iamVjdCkgJiYgWEJVRkZFUiAob2JqZWN0KSAhPSBjdXJyZW50X2J1ZmZl cikKKyAgICB7CisgICAgICBwdHJkaWZmX3QgY291bnQgPSBTUEVDUERMX0lOREVYICgpOworICAg ICAgcmVjb3JkX3Vud2luZF9jdXJyZW50X2J1ZmZlciAoKTsKKyAgICAgIHNldF9idWZmZXJfaW50 ZXJuYWwgKFhCVUZGRVIgKG9iamVjdCkpOworICAgICAgcmV0dXJuIHVuYmluZF90byAoY291bnQs CisJCQlzZXRfdGV4dF9wcm9wZXJ0aWVzIChzdGFydCwgZW5kLCBwcm9wZXJ0aWVzLAorCQkJCQkg ICAgIG9iamVjdCwgY29oZXJlbnRfY2hhbmdlX3ApKTsKKyAgICB9CisKICAgSU5URVJWQUwgaTsK ICAgYm9vbCBmaXJzdF90aW1lID0gdHJ1ZTsKIApAQCAtMTQxMyw2ICsxNDM4LDIwIEBAIHNldF90 ZXh0X3Byb3BlcnRpZXMgKExpc3BfT2JqZWN0IHN0YXJ0LCBMaXNwX09iamVjdCBlbmQsIExpc3Bf T2JqZWN0IHByb3BlcnRpZXMsCiBzZXRfdGV4dF9wcm9wZXJ0aWVzXzEgKExpc3BfT2JqZWN0IHN0 YXJ0LCBMaXNwX09iamVjdCBlbmQsCiAJCSAgICAgICBMaXNwX09iamVjdCBwcm9wZXJ0aWVzLCBM aXNwX09iamVjdCBvYmplY3QsIElOVEVSVkFMIGkpCiB7CisgIC8qIEVuc3VyZSB3ZSBydW4gdGhl IG1vZGlmaWNhdGlvbiBob29rcyBmb3IgdGhlIHJpZ2h0IGJ1ZmZlciwKKyAgICAgd2l0aG91dCBz d2l0Y2hpbmcgYnVmZmVycyB0d2ljZSAoYnVnIDM2MTkwKS4gIEZJWE1FOiBTd2l0Y2hpbmcKKyAg ICAgYnVmZmVycyBpcyBzbG93IGFuZCBvZnRlbiB1bm5lY2Vzc2FyeS4gICovCisgIGlmIChCVUZG RVJQIChvYmplY3QpICYmIFhCVUZGRVIgKG9iamVjdCkgIT0gY3VycmVudF9idWZmZXIpCisgICAg eworICAgICAgcHRyZGlmZl90IGNvdW50ID0gU1BFQ1BETF9JTkRFWCAoKTsKKyAgICAgIHJlY29y ZF91bndpbmRfY3VycmVudF9idWZmZXIgKCk7CisgICAgICBzZXRfYnVmZmVyX2ludGVybmFsIChY QlVGRkVSIChvYmplY3QpKTsKKworICAgICAgc2V0X3RleHRfcHJvcGVydGllc18xIChzdGFydCwg ZW5kLCBwcm9wZXJ0aWVzLCBvYmplY3QsIGkpOworICAgICAgdW5iaW5kX3RvIChjb3VudCwgUW5p bCk7CisgICAgICByZXR1cm47CisgICAgfQorCiAgIElOVEVSVkFMIHByZXZfY2hhbmdlZCA9IE5V TEw7CiAgIHB0cmRpZmZfdCBzID0gWEZJWE5VTSAoc3RhcnQpOwogICBwdHJkaWZmX3QgbGVuID0g WEZJWE5VTSAoZW5kKSAtIHM7CkBAIC0xNDk1LDYgKzE1MzQsMTkgQEAgREVGVU4gKCJyZW1vdmUt dGV4dC1wcm9wZXJ0aWVzIiwgRnJlbW92ZV90ZXh0X3Byb3BlcnRpZXMsCiBVc2UgYHNldC10ZXh0 LXByb3BlcnRpZXMnIGlmIHlvdSB3YW50IHRvIHJlbW92ZSBhbGwgdGV4dCBwcm9wZXJ0aWVzLiAg Ki8pCiAgIChMaXNwX09iamVjdCBzdGFydCwgTGlzcF9PYmplY3QgZW5kLCBMaXNwX09iamVjdCBw cm9wZXJ0aWVzLCBMaXNwX09iamVjdCBvYmplY3QpCiB7CisgIC8qIEVuc3VyZSB3ZSBydW4gdGhl IG1vZGlmaWNhdGlvbiBob29rcyBmb3IgdGhlIHJpZ2h0IGJ1ZmZlciwKKyAgICAgd2l0aG91dCBz d2l0Y2hpbmcgYnVmZmVycyB0d2ljZSAoYnVnIDM2MTkwKS4gIEZJWE1FOiBTd2l0Y2hpbmcKKyAg ICAgYnVmZmVycyBpcyBzbG93IGFuZCBvZnRlbiB1bm5lY2Vzc2FyeS4gICovCisgIGlmIChCVUZG RVJQIChvYmplY3QpICYmIFhCVUZGRVIgKG9iamVjdCkgIT0gY3VycmVudF9idWZmZXIpCisgICAg eworICAgICAgcHRyZGlmZl90IGNvdW50ID0gU1BFQ1BETF9JTkRFWCAoKTsKKyAgICAgIHJlY29y ZF91bndpbmRfY3VycmVudF9idWZmZXIgKCk7CisgICAgICBzZXRfYnVmZmVyX2ludGVybmFsIChY QlVGRkVSIChvYmplY3QpKTsKKyAgICAgIHJldHVybiB1bmJpbmRfdG8gKGNvdW50LAorCQkJRnJl bW92ZV90ZXh0X3Byb3BlcnRpZXMgKHN0YXJ0LCBlbmQsIHByb3BlcnRpZXMsCisJCQkJCQkgb2Jq ZWN0KSk7CisgICAgfQorCiAgIElOVEVSVkFMIGksIHVuY2hhbmdlZDsKICAgcHRyZGlmZl90IHMs IGxlbjsKICAgYm9vbCBtb2RpZmllZCA9IGZhbHNlOwpAQCAtMTYwNyw2ICsxNjU5LDIwIEBAIERF RlVOICgicmVtb3ZlLWxpc3Qtb2YtdGV4dC1wcm9wZXJ0aWVzIiwgRnJlbW92ZV9saXN0X29mX3Rl eHRfcHJvcGVydGllcywKIFJldHVybiB0IGlmIGFueSBwcm9wZXJ0eSB3YXMgYWN0dWFsbHkgcmVt b3ZlZCwgbmlsIG90aGVyd2lzZS4gICovKQogICAoTGlzcF9PYmplY3Qgc3RhcnQsIExpc3BfT2Jq ZWN0IGVuZCwgTGlzcF9PYmplY3QgbGlzdF9vZl9wcm9wZXJ0aWVzLCBMaXNwX09iamVjdCBvYmpl Y3QpCiB7CisgIC8qIEVuc3VyZSB3ZSBydW4gdGhlIG1vZGlmaWNhdGlvbiBob29rcyBmb3IgdGhl IHJpZ2h0IGJ1ZmZlciwKKyAgICAgd2l0aG91dCBzd2l0Y2hpbmcgYnVmZmVycyB0d2ljZSAoYnVn IDM2MTkwKS4gIEZJWE1FOiBTd2l0Y2hpbmcKKyAgICAgYnVmZmVycyBpcyBzbG93IGFuZCBvZnRl biB1bm5lY2Vzc2FyeS4gICovCisgIGlmIChCVUZGRVJQIChvYmplY3QpICYmIFhCVUZGRVIgKG9i amVjdCkgIT0gY3VycmVudF9idWZmZXIpCisgICAgeworICAgICAgcHRyZGlmZl90IGNvdW50ID0g U1BFQ1BETF9JTkRFWCAoKTsKKyAgICAgIHJlY29yZF91bndpbmRfY3VycmVudF9idWZmZXIgKCk7 CisgICAgICBzZXRfYnVmZmVyX2ludGVybmFsIChYQlVGRkVSIChvYmplY3QpKTsKKyAgICAgIHJl dHVybiB1bmJpbmRfdG8gKGNvdW50LAorCQkJRnJlbW92ZV9saXN0X29mX3RleHRfcHJvcGVydGll cyAoc3RhcnQsIGVuZCwKKwkJCQkJCQkgbGlzdF9vZl9wcm9wZXJ0aWVzLAorCQkJCQkJCSBvYmpl Y3QpKTsKKyAgICB9CisKICAgSU5URVJWQUwgaSwgdW5jaGFuZ2VkOwogICBwdHJkaWZmX3Qgcywg bGVuOwogICBib29sIG1vZGlmaWVkID0gZmFsc2U7Ci0tIAoyLjIwLjEKCg== --0000000000006a30b3058d04dced-- From unknown Tue Aug 19 05:08:21 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Pip Cet Subject: bug#36190: closed (Re: bug#36190: 27.0.50; `put-text-property' etc. with buffer argument calls current buffer's `after-change-functions') Message-ID: References: <835zof875j.fsf@gnu.org> X-Gnu-PR-Message: they-closed 36190 X-Gnu-PR-Package: emacs Reply-To: 36190@debbugs.gnu.org Date: Sat, 06 Jul 2019 16:23:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1562430182-4728-1" This is a multi-part message in MIME format... ------------=_1562430182-4728-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #36190: 27.0.50; `put-text-property' etc. with buffer argument calls curren= t buffer's `after-change-functions' which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 36190@debbugs.gnu.org. --=20 36190: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D36190 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1562430182-4728-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 36190-done) by debbugs.gnu.org; 6 Jul 2019 16:22:46 +0000 Received: from localhost ([127.0.0.1]:55809 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hjnSX-0001DR-JO for submit@debbugs.gnu.org; Sat, 06 Jul 2019 12:22:46 -0400 Received: from eggs.gnu.org ([209.51.188.92]:53973) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hjnSW-0001DC-0y for 36190-done@debbugs.gnu.org; Sat, 06 Jul 2019 12:22:44 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:56448) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hjnSP-0000Fy-VF; Sat, 06 Jul 2019 12:22:38 -0400 Received: from [176.228.60.248] (port=2027 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1hjnSO-0000yz-MB; Sat, 06 Jul 2019 12:22:37 -0400 Date: Sat, 06 Jul 2019 19:22:32 +0300 Message-Id: <835zof875j.fsf@gnu.org> From: Eli Zaretskii To: Pip Cet In-reply-to: (message from Pip Cet on Sat, 6 Jul 2019 15:27:41 +0000) Subject: Re: bug#36190: 27.0.50; `put-text-property' etc. with buffer argument calls current buffer's `after-change-functions' References: <83h88tzbly.fsf@gnu.org> <835zp9z4oj.fsf@gnu.org> <83y325xnk0.fsf@gnu.org> <83k1doy5om.fsf@gnu.org> <83d0jgxt83.fsf@gnu.org> <83wohmvpng.fsf@gnu.org> <8336jja8l2.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 36190-done Cc: 36190-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Pip Cet > Date: Sat, 6 Jul 2019 15:27:41 +0000 > Cc: 36190@debbugs.gnu.org > > > LGTM, with a couple of minor comments below. Feel free to push after > > fixing those. > > I don't have push access, so I hope it's okay just to send the new patch. Thanks, pushed. Please in the future mention the bug number in the log message, and be sure NOT to end with a period the header line of the log message, per CONTRIBUTE. ------------=_1562430182-4728-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 13 Jun 2019 13:49:25 +0000 Received: from localhost ([127.0.0.1]:34760 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hbQ6X-0005zc-59 for submit@debbugs.gnu.org; Thu, 13 Jun 2019 09:49:25 -0400 Received: from lists.gnu.org ([209.51.188.17]:51043) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hbQ6U-0005zU-Fb for submit@debbugs.gnu.org; Thu, 13 Jun 2019 09:49:23 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56846) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hbQ6R-0001JQ-TL for bug-gnu-emacs@gnu.org; Thu, 13 Jun 2019 09:49:21 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hbQ6P-0002OF-9I for bug-gnu-emacs@gnu.org; Thu, 13 Jun 2019 09:49:18 -0400 Received: from mail-oi1-x236.google.com ([2607:f8b0:4864:20::236]:34825) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hbQ6O-0002Nn-WC for bug-gnu-emacs@gnu.org; Thu, 13 Jun 2019 09:49:17 -0400 Received: by mail-oi1-x236.google.com with SMTP id y6so14477438oix.2 for ; Thu, 13 Jun 2019 06:49:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=MNdfyhHNVSR67QQtHD2sAe8HpxxKsH1XXfC8v+B2YFc=; b=bEon2ySYAcp+PhJI/Aul0WgbAYeEkl9JHo+lhzjhtuqbaM+xaZ3Dxc4Lgcn4FPebaO tE9xmsK7V3nnOtHpUZpPNweUtw5yRuG3b8xwOwtc0IkfnJPQIz0QXJSxlSAj2i6BgNRi AY9CkD37TFuRx3fc6xCbIVCRCh6yOWMRJPC78lGRADBZBAhKQrrVW3Jw4A9ol4RNrIq6 ZtFSPFVCTA+8rVgg+jMVZplW4drPLIT52yIWCr84F/4VoT2SE+FFBuqtJlb38iX3pUu0 RrDd/wbehTvUBbVVgFdrQ3RzbbL0y/j+Wx+17TQom1LNi925OzWVjdO116Hgel2HeV+z 0ukQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=MNdfyhHNVSR67QQtHD2sAe8HpxxKsH1XXfC8v+B2YFc=; b=oqRU0Vmh0VeqzAiOQThdcivDfU3OR7VoN9AQqelE3OfOOtrK4gcq3wXZH0szxSnMLc fivjofySDQ3+mq/Gjk+pxfcrn/+AJTQFP0O+V6snuNNUCQIKKdWVpFomLnxeT3Qhh909 EJ57GUhoMma7RxD5i2vfjQlt/I9FDZuWAOTNdMnQvG0ZTGo8bmLPmWtVlImlqyco6SeD PvAta3Yj81izqffmj4OkGtnlqg22Bw/6flOeuHRdIEX8F0MLDe54kXJP1Oklo2hkxrt4 a8br7vXNVF2vPtHQAZxPzQvME8v3+c4pPnDEUXEIy62eNuqD4OCiQXn+0f/7UEV95S7f 5Hfw== X-Gm-Message-State: APjAAAUcBybs3ph/9DCAHo34jqNoUeuehoAnTiyHy3hBPepA2PU96NOk kFOYFGWAjvhEkl+0i/dSNbb33YEiIYLInfArwnJfQz6YaKc= X-Google-Smtp-Source: APXvYqxlWgyvde/gk7eRI5CsrVPUMbfTX7cOxUqmJDqw0BfN2hVhjzHeuDNHQTdXnnoLX6cdvtcJcTIgS/FkeiKb0e0= X-Received: by 2002:aca:4790:: with SMTP id u138mr3146662oia.44.1560433756168; Thu, 13 Jun 2019 06:49:16 -0700 (PDT) MIME-Version: 1.0 From: Pip Cet Date: Thu, 13 Jun 2019 13:48:40 +0000 Message-ID: Subject: 27.0.50; `put-text-property' etc. with buffer argument calls current buffer's `after-change-functions' To: bug-gnu-emacs@gnu.org Content-Type: text/plain; charset="UTF-8" X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::236 X-Spam-Score: -1.3 (-) 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: -2.3 (--) In emacs -Q, evaluating: (let ((buffer1 (generate-new-buffer "A")) (buffer2 (generate-new-buffer "B"))) (with-current-buffer buffer2 (insert "BBB")) (with-current-buffer buffer1 (add-hook 'after-change-functions (lambda (beg end len) (message "%S %S %S" beg end len)) nil t) (put-text-property 1 4 'read-only t buffer2))) results in a "1 4 3" message. I would have expected no message, as buffer2 was modified and buffer1, whose after-change-functions I'd set, wasn't. I've looked at the code, and it appears no particular provisions are being made to make sure we switch to the modified buffer before calling signal_after_change(). As far as I can tell, this makes `put-text-property' with a buffer argument pretty useless. Am I missing something? Is this expected behavior somehow? ------------=_1562430182-4728-1--