Ric,

Thanks for reporting that bug. It has been fixed in beta-17 which is now
available at the download/jengine page.

On Fri, Nov 25, 2016 at 12:55 PM, Henry Rich <[email protected]> wrote:

> Agreed.
>
> Henry Rich
>
>
> On 11/25/2016 12:31 PM, Don Guinn wrote:
>
>> I guess I didn't understand the problem fully; however, (loc) will still
>> give the wrong answer if the script had been previously loaded and another
>> script since then.
>>
>> On Nov 25, 2016 10:15 AM, "Henry Rich" <[email protected]> wrote:
>>
>> I don't think this analysis is right.  (y) has always been defined when an
>>> explicit definition starts.  The bug in 8.05 was that the script index
>>> was
>>> not set.  Otherwise everything is as it was.
>>>
>>> The only effect of the preallocated symbol table is that the names y and
>>> x
>>> are assigned differently, for performance reasons.  This led to the
>>> omission of script index.
>>>
>>> Henry Rich
>>>
>>> On 11/25/2016 12:04 PM, Don Guinn wrote:
>>>
>>> (loc) took advantage that before the latest optimization in 805 that (y)
>>>> was undefined resulting in a return of _1 from (4!:4) . But now (y) is
>>>> defined by the time (4!:4) is executed. But if one is relying on a _n
>>>> from
>>>> 4!:4, why not just do ({:>4!:3'') ? But that would only work if the
>>>> script
>>>> was being loaded for the first time. If the script were loaded earlier,
>>>> then reloaded, it would not be the last filename in (4!:3) .
>>>>
>>>> It seems to me that a safer sequence to guarantee the filename of the
>>>> script would be:
>>>>
>>>> MYLOC=:0
>>>> MYLOC=:(4!:4<'MYLOC'){4!:3''
>>>>
>>>> This will work even if the script has been loaded previously.
>>>>
>>>> On Fri, Nov 25, 2016 at 9:29 AM, Henry Rich <[email protected]>
>>>> wrote:
>>>>
>>>> Yes, it's stored in the symbol table, but it's set when the value is
>>>>
>>>>> assigned - except for y[/x].
>>>>>
>>>>> Henry rich
>>>>>
>>>>> On 11/25/2016 10:19 AM, Raul Miller wrote:
>>>>>
>>>>> Isn't the 4!:4 value stored in the symbol table? (I have not yet
>>>>>
>>>>>> studied the code, I am just trying to think things through.)
>>>>>>
>>>>>> If so, shouldn't the 4!:4 value for y get set when the symbol table is
>>>>>> created (at verb definition time)? Or, at least, I cannot think of any
>>>>>> reason why it should get changed after that...
>>>>>>
>>>>>> If not, ... I guess I should go read the code if it's not stored
>>>>>> there.
>>>>>>
>>>>>> Thanks,
>>>>>>
>>>>>>
>>>>>> ------------------------------------------------------------
>>>>>> ----------
>>>>>>
>>>>> For information about J forums see http://www.jsoftware.com/forums.htm
>>>>>
>>>>> ----------------------------------------------------------------------
>>>>>
>>>> For information about J forums see http://www.jsoftware.com/forums.htm
>>>>
>>>> ----------------------------------------------------------------------
>>> For information about J forums see http://www.jsoftware.com/forums.htm
>>>
>> ----------------------------------------------------------------------
>> For information about J forums see http://www.jsoftware.com/forums.htm
>>
>
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to