[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Gap buffer problem?
From: |
Eli Zaretskii |
Subject: |
Re: Gap buffer problem? |
Date: |
Wed, 11 Dec 2024 21:04:20 +0200 |
> Date: Wed, 11 Dec 2024 17:41:29 +0000
> From: Pip Cet <pipcet@protonmail.com>
> Cc: Gerd Möllmann <gerd.moellmann@gmail.com>, emacs-devel@gnu.org,
> ofv@wanadoo.es
>
> "Eli Zaretskii" <eliz@gnu.org> writes:
>
> > If it can be done by two processes, it can also be done by two threads
> > in the same process. Right?
>
> AFAIU: No, not right.
>
> I may have misunderstood, but if the idea is to preserve a consistent
> state of all Lisp data and buffer text for redisplay to use, the easiest
> way to ensure that consistency is fork(). The other ways, such as
> copying all heap objects that might be used by redisplay (and adjusting
> all internal pointers in such heap objects to point to the copy rather
> than the original data), probably will end up either being a lot slower
> or being very specific to the system we're running on.
How do you do the same in a forked process? The glyph matrices are
not allocated once, they are reallocated constantly. Are you going to
fork each time? And if you are, how is it different from copying
stuff lazily within the same process, exactly like the OS does with
forked processes?
> I know that implementing fork() on Windows is very slow, and I don't
> know about a comparable snapshotting mechanism for Windows.
I'm not talking about Windows, I'm talking about Posix systems.
Anyway, the fact that redisplay calls Lisp and Lisp calls back into
redisplay all but kills this idea. Gerd's document has also other
gotchas. We didn't just give up easily back when we discussed that.
- Re: Gap buffer problem?, (continued)
- Re: Gap buffer problem?, Pip Cet, 2024/12/11
- Re: Gap buffer problem?, Gerd Möllmann, 2024/12/11
- Re: Gap buffer problem?, Pip Cet, 2024/12/11
- Re: Gap buffer problem?, Gerd Möllmann, 2024/12/11
- Re: Gap buffer problem?, Eli Zaretskii, 2024/12/11
- Re: Gap buffer problem?, Gerd Möllmann, 2024/12/11
- Re: Gap buffer problem?, Robert Pluim, 2024/12/11
- Re: Gap buffer problem?, Gerd Möllmann, 2024/12/11
- Re: Gap buffer problem?, Eli Zaretskii, 2024/12/11
- Re: Gap buffer problem?, Pip Cet, 2024/12/11
- Re: Gap buffer problem?,
Eli Zaretskii <=
- Re: Gap buffer problem?, Pip Cet, 2024/12/11
- Re: Gap buffer problem?, Eli Zaretskii, 2024/12/11
- Re: Gap buffer problem?, Dmitry Gutov, 2024/12/11
- Re: Gap buffer problem?, Gerd Möllmann, 2024/12/11
- Re: Gap buffer problem?, Robert Pluim, 2024/12/12
- Re: Gap buffer problem?, Gerd Möllmann, 2024/12/12
- Re: Gap buffer problem?, Pip Cet, 2024/12/11
- Re: Gap buffer problem?, Gerd Möllmann, 2024/12/11
- Re: Gap buffer problem?, Marcus Harnisch, 2024/12/11
- Re: Gap buffer problem?, Dmitry Gutov, 2024/12/11