Mercurial > emacs
comparison src/lread.c @ 58517:7b179055722a
(readchar): Check QUIT when `getc' is interrupted.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Thu, 25 Nov 2004 20:01:18 +0000 |
parents | 377948a6af9a |
children | f83ca2ccbeeb 549734260e34 f2ebccfa87d4 |
comparison
equal
deleted
inserted
replaced
58516:3bd95b9c636a | 58517:7b179055722a |
---|---|
1 /* Lisp parsing and input streams. | 1 /* Lisp parsing and input streams. |
2 Copyright (C) 1985,86,87,88,89,93,94,95,97,98,99,2000,01,03,2004 | 2 Copyright (C) 1985, 1986, 1987, 1988, 1989, 1993, 1994, 1995, 1997, 1998, |
3 Free Software Foundation, Inc. | 3 1999, 2000, 2001, 2003, 2004 Free Software Foundation, Inc. |
4 | 4 |
5 This file is part of GNU Emacs. | 5 This file is part of GNU Emacs. |
6 | 6 |
7 GNU Emacs is free software; you can redistribute it and/or modify | 7 GNU Emacs is free software; you can redistribute it and/or modify |
8 it under the terms of the GNU General Public License as published by | 8 it under the terms of the GNU General Public License as published by |
320 c = getc (instream); | 320 c = getc (instream); |
321 #ifdef EINTR | 321 #ifdef EINTR |
322 /* Interrupted reads have been observed while reading over the network */ | 322 /* Interrupted reads have been observed while reading over the network */ |
323 while (c == EOF && ferror (instream) && errno == EINTR) | 323 while (c == EOF && ferror (instream) && errno == EINTR) |
324 { | 324 { |
325 QUIT; | |
325 clearerr (instream); | 326 clearerr (instream); |
326 c = getc (instream); | 327 c = getc (instream); |
327 } | 328 } |
328 #endif | 329 #endif |
329 return c; | 330 return c; |