emacs-devel
[Top][All Lists]
Advanced

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

Re: MPS: face-cache


From: Eli Zaretskii
Subject: Re: MPS: face-cache
Date: Mon, 29 Apr 2024 11:39:07 +0300

> From: Helmut Eller <eller.helmut@gmail.com>
> Cc: Eli Zaretskii <eliz@gnu.org>,  emacs-devel@gnu.org
> Date: Mon, 29 Apr 2024 09:15:00 +0200
> 
> +static mps_res_t
> +fix_glyph_matrix (mps_ss_t ss, struct glyph_matrix *matrix)
> +{
> +  MPS_SCAN_BEGIN (ss)
> +  {
> +    struct glyph_row *row = matrix->rows;
> +    struct glyph_row *end = row + matrix->nrows;
> +
> +    for (; row < end; ++row)
> +      if (row->enabled_p)
> +     {
> +       for (int area = LEFT_MARGIN_AREA; area < LAST_AREA; ++area)
> +         {
> +           struct glyph *glyph = row->glyphs[area];
> +           struct glyph *end_glyph = glyph + row->used[area];
> +           for (; glyph < end_glyph; ++glyph)
> +             {
> +               Lisp_Object *obj_ptr = &glyph->object;
> +               if (STRINGP (*obj_ptr))
> +                 IGC_FIX12_OBJ (ss, obj_ptr);
> +             }
> +         }
> +     }
> +  }
> +  MPS_SCAN_END (ss);
> +  return MPS_RES_OK;
> +}

A glyph matrix also has a pointer to the buffer displayed by the
window.  Should we do something about that pointer?



reply via email to

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