aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorStefan Monnier2008-11-21 05:33:29 +0000
committerStefan Monnier2008-11-21 05:33:29 +0000
commitb8ff72fad8be3820e084c6db9280649c9534813f (patch)
treee881f0d4820436262260588c192c8777a669f346 /src
parent3be5da9e6f1fc2be8f5834baaeca17095a265aae (diff)
downloademacs-b8ff72fad8be3820e084c6db9280649c9534813f.tar.gz
emacs-b8ff72fad8be3820e084c6db9280649c9534813f.zip
(Fbuffer_swap_text): Remove redundant marker manipulation.
Fix copy/paste typo. Add checks.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog138
-rw-r--r--src/buffer.c16
2 files changed, 72 insertions, 82 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index ee88976b9f5..cb1e910f0cd 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
12008-11-21 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
4 Fix copy/paste typo. Add checks.
5
12008-11-21 Kenichi Handa <handa@m17n.org> 62008-11-21 Kenichi Handa <handa@m17n.org>
2 7
3 * coding.c (detect_coding_iso_2022): Reject invalid composition 8 * coding.c (detect_coding_iso_2022): Reject invalid composition
@@ -572,8 +577,7 @@
572 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel): 577 (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel):
573 Use core Emacs cursor types. 578 Use core Emacs cursor types.
574 579
575 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor() under 580 * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor under NS.
576 NS.
577 581
5782008-10-02 Martin Rudalics <rudalics@gmx.at> 5822008-10-02 Martin Rudalics <rudalics@gmx.at>
579 583
@@ -743,34 +747,29 @@
743 * w32term.h (w32_display_info): Remove `height', `width', 747 * w32term.h (w32_display_info): Remove `height', `width',
744 `height_in', and `width_in' members. 748 `height_in', and `width_in' members.
745 749
746 * xterm.c (x_display_pixel_height, x_display_pixel_width): New 750 * xterm.c (x_display_pixel_height, x_display_pixel_width):
747 functions. 751 New functions.
748 (x_calc_absolute_position): Use them. 752 (x_calc_absolute_position): Use them.
749 (x_term_init): Omit removed `height' and `width' members. 753 (x_term_init): Omit removed `height' and `width' members.
750 754
751 * w32term.c (x_display_pixel_height, x_display_pixel_width): New 755 * w32term.c (x_display_pixel_height, x_display_pixel_width):
752 functions. 756 New functions.
753 (w32_read_socket, x_calc_absolute_position): Use them. 757 (w32_read_socket, x_calc_absolute_position): Use them.
754 (w32_initialize_display_info, w32_term_init): Omit removed members 758 (w32_initialize_display_info, w32_term_init): Omit removed members
755 of w32_display_info. 759 of w32_display_info.
756 760
757 * nsterm.m (x_display_pixel_height, x_display_pixel_width): New 761 * nsterm.m (x_display_pixel_height, x_display_pixel_width):
758 functions. 762 New functions.
759 (ns_initialize_display_info): Omit removed members of 763 (ns_initialize_display_info): Omit removed members of ns_display_info.
760 ns_display_info.
761 764
762 * xterm.c (x_display_pixel_height, x_display_pixel_width): New 765 * xterm.c (x_display_pixel_height, x_display_pixel_width):
763 functions. 766 New functions.
764 (x_calc_absolute_position): Use them. 767 (x_calc_absolute_position): Use them.
765 (x_term_init): Omit removed `height' and `width' members. 768 (x_term_init): Omit removed `height' and `width' members.
766 769
767 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height) 770 * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
768 (compute_tip_xy): Use x_display_pixel_height and 771 (compute_tip_xy):
769 x_display_pixel_width. 772 * frame.c (x_fullscreen_adjust):
770
771 * frame.c (x_fullscreen_adjust): Use x_display_pixel_height and
772 x_display_pixel_width.
773
774 * xmenu.c (menu_position_func): Use x_display_pixel_height and 773 * xmenu.c (menu_position_func): Use x_display_pixel_height and
775 x_display_pixel_width. 774 x_display_pixel_width.
776 775
@@ -965,8 +964,8 @@
965 964
9662008-09-02 Jason Rumney <jasonr@gnu.org> 9652008-09-02 Jason Rumney <jasonr@gnu.org>
967 966
968 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show): Ensure 967 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show):
969 mouse is not grabbed after menu is finished. 968 Ensure mouse is not grabbed after menu is finished.
970 969
9712008-09-01 Chong Yidong <cyd@stupidchicken.com> 9702008-09-01 Chong Yidong <cyd@stupidchicken.com>
972 971
@@ -1026,8 +1025,7 @@
1026 passing random values to xfree. 1025 passing random values to xfree.
1027 1026
1028 * dispnew.c (init_display): Set `tty's association in frame's 1027 * dispnew.c (init_display): Set `tty's association in frame's
1029 parameters alist to the name of the terminal device, if that is 1028 parameters alist to the name of the terminal device, if that is known.
1030 known.
1031 1029
10322008-08-29 Jason Rumney <jasonr@gnu.org> 10302008-08-29 Jason Rumney <jasonr@gnu.org>
1033 1031
@@ -1068,8 +1066,8 @@
1068 * chartab.c (optimize_sub_char_table): Perform more greedy 1066 * chartab.c (optimize_sub_char_table): Perform more greedy
1069 optimization. 1067 optimization.
1070 1068
1071 * composite.h (enum composition_method): Delete 1069 * composite.h (enum composition_method):
1072 COMPOSITION_WITH_GLYPH_STRING. 1070 Delete COMPOSITION_WITH_GLYPH_STRING.
1073 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING. 1071 (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
1074 (Vcomposition_function_table): Extern it. 1072 (Vcomposition_function_table): Extern it.
1075 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h. 1073 (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
@@ -1082,15 +1080,14 @@
1082 * composite.c: Include window.h, frame.h, dispextern.h font.h. 1080 * composite.c: Include window.h, frame.h, dispextern.h font.h.
1083 (Vcomposition_function_table) 1081 (Vcomposition_function_table)
1084 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING. 1082 (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
1085 (gstring_hash_table, gstring_work, gstring_work_headers): New 1083 (gstring_hash_table, gstring_work, gstring_work_headers):
1086 variables. 1084 New variables.
1087 (gstring_lookup_cache, composition_gstring_put_cache) 1085 (gstring_lookup_cache, composition_gstring_put_cache)
1088 (composition_gstring_from_id, composition_gstring_p) 1086 (composition_gstring_from_id, composition_gstring_p)
1089 (composition_gstring_width, fill_gstring_header) 1087 (composition_gstring_width, fill_gstring_header)
1090 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos) 1088 (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
1091 (composition_reseat_it, composition_update_it) 1089 (composition_reseat_it, composition_update_it)
1092 (composition_adjust_point, Fcomposition_get_gstring): New 1090 (composition_adjust_point, Fcomposition_get_gstring): New functions.
1093 functions.
1094 (syms_of_composite): Initialize gstring_hash_table, gstrint_work, 1091 (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
1095 and gstring_work_headers. DEFVAR_LISP composition-function-table. 1092 and gstring_work_headers. DEFVAR_LISP composition-function-table.
1096 Defsubr compostion_get_gstring. 1093 Defsubr compostion_get_gstring.
@@ -1105,9 +1102,9 @@
1105 Delete c, len, cmp_id, cmp_len in u.comp. 1102 Delete c, len, cmp_id, cmp_len in u.comp.
1106 1103
1107 * font.h (enum lgstring_indices): Delete it. 1104 * font.h (enum lgstring_indices): Delete it.
1108 (LGSTRING_XXX, LGLYPH_XXX): These macros moved to composite.h. 1105 (LGSTRING_XXX, LGLYPH_XXX): Move these macros to composite.h.
1109 (enum lglyph_indices): Likewise. 1106 (enum lglyph_indices): Likewise.
1110 (font_range): Extern adjusted. 1107 (font_range): Adjust extern.
1111 (font_fill_lglyph_metrics): Extern it. 1108 (font_fill_lglyph_metrics): Extern it.
1112 1109
1113 * font.c (QCf): New variable. 1110 * font.c (QCf): New variable.
@@ -1116,11 +1113,10 @@
1116 (font_range): Type and arguments changed. 1113 (font_range): Type and arguments changed.
1117 (Ffont_make_gstring, Ffont_fill_gstring): Delete them. 1114 (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
1118 (font_fill_lglyph_metrics): New function. 1115 (font_fill_lglyph_metrics): New function.
1119 (Ffont_shape_text): Renamed to Ffont_shape_gstring and arguments 1116 (Ffont_shape_text): Rename to Ffont_shape_gstring and change arguments.
1120 changed.
1121 (syms_of_font): DEFSYM QCf. Delete defsubr for 1117 (syms_of_font): DEFSYM QCf. Delete defsubr for
1122 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text. Defsubr 1118 Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.
1123 Sfont_shape_gstring. 1119 Defsubr Sfont_shape_gstring.
1124 1120
1125 * fontset.h (font_for_char): Extern it. 1121 * fontset.h (font_for_char): Extern it.
1126 1122
@@ -1128,8 +1124,7 @@
1128 1124
1129 * ftfont.c: Include composite.h. 1125 * ftfont.c: Include composite.h.
1130 (ftfont_resolve_generic_family): Add langset "en" to pattern. 1126 (ftfont_resolve_generic_family): Add langset "en" to pattern.
1131 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not 1127 (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
1132 LGSTRING_LENGTH.
1133 1128
1134 * indent.c: Include composite.h and dispextern.h. 1129 * indent.c: Include composite.h and dispextern.h.
1135 (check_composition): Delete this function. 1130 (check_composition): Delete this function.
@@ -1142,17 +1137,16 @@
1142 * keyboard.c (adjust_point_for_property): Check composition by 1137 * keyboard.c (adjust_point_for_property): Check composition by
1143 composition_adjust_point. 1138 composition_adjust_point.
1144 1139
1145 * nsterm.m (ns_draw_glyph_string): Adjusted for the change of 1140 * nsterm.m (ns_draw_glyph_string): Adjust for the change of
1146 struct glyph_string. 1141 struct glyph_string.
1147 1142
1148 * term.c (encode_terminal_code): Adjusted for the change of struct 1143 * term.c (encode_terminal_code): Adjust for the change of struct glyph.
1149 glyph. 1144 (append_composite_glyph): Adjust for the change of struct it and
1150 (append_composite_glyph): Adjusted for the change of struct it and
1151 struct glyph. 1145 struct glyph.
1152 (produce_composite_glyph): Likewise. 1146 (produce_composite_glyph): Likewise.
1153 1147
1154 * w32term.c (x_draw_composite_glyph_string_foreground): Adjusted 1148 * w32term.c (x_draw_composite_glyph_string_foreground):
1155 for the change of struct glyph_string. 1149 Adjust for the change of struct glyph_string.
1156 (x_draw_glyph_string): Likewise. 1150 (x_draw_glyph_string): Likewise.
1157 1151
1158 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h. 1152 * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
@@ -1162,41 +1156,38 @@
1162 (it_props): Delete the entry for Qauto_composed. 1156 (it_props): Delete the entry for Qauto_composed.
1163 (init_iterator): Initialize it->cmp_it.id to -1. 1157 (init_iterator): Initialize it->cmp_it.id to -1.
1164 (compute_stop_pos): Call composition_compute_stop_pos. 1158 (compute_stop_pos): Call composition_compute_stop_pos.
1165 (face_before_or_after_it_pos): Adjusted for the change of struct 1159 (face_before_or_after_it_pos): Adjust for the change of struct it.
1166 it.
1167 (handle_auto_composed_prop): Delete it. 1160 (handle_auto_composed_prop): Delete it.
1168 (handle_composition_prop): Handle only static composition. 1161 (handle_composition_prop): Handle only static composition.
1169 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION 1162 (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
1170 from xassert. Initialize it->cmp_it.stop_pos. 1163 from xassert. Initialize it->cmp_it.stop_pos.
1171 (push_it): Adjusted for the change of struct it. 1164 (push_it): Adjust for the change of struct it.
1172 (pop_it): Likewise. 1165 (pop_it): Likewise.
1173 (get_next_element): Delete next_element_from_composition. 1166 (get_next_element): Delete next_element_from_composition.
1174 (CHAR_COMPOSED_P): New macro. 1167 (CHAR_COMPOSED_P): New macro.
1175 (get_next_display_element): For automatic composition, get a face 1168 (get_next_display_element): For automatic composition, get a face
1176 from the font in the glyph-string. 1169 from the font in the glyph-string.
1177 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING, 1170 (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
1178 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION 1171 check composition by it->cmp_it.id. Delete GET_FROM_COMPOSITION case.
1179 case.
1180 (next_element_from_string): Check if the character at the current 1172 (next_element_from_string): Check if the character at the current
1181 position is composed by CHAR_COMPOSED_P. 1173 position is composed by CHAR_COMPOSED_P.
1182 (next_element_from_buffer): Likewise. 1174 (next_element_from_buffer): Likewise.
1183 (next_element_from_composition): Adjusted for the change of struct 1175 (next_element_from_composition): Adjust for the change of struct
1184 it. Update it->cmp_it. 1176 it. Update it->cmp_it.
1185 (dump_glyph): Adjusted for the change of struct glyph. 1177 (dump_glyph): Adjust for the change of struct glyph.
1186 (fill_composite_glyph_string): Adjusted for the change of struct 1178 (fill_composite_glyph_string): Adjust for the change of struct
1187 it and struct glyph. Don't handle automatic composition here. 1179 it and struct glyph. Don't handle automatic composition here.
1188 (fill_gstring_glyph_string): New function. 1180 (fill_gstring_glyph_string): New function.
1189 (x_get_glyph_overhangs): Handle automatic composition. 1181 (x_get_glyph_overhangs): Handle automatic composition.
1190 (BUILD_COMPOSITE_GLYPH_STRING): Adjusted for the change of struct 1182 (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the change of struct glyph.
1191 glyph.
1192 (BUILD_GSTRING_GLYPH_STRING): New macro. 1183 (BUILD_GSTRING_GLYPH_STRING): New macro.
1193 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for 1184 (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
1194 automatic composition. 1185 automatic composition.
1195 (append_composite_glyph): Adjusted for the change of struct it and 1186 (append_composite_glyph): Adjust for the change of struct it and
1196 struct glyph. 1187 struct glyph.
1197 (x_produce_glyphs): Adjusted for the change of struct it. 1188 (x_produce_glyphs): Adjust for the change of struct it.
1198 1189
1199 * xterm.c (x_draw_composite_glyph_string_foreground): Adjusted for 1190 * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
1200 the change of struct glyph_string. 1191 the change of struct glyph_string.
1201 (x_draw_glyph_string): Likewise. 1192 (x_draw_glyph_string): Likewise.
1202 1193
@@ -1252,8 +1243,7 @@
1252 1243
12532008-08-27 Kenichi Handa <handa@m17n.org> 12442008-08-27 Kenichi Handa <handa@m17n.org>
1254 1245
1255 * fileio.c (report_file_error): Fix handling of multibyte error 1246 * fileio.c (report_file_error): Fix handling of multibyte error string.
1256 string.
1257 1247
12582008-08-27 Andreas Seltenreich <seltenreich@gmx.de> 12482008-08-27 Andreas Seltenreich <seltenreich@gmx.de>
1259 1249
@@ -1282,8 +1272,7 @@
12822008-08-26 Chong Yidong <cyd@stupidchicken.com> 12722008-08-26 Chong Yidong <cyd@stupidchicken.com>
1283 1273
1284 * indent.c (Fvertical_motion): If moving forward starting from a 1274 * indent.c (Fvertical_motion): If moving forward starting from a
1285 multi-line string, move the iterator to the last line of that 1275 multi-line string, move the iterator to the last line of that string.
1286 string.
1287 1276
12882008-08-25 Eli Zaretskii <eliz@gnu.org> 12772008-08-25 Eli Zaretskii <eliz@gnu.org>
1289 1278
@@ -1318,8 +1307,8 @@
1318 * dispnew.c (init_display): Remove MS-DOS specific conditions for 1307 * dispnew.c (init_display): Remove MS-DOS specific conditions for
1319 calling tty-set-up-initial-frame-faces. 1308 calling tty-set-up-initial-frame-faces.
1320 1309
1321 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show): Allow 1310 * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show):
1322 MSDOS frames along with X frames. 1311 Allow MSDOS frames along with X frames.
1323 1312
1324 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in 1313 * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
1325 addition to output_termcap. 1314 addition to output_termcap.
@@ -1334,12 +1323,11 @@
1334 (syms_of_process): Intern and staticpro it. 1323 (syms_of_process): Intern and staticpro it.
1335 1324
1336 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data): 1325 * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
1337 Adjust for changes in encoding/decoding routines. Use 1326 Adjust for changes in encoding/decoding routines.
1338 encode_coding_object and decode_coding_object instead of 1327 Use encode_coding_object and decode_coding_object instead of
1339 encode_coding and decode_coding. 1328 encode_coding and decode_coding.
1340 1329
1341 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as 1330 * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as argument.
1342 argument.
1343 1331
1344 * dosfns.c: Include frame.h before termhooks.h. 1332 * dosfns.c: Include frame.h before termhooks.h.
1345 (dos_cleanup): Use CURTTY ()->termscript instead of a global 1333 (dos_cleanup): Use CURTTY ()->termscript instead of a global
@@ -1372,8 +1360,8 @@
1372 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system. 1360 Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system.
1373 Announce date and time of session start, if termscript is open. 1361 Announce date and time of session start, if termscript is open.
1374 Don't zero out the_only_display_info (it is done in 1362 Don't zero out the_only_display_info (it is done in
1375 term.c:init_tty). Open termscript only of not already open. Log 1363 term.c:init_tty). Open termscript only of not already open.
1376 "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse 1364 Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse
1377 here instead of dos_ttraw. Don't initialize display if this is an 1365 here instead of dos_ttraw. Don't initialize display if this is an
1378 initial tty. Don't set FRAME_FONT. 1366 initial tty. Don't set FRAME_FONT.
1379 (Vwindow_system_version): Bump to 23. 1367 (Vwindow_system_version): Bump to 23.
@@ -1392,8 +1380,7 @@
1392 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs) 1380 (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
1393 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes) 1381 (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
1394 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin): 1382 (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
1395 Accept additional argument: a pointer to a frame. All callers 1383 Accept additional argument: a pointer to a frame. Update all callers.
1396 changed.
1397 (request_sigio, unrequest_sigio): Don't define, now defined on 1384 (request_sigio, unrequest_sigio): Don't define, now defined on
1398 sysdep.c. 1385 sysdep.c.
1399 (IT_write_glyphs): Rewrite to use encode_terminal_code. 1386 (IT_write_glyphs): Rewrite to use encode_terminal_code.
@@ -1406,13 +1393,12 @@
1406 dimensions. Call init_baud_rate to set bad_rate. 1393 dimensions. Call init_baud_rate to set bad_rate.
1407 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body. 1394 (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
1408 (Fsuspend_tty) [MSDOS]: Don't close input and output. 1395 (Fsuspend_tty) [MSDOS]: Don't close input and output.
1409 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use 1396 (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use stdin/stdout.
1410 stdin/stdout.
1411 (get_tty_terminal, get_named_tty, Ftty_type) 1397 (get_tty_terminal, get_named_tty, Ftty_type)
1412 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to 1398 (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
1413 output_termcap. 1399 output_termcap.
1414 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty): Call 1400 (Fresume_tty, Fsuspend_tty, init_tty, delete_tty):
1415 add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor 1401 Call add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
1416 only when subprocesses are supported 1402 only when subprocesses are supported
1417 1403
1418 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of 1404 * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
@@ -1424,10 +1410,10 @@
1424 x_output. 1410 x_output.
1425 (FRAME_FONT): Use output_data.tty. 1411 (FRAME_FONT): Use output_data.tty.
1426 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define. 1412 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
1427 (struct x_display_info): Renamed from display_info. All users in 1413 (struct x_display_info): Rename from display_info. Update all users in
1428 msdos.c changed. 1414 msdos.c.
1429 (struct x_output): Remove background_pixel and foreground_pixel. 1415 (struct x_output): Remove background_pixel and foreground_pixel.
1430 (the_only_display_info): Renamed from the_only_x_display. 1416 (the_only_display_info): Rename from the_only_x_display.
1431 (dos_ttraw): Update prototype. 1417 (dos_ttraw): Update prototype.
1432 1418
1433 * Makefile.in (MSDOS_OBJ): Add xmenu.o. 1419 * Makefile.in (MSDOS_OBJ): Add xmenu.o.
diff --git a/src/buffer.c b/src/buffer.c
index b9c4c853546..4e87498ea51 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -2234,10 +2234,6 @@ DEFUN ("buffer-swap-text", Fbuffer_swap_text, Sbuffer_swap_text,
2234 swapfield (overlay_center, EMACS_INT); 2234 swapfield (overlay_center, EMACS_INT);
2235 swapfield (undo_list, Lisp_Object); 2235 swapfield (undo_list, Lisp_Object);
2236 swapfield (mark, Lisp_Object); 2236 swapfield (mark, Lisp_Object);
2237 if (MARKERP (current_buffer->mark) && XMARKER (current_buffer->mark)->buffer)
2238 XMARKER (current_buffer->mark)->buffer = current_buffer;
2239 if (MARKERP (other_buffer->mark) && XMARKER (other_buffer->mark)->buffer)
2240 XMARKER (other_buffer->mark)->buffer = other_buffer;
2241 swapfield (enable_multibyte_characters, Lisp_Object); 2237 swapfield (enable_multibyte_characters, Lisp_Object);
2242 /* FIXME: Not sure what we should do with these *_marker fields. 2238 /* FIXME: Not sure what we should do with these *_marker fields.
2243 Hopefully they're just nil anyway. */ 2239 Hopefully they're just nil anyway. */
@@ -2252,16 +2248,24 @@ DEFUN ("buffer-swap-text", Fbuffer_swap_text, Sbuffer_swap_text,
2252 current_buffer->text->overlay_modiff++; other_buffer->text->overlay_modiff++; 2248 current_buffer->text->overlay_modiff++; other_buffer->text->overlay_modiff++;
2253 current_buffer->text->beg_unchanged = current_buffer->text->gpt; 2249 current_buffer->text->beg_unchanged = current_buffer->text->gpt;
2254 current_buffer->text->end_unchanged = current_buffer->text->gpt; 2250 current_buffer->text->end_unchanged = current_buffer->text->gpt;
2255 other_buffer->text->beg_unchanged = current_buffer->text->gpt; 2251 other_buffer->text->beg_unchanged = other_buffer->text->gpt;
2256 other_buffer->text->end_unchanged = current_buffer->text->gpt; 2252 other_buffer->text->end_unchanged = other_buffer->text->gpt;
2257 { 2253 {
2258 struct Lisp_Marker *m; 2254 struct Lisp_Marker *m;
2259 for (m = BUF_MARKERS (current_buffer); m; m = m->next) 2255 for (m = BUF_MARKERS (current_buffer); m; m = m->next)
2260 if (m->buffer == other_buffer) 2256 if (m->buffer == other_buffer)
2261 m->buffer = current_buffer; 2257 m->buffer = current_buffer;
2258 else
2259 /* Since there's no indirect buffer in sight, markers on
2260 BUF_MARKERS(buf) should either be for `buf' or dead. */
2261 eassert (!m->buffer);
2262 for (m = BUF_MARKERS (other_buffer); m; m = m->next) 2262 for (m = BUF_MARKERS (other_buffer); m; m = m->next)
2263 if (m->buffer == current_buffer) 2263 if (m->buffer == current_buffer)
2264 m->buffer = other_buffer; 2264 m->buffer = other_buffer;
2265 else
2266 /* Since there's no indirect buffer in sight, markers on
2267 BUF_MARKERS(buf) should either be for `buf' or dead. */
2268 eassert (!m->buffer);
2265 } 2269 }
2266 { /* Some of the C code expects that w->buffer == w->pointm->buffer. 2270 { /* Some of the C code expects that w->buffer == w->pointm->buffer.
2267 So since we just swapped the markers between the two buffers, we need 2271 So since we just swapped the markers between the two buffers, we need