emacs-devel
[Top][All Lists]
Advanced

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

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


From: Lennart Borgman (gmail)
Subject: Re: Using `call-process-shell-command' in `process-lines'
Date: Mon, 26 Nov 2007 21:31:03 +0100
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.9) Gecko/20071031 Thunderbird/2.0.0.9 Mnenhy/0.7.5.666

Eli Zaretskii wrote:
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.


Maybe you mean something like

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

but it does not work AFAICS.

There might be some clues in the message I sent before.




reply via email to

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