From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Jess Balint Newsgroups: gmane.emacs.devel Subject: finalizers and dynamic modules Date: Mon, 15 Feb 2016 15:41:17 -0600 Message-ID: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=001a113ea5f0768e7c052bd5e0ce X-Trace: ger.gmane.org 1455572496 1971 80.91.229.3 (15 Feb 2016 21:41:36 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 15 Feb 2016 21:41:36 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Feb 15 22:41:35 2016 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1aVQtj-0000yE-2c for ged-emacs-devel@m.gmane.org; Mon, 15 Feb 2016 22:41:35 +0100 Original-Received: from localhost ([::1]:36481 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aVQti-0000na-7k for ged-emacs-devel@m.gmane.org; Mon, 15 Feb 2016 16:41:34 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:36211) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aVQtT-0000nQ-9m for emacs-devel@gnu.org; Mon, 15 Feb 2016 16:41:20 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aVQtS-0000sy-9F for emacs-devel@gnu.org; Mon, 15 Feb 2016 16:41:19 -0500 Original-Received: from mail-io0-x22e.google.com ([2607:f8b0:4001:c06::22e]:33240) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aVQtS-0000ss-4R for emacs-devel@gnu.org; Mon, 15 Feb 2016 16:41:18 -0500 Original-Received: by mail-io0-x22e.google.com with SMTP id z135so102054850iof.0 for ; Mon, 15 Feb 2016 13:41:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=QPwBLVqHCmea7qvd0ZwWiIE9JpuIdncK3ClnH6duSCw=; b=HWN8vpe6EPCpb7OseLE46H4R32X4hPpV1M8JkKahajZvaT3b3yLM8YmUfIdA6N58Ne qyf621r/NfjbjL93+OJ1flQJdya59yy8WitvI9hID9FtBxD3861KIBOMONOfIYamStt3 xykSmoAYg5z0tfV3STE7h3EVxbp2o2BcbWJIYYTGwwh5StiqtSlZMD4d8r+qACj68ceM 46AuS9abLHtoP+9Zf3/Vz60Xnrif8KanhB1lpgVeefR4ZrUZpLx1X0D39mwx8rIVc9A4 o11Ub6IobJocBf3xlTmfVl3LBi2/lNvP02hlM0pcl2YmNH8K68YaeXEFGM37BcltgWOn PUlg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:date:message-id:subject:from:to :content-type; bh=QPwBLVqHCmea7qvd0ZwWiIE9JpuIdncK3ClnH6duSCw=; b=DqYCo7xcqEwSOP6BjZcayE5ONJbhqOd/bSKBGqMc+X8emeHlDNbwXbp3TY1QT6V9w9 o3gOdpaRdWpXCrQK+GcifmGzrQx9lYiTVrkQO7YCDofbwvJPgzw/yYRww6XrMf1J2SWv y1FBVMECQzXUhyXR/dy22Eop78ozGL5tgg/aK9jJmU77ZHeCn/SvcGYmd8D2GwMRB0hN vH/v1BLGTFF5wyvrZR5irAphHvRzfeqBVB7I5QgKTmg/Yei1Y3/nU9IcdLTM/AWoVioF 4la1kV+6W03VUTgBoo49NFCaBzAfr++03JbhfVtobl2gIjNgVqIrWMZ8Zvewk5cw3JhO NpkQ== X-Gm-Message-State: AG10YOSDg6UjGZ+JtK+JlfFMdxt/q+fkLvW52wx5577dd8l+ftFd1UvYPnd1DfC2JfwKIAo1Vu9yIFYp3vVJqQ== X-Received: by 10.107.135.202 with SMTP id r71mr15767002ioi.62.1455572477446; Mon, 15 Feb 2016 13:41:17 -0800 (PST) Original-Received: by 10.64.223.105 with HTTP; Mon, 15 Feb 2016 13:41:17 -0800 (PST) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2607:f8b0:4001:c06::22e X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 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.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:199994 Archived-At: --001a113ea5f0768e7c052bd5e0ce Content-Type: text/plain; charset=UTF-8 Hi! Dynamic modules are really cool so far, but I think finalizers should not be mandatory (alloc.c): #ifdef HAVE_MODULES else if (mblk->markers[i].m.u_any.type == Lisp_Misc_User_Ptr) { struct Lisp_User_Ptr *uptr = &mblk->markers[i].m.u_user_ptr; uptr->finalizer (uptr->p); <----- should NULL-check first } #endif https://github.com/emacs-mirror/emacs/blob/master/src/alloc.c#L6893 thanks. Jess --001a113ea5f0768e7c052bd5e0ce Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi!

Dynamic modules are really cool so = far, but I think finalizers should not be mandatory (alloc.c):
#ifdef HAVE_MODULES
=C2=A0 =C2=A0 =C2=A0else if (mblk->markers[i].m= .u_any.type =3D=3D Lisp_Misc_User_Ptr)
{
=C2=A0struct Lisp_User_Ptr *uptr =3D &mblk->markers[= i].m.u_user_ptr;
=C2=A0uptr->finalizer (uptr->p); <----- should NULL-check fir= st
}
#endif


than= ks.

Jess
--001a113ea5f0768e7c052bd5e0ce--