Subject: bug#40845: SVG rendering issues

From: Eli Zaretskii <[email-masked]>
Date: Sat, 22 Aug 2020 19:54:48 +0300

> Date: Sat, 22 Aug 2020 18:15:15 +0200 (CEST)
> From: Alan Third <[email-masked]>
> 
> I still don't know how to use the mouse face. I couldn't see any way
> to detect if it's in use when we first load the image in xdisp.c.

Can you please remind me what was the problem?  The bug discussion is
very long, and I didn't have time/patience to find the mouse face
bits.

> -ptrdiff_t lookup_image (struct frame *, Lisp_Object);
> +ptrdiff_t lookup_image (struct frame *, Lisp_Object, int face_id);
                                                        ^^^^^^^^^^^
Please don't use names in prototypes, only types.

> +  /* Parse the unmodified SVG data so we can get it's initial size.  */
                                                    ^^^^
"its"

> +  /* The parsing is complete, rsvg_handle is ready to used, close it
                                             ^^^^^^^^^^^^^^^^
"is ready to be used"

> +       background color, before including the original image. This
                                                               ^^
Two spaces between sentences, please.

> +    Lisp_Object encoded_contents = Fbase64_encode_string
> +      (make_unibyte_string (contents, size), Qt);

Our style of breaking long lines like this one is different:

  Lisp_Object encoded_contents
    = Fbase64_encode_string (make_unibyte_string (contents, size), Qt);

> +    if (!NILP (value))
> +      {
> +        foreground = image_alloc_image_color (f, img, value, img->face_foreground);
> +      }

No need for braces when the block has only one line.

Thanks.