Subject: [clisp-list] Q: Using (ext:shell) on WinNT?

From: [email-masked]
Date: Wed, 20 Jun 2001 10:37:29 -0700

Dear clisp users,
     I am a clisp 2.26 newbie. I've been using it a few months to
prototype some statistical analysis algorithms on a WinNT machine.
I am VERY impressed with its compliance with CLtL-2. I have a few
questions concerning use of the shell interface (the ext: package).
     Both (ext:shell "graftabl.com") and (ext:execute "graftabl.com")
produce the same output ("graftabl.com" is an obsolete MS-DOS tool still
found in the System32 directory -- i just use it as a simple test case to
verify
that ext:shell can find and launch a program).  However, (ext:shell
"graftabl")
produces a file-not-found error; I would have expected that DOS command
extension rules (.EXE, .COM, .BAT) to be obeyed on a Win32 implmentation,
but they are not. Why not? Is there a way to get this to work?
     Likewise, (ext:shell "set") also produces a file-not-found error;
in this case "set" is not a file, but a DOS CMD shell built-in. How do i
execute
CMS shell built-in commands?
     I prefer to use Cygwin bash shell as my command interpretter.
How do I get clisp to use bash? The implementation documentation says
that on UNIX boxes setting the SHELL environment variable works. Does this
also work in WinNT? Actually, i would prefer to  set a lisp special
variable,
say (setq ext:*shell" #P"D:\\cygwin\bin\bash.exe"), and be able to switch
command interpretters under program control, but (describe ext:*shell*)
didn't find that symbol-name.
     I realize this is an obscure, specialized question, but all advice is
appreciated.
thanks
Jeff Lankford

---

From: Sam Steingold <[email-masked]>
Date: 21 Jun 2001 13:52:01 -0400

> * In message <[email-masked]>
> * On the subject of "[clisp-list] Q: Using (ext:shell) on WinNT?"
> * Sent on Wed, 20 Jun 2001 10:37:29 -0700
> * Honorable [email-masked] writes:
>
>      I am a clisp 2.26 newbie.
welcome!

> I am VERY impressed with its compliance with CLtL-2.
actually we "purport to conform" to ANSI CL spec, which differs from
CLtL2.

> However, (ext:shell "graftabl") produces a file-not-found error; I
> would have expected that DOS command extension rules (.EXE, .COM,
> .BAT) to be obeyed on a Win32 implmentation, but they are not.
> Why not?

Ask Mr. Gates. :-(

> Is there a way to get this to work?
dunno.

> Likewise, (ext:shell "set") also produces a file-not-found error; in
> this case "set" is not a file, but a DOS CMD shell built-in. How do i
> execute CMS shell built-in commands?
why do you want to?!

> I prefer to use Cygwin bash shell as my command interpretter.
set COMSPEC d:\cygwin\bin\bash.exe

> Actually, i would prefer to set a lisp special variable, say (setq
> ext:*shell" #P"D:\\cygwin\bin\bash.exe"), and be able to switch
> command interpretters under program control, but (describe
> ext:*shell*) didn't find that symbol-name.  I realize this is an
> obscure, specialized question, but all advice is appreciated.

this is not supported.

maybe you can tell us what you are trying to accomplish?

-- 
Sam Steingold (http://www.podval.org/~sds)
Support Israel's right to defend herself! <http://www.i-charity.com/go/israel>
Read what the Arab leaders say to their people on <http://www.memri.org/>
Sufficiently advanced stupidity is indistinguishable from malice.