Re: Coccinelle in Moose
by Usman Bhatti
You can have a look here for instructions for loading Moose in Linux:
http://www.moosetechnology.org/download/4.6
I haven't used it on Linux myself; I am sending this mail to moos-dev list
and there are people who are successfully using it on Linux. They may be
able to suggest a better solution to the problem.
Usman
On Sat, Jan 7, 2012 at 8:09 AM, Julia Lawall <julia.lawall(a)lip6.fr> wrote:
> I am having lots of problems loading moose on Linux (Ubuntu). The first
> three times, it got part of the way through, eg to ConfigurationOfMondrian,
> and then it would hang. Now I have tried two more times, and each time it
> crashes. The part of the crash dump that was still in my shell buffer is
> below.
>
> But I am not sure to understand how it all works, either. Even if I
> succeed to load it once, do I have to keep going through the same process
> every time I want to use it?
>
> It would be nicer if one could go to the package manager of ubuntu and
> click on moose and it would download and install itself. We have such a
> facility for Coccinelle, actually both a released ubuntu one and one that
> we maintain ourselves:
>
> https://launchpad.net/~npalix/**+archive/coccinelle<https://launchpad.net/~npalix/+archive/coccinelle>
>
> julia
>
>
>
> 0xff779970 M [] in MetacelloGofer(Gofer)>**allResolvedIn: -1177336940:
> a(n) MetacelloGofer
> 0xff77a194 M [] in Dictionary>at:ifAbsentPut: -1177330664: a(n) Dictionary
> 0xff77a1b0 M Dictionary>at:ifAbsent: -1177330664: a(n) Dictionary
> 0xff77a1d0 M Dictionary>at:ifAbsentPut: -1177330664: a(n) Dictionary
> 0xff77a1f0 M MetacelloGofer(Gofer)>**allResolvedIn: -1177336940: a(n)
> MetacelloGofer
> 0xff77a214 M [] in MetacelloGofer(Gofer)>**allResolved -1177336940: a(n)
> MetacelloGofer
> 0xff77a238 M Array(SequenceableCollection)>**do: -1177330788: a(n) Array
> 0xff77a258 M MetacelloGofer(Gofer)>**allResolved -1177336940: a(n)
> MetacelloGofer
> 0xff77a270 M GoferPackageReference(**GoferReference)>**resolveAllWith:
> -1177330996: a(n) GoferPackageReference
> 0xff77a298 M MetacelloFetchingMCSpecLoader(**MetacelloCommonMCSpecLoader)>
> **resolvePackageSpecReferences:**gofer: -1191416520: a(n)
> MetacelloFetchingMCSpecLoader
> 0xff77a2c0 M [] in MetacelloFetchingMCSpecLoader(**
> MetacelloCommonMCSpecLoader)>**retryingResolvePackageSpecRefe**rences:gofer:
> -1191416520: a(n) MetacelloFetchingMCSpecLoader
> 0xff77a2dc M BlockClosure>on:do: -1177337116: a(n) BlockClosure
> 0xff77a308 M MetacelloFetchingMCSpecLoader(**MetacelloCommonMCSpecLoader)>
> **retryingResolvePackageSpecRefe**rences:gofer: -1191416520: a(n)
> MetacelloFetchingMCSpecLoader
> 0xff77a348 M [] in MetacelloFetchingMCSpecLoader>**linearLoadPackageSpec:gofer:
> -1191416520: a(n) MetacelloFetchingMCSpecLoader
> 0xff77a364 M [] in MetacelloPharoPlatform>do:**displaying: -1209283404:
> a(n) MetacelloPharoPlatform
> 0xff77a388 M [] in ProgressInitiationException>**defaultMorphicAction
> -1177340728: a(n) ProgressInitiationException
> 0xff77a3a4 M BlockClosure>on:do: -1177339480: a(n) BlockClosure
> 0xff77a3cc M [] in ProgressInitiationException>**defaultMorphicAction
> -1177340728: a(n) ProgressInitiationException
> 0xff77a3ec M BlockClosure>ensure: -1177339616: a(n) BlockClosure
> 0xff77a410 M ProgressInitiationException>**defaultMorphicAction
> -1177340728: a(n) ProgressInitiationException
> 0xff77a428 M MorphicUIManager>**progressInitiationExceptionDef**aultAction:
> -1214906544: a(n) MorphicUIManager
> 0xff77a444 M ProgressInitiationException>**defaultAction -1177340728:
> a(n) ProgressInitiationException
> 0xff77a460 M UndefinedObject>handleSignal: -1216819196: a(n)
> UndefinedObject
> 0xff77a480 M MethodContext(ContextPart)>**handleSignal: -1191661348: a(n)
> MethodContext
> 0xff77a4a0 M MethodContext(ContextPart)>**handleSignal: -1191661440: a(n)
> MethodContext
> 0xff77a4c0 M MethodContext(ContextPart)>**handleSignal: -1191421700: a(n)
> MethodContext
> 0xff77a4e0 M MethodContext(ContextPart)>**handleSignal: -1191415972: a(n)
> MethodContext
> 0xff77a4fc M ProgressInitiationException(**Exception)>signal -1177340728:
> a(n) ProgressInitiationException
> 0xff77a514 M ProgressInitiationException>**display:at:from:to:during:
> -1177340728: a(n) ProgressInitiationException
> 0xff77a540 M ProgressInitiationException class>display:at:from:to:**during:
> -1214347848: a(n) ProgressInitiationException class
> 0xff77a56c M ByteString(String)>**displayProgressAt:from:to:**during:
> -1177340876: a(n) ByteString
> 0xff77a594 M MetacelloPharoPlatform>do:**displaying: -1209283404: a(n)
> MetacelloPharoPlatform
> 0xff77a5b4 M MetacelloFetchingMCSpecLoader>**linearLoadPackageSpec:gofer:
> -1191416520: a(n) MetacelloFetchingMCSpecLoader
> 0xff77a5d4 M MetacelloPackageSpec>**loadUsing:gofer: -1191434076: a(n)
> MetacelloPackageSpec
> 0xff77a600 I [] in MetacelloFetchingMCSpecLoader(**
> MetacelloCommonMCSpecLoader)>**linearLoadPackageSpecs:**repositories:
> -1191416520: a(n) MetacelloFetchingMCSpecLoader
> 0xff77a620 M OrderedCollection>do: -1181405472: a(n) OrderedCollection
> 0xff77a648 I MetacelloFetchingMCSpecLoader(**MetacelloCommonMCSpecLoader)>
> **linearLoadPackageSpecs:**repositories: -1191416520: a(n)
> MetacelloFetchingMCSpecLoader
> 0xff77a678 I [] in MetacelloFetchingMCSpecLoader>**atomicLoadPackageSpecs:
> **repositories: -1191416520: a(n) MetacelloFetchingMCSpecLoader
> 0xff77a698 M BlockClosure>ensure: -1181404712: a(n) BlockClosure
> 0xff77a6c0 I MetacelloLoaderPolicy>**pushLoadDirective:during:
> -1191426384: a(n) MetacelloLoaderPolicy
> 0xff77a6e8 I MetacelloLoaderPolicy>**pushAtomicLoadDirectivesDuring**:for:
> -1191426384: a(n) MetacelloLoaderPolicy
> 0xff77a710 I MetacelloFetchingMCSpecLoader>**atomicLoadPackageSpecs:**repositories:
> -1191416520: a(n) MetacelloFetchingMCSpecLoader
> 0xff77a73c I MetacelloFetchingMCSpecLoader(**MetacelloCommonMCSpecLoader)>
> **load -1191416520: a(n) MetacelloFetchingMCSpecLoader
> 0xff77a760 I MetacelloMCVersionSpecLoader>**load -1191421484: a(n)
> MetacelloMCVersionSpecLoader
> 0xff77a788 I MetacelloMCVersion>**executeLoadFromArray: -1191567612: a(n)
> MetacelloMCVersion
> 0xff77a7a8 M [] in MetacelloMCVersion>**fetchRequiredFromArray:
> -1191567612: a(n) MetacelloMCVersion
> 0xff77a7cc M [] in MetacelloPharoPlatform(**MetacelloPlatform)>**
> useStackCacheDuring:**defaultDictionary: -1209283404: a(n)
> MetacelloPharoPlatform
> 0xff77a7e8 M BlockClosure>on:do: -1191421608: a(n) BlockClosure
> 0xff77a80c M MetacelloPharoPlatform(**MetacelloPlatform)>**
> useStackCacheDuring:**defaultDictionary: -1209283404: a(n)
> MetacelloPharoPlatform
> 0xff77a834 M [] in MetacelloMCVersion>**fetchRequiredFromArray:
> -1191567612: a(n) MetacelloMCVersion
> 0xff77a854 M BlockClosure>ensure: -1191421988: a(n) BlockClosure
> 0xff77a884 I [] in MetacelloMCVersion>**fetchRequiredFromArray:
> -1191567612: a(n) MetacelloMCVersion
> 0xff77a8a8 I [] in MetacelloPharoPlatform>do:**displaying: -1209283404:
> a(n) MetacelloPharoPlatform
> 0xff77a8cc M [] in ProgressInitiationException>**defaultMorphicAction
> -1191423164: a(n) ProgressInitiationException
> 0xff77a8e8 M BlockClosure>on:do: -1191422124: a(n) BlockClosure
> 0xff77a910 M [] in ProgressInitiationException>**defaultMorphicAction
> -1191423164: a(n) ProgressInitiationException
> 0xff77a930 M BlockClosure>ensure: -1191422260: a(n) BlockClosure
> 0xff77a954 M ProgressInitiationException>**defaultMorphicAction
> -1191423164: a(n) ProgressInitiationException
> 0xff77a96c M MorphicUIManager>**progressInitiationExceptionDef**aultAction:
> -1214906544: a(n) MorphicUIManager
> 0xff777208 M ProgressInitiationException>**defaultAction -1191423164:
> a(n) ProgressInitiationException
> 0xff777224 M UndefinedObject>handleSignal: -1216819196: a(n)
> UndefinedObject
> 0xff777244 M MethodContext(ContextPart)>**handleSignal: -1191661348: a(n)
> MethodContext
> 0xff777264 M MethodContext(ContextPart)>**handleSignal: -1191661440: a(n)
> MethodContext
> 0xff777280 M ProgressInitiationException(**Exception)>signal -1191423164:
> a(n) ProgressInitiationException
> 0xff777298 M ProgressInitiationException>**display:at:from:to:during:
> -1191423164: a(n) ProgressInitiationException
> 0xff7772c4 M ProgressInitiationException class>display:at:from:to:**during:
> -1214347848: a(n) ProgressInitiationException class
> 0xff7772f0 M ByteString(String)>**displayProgressAt:from:to:**during:
> -1191423444: a(n) ByteString
> 0xff777320 I MetacelloPharoPlatform>do:**displaying: -1209283404: a(n)
> MetacelloPharoPlatform
> 0xff777354 I MetacelloMCVersion>**fetchRequiredFromArray: -1191567612:
> a(n) MetacelloMCVersion
> 0xff777384 I [] in MetacelloMCVersion>**doLoadRequiredFromArray:
> -1191567612: a(n) MetacelloMCVersion
> 0xff7773a4 M BlockClosure>ensure: -1191426180: a(n) BlockClosure
> 0xff7773d4 I MetacelloMCVersion>**doLoadRequiredFromArray: -1191567612:
> a(n) MetacelloMCVersion
> 0xff7773f8 I MetacelloMCVersion>load -1191567612: a(n) MetacelloMCVersion
> 0xff777410 M ConfigurationOfMoose class>loadDefault -1191864456: a(n)
> ConfigurationOfMoose class
> 0xff777428 M UndefinedObject>? -1216819196: a(n) UndefinedObject
> 0xff777460 I Compiler>evaluate:in:to:**notifying:ifFail:logged:
> -1191664976: a(n) Compiler
> 0xff7774a0 I [] in SmalltalkEditor>**evaluateSelectionAndDo: -1191674848:
> a(n) SmalltalkEditor
> 0xff7774bc M BlockClosure>on:do: -1191665020: a(n) BlockClosure
> 0xff7774f0 I SmalltalkEditor>**evaluateSelectionAndDo: -1191674848: a(n)
> SmalltalkEditor
> 0xff777514 I SmalltalkEditor>**evaluateSelection -1191674848: a(n)
> SmalltalkEditor
> 0xff77752c M [] in PluggableTextMorph>doIt -1191989900: a(n)
> PluggableTextMorph
> 0xff777554 I [] in PluggableTextMorph>handleEdit: -1191989900: a(n)
> PluggableTextMorph
> 0xff777574 I TextMorphForEditView(**TextMorph)>handleEdit: -1191988544:
> a(n) TextMorphForEditView
> 0xff77759c I PluggableTextMorph>handleEdit: -1191989900: a(n)
> PluggableTextMorph
> 0xff7775b8 M PluggableTextMorph>doIt -1191989900: a(n) PluggableTextMorph
> 0xff7775d0 M Workspace(StringHolder)>**perform:orSendTo: -1192006832:
> a(n) Workspace
> 0xff777600 I [] in ToggleMenuItemMorph(**MenuItemMorph)>**invokeWithEvent:
> -1191672980: a(n) ToggleMenuItemMorph
> 0xff777620 M BlockClosure>ensure: -1191665696: a(n) BlockClosure
> 0xff777648 I CursorWithMask(Cursor)>**showWhile: -1214866608: a(n)
> CursorWithMask
> 0xff777670 I ToggleMenuItemMorph(**MenuItemMorph)>**invokeWithEvent:
> -1191672980: a(n) ToggleMenuItemMorph
> 0xff777694 I ToggleMenuItemMorph(**MenuItemMorph)>mouseUp: -1191672980:
> a(n) ToggleMenuItemMorph
> 0xff7776b0 M ToggleMenuItemMorph(**MenuItemMorph)>handleMouseUp:
> -1191672980: a(n) ToggleMenuItemMorph
> 0xff7776cc M MouseButtonEvent>sentTo: -1191666012: a(n) MouseButtonEvent
> 0xff7776e8 M ToggleMenuItemMorph(Morph)>**handleEvent: -1191672980: a(n)
> ToggleMenuItemMorph
> 0xff777718 M MorphicEventDispatcher>**dispatchDefault:with: -1191666028:
> a(n) MorphicEventDispatcher
> 0xff777738 M MorphicEventDispatcher>**dispatchEvent:with: -1191666028:
> a(n) MorphicEventDispatcher
> 0xff777758 M ToggleMenuItemMorph(Morph)>**processEvent:using:
> -1191672980: a(n) ToggleMenuItemMorph
> 0xff77778c M MorphicEventDispatcher>**dispatchDefault:with: -1191666028:
> a(n) MorphicEventDispatcher
> 0xff7777ac M MorphicEventDispatcher>**dispatchEvent:with: -1191666028:
> a(n) MorphicEventDispatcher
> 0xff7777cc M MenuMorph(Morph)>processEvent:**using: -1191673548: a(n)
> MenuMorph
> 0xff7777ec M MenuMorph(Morph)>processEvent: -1191673548: a(n) MenuMorph
> 0xff777808 M MenuMorph>handleFocusEvent: -1191673548: a(n) MenuMorph
> 0xff777830 M [] in HandMorph>sendFocusEvent:to:**clear: -1215573028: a(n)
> HandMorph
> 0xff77784c M [] in PasteUpMorph>**becomeActiveDuring: -1215123516: a(n)
> PasteUpMorph
> 0xff777868 M BlockClosure>on:do: -1191666124: a(n) BlockClosure
> 0xff777894 M PasteUpMorph>**becomeActiveDuring: -1215123516: a(n)
> PasteUpMorph
> 0xff7778b8 M HandMorph>sendFocusEvent:to:**clear: -1215573028: a(n)
> HandMorph
> 0xff7778e0 M HandMorph>sendEvent:focus:**clear: -1215573028: a(n)
> HandMorph
> 0xff777904 M HandMorph>sendMouseEvent: -1215573028: a(n) HandMorph
> 0xff777928 M HandMorph>handleEvent: -1215573028: a(n) HandMorph
> 0xff777954 M HandMorph>processEvents -1215573028: a(n) HandMorph
> 0xff77796c M [] in WorldState>doOneCycleNowFor: -1214958408: a(n)
> WorldState
> 0xff7713ac M Array(SequenceableCollection)>**do: -1216805840: a(n) Array
> 0xff7713c8 M WorldState>handsDo: -1214958408: a(n) WorldState
> 0xff7713e4 M WorldState>doOneCycleNowFor: -1214958408: a(n) WorldState
> 0xff771400 M WorldState>doOneCycleFor: -1214958408: a(n) WorldState
> 0xff771420 M WorldState>doOneSubCycleFor: -1214958408: a(n) WorldState
> 0xff77143c M PasteUpMorph>doOneSubCycle -1215123516: a(n) PasteUpMorph
> 0xff771464 I MenuMorph>invokeModalAt:in:**allowKeyboard: -1191673548:
> a(n) MenuMorph
> 0xff771490 I MenuMorph>invokeModal: -1191673548: a(n) MenuMorph
> 0xff7714b4 I MenuMorph>invokeModal -1191673548: a(n) MenuMorph
> 0xff7714d8 I PluggableTextMorph>**yellowButtonActivity: -1191989900: a(n)
> PluggableTextMorph
> 0xff7714f8 M TextMorphForEditView>**mouseDown: -1191988544: a(n)
> TextMorphForEditView
> 0xff771514 M TextMorphForEditView(Morph)>**handleMouseDown: -1191988544:
> a(n) TextMorphForEditView
> 0xff771530 M MouseButtonEvent>sentTo: -1191673604: a(n) MouseButtonEvent
> 0xff77154c M TextMorphForEditView(Morph)>**handleEvent: -1191988544: a(n)
> TextMorphForEditView
> 0xff771588 M MorphicEventDispatcher>**dispatchMouseDown:with:
> -1191673752: a(n) MorphicEventDispatcher
> 0xff7715a8 M MorphicEventDispatcher>**dispatchEvent:with: -1191673752:
> a(n) MorphicEventDispatcher
> 0xff7715c8 M TextMorphForEditView(Morph)>**processEvent:using:
> -1191988544: a(n) TextMorphForEditView
> 0xff771608 M MorphicEventDispatcher>**dispatchMouseDown:with:
> -1191673752: a(n) MorphicEventDispatcher
> 0xff771628 M MorphicEventDispatcher>**dispatchEvent:with: -1191673752:
> a(n) MorphicEventDispatcher
> 0xff771648 M TransformMorph(Morph)>**processEvent:using: -1191989012:
> a(n) TransformMorph
> 0xff771688 M MorphicEventDispatcher>**dispatchMouseDown:with:
> -1191673752: a(n) MorphicEventDispatcher
> 0xff7716a8 M MorphicEventDispatcher>**dispatchEvent:with: -1191673752:
> a(n) MorphicEventDispatcher
> 0xff7716c8 M PluggableTextMorph(Morph)>**processEvent:using: -1191989900:
> a(n) PluggableTextMorph
> 0xff771708 M MorphicEventDispatcher>**dispatchMouseDown:with:
> -1191673752: a(n) MorphicEventDispatcher
> 0xff771728 M MorphicEventDispatcher>**dispatchEvent:with: -1191673752:
> a(n) MorphicEventDispatcher
> 0xff771748 M SystemWindow(Morph)>**processEvent:using: -1192006784: a(n)
> SystemWindow
> 0xff771788 M MorphicEventDispatcher>**dispatchMouseDown:with:
> -1191673752: a(n) MorphicEventDispatcher
> 0xff7717a8 M MorphicEventDispatcher>**dispatchEvent:with: -1191673752:
> a(n) MorphicEventDispatcher
> 0xff7717c8 M PasteUpMorph(Morph)>**processEvent:using: -1215123516: a(n)
> PasteUpMorph
> 0xff7717f0 M PasteUpMorph>processEvent:**using: -1215123516: a(n)
> PasteUpMorph
> 0xff771810 M PasteUpMorph(Morph)>**processEvent: -1215123516: a(n)
> PasteUpMorph
> 0xff771830 M HandMorph>sendEvent:focus:**clear: -1215573028: a(n)
> HandMorph
> 0xff771854 M HandMorph>sendMouseEvent: -1215573028: a(n) HandMorph
> 0xff771878 M HandMorph>handleEvent: -1215573028: a(n) HandMorph
> 0xff7718a4 M HandMorph>processEvents -1215573028: a(n) HandMorph
> 0xff7718bc M [] in WorldState>doOneCycleNowFor: -1214958408: a(n)
> WorldState
> 0xff7718e0 M Array(SequenceableCollection)>**do: -1216805840: a(n) Array
> 0xff7718fc M WorldState>handsDo: -1214958408: a(n) WorldState
> 0xff771918 M WorldState>doOneCycleNowFor: -1214958408: a(n) WorldState
> 0xff771934 M WorldState>doOneCycleFor: -1214958408: a(n) WorldState
> 0xff771950 M PasteUpMorph>doOneCycle -1215123516: a(n) PasteUpMorph
> 0xff771970 I [] in Project class>? -1214722400: a(n) Project class
> -1214675564 s [] in BlockClosure>?
>
> Most recent primitives
> basicNew:
> replaceFrom:to:with:**startingAt:
> basicNew
> basicNew:
> basicNew
> species
> basicNew:
> replaceFrom:to:with:**startingAt:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> species
> basicNew:
> replaceFrom:to:with:**startingAt:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> species
> basicNew:
> replaceFrom:to:with:**startingAt:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> species
> basicNew:
> replaceFrom:to:with:**startingAt:
> at:put:
> basicNew:
> basicNew
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> species
> basicNew:
> replaceFrom:to:with:**startingAt:
> basicNew:
> basicNew
> at:put:
> at:put:
> species
> basicNew:
> replaceFrom:to:with:**startingAt:
> basicNew:
> basicNew
> at:put:
> at:put:
> at:put:
> at:put:
> species
> basicNew:
> replaceFrom:to:with:**startingAt:
> basicNew:
> basicNew
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> species
> basicNew:
> replaceFrom:to:with:**startingAt:
> basicNew:
> basicNew
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> species
> basicNew:
> replaceFrom:to:with:**startingAt:
> basicNew:
> basicNew
> basicNew
> basicNew:
> atAllPut:
> at:put:
> at:put:
> findFirstInString:inSet:**startingAt:
> species
> basicNew:
> replaceFrom:to:with:**startingAt:
> basicNew:
> replaceFrom:to:with:**startingAt:
> replaceFrom:to:with:**startingAt:
> shallowCopy
> translate:from:to:table:
> shallowCopy
> basicNew
> new:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> shallowCopy
> new:
> replaceFrom:to:with:**startingAt:
> at:put:
> at:put:
> at:put:
> shallowCopy
> at:put:
> at:put:
> at:put:
> new:
> replaceFrom:to:with:**startingAt:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> at:put:
> shallowCopy
> at:put:
> shallowCopy
> compare:with:collated:
> compare:with:collated:
> shallowCopy
> shallowCopy
> compare:with:collated:
> compare:with:collated:
> compare:with:collated:
> shallowCopy
> Abort
> pl-59034:Pharo-1.3-13315-**OneClick.app:
>
>
>
>
>
>
>
>
>
>
> On Fri, 6 Jan 2012, Usman Bhatti wrote:
>
> Hi Julia,
>>
>> As discussed, I am sending you the link to the repo where I uploaded the
>> source code that we worked on today.
>> Here you can get the latest moose image.
>> http://ci.moosetechnology.org/**job/moose-latest-dev/<http://ci.moosetechnology.org/job/moose-latest-dev/>
>>
>> open a workspace and evaluate this code:
>>
>> Gofer new
>> url: 'http://www.squeaksource.com/**Coccinelle<http://www.squeaksource.com/Coccinelle>
>> ';
>> package: 'Coccinelle';
>> load.
>>
>> Once the above code executed, you can start the visualization by executing
>> the following command.
>>
>> CoccinelleEntries new showMaps
>>
>> bon weekend,
>>
>> Usman
>>
>>
>>
11 years, 11 months
Glamour - width of a GLMTableColumn
by Andre Hora
Hello,
The code below works fine, but I am not sure if it is correct way. Is
there another way to change the width of a GLMTableColumn?
| finder d |
finder := GLMFinder new.
d := finder table display: [ :x | x lines ].
d addColumn: (GLMTableColumn new title: 'v.'; computation: [ :e |
'999']; width: 30).
d addColumn: (GLMTableColumn new title: 'aut.'; computation: [ :e |
'anAuthor']; width: 70).
d addColumn: (GLMTableColumn new title: 'code'; computation: #asString
).
finder openOn: (Date>>#addMonths:) getSource
thanks!
--
Andre Hora
11 years, 11 months
Re: Coccinelle in Moose
by Usman Bhatti
It seems that one needs to follow the instructions given on moose website
to correctly startup moose on Linux/Ubunto.
On Sat, Jan 7, 2012 at 11:07 AM, Julia Lawall <julia.lawall(a)lip6.fr> wrote:
> On Sat, 7 Jan 2012, Usman Bhatti wrote:
>
> You can have a look here for instructions for loading Moose in
>> Linux:http://www.**moosetechnology.org/download/**4.6<http://www.moosetechnology.org/download/4.6>
>>
>
> Thanks. I was just going through pharo.
>
>
> I haven't used it on Linux myself; I am sending this mail to moos-dev list
>> and there are people who are successfully using it on Linux. They may be
>> able to suggest a better solution to the problem.
>>
>
> Thanks! That seems to start up as it should :)
>
> julia
>
11 years, 11 months
Table Rendered does not put horizontal scrollbar
by Guillermo Polito
Hi Doru!
GLMMorphicListingRendered>>treeMorphFor:and:
Which is the method that renders a table, hehe, only puts a vertical
scrollbar:
treeMorphFor: tmpTreeModel and: aPresentation
| tmpTreeMorph columns |
tmpTreeMorph := MorphTreeMorph new.
tmpTreeMorph
makeLastColumnUnbounded;
doubleClickSelector: #onDoubleClick;
getMenuSelector: #menu:shifted:;
keystrokeActionSelector: #keyStroke:from:;
cornerStyle: tmpTreeMorph preferredCornerStyle;
borderStyle: (BorderStyle inset width: 1);
autoDeselection: aPresentation allowsDeselection;
hResizing: #spaceFill;
vResizing: #spaceFill;
layoutFrame: (LayoutFrame fractions: (0 @ 0 corner: 1 @ 1)).
columns := aPresentation columns isEmpty
ifTrue: [ OrderedCollection with: (MorphTreeColumn new
rowMorphGetSelector: #elementColumn)]
ifFalse: [
aPresentation columns collect: [:each |
GLMMorphTreeColumn new
startWidth: each width;
glamourColumn: each;
headerButtonLabel: (aPresentation titleValueOfColumn:
each)
font: StandardFonts menuFont
target: nil
actionSelector: nil
arguments: #();
yourself ].
].
tmpTreeMorph
preferedPaneColor: Color white;
model: tmpTreeModel;
nodeListSelector: #roots;
columns: columns.
aPresentation isMultiple
ifTrue: [tmpTreeMorph beMultiple]
ifFalse: [tmpTreeMorph beSingle].
tmpTreeModel chunkSize: aPresentation amountToShow.
* tmpTreeMorph vShowScrollBar.*
^ tmpTreeMorph buildContents
And if you have a large table with many columns, you can't scroll to the
rightest end. I've changed that line by
tmpTreeMorph showScrollBars.
and the list and tree examples looks still ok.
Thanks,
Guille
11 years, 11 months
Re: Glamour: how to do 'A transmit to B' & 'B transmit to A'
by Cesar Couto
My name is Cesar Couto and I am working with Nicolas Anquetil at INRIA.
I think this code just works with list, but it does not work mondrian
painting. Look this simple code using mondrian:
|browser|
browser := GLMTabulator new.
browser column: #one; column: #two.
browser transmit to: #one;
andShow: [ :a | a mondrian painting: [ :view :bug | view shape label. view
node: 'one'. view shape rectangle. view node:1 ] ].
browser transmit to: #two;
andShow: [ :a | a mondrian painting: [ :view :bug | view shape label. view
node: 'two'. view shape rectangle. view node:2 ] ].
browser transmit from: #one; to: #two port: #selection;
andShow: [ :a |
a mondrian
title: [ :entity | 'one clicked'];
painting: [ :view :class | view shape label. view node: 'one clicked'. view
shape rectangle. view node:3 ]].
browser transmit from: #two; to: #one port: #selection;
andShow: [ :a |
a mondrian
title: [ :entity | 'two clicked'];
painting: [ :view :bug | view shape label. view node: 'two clicked'. view
shape rectangle. view node:4]].
browser openOn: MooseModel root allModels first.
Both of the panes open correctly. But when I click on the entities in one
pane, the other pane turn gray and nothing happens.
What do you think?
Cesar Couto
--
http://www.decom.cefetmg.br/cesar
11 years, 11 months
Glamour Accordion arrangement
by Guillermo Polito
Hi!
Mainly to Doru I think, How difficult is to have horizontal Accordion
arrangement in glamour?
I've hacked a bit in adding the commented lines:
GLMMorphicAccordionRenderer>>render: aPresentation
| presentations container expander |
presentations := aPresentation matchingPresentations.
presentations isEmpty ifTrue: [ ^ GLMMorphic emptyMorph ].
presentations size = 1 ifTrue: [ ^ self renderWithToolbar:
presentations first ].
container := GLMMorphic containerMorph.
container changeTableLayout.
* "container listDirection: #leftToRight."*
presentations do: [ :each |
expander := self theme
newExpanderIn: container
label: (self titleOrIconOf: each in: container)
forAll: {(self renderWithToolbar: each)}.
* "expander listDirection: #leftToRight."*
container addMorphBack: expander.
(aPresentation pane lastActivePresentation notNil and: [
each title = aPresentation pane lastActivePresentation title ])
ifTrue: [
expander expanded: true]].
(aPresentation pane lastActivePresentation isNil and: [container
submorphs notEmpty]) ifTrue: [
container submorphs first expanded: true].
^ container
But the expanders just look ugly ugly :)
Other IDEs, when you collapse a widget just keep an icon without the label.
Should I open an issue?
Guille
11 years, 11 months
Accordion arrangement as panes
by Guillermo Polito
Hi Doru!
In the Glamour examples, the accordion arrangement has declared inside of
it two presentations: a list and a text. I want to treat them as single
panes but I don't think glamour as it is allows me :(.
In other words, can I arrange panes as an accordion?
Thank you very much :)
Guille
11 years, 11 months
Glamour: how to do 'A transmit to B' & 'B transmit to A'
by Nicolas Anquetil
Hi folks,
Happy new year to you all.
I have a question in Glamour:
We want a browser with two panes:
browser
row: [ :row | row column: #classmap; column: #bugmap].
the two panes show two point of view on the same thing.
When we select something in #classmap we want too highlight something related
in #bugmap
browser transmit
from: #classmap;
to: #bugmap;
The reverse is true to:
browser transmit
from: #bugmap;
to: #classmap;
It works somehow: we can open the browser and click on one side (either one)
to update the other side.
The problem is that if we start selecting in one side, then we can only select
on this side, selecting on the other side blanks everything and we need to
restart the whole browser.
- Is this a know issue?
- with a known solution?
- do you need more code?
nicolas
--
Nicolas Anquetil -- RMod team
INRIA Lille Nord Europe
11 years, 11 months