[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Elisp implementation question
Elisp implementation question
20 Jan 2002 21:06:41 +0000
Gnus/5.0808 (Gnus v5.8.8) Emacs/20.7
>>>>> "Marius" == Marius Vollmer <address@hidden> writes:
Marius> Neil Jerram <address@hidden> writes:
>> So, would anyone else object to me
>> - deprecating the unnecessary C Elisp support in the stable branch
>> - removing the same stuff in the CVS head?
Marius> Hmm, my little finger tells me to leave this stuff in for
Marius> What is your plan re data sharing between Elisp and Guile
Marius> Scheme? What about Jim's proposal? Etc. Until we have a
Marius> firm grasp of these things and are sure we are not acting
Marius> out of ignorance of what has been designed previously, we
Marius> shouldn't start changing stuff.
Marius> The Elisp support functions are no maintainance problems,
Marius> and I think something like them needs to be in the core,
Marius> after all. Maybe we need something completely different
Marius> from what we have now, but I like to be sure what we need
Marius> before removing the existing stuff.
Marius> Or in other words, I would like to be convinced more
Marius> thoroughly that the new plan is as far developed as the
Marius> old plan, and significantly better.
Marius> (I will copy Jim's nil/t/#t/#f text into devel/.)
Now that we've agreed the initial plan for doing Elisp support in
Guile, I'd like to start implementing the required changes. This
raises again the question about all the things that are no longer
needed. From my draft local ChangeLog, that would be...
* eval.c (scm_lisp_nil, scm_lisp_t, s_nil_ify, scm_m_nil_ify,
s_t_ify, scm_m_t_ify, s_0_cond, scm_m_0_cond, s_0_ify,
scm_m_0_ify, s_1_ify, scm_m_1_ify): Removed.
(SCM_CEVAL): Removed switch cases for SCM_IM_NIL_IFY,
SCM_IM_T_IFY, SCM_IM_0_COND, SCM_IM_0_IFY, SCM_IM_1_IFY.
* lang.c (scm_nil_cons, scm_nil_car, scm_nil_cdr, scm_null,
scm_m_while, scm_nil_eq): Commented out; I don't think we need
these, but I don't want to remove them yet, just in case.
* lang.h (SCM_NIL2EOL, SCM_EOL2NIL): Commented out.
* print.c (scm_isymnames): Remove address@hidden,
address@hidden, address@hidden, address@hidden, address@hidden
* tags.h (SCM_IM_NIL_IFY, SCM_IM_T_IFY, SCM_IM_0_COND,
SCM_IM_0_IFY, SCM_IM_1_IFY): Removed.
I believe that all of this was added experimentally by Mikael in
conjunction with his Elisp translator work, but note that even his
translator code (in the form that I received it) doesn't use many of
these functions. Note also that Mikael's experiment was not (if I
understand it correctly) an attempted implementation of Jim's
proposal; as is clear from the presence of t-ify, nil-ify
Do you feel happy now about removing these, or do you still want to
keep them? My view is that
- I'm not aware of any need for them, given the agreed plan
- I think that it is unhelpful to have obsolete stuff hanging around
in the code base
- if we ever do need these again, we can retrieve them from CVS (or
just rewrite them - they're all pretty trivial).
- Elisp implementation question,
Neil Jerram <=