]> code.delx.au - gnu-emacs/blobdiff - src/process.c
(struct font_driver): Fix typo.
[gnu-emacs] / src / process.c
index b6b4d3478a1ee4f8c518a2ff72a8be234a4f7962..10b3b714d54b03d1b896e2d59aafe1a98e7be34b 100644 (file)
@@ -4546,12 +4546,7 @@ wait_reading_process_output (time_limit, microsecs, read_kbd, do_display,
        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.  */
@@ -5750,7 +5745,9 @@ send_process (proc, buf, len, object)
 
                      /* 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);
@@ -5761,7 +5758,9 @@ send_process (proc, buf, len, 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);