aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog55
-rw-r--r--src/ChangeLog.112
-rw-r--r--src/bidi.c8
-rw-r--r--src/dispextern.h7
-rw-r--r--src/process.c19
-rw-r--r--src/s/ms-w32.h6
-rw-r--r--src/w32heap.c24
-rw-r--r--src/w32proc.c10
-rw-r--r--src/xdisp.c15
-rw-r--r--src/xfaces.c36
-rw-r--r--src/xterm.c7
11 files changed, 124 insertions, 65 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index ae8835478a5..71bfec1f061 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,58 @@
12012-03-25 Fabrice Popineau <fabrice.popineau@supelec.fr>
2
3 * w32heap.c (_heap_init, _heap_term): Remove dead MSVC-specific
4 code.
5
62012-03-25 Kenichi Handa <handa@m17n.org>
7
8 * dispextern.h (struct glyph): Change the bit length of
9 glyphless.ch to 22 to make the member glyphless fit in 32 bits.
10
112012-03-24 Eli Zaretskii <eliz@gnu.org>
12
13 * s/ms-w32.h (tzname): Include time.h before redirecting to
14 _tzname. Fixes the MSVC build. (Bug#9960)
15
162012-03-24 Andreas Schwab <schwab@linux-m68k.org>
17
18 * xdisp.c (produce_glyphless_glyph): Limit length of acronym to 6
19 characters.
20
21 * xterm.c (XTread_socket): Only modify handling_signal if
22 !SYNC_INPUT. (Bug#11080)
23
242012-03-23 Eli Zaretskii <eliz@gnu.org>
25
26 * bidi.c (bidi_fetch_char): Use STRING_CHAR_AND_LENGTH instead of
27 FETCH_MULTIBYTE_CHAR followed by CHAR_BYTES. Prevents crashes
28 when fetching a multibyte character consumes more bytes than
29 CHAR_BYTES returns, due to unification of CJK characters in
30 string_char. (Bug#11073)
31
322012-03-23 Troels Nielsen <bn.troels@gmail.com> (tiny change)
33
34 * process.c (wait_reading_process_output): Handle pty disconnect
35 by refraining from sending oneself a SIGCHLD (bug#10933).
36
372012-03-22 Chong Yidong <cyd@gnu.org>
38
39 * dispextern.h (struct it): New member string_from_prefix_prop_p.
40
41 * xdisp.c (push_prefix_prop): Rename from push_display_prop.
42 Mark string as coming from a prefix property.
43 (handle_face_prop): Use default face for prefix strings (Bug#4281).
44 (pop_it, reseat_1): Save and restore string_from_prefix_prop_p.
45
462012-03-21 Chong Yidong <cyd@gnu.org>
47
48 * xfaces.c (Vface_remapping_alist): Doc fix.
49
502012-03-20 Eli Zaretskii <eliz@gnu.org>
51
52 * w32proc.c (Fw32_set_console_codepage)
53 (Fw32_set_console_output_codepage, Fw32_get_codepage_charset):
54 Doc fixes.
55
12012-03-20 Chong Yidong <cyd@gnu.org> 562012-03-20 Chong Yidong <cyd@gnu.org>
2 57
3 * dispnew.c (Fredisplay, Vredisplay_preemption_period): Update doc 58 * dispnew.c (Fredisplay, Vredisplay_preemption_period): Update doc
diff --git a/src/ChangeLog.11 b/src/ChangeLog.11
index 2e5404779b1..97d5a65281a 100644
--- a/src/ChangeLog.11
+++ b/src/ChangeLog.11
@@ -9627,7 +9627,7 @@
9627 * frame.c (Vdefault_frame_scroll_bars): Put non-GTK X scroll-bars 9627 * frame.c (Vdefault_frame_scroll_bars): Put non-GTK X scroll-bars
9628 on left. 9628 on left.
9629 9629
96302010-03-13 Andreas Politz <politza@fh-trier.de> (tiny change) 96302010-03-13 Andreas Politz <politza@fh-trier.de>
9631 9631
9632 * editfns.c (Fformat): Account for string precision when computing 9632 * editfns.c (Fformat): Account for string precision when computing
9633 field width (Bug#5710). 9633 field width (Bug#5710).
diff --git a/src/bidi.c b/src/bidi.c
index 107c817abba..b3479b17b16 100644
--- a/src/bidi.c
+++ b/src/bidi.c
@@ -932,6 +932,7 @@ bidi_fetch_char (EMACS_INT bytepos, EMACS_INT charpos, EMACS_INT *disp_pos,
932 EMACS_INT endpos 932 EMACS_INT endpos
933 = (string->s || STRINGP (string->lstring)) ? string->schars : ZV; 933 = (string->s || STRINGP (string->lstring)) ? string->schars : ZV;
934 struct text_pos pos; 934 struct text_pos pos;
935 int len;
935 936
936 /* If we got past the last known position of display string, compute 937 /* If we got past the last known position of display string, compute
937 the position of the next one. That position could be at CHARPOS. */ 938 the position of the next one. That position could be at CHARPOS. */
@@ -1003,7 +1004,6 @@ bidi_fetch_char (EMACS_INT bytepos, EMACS_INT charpos, EMACS_INT *disp_pos,
1003 normal_char: 1004 normal_char:
1004 if (string->s) 1005 if (string->s)
1005 { 1006 {
1006 int len;
1007 1007
1008 if (!string->unibyte) 1008 if (!string->unibyte)
1009 { 1009 {
@@ -1018,8 +1018,6 @@ bidi_fetch_char (EMACS_INT bytepos, EMACS_INT charpos, EMACS_INT *disp_pos,
1018 } 1018 }
1019 else if (STRINGP (string->lstring)) 1019 else if (STRINGP (string->lstring))
1020 { 1020 {
1021 int len;
1022
1023 if (!string->unibyte) 1021 if (!string->unibyte)
1024 { 1022 {
1025 ch = STRING_CHAR_AND_LENGTH (SDATA (string->lstring) + bytepos, 1023 ch = STRING_CHAR_AND_LENGTH (SDATA (string->lstring) + bytepos,
@@ -1034,8 +1032,8 @@ bidi_fetch_char (EMACS_INT bytepos, EMACS_INT charpos, EMACS_INT *disp_pos,
1034 } 1032 }
1035 else 1033 else
1036 { 1034 {
1037 ch = FETCH_MULTIBYTE_CHAR (bytepos); 1035 ch = STRING_CHAR_AND_LENGTH (BYTE_POS_ADDR (bytepos), len);
1038 *ch_len = CHAR_BYTES (ch); 1036 *ch_len = len;
1039 } 1037 }
1040 *nchars = 1; 1038 *nchars = 1;
1041 } 1039 }
diff --git a/src/dispextern.h b/src/dispextern.h
index 7db665993d5..af5a3e836d7 100644
--- a/src/dispextern.h
+++ b/src/dispextern.h
@@ -461,7 +461,7 @@ struct glyph
461 /* Length of acronym or hexadecimal code string (at most 8). */ 461 /* Length of acronym or hexadecimal code string (at most 8). */
462 unsigned len : 4; 462 unsigned len : 4;
463 /* Character to display. Actually we need only 22 bits. */ 463 /* Character to display. Actually we need only 22 bits. */
464 unsigned ch : 26; 464 unsigned ch : 22;
465 } glyphless; 465 } glyphless;
466 466
467 /* Used to compare all bit-fields above in one step. */ 467 /* Used to compare all bit-fields above in one step. */
@@ -2169,6 +2169,10 @@ struct it
2169 Don't handle some `display' properties in these strings. */ 2169 Don't handle some `display' properties in these strings. */
2170 unsigned string_from_display_prop_p : 1; 2170 unsigned string_from_display_prop_p : 1;
2171 2171
2172 /* 1 means `string' comes from a `line-prefix' or `wrap-prefix'
2173 property. */
2174 unsigned string_from_prefix_prop_p : 1;
2175
2172 /* 1 means we are iterating an object that came from a value of a 2176 /* 1 means we are iterating an object that came from a value of a
2173 `display' property. */ 2177 `display' property. */
2174 unsigned from_disp_prop_p : 1; 2178 unsigned from_disp_prop_p : 1;
@@ -2296,6 +2300,7 @@ struct it
2296 bidi_dir_t paragraph_embedding; 2300 bidi_dir_t paragraph_embedding;
2297 unsigned multibyte_p : 1; 2301 unsigned multibyte_p : 1;
2298 unsigned string_from_display_prop_p : 1; 2302 unsigned string_from_display_prop_p : 1;
2303 unsigned string_from_prefix_prop_p : 1;
2299 unsigned display_ellipsis_p : 1; 2304 unsigned display_ellipsis_p : 1;
2300 unsigned avoid_cursor_p : 1; 2305 unsigned avoid_cursor_p : 1;
2301 unsigned bidi_p:1; 2306 unsigned bidi_p:1;
diff --git a/src/process.c b/src/process.c
index bdf16b7dbd2..f2f33a9eafc 100644
--- a/src/process.c
+++ b/src/process.c
@@ -4888,15 +4888,20 @@ wait_reading_process_output (int time_limit, int microsecs, int read_kbd,
4888 It can't hurt. */ 4888 It can't hurt. */
4889 else if (nread == -1 && errno == EIO) 4889 else if (nread == -1 && errno == EIO)
4890 { 4890 {
4891 /* Clear the descriptor now, so we only raise the signal once. */ 4891 /* Don't do anything if only a pty, with no associated
4892 FD_CLR (channel, &input_wait_mask); 4892 process (bug#10933). */
4893 FD_CLR (channel, &non_keyboard_wait_mask); 4893 if (XPROCESS (proc)->pid != -2) {
4894 4894 /* Clear the descriptor now, so we only raise the signal
4895 kill (getpid (), SIGCHLD); 4895 once. */
4896 FD_CLR (channel, &input_wait_mask);
4897 FD_CLR (channel, &non_keyboard_wait_mask);
4898
4899 kill (getpid (), SIGCHLD);
4900 }
4896 } 4901 }
4897#endif /* HAVE_PTYS */ 4902#endif /* HAVE_PTYS */
4898 /* If we can detect process termination, don't consider the process 4903 /* If we can detect process termination, don't consider the
4899 gone just because its pipe is closed. */ 4904 process gone just because its pipe is closed. */
4900#ifdef SIGCHLD 4905#ifdef SIGCHLD
4901 else if (nread == 0 && !NETCONN_P (proc) && !SERIALCONN_P (proc)) 4906 else if (nread == 0 && !NETCONN_P (proc) && !SERIALCONN_P (proc))
4902 ; 4907 ;
diff --git a/src/s/ms-w32.h b/src/s/ms-w32.h
index d533ae34ac3..5eed3a177dc 100644
--- a/src/s/ms-w32.h
+++ b/src/s/ms-w32.h
@@ -286,6 +286,12 @@ typedef int pid_t;
286#define stricmp _stricmp 286#define stricmp _stricmp
287#define tzset _tzset 287#define tzset _tzset
288 288
289/* Include time.h before redirecting tzname, since MSVC's time.h
290 defines _tzname to call a function, but also declares tzname a
291 2-element array. Having the redirection before including the
292 header thus has the effect of declaring a function that returns an
293 array, and triggers an error message. */
294#include <time.h>
289#define tzname _tzname 295#define tzname _tzname
290#if !defined (_MSC_VER) || (_MSC_VER < 1400) 296#if !defined (_MSC_VER) || (_MSC_VER < 1400)
291#undef utime 297#undef utime
diff --git a/src/w32heap.c b/src/w32heap.c
index 35ac4cbf31f..da8579896f2 100644
--- a/src/w32heap.c
+++ b/src/w32heap.c
@@ -296,27 +296,3 @@ round_heap (unsigned long align)
296 if (need_to_alloc) 296 if (need_to_alloc)
297 sbrk (need_to_alloc); 297 sbrk (need_to_alloc);
298} 298}
299
300#if (_MSC_VER >= 1000 && _MSC_VER < 1300 && !defined (USE_CRT_DLL))
301
302/* MSVC 4.2 invokes these functions from mainCRTStartup to initialize
303 a heap via HeapCreate. They are normally defined by the runtime,
304 but we override them here so that the unnecessary HeapCreate call
305 is not performed. */
306
307int __cdecl
308_heap_init (void)
309{
310 /* Stepping through the assembly indicates that mainCRTStartup is
311 expecting a nonzero success return value. */
312 return 1;
313}
314
315void __cdecl
316_heap_term (void)
317{
318 return;
319}
320
321#endif
322
diff --git a/src/w32proc.c b/src/w32proc.c
index f7982f36913..28591f90128 100644
--- a/src/w32proc.c
+++ b/src/w32proc.c
@@ -2067,8 +2067,8 @@ DEFUN ("w32-get-console-codepage", Fw32_get_console_codepage,
2067 2067
2068DEFUN ("w32-set-console-codepage", Fw32_set_console_codepage, 2068DEFUN ("w32-set-console-codepage", Fw32_set_console_codepage,
2069 Sw32_set_console_codepage, 1, 1, 0, 2069 Sw32_set_console_codepage, 1, 1, 0,
2070 doc: /* Make Windows codepage CP be the current codepage setting for Emacs. 2070 doc: /* Make Windows codepage CP be the codepage for Emacs tty keyboard input.
2071The codepage setting affects keyboard input and display in tty mode. 2071This codepage setting affects keyboard input in tty mode.
2072If successful, the new CP is returned, otherwise nil. */) 2072If successful, the new CP is returned, otherwise nil. */)
2073 (Lisp_Object cp) 2073 (Lisp_Object cp)
2074{ 2074{
@@ -2095,8 +2095,8 @@ DEFUN ("w32-get-console-output-codepage", Fw32_get_console_output_codepage,
2095 2095
2096DEFUN ("w32-set-console-output-codepage", Fw32_set_console_output_codepage, 2096DEFUN ("w32-set-console-output-codepage", Fw32_set_console_output_codepage,
2097 Sw32_set_console_output_codepage, 1, 1, 0, 2097 Sw32_set_console_output_codepage, 1, 1, 0,
2098 doc: /* Make Windows codepage CP be the current codepage setting for Emacs. 2098 doc: /* Make Windows codepage CP be the codepage for Emacs console output.
2099The codepage setting affects keyboard input and display in tty mode. 2099This codepage setting affects display in tty mode.
2100If successful, the new CP is returned, otherwise nil. */) 2100If successful, the new CP is returned, otherwise nil. */)
2101 (Lisp_Object cp) 2101 (Lisp_Object cp)
2102{ 2102{
@@ -2114,7 +2114,7 @@ If successful, the new CP is returned, otherwise nil. */)
2114 2114
2115DEFUN ("w32-get-codepage-charset", Fw32_get_codepage_charset, 2115DEFUN ("w32-get-codepage-charset", Fw32_get_codepage_charset,
2116 Sw32_get_codepage_charset, 1, 1, 0, 2116 Sw32_get_codepage_charset, 1, 1, 0,
2117 doc: /* Return charset of codepage CP. 2117 doc: /* Return charset ID corresponding to codepage CP.
2118Returns nil if the codepage is not valid. */) 2118Returns nil if the codepage is not valid. */)
2119 (Lisp_Object cp) 2119 (Lisp_Object cp)
2120{ 2120{
diff --git a/src/xdisp.c b/src/xdisp.c
index da2b78f67e3..b567893d719 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -3678,7 +3678,9 @@ handle_face_prop (struct it *it)
3678 with, so that overlay strings appear in the same face as 3678 with, so that overlay strings appear in the same face as
3679 surrounding text, unless they specify their own 3679 surrounding text, unless they specify their own
3680 faces. */ 3680 faces. */
3681 base_face_id = underlying_face_id (it); 3681 base_face_id = it->string_from_prefix_prop_p
3682 ? DEFAULT_FACE_ID
3683 : underlying_face_id (it);
3682 } 3684 }
3683 3685
3684 new_face_id = face_at_string_position (it->w, 3686 new_face_id = face_at_string_position (it->w,
@@ -5606,6 +5608,7 @@ push_it (struct it *it, struct text_pos *position)
5606 p->font_height = it->font_height; 5608 p->font_height = it->font_height;
5607 p->voffset = it->voffset; 5609 p->voffset = it->voffset;
5608 p->string_from_display_prop_p = it->string_from_display_prop_p; 5610 p->string_from_display_prop_p = it->string_from_display_prop_p;
5611 p->string_from_prefix_prop_p = it->string_from_prefix_prop_p;
5609 p->display_ellipsis_p = 0; 5612 p->display_ellipsis_p = 0;
5610 p->line_wrap = it->line_wrap; 5613 p->line_wrap = it->line_wrap;
5611 p->bidi_p = it->bidi_p; 5614 p->bidi_p = it->bidi_p;
@@ -5720,6 +5723,7 @@ pop_it (struct it *it)
5720 it->font_height = p->font_height; 5723 it->font_height = p->font_height;
5721 it->voffset = p->voffset; 5724 it->voffset = p->voffset;
5722 it->string_from_display_prop_p = p->string_from_display_prop_p; 5725 it->string_from_display_prop_p = p->string_from_display_prop_p;
5726 it->string_from_prefix_prop_p = p->string_from_prefix_prop_p;
5723 it->line_wrap = p->line_wrap; 5727 it->line_wrap = p->line_wrap;
5724 it->bidi_p = p->bidi_p; 5728 it->bidi_p = p->bidi_p;
5725 it->paragraph_embedding = p->paragraph_embedding; 5729 it->paragraph_embedding = p->paragraph_embedding;
@@ -6150,6 +6154,8 @@ reseat_1 (struct it *it, struct text_pos pos, int set_stop_p)
6150 it->multibyte_p = !NILP (BVAR (current_buffer, enable_multibyte_characters)); 6154 it->multibyte_p = !NILP (BVAR (current_buffer, enable_multibyte_characters));
6151 it->sp = 0; 6155 it->sp = 0;
6152 it->string_from_display_prop_p = 0; 6156 it->string_from_display_prop_p = 0;
6157 it->string_from_prefix_prop_p = 0;
6158
6153 it->from_disp_prop_p = 0; 6159 it->from_disp_prop_p = 0;
6154 it->face_before_selective_p = 0; 6160 it->face_before_selective_p = 0;
6155 if (it->bidi_p) 6161 if (it->bidi_p)
@@ -18644,7 +18650,7 @@ cursor_row_p (struct glyph_row *row)
18644 `line-prefix' and `wrap-prefix' properties. */ 18650 `line-prefix' and `wrap-prefix' properties. */
18645 18651
18646static int 18652static int
18647push_display_prop (struct it *it, Lisp_Object prop) 18653push_prefix_prop (struct it *it, Lisp_Object prop)
18648{ 18654{
18649 struct text_pos pos = 18655 struct text_pos pos =
18650 STRINGP (it->string) ? it->current.string_pos : it->current.pos; 18656 STRINGP (it->string) ? it->current.string_pos : it->current.pos;
@@ -18668,6 +18674,7 @@ push_display_prop (struct it *it, Lisp_Object prop)
18668 } 18674 }
18669 18675
18670 it->string = prop; 18676 it->string = prop;
18677 it->string_from_prefix_prop_p = 1;
18671 it->multibyte_p = STRING_MULTIBYTE (it->string); 18678 it->multibyte_p = STRING_MULTIBYTE (it->string);
18672 it->current.overlay_string_index = -1; 18679 it->current.overlay_string_index = -1;
18673 IT_STRING_CHARPOS (*it) = IT_STRING_BYTEPOS (*it) = 0; 18680 IT_STRING_CHARPOS (*it) = IT_STRING_BYTEPOS (*it) = 0;
@@ -18754,7 +18761,7 @@ handle_line_prefix (struct it *it)
18754 if (NILP (prefix)) 18761 if (NILP (prefix))
18755 prefix = Vline_prefix; 18762 prefix = Vline_prefix;
18756 } 18763 }
18757 if (! NILP (prefix) && push_display_prop (it, prefix)) 18764 if (! NILP (prefix) && push_prefix_prop (it, prefix))
18758 { 18765 {
18759 /* If the prefix is wider than the window, and we try to wrap 18766 /* If the prefix is wider than the window, and we try to wrap
18760 it, it would acquire its own wrap prefix, and so on till the 18767 it, it would acquire its own wrap prefix, and so on till the
@@ -24234,7 +24241,7 @@ produce_glyphless_glyph (struct it *it, int for_no_font, Lisp_Object acronym)
24234 sprintf (buf, "%0*X", it->c < 0x10000 ? 4 : 6, it->c); 24241 sprintf (buf, "%0*X", it->c < 0x10000 ? 4 : 6, it->c);
24235 str = buf; 24242 str = buf;
24236 } 24243 }
24237 for (len = 0; str[len] && ASCII_BYTE_P (str[len]); len++) 24244 for (len = 0; str[len] && ASCII_BYTE_P (str[len]) && len < 6; len++)
24238 code[len] = font->driver->encode_char (font, str[len]); 24245 code[len] = font->driver->encode_char (font, str[len]);
24239 upper_len = (len + 1) / 2; 24246 upper_len = (len + 1) / 2;
24240 font->driver->text_extents (font, code, upper_len, 24247 font->driver->text_extents (font, code, upper_len,
diff --git a/src/xfaces.c b/src/xfaces.c
index bcb04188aeb..476fb1e0366 100644
--- a/src/xfaces.c
+++ b/src/xfaces.c
@@ -6599,20 +6599,22 @@ ignore. */);
6599 doc: /* Alist of face remappings. 6599 doc: /* Alist of face remappings.
6600Each element is of the form: 6600Each element is of the form:
6601 6601
6602 (FACE REPLACEMENT...), 6602 (FACE . REPLACEMENT),
6603 6603
6604which causes display of the face FACE to use REPLACEMENT... instead. 6604which causes display of the face FACE to use REPLACEMENT instead.
6605REPLACEMENT... is interpreted the same way as the value of a `face' 6605REPLACEMENT is a face specification, i.e. one of the following:
6606text property: it may be (1) A face name, (2) A list of face names,
6607(3) A property-list of face attribute/value pairs, or (4) A list of
6608face names or lists containing face attribute/value pairs.
6609 6606
6610Multiple entries in REPLACEMENT... are merged together to form the final 6607 (1) a face name
6611result, with faces or attributes earlier in the list taking precedence 6608 (2) a property list of attribute/value pairs, or
6612over those that are later. 6609 (3) a list in which each element has the form of (1) or (2).
6613 6610
6614Face-name remapping cycles are suppressed; recursive references use the 6611List values for REPLACEMENT are merged to form the final face
6615underlying face instead of the remapped face. So a remapping of the form: 6612specification, with earlier entries taking precedence, in the same as
6613as in the `face' text property.
6614
6615Face-name remapping cycles are suppressed; recursive references use
6616the underlying face instead of the remapped face. So a remapping of
6617the form:
6616 6618
6617 (FACE EXTRA-FACE... FACE) 6619 (FACE EXTRA-FACE... FACE)
6618 6620
@@ -6620,13 +6622,13 @@ or:
6620 6622
6621 (FACE (FACE-ATTR VAL ...) FACE) 6623 (FACE (FACE-ATTR VAL ...) FACE)
6622 6624
6623will cause EXTRA-FACE... or (FACE-ATTR VAL ...) to be _merged_ with the 6625causes EXTRA-FACE... or (FACE-ATTR VAL ...) to be _merged_ with the
6624existing definition of FACE. Note that for the default face, this isn't 6626existing definition of FACE. Note that this isn't necessary for the
6625necessary, as every face inherits from the default face. 6627default face, since every face inherits from the default face.
6626 6628
6627Making this variable buffer-local is a good way to allow buffer-specific 6629If this variable is made buffer-local, the face remapping takes effect
6628face definitions. For instance, the mode my-mode could define a face 6630only in that buffer. For instance, the mode my-mode could define a
6629`my-mode-default', and then in the mode setup function, do: 6631face `my-mode-default', and then in the mode setup function, do:
6630 6632
6631 (set (make-local-variable 'face-remapping-alist) 6633 (set (make-local-variable 'face-remapping-alist)
6632 '((default my-mode-default)))). 6634 '((default my-mode-default)))).
diff --git a/src/xterm.c b/src/xterm.c
index 483676227ea..29d4dd453cb 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -7108,7 +7108,8 @@ x_dispatch_event (XEvent *event, Display *display)
7108 7108
7109 7109
7110/* Read events coming from the X server. 7110/* Read events coming from the X server.
7111 This routine is called by the SIGIO handler. 7111 This routine is called by the SIGIO handler only if SYNC_INPUT is
7112 not defined.
7112 We return as soon as there are no more events to be read. 7113 We return as soon as there are no more events to be read.
7113 7114
7114 We return the number of characters stored into the buffer, 7115 We return the number of characters stored into the buffer,
@@ -7142,7 +7143,9 @@ XTread_socket (struct terminal *terminal, int expected, struct input_event *hold
7142 /* So people can tell when we have read the available input. */ 7143 /* So people can tell when we have read the available input. */
7143 input_signal_count++; 7144 input_signal_count++;
7144 7145
7146#ifndef SYNC_INPUT
7145 ++handling_signal; 7147 ++handling_signal;
7148#endif
7146 7149
7147 /* For debugging, this gives a way to fake an I/O error. */ 7150 /* For debugging, this gives a way to fake an I/O error. */
7148 if (terminal->display_info.x == XTread_socket_fake_io_error) 7151 if (terminal->display_info.x == XTread_socket_fake_io_error)
@@ -7232,7 +7235,9 @@ XTread_socket (struct terminal *terminal, int expected, struct input_event *hold
7232 pending_autoraise_frame = 0; 7235 pending_autoraise_frame = 0;
7233 } 7236 }
7234 7237
7238#ifndef SYNC_INPUT
7235 --handling_signal; 7239 --handling_signal;
7240#endif
7236 UNBLOCK_INPUT; 7241 UNBLOCK_INPUT;
7237 7242
7238 return count; 7243 return count;