[Vm-dev] Cog: command-line on Macs

Esteban Lorenzano estebanlm at gmail.com
Mon Jan 24 16:48:58 UTC 2011


Hi Igor,
I fixed that in my last sources (cocoa cog), it was a small bug on sqSqueakMainApplication>>getAttribute:. Latest sources from gitoriuos should have it. 

Cheers,
Esteban

El 24/01/2011, a las 1:41p.m., Igor Stasenko escribió:

> 
> I am running image like that:
> 
> /Users/sig/Downloads/Cog.app/Contents/MacOS/Croquet
> /Users/sig/projects/pharo/generator.image zzz arg1 arg2 arg3
> 
> 
> and here what i got:
> 
> 
> (0 to: 10) collect: [:i |
> 	Smalltalk  getSystemAttribute: i ])
> 
> 
> #('/Users/sig/Downloads/Cog.app/Contents/MacOS/Croquet'
> '/Users/sig/projects/pharo/generator.image' 'zzz' 'arg1' 'arg2' 'arg3'
> nil nil nil nil nil)
> 
> 
> but:
> 
> (0 to: 10) collect: [:i |
> 	Smalltalk  getSystemAttribute: 0-i ]
> 
> #('/Users/sig/Downloads/Cog.app/Contents/MacOS/Croquet' 'arg1' 'arg2'
> 'arg3' nil nil nil nil nil nil nil)
> 
> where is my pony named zzz?
> 
> 
> Here the description from getSystemAttribute:
> 
> 	-1000...-1 - command line arguments that specify VM options
> 	0 - the full path name for currently executing VM
> 	(or, on some platforms, just the path name of the VM's directory)
> 	1 - full path name of this image
> 	2 - a Pharo document to open, if any
> 	3...1000 - command line arguments for Pharo programs
> 
> 
> so, i expected that it does mangling for attribute num > 0 , but for
> negative ones, i expected them to be returned as is..
> instead there is something weird there.
> 
> Especially when running headless.. Cog doing hard work with removing a
> VM options from my sight.. so image can't determine if i run headless
> or not, based on command line arguments..
> 
> Here the command line:
> 
> /Users/sig/Downloads/Cog.app/Contents/MacOS/Croquet -headless
> /Users/sig/projects/pharo/generator.image headless.st 1 2 3
> 
> 
> here the script (headless.st):
> 
> (FileStream forceNewFileNamed: 'test' )
> nextPutAll:
> 	((0 to: 10) collect: [:i |
> 		Smalltalk  getSystemAttribute: i ]) asString ;
> cr;lf;
> nextPutAll:
> 	((0 to: 10) collect: [:i |
>        	Smalltalk  getSystemAttribute: 0-i ]) asString ;
> cr;lf;
> 
> close.
> 
> Smalltalk snapshot: false andQuit: true.
> 
> 
> and here the script's output (test) :
> 
> cat test
> #('/Users/sig/Downloads/Cog.app/Contents/MacOS/Croquet'
> '/Users/sig/projects/pharo/generator.image' 'headless.st' '1' '2' '3'
> nil nil nil nil nil)
> #('/Users/sig/Downloads/Cog.app/Contents/MacOS/Croquet' '1' '2' '3'
> nil nil nil nil nil nil nil)
> 
> 
> P.S. Cocoa VM completely ignoring -headless switch.
> 
> 
> -- 
> Best regards,
> Igor Stasenko AKA sig.



More information about the Vm-dev mailing list