[Top][All Lists]

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

Re: [h-e-w] Windows Vista M-x shell crash - start-process-internal probl

From: Tom Popovich
Subject: Re: [h-e-w] Windows Vista M-x shell crash - start-process-internal problem
Date: Sun, 26 Aug 2007 11:30:09 -0700 (PDT)

I have experienced similar errors in Vista.  NOTE:  OS WinXP and earlier work

M-x getenv SHELL
M-x getenv COMSPEC
C-h v explicit-shell-file-name 
  (getenv "SHELL") => nil

  (getenv "COMSPEC") => "C:\\Windows\\system32\\cmd.exe"

  explicit-shell-file-name => nil

First off in Vista the HOME (home environment variable) is not set by
default:  [This is not a problem, since
when I set it the same problem happens.]

Second SHELL seems to be ok as it is searching for COMSPEC which is properly
set; And below you will
see that calling XEmacs start-process-internal directly on the cmd or bash
shell binary fails.
[I thought there might be an issue with cmd so I downloaded bash to give
that a test.]

When I try to run (shell), no matter what shell filename is given to
we get errors in Vista.   Below you will see various ways I tried to specify
the path to the shell.

Try M-x shell   If that fails, then try the following lisp code uses non
interactive functions, so
you need to type ESC : instead of ESC x

OK, When I try M-x shell  we I get this stack dump
 Error:  Lisp error: (file-error "Searching for program" "Invalid argument"

 Stack Backtrace:
  start-process-internal("shell" #<buffer "*shell*">
"C:\\Windows\\system32\\cmd.exe" "-i")
  apply(start-process-internal "shell" #<buffer "*shell*">
"C:\\Windows\\system32\\cmd.exe" "-i")
  start-process("shell" #<buffer "*shell*"> "C:\\Windows\\system32\\cmd.exe"

Looking further into the error,  it seems that start-process-internal is
broken, as I have
tried all sorts of ways to specify the filename to the binary below and all
attempts generate
this "Invalid argument" error.

First try M-x shell

When that failed debug further...

All the following fail:  Notice we use DOS and Unix style paths and cmd.exe
and bash.
I can run both from a cmd.exe DOS shell directly, when using the DOS style
Windows shell can only handle DOS style paths, the C-api can handle either

Lets test start-process-internal fails.  e.g. do

  M-: (start-process-internal "shell" "*shell*"
"C:\\Windows\\system32\\cmd.exe" "-i")

also try:
   (start-process-internal "shell" "*shell*" "C:/Windows/system32/cmd.exe"
   (start-process-internal "shell" "*shell*" "/Windows/system32/cmd.exe"

   (start-process-internal "shell" "*shell*" "c:\\cygwin\\bin\\bash.exe"
   (start-process-internal "shell" "*shell*" "c:/cygwin/bin/bash.exe" "-i")
   (start-process-internal "shell" "*shell*" "/cygwin/bin/bash.exe" "-i")

 All failed with the same error message: Invalid argument.

Euser12 wrote:
> I've tried without customization and it doesn't work.
> The link below mixes several issues and if you follow through the follow
> ups,
> they also were dealing with the same issue.
> Jason Rumney-4 wrote:
>> Euser12 wrote:
>>> I don't think it is tcsh.exe.  I have also tried bash, sh, etc. with the
>>> same
>>> result.
>> How about removing your customizations completely? Does it work then?
>>> I think it is the way Emacs is invoking the "process" that Vista doesn't
>>> like.
>>> Found this link referring to the same problem but no solution:
>> Wrong link? This is a configuration problem with XEmacs causing it to
>> access a non-existent disk at startup. Nothing to do with Emacs or
>> shells.

View this message in context:
Sent from the Emacs - Windows - Help mailing list archive at

reply via email to

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