diff options
Diffstat (limited to 'src/lread.c')
| -rw-r--r-- | src/lread.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/src/lread.c b/src/lread.c index 80250cfcb1c..7aba203d685 100644 --- a/src/lread.c +++ b/src/lread.c | |||
| @@ -2986,19 +2986,14 @@ read1 (register Lisp_Object readcharfun, int *pch, int first_in_list) | |||
| 2986 | if (!NILP (Vpurify_flag) && NILP (Vdoc_file_name) && cancel) | 2986 | if (!NILP (Vpurify_flag) && NILP (Vdoc_file_name) && cancel) |
| 2987 | return make_number (0); | 2987 | return make_number (0); |
| 2988 | 2988 | ||
| 2989 | if (force_multibyte) | 2989 | if (! force_multibyte && force_singlebyte) |
| 2990 | /* READ_BUFFER already contains valid multibyte forms. */ | ||
| 2991 | ; | ||
| 2992 | else if (force_singlebyte) | ||
| 2993 | { | 2990 | { |
| 2991 | /* READ_BUFFER contains raw 8-bit bytes and no multibyte | ||
| 2992 | forms. Convert it to unibyte. */ | ||
| 2994 | nchars = str_as_unibyte ((unsigned char *) read_buffer, | 2993 | nchars = str_as_unibyte ((unsigned char *) read_buffer, |
| 2995 | p - read_buffer); | 2994 | p - read_buffer); |
| 2996 | p = read_buffer + nchars; | 2995 | p = read_buffer + nchars; |
| 2997 | } | 2996 | } |
| 2998 | else | ||
| 2999 | { | ||
| 3000 | /* Otherwise, READ_BUFFER contains only ASCII. */ | ||
| 3001 | } | ||
| 3002 | 2997 | ||
| 3003 | return make_specified_string (read_buffer, nchars, p - read_buffer, | 2998 | return make_specified_string (read_buffer, nchars, p - read_buffer, |
| 3004 | (force_multibyte | 2999 | (force_multibyte |