[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: call-process having problems with a big total length of arguments un
From: |
Mathias Dahl |
Subject: |
Re: call-process having problems with a big total length of arguments under Windows |
Date: |
Sun, 10 Mar 2013 14:19:54 +0100 |
PS. I found a limit on the number of arguments I can use if the
argument is one character:
(apply 'call-process
(append (list
"ping"
nil t nil)
(make-list 16369 "1")))
Now, if I double the length of each argument I can get higher than
16369 characters in total:
(apply 'call-process
(append (list
"ping"
nil t nil)
(make-list 10912 "12")))
So, it's not simply the total amount, but a combination of the number
of arguments on the length of those arguments.
Any ideas?
On Sun, Mar 10, 2013 at 2:02 PM, Mathias Dahl <address@hidden> wrote:
> Under GNU/Linux I can do this (calling ping with an 10000 long argument list):
>
> (apply 'call-process
> (append (list
> "ping"
> nil t nil)
> (make-list 10000 "0123456789")))
>
> (of course, ping complains about the syntax, but that is another
> matter, ping is just an example of a command that exists on both
> platforms where I test)
>
> On Windows (Windows 7, 64 bit) this works in a quite recent Emacs
> (24.1.50.1 from last summer):
>
> (apply 'call-process
> (append (list
> "ping"
> nil t nil)
> (make-list 2000 "0123456789")))
>
> But this does not (2000 is changed to 3000):
>
> (apply 'call-process
> (append (list
> "ping"
> nil t nil)
> (make-list 3000 "0123456789")))
>
> I get (file-error "Spawning child process" "exec format error") when I
> reach a certain amount of arguments. I can make it fail at fewer
> arguments if I make the length of each argument longer.
>
> What sets the limit here? Is there a bug in Emacs on Windows or is it
> a limitation of the OS? Is there is a known limitation in the total
> length of all parameters?
>
> Thanks!
>
> /Mathias