home *** CD-ROM | disk | FTP | other *** search
/ ProfitPress Mega CDROM2 …eeware (MSDOS)(1992)(Eng) / ProfitPress-MegaCDROM2.B6I / PROG / MISC / XLSP21TC.ZIP / XL-001.BUG / text0001.txt < prev   
Encoding:
Text File  |  1991-04-14  |  1.6 KB  |  43 lines

  1. In article <3468@hplabsz.HPL.HP.COM> mayer@hplabs.hp.com (Niels Mayer) writes:
  2. >It looks like garbage collection is trashing a pointer somewhere when using
  3. >make-string-input-stream running read-char on that stream. A[...]
  4.  
  5. >I'm going to try to track this down in the code, but I thought I'd tap your
  6. >collective wisdoms on this problem. Maybe someone's already fixed it?  [...]
  7.  
  8. Yes the fix has been posted.  An abridged copy is appended to this posting.
  9.  
  10. Tom Almy
  11. toma@tekgvs.labs.tek.com
  12. Standard Disclaimers Apply
  13.  
  14. ----------------------- OLD POSTING FOLLOWS --------------------------
  15.  
  16. From: nikkie@dutesta.UUCP (Paul A.W. van Niekerk)
  17. Newsgroups: comp.lang.lisp.x
  18. Subject: two bugs with unnamed streams in xlisp 2.0
  19. Date: 16 Dec 88 15:13:26 GMT
  20. Organization: DELFT UNIVERSITY OF TECHNOLOGY
  21.               Faculty of Electrical Engineering
  22.               Computer architecture and Digital Technique
  23.               Mekelweg 4   -   2628 CD  Delft
  24.  
  25. I discovered two bugs in my copy of xlisp 2.0 concerning unnamed streams.
  26. The bugs + fixes follow.
  27.  
  28. 1. Unnamed streams never survive a garbage collection. 
  29.    Fix: in xldmem.c change in function mark the line:
  30.     if ((type = ntype(this)) == CONS) {
  31.    to
  32.     if ((type = ntype(this)) == CONS || type == USTREAM) {
  33.  
  34. 2. (format nil ...) does not protect the unnamed stream it creates, it will
  35.    vanish during a GC.
  36.    Fix: in xlfio.c add to function xformat the lines:
  37.     xlsave1(val);
  38.     ...
  39.     xlpop();
  40.  
  41. NOTES: xlsave1(val) is being passed an uninitialized value! where do the 
  42.        above xlsave1/xlpop go? pop before return? 
  43.