emacs-devel
[Top][All Lists]
Advanced

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

Re: un-deprecating CL


From: Richard Stallman
Subject: Re: un-deprecating CL
Date: Mon, 17 Sep 2007 11:53:22 -0400

    > destructuring-bind is ok to add, because it is simple and modular.

    By the way, destructuring-bind supports full Common Lisp style
    argument lists.

I don't mind having some of this in that special construct, but I am
not sure we should document all of the features.

    > I don't want to add CL argument lists,

    Just curious: Why not?

It is added complexity that we don't need.  To add them to standard
Emacs Lisp functions would call for documenting them with great
importance.  To have the alternative constructs `function*' and
`defun*' is kludgy.

It is one thing to have `function*' and `defun*' in a compatibility
package.  It is quite another to give them legitimacy in Emacs Lisp.

    For example, typing ?C-h a union RET? in my running Emacs reveals
    union (from cl), gnus-union and gnus-sorted-union, ediff-union, and
    jbw-sorted-number-list-union (my own).  And I wouldn't be surprised to
    find other packages (which I haven't loaded in this Emacs) that also
    implement union.

The fact that Gnus and ediff want a union function is not enough
reason to add one as an Emacs feature.  In fact, there are four
packages in Emacs that define a union function.  I don't think that is
enough to justify adding one _and documenting it_.  It would take
considerably more reason.

      (callf2 delete macro (cadr p))
      (callf2 concat "[" (car return-value) "]")

I find callf and callf2 extremely counterintuitive, and I would rather
people write that code with setf.




reply via email to

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