Number: 1964

Date: 27-Aug-84 17':08':53

Submitter: Sannella.PA

Source: JonL.pa

Subject: Document/support "proper" interface to DWIMIFY

Assigned To: 

Attn: 

Status: Open

In/By: 

Problem Type: Documentation

Impact: Moderate

Difficulty: 

Frequency: 

Priority: Unlikely

System: Programming Environment

Subsystem: DWIM

Machine: 1108

Disk: 

Lisp Version: 23-Aug-84 18':52':49

Source Files: 

Microcode Version: 5124

Memory Size: 3071

File Server: 

Server Software Version: 

Disposition: '
["Sannella.PA" "27-Aug-84 17':27':23" Description':]

Description: '
Date': 21 Aug 84 04':55 PDT'
From': JonL.pa'
Subject': Lisp': Compiler incorrectly "fixes" the spelling of a local variable'
To': LispSupport.pa'
cc': Masinter,JonL.pa'
'
Lisp System Date': 15-Aug-84 20':42':17'
Machine': Dorado (PASTEUR)'
Microcode version': 24,4'
Memory size': 10000'
Frequency': Always '
Impact':  Serious'
'
In the file {eris}<lispcore>library>SNOOPY, there is a function \SAS.INCREMENT with two lambda vars': AHIST and ASIZES.  When I set NOSPELLFLG to NIL, and compiled that file, it would consistently'
  1) incorrectly change one, but not both, of the instances of ASIZES in \SAS.INCREMENT to be SIZES'
  2) Apparently not call MARKASCHANGED when doing so (at least DEdit didn''t ''grey out'' its window.'
'
-- JonL --'
'
-----'
'
Date': 21 Aug 84 10':47 PDT'
From': Masinter.pa'
Subject': Re': Lisp': Compiler incorrectly "fixes" the spelling of a local variable'
In-reply-to': JonL.pa''s message of 21 Aug 84 04':55 PDT'
To': JonL.pa'
cc': LispSupport.pa, Masinter.pa'
'
This one should be marked ATTN': JonL.'
'
The problem is the call to DWIMIFY in \LISPFORM.SIMPLIFY (called by \NoSissyASETexpander in CMLARRAY) does not supply DWIMIFY with enough context to know what the ''variable context'' is. It also doesn''t pass enough context to tell DWIMIFY what function is being DWIMIFYed at that point, and so changes can''t be posted to the appropriate function.'
'
The ''proper'' interface to DWIMIFY is unfortunately not documented (or ''supported''). I think I''ve managed to get the right call to DWIMIFY under the compiler thru trial and error (under COMPILEUSERFN), but I''m not sure how it works at this point.'
'
Perhaps the simplest thing is to take the call to DWIMIFY out of \LISPFORM.SIMPLIFY.'
'
-----'
'
Date': 21 Aug 84 18':33 PDT'
From': JonL.pa'
Subject': Re': Lisp': Compiler incorrectly "fixes" the spelling of a local variable'
In-reply-to': Masinter.pa''s message of 21 Aug 84 10':47 PDT'
To': Masinter.pa'
cc': JonL.pa, LispSupport.pa'
'
Unfortunately, it''s not possible to ignore DWIMIFY.  If it only handled the crufty clispenglish, or clisp syntax, then maybe; but many things which ought to be macros are in face CLISPWORDs, and must be expanded by DWIMIFY (as apposed to EXPANDMACRO).'
'
Any help on the interface to DWIMIFY would be greatly appreciated.'
'
-- JonL --'
'
'


Workaround: 

Test Case: 

Edit-By: Sannella.PA

Edit-Date: 27-Aug-84 17':27':26