Number: 30 Date: 16-Mar-84 23':58':47 Submitter: lispar.Auto Source: MOSTOW@USC-ISIF Subject: Masterscope parser mistranslates . xxx CALLS SET Assigned To: Attn: Masinter Status: Open In/By: Problem Type: Bug Impact: Moderate Difficulty: Hard Frequency: Everytime Priority: Unlikely System: Programming Environment Subsystem: Masterscope Machine: Disk: Lisp Version: Source Files: Microcode Version: Memory Size: File Server: Server Software Version: Disposition: Subject': Interlisp-D AR#30, Bad Masterscope SET template' To': MOSTOW@ISIF' cc': LispSUpport, Jellinek' ' This AR got entered as the result of your message of 9 Mar 84. I just dug it up in a review of "ancient/unfixed" ARs, and it turns out that the template for SET is OK, but the parser is confused.' ' If you say' ' 95←. SetEntries CALLS SET' ' ' it interprets it as ' ' . SetEntries CALLS ANY VAR SET BY ANY' ' ' which doesn''t make a lot of sense. If you said' ' . SetEntries CALLS ''SET' ' it gives a different response.' ' ' Description: ' Received': from USC-ISIF.ARPA by PARC-MAXC.ARPA; 9 MAR 84 18':38':29 PST' Date': 9 Mar 84 18':36 PST' Subject': another MS bug' From': Jack Mostow <MOSTOW@USC-ISIF.ARPA>' To': masinter.PA' ' Larry - MASTERSCOPE seems confused about its template for SET':' NIL' 92←PP(EntriesOf]' ' (EntriesOf' [LAMBDA (cache) **COMMENT** ' (EVAL cache])' (EntriesOf)' 93←. EntriesOf CALLS EVAL' T' 94←PP(SetEntries]' ' (SetEntries' [LAMBDA (cache entries) **COMMENT** ' (SET cache entries])' (SetEntries)' 95←. SetEntries CALLS SET' NIL' 96←GETTEMPLATE(SET]' ((IF (EQ (CAR (LISTP EXPR))' (QUOTE QUOTE))' (NIL SET)' EVAL)' EVAL . PPE)' 97←GETTEMPLATE(EVAL]' (EVALQT .. EVAL)' 98←. REANALYZE SetEntries' .done' 99←. SetEntries CALLS SET' NIL' 100←dribble]' NIL' 5←CALLS(SetEntries]' ((SET)' (cache entries)' NIL)' 6←. DESCRIBE SetEntries' SetEntries[cache,entries]' calls': SET' called by': DeleteEntry,MakeCache,FixAffectedCache,AddEntry' ' NIL' 7←dribble]' -------' ' As you can see, CALLS recognizes that SetEntries calls SET, while MASTERSCOPE' doesn''t. If I understand correctly, the template says to ignore cases where' the first argument is quoted, since those are equivalent to SETQ, but not to' ignore other cases. However, it seems to ignore them anyway. Regards. - Jack' Workaround: Test Case: Edit-By: Masinter Edit-Date: 17-Aug-84 21':25':31