> Doesn't the latest GDB compile on macOS? I thought it did,
but
> perhaps that's only available in the GDB Git repo.
It does, it just doesn’t recognize emacs as a valid binary.
I’ve tried out a patch that’s supposed to help with that, but it
didn’t work. I’ve give these instructions a shot:
https://stackoverflow.com/a/24918436/11229 and no luck. I’ve tried for hours and cannot get GDB with emacs on Mojave. I have gdb working with other built programs (like gdb itself), but when attempting to run emacs, I either get the code signing error:
Starting program: /Users/aaronjensen/Source/emacs/src/emacs
Unable to find Mach task port for process-id 9979: (os/kern) failure (0x5).
(I’ve code signed gdb, but it only works when running gdb as sudo for a reason I do not yet know.)
And when running as sudo:
(gdb) set startup-with-shell off
No symbol table is loaded. Use the "file" command.
(gdb) run
Starting program: /Users/aaronjensen/Source/emacs/src/emacs
Program terminated with signal SIGTRAP, Trace/breakpoint trap.
The program no longer exists.
> > I’ll see what I can figure out.
>
> You can, of course, manually type the equivalents of the
commands that
> GDB uses in pgrowx.
That’d require skills I don’t have yet, but I’ll see what I can do.
> In an Emacs configured with --enable-checking=yes,glyphs, you
can also
> use the dump-glyph-row command to the same effect.
Would doing this on the row that has the problem even if it is
not currently flickering be useful?
> > > And which row is the problematic one: the one at Y =
0 or at Y = 637?
> >
> > I don’t understand Y=0, is that 0 from where the point
is? It’s
> > probably the 16th row or so from the top.
>
> The Y coordinate is measured from the top of the window.
In pixels? In that case, the flickering row is probably the
637 one.
> So the problem is with redrawing the cursor in a screen line
that
> shows a tall image? Is there any text before and/or after the
image
> in the same screen line?
No, the problem is with the redrawing the cursor on the row that in the active window *before* the image loads. See the attached gif. Frame 2 of the gif shows the blank. Frame 1 is before I press enter. When I press enter, which triggers a find-file on that image, it blanks the line, then loads the image. If I kill the image buffer and return to the home buffer, the line has been painted.
> If you want to reproduce the flickering, you need to do
whatever
> causes redisplay after opening the file. For example, does it
flicker
> when you move cursor? Does cursor blinking cause flickering?
Each
> one of these should show you the output that tells which parts
of the
> glyph row is Emacs actually redrawing.
The logs I provided were from reproducing the flickering.