Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site rochester.UUCP Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!think!harvard!seismo!rochester!quiroz From: quiroz@rochester.UUCP (Cesar Quiroz) Newsgroups: net.sources.bugs Subject: Recent bug fix in XLISP Message-ID: <9871@rochester.UUCP> Date: Sun, 26-May-85 15:19:03 EDT Article-I.D.: rocheste.9871 Posted: Sun May 26 15:19:03 1985 Date-Received: Wed, 29-May-85 23:46:56 EDT Distribution: net Organization: U. of Rochester, CS Dept. Lines: 39 A few days ago, a fix was posted that can be summarized as follows: > A rather serious bug in XLISP causes it to get scrambled if a garbage > collection occurs at the wrong time. The following fix, provided by > the author, cures the problem. > > Try making the following changes to XLEVAL,XLCONT,XLOBJ in every place where > the variable 'oldnewenv' is mentioned: > > /* note that this is a 'NODE' not a 'NODE *' */ > NODE ... ,oldnewenv, ...; > > . > . > . > > oldstk = xlsave( ... ,&oldnewenv, ... ,NULL); > > . > . > . > > oldnewenv.n_ptr = xlnewenv; > > . > . > . > > xlnewenv = oldnewenv.n_ptr; > Sorry, but I can't find uses of 'oldnewenv' as a NODE and not a NODE *. (Or does it mean 'change all '*oldnewenv' into 'oldnewenv'?) Can somebody who figured this out please post a diff or something we can use to apply the fix? We have version 1.4, which I assume is the current one. Thanks, Cesar