Mercurial > emacs
comparison src/marker.c @ 85014:ad5045db16f7
(Fmarker_buffer): Make test for odd case into a failure.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Tue, 02 Oct 2007 21:05:39 +0000 |
parents | 922696f363b0 |
children | 107ccd98fa12 bdb3fe0ba9fa |
comparison
equal
deleted
inserted
replaced
85013:92fa2952cd73 | 85014:ad5045db16f7 |
---|---|
450 register Lisp_Object buf; | 450 register Lisp_Object buf; |
451 CHECK_MARKER (marker); | 451 CHECK_MARKER (marker); |
452 if (XMARKER (marker)->buffer) | 452 if (XMARKER (marker)->buffer) |
453 { | 453 { |
454 XSETBUFFER (buf, XMARKER (marker)->buffer); | 454 XSETBUFFER (buf, XMARKER (marker)->buffer); |
455 /* Return marker's buffer only if it is not dead. */ | 455 /* If the buffer is dead, we're in trouble: the buffer pointer here |
456 if (!NILP (XBUFFER (buf)->name)) | 456 does not preserve the buffer from being GC'd (it's weak), so |
457 return buf; | 457 markers have to be unlinked from their buffer as soon as the buffer |
458 is killed. */ | |
459 eassert (!NILP (XBUFFER (buf)->name)); | |
460 return buf; | |
458 } | 461 } |
459 return Qnil; | 462 return Qnil; |
460 } | 463 } |
461 | 464 |
462 DEFUN ("marker-position", Fmarker_position, Smarker_position, 1, 1, 0, | 465 DEFUN ("marker-position", Fmarker_position, Smarker_position, 1, 1, 0, |