[Glass] gsDevKit / tode first time setup

Jon Paynter via Glass glass at lists.gemtalksystems.com
Wed Oct 21 00:20:55 PDT 2015


ok. context for frame 5
Dictionary>>at:put: @3 line 9
--------------------
.         -> Dictionary>>at:put: @3 line 9
(context) -> aGsNMethod
(self)    -> aDictionary( )
aKey      -> nil
aValue    -> spec repository: nil
anAssoc   -> nil
hashVal   -> nil
.t1       -> aDictionary( )


.... based on my own poking around, its adding a new member spec with a
name=nil
when I explore (dive?) into the MetacelloAddMemberSpec instance, everything
is nil except for the project & spec, but their instvars are also all nil

Do you have any docs for tode?   - in particular the configuration.
Currently I find it rather clunky because I dont know most of the shortcuts.
but the 2 main annoyances:
1) how to shut off the auto code formatter?  it makes a hash of my code
whenever I accept a method.  I looked in the image settings but could not
find anything.
2) how to re-map "paste" to the normal Control+V instead of Alt+V  -- im
copying & pasting code from VW into tode

A "nice to have" -- update the method list window after creating accessors

The auto-window layout is nice.  But I wish I could tell it where to place
the various windows.  I frequently wind up with 3-4 Hierarchy windows on
top of each other.  It would be nice if they would all tile within their
designated space.
But -im hoping a working project browser will let me browse stuff by
category instead of having to deal with several of the Hierarchy browsers.

The folder layout paradigm (.  vs ..) for the inspector window is neat once
you get used to it.

And lastly - how can i get the image to save the set of open windows when
im done for the day?


On Tue, Oct 20, 2015 at 11:48 PM, Dale Henrichs <
dale.henrichs at gemtalksystems.com> wrote:

