QUIT;
#ifdef SYNC_INPUT
else
- {
- if (interrupt_input_pending)
- handle_async_input ();
- if (pending_atimers)
- do_pending_atimers ();
- }
+ process_pending_signals ();
#endif
/* Exit now if the cell we're waiting for became non-nil. */
/* Running filters might relocate buffers or strings.
Arrange to relocate BUF. */
- if (BUFFERP (object))
+ if (CODING_REQUIRE_ENCODING (coding))
+ offset = buf - SDATA (coding->dst_object);
+ else if (BUFFERP (object))
offset = BUF_PTR_BYTE_POS (XBUFFER (object), buf);
else if (STRINGP (object))
offset = buf - SDATA (object);
wait_reading_process_output (1, 0, 0, 0, Qnil, NULL, 0);
#endif
- if (BUFFERP (object))
+ if (CODING_REQUIRE_ENCODING (coding))
+ buf = offset + SDATA (coding->dst_object);
+ else if (BUFFERP (object))
buf = BUF_BYTE_ADDRESS (XBUFFER (object), offset);
else if (STRINGP (object))
buf = offset + SDATA (object);