emacs-devel
[Top][All Lists]
Advanced

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

Re: Building the igc branch on MS-Windows


From: Helmut Eller
Subject: Re: Building the igc branch on MS-Windows
Date: Fri, 26 Apr 2024 10:12:58 +0200
User-agent: Gnus/5.13 (Gnus v5.13)

> installed this in your name, with one difference:
>
>> +    if (FRAME_WINDOW_P (f) && FRAME_OUTPUT_DATA (f))
>> +      {
>> +    struct font *font = FRAME_FONT (f);
>> +    if (font)
>> +      IGC_FIX12_RAW(ss, &FRAME_FONT (f));
>
> You already used FRAME_FONT, so not necessary to use it again:
>
>     if (FRAME_WINDOW_P (f) && FRAME_OUTPUT_DATA (f))
>       {
>       struct font *font = FRAME_FONT (f);
>       if (font)
>         IGC_FIX12_RAW(ss, &font);  <<<<<<<<<<<<<<<<<<<<<
>       }

I think this change introduced a bug.  Remember that MPS is moving
GC. So it sometimes needs to update the pointer in the struct that we
are scanning.  We have to give it the address of the field, not the
address of some local variable on the stack. Perhaps clearer is this:

        struct font **font = &FRAME_FONT (f);
        if (*font)
          IGC_FIX12_RAW(ss, font);

> However, the crashes while scrolling through xdisp.c are still there.
> I just had 2 of them; backtraces below.  It sounds like the first one
> is due to Lisp strings, but the second one is related to markers.
>
>   igc.c:1584: Emacs fatal error: assertion failed: !"other"

Yes, I see this too.  I will try to write some code to reproduce
this without needing manual input.

Helmut



reply via email to

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