Subject: Re: bug#53294: 29.0.50; Indirect font changes incorrectly affecting original buffer

From: Eli Zaretskii <[email-masked]>
Date: Sun, 16 Jan 2022 11:22:27 +0200

> From: Andrew Hyatt <[email-masked]>
> Date: Sun, 16 Jan 2022 00:13:26 -0500
> 
> 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 don't think I understand what I should see and pay attention to with
this recipe (and it includes several errors that took me some time to
fix, before I could run it), but isn't this because you used non-nil
CLONE argument to make-indirect-buffer?