Mercurial > hg > xemacs-beta
diff man/lispref/eval.texi @ 4905:755ae5b97edb
Change "special form" to "special operator" in our sources.
Add a compatible function alias, and the relevant manual index entries.
src/ChangeLog addition:
2010-01-31 Aidan Kehoe <kehoea@parhasard.net>
* symbols.c (Fspecial_operator_p, syms_of_symbols):
* eval.c (print_subr, Finteractive_p, Ffuncall)
(Ffunction_min_args, Ffunction_max_args, vars_of_eval):
* editfns.c:
* data.c (Fsubr_max_args):
* doc.c (Fbuilt_in_symbol_file):
Change "special form" to "special operator" in our sources.
man/ChangeLog addition:
2010-01-31 Aidan Kehoe <kehoea@parhasard.net>
* xemacs/programs.texi (Defuns):
* lispref/variables.texi (Local Variables, Defining Variables)
(Setting Variables, Default Value):
* lispref/symbols.texi (Definitions):
* lispref/searching.texi (Saving Match Data):
* lispref/positions.texi (Excursions, Narrowing):
* lispref/objects.texi (Primitive Function Type):
* lispref/macros.texi (Defining Macros, Backquote):
* lispref/lispref.texi (Top):
* lispref/intro.texi (A Sample Function Description):
* lispref/help.texi (Help Functions):
* lispref/functions.texi (What Is a Function, Simple Lambda)
(Defining Functions, Calling Functions, Anonymous Functions):
* lispref/frames.texi (Input Focus):
* lispref/eval.texi (Forms, Function Indirection)
(Special Operators, Quoting):
* lispref/edebug-inc.texi (Instrumenting)
(Specification Examples):
* lispref/debugging.texi (Internals of Debugger):
* lispref/control.texi (Control Structures, Sequencing):
(Conditionals, Combining Conditions, Iteration):
(Catch and Throw, Handling Errors):
* lispref/commands.texi (Defining Commands, Using Interactive):
Terminology change; special operator -> special form.
Don't attempt to change this in texinfo.texi or cl.texi, which use
macros I don't understand.
* lispref/macros.texi (Defining Macros): Give an anonymous macro
example here.
* lispref/positions.texi (Excursions):
Correct some documentation that called a couple of macros special
forms.
* lispref/searching.texi (Saving Match Data):
Drop some documentation of how to write code that works with Emacs
18.
* lispref/specifiers.texi (Adding Specifications):
Correct this; #'let-specifier is a macro, not a special operator.
* lispref/windows.texi (Window Configurations)
(Selecting Windows):
Correct this, #'save-selected-window and #'save-window-excursion
are macros, not special operators.
lisp/ChangeLog addition:
2010-01-31 Aidan Kehoe <kehoea@parhasard.net>
* obsolete.el:
* loadhist.el (symbol-file):
* help.el (describe-function-1):
* bytecomp.el: (byte-compile-save-current-buffer):
* byte-optimize.el (byte-optimize-form-code-walker):
* subr.el (subr-arity):
Change "special form" to "special operator" in these files, it's
the more logical term.
* subr.el (special-form-p): Provide this alias for
#'special-operator-p.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Sun, 31 Jan 2010 20:28:01 +0000 |
parents | 6780963faf78 |
children | 378a34562cbe |
line wrap: on
line diff
--- a/man/lispref/eval.texi Sun Jan 31 18:09:57 2010 +0000 +++ b/man/lispref/eval.texi Sun Jan 31 20:28:01 2010 +0000 @@ -252,8 +252,9 @@ we find the real function via the symbol. * Function Forms:: Forms that call functions. * Macro Forms:: Forms that call macros. -* Special Forms:: ``Special forms'' are idiosyncratic primitives, +* Special Operators:: ``Special operators'' are idiosyncratic primitives, most of them extremely important. + Also known as special forms. * Autoloading:: Functions set up to load files containing their real definitions. @end menu @@ -354,7 +355,7 @@ call, or a special form, according to its first element. These three kinds of forms are evaluated in different ways, described below. The remaining list elements constitute the @dfn{arguments} for the function, -macro, or special form. +macro, or special operator. The first step in evaluating a nonempty list is to examine its first element. This element alone determines what kind of form the list is @@ -387,7 +388,7 @@ @cindex invalid function More precisely, we should now have a Lisp function (a lambda expression), a byte-code function, a primitive function, a Lisp macro, a -special form, or an autoload object. Each of these types is a case +special operator, or an autoload object. Each of these types is a case described in one of the following sections. If the object is not one of these types, the error @code{invalid-function} is signaled. @@ -531,20 +532,22 @@ @xref{Macros}, for a complete description of XEmacs Lisp macros. -@node Special Forms -@subsection Special Forms -@cindex special form evaluation +@node Special Operators +@subsection Special Operators +@cindex special operator evaluation +@cindex special form - A @dfn{special form} is a primitive function specially marked so that -its arguments are not all evaluated. Most special forms define control + A @dfn{special operator} (historically, and less logically, a +@dfn{special form}) is a primitive function specially marked so that +its arguments are not all evaluated. Most special operators define control structures or perform variable bindings---things which functions cannot do. - Each special form has its own rules for which arguments are evaluated + Each special operator has its own rules for which arguments are evaluated and which are used without evaluation. Whether a particular argument is evaluated may depend on the results of evaluating other arguments. - Here is a list, in alphabetical order, of all of the special forms in + Here is a list, in alphabetical order, of all of the special operators in XEmacs Lisp with a reference to where each is described. @table @code @@ -627,17 +630,16 @@ @pxref{Temporary Displays} @end table -@cindex CL note---special forms compared +@cindex CL note---special operators compared @quotation -@b{Common Lisp note:} here are some comparisons of special forms in +@b{Common Lisp note:} here are some comparisons of special operators in XEmacs Lisp and Common Lisp. @code{setq}, @code{if}, and -@code{catch} are special forms in both XEmacs Lisp and Common Lisp. -@code{defun} is a special form in XEmacs Lisp, but a macro in Common -Lisp. @code{save-excursion} is a special form in XEmacs Lisp, but -doesn't exist in Common Lisp. @code{throw} is a special form in -Common Lisp (because it must be able to throw multiple values), but it -is a function in XEmacs Lisp (which doesn't have multiple -values).@refill +@code{catch} are special operators in both XEmacs Lisp and Common Lisp. +@code{defun} is a special operator in XEmacs Lisp, but a macro in Common +Lisp. @code{save-excursion} is a special operator in XEmacs Lisp, but +doesn't exist in Common Lisp. @code{throw} is a special operator in +both Common Lisp and XEmacs Lisp (because it must be able to throw +multiple values).@refill @end quotation @node Autoloading @@ -654,14 +656,14 @@ @section Quoting @cindex quoting - The special form @code{quote} returns its single argument, as written, + The special operator @code{quote} returns its single argument, as written, without evaluating it. This provides a way to include constant symbols and lists, which are not self-evaluating objects, in a program. (It is not necessary to quote self-evaluating objects such as numbers, strings, and vectors.) @defspec quote object -This special form returns @var{object}, without evaluating it. +This special operator returns @var{object}, without evaluating it. @end defspec @cindex @samp{'} for quoting