documentation_emacs/source/lispref/eval.texi.fr.po
2022-03-08 11:11:57 +01:00

2427 lines
80 KiB
Plaintext

# SOME DESCRIPTIVE TITLE
# Copyright (C) YEAR Free Software Foundation, Inc.
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2021-11-07 12:11+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#. type: chapter
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:6 /Users/suzume/Documents/Repositories/Projet
#: OmegaT de Documentation Emacs - Sources/doc/lispref/eval.texi:7
#, no-wrap
msgid "Evaluation"
msgstr ""
#. type: cindex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:8
#, no-wrap
msgid "evaluation"
msgstr ""
#. type: cindex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:9 /Users/suzume/Documents/Repositories/Projet
#: OmegaT de Documentation Emacs - Sources/doc/lispref/eval.texi:10
#, no-wrap
msgid "interpreter"
msgstr ""
#. type: cindex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:11
#, no-wrap
msgid "value of expression"
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:20
msgid ""
"The @dfn{evaluation} of expressions in Emacs Lisp is performed by the "
"@dfn{Lisp interpreter}---a program that receives a Lisp object as input and "
"computes its @dfn{value as an expression}. How it does this depends on the "
"data type of the object, according to rules described in this chapter. The "
"interpreter runs automatically to evaluate portions of your program, but can "
"also be called explicitly via the Lisp primitive function @code{eval}."
msgstr ""
#. type: node
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:29 /Users/suzume/Documents/Repositories/Projet
#: OmegaT de Documentation Emacs - Sources/doc/lispref/eval.texi:31
#, no-wrap
msgid "Intro Eval"
msgstr ""
#. type: menuentry
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:29
msgid "Evaluation in the scheme of things."
msgstr ""
#. type: node
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:29 /Users/suzume/Documents/Repositories/Projet
#: OmegaT de Documentation Emacs - Sources/doc/lispref/eval.texi:103
#, no-wrap
msgid "Forms"
msgstr ""
#. type: menuentry
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:29
msgid "How various sorts of objects are evaluated."
msgstr ""
#. type: section
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:29 /Users/suzume/Documents/Repositories/Projet
#: OmegaT de Documentation Emacs - Sources/doc/lispref/eval.texi:508
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:555
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:556
#, no-wrap
msgid "Quoting"
msgstr ""
#. type: menuentry
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:29
msgid "Avoiding evaluation (to put constants in the program)."
msgstr ""
#. type: section
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:29 /Users/suzume/Documents/Repositories/Projet
#: OmegaT de Documentation Emacs - Sources/doc/lispref/eval.texi:620
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:621
#, no-wrap
msgid "Backquote"
msgstr ""
#. type: menuentry
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:29
msgid "Easier construction of list structure."
msgstr ""
#. type: section
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:29 /Users/suzume/Documents/Repositories/Projet
#: OmegaT de Documentation Emacs - Sources/doc/lispref/eval.texi:717
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:718
#, no-wrap
msgid "Eval"
msgstr ""
#. type: menuentry
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:29
msgid "How to invoke the Lisp interpreter explicitly."
msgstr ""
#. type: node
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:29 /Users/suzume/Documents/Repositories/Projet
#: OmegaT de Documentation Emacs - Sources/doc/lispref/eval.texi:914
#, no-wrap
msgid "Deferred Eval"
msgstr ""
#. type: menuentry
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:29
msgid "Deferred and lazy evaluation of forms."
msgstr ""
#. type: section
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:32
#, no-wrap
msgid "Introduction to Evaluation"
msgstr ""
#. type: ifnottex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:40
msgid ""
"The Lisp interpreter, or evaluator, is the part of Emacs that computes the "
"value of an expression that is given to it. When a function written in Lisp "
"is called, the evaluator computes the value of the function by evaluating "
"the expressions in the function body. Thus, running any Lisp program really "
"means running the Lisp interpreter."
msgstr ""
#. type: cindex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:42
#, no-wrap
msgid "form"
msgstr ""
#. type: cindex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:43
#, no-wrap
msgid "expression"
msgstr ""
#. type: cindex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:44
#, no-wrap
msgid "S-expression"
msgstr ""
#. type: cindex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:45
#, no-wrap
msgid "sexp"
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:54
msgid ""
"A Lisp object that is intended for evaluation is called a @dfn{form} or "
"@dfn{expression}@footnote{It is sometimes also referred to as an "
"@dfn{S-expression} or @dfn{sexp}, but we generally do not use this "
"terminology in this manual.}. The fact that forms are data objects and not "
"merely text is one of the fundamental differences between Lisp-like "
"languages and typical programming languages. Any object can be evaluated, "
"but in practice only numbers, symbols, lists and strings are evaluated very "
"often."
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:57
msgid ""
"In subsequent sections, we will describe the details of what evaluation "
"means for each kind of form."
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:65
msgid ""
"It is very common to read a Lisp form and then evaluate the form, but "
"reading and evaluation are separate activities, and either can be performed "
"alone. Reading per se does not evaluate anything; it converts the printed "
"representation of a Lisp object to the object itself. It is up to the "
"caller of @code{read} to specify whether this object is a form to be "
"evaluated, or serves some entirely different purpose. @xref{Input "
"Functions}."
msgstr ""
#. type: cindex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:66
#, no-wrap
msgid "recursive evaluation"
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:77
msgid ""
"Evaluation is a recursive process, and evaluating a form often involves "
"evaluating parts within that form. For instance, when you evaluate a "
"@dfn{function call} form such as @code{(car x)}, Emacs first evaluates the "
"argument (the subform @code{x}). After evaluating the argument, Emacs "
"@dfn{executes} the function (@code{car}), and if the function is written in "
"Lisp, execution works by evaluating the @dfn{body} of the function (in this "
"example, however, @code{car} is not a Lisp function; it is a primitive "
"function implemented in C). @xref{Functions}, for more information about "
"functions and function calls."
msgstr ""
#. type: cindex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:78
#, no-wrap
msgid "environment"
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:88
msgid ""
"Evaluation takes place in a context called the @dfn{environment}, which "
"consists of the current values and bindings of all Lisp variables "
"(@pxref{Variables}).@footnote{This definition of ``environment'' is "
"specifically not intended to include all the data that can affect the result "
"of a program.} Whenever a form refers to a variable without creating a new "
"binding for it, the variable evaluates to the value given by the current "
"environment. Evaluating a form may also temporarily alter the environment "
"by binding variables (@pxref{Local Variables})."
msgstr ""
#. type: cindex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:89
#, no-wrap
msgid "side effect"
msgstr ""
#. type: anchor{#1}
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:94
msgid "Definition of side effect"
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:94
msgid ""
"Evaluating a form may also make changes that persist; these changes are "
"called @dfn{side effects}. An example of a form that produces a side effect "
"is @code{(setq foo 1)}."
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:102
msgid ""
"Do not confuse evaluation with command key interpretation. The editor "
"command loop translates keyboard input into a command (an interactively "
"callable function) using the active keymaps, and then uses "
"@code{call-interactively} to execute that command. Executing the command "
"usually involves evaluation, if the command is written in Lisp; however, "
"this step is not considered a part of command key interpretation. "
"@xref{Command Loop}."
msgstr ""
#. type: section
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:104
#, no-wrap
msgid "Kinds of Forms"
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:112
msgid ""
"A Lisp object that is intended to be evaluated is called a @dfn{form} (or an "
"@dfn{expression}). How Emacs evaluates a form depends on its data type. "
"Emacs has three different kinds of form that are evaluated differently: "
"symbols, lists, and all other types. This section describes all three "
"kinds, one by one, starting with the other types, which are self-evaluating "
"forms."
msgstr ""
#. type: subsection
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:125
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:127
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:128
#, no-wrap
msgid "Self-Evaluating Forms"
msgstr ""
#. type: menuentry
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:125
msgid "Forms that evaluate to themselves."
msgstr ""
#. type: subsection
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:125
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:188
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:189
#, no-wrap
msgid "Symbol Forms"
msgstr ""
#. type: menuentry
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:125
msgid "Symbols evaluate as variables."
msgstr ""
#. type: node
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:125
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:226
#, no-wrap
msgid "Classifying Lists"
msgstr ""
#. type: menuentry
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:125
msgid "How to distinguish various sorts of list forms."
msgstr ""
#. type: node
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:125
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:243
#, no-wrap
msgid "Function Indirection"
msgstr ""
#. type: menuentry
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:125
msgid ""
"When a symbol appears as the car of a list, we find the real function via "
"the symbol."
msgstr ""
#. type: node
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:125
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:360
#, no-wrap
msgid "Function Forms"
msgstr ""
#. type: menuentry
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:125
msgid "Forms that call functions."
msgstr ""
#. type: node
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:125
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:385
#, no-wrap
msgid "Macro Forms"
msgstr ""
#. type: menuentry
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:125
msgid "Forms that call macros."
msgstr ""
#. type: subsection
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:125
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:432
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:433
#, no-wrap
msgid "Special Forms"
msgstr ""
#. type: menuentry
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:125
msgid ""
"Special forms are idiosyncratic primitives, most of them extremely "
"important."
msgstr ""
#. type: subsection
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:125
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:543
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:544
#, no-wrap
msgid "Autoloading"
msgstr ""
#. type: menuentry
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:125
msgid "Functions set up to load files containing their real definitions."
msgstr ""
#. type: cindex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:129
#, no-wrap
msgid "vector evaluation"
msgstr ""
#. type: cindex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:130
#, no-wrap
msgid "literal evaluation"
msgstr ""
#. type: cindex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:131
#, no-wrap
msgid "self-evaluating form"
msgstr ""
#. type: cindex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:132
#, no-wrap
msgid "form, self-evaluating"
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:141
msgid ""
"A @dfn{self-evaluating form} is any form that is not a list or symbol. "
"Self-evaluating forms evaluate to themselves: the result of evaluation is "
"the same object that was evaluated. Thus, the number 25 evaluates to 25, "
"and the string @code{\"foo\"} evaluates to the string @code{\"foo\"}. "
"Likewise, evaluating a vector does not cause evaluation of the elements of "
"the vector---it returns the same vector with its contents unchanged."
msgstr ""
#. type: group
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:146
#, no-wrap
msgid ""
"'123 ; @r{A number, shown without evaluation.}\n"
" @result{} 123\n"
msgstr ""
#. type: group
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:150
#, no-wrap
msgid ""
"123 ; @r{Evaluated as usual---result is the same.}\n"
" @result{} 123\n"
msgstr ""
#. type: group
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:154
#, no-wrap
msgid ""
"(eval '123) ; @r{Evaluated \"by hand\"---result is the same.}\n"
" @result{} 123\n"
msgstr ""
#. type: group
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:158
#, no-wrap
msgid ""
"(eval (eval '123)) ; @r{Evaluating twice changes nothing.}\n"
" @result{} 123\n"
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:166
msgid ""
"A self-evaluating form yields a value that becomes part of the program, and "
"you should not try to modify it via @code{setcar}, @code{aset} or similar "
"operations. The Lisp interpreter might unify the constants yielded by your "
"program's self-evaluating forms, so that these constants might share "
"structure. @xref{Mutability}."
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:173
msgid ""
"It is common to write numbers, characters, strings, and even vectors in Lisp "
"code, taking advantage of the fact that they self-evaluate. However, it is "
"quite unusual to do this for types that lack a read syntax, because there's "
"no way to write them textually. It is possible to construct Lisp "
"expressions containing these types by means of a Lisp program. Here is an "
"example:"
msgstr ""
#. type: group
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:179
#, no-wrap
msgid ""
";; @r{Build an expression containing a buffer object.}\n"
"(setq print-exp (list 'print (current-buffer)))\n"
" @result{} (print #<buffer eval.texi>)\n"
msgstr ""
#. type: group
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:185
#, no-wrap
msgid ""
";; @r{Evaluate it.}\n"
"(eval print-exp)\n"
" @print{} #<buffer eval.texi>\n"
" @result{} #<buffer eval.texi>\n"
msgstr ""
#. type: cindex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:190
#, no-wrap
msgid "symbol evaluation"
msgstr ""
#. type: cindex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:191
#, no-wrap
msgid "symbol forms"
msgstr ""
#. type: cindex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:192
#, no-wrap
msgid "forms, symbol"
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:198
msgid ""
"When a symbol is evaluated, it is treated as a variable. The result is the "
"variable's value, if it has one. If the symbol has no value as a variable, "
"the Lisp interpreter signals an error. For more information on the use of "
"variables, see @ref{Variables}."
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:202
msgid ""
"In the following example, we set the value of a symbol with @code{setq}. "
"Then we evaluate the symbol, and get back the value that @code{setq} stored."
msgstr ""
#. type: group
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:207
#, no-wrap
msgid ""
"(setq a 123)\n"
" @result{} 123\n"
msgstr ""
#. type: group
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:211
#, no-wrap
msgid ""
"(eval 'a)\n"
" @result{} 123\n"
msgstr ""
#. type: group
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:215
#, no-wrap
msgid ""
"a\n"
" @result{} 123\n"
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:225
msgid ""
"The symbols @code{nil} and @code{t} are treated specially, so that the value "
"of @code{nil} is always @code{nil}, and the value of @code{t} is always "
"@code{t}; you cannot set or bind them to any other values. Thus, these two "
"symbols act like self-evaluating forms, even though @code{eval} treats them "
"like any other symbol. A symbol whose name starts with @samp{:} also "
"self-evaluates in the same way; likewise, its value ordinarily cannot be "
"changed. @xref{Constant Variables}."
msgstr ""
#. type: subsection
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:227
#, no-wrap
msgid "Classification of List Forms"
msgstr ""
#. type: cindex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:228
#, no-wrap
msgid "list form evaluation"
msgstr ""
#. type: cindex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:229
#, no-wrap
msgid "forms, list"
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:236
msgid ""
"A form that is a nonempty list is either a function call, a macro 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."
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:242
msgid ""
"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 and "
"how the rest of the list is to be processed. The first element is "
"@emph{not} evaluated, as it would be in some Lisp dialects such as Scheme."
msgstr ""
#. type: subsection
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:244
#, no-wrap
msgid "Symbol Function Indirection"
msgstr ""
#. type: cindex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:245
#, no-wrap
msgid "symbol function indirection"
msgstr ""
#. type: cindex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:246
#, no-wrap
msgid "indirection for functions"
msgstr ""
#. type: cindex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:247
#, no-wrap
msgid "void function"
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:255
msgid ""
"If the first element of the list is a symbol then evaluation examines the "
"symbol's function cell, and uses its contents instead of the original "
"symbol. If the contents are another symbol, this process, called "
"@dfn{symbol function indirection}, is repeated until it obtains a "
"non-symbol. @xref{Function Names}, for more information about symbol "
"function indirection."
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:260
msgid ""
"One possible consequence of this process is an infinite loop, in the event "
"that a symbol's function cell refers to the same symbol. Otherwise, we "
"eventually obtain a non-symbol, which ought to be a function or other "
"suitable object."
msgstr ""
#. type: kindex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:261
#, no-wrap
msgid "invalid-function"
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:267
msgid ""
"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 described in one of the "
"following sections. If the object is not one of these types, Emacs signals "
"an @code{invalid-function} error."
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:274
msgid ""
"The following example illustrates the symbol indirection process. We use "
"@code{fset} to set the function cell of a symbol and @code{symbol-function} "
"to get the function cell contents (@pxref{Function Cells}). Specifically, "
"we store the symbol @code{car} into the function cell of @code{first}, and "
"the symbol @code{first} into the function cell of @code{erste}."
msgstr ""
#. type: group
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:281
#, no-wrap
msgid ""
";; @r{Build this function cell linkage:}\n"
";; ------------- ----- ------- -------\n"
";; | #<subr car> | <-- | car | <-- | first | <-- | erste |\n"
";; ------------- ----- ------- -------\n"
msgstr ""
#. type: group
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:285
#, no-wrap
msgid ""
"(symbol-function 'car)\n"
" @result{} #<subr car>\n"
msgstr ""
#. type: group
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:289
#, no-wrap
msgid ""
"(fset 'first 'car)\n"
" @result{} car\n"
msgstr ""
#. type: group
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:293
#, no-wrap
msgid ""
"(fset 'erste 'first)\n"
" @result{} first\n"
msgstr ""
#. type: group
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:297
#, no-wrap
msgid ""
"(erste '(1 2 3)) ; @r{Call the function referenced by @code{erste}.}\n"
" @result{} 1\n"
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:303
msgid ""
"By contrast, the following example calls a function without any symbol "
"function indirection, because the first element is an anonymous Lisp "
"function, not a symbol."
msgstr ""
#. type: group
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:309
#, no-wrap
msgid ""
"((lambda (arg) (erste arg))\n"
" '(1 2 3))\n"
" @result{} 1\n"
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:315
msgid ""
"Executing the function itself evaluates its body; this does involve symbol "
"function indirection when calling @code{erste}."
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:318
msgid ""
"This form is rarely used and is now deprecated. Instead, you should write "
"it as:"
msgstr ""
#. type: group
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:323
#, no-wrap
msgid ""
"(funcall (lambda (arg) (erste arg))\n"
" '(1 2 3))\n"
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:326
msgid "or just"
msgstr ""
#. type: group
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:329
#, no-wrap
msgid "(let ((arg '(1 2 3))) (erste arg))\n"
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:334
msgid ""
"The built-in function @code{indirect-function} provides an easy way to "
"perform symbol function indirection explicitly."
msgstr ""
#. type: defun
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:335
#, no-wrap
msgid "indirect-function function &optional noerror"
msgstr ""
#. type: anchor{#1}
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:341
msgid "Definition of indirect-function"
msgstr ""
#. type: defun
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:341
msgid ""
"This function returns the meaning of @var{function} as a function. If "
"@var{function} is a symbol, then it finds @var{function}'s function "
"definition and starts over with that value. If @var{function} is not a "
"symbol, then it returns @var{function} itself."
msgstr ""
#. type: defun
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:345
msgid ""
"This function returns @code{nil} if the final symbol is unbound. It signals "
"a @code{cyclic-function-indirection} error if there is a loop in the chain "
"of symbols."
msgstr ""
#. type: defun
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:348
msgid ""
"The optional argument @var{noerror} is obsolete, kept for backward "
"compatibility, and has no effect."
msgstr ""
#. type: defun
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:350
msgid "Here is how you could define @code{indirect-function} in Lisp:"
msgstr ""
#. type: example
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:357
#, no-wrap
msgid ""
"(defun indirect-function (function)\n"
" (if (and function\n"
" (symbolp function))\n"
" (indirect-function (symbol-function function))\n"
" function))\n"
msgstr ""
#. type: subsection
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:361
#, no-wrap
msgid "Evaluation of Function Forms"
msgstr ""
#. type: cindex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:362
#, no-wrap
msgid "function form evaluation"
msgstr ""
#. type: cindex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:363
#, no-wrap
msgid "function call"
msgstr ""
#. type: cindex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:364
#, no-wrap
msgid "forms, function call"
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:370
msgid ""
"If the first element of a list being evaluated is a Lisp function object, "
"byte-code object or primitive function object, then that list is a "
"@dfn{function call}. For example, here is a call to the function @code{+}:"
msgstr ""
#. type: example
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:373
#, no-wrap
msgid "(+ 1 x)\n"
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:384
msgid ""
"The first step in evaluating a function call is to evaluate the remaining "
"elements of the list from left to right. The results are the actual "
"argument values, one value for each list element. The next step is to call "
"the function with this list of arguments, effectively using the function "
"@code{apply} (@pxref{Calling Functions}). If the function is written in "
"Lisp, the arguments are used to bind the argument variables of the function "
"(@pxref{Lambda Expressions}); then the forms in the function body are "
"evaluated in order, and the value of the last body form becomes the value of "
"the function call."
msgstr ""
#. type: subsection
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:386
#, no-wrap
msgid "Lisp Macro Evaluation"
msgstr ""
#. type: cindex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:387
#, no-wrap
msgid "macro call evaluation"
msgstr ""
#. type: cindex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:388
#, no-wrap
msgid "forms, macro call"
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:399
msgid ""
"If the first element of a list being evaluated is a macro object, then the "
"list is a @dfn{macro call}. When a macro call is evaluated, the elements of "
"the rest of the list are @emph{not} initially evaluated. Instead, these "
"elements themselves are used as the arguments of the macro. The macro "
"definition computes a replacement form, called the @dfn{expansion} of the "
"macro, to be evaluated in place of the original form. The expansion may be "
"any sort of form: a self-evaluating constant, a symbol, or a list. If the "
"expansion is itself a macro call, this process of expansion repeats until "
"some other sort of form results."
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:404
msgid ""
"Ordinary evaluation of a macro call finishes by evaluating the expansion. "
"However, the macro expansion is not necessarily evaluated right away, or at "
"all, because other programs also expand macro calls, and they may or may not "
"evaluate the expansions."
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:408
msgid ""
"Normally, the argument expressions are not evaluated as part of computing "
"the macro expansion, but instead appear as part of the expansion, so they "
"are computed when the expansion is evaluated."
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:410
msgid "For example, given a macro defined as follows:"
msgstr ""
#. type: group
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:415
#, no-wrap
msgid ""
"(defmacro cadr (x)\n"
" (list 'car (list 'cdr x)))\n"
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:421
msgid ""
"an expression such as @code{(cadr (assq 'handler list))} is a macro call, "
"and its expansion is:"
msgstr ""
#. type: example
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:424
#, no-wrap
msgid "(car (cdr (assq 'handler list)))\n"
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:429
msgid "Note that the argument @code{(assq 'handler list)} appears in the expansion."
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:431
msgid "@xref{Macros}, for a complete description of Emacs Lisp macros."
msgstr ""
#. type: cindex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:434
#, no-wrap
msgid "special forms"
msgstr ""
#. type: cindex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:435
#, no-wrap
msgid "forms, special"
msgstr ""
#. type: cindex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:436
#, no-wrap
msgid "evaluation of special forms"
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:442
msgid ""
"A @dfn{special form} is a primitive function specially marked so that its "
"arguments are not all evaluated. Most special forms define control "
"structures or perform variable bindings---things which functions cannot do."
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:446
msgid ""
"Each special form 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."
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:454
msgid ""
"If an expression's first symbol is that of a special form, the expression "
"should follow the rules of that special form; otherwise, Emacs's behavior is "
"not well-defined (though it will not crash). For example, @code{((lambda "
"(x) x . 3) 4)} contains a subexpression that begins with @code{lambda} but "
"is not a well-formed @code{lambda} expression, so Emacs may signal an error, "
"or may return 3 or 4 or @code{nil}, or may behave in other ways."
msgstr ""
#. type: defun
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:455
#, no-wrap
msgid "special-form-p object"
msgstr ""
#. type: defun
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:458
msgid ""
"This predicate tests whether its argument is a special form, and returns "
"@code{t} if so, @code{nil} otherwise."
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:462
msgid ""
"Here is a list, in alphabetical order, of all of the special forms in Emacs "
"Lisp with a reference to where each is described."
msgstr ""
#. type: item
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:464
#, no-wrap
msgid "and"
msgstr ""
#. type: pxref{#1}
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:466
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:500
msgid "Combining Conditions"
msgstr ""
#. type: item
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:467
#, no-wrap
msgid "catch"
msgstr ""
#. type: pxref{#1}
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:469
msgid "Catch and Throw"
msgstr ""
#. type: item
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:470
#, no-wrap
msgid "cond"
msgstr ""
#. type: pxref{#1}
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:472
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:487
msgid "Conditionals"
msgstr ""
#. type: item
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:473
#, no-wrap
msgid "condition-case"
msgstr ""
#. type: pxref{#1}
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:475
msgid "Handling Errors"
msgstr ""
#. type: item
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:476
#, no-wrap
msgid "defconst"
msgstr ""
#. type: pxref{#1}
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:478
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:481
msgid "Defining Variables"
msgstr ""
#. type: item
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:479
#, no-wrap
msgid "defvar"
msgstr ""
#. type: item
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:482
#, no-wrap
msgid "function"
msgstr ""
#. type: pxref{#1}
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:484
msgid "Anonymous Functions"
msgstr ""
#. type: item
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:485
#, no-wrap
msgid "if"
msgstr ""
#. type: item
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:488
#, no-wrap
msgid "interactive"
msgstr ""
#. type: pxref{#1}
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:490
msgid "Interactive Call"
msgstr ""
#. type: item
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:491
#, no-wrap
msgid "lambda"
msgstr ""
#. type: pxref{#1}
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:493
msgid "Lambda Expressions"
msgstr ""
#. type: item
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:494
#, no-wrap
msgid "let"
msgstr ""
#. type: itemx
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:495
#, no-wrap
msgid "let*"
msgstr ""
#. type: pxref{#1}
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:497
msgid "Local Variables"
msgstr ""
#. type: item
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:498
#, no-wrap
msgid "or"
msgstr ""
#. type: item
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:501
#, no-wrap
msgid "prog1"
msgstr ""
#. type: itemx
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:502
#, no-wrap
msgid "prog2"
msgstr ""
#. type: itemx
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:503
#, no-wrap
msgid "progn"
msgstr ""
#. type: pxref{#1}
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:505
msgid "Sequencing"
msgstr ""
#. type: item
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:506
#, no-wrap
msgid "quote"
msgstr ""
#. type: item
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:509
#, no-wrap
msgid "save-current-buffer"
msgstr ""
#. type: pxref{#1}
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:511
msgid "Current Buffer"
msgstr ""
#. type: item
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:512
#, no-wrap
msgid "save-excursion"
msgstr ""
#. type: pxref{#1}
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:514
msgid "Excursions"
msgstr ""
#. type: item
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:515
#, no-wrap
msgid "save-restriction"
msgstr ""
#. type: pxref{#1}
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:517
msgid "Narrowing"
msgstr ""
#. type: item
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:518
#, no-wrap
msgid "setq"
msgstr ""
#. type: pxref{#1}
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:520
msgid "Setting Variables"
msgstr ""
#. type: item
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:521
#, no-wrap
msgid "setq-default"
msgstr ""
#. type: pxref{#1}
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:523
msgid "Creating Buffer-Local"
msgstr ""
#. type: item
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:524
#, no-wrap
msgid "unwind-protect"
msgstr ""
#. type: pxref{#1}
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:526
msgid "Nonlocal Exits"
msgstr ""
#. type: item
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:527
#, no-wrap
msgid "while"
msgstr ""
#. type: pxref{#1}
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:529
msgid "Iteration"
msgstr ""
#. type: cindex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:531
#, no-wrap
msgid "CL note---special forms compared"
msgstr ""
#. type: quotation
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:541
msgid ""
"@b{Common Lisp note:} Here are some comparisons of special forms in GNU "
"Emacs Lisp and Common Lisp. @code{setq}, @code{if}, and @code{catch} are "
"special forms in both Emacs Lisp and Common Lisp. @code{save-excursion} is "
"a special form in Emacs 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 Emacs Lisp (which doesn't "
"have multiple values)."
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:554
msgid ""
"The @dfn{autoload} feature allows you to call a function or macro whose "
"function definition has not yet been loaded into Emacs. It specifies which "
"file contains the definition. When an autoload object appears as a symbol's "
"function definition, calling that symbol as a function automatically loads "
"the specified file; then it calls the real definition loaded from that "
"file. The way to arrange for an autoload object to appear as a symbol's "
"function definition is described in @ref{Autoload}."
msgstr ""
#. type: cindex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:557
#, no-wrap
msgid "forms, quote"
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:564
msgid ""
"The special form @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.)"
msgstr ""
#. type: defspec
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:565
#, no-wrap
msgid "quote object"
msgstr ""
#. type: defspec
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:569
msgid ""
"This special form returns @var{object}, without evaluating it. The returned "
"value might be shared and should not be modified. @xref{Self-Evaluating "
"Forms}."
msgstr ""
#. type: cindex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:571
#, no-wrap
msgid "@samp{'} for quoting"
msgstr ""
#. type: cindex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:572
#, no-wrap
msgid "quoting using apostrophe"
msgstr ""
#. type: cindex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:573
#, no-wrap
msgid "apostrophe for quoting"
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:579
msgid ""
"Because @code{quote} is used so often in programs, Lisp provides a "
"convenient read syntax for it. An apostrophe character (@samp{'}) followed "
"by a Lisp object (in read syntax) expands to a list whose first element is "
"@code{quote}, and whose second element is the object. Thus, the read syntax "
"@code{'x} is an abbreviation for @code{(quote x)}."
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:581
msgid "Here are some examples of expressions that use @code{quote}:"
msgstr ""
#. type: group
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:586
#, no-wrap
msgid ""
"(quote (+ 1 2))\n"
" @result{} (+ 1 2)\n"
msgstr ""
#. type: group
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:590
#, no-wrap
msgid ""
"(quote foo)\n"
" @result{} foo\n"
msgstr ""
#. type: group
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:594
#, no-wrap
msgid ""
"'foo\n"
" @result{} foo\n"
msgstr ""
#. type: group
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:598
#, no-wrap
msgid ""
"''foo\n"
" @result{} 'foo\n"
msgstr ""
#. type: group
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:602
#, no-wrap
msgid ""
"'(quote foo)\n"
" @result{} 'foo\n"
msgstr ""
#. type: group
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:606
#, no-wrap
msgid ""
"['foo]\n"
" @result{} ['foo]\n"
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:614
msgid ""
"Although the expressions @code{(list '+ 1 2)} and @code{'(+ 1 2)} both yield "
"lists equal to @code{(+ 1 2)}, the former yields a freshly-minted mutable "
"list whereas the latter yields a list built from conses that might be shared "
"and should not be modified. @xref{Self-Evaluating Forms}."
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:619
msgid ""
"Other quoting constructs include @code{function} (@pxref{Anonymous "
"Functions}), which causes an anonymous lambda expression written in Lisp to "
"be compiled, and @samp{`} (@pxref{Backquote}), which is used to quote only "
"part of a list, while computing and substituting other parts."
msgstr ""
#. type: cindex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:622
#, no-wrap
msgid "backquote (list substitution)"
msgstr ""
#. type: cindex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:623
#, no-wrap
msgid "` (list substitution)"
msgstr ""
#. type: findex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:624
#, no-wrap
msgid "`"
msgstr ""
#. type: cindex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:625
#, no-wrap
msgid "forms, backquote"
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:630
msgid ""
"@dfn{Backquote constructs} allow you to quote a list, but selectively "
"evaluate elements of that list. In the simplest case, it is identical to "
"the special form"
msgstr ""
#. type: iftex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:632
msgid "@code{quote}."
msgstr ""
#. type: ifnottex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:636
msgid "@code{quote} (described in the previous section; @pxref{Quoting})."
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:638
msgid "For example, these two forms yield identical results:"
msgstr ""
#. type: group
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:643
#, no-wrap
msgid ""
"`(a list of (+ 2 3) elements)\n"
" @result{} (a list of (+ 2 3) elements)\n"
msgstr ""
#. type: group
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:647
#, no-wrap
msgid ""
"'(a list of (+ 2 3) elements)\n"
" @result{} (a list of (+ 2 3) elements)\n"
msgstr ""
#. type: findex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:650
#, no-wrap
msgid ", @r{(with backquote)}"
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:655
msgid ""
"The special marker @samp{,} inside of the argument to backquote indicates a "
"value that isn't constant. The Emacs Lisp evaluator evaluates the argument "
"of @samp{,}, and puts the value in the list structure:"
msgstr ""
#. type: group
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:660
#, no-wrap
msgid ""
"`(a list of ,(+ 2 3) elements)\n"
" @result{} (a list of 5 elements)\n"
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:666
msgid ""
"Substitution with @samp{,} is allowed at deeper levels of the list structure "
"also. For example:"
msgstr ""
#. type: group
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:671
#, no-wrap
msgid ""
"`(1 2 (3 ,(+ 4 5)))\n"
" @result{} (1 2 (3 9))\n"
msgstr ""
#. type: findex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:674
#, no-wrap
msgid ",@@ @r{(with backquote)}"
msgstr ""
#. type: cindex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:675
#, no-wrap
msgid "splicing (with backquote)"
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:681
msgid ""
"You can also @dfn{splice} an evaluated value into the resulting list, using "
"the special marker @samp{,@@}. The elements of the spliced list become "
"elements at the same level as the other elements of the resulting list. The "
"equivalent code without using @samp{`} is often unreadable. Here are some "
"examples:"
msgstr ""
#. type: group
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:686
#, no-wrap
msgid ""
"(setq some-list '(2 3))\n"
" @result{} (2 3)\n"
msgstr ""
#. type: group
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:690
#, no-wrap
msgid ""
"(cons 1 (append some-list '(4) some-list))\n"
" @result{} (1 2 3 4 2 3)\n"
msgstr ""
#. type: group
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:694
#, no-wrap
msgid ""
"`(1 ,@@some-list 4 ,@@some-list)\n"
" @result{} (1 2 3 4 2 3)\n"
msgstr ""
#. type: group
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:699
#, no-wrap
msgid ""
"(setq list '(hack foo bar))\n"
" @result{} (hack foo bar)\n"
msgstr ""
#. type: group
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:705
#, no-wrap
msgid ""
"(cons 'use\n"
" (cons 'the\n"
" (cons 'words (append (cdr list) '(as elements)))))\n"
" @result{} (use the words foo bar as elements)\n"
msgstr ""
#. type: group
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:709
#, no-wrap
msgid ""
"`(use the words ,@@(cdr list) as elements)\n"
" @result{} (use the words foo bar as elements)\n"
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:716
msgid ""
"If a subexpression of a backquote construct has no substitutions or splices, "
"it acts like @code{quote} in that it yields conses, vectors and strings that "
"might be shared and should not be modified. @xref{Self-Evaluating Forms}."
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:730
msgid ""
"Most often, forms are evaluated automatically, by virtue of their occurrence "
"in a program being run. On rare occasions, you may need to write code that "
"evaluates a form that is computed at run time, such as after reading a form "
"from text being edited or getting one from a property list. On these "
"occasions, use the @code{eval} function. Often @code{eval} is not needed "
"and something else should be used instead. For example, to get the value of "
"a variable, while @code{eval} works, @code{symbol-value} is preferable; or "
"rather than store expressions in a property list that then need to go "
"through @code{eval}, it is better to store functions instead that are then "
"passed to @code{funcall}."
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:734
msgid ""
"The functions and variables described in this section evaluate forms, "
"specify limits to the evaluation process, or record recently returned "
"values. Loading a file also does evaluation (@pxref{Loading})."
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:740
msgid ""
"It is generally cleaner and more flexible to store a function in a data "
"structure, and call it with @code{funcall} or @code{apply}, than to store an "
"expression in the data structure and evaluate it. Using functions provides "
"the ability to pass information to them as arguments."
msgstr ""
#. type: defun
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:741
#, no-wrap
msgid "eval form &optional lexical"
msgstr ""
#. type: defun
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:746
msgid ""
"This is the basic function for evaluating an expression. It evaluates "
"@var{form} in the current environment, and returns the result. The type of "
"the @var{form} object determines how it is evaluated. @xref{Forms}."
msgstr ""
#. type: defun
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:755
msgid ""
"The argument @var{lexical} specifies the scoping rule for local variables "
"(@pxref{Variable Scoping}). If it is omitted or @code{nil}, that means to "
"evaluate @var{form} using the default dynamic scoping rule. If it is "
"@code{t}, that means to use the lexical scoping rule. The value of "
"@var{lexical} can also be a non-empty alist specifying a particular "
"@dfn{lexical environment} for lexical bindings; however, this feature is "
"only useful for specialized purposes, such as in Emacs Lisp debuggers. "
"@xref{Lexical Binding}."
msgstr ""
#. type: defun
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:760
msgid ""
"Since @code{eval} is a function, the argument expression that appears in a "
"call to @code{eval} is evaluated twice: once as preparation before "
"@code{eval} is called, and again by the @code{eval} function itself. Here "
"is an example:"
msgstr ""
#. type: group
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:765
#, no-wrap
msgid ""
"(setq foo 'bar)\n"
" @result{} bar\n"
msgstr ""
#. type: group
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:775
#, no-wrap
msgid ""
"(setq bar 'baz)\n"
" @result{} baz\n"
";; @r{Here @code{eval} receives argument @code{foo}}\n"
"(eval 'foo)\n"
" @result{} bar\n"
";; @r{Here @code{eval} receives argument @code{bar}, which is the value of "
"@code{foo}}\n"
"(eval foo)\n"
" @result{} baz\n"
msgstr ""
#. type: defun
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:780
msgid ""
"The number of currently active calls to @code{eval} is limited to "
"@code{max-lisp-eval-depth} (see below)."
msgstr ""
#. type: deffn
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:782
#, no-wrap
msgid "Command eval-region start end &optional stream read-function"
msgstr ""
#. type: anchor{#1}
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:788
msgid "Definition of eval-region"
msgstr ""
#. type: deffn
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:788
msgid ""
"This function evaluates the forms in the current buffer in the region "
"defined by the positions @var{start} and @var{end}. It reads forms from the "
"region and calls @code{eval} on them until the end of the region is reached, "
"or until an error is signaled and not handled."
msgstr ""
#. type: deffn
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:794
msgid ""
"By default, @code{eval-region} does not produce any output. However, if "
"@var{stream} is non-@code{nil}, any output produced by output functions "
"(@pxref{Output Functions}), as well as the values that result from "
"evaluating the expressions in the region are printed using @var{stream}. "
"@xref{Output Streams}."
msgstr ""
#. type: deffn
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:802
msgid ""
"If @var{read-function} is non-@code{nil}, it should be a function, which is "
"used instead of @code{read} to read expressions one by one. This function "
"is called with one argument, the stream for reading input. You can also use "
"the variable @code{load-read-function} (@pxref{Definition of "
"load-read-function,, How Programs Do Loading}) to specify this function, "
"but it is more robust to use the @var{read-function} argument."
msgstr ""
#. type: deffn
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:804
msgid "@code{eval-region} does not move point. It always returns @code{nil}."
msgstr ""
#. type: cindex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:806
#, no-wrap
msgid "evaluation of buffer contents"
msgstr ""
#. type: deffn
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:807
#, no-wrap
msgid "Command eval-buffer &optional buffer-or-name stream filename unibyte print"
msgstr ""
#. type: deffn
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:822
msgid ""
"This is similar to @code{eval-region}, but the arguments provide different "
"optional features. @code{eval-buffer} operates on the entire accessible "
"portion of buffer @var{buffer-or-name} (@pxref{Narrowing,,, emacs, The GNU "
"Emacs Manual}). @var{buffer-or-name} can be a buffer, a buffer name (a "
"string), or @code{nil} (or omitted), which means to use the current buffer. "
"@var{stream} is used as in @code{eval-region}, unless @var{stream} is "
"@code{nil} and @var{print} non-@code{nil}. In that case, values that result "
"from evaluating the expressions are still discarded, but the output of the "
"output functions is printed in the echo area. @var{filename} is the file "
"name to use for @code{load-history} (@pxref{Unloading}), and defaults to "
"@code{buffer-file-name} (@pxref{Buffer File Name}). If @var{unibyte} is "
"non-@code{nil}, @code{read} converts strings to unibyte whenever possible."
msgstr ""
#. type: findex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:823
#, no-wrap
msgid "eval-current-buffer"
msgstr ""
#. type: deffn
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:825
msgid "@code{eval-current-buffer} is an alias for this command."
msgstr ""
#. type: defopt
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:827
#, no-wrap
msgid "max-lisp-eval-depth"
msgstr ""
#. type: anchor{#1}
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:832
msgid "Definition of max-lisp-eval-depth"
msgstr ""
#. type: defopt
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:832
msgid ""
"This variable defines the maximum depth allowed in calls to @code{eval}, "
"@code{apply}, and @code{funcall} before an error is signaled (with error "
"message @code{\"Lisp nesting exceeds max-lisp-eval-depth\"})."
msgstr ""
#. type: defopt
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:841
msgid ""
"This limit, with the associated error when it is exceeded, is one way Emacs "
"Lisp avoids infinite recursion on an ill-defined function. If you increase "
"the value of @code{max-lisp-eval-depth} too much, such code can cause stack "
"overflow instead. On some systems, this overflow can be handled. In that "
"case, normal Lisp evaluation is interrupted and control is transferred back "
"to the top level command loop (@code{top-level}). Note that there is no way "
"to enter Emacs Lisp debugger in this situation. @xref{Error Debugging}."
msgstr ""
#. type: cindex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:842
#, no-wrap
msgid "Lisp nesting error"
msgstr ""
#. type: defopt
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:848
msgid ""
"The depth limit counts internal uses of @code{eval}, @code{apply}, and "
"@code{funcall}, such as for calling the functions mentioned in Lisp "
"expressions, and recursive evaluation of function call arguments and "
"function body forms, as well as explicit calls in Lisp code."
msgstr ""
#. type: defopt
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:854
msgid ""
"The default value of this variable is 800. If you set it to a value less "
"than 100, Lisp will reset it to 100 if the given value is reached. Entry to "
"the Lisp debugger increases the value, if there is little room left, to make "
"sure the debugger itself has room to execute."
msgstr ""
#. type: defopt
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:857
msgid ""
"@code{max-specpdl-size} provides another limit on nesting. @xref{Definition "
"of max-specpdl-size,, Local Variables}."
msgstr ""
#. type: defvar
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:859
#, no-wrap
msgid "values"
msgstr ""
#. type: defvar
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:866
msgid ""
"The value of this variable is a list of the values returned by all the "
"expressions that were read, evaluated, and printed from buffers (including "
"the minibuffer) by the standard Emacs commands which do this. (Note that "
"this does @emph{not} include evaluation in @file{*ielm*} buffers, nor "
"evaluation using @kbd{C-j}, @kbd{C-x C-e}, and similar evaluation commands "
"in @code{lisp-interaction-mode}.)"
msgstr ""
#. type: defvar
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:870
msgid ""
"This variable is obsolete, and will be removed in a future version, since it "
"constantly enlarges the memory footprint of the Emacs process. For that "
"reason, we recommend against using it."
msgstr ""
#. type: defvar
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:872
msgid "The elements of @code{values} are ordered most recent first."
msgstr ""
#. type: group
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:877
#, no-wrap
msgid ""
"(setq x 1)\n"
" @result{} 1\n"
msgstr ""
#. type: group
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:881
#, no-wrap
msgid ""
"(list 'A (1+ 2) auto-save-default)\n"
" @result{} (A 3 t)\n"
msgstr ""
#. type: group
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:885
#, no-wrap
msgid ""
"values\n"
" @result{} ((A 3 t) 1 @dots{})\n"
msgstr ""
#. type: defvar
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:892
msgid ""
"This variable could be useful for referring back to values of forms recently "
"evaluated. It is generally a bad idea to print the value of @code{values} "
"itself, since this may be very long. Instead, examine particular elements, "
"like this:"
msgstr ""
#. type: group
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:898
#, no-wrap
msgid ""
";; @r{Refer to the most recent evaluation result.}\n"
"(nth 0 values)\n"
" @result{} (A 3 t)\n"
msgstr ""
#. type: group
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:904
#, no-wrap
msgid ""
";; @r{That put a new element on,}\n"
";; @r{so all elements move back one.}\n"
"(nth 1 values)\n"
" @result{} (A 3 t)\n"
msgstr ""
#. type: group
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:910
#, no-wrap
msgid ""
";; @r{This gets the element that was next-to-most-recent}\n"
";; @r{before this example.}\n"
"(nth 3 values)\n"
" @result{} 1\n"
msgstr ""
#. type: section
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:915
#, no-wrap
msgid "Deferred and Lazy Evaluation"
msgstr ""
#. type: cindex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:917
#, no-wrap
msgid "deferred evaluation"
msgstr ""
#. type: cindex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:918
#, no-wrap
msgid "lazy evaluation"
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:926
msgid ""
"Sometimes it is useful to delay the evaluation of an expression, for example "
"if you want to avoid performing a time-consuming calculation if it turns out "
"that the result is not needed in the future of the program. The "
"@file{thunk} library provides the following functions and macros to support "
"such @dfn{deferred evaluation}:"
msgstr ""
#. type: cindex
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:927
#, no-wrap
msgid "thunk"
msgstr ""
#. type: defmac
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:928
#, no-wrap
msgid "thunk-delay forms@dots{}"
msgstr ""
#. type: defmac
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:933
msgid ""
"Return a @dfn{thunk} for evaluating the @var{forms}. A thunk is a closure "
"(@pxref{Closures}) that inherits the lexical environment of the "
"@code{thunk-delay} call. Using this macro requires @code{lexical-binding}."
msgstr ""
#. type: defun
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:935
#, no-wrap
msgid "thunk-force thunk"
msgstr ""
#. type: defun
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:942
msgid ""
"Force @var{thunk} to perform the evaluation of the forms specified in the "
"@code{thunk-delay} that created the thunk. The result of the evaluation of "
"the last form is returned. The @var{thunk} also ``remembers'' that it has "
"been forced: Any further calls of @code{thunk-force} with the same "
"@var{thunk} will just return the same result without evaluating the forms "
"again."
msgstr ""
#. type: defmac
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:944
#, no-wrap
msgid "thunk-let (bindings@dots{}) forms@dots{}"
msgstr ""
#. type: defmac
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:952
msgid ""
"This macro is analogous to @code{let} but creates ``lazy'' variable "
"bindings. Any binding has the form @w{@code{(@var{symbol} "
"@var{value-form})}}. Unlike @code{let}, the evaluation of any "
"@var{value-form} is deferred until the binding of the according @var{symbol} "
"is used for the first time when evaluating the @var{forms}. Any "
"@var{value-form} is evaluated at most once. Using this macro requires "
"@code{lexical-binding}."
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:955
msgid "Example:"
msgstr ""
#. type: group
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:965
#, no-wrap
msgid ""
"(defun f (number)\n"
" (thunk-let ((derived-number\n"
" (progn (message \"Calculating 1 plus 2 times %d\" number)\n"
" (1+ (* 2 number)))))\n"
" (if (> number 10)\n"
" derived-number\n"
" number)))\n"
msgstr ""
#. type: group
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:970
#, no-wrap
msgid ""
"(f 5)\n"
"@result{} 5\n"
msgstr ""
#. type: group
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:976
#, no-wrap
msgid ""
"(f 12)\n"
"@print{} Calculating 1 plus 2 times 12\n"
"@result{} 25\n"
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:982
msgid ""
"Because of the special nature of lazily bound variables, it is an error to "
"set them (e.g.@: with @code{setq})."
msgstr ""
#. type: defmac
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:984
#, no-wrap
msgid "thunk-let* (bindings@dots{}) forms@dots{}"
msgstr ""
#. type: defmac
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:988
msgid ""
"This is like @code{thunk-let} but any expression in @var{bindings} is "
"allowed to refer to preceding bindings in this @code{thunk-let*} form. "
"Using this macro requires @code{lexical-binding}."
msgstr ""
#. type: group
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:1005
#, no-wrap
msgid ""
"(thunk-let* ((x (prog2 (message \"Calculating x...\")\n"
" (+ 1 1)\n"
" (message \"Finished calculating x\")))\n"
" (y (prog2 (message \"Calculating y...\")\n"
" (+ x 1)\n"
" (message \"Finished calculating y\")))\n"
" (z (prog2 (message \"Calculating z...\")\n"
" (+ y 1)\n"
" (message \"Finished calculating z\")))\n"
" (a (prog2 (message \"Calculating a...\")\n"
" (+ z 1)\n"
" (message \"Finished calculating a\"))))\n"
" (* z x))\n"
"\n"
msgstr ""
#. type: group
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:1013
#, no-wrap
msgid ""
"@print{} Calculating z...\n"
"@print{} Calculating y...\n"
"@print{} Calculating x...\n"
"@print{} Finished calculating x\n"
"@print{} Finished calculating y\n"
"@print{} Finished calculating z\n"
"@result{} 8\n"
"\n"
msgstr ""
#. type: Plain text
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
#: Sources/doc/lispref/eval.texi:1024
msgid ""
"@code{thunk-let} and @code{thunk-let*} use thunks implicitly: their "
"expansion creates helper symbols and binds them to thunks wrapping the "
"binding expressions. All references to the original variables in the body "
"@var{forms} are then replaced by an expression that calls @code{thunk-force} "
"with the according helper variable as the argument. So, any code using "
"@code{thunk-let} or @code{thunk-let*} could be rewritten to use thunks, but "
"in many cases using these macros results in nicer code than using thunks "
"explicitly."
msgstr ""