On 6 February 2017 at 13:33, Paul Eggert <eggert@cs.ucla.edu> wrote:
Elias Mårtenson wrote:
In
addition to the pointer itself, the ‘emacs_env’ pointer is needed. An
arbitrary ‘void *data’ pointer would be useful too.

Can you package up these pointers into a single data structure, and pass a pointer to that structure? That's what's usually done in situations like this, and is why a single 'void *' should suffice.

I could do this, but as far as I understood, the emacs_env pointer is not guaranteed to be immutable. If it isn't immutable, then I might just as well save it to a global variable and not have to pass it through every function that needs it.

What are the guarantees with regards to the emacs_env value?

Regards,
Elias