> If you've still got the debugger window open, I need to see the context
> for frame 5 ... select frame 5 and then "Window > print window" in the
> context window (pane/window below the stack window)... for frames 12 and
> 13, I'd like to see (self): click on the frame in the stack window, then
> click on (self) in the context window and then "Window > print window"
>
> and then we'll go from there ...
>
> re: learning curve ... haha yeah it is a bit different than your father's
> Smalltalk dev environment ... I'm curious about any aha moments you might
> have, including the oh crap ones too --- they are be worth sharing ... I've
> used tODE too long and went through a different learning curve (no menus
> and only shortcut keys in the very beginning) ...
>
> Dale
>
>
> On 10/20/2015 11:14 PM, Jon Paynter wrote:
>
> ... this tode client has a bit of a learning curve.
>
> here is the stack dump
> aTDDebugger
> --------------------
> 1. ArgumentError(AbstractException)>>_signalWith: @5 line 25
> 2. ArgumentError(AbstractException)>>signal @2 line 47
> 3. Dictionary(Object)>>_error: @13 line 7
> 4. Dictionary(AbstractDictionary)>>errorNilKey @2 line 5
> 5. Dictionary>>at:put: @3 line 9
> 6. MetacelloRepositoriesSpec(MetacelloMemberListSpec)>>mapAdd:into: @4
> line 3
> 7. [] in MetacelloRepositoriesSpec(MetacelloMemberListSpec)>>map @2 line 8
> 8. MetacelloAddMemberSpec>>applyAdd:copy:merge:remove: @2 line 3
> 9. [] in MetacelloRepositoriesSpec(MetacelloMemberListSpec)>>map @2 line 8
> 10. OrderedCollection(Collection)>>do: @5 line 10
> 11. MetacelloRepositoriesSpec(MetacelloMemberListSpec)>>map @7 line 6
> 12.
> MetacelloMCBaselineOfProjectSpec(MetacelloGenericProjectSpec)>>repositorySpecs
> @5 line 3
> 13.
> TDMetacelloUnloadedProjectRegistrationDefinition(TDMetacelloProjectRegistrationDefinition)>>repositorySpecs
> @3 line 2
> 14.
> TDMetacelloUnloadedProjectRegistrationDefinition(TDMetacelloProjectRegistrationDefinition)>>repositorySpec
> @2 line 3
> 15.
> TDMetacelloUnloadedProjectRegistrationDefinition(TDMetacelloProjectRegistrationDefinition)>>hasFileTreeRepo
> @2 line 2
> 16.
> TDMetacelloUnloadedProjectRegistrationDefinition(TDMetacelloProjectRegistrationDefinition)>>hasGitRepository
> @2 line 2
> 17.
> TDMetacelloUnloadedProjectRegistrationDefinition(TDAbstractProjectRegistrationDefinition)>>isGitDirty
> @2 line 2
> 18. TDMetacelloUnloadedProjectRegistrationDefinition>>isDirty @3 line 2
> 19. [] in ExecBlock2(TDMetacelloTool)>>sortRegistrationList: @30 line 17
> 20. Array(SequenceableCollection)>>mergeFirst:middle:last:into:by: @15
> line 14
> 21. Array(SequenceableCollection)>>mergeSortFrom:to:src:dst:by: @11 line 10
> 22. Array(SequenceableCollection)>>mergeSortFrom:to:src:dst:by: @10 line 9
> 23. Array(SequenceableCollection)>>mergeSortFrom:to:src:dst:by: @8 line 8
> 24. Array(SequenceableCollection)>>mergeSortFrom:to:src:dst:by: @10 line 9
> 25. Array(SequenceableCollection)>>mergeSortFrom:to:by: @12 line 18
> 26. Array(SequenceableCollection)>>sort: @3 line 6
> 27. TDMetacelloTool>>sortRegistrationList: @2 line 8
> 28. TDMetacelloTool>>projectRegistrationDefinitionList @6 line 4
> 29. [] in TDMetacelloTool>>projectlist @2 line 13
> 30. TDMetacelloProjectBrowser>>clientList:listElement: @3 line 4
> 31. [] in
> TDMetacelloProjectBrowser(TDAbstractToolBuilder)>>clientListBlock @2 line 2
> 32. TDMiniToolSpec>>clientList:listElement: @4 line 3
> 33. TDMiniToolClientListElementBuilder>>clientList: @3 line 2
> 34.
> TDMiniToolClientListElementBuilder(TDClientListElementBuilder)>>firstList:
> @2 line 2
> 35.
> TDMiniToolClientListElementBuilder(TDClientListElementBuilder)>>buildClientElementUsing:editorAspect:
> @19 line 15
> 36. [] in ExecBlock2(TDTopezServer)>>clientElementFor:using: @4 line 9
> 37. [] in TDTopezServer>>editorNodeFor:aspect:do: @8 line 9
> 38. [] in ExecBlock1(TDTopezServer)>>editorNodeClassNameFor:aspect:do: @5
> line 10
> 39. TDTopezServer>>lookupClassNameFor:aspect:defaultAspect:in:do: @24 line
> 28
> 40. TDTopezServer>>editorNodeClassNameFor:aspect:do: @5 line 3
> 41. TDTopezServer>>editorNodeFor:aspect:do: @2 line 3
> 42. TDTopezServer>>clientElementFor:using: @3 line 4
> 43. TDTopezServer>>edit:using: @2 line 3
> 44. TDMetacelloProjectBrowser(Object)>>editUsing: @4 line 3
> 45. TDMetacelloProjectBrowser(TDAbstractToolBuilder)>>open @3 line 2
> 46. [] in TDMetacelloTool>>projectlist @8 line 35
> 47. Dictionary(AbstractDictionary)>>at:ifPresent:ifAbsent: @3 line 5
> 48. TDMetacelloTool>>projectlist @4 line 27
> 49. TDMetacelloTool class(TDAbstractDevTool
> class)>>performSubCommand:objIn:commandOptions:todeCommand: @23 line 22
> 50. [] in TDMetacelloTool class>>project @2 line 5
> 51. TDMetacelloTool class(ExecBlock)>>cull:cull:cull:cull: @7 line 4
> 52. TDTopezServer>>evaluateCommand:objIn: @18 line 22
> 53. TDTopezServer>>evaluateSTONCommand: @9 line 6
> 54. Executed Code
> 55. GsNMethod class>>_gsReturnToC @1 line 1
>
>
>
>
> On Tue, Oct 20, 2015 at 12:10 PM, Dale Henrichs <
> dale.henrichs at gemtalksystems.com> wrote:
>
>>
>>
>> On 10/19/2015 10:13 PM, Jon Paynter wrote:
>>
>>> ok I got the session properties updated on the client  - I changed
>>> "seaside_ldi" to "netldi"
>>>
>>> and now i can log in.
>>> I opened the project list, but when poking around in the menus to try
>>> and create a new project, something broke and now I get a dictionary error
>>> "attempt to store nil as a key"
>>> restarting the tode client doesnt seem to rollback whatever changes were
>>> made, so now the project list is broken.
>>>
>>> not sure how to get a stack dump or I would include one here.
>>>
>>>
>> Presumably you are getting a dialog box with the error in it and three
>> buttons labeled "Proceed" "Abort" "Debug" ... if so press the "Debug"
>> button and a debugger should open go to the window that looks like a stack
>> trace and us the "Window > print window" menu item to get a text version of
>> the window (this is available on every tODE window except the console) copy
>> the stack text and past that in a mail image so I can look at the stack
>> trace ...
>>
>> If you are not getting a dialog, then describe how you are being
>> presented with the "attempt to store nil as a key" message and we'll go
>> from there...
>>
>> Dale
>>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gemtalksystems.com/mailman/private/glass/attachments/20151021/35fbbdc0/attachment-0001.html>


More information about the Glass mailing list