diff options
| author | Chong Yidong | 2011-08-09 18:13:11 -0400 |
|---|---|---|
| committer | Chong Yidong | 2011-08-09 18:13:11 -0400 |
| commit | 7be1c708c5abc7dea388d45454bd19bff07b7943 (patch) | |
| tree | 4d86b007b24388f25e83515bd86c42d14de9b77a /src | |
| parent | ebb552ed380b9f04e0c6b29374b3d32435837951 (diff) | |
| parent | 8d96c9a4e700ad17921f8d2c90f4244bfa4b98b1 (diff) | |
| download | emacs-7be1c708c5abc7dea388d45454bd19bff07b7943.tar.gz emacs-7be1c708c5abc7dea388d45454bd19bff07b7943.zip | |
Merge from emacs-23 branch
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 12 | ||||
| -rw-r--r-- | src/fontset.c | 8 | ||||
| -rw-r--r-- | src/unexmacosx.c | 37 |
3 files changed, 55 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 4d493eab7b1..af9586037d7 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,15 @@ | |||
| 1 | 2011-08-09 Andreas Schwab <schwab@linux-m68k.org> | ||
| 2 | |||
| 3 | * fontset.c (fontset_get_font_group): Add proper type checks. | ||
| 4 | (Bug#9172) | ||
| 5 | |||
| 6 | 2011-08-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 7 | |||
| 8 | * unexmacosx.c (print_load_command_name): Add cases LC_FUNCTION_STARTS | ||
| 9 | and LC_VERSION_MIN_MACOSX. | ||
| 10 | (copy_linkedit_data) [LC_FUNCTION_STARTS]: New function. | ||
| 11 | (dump_it) [LC_FUNCTION_STARTS]: Use it. | ||
| 12 | |||
| 1 | 2011-08-08 Eli Zaretskii <eliz@gnu.org> | 13 | 2011-08-08 Eli Zaretskii <eliz@gnu.org> |
| 2 | 14 | ||
| 3 | * xdisp.c (forward_to_next_line_start): Allow to use the | 15 | * xdisp.c (forward_to_next_line_start): Allow to use the |
diff --git a/src/fontset.c b/src/fontset.c index 74eb61d2665..c8ae1e74848 100644 --- a/src/fontset.c +++ b/src/fontset.c | |||
| @@ -447,7 +447,7 @@ reorder_font_vector (Lisp_Object font_group, struct font *font) | |||
| 447 | /* Return a font-group (actually a cons (-1 . FONT-GROUP-VECTOR)) for | 447 | /* Return a font-group (actually a cons (-1 . FONT-GROUP-VECTOR)) for |
| 448 | character C in FONTSET. If C is -1, return a fallback font-group. | 448 | character C in FONTSET. If C is -1, return a fallback font-group. |
| 449 | If C is not -1, the value may be Qt (FONTSET doesn't have a font | 449 | If C is not -1, the value may be Qt (FONTSET doesn't have a font |
| 450 | for C even in the fallback group, or 0 (a font for C may be found | 450 | for C even in the fallback group), or 0 (a font for C may be found |
| 451 | only in the fallback group). */ | 451 | only in the fallback group). */ |
| 452 | 452 | ||
| 453 | static Lisp_Object | 453 | static Lisp_Object |
| @@ -465,7 +465,9 @@ fontset_get_font_group (Lisp_Object fontset, int c) | |||
| 465 | if (! NILP (font_group)) | 465 | if (! NILP (font_group)) |
| 466 | return font_group; | 466 | return font_group; |
| 467 | base_fontset = FONTSET_BASE (fontset); | 467 | base_fontset = FONTSET_BASE (fontset); |
| 468 | if (c >= 0) | 468 | if (NILP (base_fontset)) |
| 469 | font_group = Qnil; | ||
| 470 | else if (c >= 0) | ||
| 469 | font_group = char_table_ref_and_range (base_fontset, c, &from, &to); | 471 | font_group = char_table_ref_and_range (base_fontset, c, &from, &to); |
| 470 | else | 472 | else |
| 471 | font_group = FONTSET_FALLBACK (base_fontset); | 473 | font_group = FONTSET_FALLBACK (base_fontset); |
| @@ -476,6 +478,8 @@ fontset_get_font_group (Lisp_Object fontset, int c) | |||
| 476 | char_table_set_range (fontset, from, to, font_group); | 478 | char_table_set_range (fontset, from, to, font_group); |
| 477 | return font_group; | 479 | return font_group; |
| 478 | } | 480 | } |
| 481 | if (!VECTORP (font_group)) | ||
| 482 | return font_group; | ||
| 479 | font_group = Fcopy_sequence (font_group); | 483 | font_group = Fcopy_sequence (font_group); |
| 480 | for (i = 0; i < ASIZE (font_group); i++) | 484 | for (i = 0; i < ASIZE (font_group); i++) |
| 481 | if (! NILP (AREF (font_group, i))) | 485 | if (! NILP (AREF (font_group, i))) |
diff --git a/src/unexmacosx.c b/src/unexmacosx.c index 04e3edf463e..0751eeacb9b 100644 --- a/src/unexmacosx.c +++ b/src/unexmacosx.c | |||
| @@ -599,6 +599,16 @@ print_load_command_name (int lc) | |||
| 599 | printf ("LC_DYLD_INFO_ONLY"); | 599 | printf ("LC_DYLD_INFO_ONLY"); |
| 600 | break; | 600 | break; |
| 601 | #endif | 601 | #endif |
| 602 | #ifdef LC_VERSION_MIN_MACOSX | ||
| 603 | case LC_VERSION_MIN_MACOSX: | ||
| 604 | printf ("LC_VERSION_MIN_MACOSX"); | ||
| 605 | break; | ||
| 606 | #endif | ||
| 607 | #ifdef LC_FUNCTION_STARTS | ||
| 608 | case LC_FUNCTION_STARTS: | ||
| 609 | printf ("LC_FUNCTION_STARTS"); | ||
| 610 | break; | ||
| 611 | #endif | ||
| 602 | default: | 612 | default: |
| 603 | printf ("unknown "); | 613 | printf ("unknown "); |
| 604 | } | 614 | } |
| @@ -1135,6 +1145,28 @@ copy_dyld_info (struct load_command *lc, long delta) | |||
| 1135 | } | 1145 | } |
| 1136 | #endif | 1146 | #endif |
| 1137 | 1147 | ||
| 1148 | #ifdef LC_FUNCTION_STARTS | ||
| 1149 | /* Copy a LC_FUNCTION_STARTS load command from the input file to the | ||
| 1150 | output file, adjusting the data offset field. */ | ||
| 1151 | static void | ||
| 1152 | copy_linkedit_data (struct load_command *lc, long delta) | ||
| 1153 | { | ||
| 1154 | struct linkedit_data_command *ldp = (struct linkedit_data_command *) lc; | ||
| 1155 | |||
| 1156 | if (ldp->dataoff > 0) | ||
| 1157 | ldp->dataoff += delta; | ||
| 1158 | |||
| 1159 | printf ("Writing "); | ||
| 1160 | print_load_command_name (lc->cmd); | ||
| 1161 | printf (" command\n"); | ||
| 1162 | |||
| 1163 | if (!unexec_write (curr_header_offset, lc, lc->cmdsize)) | ||
| 1164 | unexec_error ("cannot write linkedit data command to header"); | ||
| 1165 | |||
| 1166 | curr_header_offset += lc->cmdsize; | ||
| 1167 | } | ||
| 1168 | #endif | ||
| 1169 | |||
| 1138 | /* Copy other kinds of load commands from the input file to the output | 1170 | /* Copy other kinds of load commands from the input file to the output |
| 1139 | file, ones that do not require adjustments of file offsets. */ | 1171 | file, ones that do not require adjustments of file offsets. */ |
| 1140 | static void | 1172 | static void |
| @@ -1207,6 +1239,11 @@ dump_it (void) | |||
| 1207 | copy_dyld_info (lca[i], linkedit_delta); | 1239 | copy_dyld_info (lca[i], linkedit_delta); |
| 1208 | break; | 1240 | break; |
| 1209 | #endif | 1241 | #endif |
| 1242 | #ifdef LC_FUNCTION_STARTS | ||
| 1243 | case LC_FUNCTION_STARTS: | ||
| 1244 | copy_linkedit_data (lca[i], linkedit_delta); | ||
| 1245 | break; | ||
| 1246 | #endif | ||
| 1210 | default: | 1247 | default: |
| 1211 | copy_other (lca[i]); | 1248 | copy_other (lca[i]); |
| 1212 | break; | 1249 | break; |