Thank you. On Jun 28, 2016 8:09 AM, "Juergen Sauermann" <juergen.sauerm...@t-online.de> wrote:
> 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 > ^ > > > > > > >