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: David B. Lamkins
Subject: Re: [Bug-apl] Tab completion doesn't track )ERASE
Date: Mon, 27 Jun 2016 23:37:19 -0700
User-agent: Mutt/1.6.1 (2016-04-27)

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]