[Squeak-ev] CommandShell in SqueakLand

Markus Biermaier mbier at office-m.at
Don Apr 19 05:47:53 UTC 2007


Hallo,

bin leider lästig ;-)

Aus meiner Frage:
> Meine Schritte im Detail:
> 1) Ich starte SqueakLand und öffne im Welt-Menü den "(SqueakMap)
> Package Loader".
> 2) Es erscheint die Meldung, dass der SqueakMap Master Server die
> Version 2.2 hat, der Client aber 2.0 und ob ich das SqueakMap package
> upgraden will. Ich antworte "yes".
> 3) Während des Upgrades erscheint die Meldung "...Undefined
> Object>>flush..."
> 4) Der Package Loader wird geladen. Es erscheint ein Browser mit 689
> Paketen.
> 5) Ich selektiere "CommandShell" und erhalte die Warnung, dass dieses
> Pakete keine Releases für meine SqueakVersion enthält, und die Frage,
> ob ich eine Release für irgend eine SqueakVersion versuchen will. Ich
> antworte "yes".
> 6) Ich erhalte die Warnung, dass dieses Paket nicht als kompatibel
> mit meiner image Version (Squeakland 3.8) gelistet ist, und ob ich
> die Installation fortsetzen will. Ich antworte "yes".
> 7) Es erscheint eine Meldung über einen Fehler: ...Undefined
> Object>>flush..."
> 8) Das Paket hat sich installieren lassen. "CommandShell"
> funktioniert aber noch nicht.
> 9) Ich installiere das Paket "OSProcess"
> 10) Es erscheint eine Meldung über einen Fehler: ...Undefined
> Object>>flush..."
> 11) Ich öffne ein WorkSpace Fenster, gebe ein: "CommandShell command:
> 'ls -l' und es funktioniert!
...

Dazu wieder 2 Fragen:
1. Kann mir bitte jemand erklären wieso die Meldungen "...Undefined  
Object>>flush..." kommen?
2. Unter Linux funktioniert "CommandShell" einwandfrei.
    Unter MacOS X funktionieren nur die "wirklichen" "Squeak  
CommandShell Befehle" (z. B. "help", "cd", "pwd").
    Gebe ich andere Befehle ein sieht das so aus:
$ date
cannot access system to run 'date'
$ type date
cannot access system

Aus der Beschreibung von "OSProcess":
"Description:
OSProcess provides access to operating system functions, including  
pipes and child process creation. It is implemented using pluggable  
primitives in shared library (.so file) for Unix or Linux, and a DLL  
for Windows. The Smalltalk code, including the classes which  
implement pluggable primitives for Unix or Win32 operating system  
functions, may be loaded into any Squeak image, but the primitives  
are only useful on Unix and Windows systems. Placeholder classes are  
provided for MacOS, OS/2 and RiscOS, but are not yet implemented."

Ist "MacOS X" aka "Darwin" im Sinne von Squeak kein "Unix"? "MacOS"  
ist doch nicht gleich "MacOS X" oder liege ich da falsch?

Danke für Erklärungen.

Markus