[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Dynamic loading progress
From: |
Eli Zaretskii |
Subject: |
Re: Dynamic loading progress |
Date: |
Sun, 15 Feb 2015 21:28:29 +0200 |
> From: Stephen Leake <address@hidden>
> Date: Sun, 15 Feb 2015 13:09:25 -0600
>
> > That "metainfo", whatever it will be, will also have to support
> > compilation of modules: we need to know at compile time what values of
> > USE_LSB_TAG, ENABLE_CHECKING, WIDE_EMACS_INT, optimization flags,
> > etc. were used when Emacs was built, because those affect the layout
> > of objects inside Emacs and also the availability of certain functions
> > in the Emacs binary.
>
> Right.
>
> One solution is to only distribute source, and provide an elisp function
> 'module-make' (suggested by Stefan) that provides command-line options
> to a module makefile for all of those settings.
That's a beginning, but it cannot be all there is to, because modules
should be distributable in binary form as well, at least some Linux
distributions will probably want that.
> So let's take a stab at something closer to your approach.
>
> I'm not familiar with the idioms for making an opaque type in C; would
> that just be a pointer to void? something like:
>
> typedef void* Lisp_Object_Ptr;
I'd go with
typedef intmax_t Lisp_Object;
This should be wide enough to hold both a pointer and the widest
integer type, although I think its being wide enough for a pointer is
not guaranteed by the C standard.
Another suggestion, from Stefan, was to use EMACS_INT, but I'm not
sure we will be able to define it correctly without dragging in too
much stuff from lisp.h that is used there to define EMACS_INT. Maybe
we should have a separate definition of EMACS_INT for modules.
- Re: Dynamic loading progress, (continued)
- Re: Dynamic loading progress, Stephen Leake, 2015/02/14
- Re: Dynamic loading progress, Stefan Monnier, 2015/02/13
- Re: Dynamic loading progress, Eli Zaretskii, 2015/02/14
- Re: Dynamic loading progress, Eli Zaretskii, 2015/02/14
- Re: Dynamic loading progress, Stephen Leake, 2015/02/14
- Re: Dynamic loading progress, Eli Zaretskii, 2015/02/15
- Re: Dynamic loading progress, Stephen Leake, 2015/02/15
- implementing curl module with opaque emacs types, Stephen Leake, 2015/02/15
- Re: implementing curl module with opaque emacs types, Eli Zaretskii, 2015/02/15
- Re: implementing curl module with opaque emacs types, Stephen Leake, 2015/02/17
- Re: Dynamic loading progress,
Eli Zaretskii <=
- Re: Dynamic loading progress, Stefan Monnier, 2015/02/15
- Re: Dynamic loading progress, Stephen Leake, 2015/02/16
- Re: Dynamic loading progress, Stefan Monnier, 2015/02/16
- Re: Dynamic loading progress, Stephen J. Turnbull, 2015/02/15
- Re: Dynamic loading progress, Eli Zaretskii, 2015/02/15
- Re: Dynamic loading progress, Aurélien Aptel, 2015/02/11
- Re: Dynamic loading progress, Aurélien Aptel, 2015/02/11
- Re: Dynamic loading progress, Aurélien Aptel, 2015/02/11
- Re: Dynamic loading progress, Stefan Monnier, 2015/02/11
- Re: Dynamic loading progress, Aurélien Aptel, 2015/02/11