bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#24368: 25.1; Assertion failure in attach_marker


From: martin rudalics
Subject: bug#24368: 25.1; Assertion failure in attach_marker
Date: Tue, 06 Sep 2016 18:09:58 +0200

> On second thought, I don't think attach_marker should be touched at
> all.  It is too low-level, and the assertions compile to nothing in a
> build without --enable-checking, so we will be left without any
> protection in the production version.

Right.  The init_iterator problem cannot be solved this way.

> Instead, I think the callers of attach_marker should make sure charpos
> and bytepos come from the same buffer, and are therefore in sync.  The
> patch below implements that; WDYT?

It fixes all issues I've encountered so far ;-)

> I agree that erroring out of goto-char in this case is sub-optimal at
> best.

Could we drop that restriction with your changes?  I'd rather have this
handled safely at one place only.

> I chose neither ;-)  The patch below seems to fix all of your test
> cases, including the original problem with window-state-get, even
> before it was fixed.  It also lifts the restriction on goto-char.
>
> Comments?

Install!

> P.S. After fixing the crashes and correcting window--state-get-1,
> running your original test case causes "C-x 1" stop working: it has no
> effect.  Looks like this is because Emacs thinks the window is the
> major non-side window, although actually I have *scratch* and *Help*,
> so the command ought to work.  Is this related or unrelated to the
> issue at hand?

I'm not sure what you mean with "stop working".  The idea is that C-x 1
when invoked in *scratch* should leave the *Help* window alone.  If you
split *scratch* via C-x 2 and after that you do C-x 1, only the other
*scratch* window should get deleted.  C-x 1 invoked in *Help* should
cause an error.

I'm currently trying to fix errors and write documentation on side
windows - that's how I stumbled into this marker issue in the first
place.

martin





reply via email to

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