Subject: bug#17893: 24.4.50; (error "Marker does not point anywhere")

From: Andreas Schwab <[email-masked]>
Date: Mon, 27 Nov 2017 10:54:21 +0100

On Nov 27 2017, martin rudalics <[email-masked]> wrote:

> 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'

Indirect buffer != cloned buffer.  An indirect buffer is created by
make-indirect-buffer and shares the buffer text with the parent buffer.
A cloned buffer is created by clone-buffer, and is a new buffer
independent from its origin, with its own buffer text.

Andreas.

-- 
Andreas Schwab, SUSE Labs, [email-masked]
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."