From fa2c4410ab29644706582b189856efb85209709c Mon Sep 17 00:00:00 2001 From: Morten Kromberg Date: Fri, 16 Aug 2024 09:55:52 +0200 Subject: [PATCH 1/8] Add missing "options" argument in calls to SetFlags --- StartupSession/Link/OnAfterFix.aplf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/StartupSession/Link/OnAfterFix.aplf b/StartupSession/Link/OnAfterFix.aplf index 2fa7467c..f692f2b7 100644 --- a/StartupSession/Link/OnAfterFix.aplf +++ b/StartupSession/Link/OnAfterFix.aplf @@ -28,8 +28,8 @@ :If (⎕NC fullname←(⍕ns),'.',name)∊3 4 relname←(1+≢link.ns)↓fullname :AndIf ((⊂relname)∊link.flagged)∨0≠≢(stop←⎕STOP fullname),trace←⎕TRACE fullname - z←'Stop'SetFlags (fullname stop) ns - z←'Trace'SetFlags (fullname trace) ns + z←'Stop'SetFlags (fullname stop) ns ⍬ + z←'Trace'SetFlags (fullname trace) ns ⍬ :EndIf :Else U.Warn 'Unable to record Stop/Trace settings' From 6abc3c5085ef4234a93053dad6da9732abda73a1 Mon Sep 17 00:00:00 2001 From: Morten Kromberg Date: Fri, 16 Aug 2024 09:57:28 +0200 Subject: [PATCH 2/8] Increment version to 4.0.19 --- StartupSession/Link/Version.aplf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/StartupSession/Link/Version.aplf b/StartupSession/Link/Version.aplf index 54372e3f..eb04e9cc 100644 --- a/StartupSession/Link/Version.aplf +++ b/StartupSession/Link/Version.aplf @@ -1,2 +1,2 @@ version←Version -version←'4.0.18' +version←'4.0.19' From 660732117d68aa7b92647dc1ee3bc942bbaea56d Mon Sep 17 00:00:00 2001 From: Morten Kromberg Date: Sun, 8 Sep 2024 15:39:40 +0200 Subject: [PATCH 3/8] Fix #654 - Links not restored in v19.0 --- StartupSession/Link/WSLoaded.aplf | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/StartupSession/Link/WSLoaded.aplf b/StartupSession/Link/WSLoaded.aplf index a7cc1f48..536ae4ce 100644 --- a/StartupSession/Link/WSLoaded.aplf +++ b/StartupSession/Link/WSLoaded.aplf @@ -1,4 +1,4 @@ - {ok}←WSLoaded;keep;links;msg;wslinks;link;diff;allOK;load;IsLoad;broken + {ok}←WSLoaded;keep;links;msg;wslinks;link;diff;allOK;load;IsLoad;broken;isLoadWs ⍝ Action to be taken upon )LOAD or )CLEAR ok←0 :Trap 0 ⍝ can't afford to error @@ -31,7 +31,10 @@ ⍝ restore saved workspace links :If ~0∊⍴wslinks wslinks←⎕SE.Link.⎕NS¨wslinks ⍝ avoid cross-ref between # and ⎕SE - wslinks/⍨←(~U.IS190)∧~IsLoad wslinks + :If U.IS190 + isLoadWS←(,1)≢IsLoad wslinks ⍝ wslinks is not exactly the LOAD= directory + wslinks/⍨←isLoadWS ⍝ before 19.0, always restore saved links + :EndIf :AndIf ~0∊⍴wslinks links,←wslinks wslinks.restored←1 ⋄ wslinks.fsw←⎕NULL ⍝ fsw re-instancited by Resync From d0ee527be0ebdc07463cef3ab6903632f18c8989 Mon Sep 17 00:00:00 2001 From: Morten Kromberg Date: Sun, 8 Sep 2024 15:41:12 +0200 Subject: [PATCH 4/8] Fix doc to clarify that text=aplan is the default --- docs/Usage/Arrays.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Usage/Arrays.md b/docs/Usage/Arrays.md index a473ef6f..cda6edc1 100644 --- a/docs/Usage/Arrays.md +++ b/docs/Usage/Arrays.md @@ -2,7 +2,7 @@ By default, Link uses *APL Array Notation (APLAN)* to store arrays in text files. While APLAN is a good format for describing numeric data, nested arrays and many high rank arrays, it is not ideal for storing text data. Link 4.0 introduces experimental support for storing multi-line character data in simple text files. -The configuration setting `text` can be used to enable this feature: If `text` is set to `'aplan'` (the default) then all arrays will be store using APLAN. If `text` is set to `'plain'` (the default) then text arrays that adhere to a set of very specific criteria will instead be stored in plain text files. You can set this option when a link is created, or using [`Link.Configure`](../API/Link.Configure). +The configuration setting `text` can be used to enable this feature: If `text` is set to `'aplan'` (the default) then all arrays will be store using APLAN. If `text` is set to `'plain'` then text arrays that adhere to a set of very specific criteria will instead be stored in plain text files. You can set this option when a link is created, or using [`Link.Configure`](../API/Link.Configure). Text files which are not in APLAN format will have a penultimate "sub-extension" section in the file name which records the format of the original array in the workspace. The below table describes the array file extensions, what the content represents, and the specific criteria for storage in plain text file. From 01c05796098236773f66fdab873ff4a65c11d718 Mon Sep 17 00:00:00 2001 From: Morten Kromberg Date: Sun, 8 Sep 2024 15:42:01 +0200 Subject: [PATCH 5/8] Clarify use of DYALOGLINK in 19.0 vs DYALOGSTARTUPSE in 18.2 --- docs/Usage/Installation.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/docs/Usage/Installation.md b/docs/Usage/Installation.md index a6c30f7c..7fdb621d 100644 --- a/docs/Usage/Installation.md +++ b/docs/Usage/Installation.md @@ -24,10 +24,11 @@ Link is maintained as an open source project at [github.com/dyalog/link](https:/ If you have the necessary permissions, you can **OVERWRITE the installed version of Link** by replacing the `StartupSession` folder that already exists in the main Dyalog program folder with the downloaded folder. -If you do not have permission to overwrite the Dyalog installation, or you do not wish to overwrite the original version of Link that was included with the interpreter (Dyalog recommends keeping the original code in case you need to fall back), you can keep the code outside the main program folder. In this case, you will need to declare the location of the folder by setting the `DYALOGSTARTUPSE` parameter. You can add it to the command line when you start APL, but it is probably easier to use one of the following alternatives: +If you do not have permission to overwrite the Dyalog installation, or you do not wish to overwrite the original version of Link that was included with the interpreter (Dyalog recommends keeping the original code in case you need to fall back), you can keep the code outside the main program folder. In this case, you will need to declare the location of the folder by setting the parameter `DYALOGLINK` (v19.0 or later), or `DYALOGSTARTUPSE` (v18.2). You can add it to the command line when you start APL, but it is probably easier to use one of the following alternatives: -- **Set the `DYALOGSTARTUPSE` environment variable** to point to the StartupSession folder. +- **Set the `DYALOGLINK` or `DYALOGSTARTUPSE` environment variable** to point to the StartupSession folder. -- **Update the configuration file (or the Windows registry)**, to set the parameter there. Typically, you would edit `~/.dyalog/dyalog.config` to make the change for all versions, or a specific file such as `~/.dyalog/dyalog.180U64.dcfg` for a specific version, to include the line: +- **Update the configuration file (or the Windows registry)**, to set the parameter there. Typically, you would edit `~/.dyalog/dyalog.config` to make the change for all versions, or a specific file such as `~/.dyalog/dyalog.182U64.dcfg` for a specific version, to include the line: - `DYALOGSTARTUPSE: "/Users/mkrom/link/StartupSession"` + `DYALOGLINK: "/Users/mkrom/link/StartupSession"` (version 19.0 or later) + `DYALOGSTARTUPSE: "/Users/mkrom/link/StartupSession"` (version 18.2) From 385123fad14c3fecf8626fa568c4605bbdcf7303 Mon Sep 17 00:00:00 2001 From: Morten Kromberg Date: Sun, 8 Sep 2024 15:56:53 +0200 Subject: [PATCH 6/8] Fix #668 - # is not a linked namespace --- StartupSession/Link/Configure.aplf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/StartupSession/Link/Configure.aplf b/StartupSession/Link/Configure.aplf index f40fe613..05acdaa0 100644 --- a/StartupSession/Link/Configure.aplf +++ b/StartupSession/Link/Configure.aplf @@ -15,7 +15,7 @@ islinked←0 container←⊃⎕RSI ⎕XSI U.ContainerNs ⍬ - :If 9=container.⎕NC target + :If (9=container.⎕NC target)∨(⊂target)∊,¨'#' '⎕SE' target←⍕container⍎target :AndIf 0≠≢links←U.GetLinks :AndIf islinked←(⊂target)∊links.ns ⍝ If target is a linked namespace From 00823d48e4cb346844084513563d4a207dae814b Mon Sep 17 00:00:00 2001 From: Morten Kromberg Date: Sun, 8 Sep 2024 15:57:39 +0200 Subject: [PATCH 7/8] fix #669 - length error in ]link.configure --- StartupSession/Link/Config.apln | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/StartupSession/Link/Config.apln b/StartupSession/Link/Config.apln index 49f02248..c8c05d16 100644 --- a/StartupSession/Link/Config.apln +++ b/StartupSession/Link/Config.apln @@ -106,9 +106,9 @@ :AndIf 0≠≢config.SourceFlags msg,←⊂'Stop/Trace:' :For obj :In config.SourceFlags - (name stop trace monitor)←obj.{6::⍬ ⋄ ⍎⍵}¨'Name' 'Stop' 'Trace' ⍝ Not 'Monitor' - :If (0≠≢name)∧(∨/0≠≢¨stop trace monitor) ⍝ Something to report - msg,←⊂' ',name,'[',(⍕stop),'/',(⍕trace),'/',⍕monitor']' + (name stop trace)←obj.{6::⍬ ⋄ ⍎⍵}¨'Name' 'Stop' 'Trace' + :If (0≠≢name)∧(∨/0≠≢¨stop trace) ⍝ Something to report + msg,←⊂' ',name,'[',(⍕stop),'/',(⍕trace),']' :EndIf :EndFor :EndIf @@ -260,4 +260,4 @@ rc←0⊣msg←'Was ',⍕names,¨':',¨⍕¨old ∇ -:EndNamespace +:EndNamespace \ No newline at end of file From d10bf5c46e9d40858a13c860ebbbe714c074e6f6 Mon Sep 17 00:00:00 2001 From: Morten Kromberg Date: Sun, 8 Sep 2024 15:57:51 +0200 Subject: [PATCH 8/8] Bump version to 4.0.20 --- StartupSession/Link/Version.aplf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/StartupSession/Link/Version.aplf b/StartupSession/Link/Version.aplf index eb04e9cc..edde24a9 100644 --- a/StartupSession/Link/Version.aplf +++ b/StartupSession/Link/Version.aplf @@ -1,2 +1,2 @@ version←Version -version←'4.0.19' +version←'4.0.20'