Thanks a lot for write this. I followed through, the problem I am having is that the echo %PATH% output is not the same in the cmd.exe vs. the emacs shell. here is the modified code in my .emacs. *********************************************************** (when (string-equal system-type "windows-nt") (progn (setenv "PATH" "/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin") (setq exec-path '( "C:/Windows/system32/" "C:/Windows/" "C:/Windows/System32/Wbem/" "C:/Windows/system32/WindowsPowerShell/v1.0/" "C:/Program Files/Aspell/bin/" ) ) ) ) *********************************************************** I have a feeling there is something not write with my modification above. Aspell is installed under "C:/Program Files/ cmd.exe > echo %PATH% puts out C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\QuickTime\QTSystem\;C:\WINDOWS\system32\WindowsPowerShell\v1.0;c:\Program Files\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\DTS\Binn\;c:\Program Files\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files\Aspell\bin\ emacs shell echo %PATH% puts out /usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/ should I copy the output from the cmd and put it in the code inside my .emacs? On Tue, Aug 4, 2009 at 12:17 PM, Xah Lee wrote: > ok, first make sure the PATH env var in your Windows is setup > correctly. > > some tips here > > • Using PowerShell to Manage Environment Variables > http://xahlee.org/powershell/environment_variables.html > > then, restart your cmd.exe (by just closing it). > After restart, type > > echo %PATH% > > e.g. on my machine shows: > > C:\Users\xah>echo %PATH% > C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\hp\bin > \Python;c:\Prog > ram Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files > (x86)\Quic > kTime\QTSystem\;C:\Windows\system32\WindowsPowerShell\v1.0\ > > Once you got this, then type aspell from any dir and see it works. > You need to get this step fixed. > > Once good, launch emacs, then in emacs, type Alt+x shell or Alt+x cmd- > shell (the latter is in emacsW32, not sure if it is in other emacs on > Windows) > > then type > echo %PATH% > > the output should match the same as in your cmd.exe. If not, try the > set paths elisp code: > > (when (string-equal system-type "windows-nt") > (progn > (setenv "PATH" "/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/ > cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/ > System32/Wbem") > (setq exec-path > '( > "C:/Program Files (x86)/Emacs/emacs/bin/" > "C:/Windows/system32/" > "C:/Windows/" > "C:/Windows/System32/Wbem/" > "C:/Windows/system32/WindowsPowerShell/v1.0/" > "C:/cygwin/bin/" > ) > ) > ) > ) > > mod the path for your machine and put it in your emacs init file. > Select the code, then type Alt+x eval-region. > > Now, close your shell buffer. Start it again. Try > echo %PATH% > > again. > If good, type aspell while in emacs's cmd shell. It should run. If so, > hten you should be have spell checking in emacs now. > > -------- > > on my machine, i have the above in my init file, but often the env var > PATH shown in emacs is still different from OS's PATH value. This > causes running SOME of the unix commands to fail. I haven't > investigated why yet, but i workaround by eval that code again in > emacs whenever that happens .... > > nor do i know what exactly is the diff between exec-path and setenv > with PATH... > > ... spent way too much time writing this. Good luck. > > Xah > ∑ http://xahlee.org/ > > ☄ >