Dyalog / link

Source code for Link – the built-in component that enables the use of text files as the primary storage mechanism for APL source code
https://dyalog.github.io/link
MIT License
19 stars 11 forks source link

Class and directory worked with :Include in Link 2.0.6 but not Link 3.0 #525

Open dyavc opened 1 year ago

dyavc commented 1 year ago

Describe the bug A Class which has a :Include directory worked in 18.0 and Link 2.0.6 but gives unexpected value errors in 18.2 and Link 3.0.19

To Reproduce Download attached zip file and put it in a directory such as c:\tmp\ ]link.create # c:\tmp\Err_Include_NS go

in 18.2/Link 3.0 get this first unexpected value error

Error: VALUE ERRORInit_Class[6] Init_Kat

Expected behaviour Everything to work as it does in Link 2.0.6

Desktop (please complete the following information): MS Windows 10 18.2.46880 64-bit Unicode

Additional context Please note the last value error is expected.

Err_Include_NS.zip

OK in 18.0.46880 with link 2.0.6, do not get the unexpected value errors

[EDIT] A workaround is to not have a Allgemein directory and put all those functions in a namespace text object named Allgemein.dyalog in the same directory as the classes.

dyavc commented 1 year ago

Also reproduces in Dyalog 19.0.46863 64-bit Unicode, BuildID 64462afc
Link 3.1.2

dyavc commented 1 year ago

Customer says about the workaround: "We didn´t use a scripted namespace, but single files in a folder, because in version control sysstems like Git or SVN it es then easier to see, what exactly has changed from version to version. Unfortunatelly this "benefit" will get lost with the workaround. But at least we have a workaround with this."

dyavc commented 1 year ago

will close this as it might not be a link issue, will log against Dyalog, issue 24055

no link repro: 2 ⎕fix 'file://c:\tmp\Err_Include_NS\person.aplc' 2 ⎕fix 'file://c:\tmp\Err_Include_NS\person_a.aplc' 2 ⎕fix 'file://c:\tmp\Err_Include_NS\go.aplf' 'Allgemein' ⎕ns '' )cs Allgemein 2 ⎕fix 'file://c:\tmp\Err_Include_NS\Allgemein\Init_Kat.aplf' 2 ⎕fix 'file://c:\tmp\Err_Include_NS\Allgemein\Init_LB.aplf' 2 ⎕fix 'file://c:\tmp\Err_Include_NS\Allgemein\ThisFn.aplf' go