Subject: Re: bug#9792: 24.0.50; process-file and space in filename

From: Eli Zaretskii <[email-masked]>
Date: Thu, 20 Oct 2011 12:02:48 +0200

> From: Leo <[email-masked]>
> Date: Thu, 20 Oct 2011 17:14:02 +0800
> 
> On 2011-10-20 15:12 +0800, Michael Albinus wrote:
> > `process-file' is a Lisp function. It would be sufficient to activate
> > edebug for it, for example via
> >
> > M-x load-library RET edebug
> > M-: (edebug-instrument-function 'process-file)
> >
> > When the debugger enters `process-file', you can produce the backtrace
> > with "d".
> 
> This does not enter the debugger.

I think you need to load the .el file that defines process-file, with
"M-x load-file", before you invoke edebug-instrument-function.  In
this case, "M-x load-file RET simple.el RET".

> Note when the call-process form is eval'd in process-file, there is
> no error from the elisp point of view.  `call-process' returns 1 to
> indicate failure in executing the external process.

This doesn't matter.  Instrumenting a Lisp function will enter Edebug
when that function is called, regardless of whether there is a
Lisp-level error.

> But I can C-u M-C-x process-file and get a backtrace like this one:
> http://paste.pound-python.org/show/13964 if that is helpful.

Assuming that process-file is called with the name of the program
being just "git", with no leading directories, it sounds like the
problem is born inside call-process and its subroutines; I will have a
look.