[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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

From: martin rudalics
Subject: bug#17893: 24.4.50; (error "Marker does not point anywhere")
Date: Mon, 27 Nov 2017 09:50:17 +0100

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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]