diff options
| author | Vincent Belaïche | 2017-06-23 22:08:10 +0200 |
|---|---|---|
| committer | Vincent Belaïche | 2017-06-23 22:08:10 +0200 |
| commit | 2f943ab169cd6a88474e0e8a67112d3b7a5ff835 (patch) | |
| tree | 2154fc48d875b9fdf247b70214b7092c80c06e77 /src/lread.c | |
| parent | eebb9783e1674732b7c63d50211b524ff0fea7bd (diff) | |
| parent | dfe73cb06f1dff052aff0abe51ced3b097b06340 (diff) | |
| download | emacs-2f943ab169cd6a88474e0e8a67112d3b7a5ff835.tar.gz emacs-2f943ab169cd6a88474e0e8a67112d3b7a5ff835.zip | |
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Diffstat (limited to 'src/lread.c')
| -rw-r--r-- | src/lread.c | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/src/lread.c b/src/lread.c index b01cbd5c072..182f96223a5 100644 --- a/src/lread.c +++ b/src/lread.c | |||
| @@ -72,10 +72,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 72 | #define file_tell ftell | 72 | #define file_tell ftell |
| 73 | #endif | 73 | #endif |
| 74 | 74 | ||
| 75 | #ifndef HAVE_GETC_UNLOCKED | ||
| 76 | #define getc_unlocked getc | ||
| 77 | #endif | ||
| 78 | |||
| 79 | /* The objects or placeholders read with the #n=object form. | 75 | /* The objects or placeholders read with the #n=object form. |
| 80 | 76 | ||
| 81 | A hash table maps a number to either a placeholder (while the | 77 | A hash table maps a number to either a placeholder (while the |
| @@ -474,16 +470,15 @@ readbyte_from_file (int c, Lisp_Object readcharfun) | |||
| 474 | } | 470 | } |
| 475 | 471 | ||
| 476 | block_input (); | 472 | block_input (); |
| 477 | c = getc_unlocked (instream); | ||
| 478 | 473 | ||
| 479 | /* Interrupted reads have been observed while reading over the network. */ | 474 | /* Interrupted reads have been observed while reading over the network. */ |
| 480 | while (c == EOF && ferror (instream) && errno == EINTR) | 475 | while ((c = getc_unlocked (instream)) == EOF && errno == EINTR |
| 476 | && ferror_unlocked (instream)) | ||
| 481 | { | 477 | { |
| 482 | unblock_input (); | 478 | unblock_input (); |
| 483 | maybe_quit (); | 479 | maybe_quit (); |
| 484 | block_input (); | 480 | block_input (); |
| 485 | clearerr (instream); | 481 | clearerr_unlocked (instream); |
| 486 | c = getc_unlocked (instream); | ||
| 487 | } | 482 | } |
| 488 | 483 | ||
| 489 | unblock_input (); | 484 | unblock_input (); |
| @@ -1942,13 +1937,13 @@ readevalloop (Lisp_Object readcharfun, | |||
| 1942 | read_objects_map | 1937 | read_objects_map |
| 1943 | = make_hash_table (hashtest_eq, DEFAULT_HASH_SIZE, | 1938 | = make_hash_table (hashtest_eq, DEFAULT_HASH_SIZE, |
| 1944 | DEFAULT_REHASH_SIZE, DEFAULT_REHASH_THRESHOLD, | 1939 | DEFAULT_REHASH_SIZE, DEFAULT_REHASH_THRESHOLD, |
| 1945 | Qnil, Qnil); | 1940 | Qnil, false); |
| 1946 | if (! HASH_TABLE_P (read_objects_completed) | 1941 | if (! HASH_TABLE_P (read_objects_completed) |
| 1947 | || XHASH_TABLE (read_objects_completed)->count) | 1942 | || XHASH_TABLE (read_objects_completed)->count) |
| 1948 | read_objects_completed | 1943 | read_objects_completed |
| 1949 | = make_hash_table (hashtest_eq, DEFAULT_HASH_SIZE, | 1944 | = make_hash_table (hashtest_eq, DEFAULT_HASH_SIZE, |
| 1950 | DEFAULT_REHASH_SIZE, DEFAULT_REHASH_THRESHOLD, | 1945 | DEFAULT_REHASH_SIZE, DEFAULT_REHASH_THRESHOLD, |
| 1951 | Qnil, Qnil); | 1946 | Qnil, false); |
| 1952 | if (!NILP (Vpurify_flag) && c == '(') | 1947 | if (!NILP (Vpurify_flag) && c == '(') |
| 1953 | { | 1948 | { |
| 1954 | val = read_list (0, readcharfun); | 1949 | val = read_list (0, readcharfun); |
| @@ -2159,12 +2154,12 @@ read_internal_start (Lisp_Object stream, Lisp_Object start, Lisp_Object end) | |||
| 2159 | || XHASH_TABLE (read_objects_map)->count) | 2154 | || XHASH_TABLE (read_objects_map)->count) |
| 2160 | read_objects_map | 2155 | read_objects_map |
| 2161 | = make_hash_table (hashtest_eq, DEFAULT_HASH_SIZE, DEFAULT_REHASH_SIZE, | 2156 | = make_hash_table (hashtest_eq, DEFAULT_HASH_SIZE, DEFAULT_REHASH_SIZE, |
| 2162 | DEFAULT_REHASH_THRESHOLD, Qnil, Qnil); | 2157 | DEFAULT_REHASH_THRESHOLD, Qnil, false); |
| 2163 | if (! HASH_TABLE_P (read_objects_completed) | 2158 | if (! HASH_TABLE_P (read_objects_completed) |
| 2164 | || XHASH_TABLE (read_objects_completed)->count) | 2159 | || XHASH_TABLE (read_objects_completed)->count) |
| 2165 | read_objects_completed | 2160 | read_objects_completed |
| 2166 | = make_hash_table (hashtest_eq, DEFAULT_HASH_SIZE, DEFAULT_REHASH_SIZE, | 2161 | = make_hash_table (hashtest_eq, DEFAULT_HASH_SIZE, DEFAULT_REHASH_SIZE, |
| 2167 | DEFAULT_REHASH_THRESHOLD, Qnil, Qnil); | 2162 | DEFAULT_REHASH_THRESHOLD, Qnil, false); |
| 2168 | if (EQ (Vread_with_symbol_positions, Qt) | 2163 | if (EQ (Vread_with_symbol_positions, Qt) |
| 2169 | || EQ (Vread_with_symbol_positions, stream)) | 2164 | || EQ (Vread_with_symbol_positions, stream)) |
| 2170 | Vread_symbol_positions_list = Qnil; | 2165 | Vread_symbol_positions_list = Qnil; |