logo       

Re: win98, ctrl-c & System.system (was: Updated 6.4 Windows installer RC): msg#00138

lang.haskell.glasgow.bugs

Subject: Re: win98, ctrl-c & System.system (was: Updated 6.4 Windows installer RC)

> There's no such thing as cmd.exe on Win9x, it's COMMAND.EXE/COM.

on my win98se system, there's no COMMAND.EXE, either, only
COMMAND.COM.

> Some System.Process.* code ought to be looking at the COMSPEC env
> variable and not hard-code the name of the command processor. .... why the
> switch away from just using libc/msvcrt's system() for System.system?

agreed, on both counts. sounds like a case of "never change a winning
team", not. but I guess when one introduces a new framework for rawSystem,
one wants to keep only one way of doing things instead of two?

>However, I don't think COMMAND.EXE supports the /c switch...

don't know about that one, but COMMAND.COM does support it:

$ echo $COMSPEC
C:\WINDOWS\COMMAND.COM

$ /c/Windows/COMMAND.COM /c cd
C:\Windows\Desktop\haskell\monadification

in principle, this would make it possible to implement system on top of
rawSystem, but as I said, I can't see a way of passing the /c switch
through rawSystem without triggering error messages.

cheers,
claus


--------------------
$ /c/Windows/COMMAND.COM


Microsoft(R) Windows 98
(C)Copyright Microsoft Corp 1981-1999.

C:\Windows\Desktop\haskell\monadification>command /?
Startet eine weitere Kopie des Windows-Befehlsinterpreters.

COMMAND [[Laufwerk:]Pfad] [Gerät] [/E:nnnnn] [/L:nnnn] [/U:nnn] [/P] [/MSG]
[/LOW] [/Y [/[C|K] Befehl]]
[Laufwerk:]Pfad Das Verzeichnis, das die Datei COMMAND.COM enthält.
Gerät Das Gerät für die Befehlsein- und -ausgabe.
/E:nnnnn Legt die Umgebungsgröße auf nnnnn Bytes fest.
(nnnnn sollte im Bereich von 256 bis 32,768 liegen).
/L:nnnn Definiert die Länge des internen Puffers
(/P ebenfalls erforderlich).
(nnnn sollte im Bereich von 128 bis 1.024 liegen).
/U:nnn Definiert die Länge des Eingabepuffers
(/P ebenfalls erforderlich).
(nnn sollte im Bereich von 128 bis 255 liegen).
/P Installiert den neuen Befehlsinterpreter dauerhaft
(ohne Möglichkeit zum Beenden).
/MSG Speichert alle Fehlermeldungen im Arbeitsspeicher
(/P ebenfalls erforderlich).
/LOW Residente Daten werden im unteren Speicherbereich
untergebracht.
/Y Führt das mit /C oder /K angegebene
Stapelverarbeitungsprogramm schrittweise aus.
/C Befehl Der Befehl wird ausgeführt und COMMAND.COM beendet.
/K Befehl Der Befehl wird ausgeführt und COMMAND.COM nicht beendet.


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise