comparison src/callproc.c @ 408:501cfd01ee6d r21-2-34

Import from CVS: tag r21-2-34
author cvs
date Mon, 13 Aug 2007 11:18:11 +0200
parents b8cc9ab3f761
children de805c49cfc1
comparison
equal deleted inserted replaced
407:ed6218a7d4d3 408:501cfd01ee6d
186 int pid; 186 int pid;
187 char buf[16384]; 187 char buf[16384];
188 char *bufptr = buf; 188 char *bufptr = buf;
189 int bufsize = 16384; 189 int bufsize = 16384;
190 int speccount = specpdl_depth (); 190 int speccount = specpdl_depth ();
191 struct gcpro gcpro1, gcpro2; 191 struct gcpro gcpro1, gcpro2, gcpro3;
192 char **new_argv = alloca_array (char *, max (2, nargs - 2)); 192 char **new_argv = alloca_array (char *, max (2, nargs - 2));
193 193
194 /* File to use for stderr in the child. 194 /* File to use for stderr in the child.
195 t means use same as standard output. */ 195 t means use same as standard output. */
196 Lisp_Object error_file; 196 Lisp_Object error_file;
233 Fcons (current_buffer->directory, Qnil)); 233 Fcons (current_buffer->directory, Qnil));
234 #endif /* 0 */ 234 #endif /* 0 */
235 NUNGCPRO; 235 NUNGCPRO;
236 } 236 }
237 237
238 GCPRO1 (current_dir); 238 GCPRO2 (current_dir, path);
239 239
240 if (nargs >= 2 && ! NILP (args[1])) 240 if (nargs >= 2 && ! NILP (args[1]))
241 { 241 {
242 struct gcpro ngcpro1; 242 struct gcpro ngcpro1;
243 NGCPRO1 (current_buffer->directory); 243 NGCPRO1 (current_buffer->directory);
248 else 248 else
249 infile = build_string (NULL_DEVICE); 249 infile = build_string (NULL_DEVICE);
250 250
251 UNGCPRO; 251 UNGCPRO;
252 252
253 GCPRO2 (infile, current_dir); /* Fexpand_file_name might trash it */ 253 GCPRO3 (infile, current_dir, path); /* Fexpand_file_name might trash it */
254 254
255 if (nargs >= 3) 255 if (nargs >= 3)
256 { 256 {
257 buffer = args[2]; 257 buffer = args[2];
258 258