No; the simple testcase is

a =.'this';'is'
(1:@}. ; {.) a_:

a_: causes the 2-word list to be inplaceable.  {. creates a new block from a, and then a is passed into 1:@}. as an abandoned block.  The }. then creates its result as a virtual block.

The bug was that the code attempted to avoid the expense of incrementing the usecount of the abandoned block a by instead removing it from the list of blocks awaiting free; but in this case a is needed not for itself but because it is the backing block for the result of {. .  The fix was to increment the usecount of the abandoned block.

Henry Rich

On 7/1/2022 7:07 PM, Raul Miller wrote:
This suggests that <;._2 in cut internally uses {.  to generate its result?

Or have I misunderstood?

Thanks,



--
This email has been checked for viruses by AVG.
https://www.avg.com

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to