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: Sun, 16 Jan 2022 00:13:26 -0500 Message-ID: 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="16948"; mail-complaints-to="usenet@ciao.gmane.io" To: 53294@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Jan 16 06:14:36 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 1n8xsB-0004Jf-LY for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 16 Jan 2022 06:14:35 +0100 Original-Received: from localhost ([::1]:42476 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1n8xs9-0002Mn-6O for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 16 Jan 2022 00:14:34 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:42348) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n8xrf-0002MF-Q0 for bug-gnu-emacs@gnu.org; Sun, 16 Jan 2022 00:14:06 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:49403) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1n8xre-0007ge-Cs for bug-gnu-emacs@gnu.org; Sun, 16 Jan 2022 00:14:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1n8xre-0002NW-5R for bug-gnu-emacs@gnu.org; Sun, 16 Jan 2022 00:14:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Andrew Hyatt Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 16 Jan 2022 05:14:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 53294 X-GNU-PR-Package: emacs X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.16423100209101 (code B ref -1); Sun, 16 Jan 2022 05:14:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 16 Jan 2022 05:13:40 +0000 Original-Received: from localhost ([127.0.0.1]:42306 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n8xrI-0002Mi-0r for submit@debbugs.gnu.org; Sun, 16 Jan 2022 00:13:40 -0500 Original-Received: from lists.gnu.org ([209.51.188.17]:44124) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n8xrC-0002MT-4N for submit@debbugs.gnu.org; Sun, 16 Jan 2022 00:13:38 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:42278) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n8xrB-0002LZ-8m for bug-gnu-emacs@gnu.org; Sun, 16 Jan 2022 00:13:33 -0500 Original-Received: from [2607:f8b0:4864:20::f2e] (port=33589 helo=mail-qv1-xf2e.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1n8xr9-0007er-JX for bug-gnu-emacs@gnu.org; Sun, 16 Jan 2022 00:13:32 -0500 Original-Received: by mail-qv1-xf2e.google.com with SMTP id t7so14615022qvj.0 for ; Sat, 15 Jan 2022 21:13:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id:mime-version; bh=WJLqghft047QIcu13q/kkzQ2lMsf+mT+7oybmZ4M4TI=; b=RHA0/fjVkjipE5391Jjud9NjKJX+Tt2Ribw/o9D6/bHfijDhbWaUkzW9ERmU97ynOV 9WCQ85NLSeWB0V8Nwvh/TSt3qCx6Knp8FRyOg/ydI0Uhfd4JryFZJIIQHzW/PyTGDR/R 3xFtu8EmTUH0yBfsd5fD51yy7e/Y0EAI0cfiZDaZRNQk9I7QQZS73XRKbB2ASRJOcgki gCdDhqbNJPVQSfgU86vz2tEaw87v5cXfNiBbZ7txB0MXipBGhSX509gJe/8eG0AtLg4D 8i7Zt2p/0aUUVk5KXZMVRFGWrTKhSAwklSfh0Y4+t8ZdjhCyr9YTiFEcf6IzLwK9wir8 FHlQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:mime-version; bh=WJLqghft047QIcu13q/kkzQ2lMsf+mT+7oybmZ4M4TI=; b=FO1SYnG/w2j7D7nwDrTKQ6zSpfHELWC5DcKnLv0I+gThiBoCfuLI0qMoBin+FbPszJ TttjCqSehQT/o/AvssrwC6ikiwYrTUMgiWO5+or7SjJ9XUE3xEA2BCngCUWmXdmjHVB5 yPmDeC0l/4P5ZdUIeR+G81V9AJy7P0agMfxkadmeW8OFYpXqhzZfA7Pj1M5QP4QwyLlw gLZv5OqlTAJkzvWRe+qCtmH/NwrdfxwfvIZgZuSrrBTytUhL7FUIvAlo0G9u6T/CkyWc pVk7LFn/2btURvUHrrlgrVVLUcRbYQG0mSmKmLD5/9g/B2iOKMirrl0r2d+jM+Iq3ebS cvmA== X-Gm-Message-State: AOAM5305z6lsUZ7DzuEi6ClPpl5Qszw4VCdPARxzobhGCSEBU70hASLP J7XgR9FWYtI58hDx3872qz0yXFIifQA= X-Google-Smtp-Source: ABdhPJza4xPNpZYS40Ym1+2sZsNvWR/AumTr4wkyjpNWbmk496y14akhpRD0XtISn5+7GFxDUd7VOA== X-Received: by 2002:a05:6214:1c09:: with SMTP id u9mr14367394qvc.4.1642310008599; Sat, 15 Jan 2022 21:13:28 -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 m13sm6183348qkk.122.2022.01.15.21.13.27 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 15 Jan 2022 21:13:27 -0800 (PST) X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::f2e (failed) Received-SPF: pass client-ip=2607:f8b0:4864:20::f2e; envelope-from=ahyatt@gmail.com; helo=mail-qv1-xf2e.google.com X-Spam_score_int: -12 X-Spam_score: -1.3 X-Spam_bar: - X-Spam_report: (-1.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, PDS_HP_HELO_NORDNS=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action 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:224362 Archived-At: --=-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename=text-scale-patch Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2xpc3AvZmFjZS1yZW1hcC5lbCBiL2xpc3AvZmFjZS1yZW1hcC5lbAppbmRl eCAwMDU2MGY5ZDJlLi5kZjM1ZDg4OTMzIDEwMDY0NAotLS0gYS9saXNwL2ZhY2UtcmVtYXAuZWwK KysrIGIvbGlzcC9mYWNlLXJlbWFwLmVsCkBAIC0xMzQsNiArMTM0LDExIEBAIGZhY2UtcmVtYXAt YWRkLXJlbGF0aXZlCiAgICAgKGxldCAoKGZhY2VzIChjZHIgZW50cnkpKSkKICAgICAgIChpZiAo c3ltYm9scCBmYWNlcykKIAkgIChzZXRxIGZhY2VzIChsaXN0IGZhY2VzKSkpCisgICAgICAoc2V0 cSBmYWNlLXJlbWFwcGluZy1hbGlzdAorCSAgICAobWFwY2FyIChsYW1iZGEgKGt2KQorCQkgICAg ICAoaWYgKGVxIChjYXIga3YpIGZhY2UpCisJCQkgIChjb25zIGZhY2UgKGZhY2UtcmVtYXAtb3Jk ZXIgKGNvbnMgc3BlY3MgZmFjZXMpKSkKKwkJCWt2KSkgZmFjZS1yZW1hcHBpbmctYWxpc3QpKQog ICAgICAgKHNldGNkciBlbnRyeSAoZmFjZS1yZW1hcC1vcmRlciAoY29ucyBzcGVjcyBmYWNlcykp KQogICAgICAgOzsgRm9yY2UgcmVkaXNwbGF5IG9mIHRoaXMgYnVmZmVyLgogICAgICAgKGZvcmNl LW1vZGUtbGluZS11cGRhdGUpKQo= --=-=-= Content-Type: text/plain; format=flowed Hi all, I noticed a bug recently where if I scale up fonts in an org capture buffer, it affects the original buffer, which keeps getting bigger and bigger every time org-capture is run. However, you don't need org to reproduce this. Here's a quick way to reproduce, which works with emacs -Q: (require 'face-remap) (defun ash/big-font () "Creates a font that is big enough for about 20 lines of text." (interactive) (let ((text-scale-mode-amount (/ (frame-height) 20))) (text-scale-mode 1))) (defun ash/reproduce-with-indirect-buffer () (interactive) (let ((buf (get-buffer-create "*Orig buffer*"))) (set-buffer buf) (variable-pitch-mode 1) ;; same way org mode creates indirect buffer (set-buffer (make-indirect-buffer buf "*Indirect buffer*" 'clone)) (ash/big-font-new) (kill-buffer (current-buffer)))) Running ash/reproduce-with-indirect-buffer will increase the indirect buffer in size each time. If you look at face-remapping-alist, it's clear that the original buffer's value is being altered by the indirect buffer. I traced this down to the setcdr in face-remove-add-relative, which is incorrectly alterting a buffer local variable, by setting parts of a variable in a way that will affect the original variable. Evidently making something buffer local doesn't clone it, it just copies the value, and so you can alter the original by operations such as setcdr. Assuming that the fixing how variables becomes buffer local is too much, I've fixed this in face-remap.el. The patch is attached. In GNU Emacs 29.0.50 (build 1, aarch64-apple-darwin21.2.0, NS appkit-2113.20 Version 12.1 (Build 21C52)) of 2021-12-26 built on andrews-mbp.lan Repository revision: 978987f7ad58cd66fe51cefde53ba4771b189aeb Repository branch: master Windowing system distributor 'Apple', version 10.3.2113 System Description: macOS 12.1 Configured using: 'configure --with-native- Configured features: ACL GLIB GNUTLS JSON LCMS2 LIBXML2 MODULES NATIVE_COMP NOTIFY KQUEUE NS PDUMPER PNG RSVG SQLITE3 THREADS TOOLKIT_SCROLL_BARS XIM ZLIB Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix --=-=-=--