From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: How to add pseudo vector types Date: Sat, 24 Jul 2021 20:46:38 +0300 Message-ID: <83lf5vy58h.fsf@gnu.org> References: <83h7gw6pyj.fsf@gnu.org> <45EBF16A-C953-42C7-97D1-3A2BFEF7DD01@gmail.com> <83y2a764oy.fsf@gnu.org> <83v95b60fn.fsf@gnu.org> <00DD5BFE-D14E-449A-9319-E7B725DEBFB3@gmail.com> <83r1fz5xr9.fsf@gnu.org> <1AAB1BCC-362B-4249-B785-4E0530E15C60@gmail.com> <83czri67h0.fsf@gnu.org> <46BBFF88-76C3-4818-8805-5437409BEA93@gmail.com> <83wnpq46uk.fsf@gnu.org> <533BD53B-4E85-4E9E-B46A-346A5BBAD0F5@gmail.com> <258CB68D-1CC1-42C8-BDCD-2A8A8099B783@gmail.com> <1a776770-50b7-93cd-6591-c9a5b3a56eb8@gmail.com> <8335s64v10.fsf@gnu.org> <5380C92B-6C15-4490-A1E0-1C3132DBB16A@gmail.com> <83k0li2shw.fsf@gnu.org> <83eebq2mpy.fsf@gnu.org> <83lf5w26e3.fsf@gnu.org> <838s1vzp9i.fsf@gnu.org> <83pmv7y6fx.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="5780"; mail-complaints-to="usenet@ciao.gmane.io" Cc: cpitclaudel@gmail.com, monnier@iro.umontreal.ca, emacs-devel@gnu.org To: Yuan Fu Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat Jul 24 19:47:29 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1m7LkH-0001Im-NI for ged-emacs-devel@m.gmane-mx.org; Sat, 24 Jul 2021 19:47:29 +0200 Original-Received: from localhost ([::1]:58250 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1m7LkG-0007O7-ED for ged-emacs-devel@m.gmane-mx.org; Sat, 24 Jul 2021 13:47:28 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:39186) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m7Ljf-0006j9-Nm for emacs-devel@gnu.org; Sat, 24 Jul 2021 13:46:51 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:46732) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1m7Ljf-0001sV-FU; Sat, 24 Jul 2021 13:46:51 -0400 Original-Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:1320 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m7Ljf-0007Ss-2p; Sat, 24 Jul 2021 13:46:51 -0400 In-Reply-To: (message from Yuan Fu on Sat, 24 Jul 2021 13:40:28 -0400) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:271568 Archived-At: > From: Yuan Fu > Date: Sat, 24 Jul 2021 13:40:28 -0400 > Cc: Stefan Monnier , > Clément Pit-Claudel , > emacs-devel@gnu.org > > How does TS propose the client projects to do that? Are you saying > that the only way to replace its malloc is to recompile tree-sitter?? > > Here is the relevant lines in alloc.h in tree-sitter: > > // Allow clients to override allocation functions > > #ifndef ts_malloc > #define ts_malloc ts_malloc_default > #endif > #ifndef ts_calloc > #define ts_calloc ts_calloc_default > #endif > #ifndef ts_realloc > #define ts_realloc ts_realloc_default > #endif > #ifndef ts_free > #define ts_free ts_free_default > #endif > > I’m not a C expert, does this allow us to replace its malloc in runtime? No, not AFAIU. It only allows to make such changes when TS is compiled. We should ask the TS developers to provide a way of specifying custom memory allocation/release function as part of TS initialization. It is a feature many packages provide.