From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Dynamic loading progress Date: Thu, 15 Oct 2015 18:38:20 +0300 Message-ID: <83pp0g87mb.fsf@gnu.org> References: <83pp9cwky8.fsf@gnu.org> <85a90ggf2d.fsf@stephe-leake.org> <54E0A40F.5080603@dancol.org> <83sie7un20.fsf@gnu.org> <54E0D181.2080802@dancol.org> <83r3trulse.fsf@gnu.org> <54E0D7E0.305@87.69.4.28> <83h9unukbg.fsf@gnu.org> <54E0DEF8.7020901@dancol> <83egpruiyp.fsf@gnu.org> <54E0FF93.2000104@dancol.org> <5610ED13.1010406@dancol.org> <56117F37.9060808@dancol.org> <837fn127aj.fsf@gnu.org> <83pp0gx355.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1444923593 8142 80.91.229.3 (15 Oct 2015 15:39:53 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 15 Oct 2015 15:39:53 +0000 (UTC) Cc: aurelien.aptel+emacs@gmail.com, p.stephani2@gmail.com, dancol@dancol.org, stephen_leake@stephe-leake.org, emacs-devel@gnu.org To: Andreas Schwab Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Oct 15 17:39:47 2015 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 1Zmkd7-0003Yf-Ub for ged-emacs-devel@m.gmane.org; Thu, 15 Oct 2015 17:39:46 +0200 Original-Received: from localhost ([::1]:48189 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zmkd7-0007gz-Ee for ged-emacs-devel@m.gmane.org; Thu, 15 Oct 2015 11:39:45 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:53534) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zmkbz-0007dd-DN for emacs-devel@gnu.org; Thu, 15 Oct 2015 11:38:36 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Zmkbv-0007ci-7y for emacs-devel@gnu.org; Thu, 15 Oct 2015 11:38:35 -0400 Original-Received: from mtaout25.012.net.il ([80.179.55.181]:60077) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zmkbv-0007cB-0H for emacs-devel@gnu.org; Thu, 15 Oct 2015 11:38:31 -0400 Original-Received: from conversion-daemon.mtaout25.012.net.il by mtaout25.012.net.il (HyperSendmail v2007.08) id <0NW900800PRQN800@mtaout25.012.net.il> for emacs-devel@gnu.org; Thu, 15 Oct 2015 18:35:54 +0300 (IDT) Original-Received: from HOME-C4E4A596F7 ([84.94.185.246]) by mtaout25.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NW90029JPZUO060@mtaout25.012.net.il>; Thu, 15 Oct 2015 18:35:54 +0300 (IDT) In-reply-to: X-012-Sender: halo1@inter.net.il X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 80.179.55.181 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:191645 Archived-At: > From: Andreas Schwab > Cc: Philipp Stephani , aurelien.aptel+emacs@gmail.com, dancol@dancol.org, stephen_leake@stephe-leake.org, emacs-devel@gnu.org > Date: Thu, 15 Oct 2015 09:00:35 +0200 > > >> If you need to wrap a pointer in a Lisp_Object, we have XIL and XLI > >> macros for that. > >> > >> > >> These are no-ops in my version of lisp.h: > >> > >> # define lisp_h_XLI(o) (o) > >> # define lisp_h_XIL(i) (i) > >> > >> Unless I'm misunderstanding something, these macros can't be used to wrap > >> pointers in the general case. > > > > We do that all the time, so I don't understand why you understand > > that. Please elaborate. > > You can only use them for pointers that are known to fit in the range of > Lisp_Int, ie. all tag bits clear. This is true for all lisp object > pointers (obviously), but not for other pointers. For boxing arbitrary > pointers we have Lisp_Save_Value. Right, for pointers to simple data types, like 'char', 'short', 'int', etc., one needs to use Lisp_Save_Value. For pointers to struct's, XLI and XIL will do the job on the supported platforms.