Number: 514 Date: 5-Apr-84 11':12':55 Submitter: Sannella.PA Source: vanMelle.pa Subject: (CLOSEF <stream>) 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 <stream> ''AFTER ''CleanupFn), and then (CLOSEF <stream>), CleanupFn never gets run, and <stream''s> 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