# HG changeset patch # User Richard M. Stallman # Date 883776460 0 # Node ID 0877f6e6fc1551ebcbdfb115be6cbd96da68c43c # Parent aa9b7c5f0f62beac9ced1651639932abe6e341eb (readchar): Use marker's bytepos instead of bufpos. diff -r aa9b7c5f0f62 -r 0877f6e6fc15 src/lread.c --- a/src/lread.c Fri Jan 02 21:27:13 1998 +0000 +++ b/src/lread.c Fri Jan 02 21:27:40 1998 +0000 @@ -208,22 +208,17 @@ if (bytepos >= BUF_ZV_BYTE (inbuffer)) return -1; - if (XMARKER (readcharfun)->bufpos == BUF_GPT_BYTE (inbuffer)) - XMARKER (readcharfun)->bufpos += BUF_GAP_SIZE (inbuffer); - if (! NILP (inbuffer->enable_multibyte_characters)) INC_POS (bytepos); else bytepos++; - XMARKER (readcharfun)->bufpos += bytepos - orig_bytepos; + XMARKER (readcharfun)->bytepos = bytepos; XMARKER (readcharfun)->charpos++; readchar_backlog = bytepos - orig_bytepos; } - /* Because we move ->bufpos across the gap before we advance it, - the gap never comes between the previous character and ->bufpos. */ - return *(BUF_BEG_ADDR (inbuffer) + XMARKER (readcharfun)->bufpos + return *(BUF_BEG_ADDR (inbuffer) + XMARKER (readcharfun)->bytepos - readchar_backlog--); } if (EQ (readcharfun, Qget_file_char))