From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Andrew Hyatt Newsgroups: gmane.emacs.bugs Subject: bug#53294: 29.0.50; Indirect font changes incorrectly affecting original buffer Date: Mon, 17 Jan 2022 21:24:24 -0500 Message-ID: References: <835yqkyqzw.fsf@gnu.org> <83lezfybc9.fsf@gnu.org> <83ilujy9fi.fsf@gnu.org> <837dazy2ah.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="23754"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 53294@debbugs.gnu.org To: Stefan Monnier , Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue Jan 18 03:26:15 2022 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1n9eCN-0005t0-5w for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 18 Jan 2022 03:26:15 +0100 Original-Received: from localhost ([::1]:52686 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1n9eCL-0002Ga-Ps for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 17 Jan 2022 21:26:13 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:56550) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n9eBD-0002GD-PX for bug-gnu-emacs@gnu.org; Mon, 17 Jan 2022 21:25:03 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:55581) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1n9eBC-0004GZ-3F for bug-gnu-emacs@gnu.org; Mon, 17 Jan 2022 21:25:03 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1n9eBB-0005wV-QS for bug-gnu-emacs@gnu.org; Mon, 17 Jan 2022 21:25:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Andrew Hyatt Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 18 Jan 2022 02:25:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 53294 X-GNU-PR-Package: emacs Original-Received: via spool by 53294-submit@debbugs.gnu.org id=B53294.164247267622809 (code B ref 53294); Tue, 18 Jan 2022 02:25:01 +0000 Original-Received: (at 53294) by debbugs.gnu.org; 18 Jan 2022 02:24:36 +0000 Original-Received: from localhost ([127.0.0.1]:48484 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n9eAm-0005vp-4Y for submit@debbugs.gnu.org; Mon, 17 Jan 2022 21:24:36 -0500 Original-Received: from mail-qv1-f53.google.com ([209.85.219.53]:39842) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n9eAj-0005va-VW for 53294@debbugs.gnu.org; Mon, 17 Jan 2022 21:24:34 -0500 Original-Received: by mail-qv1-f53.google.com with SMTP id k4so165332qvt.6 for <53294@debbugs.gnu.org>; Mon, 17 Jan 2022 18:24:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:in-reply-to:references:date:message-id :mime-version; bh=M5s21t4/PHTUbG1Ud4W80VK7uVsxezG4fr6e6f8mm8I=; b=P/JH2+Q+HPTdPE2Uxhqo2F0owJHrzCkzU5356QKtLcf6oEBHD0Bc9RbK86RBbfjHEj IzYcDS4NQVD57ZTDP3FajdJEIMuh58EWd1nRznBWMVgFhRqF6GkIn5RjLJHzTeTx+2zT 2MWwP++6hR4ItaTo+MkimexcIPIpnvUJY/7kV28iAZvLgxYbRmzO0J+P0A+Kr64Ol6D/ XUk2sS5IZYylhfKlsPJhCvl7IKhof5V0g8dpy68FU7LR0pDBzgsaUwS2A/wwkCT/nnjJ 9hHL+xRc1J9iWs9RYY0WZwtUoNdDJ5JS1aKakF9O3MYgfbJdRdntrb2ubdyT8SnSrt4B htvw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:in-reply-to:references:date :message-id:mime-version; bh=M5s21t4/PHTUbG1Ud4W80VK7uVsxezG4fr6e6f8mm8I=; b=5JemRH/SpdaqNXr0azgUmowiaYdqdqfMbamKaVgfmA3N0ipnBHtfnb3H07ts5v6fcy Ytz6yATyT6k/DAUgbBi//Ymxf8otzdL5Duac9bpYFOplynO5MZKGgf7fTiGyGMaP78lR 4NaQYibEGHzkyNWDcFNFh2vgji34XdzNZcOofg0n7d74V4PisNyWA6ER1eKBE6CgdqxQ oOGpyYDkNbeAk9lCNHt/TQwey7n31doAG5SZf/T9hNf8Jnovd6y0LbSpL8JW++yR8Sxz 7YCplg2pLZWjNXNWbww2yWWGugCyznlpB0i5OZkQTqpuhdsLb7bntpV/HZtg1w9iydWO AFBA== X-Gm-Message-State: AOAM531wajxSc+YnSqevOKBoCpZZ4QSBXlrbNyHmHxOkKe2eMtYXnc9r YijnJ0cJ66HlNHqrwMupYnyhBndhhiE= X-Google-Smtp-Source: ABdhPJxE3nZOg+V/UARTY0aJbUwBWTYy/6ujukYCaaSVq1rqKpaNysAkdgnsYNsTaxE2VddEm/6qhA== X-Received: by 2002:ad4:5ba4:: with SMTP id 4mr21223650qvq.39.1642472666046; Mon, 17 Jan 2022 18:24:26 -0800 (PST) Original-Received: from andrews-mbp.lan (pool-173-56-75-166.nycmny.fios.verizon.net. [173.56.75.166]) by smtp.gmail.com with ESMTPSA id l22sm9242268qtj.68.2022.01.17.18.24.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Jan 2022 18:24:24 -0800 (PST) In-Reply-To: X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:224489 Archived-At: --=-=-= Content-Type: text/plain; format=flowed On Mon, Jan 17, 2022 at 04:47 PM Stefan Monnier wrote: >>> - In `face-remap.el`, refrain from modifying the >>> `face-remapping-alist` >>> by side-effects (i.e. avoid `delq`, `setcdr`, and friends). >>> - Add a `make-indirect-buffer-hook` and arrange for >>> `face-remap.el` to >>> add a function there that does a deep enough copy of >>> `face-remapping-alist`. >>> - Remember that indirect buffers are an attractive nuisance >>> and should >>> be deprecated (but note that I suspect the same bug affects >>> `clone-buffer` because it doesn't make a deep enough copy of >>> `face-remapping-alist` either). >> >> The last one tells me we are better with leaving this sleeping >> dog lie. > > Actually, looking back at the code, I see we already have the > needed hook (tho called from `clone-indirect-buffer`), so I > think the better option is to change `make-indirect-buffer` so > it runs `clone-indirect-buffer-hook` (when called with a non-nil > `clone` arg) instead of having `clone-indirect-buffer` run it. > And then in `face-remap.el` add a function to that hook which > copies `face-remapping-alist`. > > An intermediate option is to change the Org code to use > `clone-indirect-buffer` instead of `make-indirect-buffer` (but > that still requires the `face-remap.el` addition to the hook). > > [ Sorry Andrew for not noticing your earlier patch which does > something > similar to my first suggestion above. ] > > Andrew, would you be willing to write that patch? > > Stefan That sounds reasonable, I can do that. In fact, I just did this based on your suggestions, and it does work well. The only weird thing is that I had to pull `clone-indirect-buffer-hook' into the c code, because that's where `make-indirect-buffer' is. Let me know if that seems wrong. I've attached the patch, please let me know if there is an issue. I have commit access, so I can just commit it myself after your OK (if so, I'll wait for a week or so to see if Eli has a comment as well before checkin). --=-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename=text-scale-patch-v2 Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2xpc3AvZmFjZS1yZW1hcC5lbCBiL2xpc3AvZmFjZS1yZW1hcC5lbAppbmRl eCAwMDU2MGY5ZDJlLi5mYzBlZGI3MTE5IDEwMDY0NAotLS0gYS9saXNwL2ZhY2UtcmVtYXAuZWwK KysrIGIvbGlzcC9mYWNlLXJlbWFwLmVsCkBAIC03MCw2ICs3MCwxNCBAQCBpbnRlcm5hbC1saXNw LWZhY2UtYXR0cmlidXRlcwogICAgOmZvcmVncm91bmQgOmJhY2tncm91bmQgOnN0aXBwbGUgOm92 ZXJsaW5lIDpzdHJpa2UtdGhyb3VnaCA6Ym94CiAgICA6Zm9udCA6aW5oZXJpdCA6Zm9udHNldCA6 ZGlzdGFudC1mb3JlZ3JvdW5kIDpleHRlbmQgOnZlY3Rvcl0pCiAKKyhkZWZ1biBmYWNlLWF0dHJz LS1tYWtlLWluZGlyZWN0LXNhZmUgKCkKKyAgIkRvIGEgZGVlcCBjb3B5IG9mIGBmYWNlLXJlbWFw cGluZy1hbGlzdCcgdG8ga2VlcCB0aGUgb3JpZ2luYWwgYnVmZmVyIHNhZmUuIgorICAoc2V0cS1s b2NhbCBmYWNlLXJlbWFwcGluZy1hbGlzdAorICAgICAgICAgICAgICAoY29weS10cmVlCisgICAg ICAgICAgICAgICAoYnVmZmVyLWxvY2FsLXZhbHVlICdmYWNlLXJlbWFwcGluZy1hbGlzdCAoYnVm ZmVyLWJhc2UtYnVmZmVyKSkpKSkKKworKGFkZC1ob29rICdjbG9uZS1pbmRpcmVjdC1idWZmZXIt aG9vayAjJ2ZhY2UtYXR0cnMtLW1ha2UtaW5kaXJlY3Qtc2FmZSkKKwogKGRlZnVuIGZhY2UtYXR0 cnMtbW9yZS1yZWxhdGl2ZS1wIChhdHRyczEgYXR0cnMyKQogICAiUmV0dXJuIHRydWUgaWYgQVRU UlMxIGNvbnRhaW5zIGEgZ3JlYXRlciBudW1iZXIgb2YgcmVsYXRpdmUKIGZhY2UtYXR0cmlidXRl cyB0aGFuIEFUVFJTMi4gIEEgZmFjZSBhdHRyaWJ1dGUgaXMgY29uc2lkZXJlZApkaWZmIC0tZ2l0 IGEvbGlzcC9zaW1wbGUuZWwgYi9saXNwL3NpbXBsZS5lbAppbmRleCBjYmNkZTlmYjhkLi4zZWY5 Y2NhMjQ5IDEwMDY0NAotLS0gYS9saXNwL3NpbXBsZS5lbAorKysgYi9saXNwL3NpbXBsZS5lbApA QCAtOTQ0MSw5ICs5NDQxLDYgQEAgZnVuY3Rpb24ta2V5LW1hcAogKGRlZnZhciBjbG9uZS1idWZm ZXItaG9vayBuaWwKICAgIk5vcm1hbCBob29rIHRvIHJ1biBpbiB0aGUgbmV3IGJ1ZmZlciBhdCB0 aGUgZW5kIG9mIGBjbG9uZS1idWZmZXInLiIpCiAKLShkZWZ2YXIgY2xvbmUtaW5kaXJlY3QtYnVm ZmVyLWhvb2sgbmlsCi0gICJOb3JtYWwgaG9vayB0byBydW4gaW4gdGhlIG5ldyBidWZmZXIgYXQg dGhlIGVuZCBvZiBgY2xvbmUtaW5kaXJlY3QtYnVmZmVyJy4iKQotCiAoZGVmdW4gY2xvbmUtcHJv Y2VzcyAocHJvY2VzcyAmb3B0aW9uYWwgbmV3bmFtZSkKICAgIkNyZWF0ZSBhIHR3aW4gY29weSBv ZiBQUk9DRVNTLgogSWYgTkVXTkFNRSBpcyBuaWwsIGl0IGRlZmF1bHRzIHRvIFBST0NFU1MnIG5h bWU7CmRpZmYgLS1naXQgYS9zcmMvYnVmZmVyLmMgYi9zcmMvYnVmZmVyLmMKaW5kZXggMTBhYzkx OTE1Yy4uMDA2NDZmODc3OSAxMDA2NDQKLS0tIGEvc3JjL2J1ZmZlci5jCisrKyBiL3NyYy9idWZm ZXIuYwpAQCAtOTEyLDYgKzkxMiwxMCBAQCBERUZVTiAoIm1ha2UtaW5kaXJlY3QtYnVmZmVyIiwg Rm1ha2VfaW5kaXJlY3RfYnVmZmVyLCBTbWFrZV9pbmRpcmVjdF9idWZmZXIsCiAgICAgICBGc2V0 IChpbnRlcm4gKCJidWZmZXItc2F2ZS13aXRob3V0LXF1ZXJ5IiksIFFuaWwpOwogICAgICAgRnNl dCAoaW50ZXJuICgiYnVmZmVyLWZpbGUtbnVtYmVyIiksIFFuaWwpOwogICAgICAgRnNldCAoaW50 ZXJuICgiYnVmZmVyLXN0YWxlLWZ1bmN0aW9uIiksIFFuaWwpOworICAgICAgLyogQ2xvbmVkIGJ1 ZmZlcnMgbmVlZCBleHRyYSBzZXR1cCwgdG8gZG8gdGhpbmdzIHN1Y2ggYXMgZGVlcAorCSB2YXJp YWJsZSBjb3BpZXMgZm9yIGxpc3QgdmFyaWFibGVzIHRoYXQgbWlnaHQgYmUgbWFuZ2xlZCBkdWUK KwkgdG8gZGVzdHJ1Y3RpdmUgb3BlcmF0aW9ucyBpbiB0aGUgaW5kaXJlY3QgYnVmZmVyLiAqLwor ICAgICAgc2FmZV9ydW5faG9va3MgKFFjbG9uZV9pbmRpcmVjdF9idWZmZXJfaG9vayk7CiAgICAg ICBzZXRfYnVmZmVyX2ludGVybmFsXzEgKG9sZF9iKTsKICAgICB9CiAKQEAgLTU1NjgsNiArNTU3 Miw5IEBAIHN5bXNfb2ZfYnVmZmVyICh2b2lkKQogCXB1cmVfbGlzdCAoUXByb3RlY3RlZF9maWVs ZCwgUWVycm9yKSk7CiAgIEZwdXQgKFFwcm90ZWN0ZWRfZmllbGQsIFFlcnJvcl9tZXNzYWdlLAog CWJ1aWxkX3B1cmVfY19zdHJpbmcgKCJBdHRlbXB0IHRvIG1vZGlmeSBhIHByb3RlY3RlZCBmaWVs ZCIpKTsKKyAgCisgIERFRlNZTSAoUWNsb25lX2luZGlyZWN0X2J1ZmZlcl9ob29rLCAiY2xvbmUt aW5kaXJlY3QtYnVmZmVyLWhvb2siKTsKKyAKIAogICBERUZWQVJfUEVSX0JVRkZFUiAoInRhYi1s aW5lLWZvcm1hdCIsCiAJCSAgICAgJkJWQVIgKGN1cnJlbnRfYnVmZmVyLCB0YWJfbGluZV9mb3Jt YXQpLApAQCAtNjM5Miw2ICs2Mzk5LDEwIEBAIEZ1bmN0aW9ucyAoaW1wbGljaXRseSkgcnVubmlu ZyB0aGlzIGhvb2sgYXJlIGBnZXQtYnVmZmVyLWNyZWF0ZScsCiBUaGlzIGlzIHRoZSBkZWZhdWx0 LiAgSWYgbmlsLCBhdXRvLXNhdmUgZmlsZSBkZWxldGlvbiBpcyBpbmhpYml0ZWQuICAqLyk7CiAg IGRlbGV0ZV9hdXRvX3NhdmVfZmlsZXMgPSAxOwogCisgIERFRlZBUl9MSVNQICgiY2xvbmUtaW5k aXJlY3QtYnVmZmVyLWhvb2siLCBWY2xvbmVfaW5kaXJlY3RfYnVmZmVyX2hvb2ssCisJICAgICAg IGRvYzogLyogTm9ybWFsIGhvb2sgdG8gcnVuIGluIHRoZSBuZXcgYnVmZmVyIGF0IHRoZSBlbmQg b2YgYGNsb25lLWluZGlyZWN0LWJ1ZmZlcicuICovKTsKKyAgVmNsb25lX2luZGlyZWN0X2J1ZmZl cl9ob29rID0gUW5pbDsKKwogICBkZWZzdWJyICgmU2J1ZmZlcl9saXZlX3ApOwogICBkZWZzdWJy ICgmU2J1ZmZlcl9saXN0KTsKICAgZGVmc3ViciAoJlNnZXRfYnVmZmVyKTsK --=-=-=--