emacs-devel
[Top][All Lists]
Advanced

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

Re: Calling Lisp from undo.c's record_* functions


From: Phillip Lord
Subject: Re: Calling Lisp from undo.c's record_* functions
Date: Tue, 17 Nov 2015 21:05:43 +0000
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

Eli Zaretskii <address@hidden> writes:
>> So I think moving the call to run_undoable_change into
>> prepare_to_modify_buffer is n attractive solution to this problem, since
>> it preserves the use of Elisp, and it probably also simplifies the code
>> (since we can remove most/all other calls to run_undoable_change).
>
> Did you take a look at subst-char-in-region?  It calls
> prepare_to_modify_buffer from within a loop which seems to assume that
> (a) gap position doesn't move, and (b) that pointer into buffer text
> is valid across the call to prepare_to_modify_buffer.  GC could
> invalidate both assumptions, no?

This function also signals before-change and after-change values which
don't match, so feel free to rewrite it! It's on my list of things to
do, but it will take me a while.

Phil



reply via email to

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