[squeak-dev] ScriptManager that works in Squeak4.4-12327

Ken G. Brown kbrown at mac.com
Mon Jan 7 22:30:14 UTC 2013


I did as you suggested and have successfully created the new ScriptManager package on SqueakMap.
However, I'm wondering if I am missing something, or if this is related to not being able to Edit Releases from the web browser access to SqueakMap. Tips appreciated. 
When I attempt to save the contents of the SMReleaseBrowser, I get the following:

UndefinedObject(Object)>>doesNotUnderstand: #isEmpty

7 January 2013 3:22:04.457 pm

VM: Mac OS - Smalltalk
Image: Squeak4.4 [latest update: #12327]

SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir /myStuff/mySmalltalkStuff/Sqkb/<Sqkb4.x/Sqkb4.4/Squeak4.4-12327 Release
Trusted Dir /foobar/tooBar/forSqueak/bogus/
Untrusted Dir /Users/kbrownht/Library/Preferences/Croquet/Internet/Untrusted

UndefinedObject(Object)>>doesNotUnderstand: #isEmpty
	Receiver: nil
	Arguments and temporary variables: 
		aMessage: 	isEmpty
		exception: 	MessageNotUnderstood: UndefinedObject>>isEmpty
		resumeValue: 	nil
	Receiver's instance variables: 
nil

SMPackageRelease>>downloadFileName
	Receiver: SMPackageRelease[ScriptManager 1-(head)]
	Arguments and temporary variables: 

	Receiver's instance variables: 
		id: 	an UUID('28a27de1-fe3e-4f49-9ef8-f3ac14fd2914')
		map: 	a SMSqueakMap
		created: 	3535024662
		updated: 	3535024662
		name: 	''
		summary: 	''
		url: 	''
		categories: 	an OrderedCollection(SMCategory: Community Supported SMCategory: MI...etc...
		resources: 	nil
		publisher: 	nil
		automaticVersion: 	'1' asVersion
		version: 	'(head)'
		note: 	a Text for 'A version of ScriptManager that runs in Squeak, forked about ...etc...
		downloadUrl: 	nil
		package: 	SMPackage[ScriptManager]
		repository: 	nil
		sha1sum: 	nil

SMReleaseBrowser>>loadScript
	Receiver: a SMReleaseBrowser
	Arguments and temporary variables: 
		scriptName: 	nil
	Receiver's instance variables: 
		dependents: 	a DependentsArray(a PluggableSystemWindow(2947) a PluggableTextMorp...etc...
		contents: 	''
		currentCompiledMethod: 	nil
		contentsSymbol: 	#source
		multiWindowState: 	nil
		release: 	SMPackageRelease[ScriptManager 1-(head)]
		loadScript: 	nil
		smClient: 	a SMClient

[] in [] in SMReleaseBrowser>>save
	Receiver: a SMReleaseBrowser
	Arguments and temporary variables: 

	Receiver's instance variables: 
		dependents: 	a DependentsArray(a PluggableSystemWindow(2947) a PluggableTextMorp...etc...
		contents: 	''
		currentCompiledMethod: 	nil
		contentsSymbol: 	#source
		multiWindowState: 	nil
		release: 	SMPackageRelease[ScriptManager 1-(head)]
		loadScript: 	nil
		smClient: 	a SMClient

BlockClosure>>ensure:
	Receiver: [closure] in [] in SMReleaseBrowser>>save
	Arguments and temporary variables: 
		aBlock: 	[closure] in [] in SMReleaseBrowser>>save
		complete: 	nil
		returnValue: 	nil
	Receiver's instance variables: 
		outerContext: 	[] in SMReleaseBrowser>>save
		startpc: 	145
		numArgs: 	0

[] in SMReleaseBrowser>>save
	Receiver: a SMReleaseBrowser
	Arguments and temporary variables: 

	Receiver's instance variables: 
		dependents: 	a DependentsArray(a PluggableSystemWindow(2947) a PluggableTextMorp...etc...
		contents: 	''
		currentCompiledMethod: 	nil
		contentsSymbol: 	#source
		multiWindowState: 	nil
		release: 	SMPackageRelease[ScriptManager 1-(head)]
		loadScript: 	nil
		smClient: 	a SMClient

BlockClosure>>ensure:
	Receiver: [closure] in SMReleaseBrowser>>save
	Arguments and temporary variables: 
		aBlock: 	[closure] in CursorWithMask(Cursor)>>showWhile:
		complete: 	nil
		returnValue: 	nil
	Receiver's instance variables: 
		outerContext: 	SMReleaseBrowser>>save
		startpc: 	107
		numArgs: 	0

CursorWithMask(Cursor)>>showWhile:
	Receiver: ((CursorWithMask
	extent: 16 at 16
	depth: 1
	fromArray: #(
		2r0
		2r11111111111111000000000...etc...
	Arguments and temporary variables: 
		aBlock: 	[closure] in SMReleaseBrowser>>save
		oldcursor: 	((CursorWithMask
	extent: 16 at 16
	depth: 1
	fromArray: #(
		2r0
		2r1...etc...
	Receiver's instance variables: 
		bits: 	a Bitmap of length 16
		width: 	16
		height: 	16
		depth: 	1
		offset: 	-1@ -1
		maskForm: 	Form(16x16x1)

SMReleaseBrowser>>save
	Receiver: a SMReleaseBrowser
	Arguments and temporary variables: 

	Receiver's instance variables: 
		dependents: 	a DependentsArray(a PluggableSystemWindow(2947) a PluggableTextMorp...etc...
		contents: 	''
		currentCompiledMethod: 	nil
		contentsSymbol: 	#source
		multiWindowState: 	nil
		release: 	SMPackageRelease[ScriptManager 1-(head)]
		loadScript: 	nil
		smClient: 	a SMClient

PluggableButtonMorphPlus(PluggableButtonMorph)>>performAction
	Receiver: a PluggableButtonMorphPlus(543)
	Arguments and temporary variables: 

	Receiver's instance variables: 
		bounds: 	566 at 264 corner: 629 at 279
		owner: 	a PluggablePanelMorph(2328)
		submorphs: 	{an AlignmentMorph(2777)}
		fullBounds: 	566 at 264 corner: 629 at 279
		color: 	Color white
		extension: 	a MorphExtension (612) [balloonText]  [other:  (layoutFrame -> a Lay...etc...
		borderWidth: 	1
		borderColor: 	Color gray
		model: 	a SMReleaseBrowser
		label: 	'Save'
		getStateSelector: 	nil
		actionSelector: 	#save
		getLabelSelector: 	nil
		getMenuSelector: 	nil
		shortcutCharacter: 	nil
		askBeforeChanging: 	false
		triggerOnMouseDown: 	false
		offColor: 	Color white
		onColor: 	Color veryLightGray
		feedbackColor: 	Color red
		showSelectionFeedback: 	false
		allButtons: 	{a PluggableButtonMorphPlus(543)}
		arguments: 	nil
		argumentsProvider: 	nil
		argumentsSelector: 	nil
		style: 	nil
		enabled: 	true
		action: 	nil
		getColorSelector: 	nil
		getEnabledSelector: 	nil
		updateMap: 	nil

PluggableButtonMorphPlus>>performAction
	Receiver: a PluggableButtonMorphPlus(543)
	Arguments and temporary variables: 

	Receiver's instance variables: 
		bounds: 	566 at 264 corner: 629 at 279
		owner: 	a PluggablePanelMorph(2328)
		submorphs: 	{an AlignmentMorph(2777)}
		fullBounds: 	566 at 264 corner: 629 at 279
		color: 	Color white
		extension: 	a MorphExtension (612) [balloonText]  [other:  (layoutFrame -> a Lay...etc...
		borderWidth: 	1
		borderColor: 	Color gray
		model: 	a SMReleaseBrowser
		label: 	'Save'
		getStateSelector: 	nil
		actionSelector: 	#save
		getLabelSelector: 	nil
		getMenuSelector: 	nil
		shortcutCharacter: 	nil
		askBeforeChanging: 	false
		triggerOnMouseDown: 	false
		offColor: 	Color white
		onColor: 	Color veryLightGray
		feedbackColor: 	Color red
		showSelectionFeedback: 	false
		allButtons: 	{a PluggableButtonMorphPlus(543)}
		arguments: 	nil
		argumentsProvider: 	nil
		argumentsSelector: 	nil
		style: 	nil
		enabled: 	true
		action: 	nil
		getColorSelector: 	nil
		getEnabledSelector: 	nil
		updateMap: 	nil

[] in PluggableButtonMorphPlus(PluggableButtonMorph)>>mouseUp:
	Receiver: a PluggableButtonMorphPlus(543)
	Arguments and temporary variables: 
		evt: 	a PluggableButtonMorphPlus(543)
		m: 	[591 at 271 mouseUp 22595056]
	Receiver's instance variables: 
		bounds: 	566 at 264 corner: 629 at 279
		owner: 	a PluggablePanelMorph(2328)
		submorphs: 	{an AlignmentMorph(2777)}
		fullBounds: 	566 at 264 corner: 629 at 279
		color: 	Color white
		extension: 	a MorphExtension (612) [balloonText]  [other:  (layoutFrame -> a Lay...etc...
		borderWidth: 	1
		borderColor: 	Color gray
		model: 	a SMReleaseBrowser
		label: 	'Save'
		getStateSelector: 	nil
		actionSelector: 	#save
		getLabelSelector: 	nil
		getMenuSelector: 	nil
		shortcutCharacter: 	nil
		askBeforeChanging: 	false
		triggerOnMouseDown: 	false
		offColor: 	Color white
		onColor: 	Color veryLightGray
		feedbackColor: 	Color red
		showSelectionFeedback: 	false
		allButtons: 	{a PluggableButtonMorphPlus(543)}
		arguments: 	nil
		argumentsProvider: 	nil
		argumentsSelector: 	nil
		style: 	nil
		enabled: 	true
		action: 	nil
		getColorSelector: 	nil
		getEnabledSelector: 	nil
		updateMap: 	nil

Array(SequenceableCollection)>>do:
	Receiver: {a PluggableButtonMorphPlus(543)}
	Arguments and temporary variables: 
		aBlock: 	[closure] in PluggableButtonMorphPlus(PluggableButtonMorph)>>mouseUp:
		index: 	1
		indexLimiT: 	1
	Receiver's instance variables: 
{a PluggableButtonMorphPlus(543)}

PluggableButtonMorphPlus(PluggableButtonMorph)>>mouseUp:
	Receiver: a PluggableButtonMorphPlus(543)
	Arguments and temporary variables: 
		evt: 	[591 at 271 mouseUp 22595056]
	Receiver's instance variables: 
		bounds: 	566 at 264 corner: 629 at 279
		owner: 	a PluggablePanelMorph(2328)
		submorphs: 	{an AlignmentMorph(2777)}
		fullBounds: 	566 at 264 corner: 629 at 279
		color: 	Color white
		extension: 	a MorphExtension (612) [balloonText]  [other:  (layoutFrame -> a Lay...etc...
		borderWidth: 	1
		borderColor: 	Color gray
		model: 	a SMReleaseBrowser
		label: 	'Save'
		getStateSelector: 	nil
		actionSelector: 	#save
		getLabelSelector: 	nil
		getMenuSelector: 	nil
		shortcutCharacter: 	nil
		askBeforeChanging: 	false
		triggerOnMouseDown: 	false
		offColor: 	Color white
		onColor: 	Color veryLightGray
		feedbackColor: 	Color red
		showSelectionFeedback: 	false
		allButtons: 	{a PluggableButtonMorphPlus(543)}
		arguments: 	nil
		argumentsProvider: 	nil
		argumentsSelector: 	nil
		style: 	nil
		enabled: 	true
		action: 	nil
		getColorSelector: 	nil
		getEnabledSelector: 	nil
		updateMap: 	nil

PluggableButtonMorphPlus>>mouseUp:
	Receiver: a PluggableButtonMorphPlus(543)
	Arguments and temporary variables: 
		evt: 	[591 at 271 mouseUp 22595056]
	Receiver's instance variables: 
		bounds: 	566 at 264 corner: 629 at 279
		owner: 	a PluggablePanelMorph(2328)
		submorphs: 	{an AlignmentMorph(2777)}
		fullBounds: 	566 at 264 corner: 629 at 279
		color: 	Color white
		extension: 	a MorphExtension (612) [balloonText]  [other:  (layoutFrame -> a Lay...etc...
		borderWidth: 	1
		borderColor: 	Color gray
		model: 	a SMReleaseBrowser
		label: 	'Save'
		getStateSelector: 	nil
		actionSelector: 	#save
		getLabelSelector: 	nil
		getMenuSelector: 	nil
		shortcutCharacter: 	nil
		askBeforeChanging: 	false
		triggerOnMouseDown: 	false
		offColor: 	Color white
		onColor: 	Color veryLightGray
		feedbackColor: 	Color red
		showSelectionFeedback: 	false
		allButtons: 	{a PluggableButtonMorphPlus(543)}
		arguments: 	nil
		argumentsProvider: 	nil
		argumentsSelector: 	nil
		style: 	nil
		enabled: 	true
		action: 	nil
		getColorSelector: 	nil
		getEnabledSelector: 	nil
		updateMap: 	nil

PluggableButtonMorphPlus(Morph)>>handleMouseUp:
	Receiver: a PluggableButtonMorphPlus(543)
	Arguments and temporary variables: 
		anEvent: 	[591 at 271 mouseUp 22595056]
	Receiver's instance variables: 
		bounds: 	566 at 264 corner: 629 at 279
		owner: 	a PluggablePanelMorph(2328)
		submorphs: 	{an AlignmentMorph(2777)}
		fullBounds: 	566 at 264 corner: 629 at 279
		color: 	Color white
		extension: 	a MorphExtension (612) [balloonText]  [other:  (layoutFrame -> a Lay...etc...
		borderWidth: 	1
		borderColor: 	Color gray
		model: 	a SMReleaseBrowser
		label: 	'Save'
		getStateSelector: 	nil
		actionSelector: 	#save
		getLabelSelector: 	nil
		getMenuSelector: 	nil
		shortcutCharacter: 	nil
		askBeforeChanging: 	false
		triggerOnMouseDown: 	false
		offColor: 	Color white
		onColor: 	Color veryLightGray
		feedbackColor: 	Color red
		showSelectionFeedback: 	false
		allButtons: 	{a PluggableButtonMorphPlus(543)}
		arguments: 	nil
		argumentsProvider: 	nil
		argumentsSelector: 	nil
		style: 	nil
		enabled: 	true
		action: 	nil
		getColorSelector: 	nil
		getEnabledSelector: 	nil
		updateMap: 	nil

MouseButtonEvent>>sentTo:
	Receiver: [591 at 271 mouseUp 22595056]
	Arguments and temporary variables: 
		anObject: 	a PluggableButtonMorphPlus(543)
	Receiver's instance variables: 
		timeStamp: 	22595056
		source: 	a HandMorph(3216)
		type: 	#mouseUp
		buttons: 	0
		position: 	591 at 271
		handler: 	nil
		wasHandled: 	true
		whichButton: 	4

PluggableButtonMorphPlus(Morph)>>handleEvent:
	Receiver: a PluggableButtonMorphPlus(543)
	Arguments and temporary variables: 
		anEvent: 	[591 at 271 mouseUp 22595056]
	Receiver's instance variables: 
		bounds: 	566 at 264 corner: 629 at 279
		owner: 	a PluggablePanelMorph(2328)
		submorphs: 	{an AlignmentMorph(2777)}
		fullBounds: 	566 at 264 corner: 629 at 279
		color: 	Color white
		extension: 	a MorphExtension (612) [balloonText]  [other:  (layoutFrame -> a Lay...etc...
		borderWidth: 	1
		borderColor: 	Color gray
		model: 	a SMReleaseBrowser
		label: 	'Save'
		getStateSelector: 	nil
		actionSelector: 	#save
		getLabelSelector: 	nil
		getMenuSelector: 	nil
		shortcutCharacter: 	nil
		askBeforeChanging: 	false
		triggerOnMouseDown: 	false
		offColor: 	Color white
		onColor: 	Color veryLightGray
		feedbackColor: 	Color red
		showSelectionFeedback: 	false
		allButtons: 	{a PluggableButtonMorphPlus(543)}
		arguments: 	nil
		argumentsProvider: 	nil
		argumentsSelector: 	nil
		style: 	nil
		enabled: 	true
		action: 	nil
		getColorSelector: 	nil
		getEnabledSelector: 	nil
		updateMap: 	nil

PluggableButtonMorphPlus(Morph)>>handleFocusEvent:
	Receiver: a PluggableButtonMorphPlus(543)
	Arguments and temporary variables: 
		anEvent: 	[591 at 271 mouseUp 22595056]
	Receiver's instance variables: 
		bounds: 	566 at 264 corner: 629 at 279
		owner: 	a PluggablePanelMorph(2328)
		submorphs: 	{an AlignmentMorph(2777)}
		fullBounds: 	566 at 264 corner: 629 at 279
		color: 	Color white
		extension: 	a MorphExtension (612) [balloonText]  [other:  (layoutFrame -> a Lay...etc...
		borderWidth: 	1
		borderColor: 	Color gray
		model: 	a SMReleaseBrowser
		label: 	'Save'
		getStateSelector: 	nil
		actionSelector: 	#save
		getLabelSelector: 	nil
		getMenuSelector: 	nil
		shortcutCharacter: 	nil
		askBeforeChanging: 	false
		triggerOnMouseDown: 	false
		offColor: 	Color white
		onColor: 	Color veryLightGray
		feedbackColor: 	Color red
		showSelectionFeedback: 	false
		allButtons: 	{a PluggableButtonMorphPlus(543)}
		arguments: 	nil
		argumentsProvider: 	nil
		argumentsSelector: 	nil
		style: 	nil
		enabled: 	true
		action: 	nil
		getColorSelector: 	nil
		getEnabledSelector: 	nil
		updateMap: 	nil


--- The full stack ---
UndefinedObject(Object)>>doesNotUnderstand: #isEmpty
SMPackageRelease>>downloadFileName
SMReleaseBrowser>>loadScript
[] in [] in SMReleaseBrowser>>save
BlockClosure>>ensure:
[] in SMReleaseBrowser>>save
BlockClosure>>ensure:
CursorWithMask(Cursor)>>showWhile:
SMReleaseBrowser>>save
PluggableButtonMorphPlus(PluggableButtonMorph)>>performAction
PluggableButtonMorphPlus>>performAction
[] in PluggableButtonMorphPlus(PluggableButtonMorph)>>mouseUp:
Array(SequenceableCollection)>>do:
PluggableButtonMorphPlus(PluggableButtonMorph)>>mouseUp:
PluggableButtonMorphPlus>>mouseUp:
PluggableButtonMorphPlus(Morph)>>handleMouseUp:
MouseButtonEvent>>sentTo:
PluggableButtonMorphPlus(Morph)>>handleEvent:
PluggableButtonMorphPlus(Morph)>>handleFocusEvent:
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[] in HandMorph>>sendFocusEvent:to:clear:
BlockClosure>>on:do:
PasteUpMorph>>becomeActiveDuring:
HandMorph>>sendFocusEvent:to:clear:
HandMorph>>sendEvent:focus:clear:
HandMorph>>sendMouseEvent:
HandMorph>>handleEvent:
HandMorph>>processEvents
[] in WorldState>>doOneCycleNowFor:
Array(SequenceableCollection)>>do:
WorldState>>handsDo:
WorldState>>doOneCycleNowFor:
WorldState>>doOneCycleFor:
PasteUpMorph>>doOneCycle
[] in Project class>>spawnNewProcess
[] in BlockClosure>>newProcess

 
Ken G. Brown


On 2013-01-07, at 2:44 AM, Frank Shearar wrote:

> On 7 January 2013 02:44, Ken G. Brown <kbrown at mac.com> wrote:
>> I've uploaded a version of ScriptManager that works in Squeak4.4-12327, to ss3 at <http://ss3.gemstone.com/ss/ScriptManager.html>.
>> It was forked from the one at <http://www.squeaksource.com/ScriptManager.html>around version 13 just before they switched to using Fuel for serialization. I added syntax highlighting for the workspaces.
>> 
>> Installer ss3
>>     project: 'ScriptManager';
>>     install: 'ScriptManager-Core-kgb.14';
>>     install: 'ScriptManager-Help-kgb.2'.
>> 
>> ScriptManager open.
>> 
>> I would like to add this to SqueakMap if someone could quickstep me through the process.
> 
> * Get a SqueakMap account if you don't already have one:
> http://map.squeak.org/newaccount
> * Once logged in, add the package: http://map.squeak.org/account/newpackage
> * Fill in the metadata.
> * In your image, open the SqueakMap Catalog
> * Update the SM list
> * "Right-click" in the package list
> * Uncheck the "New safely-available packages" checkbox
> * You should now be able to search for your package.
> * Select the package, "right-click", "Create new Release". That gives
> you an SMReleaseBrowser.
> * The lower code pane will take the Installer script you give above.
> I'd leave out the "ScriptManager open" though, but mention it in the
> release notes or the package's description.
> * Each of the release browser's fields have hot-tip speech bubbles
> explaining the different fields. They're all required, as far as I
> know.
> 
> And that should be it!
> 
> frank
> 
>> Thx,
>> Ken G. Brown
>> 
> 



More information about the Squeak-dev mailing list