bug-apl
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-apl] Tab completion doesn't track )ERASE


From: Juergen Sauermann
Subject: Re: [Bug-apl] Tab completion doesn't track )ERASE
Date: Tue, 28 Jun 2016 17:09:50 +0200
User-agent: Mozilla/5.0 (X11; Linux i686; rv:31.0) Gecko/20100101 Thunderbird/31.4.0

Hi David,

I have added a filter for unused and not localized names in the tab expansion,
SVN 759.

I am afraid there is no portable (in the sense that the ISO standard defines it) way to
)ERASE a name from the symbol table.

/// Jürgen


On 06/28/2016 08:37 AM, David B. Lamkins wrote:
I see. I had assumed (incorrectly) that )ERASE and ⎕EX have the same effect.

IIUC, the names interned by any definition are available to tab completion until they are )ERASEd, even if they are no longer associated with an APL object in the workspace. I noticed that tab completion sees even names that have only ever been available as localized names in a function.

Is there a portable way to unintern a name from the symbol table? The ISO standard doesn't seem to specify whether 

      ⍎')system_command ...'

should be supported.



On Mon, Jun 27, 2016 at 01:58:07PM +0200, Juergen Sauermann wrote:
Hi David,

⎕EX only deletes the current-referent of a name (= the name at the
top of the )SI stack) but not its global-referent.

If you use )ERASE instead of ⎕EX then tab-completion will recognize this.

/// Jürgen


On 06/27/2016 07:05 AM, David B. Lamkins wrote:

    Tab completion doesn't know that a symbol has been removed.

    In the following, <Tab> is the tab character.

          ⎕fx 'foo'
    foo
          f<Tab>
          ⎕ex 'foo'
    1
          ⎕nc 'foo'
    0
          f<Tab>
    VALUE ERROR
          foo
          ^





    


reply via email to

[Prev in Thread] Current Thread [Next in Thread]