{"id":16086461,"url":"https://github.com/jecisc/bugreport","last_synced_at":"2025-04-05T14:41:23.155Z","repository":{"id":93121196,"uuid":"248736218","full_name":"jecisc/BugReport","owner":"jecisc","description":"A small project to ease the bug reporting in Pharo application.","archived":false,"fork":false,"pushed_at":"2022-04-13T08:49:14.000Z","size":35,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-18T11:11:29.886Z","etag":null,"topics":["bugreport","pharo","smalltalk"],"latest_commit_sha":null,"homepage":"","language":"Smalltalk","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jecisc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2020-03-20T11:13:01.000Z","updated_at":"2022-01-29T00:40:24.000Z","dependencies_parsed_at":"2023-06-19T18:26:00.260Z","dependency_job_id":null,"html_url":"https://github.com/jecisc/BugReport","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jecisc%2FBugReport","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jecisc%2FBugReport/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jecisc%2FBugReport/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jecisc%2FBugReport/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jecisc","download_url":"https://codeload.github.com/jecisc/BugReport/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247353679,"owners_count":20925324,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bugreport","pharo","smalltalk"],"created_at":"2024-10-09T13:13:20.508Z","updated_at":"2025-04-05T14:41:23.138Z","avatar_url":"https://github.com/jecisc.png","language":"Smalltalk","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BugReport\n\nI provide some utilities to dump bug reports in Pharo applications.\n\n- [Installation](#installation)\n- [Documentation](#documentation)\n- [Version management](#version-management)\n- [Smalltalk versions compatibility](#smalltalk-versions-compatibility)\n- [Contact](#contact)\n\n## Installation\n\nTo install the project in your Pharo image execute:\n\n```Smalltalk\n    Metacello new\n    \tgithubUser: 'jecisc' project: 'BugReport' commitish: 'v1.x.x' path: 'src';\n    \tbaseline: 'BugReport';\n    \tload\n```\n\nTo add it to your baseline:\n\n```Smalltalk\n    spec\n    \tbaseline: 'BugReport'\n    \twith: [ spec repository: 'github://jecisc/BugReport:v1.x.x/src' ]\n```\n\nNote that you can replace the #v1.x.x by another branch such as #development or a tag such as #v1.0.0, #v1.? or #v1.1.?.\n\n\n## Documentation\n\nIt is possible to export a bug report in a string.\n\n```Smalltalk\n[ (Set withAll: #(1 2 3 4)) first ]\n\ton: Error\n\tdo: [ :ex |\n\t\tString streamContents: [ :s | \n\t\t\tBugReporter new\n\t\t\t\tcontext: thisContext;\n\t\t\t\tdescription: ex description;\n\t\t\t\tstream: s;\n\t\t\t\twrite\n\t\t\t ] ]\n```\n\nIt is also possible to export a bug report in a dump file.\n\n```Smalltalk\n[ (Set withAll: #(1 2 3 4)) first ]\n\ton: Error\n\tdo: [ :ex |\n\t\tFileBugReporter new\n\t\t\tcontext: thisContext;\n\t\t\tdescription: ex description;\n\t\t\tfile: 'report.txt' asFileReference;\n\t\t\twrite\n\t\t]\n```\n\nOr in an easier way.\n\n```Smalltalk\n[ (Set withAll: #(1 2 3 4)) first ] on: Error do: [ :ex | ex dumpStackFor: thisContext ].\n\n\"or\"\n\n[ (Set withAll: #(1 2 3 4)) first ] on: Error do: [ :ex | ex dumpStack ].\n```\n\n\u003cdetails\u003e\n  \u003csummary\u003eExample of result\u003c/summary\u003e\n\n```\nMessageNotUnderstood: Set\u003e\u003e #first\n\n----------------------------------------------------------------------------------------------------\nSet(Object)\u003e\u003edoesNotUnderstand: #first\n\n\nreceiver\n\t                              a Set(1 2 3 4)\n\n\ntemps\n\taMessage                      first\n\tRFReifyValueVar               nil\n\tRFArgumentsReificationVar     an Array(first)\n\texception                     MessageNotUnderstood: Set\u003e\u003e #first\n\tresumeValue                   nil\n\n\ninst vars\n\ttally                         4\n\tarray                         #(nil 1 2 3 4 nil nil)\n\n----------------------------------------------------------------------------------------------------\n[ (Set withAll: #(1 2 3 4)) first ] in BugReporter class\u003e\u003eDoIt\n\n\nreceiver\n\t                              BugReporter\n\n\ntemps\n\n\ninst vars\n\tsuperclass                    Object\n\tmethodDict                    a MethodDictionary(#context:-\u003eBugReporter\u003e\u003e#context: #description-\u003eBugReporter\u003e\u003e#description #description:-\u003eBugReporter\u003e\u003e#description: #movePastMessageNotUnderstood-\u003eBugReporter\u003e\u003e#movePastMessageNotUn...etc...\n\tformat                        65539\n\tlayout                        a FixedLayout\n\torganization                  a ClassOrganization\n\tsubclasses                    {FileBugReporter}\n\tname                          #BugReporter\n\tclassPool                     a Dictionary()\n\tsharedPools                   an OrderedCollection()\n\tenvironment                   a SystemDictionary(lots of globals)\n\tcategory                      #BugReport\n\n----------------------------------------------------------------------------------------------------\nBlockClosure\u003e\u003eon:do:\n\n\nreceiver\n\t                              [ (Set withAll: #(1 2 3 4)) first ]\n\n\ntemps\n\texception                     Error\n\thandlerAction                 [ :ex | \nString\n\tstreamContents: [ :s | \n\t\tBugReporter new\n\t\t\tcontext: thisContext;\n\t\t\tdescription: ex description;\n\t\t\tstream: s;\n\t\t\twrite ] ]\n\n\ninst vars\n\touterContext                  BugReporter class\u003e\u003eDoIt\n\tstartpc                       141\n\tnumArgs                       0\n\n----------------------------------------------------------------------------------------------------\nBugReporter class\u003e\u003eDoIt\n\n\nreceiver\n\t                              BugReporter\n\n\ntemps\n\n\ninst vars\n\tsuperclass                    Object\n\tmethodDict                    a MethodDictionary(#context:-\u003eBugReporter\u003e\u003e#context: #description-\u003eBugReporter\u003e\u003e#description #description:-\u003eBugReporter\u003e\u003e#description: #movePastMessageNotUnderstood-\u003eBugReporter\u003e\u003e#movePastMessageNotUn...etc...\n\tformat                        65539\n\tlayout                        a FixedLayout\n\torganization                  a ClassOrganization\n\tsubclasses                    {FileBugReporter}\n\tname                          #BugReporter\n\tclassPool                     a Dictionary()\n\tsharedPools                   an OrderedCollection()\n\tenvironment                   a SystemDictionary(lots of globals)\n\tcategory                      #BugReport\n\n----------------------------------------------------------------------------------------------------\nOpalCompiler\u003e\u003eevaluate\n\n\nreceiver\n\t                              an OpalCompiler\n\n\ntemps\n\tvalue                         nil\n\n\ninst vars\n\tast                           DoIt\n\t^ [ (Set withAll: #(1 2 3 4)) first ]\n\t\ton: Error\n\t\tdo: [ :ex | \n\t\t\tString\n\t\t\t\tstreamContents: [ :s | \n\t\t\t\t\tBugReporter new\n\t\t\t\t\t\tcontext: thisContext;\n\t\t\t\t\t\tdescription: ex description;\n\t\t\t\t\t\ts...etc...\n\tsource                        a ReadStream\n\tcontext                       nil\n\treceiver                      BugReporter\n\tcompilationContext            a CompilationContext\n\tcompilationContextClass       nil\n\n----------------------------------------------------------------------------------------------------\nClyTextEditor(RubSmalltalkEditor)\u003e\u003eevaluate:andDo:\n\n\nreceiver\n\t                              a ClyTextEditor\n\n\ntemps\n\taStream                       a ReadWriteStream\n\taBlock                        [ :result | result inspect ]\n\tresult                        nil\n\trcvr                          BugReporter\n\tctxt                          nil\n\n\ninst vars\n\tdefaultKeymappingIndex        nil\n\ttextArea                      a RubEditingArea(620650752)\n\tfindReplaceService            nil\n\tselectorChooser               nil\n\tnotificationStrategy          a RubTextInsertionStrategy\n\tcompletionEngine              a CompletionEngine\n\n----------------------------------------------------------------------------------------------------\nClyTextEditor(RubSmalltalkEditor)\u003e\u003eevaluateSelectionAndDo:\n\n\nreceiver\n\t                              a ClyTextEditor\n\n\ntemps\n\taBlock                        [ :result | result inspect ]\n\n\ninst vars\n\tdefaultKeymappingIndex        nil\n\ttextArea                      a RubEditingArea(620650752)\n\tfindReplaceService            nil\n\tselectorChooser               nil\n\tnotificationStrategy          a RubTextInsertionStrategy\n\tcompletionEngine              a CompletionEngine\n\n----------------------------------------------------------------------------------------------------\nClyTextEditor(RubSmalltalkEditor)\u003e\u003einspectIt\n\n\nreceiver\n\t                              a ClyTextEditor\n\n\ntemps\n\n\ninst vars\n\tdefaultKeymappingIndex        nil\n\ttextArea                      a RubEditingArea(620650752)\n\tfindReplaceService            nil\n\tselectorChooser               nil\n\tnotificationStrategy          a RubTextInsertionStrategy\n\tcompletionEngine              a CompletionEngine\n\n----------------------------------------------------------------------------------------------------\nClyTextEditor(RubSmalltalkEditor)\u003e\u003einspectIt:\n\n\nreceiver\n\t                              a ClyTextEditor\n\n\ntemps\n\taKeyboardEvent                nil\n\n\ninst vars\n\tdefaultKeymappingIndex        nil\n\ttextArea                      a RubEditingArea(620650752)\n\tfindReplaceService            nil\n\tselectorChooser               nil\n\tnotificationStrategy          a RubTextInsertionStrategy\n\tcompletionEngine              a CompletionEngine\n\n----------------------------------------------------------------------------------------------------\n[ :target | target editor inspectIt: nil ] in RubSmalltalkEditor class\u003e\u003ebuildShortcutsOn:\n\n\nreceiver\n\t                              RubSmalltalkEditor\n\n\ntemps\n\taBuilder                      a RubEditingArea(620650752)\n\tt1                            a RubEditingArea(620650752)\n\n\ninst vars\n\tsuperclass                    RubTextEditor\n\tmethodDict                    a MethodDictionary(size 103)\n\tformat                        65542\n\tlayout                        a FixedLayout\n\torganization                  a ClassOrganization\n\tsubclasses                    {ClyTextEditor}\n\tname                          #RubSmalltalkEditor\n\tclassPool                     a Dictionary(#CompletionEngineClass-\u003eCompletionEngine )\n\tsharedPools                   an OrderedCollection()\n\tenvironment                   a SystemDictionary(lots of globals)\n\tcategory                      #'Rubric-Editing-Code'\n\n----------------------------------------------------------------------------------------------------\nBlockClosure\u003e\u003ecull:\n\n\nreceiver\n\t                              [ :target | target editor inspectIt: nil ]\n\n\ntemps\n\tanArg                         a RubEditingArea(620650752)\n\n\ninst vars\n\touterContext                  RubSmalltalkEditor class\u003e\u003ebuildShortcutsOn:\n\tstartpc                       567\n\tnumArgs                       1\n\n----------------------------------------------------------------------------------------------------\nBlockClosure\u003e\u003ecull:cull:\n\n\nreceiver\n\t                              [ :target | target editor inspectIt: nil ]\n\n\ntemps\n\tfirstArg                      a RubEditingArea(620650752)\n\tsecondArg                     a RubEditingArea(620650752)\n\n\ninst vars\n\touterContext                  RubSmalltalkEditor class\u003e\u003ebuildShortcutsOn:\n\tstartpc                       567\n\tnumArgs                       1\n\n----------------------------------------------------------------------------------------------------\nBlockClosure\u003e\u003ecull:cull:cull:\n\n\nreceiver\n\t                              [ :target | target editor inspectIt: nil ]\n\n\ntemps\n\tfirstArg                      a RubEditingArea(620650752)\n\tsecondArg                     a RubEditingArea(620650752)\n\tthirdArg                      [keystroke '\u003cCmd-i\u003e']\n\n\ninst vars\n\touterContext                  RubSmalltalkEditor class\u003e\u003ebuildShortcutsOn:\n\tstartpc                       567\n\tnumArgs                       1\n\n----------------------------------------------------------------------------------------------------\nKMCategoryBinding\u003e\u003ecompleteMatch:buffer:\n\n\nreceiver\n\t                              aKMCategoryTarget(#RubSmalltalkEditor)\n\n\ntemps\n\taKeymap                       #inspectIt on Meta + i do [ :target | target editor inspectIt: nil ]\n\taBuffer                       an OrderedCollection([keystroke '\u003cCmd-i\u003e'])\n\n\ninst vars\n\ttarget                        a RubEditingArea(620650752)\n\tcategory                      a KMCategory\n\tmorph                         a RubEditingArea(620650752)\n\n----------------------------------------------------------------------------------------------------\n[ :l | l completeMatch: self buffer: aBuffer ] in KMKeymap\u003e\u003enotifyCompleteMatchTo:buffer:\n\n\nreceiver\n\t                              #inspectIt on Meta + i do [ :target | target editor inspectIt: nil ]\n\n\ntemps\n\taListener                     aKMCategoryTarget(#RubSmalltalkEditor)\n\taBuffer                       an OrderedCollection([keystroke '\u003cCmd-i\u003e'])\n\tt1                            aKMCategoryTarget(#RubSmalltalkEditor)\n\tt2                            an OrderedCollection([keystroke '\u003cCmd-i\u003e'])\n\n\ninst vars\n\taction                        [ :target | target editor inspectIt: nil ]\n\tname                          #inspectIt\n\tshortcut                      Meta + i\n\tdefaultShortcut               Meta + i\n\tdescription                   'Inspect it'\n\n----------------------------------------------------------------------------------------------------\nArray(SequenceableCollection)\u003e\u003edo:\n\n\nreceiver\n\t                              an Array(aKMCategoryTarget(#RubSmalltalkEditor) a CmdKMDispatcher)\n\n\ntemps\n\taBlock                        [ :l | l completeMatch: self buffer: aBuffer ]\n\tindex                         2\n\n----------------------------------------------------------------------------------------------------\nKMKeymap\u003e\u003enotifyCompleteMatchTo:buffer:\n\n\nreceiver\n\t                              #inspectIt on Meta + i do [ :target | target editor inspectIt: nil ]\n\n\ntemps\n\taListener                     an Array(aKMCategoryTarget(#RubSmalltalkEditor) a CmdKMDispatcher)\n\taBuffer                       an OrderedCollection([keystroke '\u003cCmd-i\u003e'])\n\tlisteners                     an Array(aKMCategoryTarget(#RubSmalltalkEditor) a CmdKMDispatcher)\n\n\ninst vars\n\taction                        [ :target | target editor inspectIt: nil ]\n\tname                          #inspectIt\n\tshortcut                      Meta + i\n\tdefaultShortcut               Meta + i\n\tdescription                   'Inspect it'\n\n----------------------------------------------------------------------------------------------------\nKMKeymap\u003e\u003eonMatchWith:notify:andDo:\n\n\nreceiver\n\t                              #inspectIt on Meta + i do [ :target | target editor inspectIt: nil ]\n\n\ntemps\n\tanEventBuffer                 an OrderedCollection([keystroke '\u003cCmd-i\u003e'])\n\taMatchListener                an Array(aKMCategoryTarget(#RubSmalltalkEditor) a CmdKMDispatcher)\n\tanAction                      [ ^ self ]\n\n\ninst vars\n\taction                        [ :target | target editor inspectIt: nil ]\n\tname                          #inspectIt\n\tshortcut                      Meta + i\n\tdefaultShortcut               Meta + i\n\tdescription                   'Inspect it'\n\n----------------------------------------------------------------------------------------------------\n[ :entry | entry onMatchWith: anEventBuffer notify: aMatchListener andDo: aBlock ] in KMCategory\u003e\u003eonMatchWith:notify:andDo:\n\n\nreceiver\n\t                              a KMCategory\n\n\ntemps\n\tanEventBuffer                 #inspectIt on Meta + i do [ :target | target editor inspectIt: nil ]\n\taMatchListener                [ ^ self ]\n\taBlock                        an Array(aKMCategoryTarget(#RubSmalltalkEditor) a CmdKMDispatcher)\n\tentry                         an OrderedCollection([keystroke '\u003cCmd-i\u003e'])\n\n\ninst vars\n\tname                          #RubSmalltalkEditor\n\tplatforms                     a Dictionary(#MacOSX-\u003ea KMStorage #Windows-\u003ea KMStorage #all-\u003ea KMStorage )\n\n----------------------------------------------------------------------------------------------------\nSet\u003e\u003edo:\n\n\nreceiver\n\t                              a Set(#widenSelectionOfIt on Meta + 2 do [ :target | target editor widenSelectionOfIt ]\n #implementorsOfIt on Meta + m do [ :target | target editor implementorsOfIt: nil ]\n #jumpToNextKeywordOfIt on S...etc...\n\n\ntemps\n\taBlock                        [ :entry | entry onMatchWith: anEventBuffer notify: aMatchListener andDo: aBlock ]\n\tindex                         23\n\teach                          #inspectIt on Meta + i do [ :target | target editor inspectIt: nil ]\n\n\ninst vars\n\ttally                         14\n\tarray                         an Array(nil #widenSelectionOfIt on Meta + 2 do [ :target | target editor widenSelectionOfIt ]\n #implementorsOfIt on Meta + m do [ :target | target editor implementorsOfIt: nil ]\n nil #jumpToNextKeywo...etc...\n\n----------------------------------------------------------------------------------------------------\nKMCategory\u003e\u003eonMatchWith:notify:andDo:\n\n\nreceiver\n\t                              a KMCategory\n\n\ntemps\n\tanEventBuffer                 an OrderedCollection([keystroke '\u003cCmd-i\u003e'])\n\taMatchListener                an Array(aKMCategoryTarget(#RubSmalltalkEditor) a CmdKMDispatcher)\n\taBlock                        [ ^ self ]\n\n\ninst vars\n\tname                          #RubSmalltalkEditor\n\tplatforms                     a Dictionary(#MacOSX-\u003ea KMStorage #Windows-\u003ea KMStorage #all-\u003ea KMStorage )\n\n----------------------------------------------------------------------------------------------------\nKMCategoryBinding\u003e\u003everifyMatchWith:notifying:thenDoing:\n\n\nreceiver\n\t                              aKMCategoryTarget(#RubSmalltalkEditor)\n\n\ntemps\n\tanEventBuffer                 an OrderedCollection([keystroke '\u003cCmd-i\u003e'])\n\taListener                     a CmdKMDispatcher\n\tanAction                      [ ^ self ]\n\n\ninst vars\n\ttarget                        a RubEditingArea(620650752)\n\tcategory                      a KMCategory\n\tmorph                         a RubEditingArea(620650752)\n\n----------------------------------------------------------------------------------------------------\n[ :aTarget | \"nice hack to stop in the first listener\" aTarget verifyMatchWith: anEventBuffer notifying: self thenDoing: [ ^ self ] ] in CmdKMDispatcher(KMDispatcher)\u003e\u003edispatch:\n\n\nreceiver\n\t                              a CmdKMDispatcher\n\n\ntemps\n\tanEventBuffer                 aKMCategoryTarget(#RubSmalltalkEditor)\n\taTarget                       an OrderedCollection([keystroke '\u003cCmd-i\u003e'])\n\n\ninst vars\n\ttarget                        a KMTarget\n\tcurrentEvent                  nil\n\ttargets                       a Set(aKMCategoryTarget(#MorphFocusCtrlNavigation) aKMCategoryTarget(#RubTextEditor) aKMCategoryTarget(#RubSmalltalkEditor))\n\tmorph                         a RubEditingArea(620650752)\n\tdirectKeymaps                 a KMCategory\n\tcommandProvider               a ClyClassCommentEditorToolMorph(1007235072)\n\n----------------------------------------------------------------------------------------------------\nOrderedCollection\u003e\u003edo:\n\n\nreceiver\n\t                              an OrderedCollection(aKMCategoryTarget(nil) aKMCategoryTarget(#MorphFocusCtrlNavigation) aKMCategoryTarget(#RubTextEditor) aKMCategoryTarget(#RubSmalltalkEditor))\n\n\ntemps\n\taBlock                        [ :aTarget | \"nice hack to stop in the first listener\" aTarget verifyMatchWith: anEventBuffer notifying: self thenDoing: [ ^ self ] ]\n\tindex                         4\n\n\ninst vars\n\tarray                         an Array(aKMCategoryTarget(nil) aKMCategoryTarget(#MorphFocusCtrlNavigation) aKMCategoryTarget(#RubTextEditor) aKMCategoryTarget(#RubSmalltalkEditor) nil nil nil nil nil nil)\n\tfirstIndex                    1\n\tlastIndex                     4\n\n----------------------------------------------------------------------------------------------------\nCmdKMDispatcher(KMDispatcher)\u003e\u003edispatch:\n\n\nreceiver\n\t                              a CmdKMDispatcher\n\n\ntemps\n\tanEventBuffer                 an OrderedCollection([keystroke '\u003cCmd-i\u003e'])\n\n\ninst vars\n\ttarget                        a KMTarget\n\tcurrentEvent                  nil\n\ttargets                       a Set(aKMCategoryTarget(#MorphFocusCtrlNavigation) aKMCategoryTarget(#RubTextEditor) aKMCategoryTarget(#RubSmalltalkEditor))\n\tmorph                         a RubEditingArea(620650752)\n\tdirectKeymaps                 a KMCategory\n\tcommandProvider               a ClyClassCommentEditorToolMorph(1007235072)\n\n----------------------------------------------------------------------------------------------------\nCmdKMDispatcher\u003e\u003edispatch:\n\n\nreceiver\n\t                              a CmdKMDispatcher\n\n\ntemps\n\texecuted                      an OrderedCollection([keystroke '\u003cCmd-i\u003e'])\n\tanEventBuffer                 a ClyTextEditorContext\n\tcontext                       #(false)\n\n\ninst vars\n\ttarget                        a KMTarget\n\tcurrentEvent                  nil\n\ttargets                       a Set(aKMCategoryTarget(#MorphFocusCtrlNavigation) aKMCategoryTarget(#RubTextEditor) aKMCategoryTarget(#RubSmalltalkEditor))\n\tmorph                         a RubEditingArea(620650752)\n\tdirectKeymaps                 a KMCategory\n\tcommandProvider               a ClyClassCommentEditorToolMorph(1007235072)\n\n----------------------------------------------------------------------------------------------------\nKMTarget\u003e\u003edispatch:\n\n\nreceiver\n\t                              a KMTarget\n\n\ntemps\n\tbuffer                        an OrderedCollection([keystroke '\u003cCmd-i\u003e'])\n\n\ninst vars\n\tmorph                         a RubEditingArea(620650752)\n\ttargetSelector                #yourself\n\n----------------------------------------------------------------------------------------------------\n[ :targetToDispatch | \ntargetToDispatch dispatch: KMBuffer uniqueInstance buffer copy.\naKeyboardEvent wasHandled ifTrue: [ ^ self ] ] in KMDispatchChain\u003e\u003edispatch:\n\n\nreceiver\n\t                              a KMDispatchChain\n\n\ntemps\n\taKeyboardEvent                a KMTarget\n\ttargetToDispatch              [keystroke '\u003cCmd-i\u003e']\n\n\ninst vars\n\ttarget                        a KMTarget\n\tdispatcher                    a CmdKMDispatcher\n\tinitialTarget                 a KMGlobalDispatcher\n\n----------------------------------------------------------------------------------------------------\nKMDispatchChain\u003e\u003edo:\n\n\nreceiver\n\t                              a KMDispatchChain\n\n\ntemps\n\taBlock                        [ :targetToDispatch | \ntargetToDispatch dispatch: KMBuffer uniqueInstance buffer copy.\naKeyboardEvent wasHandled ifTrue: [ ^ self ] ]\n\tcurrentTarget                 a KMTarget\n\n\ninst vars\n\ttarget                        a KMTarget\n\tdispatcher                    a CmdKMDispatcher\n\tinitialTarget                 a KMGlobalDispatcher\n\n----------------------------------------------------------------------------------------------------\nKMDispatchChain\u003e\u003edispatch:\n\n\nreceiver\n\t                              a KMDispatchChain\n\n\ntemps\n\taKeyboardEvent                [keystroke '\u003cCmd-i\u003e']\n\n\ninst vars\n\ttarget                        a KMTarget\n\tdispatcher                    a CmdKMDispatcher\n\tinitialTarget                 a KMGlobalDispatcher\n\n----------------------------------------------------------------------------------------------------\nCmdKMDispatcher(KMDispatcher)\u003e\u003edispatchKeystroke:\n\n\nreceiver\n\t                              a CmdKMDispatcher\n\n\ntemps\n\taKeyEvent                     [keystroke '\u003cCmd-i\u003e']\n\tchain                         a KMDispatchChain\n\n\ninst vars\n\ttarget                        a KMTarget\n\tcurrentEvent                  nil\n\ttargets                       a Set(aKMCategoryTarget(#MorphFocusCtrlNavigation) aKMCategoryTarget(#RubTextEditor) aKMCategoryTarget(#RubSmalltalkEditor))\n\tmorph                         a RubEditingArea(620650752)\n\tdirectKeymaps                 a KMCategory\n\tcommandProvider               a ClyClassCommentEditorToolMorph(1007235072)\n\n----------------------------------------------------------------------------------------------------\nRubEditingArea(Morph)\u003e\u003edispatchKeystrokeForEvent:\n\n\nreceiver\n\t                              a RubEditingArea(620650752)\n\n\ntemps\n\tevt                           [keystroke '\u003cCmd-i\u003e']\n\n\ninst vars\n\tbounds                        (0@0) corner: (1875@601)\n\towner                         a TransformWithLayoutMorph(952606208)\n\tsubmorphs                     an Array(a RubCursor(162526720) a RubPrimarySelectionMorph(1064620288))\n\tfullBounds                    (0@0) corner: (1875@601)\n\tcolor                         Color transparent\n\textension                     a MorphExtension (242383104) [other:  (announcer -\u003e an Announcer) (kmDispatcher -\u003e a CmdKMDispatcher)]\n\tmodel                         a RubScrolledTextModel\n\tparagraph                     a RubShoutStylerDecorator\n\teditor                        a ClyTextEditor\n\tscrollPane                    a RubTextScrollPane(964899840)\n\teditingState                  a RubEditingState\n\ttextStyle                     a TextStyle Source Code Pro\n\ttextColor                     Color white\n\tmargins                       a Margin top: 6 left: 6 bottom: 6 right: 6\n\treadOnly                      false\n\tmenuAllowed                   nil\n\teditingMode                   a ClyTextEditingMode\n\tcursor                        a RubCursor(162526720)\n\tsegments                      an OrderedCollection()\n\tgetMenuPolicy                 nil\n\tmouseDownPoint                nil\n\tcompletionEngine              a CompletionEngine\n\tmaxLength                     nil\n\tfindReplaceService            a SpRubFindReplaceService\n\twrapped                       true\n\teditorClass                   ClyTextEditor\n\n----------------------------------------------------------------------------------------------------\nRubEditingArea(RubAbstractTextArea)\u003e\u003ehandleKeystroke:\n\n\nreceiver\n\t                              a RubEditingArea(620650752)\n\n\ntemps\n\tanEvent                       [keystroke '\u003cCmd-i\u003e']\n\n\ninst vars\n\tbounds                        (0@0) corner: (1875@601)\n\towner                         a TransformWithLayoutMorph(952606208)\n\tsubmorphs                     an Array(a RubCursor(162526720) a RubPrimarySelectionMorph(1064620288))\n\tfullBounds                    (0@0) corner: (1875@601)\n\tcolor                         Color transparent\n\textension                     a MorphExtension (242383104) [other:  (announcer -\u003e an Announcer) (kmDispatcher -\u003e a CmdKMDispatcher)]\n\tmodel                         a RubScrolledTextModel\n\tparagraph                     a RubShoutStylerDecorator\n\teditor                        a ClyTextEditor\n\tscrollPane                    a RubTextScrollPane(964899840)\n\teditingState                  a RubEditingState\n\ttextStyle                     a TextStyle Source Code Pro\n\ttextColor                     Color white\n\tmargins                       a Margin top: 6 left: 6 bottom: 6 right: 6\n\treadOnly                      false\n\tmenuAllowed                   nil\n\teditingMode                   a ClyTextEditingMode\n\tcursor                        a RubCursor(162526720)\n\tsegments                      an OrderedCollection()\n\tgetMenuPolicy                 nil\n\tmouseDownPoint                nil\n\tcompletionEngine              a CompletionEngine\n\tmaxLength                     nil\n\tfindReplaceService            a SpRubFindReplaceService\n\twrapped                       true\n\teditorClass                   ClyTextEditor\n\n----------------------------------------------------------------------------------------------------\nKeyboardEvent\u003e\u003esentTo:\n\n\nreceiver\n\t                              [keystroke '\u003cCmd-i\u003e']\n\n\ntemps\n\tanObject                      a RubEditingArea(620650752)\n\n\ninst vars\n\ttimeStamp                     277123888\n\tsource                        a HandMorph(677264640)\n\twindowIndex                   nil\n\ttype                          #keystroke\n\tbuttons                       64\n\tposition                      (-23@234)\n\thandler                       nil\n\twasHandled                    true\n\tkeyValue                      105\n\tcharCode                      105\n\tscanCode                      2\n\n----------------------------------------------------------------------------------------------------\nRubEditingArea(Morph)\u003e\u003ehandleEvent:\n\n\nreceiver\n\t                              a RubEditingArea(620650752)\n\n\ntemps\n\tanEvent                       [keystroke '\u003cCmd-i\u003e']\n\n\ninst vars\n\tbounds                        (0@0) corner: (1875@601)\n\towner                         a TransformWithLayoutMorph(952606208)\n\tsubmorphs                     an Array(a RubCursor(162526720) a RubPrimarySelectionMorph(1064620288))\n\tfullBounds                    (0@0) corner: (1875@601)\n\tcolor                         Color transparent\n\textension                     a MorphExtension (242383104) [other:  (announcer -\u003e an Announcer) (kmDispatcher -\u003e a CmdKMDispatcher)]\n\tmodel                         a RubScrolledTextModel\n\tparagraph                     a RubShoutStylerDecorator\n\teditor                        a ClyTextEditor\n\tscrollPane                    a RubTextScrollPane(964899840)\n\teditingState                  a RubEditingState\n\ttextStyle                     a TextStyle Source Code Pro\n\ttextColor                     Color white\n\tmargins                       a Margin top: 6 left: 6 bottom: 6 right: 6\n\treadOnly                      false\n\tmenuAllowed                   nil\n\teditingMode                   a ClyTextEditingMode\n\tcursor                        a RubCursor(162526720)\n\tsegments                      an OrderedCollection()\n\tgetMenuPolicy                 nil\n\tmouseDownPoint                nil\n\tcompletionEngine              a CompletionEngine\n\tmaxLength                     nil\n\tfindReplaceService            a SpRubFindReplaceService\n\twrapped                       true\n\teditorClass                   ClyTextEditor\n\n----------------------------------------------------------------------------------------------------\nRubEditingArea(Morph)\u003e\u003ehandleFocusEvent:\n\n\nreceiver\n\t                              a RubEditingArea(620650752)\n\n\ntemps\n\tanEvent                       [keystroke '\u003cCmd-i\u003e']\n\n\ninst vars\n\tbounds                        (0@0) corner: (1875@601)\n\towner                         a TransformWithLayoutMorph(952606208)\n\tsubmorphs                     an Array(a RubCursor(162526720) a RubPrimarySelectionMorph(1064620288))\n\tfullBounds                    (0@0) corner: (1875@601)\n\tcolor                         Color transparent\n\textension                     a MorphExtension (242383104) [other:  (announcer -\u003e an Announcer) (kmDispatcher -\u003e a CmdKMDispatcher)]\n\tmodel                         a RubScrolledTextModel\n\tparagraph                     a RubShoutStylerDecorator\n\teditor                        a ClyTextEditor\n\tscrollPane                    a RubTextScrollPane(964899840)\n\teditingState                  a RubEditingState\n\ttextStyle                     a TextStyle Source Code Pro\n\ttextColor                     Color white\n\tmargins                       a Margin top: 6 left: 6 bottom: 6 right: 6\n\treadOnly                      false\n\tmenuAllowed                   nil\n\teditingMode                   a ClyTextEditingMode\n\tcursor                        a RubCursor(162526720)\n\tsegments                      an OrderedCollection()\n\tgetMenuPolicy                 nil\n\tmouseDownPoint                nil\n\tcompletionEngine              a CompletionEngine\n\tmaxLength                     nil\n\tfindReplaceService            a SpRubFindReplaceService\n\twrapped                       true\n\teditorClass                   ClyTextEditor\n\n----------------------------------------------------------------------------------------------------\n[ ActiveHand := self.\nActiveEvent := anEvent.\nresult := focusHolder handleFocusEvent: (anEvent transformedBy: (focusHolder transformedFrom: self)) ] in HandMorph\u003e\u003esendFocusEvent:to:clear:\n\n\nreceiver\n\t                              a HandMorph(677264640)\n\n\ntemps\n\tanEvent                       a RubEditingArea(620650752)\n\tfocusHolder                   [keystroke '\u003cCmd-i\u003e']\n\taBlock                        #(nil)\n\tt1                            a RubEditingArea(620650752)\n\tt2                            [keystroke '\u003cCmd-i\u003e']\n\tt3                            #(nil)\n\n\ninst vars\n\tbounds                        (-5@721) corner: (11@737)\n\towner                         a WorldMorph(691814656) [world]\n\tsubmorphs                     #()\n\tfullBounds                    (-5@721) corner: (11@737)\n\tcolor                         Color blue\n\textension                     a MorphExtension (440854784)\n\tmouseFocus                    nil\n\tkeyboardFocus                 a RubEditingArea(620650752)\n\teventListeners                a WeakArray(a GLMFallbackScrollListBrick(739556864))\n\tmouseListeners                nil\n\tmouseClickState               nil\n\tmouseOverHandler              a MouseOverHandler\n\tlastMouseEvent                [(3@729) mouseOver CMD 277123888 nil]\n\ttargetOffset                  (149@411)\n\tdamageRecorder                a DamageRecorder\n\tcacheCanvas                   nil\n\tcachedCanvasHasHoles          true\n\ttemporaryCursor               Form(16x16x8)\n\ttemporaryCursorOffset         (-8@ -8)\n\thardwareCursor                ((CursorWithMask\n\textent: (16@16)\n\tdepth: 1\n\tfromArray: #(\n\t\t2r0\n\t\t2r0\n\t\t2r0\n\t\t2r0\n\t\t2r0\n\t\t2r100000010000000000000000000\n\t\t2r1100000011000000000000000000\n\t\t2r11100000011100000000000000000\n\t\t2r11111111...etc...\n\thasChanged                    true\n\tsavedPatch                    nil\n\tlastEventBuffer               #(1 277123888 3 729 0 8 0 1)\n\tlastKeyScanCode               2\n\tcombinedChar                  nil\n\tcaptureBlock                  nil\n\trecentModifiers               8\n\n----------------------------------------------------------------------------------------------------\nBlockClosure\u003e\u003eon:do:\n\n\nreceiver\n\t                              [ ActiveHand := self.\nActiveEvent := anEvent.\nresult := focusHolder handleFocusEvent: (anEvent transformedBy: (focusHolder transformedFrom: self)) ]\n\n\ntemps\n\texception                     Error\n\thandlerAction                 [ :ex | \nActiveWorld := priorWorld.\nActiveEvent := priorEvent.\nActiveHand := priorHand.\nex pass ]\n\n\ninst vars\n\touterContext                  HandMorph\u003e\u003esendFocusEvent:to:clear:\n\tstartpc                       111\n\tnumArgs                       0\n\n----------------------------------------------------------------------------------------------------\nWorldMorph\u003e\u003ebecomeActiveDuring:\n\n\nreceiver\n\t                              a WorldMorph(691814656) [world]\n\n\ntemps\n\taBlock                        [ ActiveHand := self.\nActiveEvent := anEvent.\nresult := focusHolder handleFocusEvent: (anEvent transformedBy: (focusHolder transformedFrom: self)) ]\n\tpriorWorld                    a WorldMorph(691814656) [world]\n\tpriorHand                     a HandMorph(677264640)\n\tpriorEvent                    nil\n\n\ninst vars\n\tbounds                        (0@0) corner: (1920@1033)\n\towner                         nil\n\tsubmorphs                     an Array(a MenubarMorph(1031397632) a TaskbarMorph(351923968) a SystemWindow(199374848) named: BugReporter a SpecWindow(486588928) named: Working copy of BugReport a SystemWindow(996783872) named: Bas...etc...\n\tfullBounds                    (0@0) corner: (1920@1033)\n\tcolor                         (Color r: 0.05865102639296188 g: 0.07331378299120235 b: 0.10557184750733138 alpha: 1.0)\n\textension                     a MorphExtension (704038144) [other:  (dragEnabled -\u003e true) (dropEnabled -\u003e true) (kmDispatcher -\u003e a KMDispatcher)]\n\tborderWidth                   0\n\tborderColor                   (Color r: 0.8611925708699902 g: 1.0 b: 0.7223851417399805 alpha: 1.0)\n\tbackgroundMorph               an AlphaImageMorph(939675904)\n\tworldState                    a WorldState\n\tgriddingOn                    nil\n\n----------------------------------------------------------------------------------------------------\nHandMorph\u003e\u003esendFocusEvent:to:clear:\n\n\nreceiver\n\t                              a HandMorph(677264640)\n\n\ntemps\n\tresult                        [keystroke '\u003cCmd-i\u003e']\n\tanEvent                       a RubEditingArea(620650752)\n\tfocusHolder                   [ self keyboardFocus: nil ]\n\taBlock                        a WorldMorph(691814656) [world]\n\tw                             #(nil)\n\n\ninst vars\n\tbounds                        (-5@721) corner: (11@737)\n\towner                         a WorldMorph(691814656) [world]\n\tsubmorphs                     #()\n\tfullBounds                    (-5@721) corner: (11@737)\n\tcolor                         Color blue\n\textension                     a MorphExtension (440854784)\n\tmouseFocus                    nil\n\tkeyboardFocus                 a RubEditingArea(620650752)\n\teventListeners                a WeakArray(a GLMFallbackScrollListBrick(739556864))\n\tmouseListeners                nil\n\tmouseClickState               nil\n\tmouseOverHandler              a MouseOverHandler\n\tlastMouseEvent                [(3@729) mouseOver CMD 277123888 nil]\n\ttargetOffset                  (149@411)\n\tdamageRecorder                a DamageRecorder\n\tcacheCanvas                   nil\n\tcachedCanvasHasHoles          true\n\ttemporaryCursor               Form(16x16x8)\n\ttemporaryCursorOffset         (-8@ -8)\n\thardwareCursor                ((CursorWithMask\n\textent: (16@16)\n\tdepth: 1\n\tfromArray: #(\n\t\t2r0\n\t\t2r0\n\t\t2r0\n\t\t2r0\n\t\t2r0\n\t\t2r100000010000000000000000000\n\t\t2r1100000011000000000000000000\n\t\t2r11100000011100000000000000000\n\t\t2r11111111...etc...\n\thasChanged                    true\n\tsavedPatch                    nil\n\tlastEventBuffer               #(1 277123888 3 729 0 8 0 1)\n\tlastKeyScanCode               2\n\tcombinedChar                  nil\n\tcaptureBlock                  nil\n\trecentModifiers               8\n\n----------------------------------------------------------------------------------------------------\nHandMorph\u003e\u003esendEvent:focus:clear:\n\n\nreceiver\n\t                              a HandMorph(677264640)\n\n\ntemps\n\tanEvent                       [keystroke '\u003cCmd-i\u003e']\n\tfocusHolder                   a RubEditingArea(620650752)\n\taBlock                        [ self keyboardFocus: nil ]\n\tresult                        nil\n\n\ninst vars\n\tbounds                        (-5@721) corner: (11@737)\n\towner                         a WorldMorph(691814656) [world]\n\tsubmorphs                     #()\n\tfullBounds                    (-5@721) corner: (11@737)\n\tcolor                         Color blue\n\textension                     a MorphExtension (440854784)\n\tmouseFocus                    nil\n\tkeyboardFocus                 a RubEditingArea(620650752)\n\teventListeners                a WeakArray(a GLMFallbackScrollListBrick(739556864))\n\tmouseListeners                nil\n\tmouseClickState               nil\n\tmouseOverHandler              a MouseOverHandler\n\tlastMouseEvent                [(3@729) mouseOver CMD 277123888 nil]\n\ttargetOffset                  (149@411)\n\tdamageRecorder                a DamageRecorder\n\tcacheCanvas                   nil\n\tcachedCanvasHasHoles          true\n\ttemporaryCursor               Form(16x16x8)\n\ttemporaryCursorOffset         (-8@ -8)\n\thardwareCursor                ((CursorWithMask\n\textent: (16@16)\n\tdepth: 1\n\tfromArray: #(\n\t\t2r0\n\t\t2r0\n\t\t2r0\n\t\t2r0\n\t\t2r0\n\t\t2r100000010000000000000000000\n\t\t2r1100000011000000000000000000\n\t\t2r11100000011100000000000000000\n\t\t2r11111111...etc...\n\thasChanged                    true\n\tsavedPatch                    nil\n\tlastEventBuffer               #(1 277123888 3 729 0 8 0 1)\n\tlastKeyScanCode               2\n\tcombinedChar                  nil\n\tcaptureBlock                  nil\n\trecentModifiers               8\n\n----------------------------------------------------------------------------------------------------\nHandMorph\u003e\u003esendKeyboardEvent:\n\n\nreceiver\n\t                              a HandMorph(677264640)\n\n\ntemps\n\tanEvent                       [keystroke '\u003cCmd-i\u003e']\n\n\ninst vars\n\tbounds                        (-5@721) corner: (11@737)\n\towner                         a WorldMorph(691814656) [world]\n\tsubmorphs                     #()\n\tfullBounds                    (-5@721) corner: (11@737)\n\tcolor                         Color blue\n\textension                     a MorphExtension (440854784)\n\tmouseFocus                    nil\n\tkeyboardFocus                 a RubEditingArea(620650752)\n\teventListeners                a WeakArray(a GLMFallbackScrollListBrick(739556864))\n\tmouseListeners                nil\n\tmouseClickState               nil\n\tmouseOverHandler              a MouseOverHandler\n\tlastMouseEvent                [(3@729) mouseOver CMD 277123888 nil]\n\ttargetOffset                  (149@411)\n\tdamageRecorder                a DamageRecorder\n\tcacheCanvas                   nil\n\tcachedCanvasHasHoles          true\n\ttemporaryCursor               Form(16x16x8)\n\ttemporaryCursorOffset         (-8@ -8)\n\thardwareCursor                ((CursorWithMask\n\textent: (16@16)\n\tdepth: 1\n\tfromArray: #(\n\t\t2r0\n\t\t2r0\n\t\t2r0\n\t\t2r0\n\t\t2r0\n\t\t2r100000010000000000000000000\n\t\t2r1100000011000000000000000000\n\t\t2r11100000011100000000000000000\n\t\t2r11111111...etc...\n\thasChanged                    true\n\tsavedPatch                    nil\n\tlastEventBuffer               #(1 277123888 3 729 0 8 0 1)\n\tlastKeyScanCode               2\n\tcombinedChar                  nil\n\tcaptureBlock                  nil\n\trecentModifiers               8\n\n----------------------------------------------------------------------------------------------------\nHandMorph\u003e\u003ehandleEvent:\n\n\nreceiver\n\t                              a HandMorph(677264640)\n\n\ntemps\n\tanEvent                       [keystroke '\u003cCmd-i\u003e']\n\tevt                           [keystroke '\u003cCmd-i\u003e']\n\n\ninst vars\n\tbounds                        (-5@721) corner: (11@737)\n\towner                         a WorldMorph(691814656) [world]\n\tsubmorphs                     #()\n\tfullBounds                    (-5@721) corner: (11@737)\n\tcolor                         Color blue\n\textension                     a MorphExtension (440854784)\n\tmouseFocus                    nil\n\tkeyboardFocus                 a RubEditingArea(620650752)\n\teventListeners                a WeakArray(a GLMFallbackScrollListBrick(739556864))\n\tmouseListeners                nil\n\tmouseClickState               nil\n\tmouseOverHandler              a MouseOverHandler\n\tlastMouseEvent                [(3@729) mouseOver CMD 277123888 nil]\n\ttargetOffset                  (149@411)\n\tdamageRecorder                a DamageRecorder\n\tcacheCanvas                   nil\n\tcachedCanvasHasHoles          true\n\ttemporaryCursor               Form(16x16x8)\n\ttemporaryCursorOffset         (-8@ -8)\n\thardwareCursor                ((CursorWithMask\n\textent: (16@16)\n\tdepth: 1\n\tfromArray: #(\n\t\t2r0\n\t\t2r0\n\t\t2r0\n\t\t2r0\n\t\t2r0\n\t\t2r100000010000000000000000000\n\t\t2r1100000011000000000000000000\n\t\t2r11100000011100000000000000000\n\t\t2r11111111...etc...\n\thasChanged                    true\n\tsavedPatch                    nil\n\tlastEventBuffer               #(1 277123888 3 729 0 8 0 1)\n\tlastKeyScanCode               2\n\tcombinedChar                  nil\n\tcaptureBlock                  nil\n\trecentModifiers               8\n\n----------------------------------------------------------------------------------------------------\nHandMorph\u003e\u003eprocessEventsFromQueue:\n\n\nreceiver\n\t                              a HandMorph(677264640)\n\n\ntemps\n\tanEventQueue                  an InputEventSensor\n\tevt                           [keystroke '\u003cCmd-i\u003e']\n\tevtBuf                        #(2 277123888 105 0 8 105 0 1)\n\ttype                          2\n\thadAny                        true\n\n\ninst vars\n\tbounds                        (-5@721) corner: (11@737)\n\towner                         a WorldMorph(691814656) [world]\n\tsubmorphs                     #()\n\tfullBounds                    (-5@721) corner: (11@737)\n\tcolor                         Color blue\n\textension                     a MorphExtension (440854784)\n\tmouseFocus                    nil\n\tkeyboardFocus                 a RubEditingArea(620650752)\n\teventListeners                a WeakArray(a GLMFallbackScrollListBrick(739556864))\n\tmouseListeners                nil\n\tmouseClickState               nil\n\tmouseOverHandler              a MouseOverHandler\n\tlastMouseEvent                [(3@729) mouseOver CMD 277123888 nil]\n\ttargetOffset                  (149@411)\n\tdamageRecorder                a DamageRecorder\n\tcacheCanvas                   nil\n\tcachedCanvasHasHoles          true\n\ttemporaryCursor               Form(16x16x8)\n\ttemporaryCursorOffset         (-8@ -8)\n\thardwareCursor                ((CursorWithMask\n\textent: (16@16)\n\tdepth: 1\n\tfromArray: #(\n\t\t2r0\n\t\t2r0\n\t\t2r0\n\t\t2r0\n\t\t2r0\n\t\t2r100000010000000000000000000\n\t\t2r1100000011000000000000000000\n\t\t2r11100000011100000000000000000\n\t\t2r11111111...etc...\n\thasChanged                    true\n\tsavedPatch                    nil\n\tlastEventBuffer               #(1 277123888 3 729 0 8 0 1)\n\tlastKeyScanCode               2\n\tcombinedChar                  nil\n\tcaptureBlock                  nil\n\trecentModifiers               8\n\n----------------------------------------------------------------------------------------------------\nHandMorph\u003e\u003eprocessEvents\n\n\nreceiver\n\t                              a HandMorph(677264640)\n\n\ntemps\n\n\ninst vars\n\tbounds                        (-5@721) corner: (11@737)\n\towner                         a WorldMorph(691814656) [world]\n\tsubmorphs                     #()\n\tfullBounds                    (-5@721) corner: (11@737)\n\tcolor                         Color blue\n\textension                     a MorphExtension (440854784)\n\tmouseFocus                    nil\n\tkeyboardFocus                 a RubEditingArea(620650752)\n\teventListeners                a WeakArray(a GLMFallbackScrollListBrick(739556864))\n\tmouseListeners                nil\n\tmouseClickState               nil\n\tmouseOverHandler              a MouseOverHandler\n\tlastMouseEvent                [(3@729) mouseOver CMD 277123888 nil]\n\ttargetOffset                  (149@411)\n\tdamageRecorder                a DamageRecorder\n\tcacheCanvas                   nil\n\tcachedCanvasHasHoles          true\n\ttemporaryCursor               Form(16x16x8)\n\ttemporaryCursorOffset         (-8@ -8)\n\thardwareCursor                ((CursorWithMask\n\textent: (16@16)\n\tdepth: 1\n\tfromArray: #(\n\t\t2r0\n\t\t2r0\n\t\t2r0\n\t\t2r0\n\t\t2r0\n\t\t2r100000010000000000000000000\n\t\t2r1100000011000000000000000000\n\t\t2r11100000011100000000000000000\n\t\t2r11111111...etc...\n\thasChanged                    true\n\tsavedPatch                    nil\n\tlastEventBuffer               #(1 277123888 3 729 0 8 0 1)\n\tlastKeyScanCode               2\n\tcombinedChar                  nil\n\tcaptureBlock                  nil\n\trecentModifiers               8\n\n----------------------------------------------------------------------------------------------------\n[ :h | \nself activeHand: h.\nh processEvents.\nself activeHand: nil ] in WorldState\u003e\u003edoOneCycleNowFor:\n\n\nreceiver\n\t                              a WorldState\n\n\ntemps\n\taWorld                        a HandMorph(677264640)\n\tt1                            a HandMorph(677264640)\n\n\ninst vars\n\thands                         an Array(a HandMorph(677264640))\n\tdamageRecorder                a DamageRecorder\n\tstepList                      a Heap()\n\tlastStepTime                  277121260\n\tlastStepMessage               nil\n\tlastCycleTime                 277123912\n\talarms                        a Heap(MorphicAlarm(#hideShow -\u003e a RubCursor(162526720)))\n\tlastAlarmTime                 277123891\n\tmenuBuilder                   a PragmaMenuBuilder ( nil ) \n\tactiveHand                    a HandMorph(677264640)\n\tcurrentCursor                 ((CursorWithMask\n\textent: (16@16)\n\tdepth: 1\n\tfromArray: #(\n\t\t2r0\n\t\t2r0\n\t\t2r0\n\t\t2r0\n\t\t2r0\n\t\t2r100000010000000000000000000\n\t\t2r1100000011000000000000000000\n\t\t2r11100000011100000000000000000\n\t\t2r11111111...etc...\n\tworldRenderer                 a VMWorldRenderer\n\trealWindowExtent              (1920@1033)\n\n----------------------------------------------------------------------------------------------------\nArray(SequenceableCollection)\u003e\u003edo:\n\n\nreceiver\n\t                              an Array(a HandMorph(677264640))\n\n\ntemps\n\taBlock                        [ :h | \nself activeHand: h.\nh processEvents.\nself activeHand: nil ]\n\tindex                         1\n\n----------------------------------------------------------------------------------------------------\nWorldState\u003e\u003ehandsDo:\n\n\nreceiver\n\t                              a WorldState\n\n\ntemps\n\taBlock                        [ :h | \nself activeHand: h.\nh processEvents.\nself activeHand: nil ]\n\n\ninst vars\n\thands                         an Array(a HandMorph(677264640))\n\tdamageRecorder                a DamageRecorder\n\tstepList                      a Heap()\n\tlastStepTime                  277121260\n\tlastStepMessage               nil\n\tlastCycleTime                 277123912\n\talarms                        a Heap(MorphicAlarm(#hideShow -\u003e a RubCursor(162526720)))\n\tlastAlarmTime                 277123891\n\tmenuBuilder                   a PragmaMenuBuilder ( nil ) \n\tactiveHand                    a HandMorph(677264640)\n\tcurrentCursor                 ((CursorWithMask\n\textent: (16@16)\n\tdepth: 1\n\tfromArray: #(\n\t\t2r0\n\t\t2r0\n\t\t2r0\n\t\t2r0\n\t\t2r0\n\t\t2r100000010000000000000000000\n\t\t2r1100000011000000000000000000\n\t\t2r11100000011100000000000000000\n\t\t2r11111111...etc...\n\tworldRenderer                 a VMWorldRenderer\n\trealWindowExtent              (1920@1033)\n\n----------------------------------------------------------------------------------------------------\nWorldState\u003e\u003edoOneCycleNowFor:\n\n\nreceiver\n\t                              a WorldState\n\n\ntemps\n\taWorld                        a WorldMorph(691814656) [world]\n\n\ninst vars\n\thands                         an Array(a HandMorph(677264640))\n\tdamageRecorder                a DamageRecorder\n\tstepList                      a Heap()\n\tlastStepTime                  277121260\n\tlastStepMessage               nil\n\tlastCycleTime                 277123912\n\talarms                        a Heap(MorphicAlarm(#hideShow -\u003e a RubCursor(162526720)))\n\tlastAlarmTime                 277123891\n\tmenuBuilder                   a PragmaMenuBuilder ( nil ) \n\tactiveHand                    a HandMorph(677264640)\n\tcurrentCursor                 ((CursorWithMask\n\textent: (16@16)\n\tdepth: 1\n\tfromArray: #(\n\t\t2r0\n\t\t2r0\n\t\t2r0\n\t\t2r0\n\t\t2r0\n\t\t2r100000010000000000000000000\n\t\t2r1100000011000000000000000000\n\t\t2r11100000011100000000000000000\n\t\t2r11111111...etc...\n\tworldRenderer                 a VMWorldRenderer\n\trealWindowExtent              (1920@1033)\n\n----------------------------------------------------------------------------------------------------\nWorldState\u003e\u003edoOneCycleFor:\n\n\nreceiver\n\t                              a WorldState\n\n\ntemps\n\taWorld                        a WorldMorph(691814656) [world]\n\n\ninst vars\n\thands                         an Array(a HandMorph(677264640))\n\tdamageRecorder                a DamageRecorder\n\tstepList                      a Heap()\n\tlastStepTime                  277121260\n\tlastStepMessage               nil\n\tlastCycleTime                 277123912\n\talarms                        a Heap(MorphicAlarm(#hideShow -\u003e a RubCursor(162526720)))\n\tlastAlarmTime                 277123891\n\tmenuBuilder                   a PragmaMenuBuilder ( nil ) \n\tactiveHand                    a HandMorph(677264640)\n\tcurrentCursor                 ((CursorWithMask\n\textent: (16@16)\n\tdepth: 1\n\tfromArray: #(\n\t\t2r0\n\t\t2r0\n\t\t2r0\n\t\t2r0\n\t\t2r0\n\t\t2r100000010000000000000000000\n\t\t2r1100000011000000000000000000\n\t\t2r11100000011100000000000000000\n\t\t2r11111111...etc...\n\tworldRenderer                 a VMWorldRenderer\n\trealWindowExtent              (1920@1033)\n\n----------------------------------------------------------------------------------------------------\nWorldMorph\u003e\u003edoOneCycle\n\n\nreceiver\n\t                              a WorldMorph(691814656) [world]\n\n\ntemps\n\n\ninst vars\n\tbounds                        (0@0) corner: (1920@1033)\n\towner                         nil\n\tsubmorphs                     an Array(a MenubarMorph(1031397632) a TaskbarMorph(351923968) a SystemWindow(199374848) named: BugReporter a SpecWindow(486588928) named: Working copy of BugReport a SystemWindow(996783872) named: Bas...etc...\n\tfullBounds                    (0@0) corner: (1920@1033)\n\tcolor                         (Color r: 0.05865102639296188 g: 0.07331378299120235 b: 0.10557184750733138 alpha: 1.0)\n\textension                     a MorphExtension (704038144) [other:  (dragEnabled -\u003e true) (dropEnabled -\u003e true) (kmDispatcher -\u003e a KMDispatcher)]\n\tborderWidth                   0\n\tborderColor                   (Color r: 0.8611925708699902 g: 1.0 b: 0.7223851417399805 alpha: 1.0)\n\tbackgroundMorph               an AlphaImageMorph(939675904)\n\tworldState                    a WorldState\n\tgriddingOn                    nil\n\n----------------------------------------------------------------------------------------------------\nWorldMorph class\u003e\u003edoOneCycle\n\n\nreceiver\n\t                              WorldMorph\n\n\ntemps\n\n\ninst vars\n\tsuperclass                    PasteUpMorph\n\tmethodDict                    a MethodDictionary(#acceptDroppingMorph:event:-\u003eWorldMorph\u003e\u003e#acceptDroppingMorph:event: #activateCursor:-\u003eWorldMorph\u003e\u003e#activateCursor: #activateCursor:withMask:-\u003eWorldMorph\u003e\u003e#activateCursor:withMask: ...etc...\n\tformat                        65547\n\tlayout                        a FixedLayout\n\torganization                  a ClassOrganization\n\tsubclasses                    {AthensWorldMorph. OSWindowWorldMorph}\n\tname                          #WorldMorph\n\tclassPool                     a Dictionary(#AllowDropFiles-\u003enil #CursorOwnerWorld-\u003ea WorldMorph(691814656) [world] #ExtraWorldList-\u003e#() )\n\tsharedPools                   an OrderedCollection()\n\tenvironment                   a SystemDictionary(lots of globals)\n\tcategory                      #'Morphic-Core-Worlds'\n\tannouncer                     nil\n\tdisplayScaleFactor            1\n\n----------------------------------------------------------------------------------------------------\n[ [ WorldMorph doOneCycle.\nProcessor yield.\nfalse ] whileFalse: [  ] ] in MorphicUIManager\u003e\u003espawnNewProcess\n\n\nreceiver\n\t                              a MorphicUIManager\n\n\ntemps\n\n\ninst vars\n\tactiveTranscript              nil\n\n----------------------------------------------------------------------------------------------------\n[ self value.\nProcessor terminateActive ] in BlockClosure\u003e\u003enewProcess\n\n\nreceiver\n\t                              [ [ WorldMorph doOneCycle.\nProcessor yield.\nfalse ] whileFalse: [  ] ]\n\n\ntemps\n\n\ninst vars\n\touterContext                  MorphicUIManager\u003e\u003espawnNewProcess\n\tstartpc                       125\n\tnumArgs                       0\n```\n\u003c/details\u003e\n\n## Version management \n\nThis project use semantic versioning to define the releases. This means that each stable release of the project will be assigned a version number of the form `vX.Y.Z`. \n\n- **X** defines the major version number\n- **Y** defines the minor version number \n- **Z** defines the patch version number\n\nWhen a release contains only bug fixes, the patch number increases. When the release contains new features that are backward compatible, the minor version increases. When the release contains breaking changes, the major version increases. \n\nThus, it should be safe to depend on a fixed major version and moving minor version of this project.\n\n## Smalltalk versions compatibility\n\n| Version \t| Compatible Pharo versions \t\t|\n|-------------\t|---------------------------\t|\n| 1.x.x       \t| Pharo 61, 70, 80, 90, 100\t\t\t|\n\n## Contact\n\nIf you have any questions or problems do not hesitate to open an issue or contact cyril (a) ferlicot.me \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjecisc%2Fbugreport","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjecisc%2Fbugreport","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjecisc%2Fbugreport/lists"}