emacs-devel
[Top][All Lists]
Advanced

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

Re: /srv/bzr/emacs/trunk r112347: * doc/lispintro/emacs-lisp-intro.texi


From: xfq
Subject: Re: /srv/bzr/emacs/trunk r112347: * doc/lispintro/emacs-lisp-intro.texi (defcustom, defun, simplified-beginning-of-buffer, defvar, Building Robots, Review, save-excursion): `defun' and `defcustom' are now macros rather than special forms. (Bug#13853)
Date: Mon, 22 Apr 2013 06:54:49 +0800

On Mon, Apr 22, 2013 at 2:07 AM, Glenn Morris <address@hidden> wrote:
>
> The problem I saw with these changes, and the reason I did not fix it at
> the time it was reported, is that previously "special form" was defined
> (in a simple way using only a couple of sentences) before it was used to
> refer to any particular function. Now the term "macro" is used well
> before it is defined. So the manual no longer makes sense when read in
> order, which matters for an introduction IMO. It needs more work that
> just replacing "special form" by "macro" in a few places.

Maybe we can add this sentence to (info "(eintr) defun") or (info
"(eintr) Complications"), then add a cross reference to (info "(eintr)
Lisp macro"):

  "Macro" is a construct defined in Lisp, which differs from a function in
  that it translates a Lisp expression into another expression which is to
  be evaluated instead of the original expression.

> Also, the menu is now inconsistent:
>
> * defun::                        The @code{defun} special form.
>
> etc

Sorry, I forgot it.

>> -(Another special form, @code{defcustom}, is designed for variables
>> -that people customize.  It has more features than @code{defvar}.
>> -(@xref{defcustom, , Setting Variables with @code{defcustom}}.)
>
> Why was this removed? It could have been simply changed to "Another
> function,... ". The reference to defcustom is the important thing, not
> the details of whether it is a special form or macro.

Maybe "another macro"?

I think there are not too many complications in this
introduction/tutorial.  Lambda expression is in the appendix, and
closure and byte-code function are not mentioned.  Since macros in
explained in the main body of this tutorial, I don't think it is more
clear to lie.

> PS Please keep commit log lines to ~ 80 chars in length.
> The first line should be a summary that can stand alone.
> Eg "Minor emacs-lisp-intro updates related to special forms"

Thanks, I will do it the next time.  (Is there anyway to amend this
commit log?)

--
Best regards, Xue Fuqiao.
http://www.gnu.org/software/emacs/



reply via email to

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