(Fgoto_char): When arg is a marker, copy char and byte
positions from it. When arg is an integer, no need to worry that it is in middle of a character. (buildmark): Take 2 args (charpos and bytepos). Callers changed. (Fline_beginning_position): Save and restore both kinds of PT. (Fprevious_char): Use PT_BYTE. (Fbolp, Feolp): Use PT_BYTE. (transpose_markers): Take args in chars and bytes. (Ftranspose_regions): Work with byte and char positions. (Fchar_after, Fchar_before): Use bytepos. (make_buffer_string): Convert charpos to bytepos. (Fcompare_buffer_substrings): Work with charpos and bytepos. (Fsubst_char_in_region): Handle charpos and bytepos. (Fwiden, Fnarrow_to_region): Likewise. (save_restriction_restore): Update PT and PT_BYTES. Cast arg to doprnt_lisp.
Showing with 220 additions and 170 deletions