[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Using `call-process-shell-command' in `process-lines'

From: Eli Zaretskii
Subject: Re: Using `call-process-shell-command' in `process-lines'
Date: Mon, 26 Nov 2007 22:23:09 +0200

> Date: Mon, 26 Nov 2007 18:01:23 +0100
> From: "Juanma Barranquero" <address@hidden>
> Cc: Emacs Devel <address@hidden>
> If I manually execute
>   (apply #'call-process "c:/bin/gnuwin32/bin/find.exe" nil
> (get-buffer-create "output") nil '("c:/emacs/trunk/lisp/" "-name"
> "*.el"))
> I get:
>   c:\bin\gnuwin32\bin\find.exe: paths must precede expression
>   Usage: c:\bin\gnuwin32\bin\find.exe [-H] [-L] [-P] [path...] [expression]

If this minor variant works:

   (apply #'call-process "c:/bin/gnuwin32/bin/find.exe" nil
     (get-buffer-create "output") nil '("c:/emacs/trunk/lisp/" "-name"
     (shell-quote-argument "*.el")))

it might give you a clue to the solution.  The call to
shell-quote-argument should be limited to Windows only, since the
Windows implementation of the library function called by call-process
constructs a single command line out of all arguments, which of course
means you need an extra pair of quotes.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]