[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Question about composite.c
From: |
Eli Zaretskii |
Subject: |
Re: Question about composite.c |
Date: |
Tue, 21 Jan 2020 21:15:59 +0200 |
> From: Gerry Agbobada <address@hidden>
> Date: Tue, 21 Jan 2020 19:57:07 +0100
> Cc: address@hidden
>
> Therefore, the main goal was to "catch common programming ligatures
> starting with ?*"
Can you show examples of those, if not their exhaustive list?
> > Also, why did you need to use a separate char-table instead of
> > composition-function-table?
>
> I used another char-table so the variable is easily accessible to modify
> parts of it. Then again, maybe a poor design decision, but just a design
> decision.
I don't see why it would be easier to access/modify a separate table.
> > It's not just an empty string, it's a _unibyte_ string. How did that
> > happen?
>
> That's the main part I was trying to understand, since I could not
> reproduce it in an easy way, I was wondering if an empty string can be
> unibyte or multibyte. I have my answer now :)
If you post a complete reproduction recipe, starting from "emacs -Q",
perhaps I will be able to help you understand what is the immediate
cause of the problem.
> > There's no problem with empty strings here, as long as they are
> > multibyte.
>
> That the main point I don't understand : is there a way to mark an empty
> string as a multibyte string ?
We could look into that, but why would an empty string end up in
composition-get-gstring anyway? there's no meaningful way of composing
such a string.
> At least now I know I can continue investigating on the elisp side, thanks for
> your answers !
I think the important part is to understand why Emacs is trying to
compose an empty string.