Mercurial > emacs
comparison src/alloc.c @ 55635:333119854d83
(mark_object): Mark Lisp_Misc_Free cell. Fix comment.
author | Kim F. Storm <storm@cua.dk> |
---|---|
date | Mon, 17 May 2004 15:20:16 +0000 |
parents | d3542bbadad7 |
children | 57f4a242e8f4 |
comparison
equal
deleted
inserted
replaced
55634:d3542bbadad7 | 55635:333119854d83 |
---|---|
4977 | 4977 |
4978 case Lisp_Misc: | 4978 case Lisp_Misc: |
4979 if (XMISCTYPE (obj) == Lisp_Misc_Free) | 4979 if (XMISCTYPE (obj) == Lisp_Misc_Free) |
4980 { | 4980 { |
4981 /* This is (probably) a freed marker which may still exist on | 4981 /* This is (probably) a freed marker which may still exist on |
4982 a buffer undo list, so accept it here. */ | 4982 a buffer undo list, so accept it here, as check below will |
4983 /* If we reuse the marker, and it still exists on the undo | 4983 fail (not live). KFS 2004-05-17 */ |
4984 list, and we do undo, behaviour is unpredictable -- | 4984 XMARKER (obj)->gcmarkbit = 1; |
4985 but at least we don't crash here. KFS 2004-05-17 */ | |
4986 break; | 4985 break; |
4987 } | 4986 } |
4988 CHECK_ALLOCATED_AND_LIVE (live_misc_p); | 4987 CHECK_ALLOCATED_AND_LIVE (live_misc_p); |
4989 if (XMARKER (obj)->gcmarkbit) | 4988 if (XMARKER (obj)->gcmarkbit) |
4990 break; | 4989 break; |