]> git.eshelyaron.com Git - emacs.git/commitdiff
(xlfdpat_block_match_1): Fix assertion.
authorYAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
Thu, 22 Sep 2005 07:53:45 +0000 (07:53 +0000)
committerYAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
Thu, 22 Sep 2005 07:53:45 +0000 (07:53 +0000)
(init_font_name_table) [TARGET_API_MAC_CARBON]: Don't add style
variants for a scalable font multiple times.

src/ChangeLog
src/macterm.c

index e107d2982b515914b6fe1d0aeeaa78f774d8ede8..12479a963d9ad45da0072db2711b18a4776d613b 100644 (file)
@@ -1,3 +1,9 @@
+2005-09-22  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
+
+       * macterm.c (xlfdpat_block_match_1): Fix assertion.
+       (init_font_name_table) [TARGET_API_MAC_CARBON]: Don't add style
+       variants for a scalable font multiple times.
+
 2005-09-21  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 
        * process.c (create_process) [RTU || UNIPLUS || DONT_REOPEN_PTY]:
index 362da7f77c7caa07fd5b6a0e75e723c68441d8c7..d1b5514f47da6c4edd63458b7ae2372b02eb0c97 100644 (file)
@@ -6277,7 +6277,7 @@ static INLINE int
 xlfdpat_exact_p (pat)
      struct xlfdpat *pat;
 {
-  return (pat)->blocks == NULL;
+  return pat->blocks == NULL;
 }
 
 /* Return the first string in STRING + 0, ..., STRING + START_MAX such
@@ -6295,7 +6295,7 @@ xlfdpat_block_match_1 (blk, string, start_max)
 
   xassert (blk->len > 0);
   xassert (start_max + blk->len <= strlen (string));
-  xassert (blk->pattern[blk->len - 1] != '?');
+  xassert (blk->last_char != '?');
 
   /* See the comments in the function `boyer_moore' (search.c) for the
      use of `infinity'.  */
@@ -6683,28 +6683,29 @@ init_font_name_table ()
        {
          Lisp_Object rest = XCDR (XCDR (text_encoding_info));
 
-         for (; !NILP (rest); rest = XCDR (rest))
-           {
-             char *cs = SDATA (XCAR (rest));
+         if (size > 0 || style == normal)
+           for (; !NILP (rest); rest = XCDR (rest))
+             {
+               char *cs = SDATA (XCAR (rest));
 
-             if (size == 0)
-               {
-                 add_font_name_table_entry (mac_to_x_fontname (name, size,
-                                                               style, cs));
-                 add_font_name_table_entry (mac_to_x_fontname (name, size,
-                                                               italic, cs));
-                 add_font_name_table_entry (mac_to_x_fontname (name, size,
-                                                               bold, cs));
-                 add_font_name_table_entry (mac_to_x_fontname (name, size,
-                                                               italic | bold,
-                                                               cs));
-               }
-             else
-               {
-                 add_font_name_table_entry (mac_to_x_fontname (name, size,
-                                                               style, cs));
-               }
-           }
+               if (size == 0)
+                 {
+                   add_font_name_table_entry (mac_to_x_fontname (name, size,
+                                                                 style, cs));
+                   add_font_name_table_entry (mac_to_x_fontname (name, size,
+                                                                 italic, cs));
+                   add_font_name_table_entry (mac_to_x_fontname (name, size,
+                                                                 bold, cs));
+                   add_font_name_table_entry (mac_to_x_fontname (name, size,
+                                                                 italic | bold,
+                                                                 cs));
+                 }
+               else
+                 {
+                   add_font_name_table_entry (mac_to_x_fontname (name, size,
+                                                                 style, cs));
+                 }
+             }
        }
     }