|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|
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.
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 ^
|[Prev in Thread]||Current Thread||[Next in Thread]|