diff --git a/src/NewTools-Debugger/StDebugger.class.st b/src/NewTools-Debugger/StDebugger.class.st index 05cb441dc..3092c69d8 100644 --- a/src/NewTools-Debugger/StDebugger.class.st +++ b/src/NewTools-Debugger/StDebugger.class.st @@ -401,7 +401,8 @@ StDebugger >> buildToolbarMenus: menuBar withCommandsGroups: advancedCommandGrou name: cmd name; icon: (self iconNamed: cmd iconName); description: cmd description; - action: [ cmd execute ] ] ]. + action: [ cmd execute ]; + enabled: cmd canBeExecuted ] ]. menuBar addGroup: [ :group | group addItem: [ :item | diff --git a/src/NewTools-Sindarin-Commands/SindarinJumpToCaretCommand.class.st b/src/NewTools-Sindarin-Commands/SindarinJumpToCaretCommand.class.st index b4e41ce8a..e997cdf2c 100644 --- a/src/NewTools-Sindarin-Commands/SindarinJumpToCaretCommand.class.st +++ b/src/NewTools-Sindarin-Commands/SindarinJumpToCaretCommand.class.st @@ -42,12 +42,7 @@ SindarinJumpToCaretCommand class >> defaultName [ { #category : 'execution' } SindarinJumpToCaretCommand >> execute [ - | targetNode | - self flag: - 'Context should actually be a debugger or a sindarin debugger'. - self flag: 'Suspicious call to internal debugger UI state'. - targetNode := self context sindarinDebugger bestNodeFor: - self context code selectionInterval. - self context sindarinDebugger moveToNode: targetNode. - self context forceSessionUpdate. + self context sindarinDebugger moveToNode: + self context sindarinTargetNode. + self context forceSessionUpdate ] diff --git a/src/NewTools-Sindarin-Commands/SindarinSkipUpToCommand.class.st b/src/NewTools-Sindarin-Commands/SindarinSkipUpToCommand.class.st index 810114747..c5778a670 100644 --- a/src/NewTools-Sindarin-Commands/SindarinSkipUpToCommand.class.st +++ b/src/NewTools-Sindarin-Commands/SindarinSkipUpToCommand.class.st @@ -29,12 +29,8 @@ SindarinSkipUpToCommand class >> defaultName [ { #category : 'hooks' } SindarinSkipUpToCommand >> execute [ - | targetNode | - - self flag: 'Context should actually be a debugger or a sindarin debugger'. - self flag: 'Suspicious call to internal debugger UI state'. - targetNode := self context sindarinDebugger - bestNodeFor: self context code selectionInterval. - self context sindarinDebugger skipUpToNode: targetNode. + + self context sindarinDebugger skipUpToNode: + self context sindarinTargetNode. self context forceSessionUpdate ] diff --git a/src/NewTools-Sindarin-Tools/StDebugger.extension.st b/src/NewTools-Sindarin-Tools/StDebugger.extension.st index 82b12d549..f5751f788 100644 --- a/src/NewTools-Sindarin-Tools/StDebugger.extension.st +++ b/src/NewTools-Sindarin-Tools/StDebugger.extension.st @@ -4,3 +4,9 @@ Extension { #name : 'StDebugger' } StDebugger >> sindarinDebugger [ ^ SindarinDebugger attachTo: self session ] + +{ #category : '*NewTools-Sindarin-Tools' } +StDebugger >> sindarinTargetNode [ + + ^ self sindarinDebugger targetNodeFor: self code selectionInterval +]