GNU bug report logs - #76538
31.0.50; 31.0.50; 31.0.50; feature/igc: using magit-section-cycle-global (S-TAB) and magit-section-toggle (TAB) in some random ways blocks GNU Emacs.

Previous Next

Package: emacs;

Reported by: João Moreira <joaomoreira <at> gmx.se>

Date: Tue, 25 Feb 2025 03:42:01 UTC

Severity: normal

Found in version 31.0.50

Full log


Message #110 received at 76538 <at> debbugs.gnu.org (full text, mbox):

From: Gerd Möllmann <gerd.moellmann <at> gmail.com>
To: Helmut Eller <eller.helmut <at> gmail.com>
Cc: pipcet <at> protonmail.com, Ihor Radchenko <yantar92 <at> posteo.net>,
 Stefan Monnier <monnier <at> iro.umontreal.ca>, joaomoreira <at> gmx.se,
 76538 <at> debbugs.gnu.org, Eli Zaretskii <eliz <at> gnu.org>
Subject: Re: bug#76538: 31.0.50; 31.0.50; 31.0.50; feature/igc: using
 magit-section-cycle-global (S-TAB) and magit-section-toggle (TAB) in some
 random ways blocks GNU Emacs.
Date: Mon, 03 Mar 2025 06:58:10 +0100
Helmut Eller <eller.helmut <at> gmail.com> writes:

> On Fri, Feb 28 2025, Gerd Möllmann wrote:
>
>> +static void
>> +unchain (struct Lisp_Vector *v, int slot)
>> +{
>> +  IGC_MA_MARKER (v, slot) = IGC_MA_FREE_LIST (v);
>> +  IGC_MA_FREE_LIST (v) = make_fixnum (slot);
>> +
>> +  int prev = XFIXNUM (IGC_MA_PREV (v, slot));
>> +  if (prev >= 0)
>> +    IGC_MA_NEXT (v, prev) = IGC_MA_NEXT (v, slot);
>> +  else
>> +    IGC_MA_HEAD (v) = IGC_MA_NEXT (v, slot);
>> +
>> +  int next = XFIXNUM (IGC_MA_NEXT (v, slot));
>> +  if (next >= 0)
>> +    IGC_MA_PREV (v, next) = IGC_MA_PREV (v, slot);
>> +}
>
> Doing this in the collector looks quite risky.  It seems to assume that
> the mutator is not in the middle of reading from or writing to any of
> the involved slots.
>

Do you have a concrete scenario in mind?




This bug report was last modified 106 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.