# HG changeset patch # User Michael Albinus # Date 1183807071 0 # Node ID d50de52ebdfb7c626423ebb857dc81b4a991d980 # Parent c7c25a292d1a31d23e0f3c008ecaff7d244413ce * simple.el (start-file-process): New defun. diff -r c7c25a292d1a -r d50de52ebdfb lisp/ChangeLog --- a/lisp/ChangeLog Sat Jul 07 11:17:33 2007 +0000 +++ b/lisp/ChangeLog Sat Jul 07 11:17:51 2007 +0000 @@ -1,3 +1,7 @@ +2007-07-07 Michael Albinus + + * simple.el (start-file-process): New defun. + 2007-07-07 Stefan Monnier * files.el (find-file-confirm-nonexistent-file): Rename from diff -r c7c25a292d1a -r d50de52ebdfb lisp/simple.el --- a/lisp/simple.el Sat Jul 07 11:17:33 2007 +0000 +++ b/lisp/simple.el Sat Jul 07 11:17:51 2007 +0000 @@ -2202,6 +2202,18 @@ (when stderr-file (delete-file stderr-file)) (when lc (delete-file lc))))) +(defun start-file-process (name buffer program &rest program-args) + "Start a program in a subprocess. Return the process object for it. +Similar to `start-process', but may invoke a file handler based on +`default-directory'. The current working directory of the +subprocess is `default-directory'. + +PROGRAM and PROGRAM-ARGS might be file names. They are not +objects of file handler invocation." + (let ((fh (find-file-name-handler default-directory 'start-file-process))) + (if fh (apply fh 'start-file-process name buffer program program-args) + (apply 'start-process name buffer program program-args)))) + (defvar universal-argument-map