A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://lists.gnu.org/archive/html/emacs-devel/2022-11/msg00614.html below:

Re: master 2a7f01aa38: Fix initialization of module functions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] From: Stefan Monnier Subject: Re: master 2a7f01aa38: Fix initialization of module functions Date: Thu, 10 Nov 2022 13:32:47 -0500 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)
>> >> >  allocate_module_function (void)
>> >> >  {
>> >> >    return ALLOCATE_PSEUDOVECTOR (struct Lisp_Module_Function,
>> >> > -                                interactive_form, 
>> >> > PVEC_MODULE_FUNCTION);
>> >> > +                                command_modes, PVEC_MODULE_FUNCTION);
>> >> >  }
>> >> >  
>> >> >  #define XSET_MODULE_FUNCTION(var, ptr) \
>> >> 
>> >> Usually we accompany that with a comment in the struct stating "this
>> >> is the last GC-tracked field" or something like that.
>> >
>> > There's already such a comment, a few lines above.
>> 
>> The comment doesn't say which one is the last tracked field.
>
> ??? That's basic C, or what am I missing?

The commit 2a7f01aa38 fixes a bug introduced by commit 58e0c8ee86e2
which did (among other things:)

    @@ -548,7 +548,7 @@
     {
       union vectorlike_header header;
     
       /* Fields traced by GC; these must come first.  */
    -  Lisp_Object documentation, interactive_form;
    +  Lisp_Object documentation, interactive_form, command_modes;
     
       /* Fields ignored by GC.  */

so clearly the comment was not sufficiently clear for Lars to notice
that adding a field after `interactive_form` would introduce a bug.


        Stefan




RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4