Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!mcvax!ukc!jhma1 From: jhma1@ukc.ac.uk (J.H.M.Aldridge) Newsgroups: net.sources.bugs Subject: Bug in MicroEMACS 3.7 (and fix) Message-ID: <1789@eagle.ukc.ac.uk> Date: Tue, 19-Aug-86 09:39:06 EDT Article-I.D.: eagle.1789 Posted: Tue Aug 19 09:39:06 1986 Date-Received: Thu, 21-Aug-86 01:32:40 EDT Reply-To: jhma1@ukc.ac.uk (J.H.M.Aldridge) Organization: U of Kent at Canterbury, Canterbury, UK Lines: 30 [] If in MicroEMACS 3.7 you kill the special "[List]" buffer which holds the buffer list (obtained by ^X^B) and afterwards ask for the buffer list to be displayed then the program bombs out with "Segmentation fault: core dumped" and the terminal is left in raw mode. I have fixed this by adding a check in the killbuffer() function (in the file buffer.c) to test whether the buffer that is being deleted has the BFINVS flag bit set. If it does, then the buffer is not deleted. My fix is to alter the killbuffer function to include the following extra two lines: ... return (TRUE); +------------------- | if(bp->b_flag & BFINVS) /* Deal with special buffers */ | return (TRUE); /* by doing nothing. */ +------------------- return(zotbuf(bp)); ----- James Aldridge, jhma1@ukc.UUCP University of Kent, Canterbury, ...!mcvax!ukc!jhma1 Kent, U.K.