Mercurial > emacs
diff src/lread.c @ 20566:0877f6e6fc15
(readchar): Use marker's bytepos instead of bufpos.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Fri, 02 Jan 1998 21:27:40 +0000 |
parents | e9733cb049d9 |
children | 4bf29951648f |
line wrap: on
line diff
--- 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))