[Glass] gsDevKit / tode first time setup

Jon Paynter via Glass glass at lists.gemtalksystems.com
Wed Oct 21 19:06:40 PDT 2015


Thanks for the tode tips - much to chew on!

Stack frame 13 shows:
TDMetacelloUnloadedProjectRegistrationDefinition(TDMetacelloProjectRegistrationDefinition)>>repositorySpecs
@3 line 2
--------------------
.         ->
TDMetacelloUnloadedProjectRegistrationDefinition(TDMetacelloProjectRegistrationDefinition)>>repositorySpecs
@3 line 2
(context) -> aGsNMethod
(self)    ->
TDMetacelloUnloadedProjectRegistrationDefinition(PharoCompatibility)
.t1       -> error printing

and t1 shows  as:
.               -> error printing
..              ->
TDMetacelloUnloadedProjectRegistrationDefinition(PharoCompatibility)
(class)@        -> MetacelloMCBaselineOfProjectSpec
(oop)@          -> 326983681
className@      -> 'BaselineOfPharoCompatibility'
file@           -> nil
loader@         -> nil
loads@          -> anArray( 'default')
mutable@        -> nil
name@           -> 'PharoCompatibility'
operator@       -> nil
postLoadDoIt@   -> nil
preLoadDoIt@    -> nil
project@        -> error printing
projectPackage@ -> nil
repositories@   -> error printing
versionString@  -> nil

With project and repositories also 'mostly' nil.
project -> configuration seems to point to itself (the inspector goes into
a loop)
repositories -> list has a single element:  MetacelloAddMemberSpec with
"(spec repository: nil)"

hopefully that helps.

On Wed, Oct 21, 2015 at 7:39 AM, Dale Henrichs <
dale.henrichs at gemtalksystems.com> wrote:

>
>
> On 10/21/15 12:20 AM, Jon Paynter wrote:
>
>> 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
>>
> And Jon what are the values in frame 13? ... that's the guy that is the
> source of the nils and I want to know which of the
> TDMetacelloUnloadedProjectRegistrationDefinition instances is causing the
> problem ... then I have a chance of reproducing the problem and/or
> understanding why the nils are being produced
>
>>
>> Do you have any docs for tode?   - in particular the configuration.
>>
> Man pages are the main source of documentation... there are several
> videos[1] that might give you insight (let me know if there is one that
> really helps:)... the newest is at the bottom ... be aware that all of the
> vids were done with older versions of tODE:)
>
> [1]
> https://github.com/dalehenrich/tode/blob/master/docs/videos/videoHistory.md
>
>> Currently I find it rather clunky because I dont know most of the
>> shortcuts.
>>
> Well all of the keyboard shortcuts (are you referring to keyboard
> shortcuts?) are on displayed on the menu (bug if they are not) ...
>
> Otherwise I understand that getting used to a new system can be
> difficult... I plan to make videos, but I want to stabilize the Early
> Access first and your help and patience is greatly appreciated!
>
>> 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.
>>
> Good question ... you want the limit command ... `man limit` ... you can
> write a script in your home directory that you can run at login (yes I will
> have a kind of .toderc that automatically runs ... but not right now) I
> call mine go:
>
>   touch tpz go
>   edit go
>
> add the following:
>
>   limit format false
>
> then save (ALT-S) ... then `/home/go` or `./go` when you login will clear
> autoformat ...
>
>> 2) how to re-map "paste" to the normal Control+V instead of Alt+V  -- im
>> copying & pasting code from VW into tode
>>
> Yeah that is actually an unfortunate "bug/feature" of Pharo3.0 ... I've
> made several attempts to try to work around the problem to no avail ...
> Pharo4.0 seems to have the same problem and Pharo5.0 isn't ready for use ...
>
> When other things stabilize in the Early Access I can swing back around
> and take another crack at it ...
>
>>
>> A "nice to have" -- update the method list window after creating accessors
>>
> Yes ... I need to add events, but I have to be careful, since the updates
> to windows are going to cost in terms of network round trips ...I have some
> ideas but not the time:)
>
>>
>> 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.
>>
> Yeah, I use the blank space on the right to move the hierarchy windows to
> a separate spot ... the window layout is a work in progress (as are many
> things:) ... I suggest you also play around with "Window > history" ... for
> the fixed position windows you can visit any older version (from the
> current session) of the window akin to the back button in a web browser ...
> it works in any window other that than the button bar ... and I wouldn't
> recommend using it with the debugger:) I haven't put a keyboard shortcut on
> it yet, but if folks find it useful I will ...
>
>> 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.
>>
> Yeah ... I need to know which
> TDMetacelloUnloadedProjectRegistrationDefinition is causing the problemj:)
>
>>
>> The folder layout paradigm (.  vs ..) for the inspector window is neat
>> once you get used to it.
>>
> Good I'm glad that it's working for you ... Note that the "Parents" menu
> will allow you to quickly navigate up the chain once you've navigated in ...
>
>
> Also I recommend playing with  the "Window > clone window" menu item as
> you can peel off a window instance (this works for all windows ... except
> console) especially useful for a method window if you want to look at
> several methods "side by side" ...  And finally "Window > open workspace"
> is how you can write expressions against any object (like from the context
> window of the debugger) ... also works with any window
>
>>
>> And lastly - how can i get the image to save the set of open windows when
>> im done for the day?
>>
>>
> `windows restore` is my attempt at this ...  when you login at your next
> session, `windows restore` should restore all of the windows that were open
> when you logged out ... some windows are not persisted, like debuggers, but
> most of the other windows can be restored ... There seem to be a couple of
> glitches in that occasionally a window doesn't get reconnected, but I think
> it's the functionarlity that you are looking for and I will eventually get
> rid of the glitches:)
>
> Until then you might want to play with the rich variety of `browse`
> commands (`man browse`) and add them to your `go` script then you can
> basically pre-open a set of windows for your current working set ... here
> are some examples:
>
>   browse category --exact Topez-Server-Core
>   browse class --hier method|stream
>   browse method --regex at\:put\:|nextPutAll\:
>
> and the following is often useful:
>
>     browse diff TDShellTool>>findMethods: `TDShellTool class>>browse`
>
>
> Well I really appreciate your feedback and I plan to use this post as a
> template for a FAQ question or two ... again when I things settle down a
> bit in the Early Access
>
> Dale
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gemtalksystems.com/mailman/private/glass/attachments/20151021/8cd656a8/attachment-0001.html>


More information about the Glass mailing list