Dyalog APL V17.0 Second Issue READ ME FIRST

This document contains the latest information about Dyalog APL Version 17.0.

This file is dyalog_readme.htm and is included in the help directory in the Dyalog installation.

Table of Contents


This section lists various changes and fixes which may affect your application. They have been made in 17.0 rather than in DSS updates since they involve a change in behaviour.


We recommend that you read both the Release Notes and the dyalog_readme. The documentation for 17.0 will be updated as required throughout the supported life of Dyalog 17.0; we recommend checking the links below to see if there is more recent documentation.

The online help can be found at http://help.dyalog.com/17.0; the PDFs etc can be found at http://docs.dyalog.com/17.0.

New In 17.0

3700Setting VScroll to a positive value should generate a DOMAIN ERROR.
9849With ⎕FR←645, ⌈/2⍴1e400 does not generate a DOMAIN ERROR (nor does ⌊/)
10493WIBNI the left argument of ⎕CY could be nested
11633Having created >2*14 .NET objects, APL syserrors with a syserror 128 creating a menuitem
13085WIBNI there were an event to verify grid cell contents before moving away from that cell
1402917.0: Remove JSON I-Beams
14141UNIX runtime: Cannot interrupt a function from RIDE
14441⎕NPUT append option
14625WIBNI ⎕NGET and ⎕NPUT could use any character set
1464500209 Remove write support for 32-bit component files
14749Error-caret position is ambiguous
14826mapl script: run aplkeys.sh by default
14858Switch to a more up to date version of zlib
1486400218 DECF - switch from DPD to BID
14893extend unique to higher-ranked arrays
14904When in ⍞ input TC should not do anything
14918BUILD_SE doesn't take DPI scaling into account when building sessions
14958APL takes far too long to return control to the user when the user interrupts execution with many items on the stack
14969Automatic naming of tempfiles
14998⎕CSV on a matrix unexpectedly turns 9145.11 into 9145.110000000001 in the CSV output file
15014Add POWER support for vector scalar dyadics
15095Unix builds: report "syserror" instead of "sys error"
15096Add an I-beam which returns the mapping which allows 200⌶ to be decoded
15103RIDE Exit message will not interrupt a busy interpreter
15166<TT> does not work in the tracer
15184Add 2000⌶19: Number of calls to ⎕WA and 2002⌶
15220VALUE_ERROR calling an included function when it's been included twice
15232context help for ⎕FIX doesn't work immediately after a dfn guard
15278Calling ⎕fix on a file which ends with ".dyalog" and which contains errors causes a syserror 999
15279Calling ⎕fix on a scripted namespace heirarchy containing variables and namespaces with the same name syserror 999s
15285TTY version: strange effects when there are TABs in session output
15335'jd'⎕WC'cursor' 'aplappleadsadsadsad' no longer generates a (LIMIT) error - and WIBNI ⎕DMX was more informative
15340APLMON reports DECF BID arguments as "reference"
15393⎕N-file errors - put out name of file when known
15394xref.dws:howdoireach needs a rewrite
15408Monadic ⍸ fails on an empty vector
15445⎕JSON-related ⎕DMX errors give additional information
15468Make ⎕FX more tolerant of Dels
15477Editor shows wrong type for non-scripted namespaces
15481⎕AI on non-Windows platforms appears to call getuid() each time, rather than caching the UID. The name is already cached.
15486)save fails due to threads with no suspended APL code
15488⎕FIX should report more useful information in ⎕DMX
15521WIBNI Dyalog for Linux statically linked libtinfo so that users did not have to install old libncurses 5 on their systems
15566⎕JSON is slow importing objects with names given in alphabetical order
15601syserror 999 if you try to apply ≠¨ monadically
15651Domain error in =¨ on refs
15656Incorrect value error when a shy result returning tradfn foo is called in a dfn like this +{foo} ⍬
15673Syserror: 999 code: 9 in 2 4 6 8≡⊃¨[array of futures]
15681⎕R/⎕S cannot insert ⎕UCS 0 with escape in transformation string
15705Autocomplete list may contain duplicates
15721RIDE protocol support for clearing all trace/stop/monitor bits in the workspace
15745Vector instructions for ARM NEON
15770Tracer: ticking the "Skip comment lines" option skips blank lines even if that option is not ticked
15771RIDE JSON library fails if presented with character data which cannot be UTF-8 encoded
15773local names autocomplete in a function but not in a method
15775Find Objects box defaults to searching in the session namespace. The default should be to not search there
15782Tracer changes size when it is changed into an editor window and back again with Classic style Single Trace windows
15785Saving or toggling Tree View or Line Numbers using shortcut scrolls window
15810buildse does not fully reset ⎕SE
15840Collapsible sections should not include trailing blank lines
15846Change SALT.Settings to SALT.170U64.Settings
15847Syserr 999 with ⍬ as transformation pattern for ⎕R in specific circumstances
15860Setting ⎕RL to invalid value can give error but still partially set it and leave it with an invalid value
15894NINFO properties 11 and 12 (readable/writable) should return -1 for directories
15896PL "Go back to previous location" keystroke does not bring the edit window it gives focus to to the top
15900User commands in [HOME]\Documents\MyUCMDs should automatically be activated
15901User commands in [HOME]/MyUCMDs should automatically be activated
15983Tracer can show the top lines of namespace script instead of the function in that script that is actually being traced
16003Configure>"Help / DMX" has stray spaces around the slash
16084⎕ED gets XML colouring wrong for vectors of character vectors with line breaks

