(check_markers): Check if markers are at character
boundry.
(adjust_markers_for_insert): Fix previous change.
(count_combining_before): Don't limit the check at BEGV.
(count_combining_after): Don't limit the check at ZV.
(CHECK_BYTE_COMBINING_FOR_INSERT): New macro.
(insert_1_both): Call CHECK_BYTE_COMBINING_FOR_INSERT.
(insert_from_string_1): Likewise.
(insert_from_buffer_1): Likewise.
(adjust_after_replace): Inhibit bytes combined across region
boundary. Update end_unchanged correctly.
(replace_range): Call CHECK_BYTE_COMBINING_FOR_INSERT. Update
end_unchanged correctly.
(del_range_2): Inhibit bytes combined across region boundary.
Update end_unchanged correctly.