GNU bug report logs -
#17893
24.4.50; (error "Marker does not point anywhere")
Previous Next
Reported by: Drew Adams <drew.adams <at> oracle.com>
Date: Tue, 1 Jul 2014 21:12:01 UTC
Severity: normal
Found in version 24.4.50
Done: Stefan Monnier <monnier <at> iro.umontreal.ca>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
> When a buffer is deleted, all the markers that point to it get their
> buffer wiped out, so I think the above method cannot work, unless you
> replace all NULL buffer pointers with the cloned buffer -- which will
> probably be too much.
>
> And remember that markers without any buffer do not get adjusted, so
> their position will quickly become incorrect or even outside the
> cloned buffer's text, and then such markers will become useless. So
> we cannot delay this until the marker is accessed by some Lisp.
Note that I've been referring only to your earlier
The problem I was thinking of is when buffer-local variables in buffer
A hold markers whose buffer is A; then we clone buffer B from A, and
then we kill buffer A. Now the markers in the cloned buffer point to
a dead buffer (or actually point nowhere).
I'm not sure why this can be a problem because when we delete a base
buffer then the manual says that
Killing the base buffer effectively kills the indirect buffer in that
it cannot ever again be the current buffer.
but in fact we kill any indirect buffer before killing its base buffer.
Or I'm misreading the code of `kill-buffer'
martin
This bug report was last modified 7 years and 179 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.