* Re: master 2a7f01aa38: Fix initialization of module functions [not found] ` <20221110105556.B16E8C0E4C9@vcs2.savannah.gnu.org> @ 2022-11-10 14:06 ` Stefan Monnier 2022-11-10 15:23 ` Eli Zaretskii 0 siblings, 1 reply; 5+ messages in thread From: Stefan Monnier @ 2022-11-10 14:06 UTC (permalink / raw) To: emacs-devel; +Cc: Eli Zaretskii > 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. Stefan ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: master 2a7f01aa38: Fix initialization of module functions 2022-11-10 14:06 ` master 2a7f01aa38: Fix initialization of module functions Stefan Monnier @ 2022-11-10 15:23 ` Eli Zaretskii 2022-11-10 17:44 ` Stefan Monnier 0 siblings, 1 reply; 5+ messages in thread From: Eli Zaretskii @ 2022-11-10 15:23 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel > From: Stefan Monnier <monnier@iro.umontreal.ca> > Cc: Eli Zaretskii <eliz@gnu.org> > Date: Thu, 10 Nov 2022 09:06:35 -0500 > > > 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. ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: master 2a7f01aa38: Fix initialization of module functions 2022-11-10 15:23 ` Eli Zaretskii @ 2022-11-10 17:44 ` Stefan Monnier 2022-11-10 18:13 ` Eli Zaretskii 0 siblings, 1 reply; 5+ messages in thread From: Stefan Monnier @ 2022-11-10 17:44 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel Eli Zaretskii [2022-11-10 17:23:52] wrote: >> From: Stefan Monnier <monnier@iro.umontreal.ca> >> Cc: Eli Zaretskii <eliz@gnu.org> >> Date: Thu, 10 Nov 2022 09:06:35 -0500 >> >> > 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. Stefan ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: master 2a7f01aa38: Fix initialization of module functions 2022-11-10 17:44 ` Stefan Monnier @ 2022-11-10 18:13 ` Eli Zaretskii 2022-11-10 18:32 ` Stefan Monnier 0 siblings, 1 reply; 5+ messages in thread From: Eli Zaretskii @ 2022-11-10 18:13 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel > From: Stefan Monnier <monnier@iro.umontreal.ca> > Cc: emacs-devel@gnu.org > Date: Thu, 10 Nov 2022 12:44:56 -0500 > > Eli Zaretskii [2022-11-10 17:23:52] wrote: > > >> > 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? Anyway, feel free to add whatever comment you want, you don't need to convince me (in this case). ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: master 2a7f01aa38: Fix initialization of module functions 2022-11-10 18:13 ` Eli Zaretskii @ 2022-11-10 18:32 ` Stefan Monnier 0 siblings, 0 replies; 5+ messages in thread From: Stefan Monnier @ 2022-11-10 18:32 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel >> >> > 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 ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2022-11-10 18:32 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <166807775643.29181.14745596143667535171@vcs2.savannah.gnu.org> [not found] ` <20221110105556.B16E8C0E4C9@vcs2.savannah.gnu.org> 2022-11-10 14:06 ` master 2a7f01aa38: Fix initialization of module functions Stefan Monnier 2022-11-10 15:23 ` Eli Zaretskii 2022-11-10 17:44 ` Stefan Monnier 2022-11-10 18:13 ` Eli Zaretskii 2022-11-10 18:32 ` Stefan Monnier
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/emacs.git https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.