[squeak-dev] The Trunk: Tools-cmm.812.mcz

Eliot Miranda eliot.miranda at gmail.com
Wed May 9 05:30:32 UTC 2018


Hi Chris,

    two things.  First this is an opportunity to replace  (class isKindOf:
Behavior) with class isBehavior.  Second, why delete mail out bug report?
It's still useful right?

On Tue, May 8, 2018 at 8:59 PM, <commits at source.squeak.org> wrote:

> Chris Muller uploaded a new version of Tools to project The Trunk:
> http://source.squeak.org/trunk/Tools-cmm.812.mcz
>
> ==================== Summary ====================
>
> Name: Tools-cmm.812
> Author: cmm
> Time: 8 May 2018, 10:59:15.586524 pm
> UUID: d05b5ccd-cc99-4f00-85b1-264218092ef2
> Ancestors: Tools-dtl.811
>
> - Integrate newly-defined classes into the hierarchy list of a
> HierarchyBrowser without muting the other classes.  If it's outside the
> hierarchy, spawn it in a new window.
> - Bug reports can contain sensitive and/or private information (variable
> values), so use care when sending them electronically.  'copy bug report to
> clipboard' replaced 'mail out bug report' on the debugger menu.
>
> =============== Diff against Tools-dtl.811 ===============
>
> Item was changed:
>   ----- Method: Browser>>defineClass:notifying: (in category 'class
> functions') -----
>   defineClass: defString notifying: aController
>         "The receiver's textual content is a request to define a new
> class. The
>         source code is defString. If any errors occur in compilation,
> notify
>         aController."
>         | oldClass class newClassName defTokens keywdIx envt |
>         oldClass := self selectedClassOrMetaClass.
>         defTokens := defString findTokens: Character separators.
>
>         ((defTokens first = 'Trait' and: [defTokens second = 'named:'])
>                 or: [defTokens second = 'classTrait'])
>                 ifTrue: [^self defineTrait: defString notifying:
> aController].
>
>         keywdIx := defTokens findFirst: [:x | x beginsWith: 'category'].
>         envt := self selectedEnvironment.
>         keywdIx := defTokens findFirst: [:x | '*subclass*' match: x].
>         newClassName := (defTokens at: keywdIx+1) copyWithoutAll: '#()'.
>         ((oldClass isNil or: [oldClass theNonMetaClass name asString ~=
> newClassName])
>                 and: [envt includesKey: newClassName asSymbol]) ifTrue:
>                         ["Attempting to define new class over existing one
> when
>                                 not looking at the original one in this
> browser..."
>                         (self confirm: ((newClassName , ' is an existing
> class in this system.
>   Redefining it might cause serious problems.
>   Is this really what you want to do?') asText makeBoldFrom: 1 to:
> newClassName size))
>                                 ifFalse: [^ false]].
>         "ar 8/29/1999: Use oldClass superclass for defining oldClass
>         since oldClass superclass knows the definerClass of oldClass."
>         oldClass ifNotNil:[oldClass := oldClass superclass].
>         class := envt beCurrentDuring:
>                 [oldClass subclassDefinerClass
>                                 evaluate: defString
>                                 in: envt
>                                 notifying: aController
>                                 logged: false].
>         (class isKindOf: Behavior)
> +               ifTrue: [self changed: #systemCategoryList; changed:
> #classList.
> +                               self clearUserEditFlag; spawnOrNavigateTo:
> class.
> -               ifTrue: [self changed: #systemCategoryList.
> -                               self changed: #classList.
> -                               self clearUserEditFlag.
> -                               self setClass: class selector: nil.
> -                               "self clearUserEditFlag; editClass."
>                                 ^ true]
>                 ifFalse: [^ false]!
>
> Item was added:
> + ----- Method: Browser>>spawnOrNavigateTo: (in category 'private') -----
> + spawnOrNavigateTo: aClass
> +       self setClass: aClass selector: nil!
>
> Item was changed:
>   ----- Method: Debugger>>mainContextStackMenu: (in category 'context
> stack menu') -----
>   mainContextStackMenu: aMenu
>         "Set up the menu appropriately for the context-stack-list,
> unshifted"
>         <contextStackMenuShifted: false>
>         ^ aMenu addList: #(
>                         ('fullStack (f)'
> fullStack)
>                         ('restart (r)'                          restart)
>                         ('proceed (p)'                          proceed)
>                         ('step (t)'
>  doStep)
>                         ('step through (T)'
>  stepIntoBlock)
>                         ('send (e)'
>  send)
>                         ('where (w)'                            where)
>                         ('peel to first like this'
> peelToFirst)
>                         -
>                         ('return entered value'
>  returnValue)
>                         -
>                         ('toggle break on entry'
> toggleBreakOnEntry)
>                         ('senders of    (n)'
> browseSendersOfMessages)
>                         ('implementors of    (m)'       browseMessages)
>                         ('inheritance (i)'
> methodHierarchy)
>                         -
>                         ('versions (v)'
>  browseVersions)
>                         -
>                         ('references    (r)'
> browseVariableReferences)
>                         ('assignments    (a)'
>  browseVariableAssignments)
>                         -
>                         ('class refs (N)'
>  browseClassRefs)
>                         ('browse full (b)'
> browseMethodFull)
>                         ('file out '
> fileOutMessage)
>                         -
> +                       ('copy bug report to clipboard'
> copyBugReportToClipboard));
> -                       ('mail out bug report'          mailOutBugReport)
> -                       ('bug report to clipboard'
> copyBugReportToClipboard));
>                 yourself
>   !
>
> Item was changed:
>   ----- Method: HierarchyBrowser>>setClass: (in category 'initialization')
> -----
> + setClass: aClass
> +       self initHierarchyForClass: (centralClass ifNil: [ aClass ]).
> +       super setClass: aClass!
> - setClass: aClass
> -
> -       self initHierarchyForClass: aClass.
> -       super setClass: aClass.!
>
> Item was added:
> + ----- Method: HierarchyBrowser>>spawnOrNavigateTo: (in category
> 'private') -----
> + spawnOrNavigateTo: aClass
> +       (aClass inheritsFrom: centralClass)
> +               ifTrue: [ super spawnOrNavigateTo: aClass ]
> +               ifFalse: [ self systemNavigation browseHierarchy: aClass ]!
>
> Item was changed:
>   ----- Method: HierarchyBrowser>>updateAfterClassChange (in category
> 'initialization') -----
>   updateAfterClassChange
>         "It is possible that some the classes comprising the hierarchy
> have changed, so reinitialize the entire browser."
>
> +       | priorSelection |
> +       priorSelection := self selectedClassName.
> +
>         (centralClass notNil and: [centralClass isObsolete not])
> +               ifTrue: [self initHierarchyForClass: centralClass].
> +
> +       (self classListIndexOf: priorSelection) > 0
> +               ifTrue: [self selectClassNamed: priorSelection].!
> -               ifTrue: [self initHierarchyForClass: centralClass]!
>
>
>


-- 
_,,,^..^,,,_
best, Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20180508/7852e5f4/attachment.html>


More information about the Squeak-dev mailing list