Dyalog / ride

Cross-platform IDE for Dyalog APL
https://dyalog.github.io/ride
MIT License
202 stars 31 forks source link

AIX: debugger has focus on wrong tab when displaying suspension with multiple functions on the stack #174

Closed dyaandys closed 2 years ago

dyaandys commented 7 years ago

]udebug on ]settings -

Focus is on UCMD tab: Linux is on correct tab (but wrong place #173) AIX protocol log: 13651 connect failed: Error: getaddrinfo ENOTFOUND p7=-61qa p7=-61qa:4502 15519 send SupportedProtocols=2 15519 send UsingProtocol=2 15519 send ["Identify",{"identity":1}] 15519 send ["Connect",{"remoteId":2}] 15519 send ["GetWindowLayout",{}] 15669 recv SupportedProtocols=2 15669 recv UsingProtocol=2 15737 recv ["Identify",{"Port":0,"IPAddress":"","Vendor":"Dyalog Limited","Language":"APL","version":"16.0.30203","Machine":"p7-61qa","arch":"Unicode/64","Project":"CLEAR WS","Process":"","User":"andys","pid":11337760,"token":"","date":"Created: Jun 22 2017 at 11:15:06","platform":"AIX-64"}] 15738 send ["SetPW",{"pw":154}] 15739 recv ["UpdateDisplayName",{"displayName":"CLEAR WS"}] 15739 recv ["ReplyGetLog",{"result":["Dyalog APL/S-64 Version 16.0.30203","Unicode Edition","Thu Jun 22 12:02:04 2017","","Rebuilding user command cache... done"," ]udebug on","Was OFF"," ]settings -","","Run[1]"," )off","Dyalog APL/S-64 Version 16.0.30203","Unicode Edition","Thu Jun 22 12:02:44 2017"," ⎕fx¨'ab' 'bc' 'cd'"," )fns","a b c"," 1⎕stop 'c'"," a","","c[1]"," )reset"," )off","Dyalog APL/S-64 Version 16.0.30203","Unicode Edition","Thu Jun 22 12:18:17 2017"," ]udebug on","Was OFF"," ]settings -","","Run[1]"," )off","Dyalog APL/S-64 Version 16.0.30203","Unicode Edition","Thu Jun 22 12:34:07 2017",""]}] 15739 recv ["SetPromptType",{"type":1}] 16173 send ["TreeList",{"nodeId":0}] 16200 recv ["ReplyTreeList",{"classes":[-1,-1],"err":"","names":["#","⎕SE"],"nodeId":0,"nodeIds":[1,2]}] 16252 send ["SetPW",{"pw":129}] 19903 send ["Execute",{"trace":0,"text":" ]udebug on\n"}] 19903 recv ["EchoInput",{"input":" ]udebug on\n"}] 20120 recv ["SetPromptType",{"type":0}] 20120 recv ["AppendSessionOutput",{"result":"Was OFF\n"}] 20120 recv ["SetPromptType",{"type":1}] 22357 send ["Execute",{"trace":0,"text":" ]settings -\n"}] 22373 recv ["EchoInput",{"input":" ]settings -\n"}] 22397 recv ["SetPromptType",{"type":0}] 22400 recv ["HadError",{"error":1001,"dmx":0}] 22400 recv ["AppendSessionOutput",{"result":"\n"}] 22400 recv ["AppendSessionOutput",{"result":"Run[1]\n"}] 22400 recv ["OpenWindow",{"currentRow":17,"debugger":1,"entityType":1,"name":"UCMD","offset":0,"readOnly":0,"size":0,"stop":[],"text":[" r←{THIS}UCMD Input;dcl;in;nma;rlb;ur;notQ","⍝ User Command Processor. The result may be assigned to a global variable.","⍝ Most of the implementation is in ⎕SE.SALTUtils.Spice; this function only implements","⍝ \"assignment syntax\", i.e. ]varname←ucmd and ]⎕←ucmd",""," rlb←{(+/∧\' '=⍵)↓⍵} ⋄ →(⍴in←rlb Input)↓0",""," :If 0=⎕NC'THIS' ⋄ THIS←⎕IO⊃⎕RSI ⋄ :EndIf ⍝ record calling environment","","⍝ ]var←Cmd accepted; see if it makes sense if present. No spaces allowed."," notQ←'⎕←'≢nma←(~' '∊nma)/nma←(⌽∨\⌽<\('←'=in)>∨\in∊'''\"')/in"," dcl←''∊4⍴⎕STACK ⍝ were we at Desk Calculator Level?"," :If notQ∧(1<⍴nma)>0 2 9∊⍨THIS.⎕NC ¯1↓nma ⍝ is the assignment legal?"," ur←' assignment syntax error' ⋄ ur ⎕SIGNAL dcl↓2 ⋄ ⎕←ur ⋄ →"," :EndIf"," →(⍴in←(⍴nma)↓in)↓0 ⍝ ]v← is the same as ]",""," ur←(dcl,⍨dcl≤n... 22417 recv ["OpenWindow",{"currentRow":437,"debugger":1,"entityType":256,"name":"SALTUtils","offset":190,"readOnly":0,"size":263,"stop":[],"text":[":Namespace SALTUtils ⍝ V2.639","⍝ Utility Functions used by SALT and User Commands code","⍝ 2016 05 30 DanB: added ⍳ underbar in ⎕Uxxxx list, use ⌶ for Xcase","⍝ 2016 06 17 DanB: use ⎕SIGNAL 0 to clear ⎕DM","⍝ 2016 06 20 DanB: Dir excludes hidden files for V15 too","⍝ 2016 07 21 DanB: use ⎕MAP instead of ⎕NREAD in GetUnicodeFile","⍝ 2016 08 31 DanB: added .dyalog to script name in help","⍝ 2016 10 06 DanB: fixed help values display","⍝ 2016 10 28 DanB: modified xCase to work on nested arrays","⍝ 2017 01 12 Adam: use 4070⌶ on Windows","⍝ 2017 01 17 Adam: use 3503⌶","⍝ 2017 01 24 Adam: fix broken save","⍝ 2017 02 23 Adam: bump version to 2.2 for 16.0","⍝ 2017 03 02 Adam: add support for ⊂_ and ⎕⋄ and change to OS specific file sep","⍝ 2017 03 08 Adam: rephrase \"N arguments or less\" → \"up to N arguments\", added OS","⍝ 2017 03 10 Jay: trailing / on... 22418 recv ["OpenWindow",{"currentRow":2,"debugger":1,"entityType":1,"name":"CallUserCode","offset":0,"readOnly":0,"size":0,"stop":[],"text":[" R←CallUserCode args","⍝ Program stopped on request; use →⎕LC to resume"," R←{DEBUG↓85::0 0⍴0 ⋄ E←85⌶ ⋄ x←'spc.Run ⍵' ⋄ {11::0 ⋄ 0 E ⍵}⍕1:0 E x ⋄ E x}args"],"tid":0,"tname":"Tid:0","token":3}] 22418 recv ["OpenWindow",{"currentRow":28,"debugger":1,"entityType":256,"name":"SaltInSpice","offset":27,"readOnly":0,"size":11,"stop":[28],"text":[":namespace SaltInSpice ⍝ V1.12","⍝ Implement SALT commands within Spice","⍝ 2015 11 12 Adam: moved help layout to framework","⍝ 2015 12 30 Adam: added Test","⍝ 2016 04 07 DanB: Settings example to use ∘","⍝ 2016 11 16 Adam: removed mention of -vars","⍝ 2017 03 01 Adam: updated help to OS appropriate separators",""," ⎕ml← ⎕io←1"," Cnames←'Compare' 'RemoveVersions' 'List' 'Load' 'Save' 'Settings' 'Snap' 'Clean'",""," WIN←'Win'≡3↑⊃#⎕WG'APLVersion'",""," ∇ r←List"," r←⎕NS¨(⍴Cnames)⍴⊂''"," r.(Group Parse)←⊂'SALT' ''"," r.Name←Cnames"," r[1].Desc←'Compare versions of 2 files'"," r[2].Desc←'Remove some or all versions'"," r[3].Desc←'List SALT files or folders in path'"," r[4].Desc←'Load an object (class or namespace or fn or var)'"," r[5].Desc←'Save an object (class or namespace or fn or var)'"," ... 22418 recv ["SetHighlightLine",{"win":4,"line":28}] 22418 recv ["SetHighlightLine",{"win":3,"line":2}] 23188 recv ["SetHighlightLine",{"win":2,"line":437}] 23221 recv ["SetHighlightLine",{"win":1,"line":17}] 23221 recv ["SetPromptType",{"type":1}] 245878 send ["GetValueTip",{"win":1,"line":":AndIf (2↑ur)≡(⎕UCS 8),'*' ⍝ error signature","pos":15,"token":1,"maxWidth":64,"maxHeight":32}] 472535 send ["SetPW",{"pw":130}]

Linux Protocol log: 19017 send SupportedProtocols=2 19017 send UsingProtocol=2 19017 send ["Identify",{"identity":1}] 19017 send ["Connect",{"remoteId":2}] 19017 send ["GetWindowLayout",{}] 19160 recv SupportedProtocols=2 19160 recv UsingProtocol=2 19235 recv ["Identify",{"Port":0,"IPAddress":"","Vendor":"Dyalog Limited","Language":"APL","version":"16.0.30198","Machine":"debian7dev","arch":"Unicode/64","Project":"CLEAR WS","Process":"","User":"andys","pid":13012,"token":"","date":"Created: Jun 22 2017 at 02:09:03","platform":"Linux-64"}] 19237 send ["SetPW",{"pw":154}] 19238 recv ["UpdateDisplayName",{"displayName":"CLEAR WS"}] 19238 recv ["ReplyGetLog",{"result":["Dyalog APL/S-64 Version 16.0.30198","Unicode Edition","Thu Jun 22 12:36:51 2017","","Rebuilding user command cache... done",""]}] 19238 recv ["SetPromptType",{"type":1}] 19656 send ["TreeList",{"nodeId":0}] 19693 recv ["ReplyTreeList",{"classes":[-1,-1],"err":"","names":["#","⎕SE"],"nodeId":0,"nodeIds":[2,1]}] 19742 send ["SetPW",{"pw":129}] 23620 send ["GetAutocomplete",{"line":" ]udebug on","pos":16,"token":0}] 23620 recv ["ReplyGetAutocomplete",{"options":[],"skip":2,"token":0}] 23796 send ["Execute",{"trace":0,"text":" ]udebug on\n"}] 23796 recv ["EchoInput",{"input":" ]udebug on\n"}] 24023 recv ["SetPromptType",{"type":0}] 24023 recv ["AppendSessionOutput",{"result":"Was OFF\n"}] 24023 recv ["SetPromptType",{"type":1}] 28273 send ["Execute",{"trace":0,"text":" ]settings -\n"}] 28288 recv ["EchoInput",{"input":" ]settings -\n"}] 28307 recv ["SetPromptType",{"type":0}] 28307 recv ["HadError",{"error":1001,"dmx":0}] 28307 recv ["AppendSessionOutput",{"result":"\n"}] 28307 recv ["AppendSessionOutput",{"result":"Run[1]\n"}] 28307 recv ["OpenWindow",{"currentRow":17,"debugger":1,"entityType":1,"name":"UCMD","offset":0,"readOnly":0,"size":0,"stop":[],"text":[" r←{THIS}UCMD Input;dcl;in;nma;rlb;ur;notQ","⍝ User Command Processor. The result may be assigned to a global variable.","⍝ Most of the implementation is in ⎕SE.SALTUtils.Spice; this function only implements","⍝ \"assignment syntax\", i.e. ]varname←ucmd and ]⎕←ucmd",""," rlb←{(+/∧\' '=⍵)↓⍵} ⋄ →(⍴in←rlb Input)↓0",""," :If 0=⎕NC'THIS' ⋄ THIS←⎕IO⊃⎕RSI ⋄ :EndIf ⍝ record calling environment","","⍝ ]var←Cmd accepted; see if it makes sense if present. No spaces allowed."," notQ←'⎕←'≢nma←(~' '∊nma)/nma←(⌽∨\⌽<\('←'=in)>∨\in∊'''\"')/in"," dcl←''∊4⍴⎕STACK ⍝ were we at Desk Calculator Level?"," :If notQ∧(1<⍴nma)>0 2 9∊⍨THIS.⎕NC ¯1↓nma ⍝ is the assignment legal?"," ur←' assignment syntax error' ⋄ ur ⎕SIGNAL dcl↓2 ⋄ ⎕←ur ⋄ →"," :EndIf"," →(⍴in←(⍴nma)↓in)↓0 ⍝ ]v← is the same as ]",""," ur←(dcl,⍨dcl≤n... 28327 recv ["OpenWindow",{"currentRow":437,"debugger":1,"entityType":256,"name":"SALTUtils","offset":190,"readOnly":0,"size":263,"stop":[],"text":[":Namespace SALTUtils ⍝ V2.639","⍝ Utility Functions used by SALT and User Commands code","⍝ 2016 05 30 DanB: added ⍳ underbar in ⎕Uxxxx list, use ⌶ for Xcase","⍝ 2016 06 17 DanB: use ⎕SIGNAL 0 to clear ⎕DM","⍝ 2016 06 20 DanB: Dir excludes hidden files for V15 too","⍝ 2016 07 21 DanB: use ⎕MAP instead of ⎕NREAD in GetUnicodeFile","⍝ 2016 08 31 DanB: added .dyalog to script name in help","⍝ 2016 10 06 DanB: fixed help values display","⍝ 2016 10 28 DanB: modified xCase to work on nested arrays","⍝ 2017 01 12 Adam: use 4070⌶ on Windows","⍝ 2017 01 17 Adam: use 3503⌶","⍝ 2017 01 24 Adam: fix broken save","⍝ 2017 02 23 Adam: bump version to 2.2 for 16.0","⍝ 2017 03 02 Adam: add support for ⊂_ and ⎕⋄ and change to OS specific file sep","⍝ 2017 03 08 Adam: rephrase \"N arguments or less\" → \"up to N arguments\", added OS","⍝ 2017 03 10 Jay: trailing / on... 28757 recv ["OpenWindow",{"currentRow":2,"debugger":1,"entityType":1,"name":"CallUserCode","offset":0,"readOnly":0,"size":0,"stop":[],"text":[" R←CallUserCode args","⍝ Program stopped on request; use →⎕LC to resume"," R←{DEBUG↓85::0 0⍴0 ⋄ E←85⌶ ⋄ x←'spc.Run ⍵' ⋄ {11::0 ⋄ 0 E ⍵}⍕1:0 E x ⋄ E x}args"],"tid":0,"tname":"Tid:0","token":3}] 28757 recv ["OpenWindow",{"currentRow":28,"debugger":1,"entityType":256,"name":"SaltInSpice","offset":27,"readOnly":0,"size":11,"stop":[28],"text":[":namespace SaltInSpice ⍝ V1.12","⍝ Implement SALT commands within Spice","⍝ 2015 11 12 Adam: moved help layout to framework","⍝ 2015 12 30 Adam: added Test","⍝ 2016 04 07 DanB: Settings example to use ∘","⍝ 2016 11 16 Adam: removed mention of -vars","⍝ 2017 03 01 Adam: updated help to OS appropriate separators",""," ⎕ml← ⎕io←1"," Cnames←'Compare' 'RemoveVersions' 'List' 'Load' 'Save' 'Settings' 'Snap' 'Clean'",""," WIN←'Win'≡3↑⊃#⎕WG'APLVersion'",""," ∇ r←List"," r←⎕NS¨(⍴Cnames)⍴⊂''"," r.(Group Parse)←⊂'SALT' ''"," r.Name←Cnames"," r[1].Desc←'Compare versions of 2 files'"," r[2].Desc←'Remove some or all versions'"," r[3].Desc←'List SALT files or folders in path'"," r[4].Desc←'Load an object (class or namespace or fn or var)'"," r[5].Desc←'Save an object (class or namespace or fn or var)'"," ... 28757 recv ["SetHighlightLine",{"win":4,"line":28}] 28757 recv ["SetHighlightLine",{"win":3,"line":2}] 28757 recv ["SetHighlightLine",{"win":2,"line":437}] 28757 recv ["SetHighlightLine",{"win":1,"line":17}] 28757 recv ["SetPromptType",{"type":1}] 96071 send ["GetValueTip",{"win":4,"line":" r[4].Desc←'Load an object (class or namespace or fn or var)'","pos":15,"token":4,"maxWidth":64,"maxHeight":32}] 195591 send ["GetValueTip",{"win":4,"line":" r[2].Desc←'Remove some or all versions'","pos":21,"token":4,"maxWidth":64,"maxHeight":32}] 357544 send ["Execute",{"trace":0,"text":" )sh hostname\n"}] 357559 recv ["EchoInput",{"input":" )sh hostname\n"}] 357762 recv ["SetPromptType",{"type":0}] 357762 recv ["AppendSessionOutput",{"result":"debian7dev\n"}] 357762 recv ["SetPromptType",{"type":1}] 357762 recv ["SetPromptType",{"type":1}]

IDE: Version: 4.0.2834 Platform: Win32 Date: 2017-06-20 13:42:27 +0100 Git commit: 2d04452b43978e397de5f1131b0252560523ae3c Preferences:{ "favs":"[{\"type\":\"connect\",\"ssh_auth_type\":\"pass\",\"ssh_tnl_auth_type\":\"pass\",\"name\":\"debian7dev\",\"host\":\"debian7dev.dyalog.bramley\",\"port\":\"4502\"},{\"type\":\"connect\",\"ssh_auth_type\":\"pass\",\"ssh_tnl_auth_type\":\"pass\",\"name\":\"dfsaix\",\"host\":\"10.0.61.100\",\"port\":\"9003\"},{\"ssh_auth_type\":\"pass\",\"ssh_tnl_auth_type\":\"pass\",\"name\":\"mac0\",\"host\":\"mac0\"},{\"ssh_auth_type\":\"pass\",\"ssh_tnl_auth_type\":\"pass\",\"name\":\"local\",\"host\":\"127.0.0.1\",\"port\":\"9999\",\"type\":\"start\",\"exe\":\"C:\\Program Files\\Dyalog\\Dyalog APL-64 16.0 Unicode\\dyalog.exe\"},{\"ssh_auth_type\":\"pass\",\"ssh_tnl_auth_type\":\"pass\",\"name\":\"p7-61qa\",\"host\":\"p7-61qa\",\"port\":\"4503\"}]", "kbdLocale":"en_GB", "lineNums":"0", "pfkeys":"[\"\",\"\",\"{⍺ ⍵} \",\"FOO \",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\"]", "selectedExe":"/opt/mdyalog/17.0/64/unicode/mapl", "title":"{WSID} {PID}", "wse":"1", "zoom":"-2" }

Interpreter: Version: 16.0.30198 Platform: Linux-64 Edition: Unicode/64 Date: Jun 22 2017 at 02:09:03

Interpreter: Version: 16.0.30203 Platform: AIX-64 Edition: Unicode/64 Date: Jun 22 2017 at 11:15:06

abrudz commented 2 years ago

Happens on Win RIDE → WSL APL too.

abrudz commented 2 years ago

Fix #172 before looking into this issue.

e9gille commented 2 years ago

I don't have access to AIX and can't replicate with Win RIDE → WSL APL, where the correct tab is focused. Can you confirm this is still an issue please.

e9gille commented 2 years ago

My bad, I realise now that you mean the session should be focused rather than the tracer window. Fixed in dbfb9f8d58cf5ea5048c77142cef55d0896aab80