Subject: Re: bug#64547: `show-paren-mode` thinks that a paren is offscreen in `M-:` when it isn't

From: Stephen Berman <[email-masked]>
Date: Mon, 10 Jul 2023 15:26:34 +0200

On Mon, 10 Jul 2023 15:15:48 +0300 Eli Zaretskii <[email-masked]> wrote:

>> Date: Sun, 09 Jul 2023 19:49:06 +0000
>> From:  Okamsn via "Bug reports for GNU Emacs,
>>  the Swiss army knife of text editors" <[email-masked]>
>>
>> I have `show-paren-style` set to `mixed` and
>> `show-paren-context-when-offscreen` set to `overlay`.
>>
>> When using `eval-expression`, `show-paren` thinks that the starting
>> parenthesis is offscreen.
>>
>> I have attached images showing how, although I am typing on the same
>> line as the parenthesis, the context overlay is still shown.
>>
>> With `show-paren-when-point-inside-paren` enabled, typing before the
>> closing parenthesis causes the prompt of `M-:` to be shown before
>> quickly being hidden by the context overlay again. This causes text to
>> quickly move side to side as I type. I have attached a screen recording
>> of this movement.
>>
>> This is in Emacs 29.0.92. If it is relevant, I have `line-spacing` set
>> to 0.15.
>
> I cannot reproduce this.  I see neither of the problems you describe,
> and nothing like the screen recording you posted.  You don't show the
> details of your platform and build, so maybe it is something specific
> to that (macOS, per chance?).
>
> Can you post a detailed reproduction recipe, starting from "emacs -Q"
> and showing all the settings and commands you have to do to reproduce
> the problem.

I can reproduce the problem in GNU Emacs 29.0.92 (x86_64-pc-linux-gnu,
GTK+ Version 3.24.38, cairo version 1.17.6), but only with line-spacing
set to at least 0.06.  Recipe:

0. emacs -Q
1. M-x customize-option show-paren-style RET.  Choose "mixed" from the
   Value Menu and set for current session.
2. M-x customize-option show-paren-context-when-offscreen RET.  Choose
   "In overlay" from the Value Menu and set for current session.
3. M-x customize-option line-spacing RET.  Choose "Number" from the
   Value Menu, enter 0.06 or greater and set for current session.
4. M-: ()
=> On typing ")" the "Eval: " prompt vanishes, the string "(" is
   displayed with a hollow box over it, followed directly by the string
   "()" with a cyan background.  Typing DEL to delete the final ")"
   displays the "Eval: " prompt again, the "(" with a hollow box over it
   vanishes, and the remaining "(" has no cyan overlay.  Typing any
   characters and then ")" at the end again makes the prompt vanishes,
   "(" with the hollow box and the cyan overlay return.  Lather, rinse,
   repeat...

Steve Berman