[Top][All Lists]

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

Elisp implementation question

From: Neil Jerram
Subject: Elisp implementation question
Date: 20 Jan 2002 21:06:41 +0000
User-agent: 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> now.

    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/.)

Hi Marius,

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,

        * 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
etc. functions.

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).


reply via email to

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