Number: 514 Date: 5-Apr-84 11':12':55 Submitter: Sannella.PA Source: vanMelle.pa Subject: (CLOSEF ) doesn''t call WHENCLOSE operations Assigned To: Attn: Kaplan.pa Status: Fixed In/By: Problem Type: Bug Impact: Moderate Difficulty: Frequency: Everytime Priority: Hopefully System: Operating System Subsystem: Generic File Operations Machine: Disk: Lisp Version: Source Files: Microcode Version: Memory Size: File Server: Server Software Version: Disposition: ' ["Kaplan" "15-Sep-84 03':18':18" Status':(Open->Fixed) Description':] Description: ' Date': 4 Apr 84 11':45 PST' From': vanMelle.pa' Subject': Lisp': WHENCLOSE does not notice CLOSEF of STREAM' To': LispSupport.pa' cc': vanMelle.pa' ' Lisp System Date': 29-Mar-84 17':34':40' Machine': Dorado (Archimedes)' Microcode version': 24,4' Memory size': 10000' Frequency': Always' Impact': Moderate' ' If you CLOSEF a stream directly, rather than calling CLOSEF on the stream''s fullname, any WHENCLOSE operations do not get called, and properties on the stream''s fullname linger. For example, if you say (WHENCLOSE ''AFTER ''CleanupFn), and then (CLOSEF ), CleanupFn never gets run, and fullname still has an AFTERCLOSE prop of (CleanupFn).' ' Probably need to rethink WHENCLOSE anyway, since streams no longer are guaranteed to have litatom fullnames. And WHENCLOSE EOF should probably interact with the stream''s ENDOFSTREAMOP.' ' Bill' ' ----' Larry fixed this': now hangs the WHENCLOSE properties via STREAMPROP.' ' --Ron' Workaround: Test Case: Edit-By: Kaplan Edit-Date: 15-Sep-84 03':18':18