aboutsummaryrefslogtreecommitdiffstats
path: root/src/lread.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lread.c')
-rw-r--r--src/lread.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/src/lread.c b/src/lread.c
index 8716b86e9bf..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 ();