Hi,

I had a quick glance at Christoph's patch. An excerpt:

+                       /* We got a default font for a not found glyph. */
+                       if(!charexists && frc[i].flags == frcflags \
+                                       && unicodep == unicodep) {

I invite you to contemplate that last line.

In case Christoph needs help identifying the problem, here's a patch:

diff --git a/st.c b/st.c
index e27daf0..6397851 100644
--- a/st.c
+++ b/st.c
@@ -3398,7 +3398,7 @@ xdraws(char *s, Glyph base, int x, int y, int
charlen, int bytelen) {
                                break;
                        /* We got a default font for a not found glyph. */
                        if(!charexists && frc[i].flags == frcflags \
-                                       && unicodep == unicodep) {
+                                      && frc[i].unicodep == unicodep) {
                                break;
                        }
                }

The bug, which is reproducible thanks to Eric's example data, seems to
be fixed by this change.

I note that, had Eric not taken the time to post details of this bug
to the mailing list, we wouldn't have known about it, and the bug
would have lingered on. But apparently that's preferable. See no evil,
hear no evil!

cls

Reply via email to