Mercurial > emacs
diff src/lread.c @ 21635:83541dfdf8ee
(readchar): Find the previous byte's address properly
for the buffer case, as for the marker case.
| author | Richard M. Stallman <rms@gnu.org> |
|---|---|
| date | Fri, 17 Apr 1998 23:35:14 +0000 |
| parents | b039d32d8399 |
| children | 10d8ced94467 |
line wrap: on
line diff
--- a/src/lread.c Fri Apr 17 22:53:16 1998 +0000 +++ b/src/lread.c Fri Apr 17 23:35:14 1998 +0000 @@ -218,8 +218,12 @@ readchar_backlog = bytepos - orig_bytepos; } - return *(BUF_BEG_ADDR (inbuffer) + XMARKER (readcharfun)->bytepos - - readchar_backlog--); + /* We get the address of the byte just passed, + which is the last byte of the character. + The other bytes in this character are consecutive with it, + because the gap can't be in the middle of a character. */ + return *(BUF_BYTE_ADDRESS (inbuffer, XMARKER (readcharfun)->bytepos - 1) + - --readchar_backlog); } if (EQ (readcharfun, Qget_file_char)) {
