Issue 3423 in pharo: Debugger little usability enh

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Issue 3423 in pharo: Debugger little usability enh

pharo
Status: FixedWaitingToBePharoed
Owner: stephane.ducasse
Labels: Milestone-1.3

New issue 3423 by stephane.ducasse: Debugger little usability enh
http://code.google.com/p/pharo/issues/detail?id=3423

Name: Tools-fbs.283
Author: fbs
Time: 1 December 2010, 3:09:44.682 pm
UUID: 810789fa-9417-a340-a578-0df71274f43d
Ancestors: Tools-ul.282

When a method changes out from under your feet in the Debugger (e.g., you  
remove an instvar triggering a recompile of a method through which you've  
stepped), the Debugger blanks out contents. In the UI, this manifests as a  
blank code pane.

This change resets the contents ivar by setting it to the new, recompiled,  
CompiledMethod as a side effect of calling self selectedMessage.

=============== Diff against Tools-ul.282 ===============

Item was changed:
  ----- Method: Debugger>>contents (in category 'accessing') -----
  contents
        "Depending on the current selection, different information is  
retrieved.
        Answer a string description of that information.  This information  
is the
        method in the currently selected context."

+       contents == nil ifTrue: [^ self selectedMessage].
-       contents == nil ifTrue: [^ String new].
        ^ contents copy!



Reply | Threaded
Open this post in threaded view
|

Re: Issue 3423 in pharo: Debugger little usability enh

pharo

Comment #1 on issue 3423 by stephane.ducasse: Debugger little usability enh
http://code.google.com/p/pharo/issues/detail?id=3423

When a method changes out from under your feet in the Debugger (e.g., you  
remove an instvar triggering a recompile of a method through which you've  
stepped), the Debugger blanks out contents. In the UI, this manifests as a  
blank code pane.

This change resets the contents ivar by setting it to the new, recompiled,  
CompiledMethod as a side effect of calling self selectedMessage.

This version is Eliot Miranda's improved version of my (fbs) initial  
submission.

=============== Diff against Tools-ul.282 ===============

Item was changed:
  ----- Method: Debugger>>contents (in category 'accessing') -----
  contents
        "Depending on the current selection, different information is  
retrieved.
        Answer a string description of that information.  This information  
is the
        method in the currently selected context."

+       ^contents ifNil:
+               [self selectedContext
+                       ifNotNil: [self selectedMessage]
+                       ifNil: [String new]] !
-       contents == nil ifTrue: [^ String new].
-       ^ contents copy!


Reply | Threaded
Open this post in threaded view
|

Re: Issue 3423 in pharo: Debugger little usability enh

pharo

Comment #2 on issue 3423 by stephane.ducasse: Debugger little usability enh
http://code.google.com/p/pharo/issues/detail?id=3423

Name: Tools-fbs.287
Author: fbs
Time: 11 December 2010, 6:35:36.221 pm
UUID: bbe28059-3caf-0d40-8b0c-fdde8f969d45
Ancestors: Tools-fbs.286

This is a quick and dirty hack to address
http://bugs.squeak.org/view.php?id=7575. The right way is probably to have  
#selectedContext return nil if there's no context selected. Many places  
expect #selectedContext to return a non-nil value though.

So again: quick and dirty hack, and something better should be written that  
addresses the many places that assume that there's always a selected  
context.

=============== Diff against Tools-fbs.286 ===============

Item was changed:
  ----- Method: Debugger>>contents (in category 'accessing') -----
  contents
        "Depending on the current selection, different information is  
retrieved.
        Answer a string description of that information.  This information  
is the
        method in the currently selected context."

+       ^(contextStackIndex == 0)
+               ifTrue: [String new]
+               ifFalse: [contents ifNil:
+                       [self selectedContext
+                               ifNotNil: [self selectedMessage]
+                               ifNil: [String new]]] !
-       ^contents ifNil:
-               [self selectedContext
-                       ifNotNil: [self selectedMessage]
-                       ifNil: [String new]] !