[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Dynamic loading progress

From: Aurélien Aptel
Subject: Re: Dynamic loading progress
Date: Mon, 9 Feb 2015 01:04:44 +0100

Ok, what I've pushed on my branch is now working.

For some reasons, DEFSYM was a no-op in module code so I've replaced
DEFSYM calls with:

    MQfoo = intern ("foo")

Are there any drawbacks?

On Thu, Feb 5, 2015 at 4:50 AM, Eli Zaretskii <address@hidden> wrote:
> I thought figuring out how to solve this is part of the job.  Modules
> will not really be workable unless this issue is resolved in a way
> that doesn't break them with every change in the core.

I've settled for a M prefix on all global module variables. Well only
symbols right now since that's all I'm using.

The whole reason why I've put them global is because that's what the
core does but as it turns out it's not needed here. The fact that
globals are actually macros exanding to a global struct member is not
desirable here as it prevents normal C lexical scoping.

By the way, there are some conventions that I'd like to understand
like prefixes: V is for lisp variables, F for functions, S for subr, Q
is for symbols (Q as in Quote since S was taken?). Am I missing

One last thing, I need a deep `equal' function that also works
hash-tables (every key and values must be equal) in yaml/test.el to
compare nested lisp objects. Do I need to hand roll this myself?

reply via email to

[Prev in Thread] Current Thread [Next in Thread]