aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKenichi Handa2000-06-20 11:23:13 +0000
committerKenichi Handa2000-06-20 11:23:13 +0000
commit0d1f7c088768c2183274ad0903931c90eaed61f7 (patch)
tree9b71abb9b855db2f901b62c1b12b5af06e008244 /src
parent11d9bd93ed8439d67734e77503a45481fc61a7c5 (diff)
downloademacs-0d1f7c088768c2183274ad0903931c90eaed61f7.tar.gz
emacs-0d1f7c088768c2183274ad0903931c90eaed61f7.zip
(font_list): Handle the case that REGISTRY doesn't contain information
about ENCODING.
Diffstat (limited to 'src')
-rw-r--r--src/xfaces.c19
1 files changed, 13 insertions, 6 deletions
diff --git a/src/xfaces.c b/src/xfaces.c
index 6379b13855c..44f47b88e38 100644
--- a/src/xfaces.c
+++ b/src/xfaces.c
@@ -2470,12 +2470,19 @@ font_list (f, pattern, family, registry, fonts)
2470 registry_str = (NILP (registry) ? "*" : (char *) XSTRING (registry)->data); 2470 registry_str = (NILP (registry) ? "*" : (char *) XSTRING (registry)->data);
2471 2471
2472 pattern_str = (char *) alloca (strlen (family_str) 2472 pattern_str = (char *) alloca (strlen (family_str)
2473 + strlen (registry_str) 2473 + strlen (registry_str)
2474 + 10); 2474 + 10);
2475 if (index (family_str, '-')) 2475 strcpy (pattern_str, index (family_str, '-') ? "-" : "-*-");
2476 sprintf (pattern_str, "-%s-*-%s", family_str, registry_str); 2476 strcat (pattern_str, family_str);
2477 else 2477 strcat (pattern_str, "-*-");
2478 sprintf (pattern_str, "-*-%s-*-%s", family_str, registry_str); 2478 strcat (pattern_str, registry_str);
2479 if (!index (registry_str, '-'))
2480 {
2481 if (registry_str[strlen (registry_str) - 1] == '*')
2482 strcat (pattern_str, "-*");
2483 else
2484 strcat (pattern_str, "*-*");
2485 }
2479 } 2486 }
2480 else 2487 else
2481 pattern_str = (char *) XSTRING (pattern)->data; 2488 pattern_str = (char *) XSTRING (pattern)->data;