Number: 867

Date: 30-Apr-84  8':57':05

Submitter: vanMelle

Source: vanMelle

Subject: FIXSPELL doesn''t MOVETOP except on spelling lists w/SPELLSTR1

Assigned To: Masinter

Attn: 

Status: Closed

In/By: Harmony

Problem Type: Bug

Impact: Serious

Difficulty: Easy

Frequency: Everytime

Priority: Perhaps

System: Programming Environment

Subsystem: Record Package

Machine: 

Disk: 

Lisp Version: 26-Apr-84 11':50':17

Source Files: 

Microcode Version: 5124

Memory Size: 4096

File Server: 

Server Software Version: 

Disposition: [I''ve also improved the performance of spelling correction some, and fixed it to be more extensible to new keyboards by allowing the ''closeness'' of keys to be handled thru a CASEARRAY, called SPELLCASE]'
["Sannella.PA" "21-Aug-84 18':45':42" Attn': Status':(Fixed->Closed) In/By':]

Description: '
I tried to declare a record with a subform (SYNONYMS --).  RECORD tried to fixspell this to SYNONYM S, which I declined, and then it said =SYNONYM.  This is all fine, but SYNONYM now vanished from CLISPRECORDTYPES, which caused all subsequent uses of SYNONYM to be not understood.'
'
It appears that the problem is that FIXSPELL is called with a spelling list which is a list some tail of which is CLISPRECORDTYPES.  This means that when FIXSPELL does its losing trick of moving the corrected guy to the front, it effectively removes the word from CLISPRECORDTYPES.  Simple fix is to set DONTMOVETOPFLG argument in the call to FIXSPELL.'
'
Alternatively, for a more general solution, change FIXSPELL to only do its move top thing on "real" spelling lists, i.e., ones that were set up for that to make sense.  A reasonable definition of "real spelling list" is one that contains the value of SPELLSTR1.

Workaround: 

Test Case: 

Edit-By: Sannella.PA

Edit-Date: 21-Aug-84 18':45':42