From b7a8848bc379c0a8058993a3995bf4c7ab9e30f2 Mon Sep 17 00:00:00 2001 From: aplteam Date: Sun, 12 Mar 2023 10:27:02 +0100 Subject: [PATCH] Bug fix related to ignoring Tatin packages --- .../Fire/GUI/OnAutocompleteInWhereToLook.aplf | 5 ++++- APLSource/Fire/GUI/OnKeyPressInLookIn.aplf | 2 +- APLSource/Fire/History.apla | 7 ++++-- APLSource/Fire/ListNamespaceTree.aplf | 2 +- APLSource/Fire/ListNamespaceTree_.aplf | 5 +++-- APLSource/Fire/Version.aplf | 2 +- APLSource/TestCases/Test_Misc_014.aplf | 14 ++++++------ APLSource/TestCases/Test_ReplaceVars_007.aplf | 2 +- Docs/ReleaseNotes.md | 7 ++++++ LICENSE | 2 +- TestResults/CodeCoverage.html | 22 +++++++++---------- packages/apl-buildlist.json | 2 +- packages/apl-dependencies.txt | 2 +- packages_dev/apl-buildlist.json | 2 +- packages_dev/apl-dependencies.txt | 5 ++--- 15 files changed, 47 insertions(+), 34 deletions(-) diff --git a/APLSource/Fire/GUI/OnAutocompleteInWhereToLook.aplf b/APLSource/Fire/GUI/OnAutocompleteInWhereToLook.aplf index e680c75..5e64dc6 100644 --- a/APLSource/Fire/GUI/OnAutocompleteInWhereToLook.aplf +++ b/APLSource/Fire/GUI/OnAutocompleteInWhereToLook.aplf @@ -5,12 +5,15 @@ :If ~n.ReuseSearch.State ⍝ No need for autocomplete on a hit list f←n.AutoCompleteForm.Visible ⍝ Flag: is autocompletion visible right now? isQSE←'⎕SE'≡3↑1 ⎕C n.StartSearchIn.Text ⍝ Flag: is it pointing to ⎕SE?! - s←isQSE{⍺:⎕SE ⋄ ((0∊⍴⍵)∨'#'=1⍴,⍵):# ⋄ ⍬}n.StartSearchIn.Text ⍝ Determine source + s←isQSE{⍺:⎕SE ⋄ ((0=≢⍵)∨'#'=1⍴,⍵):# ⋄ ⍬}n.StartSearchIn.Text ⍝ Determine source :If 0=≢s {}HideAutoComplete ⍬ :Else {}CheckForQSE isQSE l←1 ##.List s 0 ⍝ Get list of all named NS in either # or ⎕SE + :If n.IgnoreTatinPkgs.State + l←(~(⍕¨l[;0])∊'#._tatin' '⎕SE._tatin' '⎕SE._Tatin' '⎕SE.Tatin')⌿l + :EndIf :If 0<≢l ⍝ Empty?! Guard! l←⊃⍕¨l[;0] ⍝ Just the refs as names l←({((⍴⍵)↑[1]l)∧.=⍵},n.StartSearchIn.Text)⌿l ⍝ Reduce the autocomplete list diff --git a/APLSource/Fire/GUI/OnKeyPressInLookIn.aplf b/APLSource/Fire/GUI/OnKeyPressInLookIn.aplf index cb42e2f..fa06d75 100644 --- a/APLSource/Fire/GUI/OnKeyPressInLookIn.aplf +++ b/APLSource/Fire/GUI/OnKeyPressInLookIn.aplf @@ -30,7 +30,7 @@ :If '.'=2⊃y :If '.'≠¯1↑n.StartSearchIn.Text :Trap 2 6 - r←0<(⍎n.StartSearchIn.Text).{↑⍴⎕NL ⍵}2 3 4 9 + r←0<(⍎n.StartSearchIn.Text).{≢⎕NL ⍵}2 3 4 9 :Else :Return :EndTrap diff --git a/APLSource/Fire/History.apla b/APLSource/Fire/History.apla index 82a99a8..2f2474d 100644 --- a/APLSource/Fire/History.apla +++ b/APLSource/Fire/History.apla @@ -1,8 +1,11 @@ ( '⍝ Contains information regarding the last release. A full history is available on GitHub. (This line is ignored)' '' - '* 9.5.1 from 2023-02-13' - ' * Bug fix in GUI.LetLinkDelete' + '* 9.5.1 from 2023-03-12' + ' * Bug fixes' + ' * Bug fix in ListNamespaceTree_' + ' * Bug fix in GUI.LetLinkDelete' + ' * "Start looking here" offered #._tatin or ⎕SE._tatin even if "Ignore Tatin packages" was ticked' '' '* 9.5.0 from 2023-02-06' ' * Search operation is way quicker now under some circumstances' diff --git a/APLSource/Fire/ListNamespaceTree.aplf b/APLSource/Fire/ListNamespaceTree.aplf index ac6657d..8513266 100644 --- a/APLSource/Fire/ListNamespaceTree.aplf +++ b/APLSource/Fire/ListNamespaceTree.aplf @@ -2,7 +2,7 @@ ⍝ "type" may be 1 (the default) or 2.\\ ⍝ 1: Returns a list of references with all named namespaces in "ref"\\ ⍝ 2: Return abnomalies\\ -⍝ Semi-global ∆buffer is used to to collect results while running recursively. +⍝ Semi-global ∆buffer is used to collect results while running recursively. type←↑{(0<⎕NC ⍵):⍎⍵ ⋄ 1}'type' :If 1≡type ∆buffer←ref diff --git a/APLSource/Fire/ListNamespaceTree_.aplf b/APLSource/Fire/ListNamespaceTree_.aplf index 36694d7..69a5b5c 100644 --- a/APLSource/Fire/ListNamespaceTree_.aplf +++ b/APLSource/Fire/ListNamespaceTree_.aplf @@ -1,13 +1,14 @@ level ListNamespaceTree_(ref type classFlag);list;list1;list2;bool1;bool2;list3;list4;this;lista;lista2 ⍝ Sub-function of "ListNamespaceTree" without independent value. -⍝ "flag" decides whether unnamed namespaces and instances (form, sockets etc -⍝ but no class instances!) should be included or not. +⍝ "flag" decides whether unnamed namespaces and instances (forms, sockets etc +⍝ but never class instances!) should be included or not. ⍝ Needs semi-global "∆buffer" to save results. list1←ref{⍺.(⍎⍕'⍺',⌽↓⎕NL 9.1)}⍬ ⍝ Ordinary & unnamed namespaces (NS) ⍝ If somebody is brave enough to assign ⎕DMX to a variable we end up with a ref pointing to it. ⍝ Luckily the format of such a ref happens to be a matrix rather than a string. ⍝ That's why we get rid of those here: list1←(1=↑∘⍴∘⍴¨⍕¨list1)/list1 + {⍵:.}∨/∨/¨'Tatin.Core'∘⍷¨⍕¨list1 ⍝TODO⍝ Now check #.Tatin.RumbaLean.Tests.R: it points to #.Tatin.Core which DOES NOT exist list1←(~↑¨∨/¨(GetDisplayFormat¨list1)∊¨⊂'[]')/list1 ⍝ Remove unnamed NS :If 0≠≢list2←1↓ref{⍺.(⍎⍕'⍺',⌽↓⎕NL 9.2)}⍬ ⍝ Instances (classes & GUI objects) :AndIf 0≠≢list2←(~'('∊¨⍕¨list2)/list2 ⍝ Those carrying a "(" are useless for us: GUI leftovers. diff --git a/APLSource/Fire/Version.aplf b/APLSource/Fire/Version.aplf index 3852966..c088568 100644 --- a/APLSource/Fire/Version.aplf +++ b/APLSource/Fire/Version.aplf @@ -1,3 +1,3 @@ r←Version ⍝ See also `History` - r←'Fire' '9.5.1-beta-1+262' '2023-02-13' + r←'Fire' '9.5.1+265' '2023-03-12' diff --git a/APLSource/TestCases/Test_Misc_014.aplf b/APLSource/TestCases/Test_Misc_014.aplf index a8a67f5..c4cc373 100644 --- a/APLSource/TestCases/Test_Misc_014.aplf +++ b/APLSource/TestCases/Test_Misc_014.aplf @@ -7,12 +7,12 @@ #.⎕EX'FireReportGhost' 'FireReportGhost'#.⎕NS'' #.FireReportGhost.⎕FIX #.⎕SRC APLTreeUtils2 - #.FireReportGhost.⎕FIX #.⎕SRC FilesAndDirs + #.FireReportGhost.⎕FIX #.⎕SRC APLProcess #.FireReportGhost.APLTreeUtils2.⎕FX'r←Hello' 'r←''Worlds''' ⍝ This is NOT a ghost! - #.FireReportGhost.FilesAndDirs.⎕FX'r←Hello' 'r←''World''' - #.FireReportGhost.FilesAndDirs.⎕FX'r←Hello2' 'r←''World2''' - #.FireReportGhost.FilesAndDirs.⎕FX'r←Hello3' 'r←''World3''' - #.FireReportGhost.FilesAndDirs.⎕FIX':Class MyClass' '∇r←Hello' ':Access Public Shared' 'r←''Universe''' '∇' ':EndClass' + #.FireReportGhost.APLProcess.⎕FX'r←Hello' 'r←''World''' + #.FireReportGhost.APLProcess.⎕FX'r←Hello2' 'r←''World2''' + #.FireReportGhost.APLProcess.⎕FX'r←Hello3' 'r←''World3''' + #.FireReportGhost.APLProcess.⎕FIX':Class MyClass' '∇r←Hello' ':Access Public Shared' 'r←''Universe''' '∇' ':EndClass' #.FireReportGhost.⎕FIX':Interface InterfaceFoo' '∇r←Hello arg' '∇' ':EndInterface' #.FireReportGhost.InterfaceFoo.⎕FX'r←∆Hello10' 'r←''World10''' '#.FireReportGhost.MyGUI'⎕WC'Form'('Visible' 0)('KeepOnClose' 1) @@ -25,8 +25,8 @@ ⎕DL 0.05 ⍝ Checks - expected←'#.FireReportGhost.MyGUI' 'Hello' '#.FireReportGhost.FilesAndDirs' 'Hello' 'Hello2' 'Hello3' '#.FireReportGhost.APLTreeUtils2' 'Hello' '#.FireReportGhost.InterfaceFoo' '∆Hello10' - →T.GoToTidyUp ref.TV.Items≢expected + expected←'#.FireReportGhost.MyGUI' 'Hello' '#.FireReportGhost.APLProcess' 'Hello' 'Hello2' 'Hello3' '#.FireReportGhost.APLTreeUtils2' 'Hello' '#.FireReportGhost.InterfaceFoo' '∆Hello10' + →T.GoToTidyUp ~expected ∆LazyMatch ref.TV.Items rg←#.Fire.Fire.ReportGosts ref.TV.SelItems←0 0 0 0 1 0 0 0 1 rg.DeleteGhost ref.TV diff --git a/APLSource/TestCases/Test_ReplaceVars_007.aplf b/APLSource/TestCases/Test_ReplaceVars_007.aplf index a9f0b94..e67d241 100644 --- a/APLSource/TestCases/Test_ReplaceVars_007.aplf +++ b/APLSource/TestCases/Test_ReplaceVars_007.aplf @@ -29,7 +29,7 @@ ⎕DL 0.2 {}∆Select n2.StartBtn ∆Process n.Form - →T.GoToTidyUp'Namespace'≢'n2.Form'⎕WG'Type' + →T.GoToTidyUp'Namespace'≢'n2.Form'⎕WG'Type' ⍝ Error?! Try again! R←T._OK diff --git a/Docs/ReleaseNotes.md b/Docs/ReleaseNotes.md index 7411297..a5582ab 100644 --- a/Docs/ReleaseNotes.md +++ b/Docs/ReleaseNotes.md @@ -13,6 +13,13 @@ A bump of the minor number indicates added functionality plus possibly bug fixes A bump of the patch number indicates bug fixes. +## Version 9.5.1 from 2023-03-12 + +* Bug fix in `ListNamespaceTree_` +* Bug fix in `GUI.LetLinkDelete` +* "Start looking here" offered `#._tatin` or `⎕SE._tatin` etc even if "Ignore Tatin packages" was ticked + + ## Version 9.5.0 from 2023-02-06 * Search operation is now much quicker under some cirumstances diff --git a/LICENSE b/LICENSE index bbb529f..eee0aa4 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2018 APL Team Ltd +Copyright (c) 2023 Kai Jaeger Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/TestResults/CodeCoverage.html b/TestResults/CodeCoverage.html index 1f94bb1..996a7dc 100644 --- a/TestResults/CodeCoverage.html +++ b/TestResults/CodeCoverage.html @@ -127,12 +127,12 @@

Coverage Report

Executed atAPLVersionMemory (MB) -2022-12-15 12:03:10Windows-64 ⋄ 18.0.46299.0 ⋄ W ⋄ Development ⋄ Unicode51 +2023-03-12 10:21:08Windows-64 ⋄ 18.0.46765.0 ⋄ W ⋄ Development ⋄ Unicode51

Overall 50% of the testable code is covered.

(Comment lines, empty lines, all :End* lines etc. are ignored)

-

215 of the fns/opr are 100% covered.

+

213 of the fns/opr are 100% covered.

@@ -195,6 +195,7 @@

Coverage Report

+ @@ -238,7 +239,7 @@

Coverage Report

- + @@ -262,6 +263,7 @@

Coverage Report

+ @@ -388,6 +390,7 @@

Coverage Report

+ @@ -488,10 +491,9 @@

Coverage Report

- - + @@ -524,12 +526,12 @@

Coverage Report

- + @@ -624,7 +626,6 @@

Coverage Report

- @@ -723,7 +724,6 @@

Coverage Report

- @@ -797,7 +797,7 @@

Coverage Report

}, buttons: [ { - text: "Partly covered (92)", + text: "Partly covered (91)", titleAttr: "50%", className: "active", action: function ( e, dt, node, config ) { @@ -811,7 +811,7 @@

Coverage Report

} }, { - text: "Uncovered (327)", + text: "Uncovered (330)", titleAttr: "0%", className: "active", action: function ( e, dt, node, config ) { @@ -825,7 +825,7 @@

Coverage Report

} }, { - text: "Fully covered (215)", + text: "Fully covered (213)", titleAttr: "100%", className: "active", action: function ( e, dt, node, config ) { diff --git a/packages/apl-buildlist.json b/packages/apl-buildlist.json index 27717f8..0a6d48c 100644 --- a/packages/apl-buildlist.json +++ b/packages/apl-buildlist.json @@ -1 +1 @@ -{ packageID: [ "aplteam-WinReg-5.0.4", "aplteam-OS-3.0.1", "aplteam-GitHubAPIv3-0.7.0", "aplteam-FilesAndDirs-5.3.2", "aplteam-APLTreeUtils2-1.1.3", ], principal: [ 1, 1, 1, 1, 1, ], url: [ "https://tatin.dev/", "https://tatin.dev/", "https://tatin.dev/", "https://tatin.dev/", "https://tatin.dev/", ], } +{ packageID: [ "aplteam-WinReg-5.0.4", "aplteam-OS-3.0.1", "aplteam-GitHubAPIv3-0.7.0", "aplteam-FilesAndDirs-5.3.4", "aplteam-APLTreeUtils2-1.1.3", ], principal: [ 1, 1, 1, 1, 1, ], url: [ "https://tatin.dev/", "https://tatin.dev/", "https://tatin.dev/", "https://tatin.dev/", "https://tatin.dev/", ], } diff --git a/packages/apl-dependencies.txt b/packages/apl-dependencies.txt index decfc11..1aaa307 100644 --- a/packages/apl-dependencies.txt +++ b/packages/apl-dependencies.txt @@ -1,5 +1,5 @@ aplteam-APLTreeUtils2-1.1.3 -aplteam-FilesAndDirs-5.3.2 +aplteam-FilesAndDirs-5.3.4 aplteam-WinReg-5.0.4 aplteam-OS-3.0.1 aplteam-GitHubAPIv3-0.7.0 diff --git a/packages_dev/apl-buildlist.json b/packages_dev/apl-buildlist.json index 0de09ab..3c6f4cb 100644 --- a/packages_dev/apl-buildlist.json +++ b/packages_dev/apl-buildlist.json @@ -1 +1 @@ -{ packageID: [ "aplteam-Tester2-3.2.7", "aplteam-MakeHelpers-0.5.0", "aplteam-Inno-1.0.0", "aplteam-FilesAndDirs-5.3.2", "aplteam-CodeCoverage-0.9.4", "aplteam-APLTreeUtils2-1.1.3", "aplteam-APLProcess-0.4.1", "F@aplteam-FilesAndDirs-5.2.1", "aplteam-ZipArchive-1.0.0", "aplteam-WinSys-5.0.1", "aplteam-OS-3.0.1", "aplteam-MarkAPL-11.0.4", "aplteam-IniFiles-5.0.3", "aplteam-Execute-3.0.2", "aplteam-DotNetZip-2.0.2", "aplteam-CommTools-1.2.1", "A@aplteam-APLTreeUtils2-1.1.3", ], principal: [ 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ], url: [ "https://tatin.dev/", "https://localhost/", "https://tatin.dev/", "https://tatin.dev/", "https://tatin.dev/", "https://tatin.dev/", "https://tatin.dev/", "https://tatin.dev/", "https://tatin.dev/", "https://tatin.dev/", "https://tatin.dev/", "https://tatin.dev/", "https://tatin.dev/", "https://tatin.dev/", "https://tatin.dev/", "https://tatin.dev/", "https://tatin.dev/", ], } +{ packageID: [ "aplteam-Tester2-3.3.1", "aplteam-Inno-1.0.0", "aplteam-FilesAndDirs-5.3.4", "aplteam-CodeCoverage-0.9.4", "aplteam-APLTreeUtils2-1.1.3", "aplteam-APLProcess-0.4.1", "aplteam-WinSys-5.0.1", "aplteam-OS-3.0.1", "aplteam-IniFiles-5.0.3", "aplteam-Execute-3.0.2", "aplteam-CommTools-1.2.3", ], principal: [ 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, ], url: [ "https://tatin.dev/", "https://tatin.dev/", "https://tatin.dev/", "https://tatin.dev/", "https://tatin.dev/", "https://tatin.dev/", "https://tatin.dev/", "https://tatin.dev/", "https://tatin.dev/", "https://tatin.dev/", "https://tatin.dev/", ], } diff --git a/packages_dev/apl-dependencies.txt b/packages_dev/apl-dependencies.txt index 7731b15..95ac03e 100644 --- a/packages_dev/apl-dependencies.txt +++ b/packages_dev/apl-dependencies.txt @@ -1,7 +1,6 @@ aplteam-APLTreeUtils2-1.1.3 -aplteam-FilesAndDirs-5.3.2 +aplteam-FilesAndDirs-5.3.4 aplteam-CodeCoverage-0.9.4 -aplteam-Tester2-3.2.7 +aplteam-Tester2-3.3.1 aplteam-APLProcess-0.4.1 aplteam-Inno-1.0.0 -aplteam-MakeHelpers-0.5.0
#.Fire.Fire.GUI.CenterOnMonitor15←≢2-4,7,10-11,14-20,22,24015
#.Fire.Fire.GUI.CheckForQSE2, 3, 403
#.Fire.Fire.GUI.CheckForUpdates11←≢1-6,8-11,13011
#.Fire.Fire.GUI.ClickFindButton5←≢2-3,5-705
#.Fire.Fire.GUI.CopyAutoCompleteToCombo8←≢4-1108
#.Fire.Fire.GUI.CreateContextMenu14←≢1-14014
#.Fire.Fire.GUI.CreateContextMenu_AllFromSelectedNamespace1, 202
#.Fire.Fire.GUI.OnAbout201
#.Fire.Fire.GUI.OnAmendWindowSize101
#.Fire.Fire.GUI.OnAutoCompleteList6←≢2-706
#.Fire.Fire.GUI.OnAutocompleteInWhereToLook23←≢3-9,11-23,25-26,28023
#.Fire.Fire.GUI.OnAutocompleteInWhereToLook25←≢3-9,11-14,16-26,28-29,31025
#.Fire.Fire.GUI.OnCallingCmd201
#.Fire.Fire.GUI.OnCancelSearch101
#.Fire.Fire.GUI.OnCase101
#.Fire.Fire.GUI.OnHelp101
#.Fire.Fire.GUI.OnHiddenButtonGotFocus201
#.Fire.Fire.GUI.OnInvertSelectionCmd201
#.Fire.Fire.GUI.OnKeyPressInHitList8←≢2-908
#.Fire.Fire.GUI.OnKeyPressInLookIn31←≢2-12,14-17,19-26,29-32,34,37-38,43031
#.Fire.Fire.GUI.OnKeyPressInLookIn_54←≢1-21,23,25-32,34,36-57,59054
#.Fire.Fire.GUI.OnKeyPressInSearchFor17←≢2-18017
#.Fire.Fire.Replace.OnFixAll201
#.Fire.Fire.Replace.OnFixAndNext201
#.Fire.Fire.Replace.OnHiddenButtonGotFocus201
#.Fire.Fire.Replace.OnKeyPressStandard5←≢3-705
#.Fire.Fire.Replace.OnOneByOneMode1, 202
#.Fire.Fire.Replace.OnSelectAll1, 2, 303
#.Fire.Fire.Replace.OnSkip201
#.Fire.Fire.ListNamespaceTree7←≢9,11,15-195014
#.Fire.Fire.RegExSearch5, 6, 7506
#.Fire.Fire.ToggleAutoStatus4←≢9-12508
#.Fire.Fire.GUI.OnKeyPressInHitList4←≢6-9508
#.Fire.Fire.Replace.TellAcre6, 7, 8506
#.Fire.Fire.Replace.ChangeItByRegEx7←≢12-15,17,19-205616
#.Fire.Fire.GetCode11←≢7,21,25-27,29-31,33-34,385826
#.Fire.Fire.GetCode11←≢7,21,25-27,29-31,33-34,385927
#.Fire.Fire.Replace.Run16←≢9-10,17-21,28-33,37-38,505939
#.Fire.Fire.Replace.ChangeThem_33←≢21,25-27,32,37-38,51-53,57,72-76,78,80-89,96-97,103-1066083
#.Fire.Fire.GUI.RemoveFromHitList6←≢15-206316
#.Fire.Fire.OneByOneComparison.Run6←≢13,23,29-31,337929
#.Fire.Fire.Replace.ProcessOneByOne15, 16, 187914
#.Fire.Fire.ReportHits.MarkupRegExHitsInSimpleVars7, 88010
#.Fire.Fire.ListNamespaceTree_5←≢20-23,328127
#.Fire.Fire.RemoveUnwanted4←≢18,22,24-258121
#.Fire.Fire.GUI.CheckLookIn11, 17, 188116
#.Fire.Fire.Replace.ChangeIt5←≢6-8,10,138127
#.Fire.Fire.Replace.ReplaceSingleLineDfnsInScriptCode5←≢21-22,24-25,278126
#.Fire.Fire.ReportHits.Run_5←≢11-158126
#.Fire.Fire.ListNamespaceTree_5←≢21-24,338228
#.Fire.Fire.GUI.OnStartBtn4←≢9,33,35-368222
#.Fire.Fire.Replace.OnClose12, 138312
#.Fire.Fire.Replace.Replace_Split8, 98312
#.Fire.Fire.GUI.CenterIn10012
#.Fire.Fire.GUI.CheckHitList1005
#.Fire.Fire.GUI.CheckStartButton1003
#.Fire.Fire.GUI.ClickFindButton1005
#.Fire.Fire.GUI.CopyGuiToGlobal10023
#.Fire.Fire.GUI.CreateCheckBoxes10023
#.Fire.Fire.GUI.CreateEditMenu10025
#.Fire.Fire.Replace.NoOfCandidatesForChange1001
#.Fire.Fire.Replace.NonReplaceVars1005
#.Fire.Fire.Replace.OnConfigure1000
#.Fire.Fire.Replace.OnKeyPressStandard1005
#.Fire.Fire.Replace.OnReplaceByGotFocus1000
#.Fire.Fire.Replace.OnReplaceByGotFocusGotFocus1000
#.Fire.Fire.Replace.OnReplaceByLostFocus1000