comparison man/lispref/intro.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 b05e2a249757
children 62b9ef1ed4ac
comparison
equal deleted inserted replaced
4904:e91e3e353805 4905:755ae5b97edb
718 @node A Sample Function Description 718 @node A Sample Function Description
719 @subsubsection A Sample Function Description 719 @subsubsection A Sample Function Description
720 @cindex function descriptions 720 @cindex function descriptions
721 @cindex command descriptions 721 @cindex command descriptions
722 @cindex macro descriptions 722 @cindex macro descriptions
723 @cindex special form descriptions 723 @cindex special operator descriptions
724 724
725 In a function description, the name of the function being described 725 In a function description, the name of the function being described
726 appears first. It is followed on the same line by a list of parameters. 726 appears first. It is followed on the same line by a list of parameters.
727 The names used for the parameters are also used in the body of the 727 The names used for the parameters are also used in the body of the
728 description. 728 description.
771 described at the beginning. 771 described at the beginning.
772 772
773 @xref{Lambda Expressions}, for a more complete description of optional 773 @xref{Lambda Expressions}, for a more complete description of optional
774 and rest arguments. 774 and rest arguments.
775 775
776 Command, macro, and special form descriptions have the same format, 776 Command, macro, and special operator descriptions have the same format,
777 but the word `Function' is replaced by `Command', `Macro', or `Special 777 but the word `Function' is replaced by `Command', `Macro', or `Special
778 Form', respectively. Commands are simply functions that may be called 778 Form', respectively. Commands are simply functions that may be called
779 interactively; macros process their arguments differently from functions 779 interactively; macros process their arguments differently from functions
780 (the arguments are not evaluated), but are presented the same way. 780 (the arguments are not evaluated), but are presented the same way.
781 781
782 Special form descriptions use a more complex notation to specify 782 Special operator descriptions use a more complex notation to specify
783 optional and repeated parameters because they can break the argument 783 optional and repeated parameters because they can break the argument
784 list down into separate arguments in more complicated ways. 784 list down into separate arguments in more complicated ways.
785 @samp{@code{@r{[}@var{optional-arg}@r{]}}} means that @var{optional-arg} is 785 @samp{@code{@r{[}@var{optional-arg}@r{]}}} means that @var{optional-arg} is
786 optional and @samp{@var{repeated-args}@dots{}} stands for zero or more 786 optional and @samp{@var{repeated-args}@dots{}} stands for zero or more
787 arguments. Parentheses are used when several arguments are grouped into 787 arguments. Parentheses are used when several arguments are grouped into
788 additional levels of list structure. Here is an example: 788 additional levels of list structure. Here is an example:
789 789
790 @defspec count-loop (@var{var} [@var{from} @var{to} [@var{inc}]]) @var{body}@dots{} 790 @defspec count-loop (@var{var} [@var{from} @var{to} [@var{inc}]]) @var{body}@dots{}
791 This imaginary special form implements a loop that executes the 791 This imaginary special operator implements a loop that executes the
792 @var{body} forms and then increments the variable @var{var} on each 792 @var{body} forms and then increments the variable @var{var} on each
793 iteration. On the first iteration, the variable has the value 793 iteration. On the first iteration, the variable has the value
794 @var{from}; on subsequent iterations, it is incremented by 1 (or by 794 @var{from}; on subsequent iterations, it is incremented by 1 (or by
795 @var{inc} if that is given). The loop exits before executing @var{body} 795 @var{inc} if that is given). The loop exits before executing @var{body}
796 if @var{var} equals @var{to}. Here is an example: 796 if @var{var} equals @var{to}. Here is an example:
810 (if (pending) 810 (if (pending)
811 (fixit) 811 (fixit)
812 (setq done t))) 812 (setq done t)))
813 @end example 813 @end example
814 814
815 In this special form, the arguments @var{from} and @var{to} are 815 With this special operator, the arguments @var{from} and @var{to} are
816 optional, but must both be present or both absent. If they are present, 816 optional, but must both be present or both absent. If they are present,
817 @var{inc} may optionally be specified as well. These arguments are 817 @var{inc} may optionally be specified as well. These arguments are
818 grouped with the argument @var{var} into a list, to distinguish them 818 grouped with the argument @var{var} into a list, to distinguish them
819 from @var{body}, which includes all remaining elements of the form. 819 from @var{body}, which includes all remaining elements of the form.
820 @end defspec 820 @end defspec