emacs-devel
[Top][All Lists]
Advanced

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

Re: transpose-regions


From: Chong Yidong
Subject: Re: transpose-regions
Date: Fri, 23 Mar 2007 10:09:48 -0400
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.96 (gnu/linux)

address@hidden (Kim F. Storm) writes:

>>> The problem seems to be that a cons cell that has already been
>>> garbage-collected is being passed to Fcopy_sequence during
>>> copy_properties(), in intervals.c:106.  Where did this cons cell come
>>> from?
>>>
>>>   target->plist = Fcopy_sequence (source->plist);
>>>
>>> Is the garbage collector somehow failing to account for cons cells
>>> assigned to interval plists?
>>
>> Unlikely, what would be a too obvious bug to remain unnoticed until now
>> (and mark_interval indeed does mark the plist).  More likely that the
>> whole interval is not being marked in the first place.  The function uses
>> the local variables tmp_interval[12] that are copies of the buffer
>> intervals, perhaps they need to be protected from GC?
>
> There's only a need to GC around a called function if that
> function can actually do GC, i.e. if calling the function may
> eventually call Feval or run byte code.  Where is that possible?
>
> Besided, a native windows build uses conservative stack marking,
> so it is not necessary to explicitly protect from GC (on that
> platform).   ut was this a native or a cygwin build?
>
> Perhaps the conservative stack marking does not work properly on 
> WindowsME  (does anything work properly on ME?)

I'm running on GNU/Linux with the latest CVS.




reply via email to

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