Issues Fixed in Version 17.0 Reported in Earlier Versions of Dyalog APL

436Setting Readonly 0 on a Spinner with Items is silently ignored; ReadOnly is reset to 1, and cannot change text field
1363Changing the Caption of a MenuItem whose Style is Radio, can reset the Checked property and/or clear the bullet mark.
2796Referenced functions are not edited permanently if the function and the reference are in different namespaces
3940A class or namespace script will not fix if it contains a defined function which contains a Del inside a recursive dfn.
6356In Classic mode, the current line can jump down the window after editing the function and returning to the tracer.
7058The session font drop-down list sorts fonts in a case-sensitive order
7851LARGE ARRAYS: ⎕CR/⎕NR/⎕VR crashes when a fn name is too long
8092WIBNI value errors for undefined names had ⎕DMX info
8764Tracer: repeatedly hitting any of the continue/resume buttons results in docked tracer window getting progressively shorter
8838Add new sort idioms that support any non-scalar array
10497Creating a MenuItem object can syserror 128 after creating imagelists with over 16,000 named images.
11081Enhancement: Add a Select All MenuItem to the pop-up menu
11096SYNTAX ERROR on indexed assignment involving arrays in isolates
11222⍤ doesn't respect SYSFUZZ
11725Windows: Attempting to display a function with a header line of more than 1044000 characters generates a syserror
12785With a suspended function with localized ⎕IO in #, executing a threaded call in a namespace can change that namespace's ⎕IO
13039Nonsense result from dyadic iota with large boolean array on 32-bit
13107Improve the performance of editing scripted objects - most noticeable on ones with many lines
13207⎕STACK and ⎕LC do not report valid line numbers for embedded unnamed multiline dfns
13658⎕STATE of system variable does not follow the same rules as ordinary variables
13852''⎕WG(⊂⊂'TextSize') causes a syserror
14225There is no way to distinguish text and functions/operators in a train/derived fn
14342≢('x'⎕R'yy')'foo' '' '' is 2; should it be 3 ?
14408Weird result of {⎕DR ⍵}¨ a b where a is a double and b is a 128-bit decimal
14417aplmain.c seems to assume that any argument starting with -s other than -script is "-s" and is thus consumed
14439dyalog apl -script does not fail cleanly under Classic interpreters
14467Strange result from 2(⎕←+)3 when boxing is on
14538Unique (∪) can give a wrong answer when ⎕CT ≠ 0 and used on arrays of 11 or more very close floating point numbers
14539Hash table is not preserved and efficiently updated with R,←Y--this contradicts the 1500 ⌶ documentation
14658Syserror 97 after ⎕CY a workspace with a destructor into an unnamed namespace and later ⎕EX this namespace
14727Variant should accept an empty list of options
14839Remove Window|Language-Bar
14915Linux: odd permissions on directories in /opt/mdyalog
14921PCRE internal error -8 with large variable and a bad regular expression
15016Misleading error message if Microsoft Windows does not allow the user to access the system random number generator
15020⎕CSV "escape mechanism" enhancements
150248667⌶ issues error message about "GUI" when no GUI is present
15061Editor gets confused by extra :endsection when the scripted object has been ⎕FIXed
15072|0⍴⊂,' ' incorrectly fails with a domain error if ⎕FR is 1287 (but correctly does not error if ⎕FR is 645)
15080If some of the text in an Excel cell is italic or bold and the cell is copied to the clipboard, clipboard obj Array has a ⎕NULL
15087Infinite loop while working with a class with missing inherited shared properties
15142)ed opens edit windows on all words even those that are in a comment
15145Allow session above edit & trace windows causes value tip to get own tab on taskbar
15180Fixing a namespace script which has many classes inside it can sometimes be slow
15242Provide DMX information for LIMIT ERRORs related to Windows Resource Exhaustion
15320)reset of a workspace which has saved GUI and a SI stack inside it leads to a syserror 4
15331no error when a tradfn tries to return an operator
15465Accessing the indices incorrectly of a data binding source created with 2015⌶ can lead to a syserror
15541New ⎕CSV column type: numeric or empty, but not character.
15564Sometimes, cannot export a .NET assembly because ⎕SIZE gets the size wrong for a certain class
15616Inner product sometimes fails to check for domain errors
15617Rank special code often fails on non-arrays
15626Ranked functions often don't check for a rank limit error
15628Segfault in execute when left argument is ⎕NULL
15703enlist-selective assignment fails with non-empty prototypes
15789Invalid )save option results in an error message with an odd last character
16019Triggers can get trigger happy in scripted objects