RE: Syntax coloring; navigating; debugging Smalltalk; debugging the VM; comparisons to Vista Smalltalk

"David Griswold" <[email protected]>
Newsgroups gmane.comp.lang.smalltalk.strongtalk
Message-ID <[email protected]>


> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]]On Behalf Of Shaping
> Sent: Tuesday, December 26, 2006 4:31 PM
> To: Strongtalk-general
> Subject: Syntax coloring; navigating; debugging Smalltalk; debugging the
> VM; comparisons to Vista Smalltalk
>
>
>
> David Griswold wrote:
> > > -----Original Message-----
> > > From: [email protected]
> > > [mailto:[email protected]]On Behalf Of Shaping
> > > Sent: Monday, December 25, 2006 2:01 AM
> > > To: Strongtalk-general
> > > Subject: Re: Fonts; syntax coloring; type annotations
> > >
> [...]
> > >   The
> > > > reason your changes aren't taking effect is that the
> painters used to
> > > > render
> > > > the programming environment are cached in class variables in class
> > > > ProgrammingEnvironment, so they are only built once
> (Painters hold the
> > > > graphics state for rendering).  Look at the methods in the instance
> > > > category
> > > > 'private-painters' in ProgrammingEnvironment.  If you set any
> > > of the class
> > > > variables in that class to nil (or just save and restart
> the image after
> > > > changing the font specification)
> > >
> > > I saved and restarted the image after changing the font in a method
> > > pane (I
> > > could not find any other place to do this, and am assuming that the
> > > scope
> > > for the change is all method panes; not sure).  There was no change.
> > >
> > > I tried setting CodePainter to nil, saving, and restarting.  This did
> > > not
> > > work either.
> >
> > My last email outlined how to change the font the browsers use for code.
>
> I changed ProgrammingEnvironment>>smallPoint and  >>smallTypeface,
> saved, and cycled, and now see all methods paint correctly in the new
> typeface.  Thanks.  However, there are no nonnil cached values for the
> few class-side Painters I checked.  Why?

You don't have to save and start over, you can just evaluate
'ProgrammingEnvironment flushPainters', which will set them all to nil.
Some of the painters may not be used, but many of them are non-nil.

I don't know how you are looking at their values, but if you are doing it
using 'Inspect It' on the context menu, that won't work right now.  The
context for evaluation isn't set up correctly right now in the class
variables pane, so if you do an inspectit, the selection is evaluated in
global scope and can't see the class variable.  The reference is thus
interpreted as a missing global variable reference and a global variable of
the same name is added; if you see the message 'Global <var>  is used but
not defined so it has been added.' in the transcript, that is what is
happening.

> Next I want to change some of
> the other Painters to get the typeface and color scheme I want.  I'm
> also looking at DeltaParser and its users to determine how best to
> color method code.  Pointers/suggestions are welcome.
>
> I'm having some trouble getting around.  Is there a "References" menu
> for class variables?

Unfortunately, there is only an unimplemented stub right now for class
variable references.  In practice this isn't much of a problem, since access
methods are almost always used, so just look for senders of the access
method as a workaround.

> The tree of protocols and methods is elegant overall, except for a
> distracting problem:  too much peripheral field activity, as the tree
> expands and collapses, pushing the rest down or pulling it back up.
> It's a little disorienting, and I miss the usual class browser, mostly
> for this reason.  Also, in the same vein, when you click on a class,
> you get a new window, always.  This default creates more motion and
> more portals than I want, blowing my train of thought sometimes.  If I
> want more portals (windows) on the sytem, I prefer to open them myself
> (spawn/new/clone menu perhaps), and then change the contents of the
> panes in that portal by clicking about.  I'd like to know how everyone
> feels about this, and how well you're acclimating to Strongtalk's
> pure-tree-and-auto-spawn way.
>
> We really need a clean dev-environ restoration mechanism.  I'm wasting
> time getting back to where I was after a save and cycle.  Does anyone
> have any ideas or preference on how to do this?  Should we serial
> window structure as XML, write out the file, and parse it on startup?

Yes, XML is how I would expect it ought to be done.

> Why don't the Home and End keys work in the usual way in text fields?
> I really need to fix this.

I just never got to that.  You are welcome to add it.  The right place to do
it is TextView>>keyDown:focus:event:.

> For me, besides all of my favorite creature comforts, the biggest
> impediment to commitment to Strongtalk is the lack of a debugger for
> tracing through the code.

Yes, that is very high on the list of things to do.

> The second biggest problem is the crashing.  I haven't loaded the CPP
> code into VS 2005, but intend to soon.  If there are new instructions
> for building to make this easier, please let me know.  Does anyone know
> the specific causes of the crashes, in tems of actual CPP files, code
> line numbers?  Is there an growing list of VM bug-and-clean-up wisdom
> somewhere?  I'm aware of the VM syllabus, and am wondering whether
> those most familiar with the VM code are documenting their discoveries
> of problems or best-guesses.

Yes, stability is the highest thing on the list of things to work on.

> Is there a Find-and-Replace dialog?

Not yet.  All these things you want are needed, but it takes developers to
implement them.  Remember, Strongtalk is an unfinished system, and unlike
Vista Smalltalk, no one is being paid to work on it.  If you would like to
help address these issues, that's the best way to make it happen.
Development has been quiescent recently because I have been out-of-town most
of the last few months, and this isn't my day job anyway.  Right after New
Year I will be diving back into this, starting with VM documentation and
debugging to improve stability, followed by porting and a grahical debugger
as the next priorities.   If you want to help out, that will be when
development will be getting more organized.

-Dave


--~--~---------~--~----~------------~-------~--~----~
 You received this message because you are subscribed to the Google Groups "Strongtalk-general" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [email protected]
For more options, visit this group at http://groups.google.com/group/strongtalk-general?hl=en
-~----------~----~----~----~------~----~------~--~---
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.