]> code.delx.au - gnu-emacs/blobdiff - src/callproc.c
(Fget_char_property): Update call to overlays_at.
[gnu-emacs] / src / callproc.c
index a79816b2f38cdf6fae444973397f5aa2f3b7a608..103ece304bcb3e61ebc26564a93f1c4572a3636d 100644 (file)
@@ -727,6 +727,8 @@ If you quit, the process is killed with SIGINT, or SIGKILL if you quit again.")
     int carryover = 0;
     int display_on_the_fly = !NILP (display) && INTERACTIVE;
     struct coding_system saved_coding;
+    int pt_orig = PT, pt_byte_orig = PT_BYTE;
+    int inserted;
 
     saved_coding = process_coding;
     if (process_coding.composing != COMPOSITION_DISABLED)
@@ -844,6 +846,13 @@ If you quit, the process is killed with SIGINT, or SIGKILL if you quit again.")
        coding_free_composition_data (&process_coding);
       }
 
+    record_unwind_protect (save_excursion_restore, save_excursion_save ());
+    inserted = PT - pt_orig;
+    TEMP_SET_PT_BOTH (pt_orig, pt_byte_orig);
+    if (SYMBOLP (process_coding.post_read_conversion)
+       && !NILP (Ffboundp (process_coding.post_read_conversion)))
+      call1 (process_coding.post_read_conversion, make_number (inserted));
+
     Vlast_coding_system_used = process_coding.symbol;
 
     /* If the caller required, let the buffer inherit the
@@ -1219,7 +1228,7 @@ child_setup (in, out, err, new_argv, set_pgrp, current_dir)
 
 #ifdef MSDOS
   pid = run_msdos_command (new_argv, pwd_var + 4, in, out, err, env);
-  free (pwd_var);
+  xfree (pwd_var);
   if (pid == -1)
     /* An error occurred while trying to run the subprocess.  */
     report_file_error ("Spawning child process", Qnil);