[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Dynamic loading progress
From: |
Stephen Leake |
Subject: |
Re: Dynamic loading progress |
Date: |
Sun, 15 Mar 2015 05:46:02 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.4 (windows-nt) |
Ivan Shmakov <address@hidden> writes:
>>>>>> Stephen Leake <address@hidden> writes:
>
> […]
>
> > However, when I try to access an elisp vector, it fails:
>
> […]
>
> > emacs_value names = env->intern (env, "ada_grammar-names");
> > emacs_value args[] = { names };
> > int64_t names_length = env->fixnum_to_int (env, env->funcall (env, length,
> 1, args));
>
> Isn’t the above essentially (length 'ada_grammar-names)? Or,
> verbosely speaking:
>
> (let* ((length (intern "length"))
> (names (intern "ada_grammar-names"))
> (names-length (funcall length names)))
> …)
>
> (That is, the code above wants to apply 'length to the /value/
> of a variable – not its /name/.)
Yes, that's it. Fixed by adding a call to 'symbol-value'.
It might be good to add a C-level env->symbol_value for this purpose.
Thanks,
--
-- Stephe
Re: Dynamic loading progress, Stephen Leake, 2015/03/05
Re: Dynamic loading progress, Stephen Leake, 2015/03/05
Re: Dynamic loading progress, Stephen Leake, 2015/03/16
Re: Dynamic loading progress, Stephen Leake, 2015/03/17
Re: Dynamic loading progress, Stephen Leake, 2015/03/24