bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#56808: 29.0.50; Elusive display problem on macOS


From: Eli Zaretskii
Subject: bug#56808: 29.0.50; Elusive display problem on macOS
Date: Thu, 28 Jul 2022 09:04:48 +0300

> From: Gerd Möllmann <gerd.moellmann@gmail.com>
> Date: Thu, 28 Jul 2022 07:09:34 +0200
> 
> I am seeing a display problem on macOS.  I am looking at code like this:
> 
> (dap-register-debug-template
>  (list :name "LLDB Emacs"
>        :type "lldb-vscode"
> 
> When the problem happens, the display looks like
> 
> (dap-register-debug-template
>  (list :name "LLDB Emacs"
>         :type "lldb-vscode"
> 
> I.e. :name and :type don't align anymore.

Are there any :align-to display properties involved in this?
("C-x =" could help you find out.)

Can you run this under a debugger and show the display elements in the
offending glyph_row?  The easiest way of doing that with GDB is like
this:

  (gdb) break Fredraw_display
  (gdb) run

Then wait for the problem to happen when it does, move the cursor to
the screen line with the alignment problem, invoke redraw-display, and
when the debugger kicks in, do:

  (gdb) break set_cursor_from_row
  (gdb) continue

Typically, the first time the breakpoint in set_cursor_from_row breaks
it's in a mini-window.  Verify with

  (gdb) p it->w->contents
  (gdb) xtype
  (gdb) xbuffer

Then type "continue".  Do the above until set_cursor_from_row is
called in the right buffer.  Then step until the variable 'row' is
assigned in one of the first lines of the function, and do

  (gdb) pgrow

This should display the glyph_row with some detail.

Of course, you don't have GDB, so some of the above will need to be
done differently, sigh...  In particular, the 'pgrow' command is
defined in src/.gdbinit.

You may wish starting by doing the above in a "good" session, to see
what display elements are shown in that glyph_row when the display is
correct.

Thanks.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]