GNU bug report logs - #77924
31.0.50; [Feature branch] Change marker implementation

Previous Next

Package: emacs;

Reported by: Gerd Möllmann <gerd.moellmann <at> gmail.com>

Date: Sat, 19 Apr 2025 16:06:02 UTC

Severity: normal

Found in version 31.0.50

Full log


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: Gerd Möllmann <gerd.moellmann <at> gmail.com>
Cc: pipcet <at> protonmail.com, monnier <at> iro.umontreal.ca, 77924 <at> debbugs.gnu.org, stefankangas <at> gmail.com
Subject: bug#77924: 31.0.50; [Feature branch] Change marker implementation
Date: Fri, 25 Apr 2025 10:45:23 +0300
> From: Gerd Möllmann <gerd.moellmann <at> gmail.com>
> Date: Fri, 25 Apr 2025 09:20:55 +0200
> Cc: pipcet <at> protonmail.com, monnier <at> iro.umontreal.ca, 77924 <at> debbugs.gnu.org,
>  stefankangas <at> gmail.com
> 
> 
> > On 25. Apr 2025, at 09:01, Eli Zaretskii <eliz <at> gnu.org> wrote:
> > 
> > 
> >> 
> >> From: Gerd Möllmann <gerd.moellmann <at> gmail.com>
> >> Cc: Eli Zaretskii <eliz <at> gnu.org>,  monnier <at> iro.umontreal.ca,
> >>  77924 <at> debbugs.gnu.org,  stefankangas <at> gmail.com
> >> Date: Thu, 24 Apr 2025 21:53:05 +0200
> >> 
> >> Pip Cet <pipcet <at> protonmail.com> writes:
> >> 
> >>> I think what we should do is mimic FOR_EACH_TAIL, and use
> >>> FOR_EACH_MARKER like this:
> >>> 
> >>> struct Lisp_Marker *m;
> >>> FOR_EACH_MARKER (b, m)
> >>>  {
> >>>    /* do something with m */
> >>>  }
> >> 
> >> We need an if somewhere for the MARKERP, don't we?
> > 
> > Why is that needed, btw?  Can't we change the representation and/or
> > the functions involved to avoid the need for such a test?
> 
> When markers are freed their entry in the market vector no longer contains a marker reference. 

I understand, but why does this need to be tested inside the loop?
Can't the loop itself know how many markers are in the vector, and
stop when they are exhausted?




This bug report was last modified 105 days ago.

Previous Next


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