# SOME DESCRIPTIVE TITLE # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , 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 \n" "Language-Team: LANGUAGE \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/objects.texi:6 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:7 #, no-wrap msgid "Lisp Data Types" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:8 #, no-wrap msgid "object" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:9 #, no-wrap msgid "Lisp object" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:10 #, no-wrap msgid "type" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:11 #, no-wrap msgid "data type" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:16 msgid "" "A Lisp @dfn{object} is a piece of data used and manipulated by Lisp " "programs. For our purposes, a @dfn{type} or @dfn{data type} is a set of " "possible objects." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:22 msgid "" "Every object belongs to at least one type. Objects of the same type have " "similar structures and may usually be used in the same contexts. Types can " "overlap, and objects can belong to two or more types. Consequently, we can " "ask whether an object belongs to a particular type, but not for @emph{the} " "type of an object." msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:23 #, no-wrap msgid "primitive type" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:32 msgid "" "A few fundamental object types are built into Emacs. These, from which all " "other types are constructed, are called @dfn{primitive types}. Each object " "belongs to one and only one primitive type. These types include " "@dfn{integer}, @dfn{float}, @dfn{cons}, @dfn{symbol}, @dfn{string}, " "@dfn{vector}, @dfn{hash-table}, @dfn{subr}, @dfn{byte-code function}, and " "@dfn{record}, plus several special types, such as @dfn{buffer}, that are " "related to editing. (@xref{Editing Types}.)" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:35 msgid "" "Each primitive type has a corresponding Lisp function that checks whether an " "object is a member of that type." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:40 msgid "" "Lisp is unlike many other languages in that its objects are " "@dfn{self-typing}: the primitive type of each object is implicit in the " "object itself. For example, if an object is a vector, nothing can treat it " "as a number; Lisp knows it is a vector, not a number." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:48 msgid "" "In most languages, the programmer must declare the data type of each " "variable, and the type is known by the compiler but not represented in the " "data. Such type declarations do not exist in Emacs Lisp. A Lisp variable " "can have any type of value, and it remembers whatever value you store in it, " "type and all. (Actually, a small number of Emacs Lisp variables can only " "take on values of a certain type. @xref{Variables with Restricted Values}.)" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:52 msgid "" "This chapter describes the purpose, printed representation, and read syntax " "of each of the standard types in GNU Emacs Lisp. Details on how to use " "these types can be found in later chapters." msgstr "" #. type: node #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:63 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:65 #, no-wrap msgid "Printed Representation" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:63 msgid "How Lisp objects are represented as text." msgstr "" #. type: section #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:63 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:111 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:112 #, no-wrap msgid "Special Read Syntax" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:63 msgid "An overview of all the special sequences." msgstr "" #. type: section #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:63 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:184 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:185 #, no-wrap msgid "Comments" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:63 msgid "Comments and their formatting conventions." msgstr "" #. type: section #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:63 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:204 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:205 #, no-wrap msgid "Programming Types" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:63 msgid "Types found in all Lisp systems." msgstr "" #. type: section #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:63 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1513 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1514 #, no-wrap msgid "Editing Types" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:63 msgid "Types specific to Emacs." msgstr "" #. type: node #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:63 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1863 #, no-wrap msgid "Circular Objects" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:63 msgid "Read syntax for circular structure." msgstr "" #. type: section #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:63 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1926 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1927 #, no-wrap msgid "Type Predicates" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:63 msgid "Tests related to types." msgstr "" #. type: section #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:63 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2161 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2162 #, no-wrap msgid "Equality Predicates" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:63 msgid "Tests of equality between any two objects." msgstr "" #. type: section #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:63 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2385 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2386 #, no-wrap msgid "Mutability" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:63 msgid "Some objects should not be modified." msgstr "" #. type: section #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:66 #, no-wrap msgid "Printed Representation and Read Syntax" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:67 #, no-wrap msgid "printed representation" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:68 #, no-wrap msgid "read syntax" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:77 msgid "" "The @dfn{printed representation} of an object is the format of the output " "generated by the Lisp printer (the function @code{prin1}) for that object. " "Every data type has a unique printed representation. The @dfn{read syntax} " "of an object is the format of the input accepted by the Lisp reader (the " "function @code{read}) for that object. This is not necessarily unique; many " "kinds of object have more than one syntax. @xref{Read and Print}." msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:78 #, no-wrap msgid "hash notation" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:86 msgid "" "In most cases, an object's printed representation is also a read syntax for " "the object. However, some types have no read syntax, since it does not make " "sense to enter objects of these types as constants in a Lisp program. These " "objects are printed in @dfn{hash notation}, which consists of the characters " "@samp{#<}, a descriptive string (typically the type name followed by the " "name of the object), and a closing @samp{>}. For example:" msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:90 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1600 #, no-wrap msgid "" "(current-buffer)\n" " @result{} #\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:95 msgid "" "Hash notation cannot be read at all, so the Lisp reader signals the error " "@code{invalid-read-syntax} whenever it encounters @samp{#<}." msgstr "" #. type: kindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:95 #, no-wrap msgid "invalid-read-syntax" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:102 msgid "" "In other languages, an expression is text; it has no other form. In Lisp, " "an expression is primarily a Lisp object and only secondarily the text that " "is the object's read syntax. Often there is no need to emphasize this " "distinction, but you must keep it in the back of your mind, or you will " "occasionally be very confused." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:110 msgid "" "When you evaluate an expression interactively, the Lisp interpreter first " "reads the textual representation of it, producing a Lisp object, and then " "evaluates that object (@pxref{Evaluation}). However, evaluation and reading " "are separate activities. Reading returns the Lisp object represented by the " "text that is read; the object may or may not be evaluated later. " "@xref{Input Functions}, for a description of @code{read}, the basic function " "for reading objects." msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:113 #, no-wrap msgid "special read syntax" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:117 msgid "" "Emacs Lisp represents many special objects and constructs via special hash " "notations." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:119 #, no-wrap msgid "#<@dots{}>" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:122 msgid "" "Objects that have no read syntax are presented like this (@pxref{Printed " "Representation})." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:123 #, no-wrap msgid "##" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:126 msgid "" "The printed representation of an interned symbol whose name is an empty " "string (@pxref{Symbol Type})." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:127 #, no-wrap msgid "#'" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:129 msgid "This is a shortcut for @code{function}, see @ref{Anonymous Functions}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:130 #, no-wrap msgid "#:" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:133 msgid "" "The printed representation of an uninterned symbol whose name is @var{foo} " "is @samp{#:@var{foo}} (@pxref{Symbol Type})." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:134 #, no-wrap msgid "#N" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:138 msgid "" "When printing circular structures, this construct is used to represent where " "the structure loops back onto itself, and @samp{N} is the starting list " "count:" msgstr "" #. type: lisp #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:143 #, no-wrap msgid "" "(let ((a (list 1)))\n" " (setcdr a a))\n" "=> (1 . #0)\n" msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:145 #, no-wrap msgid "#N=" msgstr "" #. type: itemx #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:146 #, no-wrap msgid "#N#" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:150 msgid "" "@samp{#N=} gives the name to an object, and @samp{#N#} represents that " "object, so when reading back the object, they will be the same object " "instead of copies (@pxref{Circular Objects})." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:151 #, no-wrap msgid "#xN" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:153 msgid "@samp{N} represented as a hexadecimal number (@samp{#x2a})." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:154 #, no-wrap msgid "#oN" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:156 msgid "@samp{N} represented as an octal number (@samp{#o52})." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:157 #, no-wrap msgid "#bN" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:159 msgid "@samp{N} represented as a binary number (@samp{#b101010})." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:160 #, no-wrap msgid "#(@dots{})" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:162 msgid "String text properties (@pxref{Text Props and Strings})." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:163 #, no-wrap msgid "#^" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:165 msgid "A char table (@pxref{Char-Table Type})." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:166 #, no-wrap msgid "#s(hash-table @dots{})" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:168 msgid "A hash table (@pxref{Hash Table Type})." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:169 #, no-wrap msgid "?C" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:171 msgid "A character (@pxref{Basic Char Syntax})." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:172 #, no-wrap msgid "#$" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:176 msgid "" "The current file name in byte-compiled files (@pxref{Docs and " "Compilation}). This is not meant to be used in Emacs Lisp source files." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:177 #, no-wrap msgid "#@@N" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:181 msgid "" "Skip the next @samp{N} characters (@pxref{Comments}). This is used in " "byte-compiled files, and is not meant to be used in Emacs Lisp source files." msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:186 #, no-wrap msgid "comments" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:187 #, no-wrap msgid "@samp{;} for commenting" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:196 msgid "" "A @dfn{comment} is text that is written in a program only for the sake of " "humans that read the program, and that has no effect on the meaning of the " "program. In Lisp, an unescaped semicolon (@samp{;}) starts a comment if it " "is not within a string or character constant. The comment continues to the " "end of line. The Lisp reader discards comments; they do not become part of " "the Lisp objects which represent the program within the Lisp system." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:201 msgid "" "The @samp{#@@@var{count}} construct, which skips the next @var{count} " "characters, is useful for program-generated comments containing binary " "data. The Emacs Lisp byte compiler uses this in its output files " "(@pxref{Byte Compilation}). It isn't meant for source files, however." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:203 msgid "@xref{Comment Tips}, for conventions for formatting comments." msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:206 #, no-wrap msgid "programming types" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:212 msgid "" "There are two general categories of types in Emacs Lisp: those having to do " "with Lisp programming, and those having to do with editing. The former " "exist in many Lisp implementations, in one form or another. The latter are " "unique to Emacs Lisp." msgstr "" #. type: subsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:238 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:241 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:242 #, no-wrap msgid "Integer Type" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:238 msgid "Numbers without fractional parts." msgstr "" #. type: subsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:238 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:291 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:292 #, no-wrap msgid "Floating-Point Type" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:238 msgid "Numbers with fractional parts and with a large range." msgstr "" #. type: subsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:238 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:309 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:310 #, no-wrap msgid "Character Type" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:238 msgid "The representation of letters, numbers and control characters." msgstr "" #. type: subsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:238 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:616 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:617 #, no-wrap msgid "Symbol Type" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:238 msgid "" "A multi-use object that refers to a function, variable, or property list, " "and has a unique identity." msgstr "" #. type: node #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:238 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:704 #, no-wrap msgid "Sequence Type" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:238 msgid "Both lists and arrays are classified as sequences." msgstr "" #. type: node #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:238 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:737 #, no-wrap msgid "Cons Cell Type" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:238 msgid "Cons cells, and lists (which are made from cons cells)." msgstr "" #. type: subsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:238 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1037 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1038 #, no-wrap msgid "Array Type" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:238 msgid "Arrays include strings and vectors." msgstr "" #. type: subsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:238 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1074 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1075 #, no-wrap msgid "String Type" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:238 msgid "An (efficient) array of characters." msgstr "" #. type: subsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:238 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1251 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1252 #, no-wrap msgid "Vector Type" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:238 msgid "One-dimensional arrays." msgstr "" #. type: subsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:238 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1271 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1272 #, no-wrap msgid "Char-Table Type" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:238 msgid "One-dimensional sparse arrays indexed by characters." msgstr "" #. type: subsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:238 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1304 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1305 #, no-wrap msgid "Bool-Vector Type" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:238 msgid "One-dimensional arrays of @code{t} or @code{nil}." msgstr "" #. type: subsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:238 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1339 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1340 #, no-wrap msgid "Hash Table Type" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:238 msgid "Super-fast lookup tables." msgstr "" #. type: subsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:238 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1356 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1357 #, no-wrap msgid "Function Type" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:238 msgid "A piece of executable code you can call from elsewhere." msgstr "" #. type: subsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:238 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1378 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1379 #, no-wrap msgid "Macro Type" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:238 msgid "" "A method of expanding an expression into another expression, more " "fundamental but less pretty." msgstr "" #. type: subsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:238 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1396 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1397 #, no-wrap msgid "Primitive Function Type" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:238 msgid "A function written in C, callable from Lisp." msgstr "" #. type: node #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:238 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1433 #, no-wrap msgid "Byte-Code Type" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:238 msgid "A function written in Lisp, then compiled." msgstr "" #. type: subsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:238 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1446 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1447 #, no-wrap msgid "Record Type" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:238 msgid "Compound objects with programmer-defined types." msgstr "" #. type: subsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:238 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1456 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1457 #, no-wrap msgid "Type Descriptors" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:238 msgid "Objects holding information about types." msgstr "" #. type: subsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:238 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1468 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1469 #, no-wrap msgid "Autoload Type" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:238 msgid "A type used for automatically loading seldom-used functions." msgstr "" #. type: subsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:238 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1488 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1489 #, no-wrap msgid "Finalizer Type" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:238 msgid "Runs code when no longer reachable." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:246 msgid "" "Under the hood, there are two kinds of integers---small integers, called " "@dfn{fixnums}, and large integers, called @dfn{bignums}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:249 msgid "" "The range of values for a fixnum depends on the machine. The minimum range " "is @minus{}536,870,912 to 536,870,911 (30 bits; i.e.," msgstr "" #. type: ifnottex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:251 msgid "@minus{}2**29" msgstr "" #. type: tex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:254 #, no-wrap msgid "@math{-2^{29}}\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:256 msgid "to" msgstr "" #. type: ifnottex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:258 msgid "2**29 @minus{} 1)" msgstr "" #. type: tex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:261 #, no-wrap msgid "@math{2^{29}-1})\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:263 msgid "but many machines provide a wider range." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:266 msgid "" "Bignums can have arbitrary precision. Operations that overflow a fixnum " "will return a bignum instead." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:272 msgid "" "All numbers can be compared with @code{eql} or @code{=}; fixnums can also be " "compared with @code{eq}. To test whether an integer is a fixnum or a " "bignum, you can compare it to @code{most-negative-fixnum} and " "@code{most-positive-fixnum}, or you can use the convenience predicates " "@code{fixnump} and @code{bignump} on any object." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:277 msgid "" "The read syntax for integers is a sequence of (base ten) digits with an " "optional sign at the beginning and an optional period at the end. The " "printed representation produced by the Lisp interpreter never has a leading " "@samp{+} or a final @samp{.}." msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:284 #, no-wrap msgid "" "-1 ; @r{The integer @minus{}1.}\n" "1 ; @r{The integer 1.}\n" "1. ; @r{Also the integer 1.}\n" "+1 ; @r{Also the integer 1.}\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:290 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:308 msgid "@xref{Numbers}, for more information." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:300 msgid "" "Floating-point numbers are the computer equivalent of scientific notation; " "you can think of a floating-point number as a fraction together with a power " "of ten. The precise number of significant figures and the range of possible " "exponents is machine-specific; Emacs uses the C data type @code{double} to " "store the value, and internally this records a power of 2 rather than a " "power of 10." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:306 msgid "" "The printed representation for floating-point numbers requires either a " "decimal point (with at least one digit following), an exponent, or both. " "For example, @samp{1500.0}, @samp{+15e2}, @samp{15.0e+2}, " "@samp{+1500000e-3}, and @samp{.15e4} are five ways of writing a " "floating-point number whose value is 1500. They are all equivalent." msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:311 #, no-wrap msgid "@acronym{ASCII} character codes" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:316 msgid "" "A @dfn{character} in Emacs Lisp is nothing more than an integer. In other " "words, characters are represented by their character codes. For example, " "the character @kbd{A} is represented as the @w{integer 65}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:320 msgid "" "Individual characters are used occasionally in programs, but it is more " "common to work with @emph{strings}, which are sequences composed of " "characters. @xref{String Type}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:327 msgid "" "Characters in strings and buffers are currently limited to the range of 0 to " "4194303---twenty two bits (@pxref{Character Codes}). Codes 0 through 127 " "are @acronym{ASCII} codes; the rest are non-@acronym{ASCII} " "(@pxref{Non-ASCII Characters}). Characters that represent keyboard input " "have a much wider range, to encode modifier keys such as Control, Meta and " "Shift." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:331 msgid "" "There are special functions for producing a human-readable textual " "description of a character for the sake of messages. @xref{Describing " "Characters}." msgstr "" #. type: subsubsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:338 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:340 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:341 #, no-wrap msgid "Basic Char Syntax" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:338 msgid "Syntax for regular characters." msgstr "" #. type: subsubsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:338 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:437 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:438 #, no-wrap msgid "General Escape Syntax" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:338 msgid "How to specify characters by their codes." msgstr "" #. type: node #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:338 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:491 #, no-wrap msgid "Ctl-Char Syntax" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:338 msgid "Syntax for control characters." msgstr "" #. type: node #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:338 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:542 #, no-wrap msgid "Meta-Char Syntax" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:338 msgid "Syntax for meta-characters." msgstr "" #. type: node #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:338 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:577 #, no-wrap msgid "Other Char Bits" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:338 msgid "Syntax for hyper-, super-, and alt-characters." msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:342 #, no-wrap msgid "read syntax for characters" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:343 #, no-wrap msgid "printed representation for characters" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:344 #, no-wrap msgid "syntax for characters" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:345 #, no-wrap msgid "@samp{?} in character constant" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:346 #, no-wrap msgid "question mark in character constant" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:354 msgid "" "Since characters are really integers, the printed representation of a " "character is a decimal number. This is also a possible read syntax for a " "character, but writing characters that way in Lisp programs is not clear " "programming. You should @emph{always} use the special read syntax formats " "that Emacs Lisp provides for characters. These syntax formats start with a " "question mark." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:359 msgid "" "The usual read syntax for alphanumeric characters is a question mark " "followed by the character; thus, @samp{?A} for the character @kbd{A}, " "@samp{?B} for the character @kbd{B}, and @samp{?a} for the character " "@kbd{a}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:361 msgid "For example:" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:364 #, no-wrap msgid "?Q @result{} 81 ?q @result{} 113\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:371 msgid "" "You can use the same syntax for punctuation characters. However, if the " "punctuation character has a special syntactic meaning in Lisp, you must " "quote it with a @samp{\\}. For example, @samp{?\\(} is the way to write the " "open-paren character. Likewise, if the character is @samp{\\}, you must use " "a second @samp{\\} to quote it: @samp{?\\\\}." msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:372 #, no-wrap msgid "whitespace" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:373 #, no-wrap msgid "bell character" msgstr "" #. type: samp{#1} #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:374 #, no-wrap msgid "\\a" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:375 #, no-wrap msgid "backspace" msgstr "" #. type: samp{#1} #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:376 #, no-wrap msgid "\\b" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:377 #, no-wrap msgid "tab (ASCII character)" msgstr "" #. type: samp{#1} #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:378 #, no-wrap msgid "\\t" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:379 #, no-wrap msgid "vertical tab" msgstr "" #. type: samp{#1} #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:380 #, no-wrap msgid "\\v" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:381 #, no-wrap msgid "formfeed" msgstr "" #. type: samp{#1} #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:382 #, no-wrap msgid "\\f" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:383 #, no-wrap msgid "newline" msgstr "" #. type: samp{#1} #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:384 #, no-wrap msgid "\\n" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:385 #, no-wrap msgid "return (ASCII character)" msgstr "" #. type: samp{#1} #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:386 #, no-wrap msgid "\\r" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:387 #, no-wrap msgid "escape (ASCII character)" msgstr "" #. type: samp{#1} #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:388 #, no-wrap msgid "\\e" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:389 #, no-wrap msgid "space (ASCII character)" msgstr "" #. type: samp{#1} #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:390 #, no-wrap msgid "\\s" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:397 msgid "" "You can express the characters control-g, backspace, tab, newline, vertical " "tab, formfeed, space, return, del, and escape as @samp{?\\a}, @samp{?\\b}, " "@samp{?\\t}, @samp{?\\n}, @samp{?\\v}, @samp{?\\f}, @samp{?\\s}, " "@samp{?\\r}, @samp{?\\d}, and @samp{?\\e}, respectively. (@samp{?\\s} " "followed by a dash has a different meaning---it applies the Super modifier " "to the following character.) Thus," msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:410 #, no-wrap msgid "" "?\\a @result{} 7 ; @r{control-g, @kbd{C-g}}\n" "?\\b @result{} 8 ; @r{backspace, @key{BS}, @kbd{C-h}}\n" "?\\t @result{} 9 ; @r{tab, @key{TAB}, @kbd{C-i}}\n" "?\\n @result{} 10 ; @r{newline, @kbd{C-j}}\n" "?\\v @result{} 11 ; @r{vertical tab, @kbd{C-k}}\n" "?\\f @result{} 12 ; @r{formfeed character, @kbd{C-l}}\n" "?\\r @result{} 13 ; @r{carriage return, @key{RET}, " "@kbd{C-m}}\n" "?\\e @result{} 27 ; @r{escape character, @key{ESC}, " "@kbd{C-[}}\n" "?\\s @result{} 32 ; @r{space character, @key{SPC}}\n" "?\\\\ @result{} 92 ; @r{backslash character, @kbd{\\}}\n" "?\\d @result{} 127 ; @r{delete character, @key{DEL}}\n" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:412 #, no-wrap msgid "escape sequence" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:418 msgid "" "These sequences which start with backslash are also known as @dfn{escape " "sequences}, because backslash plays the role of an escape character; this " "has nothing to do with the character @key{ESC}. @samp{\\s} is meant for use " "in character constants; in string constants, just write the space." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:436 msgid "" "A backslash is allowed, and harmless, preceding any character without a " "special escape meaning; thus, @samp{?\\+} is equivalent to @samp{?+}. There " "is no reason to add a backslash before most characters. However, you must " "add a backslash before any of the characters @samp{()[]\\;\"}, and you " "should add a backslash before any of the characters @samp{|'`#.,} to avoid " "confusing the Emacs commands for editing Lisp code. You should also add a " "backslash before Unicode characters which resemble the previously mentioned " "@acronym{ASCII} ones, to avoid confusing people reading your code. Emacs " "will highlight some non-escaped commonly confused characters such as " "@samp{‘} to encourage this. You can also add a backslash before whitespace " "characters such as space, tab, newline and formfeed. However, it is cleaner " "to use one of the easily readable escape sequences, such as @samp{\\t} or " "@samp{\\s}, instead of an actual whitespace character such as a tab or a " "space. (If you do write backslash followed by a space, you should write an " "extra space after the character constant to separate it from the following " "text.)" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:443 msgid "" "In addition to the specific escape sequences for special important control " "characters, Emacs provides several types of escape syntax that you can use " "to specify non-@acronym{ASCII} text characters." msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:446 #, no-wrap msgid "@samp{\\} in character constant" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:447 #, no-wrap msgid "backslash in character constants" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:448 #, no-wrap msgid "unicode character escape" msgstr "" #. type: enumerate #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:455 msgid "" "You can specify characters by their Unicode names, if any. " "@code{?\\N@{@var{NAME}@}} represents the Unicode character named " "@var{NAME}. Thus, @samp{?\\N@{LATIN SMALL LETTER A WITH GRAVE@}} is " "equivalent to @code{?à} and denotes the Unicode character U+00E0. To " "simplify entering multi-line strings, you can replace spaces in the names by " "non-empty sequences of whitespace (e.g., newlines)." msgstr "" #. type: enumerate #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:467 msgid "" "You can specify characters by their Unicode values. " "@code{?\\N@{U+@var{X}@}} represents a character with Unicode code point " "@var{X}, where @var{X} is a hexadecimal number. Also, @code{?\\u@var{xxxx}} " "and @code{?\\U@var{xxxxxxxx}} represent code points @var{xxxx} and " "@var{xxxxxxxx}, respectively, where each @var{x} is a single hexadecimal " "digit. For example, @code{?\\N@{U+E0@}}, @code{?\\u00e0} and " "@code{?\\U000000E0} are all equivalent to @code{?à} and to @samp{?\\N@{LATIN " "SMALL LETTER A WITH GRAVE@}}. The Unicode Standard defines code points only " "up to @samp{U+@var{10ffff}}, so if you specify a code point higher than " "that, Emacs signals an error." msgstr "" #. type: enumerate #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:476 msgid "" "You can specify characters by their hexadecimal character codes. A " "hexadecimal escape sequence consists of a backslash, @samp{x}, and the " "hexadecimal character code. Thus, @samp{?\\x41} is the character @kbd{A}, " "@samp{?\\x1} is the character @kbd{C-a}, and @code{?\\xe0} is the character " "@kbd{à} (@kbd{a} with grave accent). You can use any number of hex digits, " "so you can represent any character code in this way." msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:478 #, no-wrap msgid "octal character code" msgstr "" #. type: enumerate #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:485 msgid "" "You can specify characters by their character code in octal. An octal " "escape sequence consists of a backslash followed by up to three octal " "digits; thus, @samp{?\\101} for the character @kbd{A}, @samp{?\\001} for the " "character @kbd{C-a}, and @code{?\\002} for the character @kbd{C-b}. Only " "characters up to octal code 777 can be specified this way." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:490 msgid "" "These escape sequences may also be used in strings. @xref{Non-ASCII in " "Strings}." msgstr "" #. type: subsubsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:492 #, no-wrap msgid "Control-Character Syntax" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:494 #, no-wrap msgid "control characters" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:500 msgid "" "Control characters can be represented using yet another read syntax. This " "consists of a question mark followed by a backslash, caret, and the " "corresponding non-control character, in either upper or lower case. For " "example, both @samp{?\\^I} and @samp{?\\^i} are valid read syntax for the " "character @kbd{C-i}, the character whose value is 9." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:503 msgid "" "Instead of the @samp{^}, you can use @samp{C-}; thus, @samp{?\\C-i} is " "equivalent to @samp{?\\^I} and to @samp{?\\^i}:" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:506 #, no-wrap msgid "?\\^I @result{} 9 ?\\C-I @result{} 9\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:512 msgid "" "In strings and buffers, the only control characters allowed are those that " "exist in @acronym{ASCII}; but for keyboard input purposes, you can turn any " "character into a control character with @samp{C-}. The character codes for " "these non-@acronym{ASCII} control characters include the" msgstr "" #. type: tex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:514 #, no-wrap msgid "@math{2^{26}}\n" msgstr "" #. type: ifnottex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:517 msgid "2**26" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:522 msgid "" "bit as well as the code for the corresponding non-control character. Not " "all text terminals can generate non-@acronym{ASCII} control characters, but " "it is straightforward to generate them using X and other window systems." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:525 msgid "" "For historical reasons, Emacs treats the @key{DEL} character as the control " "equivalent of @kbd{?}:" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:528 #, no-wrap msgid "?\\^? @result{} 127 ?\\C-? @result{} 127\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:535 msgid "" "As a result, it is currently not possible to represent the character " "@kbd{Control-?}, which is a meaningful input character under X, using " "@samp{\\C-}. It is not easy to change this, as various Lisp files refer to " "@key{DEL} in this way." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:541 msgid "" "For representing control characters to be found in files or strings, we " "recommend the @samp{^} syntax; for control characters in keyboard input, we " "prefer the @samp{C-} syntax. Which one you use does not affect the meaning " "of the program, but may guide the understanding of people who read it." msgstr "" #. type: subsubsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:543 #, no-wrap msgid "Meta-Character Syntax" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:545 #, no-wrap msgid "meta characters" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:548 msgid "" "A @dfn{meta character} is a character typed with the @key{META} modifier " "key. The integer that represents such a character has the" msgstr "" #. type: tex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:550 #, no-wrap msgid "@math{2^{27}}\n" msgstr "" #. type: ifnottex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:553 msgid "2**27" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:556 msgid "" "bit set. We use high bits for this and other modifiers to make possible a " "wide range of basic character codes." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:558 msgid "In a string, the" msgstr "" #. type: tex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:560 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1198 #, no-wrap msgid "@math{2^{7}}\n" msgstr "" #. type: ifnottex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:563 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1201 msgid "2**7" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:569 msgid "" "bit attached to an @acronym{ASCII} character indicates a meta character; " "thus, the meta characters that can fit in a string have codes in the range " "from 128 to 255, and are the meta versions of the ordinary @acronym{ASCII} " "characters. @xref{Strings of Events}, for details about @key{META}-handling " "in strings." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:576 msgid "" "The read syntax for meta characters uses @samp{\\M-}. For example, " "@samp{?\\M-A} stands for @kbd{M-A}. You can use @samp{\\M-} together with " "octal character codes (see below), with @samp{\\C-}, or with any other " "syntax for a character. Thus, you can write @kbd{M-A} as @samp{?\\M-A}, or " "as @samp{?\\M-\\101}. Likewise, you can write @kbd{C-M-b} as " "@samp{?\\M-\\C-b}, @samp{?\\C-\\M-b}, or @samp{?\\M-\\002}." msgstr "" #. type: subsubsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:578 #, no-wrap msgid "Other Character Modifier Bits" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:584 msgid "" "The case of a graphic character is indicated by its character code; for " "example, @acronym{ASCII} distinguishes between the characters @samp{a} and " "@samp{A}. But @acronym{ASCII} has no way to represent whether a control " "character is upper case or lower case. Emacs uses the" msgstr "" #. type: tex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:586 #, no-wrap msgid "@math{2^{25}}\n" msgstr "" #. type: ifnottex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:589 msgid "2**25" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:596 msgid "" "bit to indicate that the shift key was used in typing a control character. " "This distinction is possible only on a graphical display such as a GUI " "display on X; text terminals do not report the distinction. The Lisp syntax " "for the shift bit is @samp{\\S-}; thus, @samp{?\\C-\\S-o} or " "@samp{?\\C-\\S-O} represents the shifted-control-o character." msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:597 #, no-wrap msgid "hyper characters" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:598 #, no-wrap msgid "super characters" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:599 #, no-wrap msgid "alt characters" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:607 msgid "" "The X Window System defines three other @anchor{modifier bits}modifier bits " "that can be set in a character: @dfn{hyper}, @dfn{super} and @dfn{alt}. The " "syntaxes for these bits are @samp{\\H-}, @samp{\\s-} and @samp{\\A-}. (Case " "is significant in these prefixes.) Thus, @samp{?\\H-\\M-\\A-x} represents " "@kbd{Alt-Hyper-Meta-x}. (Note that @samp{\\s} with no following @samp{-} " "represents the space character.)" msgstr "" #. type: tex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:610 #, no-wrap msgid "" "Numerically, the bit values are @math{2^{22}} for alt, @math{2^{23}}\n" "for super and @math{2^{24}} for hyper.\n" msgstr "" #. type: ifnottex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:614 msgid "" "Numerically, the bit values are 2**22 for alt, 2**23 for super and 2**24 for " "hyper." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:623 msgid "" "A @dfn{symbol} in GNU Emacs Lisp is an object with a name. The symbol name " "serves as the printed representation of the symbol. In ordinary Lisp use, " "with one single obarray (@pxref{Creating Symbols}), a symbol's name is " "unique---no two symbols have the same name." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:630 msgid "" "A symbol can serve as a variable, as a function name, or to hold a property " "list. Or it may serve only to be distinct from all other Lisp objects, so " "that its presence in a data structure may be recognized reliably. In a " "given context, usually only one of these uses is intended. But you can use " "one symbol in all of these ways, independently." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:635 msgid "" "A symbol whose name starts with a colon (@samp{:}) is called a @dfn{keyword " "symbol}. These symbols automatically act as constants, and are normally " "used only by comparing an unknown symbol with a few specific alternatives. " "@xref{Constant Variables}." msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:636 #, no-wrap msgid "@samp{\\} in symbols" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:637 #, no-wrap msgid "backslash in symbols" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:653 msgid "" "A symbol name can contain any characters whatever. Most symbol names are " "written with letters, digits, and the punctuation characters @samp{-+=*/}. " "Such names require no special punctuation; the characters of the name " "suffice as long as the name does not look like a number. (If it does, write " "a @samp{\\} at the beginning of the name to force interpretation as a " "symbol.) The characters @samp{_~!@@$%^&:<>@{@}?} are less often used but " "also require no special punctuation. Any other characters may be included " "in a symbol's name by escaping them with a backslash. In contrast to its " "use in strings, however, a backslash in the name of a symbol simply quotes " "the single character that follows the backslash. For example, in a string, " "@samp{\\t} represents a tab character; in the name of a symbol, however, " "@samp{\\t} merely quotes the letter @samp{t}. To have a symbol with a tab " "character in its name, you must actually use a tab (preceded with a " "backslash). But it's rare to do such a thing." msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:654 #, no-wrap msgid "CL note---case of letters" msgstr "" #. type: quotation #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:659 msgid "" "@b{Common Lisp note:} In Common Lisp, lower case letters are always folded " "to upper case, unless they are explicitly escaped. In Emacs Lisp, upper " "case and lower case letters are distinct." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:665 msgid "" "Here are several examples of symbol names. Note that the @samp{+} in the " "fourth example is escaped to prevent it from being read as a number. This " "is not necessary in the sixth example because the rest of the name makes it " "invalid as a number." msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:670 #, no-wrap msgid "" "foo ; @r{A symbol named @samp{foo}.}\n" "FOO ; @r{A symbol named @samp{FOO}, different from " "@samp{foo}.}\n" msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:674 #, no-wrap msgid "" "1+ ; @r{A symbol named @samp{1+}}\n" " ; @r{(not @samp{+1}, which is an integer).}\n" msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:678 #, no-wrap msgid "" "\\+1 ; @r{A symbol named @samp{+1}}\n" " ; @r{(not a very readable name).}\n" msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:685 #, no-wrap msgid "" "\\(*\\ 1\\ 2\\) ; @r{A symbol named @samp{(* 1 2)} (a worse " "name).}\n" "+-*/_~!@@$%^&=:<>@{@} ; @r{A symbol named @samp{+-*/_~!@@$%^&=:<>@{@}}.}\n" " ; @r{These characters need not be escaped.}\n" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:688 #, no-wrap msgid "@samp{##} read syntax" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:692 #, no-wrap msgid "@samp{#@var{colon}} read syntax" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:695 #, no-wrap msgid "@samp{#:} read syntax" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:703 msgid "" "As an exception to the rule that a symbol's name serves as its printed " "representation, @samp{##} is the printed representation for an interned " "symbol whose name is an empty string. Furthermore, @samp{#:@var{foo}} is " "the printed representation for an uninterned symbol whose name is " "@var{foo}. (Normally, the Lisp reader interns all symbols; @pxref{Creating " "Symbols}.)" msgstr "" #. type: subsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:705 #, no-wrap msgid "Sequence Types" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:710 msgid "" "A @dfn{sequence} is a Lisp object that represents an ordered set of " "elements. There are two kinds of sequence in Emacs Lisp: @dfn{lists} and " "@dfn{arrays}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:714 msgid "" "Lists are the most commonly-used sequences. A list can hold elements of any " "type, and its length can be easily changed by adding or removing elements. " "See the next subsection for more about lists." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:723 msgid "" "Arrays are fixed-length sequences. They are further subdivided into " "strings, vectors, char-tables and bool-vectors. Vectors can hold elements " "of any type, whereas string elements must be characters, and bool-vector " "elements must be @code{t} or @code{nil}. Char-tables are like vectors " "except that they are indexed by any valid character code. The characters in " "a string can have text properties like characters in a buffer (@pxref{Text " "Properties}), but vectors do not support text properties, even when their " "elements happen to be characters." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:730 msgid "" "Lists, strings and the other array types also share important similarities. " "For example, all have a length @var{l}, and all have elements which can be " "indexed from zero to @var{l} minus one. Several functions, called sequence " "functions, accept any kind of sequence. For example, the function " "@code{length} reports the length of any kind of sequence. @xref{Sequences " "Arrays Vectors}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:736 msgid "" "It is generally impossible to read the same sequence twice, since sequences " "are always created anew upon reading. If you read the read syntax for a " "sequence twice, you get two sequences with equal contents. There is one " "exception: the empty list @code{()} always stands for the same object, " "@code{nil}." msgstr "" #. type: subsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:738 #, no-wrap msgid "Cons Cell and List Types" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:739 #, no-wrap msgid "address field of register" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:740 #, no-wrap msgid "decrement field of register" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:741 #, no-wrap msgid "pointers" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:748 msgid "" "A @dfn{cons cell} is an object that consists of two slots, called the " "@sc{car} slot and the @sc{cdr} slot. Each slot can @dfn{hold} any Lisp " "object. We also say that the @sc{car} of this cons cell is whatever object " "its @sc{car} slot currently holds, and likewise for the @sc{cdr}." msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:749 #, no-wrap msgid "list structure" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:756 msgid "" "A @dfn{list} is a series of cons cells, linked together so that the @sc{cdr} " "slot of each cons cell holds either the next cons cell or the empty list. " "The empty list is actually the symbol @code{nil}. @xref{Lists}, for " "details. Because most cons cells are used as part of lists, we refer to any " "structure made out of cons cells as a @dfn{list structure}." msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:757 #, no-wrap msgid "linked list" msgstr "" #. type: quotation #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:763 msgid "" "A note to C programmers: a Lisp list thus works as a @dfn{linked list} built " "up of cons cells. Because pointers in Lisp are implicit, we do not " "distinguish between a cons cell slot holding a value versus pointing to the " "value." msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:765 #, no-wrap msgid "atoms" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:769 msgid "" "Because cons cells are so central to Lisp, we also have a word for an object " "which is not a cons cell. These objects are called @dfn{atoms}." msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:770 #, no-wrap msgid "parenthesis" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:771 #, no-wrap msgid "@samp{(@dots{})} in lists" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:775 msgid "" "The read syntax and printed representation for lists are identical, and " "consist of a left parenthesis, an arbitrary number of elements, and a right " "parenthesis. Here are examples of lists:" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:785 #, no-wrap msgid "" "(A 2 \"A\") ; @r{A list of three elements.}\n" "() ; @r{A list of no elements (the empty list).}\n" "nil ; @r{A list of no elements (the empty list).}\n" "(\"A ()\") ; @r{A list of one element: the string @code{\"A " "()\"}.}\n" "(A ()) ; @r{A list of two elements: @code{A} and the empty " "list.}\n" "(A nil) ; @r{Equivalent to the previous.}\n" "((A B C)) ; @r{A list of one element}\n" " ; @r{(which is a list of three elements).}\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:793 msgid "" "Upon reading, each object inside the parentheses becomes an element of the " "list. That is, a cons cell is made for each element. The @sc{car} slot of " "the cons cell holds the element, and its @sc{cdr} slot refers to the next " "cons cell of the list, which holds the next element in the list. The " "@sc{cdr} slot of the last cons cell is set to hold @code{nil}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:802 msgid "" "The names @sc{car} and @sc{cdr} derive from the history of Lisp. The " "original Lisp implementation ran on an @w{IBM 704} computer which divided " "words into two parts, the address and the decrement; @sc{car} was an " "instruction to extract the contents of the address part of a register, and " "@sc{cdr} an instruction to extract the contents of the decrement. By " "contrast, cons cells are named for the function @code{cons} that creates " "them, which in turn was named for its purpose, the construction of cells." msgstr "" #. type: node #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:807 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:809 #, no-wrap msgid "Box Diagrams" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:807 msgid "Drawing pictures of lists." msgstr "" #. type: subsubsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:807 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:918 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:919 #, no-wrap msgid "Dotted Pair Notation" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:807 msgid "A general syntax for cons cells." msgstr "" #. type: subsubsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:807 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1011 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1012 #, no-wrap msgid "Association List Type" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:807 msgid "A specially constructed list." msgstr "" #. type: subsubsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:810 #, no-wrap msgid "Drawing Lists as Box Diagrams" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:811 #, no-wrap msgid "box diagrams, for lists" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:812 #, no-wrap msgid "diagrams, boxed, for lists" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:820 msgid "" "A list can be illustrated by a diagram in which the cons cells are shown as " "pairs of boxes, like dominoes. (The Lisp reader cannot read such an " "illustration; unlike the textual notation, which can be understood by both " "humans and computers, the box illustrations can be understood only by " "humans.) This picture represents the three-element list @code{(rose violet " "buttercup)}:" msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:829 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1000 #, no-wrap msgid "" " --- --- --- --- --- ---\n" " | | |--> | | |--> | | |--> nil\n" " --- --- --- --- --- ---\n" " | | |\n" " | | |\n" " --> rose --> violet --> buttercup\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:836 msgid "" "In this diagram, each box represents a slot that can hold or refer to any " "Lisp object. Each pair of boxes represents a cons cell. Each arrow " "represents a reference to a Lisp object, either an atom or another cons " "cell." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:843 msgid "" "In this example, the first box, which holds the @sc{car} of the first cons " "cell, refers to or holds @code{rose} (a symbol). The second box, holding " "the @sc{cdr} of the first cons cell, refers to the next pair of boxes, the " "second cons cell. The @sc{car} of the second cons cell is @code{violet}, " "and its @sc{cdr} is the third cons cell. The @sc{cdr} of the third (and " "last) cons cell is @code{nil}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:846 msgid "" "Here is another diagram of the same list, @code{(rose violet buttercup)}, " "sketched in a different manner:" msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:854 #, no-wrap msgid "" " --------------- ---------------- -------------------\n" "| car | cdr | | car | cdr | | car | cdr |\n" "| rose | o-------->| violet | o-------->| buttercup | nil |\n" "| | | | | | | | |\n" " --------------- ---------------- -------------------\n" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:857 #, no-wrap msgid "@code{nil} as a list" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:858 #, no-wrap msgid "empty list" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:862 msgid "" "A list with no elements in it is the @dfn{empty list}; it is identical to " "the symbol @code{nil}. In other words, @code{nil} is both a symbol and a " "list." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:865 msgid "" "Here is the list @code{(A ())}, or equivalently @code{(A nil)}, depicted " "with boxes and arrows:" msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:874 #, no-wrap msgid "" " --- --- --- ---\n" " | | |--> | | |--> nil\n" " --- --- --- ---\n" " | |\n" " | |\n" " --> A --> nil\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:880 msgid "" "Here is a more complex illustration, showing the three-element list, " "@code{((pine needles) oak maple)}, the first element of which is a " "two-element list:" msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:896 #, no-wrap msgid "" " --- --- --- --- --- ---\n" " | | |--> | | |--> | | |--> nil\n" " --- --- --- --- --- ---\n" " | | |\n" " | | |\n" " | --> oak --> maple\n" " |\n" " | --- --- --- ---\n" " --> | | |--> | | |--> nil\n" " --- --- --- ---\n" " | |\n" " | |\n" " --> pine --> needles\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:900 msgid "The same list represented in the second box notation looks like this:" msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:915 #, no-wrap msgid "" " -------------- -------------- --------------\n" "| car | cdr | | car | cdr | | car | cdr |\n" "| o | o------->| oak | o------->| maple | nil |\n" "| | | | | | | | | |\n" " -- | --------- -------------- --------------\n" " |\n" " |\n" " | -------------- ----------------\n" " | | car | cdr | | car | cdr |\n" " ------>| pine | o------->| needles | nil |\n" " | | | | | |\n" " -------------- ----------------\n" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:920 #, no-wrap msgid "dotted pair notation" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:921 #, no-wrap msgid "@samp{.} in lists" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:935 msgid "" "@dfn{Dotted pair notation} is a general syntax for cons cells that " "represents the @sc{car} and @sc{cdr} explicitly. In this syntax, " "@code{(@var{a} .@: @var{b})} stands for a cons cell whose @sc{car} is the " "object @var{a} and whose @sc{cdr} is the object @var{b}. Dotted pair " "notation is more general than list syntax because the @sc{cdr} does not have " "to be a list. However, it is more cumbersome in cases where list syntax " "would work. In dotted pair notation, the list @samp{(1 2 3)} is written as " "@samp{(1 . (2 . (3 . nil)))}. For @code{nil}-terminated lists, you can use " "either notation, but list notation is usually clearer and more convenient. " "When printing a list, the dotted pair notation is only used if the @sc{cdr} " "of a cons cell is not a list." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:938 msgid "" "Here's an example using boxes to illustrate dotted pair notation. This " "example shows the pair @code{(rose . violet)}:" msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:947 #, no-wrap msgid "" " --- ---\n" " | | |--> violet\n" " --- ---\n" " |\n" " |\n" " --> rose\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:956 msgid "" "You can combine dotted pair notation with list notation to represent " "conveniently a chain of cons cells with a non-@code{nil} final @sc{cdr}. " "You write a dot after the last element of the list, followed by the @sc{cdr} " "of the final cons cell. For example, @code{(rose violet . buttercup)} is " "equivalent to @code{(rose . (violet . buttercup))}. The object looks like " "this:" msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:965 #, no-wrap msgid "" " --- --- --- ---\n" " | | |--> | | |--> buttercup\n" " --- --- --- ---\n" " | |\n" " | |\n" " --> rose --> violet\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:972 msgid "" "The syntax @code{(rose .@: violet .@: buttercup)} is invalid because there " "is nothing that it could mean. If anything, it would say to put " "@code{buttercup} in the @sc{cdr} of a cons cell whose @sc{cdr} is already " "used for @code{violet}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:975 msgid "" "The list @code{(rose violet)} is equivalent to @code{(rose . (violet))}, and " "looks like this:" msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:984 #, no-wrap msgid "" " --- --- --- ---\n" " | | |--> | | |--> nil\n" " --- --- --- ---\n" " | |\n" " | |\n" " --> rose --> violet\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:989 msgid "" "Similarly, the three-element list @code{(rose violet buttercup)} is " "equivalent to @code{(rose . (violet . (buttercup)))}." msgstr "" #. type: ifnottex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:991 msgid "It looks like this:" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1010 msgid "" "As a somewhat peculiar side effect of @code{(a b . c)} and @code{(a . (b " ". c))} being equivalent, for consistency this means that if you replace " "@code{b} here with the empty sequence, then it follows that @code{(a . c)} " "and @code{(a . ( . c))} are equivalent, too. This also means that @code{( " ". c)} is equivalent to @code{c}, but this is seldom used." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1021 msgid "" "An @dfn{association list} or @dfn{alist} is a specially-constructed list " "whose elements are cons cells. In each element, the @sc{car} is considered " "a @dfn{key}, and the @sc{cdr} is considered an @dfn{associated value}. (In " "some cases, the associated value is stored in the @sc{car} of the @sc{cdr}.) " "Association lists are often used as stacks, since it is easy to add or " "remove associations at the front of the list." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1023 msgid "For example," msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1027 #, no-wrap msgid "" "(setq alist-of-colors\n" " '((rose . red) (lily . white) (buttercup . yellow)))\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1032 msgid "" "sets the variable @code{alist-of-colors} to an alist of three elements. In " "the first element, @code{rose} is the key and @code{red} is the value." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1036 msgid "" "@xref{Association Lists}, for a further explanation of alists and for " "functions that work on alists. @xref{Hash Tables}, for another kind of " "lookup table, which is much faster for handling a large number of keys." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1047 msgid "" "An @dfn{array} is composed of an arbitrary number of slots for holding or " "referring to other Lisp objects, arranged in a contiguous block of memory. " "Accessing any element of an array takes approximately the same amount of " "time. In contrast, accessing an element of a list requires time " "proportional to the position of the element in the list. (Elements at the " "end of a list take longer to access than elements at the beginning of a " "list.)" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1050 msgid "" "Emacs defines four types of array: strings, vectors, bool-vectors, and " "char-tables." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1057 msgid "" "A string is an array of characters and a vector is an array of arbitrary " "objects. A bool-vector can hold only @code{t} or @code{nil}. These kinds " "of array may have any length up to the largest fixnum, subject to system " "architecture limits and available memory. Char-tables are sparse arrays " "indexed by any valid character code; they can hold arbitrary objects." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1063 msgid "" "The first element of an array has index zero, the second element has index " "1, and so on. This is called @dfn{zero-origin} indexing. For example, an " "array of four elements has indices 0, 1, 2, @w{and 3}. The largest possible " "index value is one less than the length of the array. Once an array is " "created, its length is fixed." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1069 msgid "" "All Emacs Lisp arrays are one-dimensional. (Most other programming " "languages support multidimensional arrays, but they are not essential; you " "can get the same effect with nested one-dimensional arrays.) Each type of " "array has its own read syntax; see the following sections for details." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1073 msgid "" "The array type is a subset of the sequence type, and contains the string " "type, the vector type, the bool-vector type, and the char-table type." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1082 msgid "" "A @dfn{string} is an array of characters. Strings are used for many " "purposes in Emacs, as can be expected in a text editor; for example, as the " "names of Lisp symbols, as messages for the user, and to represent text " "extracted from buffers. Strings in Lisp are constants: evaluation of a " "string returns the same string." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1084 msgid "@xref{Strings and Characters}, for functions that operate on strings." msgstr "" #. type: subsubsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1090 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1092 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1093 #, no-wrap msgid "Syntax for Strings" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1090 msgid "How to specify Lisp strings." msgstr "" #. type: node #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1090 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1125 #, no-wrap msgid "Non-ASCII in Strings" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1090 msgid "International characters in strings." msgstr "" #. type: node #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1090 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1176 #, no-wrap msgid "Nonprinting Characters" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1090 msgid "Literal unprintable characters in strings." msgstr "" #. type: node #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1090 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1209 #, no-wrap msgid "Text Props and Strings" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1090 msgid "Strings with text properties." msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1095 #, no-wrap msgid "@samp{\"} in strings" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1096 #, no-wrap msgid "double-quote in strings" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1097 #, no-wrap msgid "@samp{\\} in strings" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1098 #, no-wrap msgid "backslash in strings" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1106 msgid "" "The read syntax for a string is a double-quote, an arbitrary number of " "characters, and another double-quote, @code{\"like this\"}. To include a " "double-quote in a string, precede it with a backslash; thus, @code{\"\\\"\"} " "is a string containing just one double-quote character. Likewise, you can " "include a backslash by preceding it with another backslash, like this: " "@code{\"this \\\\ is a single embedded backslash\"}." msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1107 #, no-wrap msgid "newline in strings" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1114 msgid "" "The newline character is not special in the read syntax for strings; if you " "write a new line between the double-quotes, it becomes a character in the " "string. But an escaped newline---one that is preceded by @samp{\\}---does " "not become part of the string; i.e., the Lisp reader ignores an escaped " "newline while reading a string. An escaped space @w{@samp{\\ }} is likewise " "ignored." msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1123 #, no-wrap msgid "" "\"It is useful to include newlines\n" "in documentation strings,\n" "but the newline is \\\n" "ignored if escaped.\"\n" " @result{} \"It is useful to include newlines\n" "in documentation strings,\n" "but the newline is ignored if escaped.\"\n" msgstr "" #. type: subsubsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1126 #, no-wrap msgid "Non-@acronym{ASCII} Characters in Strings" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1136 msgid "" "There are two text representations for non-@acronym{ASCII} characters in " "Emacs strings: multibyte and unibyte (@pxref{Text Representations}). " "Roughly speaking, unibyte strings store raw bytes, while multibyte strings " "store human-readable text. Each character in a unibyte string is a byte, " "i.e., its value is between 0 and 255. By contrast, each character in a " "multibyte string may have a value between 0 to 4194303 (@pxref{Character " "Type}). In both cases, characters above 127 are non-@acronym{ASCII}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1146 msgid "" "You can include a non-@acronym{ASCII} character in a string constant by " "writing it literally. If the string constant is read from a multibyte " "source, such as a multibyte buffer or string, or a file that would be " "visited as multibyte, then Emacs reads each non-@acronym{ASCII} character as " "a multibyte character and automatically makes the string a multibyte " "string. If the string constant is read from a unibyte source, then Emacs " "reads the non-@acronym{ASCII} character as unibyte, and makes the string " "unibyte." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1150 msgid "" "Instead of writing a character literally into a multibyte string, you can " "write it as its character code using an escape sequence. @xref{General " "Escape Syntax}, for details about escape sequences." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1154 msgid "" "If you use any Unicode-style escape sequence @samp{\\uNNNN} or " "@samp{\\U00NNNNNN} in a string constant (even for an @acronym{ASCII} " "character), Emacs automatically assumes that it is multibyte." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1164 msgid "" "You can also use hexadecimal escape sequences (@samp{\\x@var{n}}) and octal " "escape sequences (@samp{\\@var{n}}) in string constants. @strong{But " "beware:} If a string constant contains hexadecimal or octal escape " "sequences, and these escape sequences all specify unibyte characters (i.e., " "less than 256), and there are no other literal non-@acronym{ASCII} " "characters or Unicode-style escape sequences in the string, then Emacs " "automatically assumes that it is a unibyte string. That is to say, it " "assumes that all non-@acronym{ASCII} characters occurring in the string are " "8-bit raw bytes." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1175 msgid "" "In hexadecimal and octal escape sequences, the escaped character code may " "contain a variable number of digits, so the first subsequent character which " "is not a valid hexadecimal or octal digit terminates the escape sequence. " "If the next character in a string could be interpreted as a hexadecimal or " "octal digit, write @w{@samp{\\ }} (backslash and space) to terminate the " "escape sequence. For example, @w{@samp{\\xe0\\ }} represents one character, " "@samp{a} with grave accent. @w{@samp{\\ }} in a string constant is just " "like backslash-newline; it does not contribute any character to the string, " "but it does terminate any preceding hex escape." msgstr "" #. type: subsubsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1177 #, no-wrap msgid "Nonprinting Characters in Strings" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1185 msgid "" "You can use the same backslash escape-sequences in a string constant as in " "character literals (but do not use the question mark that begins a character " "constant). For example, you can write a string containing the nonprinting " "characters tab and @kbd{C-a}, with commas and spaces between them, like " "this: @code{\"\\t, \\C-a\"}. @xref{Character Type}, for a description of " "the read syntax for characters." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1190 msgid "" "However, not all of the characters you can write with backslash " "escape-sequences are valid in strings. The only control characters that a " "string can hold are the @acronym{ASCII} control characters. Strings do not " "distinguish case in @acronym{ASCII} control characters." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1196 msgid "" "Properly speaking, strings cannot hold meta characters; but when a string is " "to be used as a key sequence, there is a special convention that provides a " "way to represent meta versions of @acronym{ASCII} characters in a string. " "If you use the @samp{\\M-} syntax to indicate a meta character in a string " "constant, this sets the" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1205 msgid "" "bit of the character in the string. If the string is used in " "@code{define-key} or @code{lookup-key}, this numeric code is translated into " "the equivalent meta character. @xref{Character Type}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1208 msgid "Strings cannot hold characters that have the hyper, super, or alt modifiers." msgstr "" #. type: subsubsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1210 #, no-wrap msgid "Text Properties in Strings" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1212 #, no-wrap msgid "@samp{#(} read syntax" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1213 #, no-wrap msgid "text properties, read syntax" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1220 msgid "" "A string can hold properties for the characters it contains, in addition to " "the characters themselves. This enables programs that copy text between " "strings and buffers to copy the text's properties with no special effort. " "@xref{Text Properties}, for an explanation of what text properties mean. " "Strings with text properties use a special read and print syntax:" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1223 #, no-wrap msgid "#(\"@var{characters}\" @var{property-data}...)\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1228 msgid "" "where @var{property-data} consists of zero or more elements, in groups of " "three as follows:" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1231 #, no-wrap msgid "@var{beg} @var{end} @var{plist}\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1237 msgid "" "The elements @var{beg} and @var{end} are integers, and together specify a " "range of indices in the string; @var{plist} is the property list for that " "range. For example," msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1240 #, no-wrap msgid "#(\"foo bar\" 0 3 (face bold) 3 4 nil 4 7 (face italic))\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1250 msgid "" "represents a string whose textual contents are @samp{foo bar}, in which the " "first three characters have a @code{face} property with value @code{bold}, " "and the last three have a @code{face} property with value @code{italic}. " "(The fourth character has no text properties, so its property list is " "@code{nil}. It is not actually necessary to mention ranges with @code{nil} " "as the property list, since any characters not mentioned in any range will " "default to having no properties.)" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1258 msgid "" "A @dfn{vector} is a one-dimensional array of elements of any type. It takes " "a constant amount of time to access any element of a vector. (In a list, " "the access time of an element is proportional to the distance of the element " "from the beginning of the list.)" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1263 msgid "" "The printed representation of a vector consists of a left square bracket, " "the elements, and a right square bracket. This is also the read syntax. " "Like numbers and strings, vectors are considered constants for evaluation." msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1267 #, no-wrap msgid "" "[1 \"two\" (three)] ; @r{A vector of three elements.}\n" " @result{} [1 \"two\" (three)]\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1270 msgid "@xref{Vectors}, for functions that work with vectors." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1281 msgid "" "A @dfn{char-table} is a one-dimensional array of elements of any type, " "indexed by character codes. Char-tables have certain extra features to make " "them more useful for many jobs that involve assigning information to " "character codes---for example, a char-table can have a parent to inherit " "from, a default value, and a small number of extra slots to use for special " "purposes. A char-table can also specify a single value for a whole " "character set." msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1282 #, no-wrap msgid "@samp{#^} read syntax" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1286 msgid "" "The printed representation of a char-table is like a vector except that " "there is an extra @samp{#^} at the beginning.@footnote{You may also " "encounter @samp{#^^}, used for sub-char-tables.}" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1289 msgid "" "@xref{Char-Tables}, for special functions to operate on char-tables. Uses " "of char-tables include:" msgstr "" #. type: itemize #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1293 msgid "Case tables (@pxref{Case Tables})." msgstr "" #. type: itemize #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1296 msgid "Character category tables (@pxref{Categories})." msgstr "" #. type: itemize #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1299 msgid "Display tables (@pxref{Display Tables})." msgstr "" #. type: itemize #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1302 msgid "Syntax tables (@pxref{Syntax Tables})." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1309 msgid "" "A @dfn{bool-vector} is a one-dimensional array whose elements must be " "@code{t} or @code{nil}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1317 msgid "" "The printed representation of a bool-vector is like a string, except that it " "begins with @samp{#&} followed by the length. The string constant that " "follows actually specifies the contents of the bool-vector as a " "bitmap---each character in the string contains 8 bits, which specify the " "next 8 elements of the bool-vector (1 stands for @code{t}, and 0 for " "@code{nil}). The least significant bits of the character correspond to the " "lowest indices in the bool-vector." msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1323 #, no-wrap msgid "" "(make-bool-vector 3 t)\n" " @result{} #&3\"^G\"\n" "(make-bool-vector 3 nil)\n" " @result{} #&3\"^@@\"\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1328 msgid "" "These results make sense, because the binary code for @samp{C-g} is 111 and " "@samp{C-@@} is the character with code 0." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1333 msgid "" "If the length is not a multiple of 8, the printed representation shows extra " "elements, but these extras really make no difference. For instance, in the " "next example, the two bool-vectors are equal, because only the first 3 bits " "are used:" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1337 #, no-wrap msgid "" "(equal #&3\"\\377\" #&3\"\\007\")\n" " @result{} t\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1346 msgid "" "A hash table is a very fast kind of lookup table, somewhat like an alist in " "that it maps keys to corresponding values, but much faster. The printed " "representation of a hash table specifies its properties and contents, like " "this:" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1351 #, no-wrap msgid "" "(make-hash-table)\n" " @result{} #s(hash-table size 65 test eql rehash-size 1.5\n" " rehash-threshold 0.8125 data ())\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1355 msgid "@xref{Hash Tables}, for more information about hash tables." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1364 msgid "" "Lisp functions are executable code, just like functions in other programming " "languages. In Lisp, unlike most languages, functions are also Lisp " "objects. A non-compiled function in Lisp is a lambda expression: that is, a " "list whose first element is the symbol @code{lambda} (@pxref{Lambda " "Expressions})." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1372 msgid "" "In most programming languages, it is impossible to have a function without a " "name. In Lisp, a function has no intrinsic name. A lambda expression can " "be called as a function even though it has no name; to emphasize this, we " "also call it an @dfn{anonymous function} (@pxref{Anonymous Functions}). A " "named function in Lisp is just a symbol with a valid function in its " "function cell (@pxref{Defining Functions})." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1377 msgid "" "Most of the time, functions are called when their names are written in Lisp " "expressions in Lisp programs. However, you can construct or obtain a " "function object at run time and then call it with the primitive functions " "@code{funcall} and @code{apply}. @xref{Calling Functions}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1386 msgid "" "A @dfn{Lisp macro} is a user-defined construct that extends the Lisp " "language. It is represented as an object much like a function, but with " "different argument-passing semantics. A Lisp macro has the form of a list " "whose first element is the symbol @code{macro} and whose @sc{cdr} is a Lisp " "function object, including the @code{lambda} symbol." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1391 msgid "" "Lisp macro objects are usually defined with the built-in @code{defmacro} " "macro, but any list that begins with @code{macro} is a macro as far as Emacs " "is concerned. @xref{Macros}, for an explanation of how to write a macro." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1395 msgid "" "@strong{Warning}: Lisp macros and keyboard macros (@pxref{Keyboard Macros}) " "are entirely different things. When we use the word ``macro'' without " "qualification, we mean a Lisp macro, not a keyboard macro." msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1398 #, no-wrap msgid "primitive function" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1407 msgid "" "A @dfn{primitive function} is a function callable from Lisp but written in " "the C programming language. Primitive functions are also called @dfn{subrs} " "or @dfn{built-in functions}. (The word ``subr'' is derived from " "``subroutine''.) Most primitive functions evaluate all their arguments when " "they are called. A primitive function that does not evaluate all its " "arguments is called a @dfn{special form} (@pxref{Special Forms})." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1415 msgid "" "It does not matter to the caller of a function whether the function is " "primitive. However, this does matter if you try to redefine a primitive " "with a function written in Lisp. The reason is that the primitive function " "may be called directly from C code. Calls to the redefined function from " "Lisp will use the new definition, but calls from C code may still use the " "built-in definition. Therefore, @strong{we discourage redefinition of " "primitive functions}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1419 msgid "" "The term @dfn{function} refers to all Emacs functions, whether written in " "Lisp or C@. @xref{Function Type}, for information about the functions " "written in Lisp." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1422 msgid "" "Primitive functions have no read syntax and print in hash notation with the " "name of the subroutine." msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1430 #, no-wrap msgid "" "(symbol-function 'car) ; @r{Access the function cell}\n" " ; @r{of the symbol.}\n" " @result{} #\n" "(subrp (symbol-function 'car)) ; @r{Is this a primitive function?}\n" " @result{} t ; @r{Yes.}\n" msgstr "" #. type: subsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1434 #, no-wrap msgid "Byte-Code Function Type" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1441 msgid "" "@dfn{Byte-code function objects} are produced by byte-compiling Lisp code " "(@pxref{Byte Compilation}). Internally, a byte-code function object is much " "like a vector; however, the evaluator handles this data type specially when " "it appears in a function call. @xref{Byte-Code Objects}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1445 msgid "" "The printed representation and read syntax for a byte-code function object " "is like that for a vector, with an additional @samp{#} before the opening " "@samp{[}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1453 msgid "" "A @dfn{record} is much like a @code{vector}. However, the first element is " "used to hold its type as returned by @code{type-of}. The purpose of records " "is to allow programmers to create objects with new types that are not built " "into Emacs." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1455 msgid "@xref{Records}, for functions that work with records." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1464 msgid "" "A @dfn{type descriptor} is a @code{record} which holds information about a " "type. Slot 1 in the record must be a symbol naming the type, and " "@code{type-of} relies on this to return the type of @code{record} objects. " "No other type descriptor slot is used by Emacs; they are free for use by " "Lisp extensions." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1467 msgid "" "An example of a type descriptor is any instance of " "@code{cl-structure-class}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1477 msgid "" "An @dfn{autoload object} is a list whose first element is the symbol " "@code{autoload}. It is stored as the function definition of a symbol, where " "it serves as a placeholder for the real definition. The autoload object " "says that the real definition is found in a file of Lisp code that should be " "loaded when necessary. It contains the name of the file, plus some other " "information about the real definition." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1483 msgid "" "After the file has been loaded, the symbol should have a new function " "definition that is not an autoload object. The new definition is then " "called as if it had been there to begin with. From the user's point of " "view, the function call works as expected, using the function definition in " "the loaded file." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1487 msgid "" "An autoload object is usually created with the function @code{autoload}, " "which stores the object in the function cell of a symbol. @xref{Autoload}, " "for more details." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1499 msgid "" "A @dfn{finalizer object} helps Lisp code clean up after objects that are no " "longer needed. A finalizer holds a Lisp function object. When a finalizer " "object becomes unreachable after a garbage collection pass, Emacs calls the " "finalizer's associated function object. When deciding whether a finalizer " "is reachable, Emacs does not count references from finalizer objects " "themselves, allowing you to use finalizers without having to worry about " "accidentally capturing references to finalized objects themselves." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1503 msgid "" "Errors in finalizers are printed to @code{*Messages*}. Emacs runs a given " "finalizer object's associated function exactly once, even if that function " "fails." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1504 #, no-wrap msgid "make-finalizer function" msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1511 msgid "" "Make a finalizer that will run @var{function}. @var{function} will be " "called after garbage collection when the returned finalizer object becomes " "unreachable. If the finalizer object is reachable only through references " "from finalizer objects, it does not count as reachable for the purpose of " "deciding whether to run @var{function}. @var{function} will be run once per " "finalizer object." msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1515 #, no-wrap msgid "editing types" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1521 msgid "" "The types in the previous section are used for general programming purposes, " "and most of them are common to most Lisp dialects. Emacs Lisp provides " "several additional data types for purposes connected with editing." msgstr "" #. type: subsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1538 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1540 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1541 #, no-wrap msgid "Buffer Type" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1538 msgid "The basic object of editing." msgstr "" #. type: subsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1538 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1603 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1604 #, no-wrap msgid "Marker Type" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1538 msgid "A position in a buffer." msgstr "" #. type: subsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1538 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1625 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1626 #, no-wrap msgid "Window Type" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1538 msgid "Buffers are displayed in windows." msgstr "" #. type: subsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1538 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1655 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1656 #, no-wrap msgid "Frame Type" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1538 msgid "Windows subdivide frames." msgstr "" #. type: subsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1538 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1675 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1676 #, no-wrap msgid "Terminal Type" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1538 msgid "A terminal device displays frames." msgstr "" #. type: subsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1538 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1694 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1695 #, no-wrap msgid "Window Configuration Type" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1538 msgid "Recording the way a frame is subdivided." msgstr "" #. type: subsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1538 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1707 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1708 #, no-wrap msgid "Frame Configuration Type" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1538 msgid "Recording the status of all frames." msgstr "" #. type: subsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1538 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1722 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1723 #, no-wrap msgid "Process Type" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1538 msgid "A subprocess of Emacs running on the underlying OS." msgstr "" #. type: subsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1538 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1748 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1749 #, no-wrap msgid "Thread Type" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1538 msgid "A thread of Emacs Lisp execution." msgstr "" #. type: subsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1538 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1767 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1768 #, no-wrap msgid "Mutex Type" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1538 msgid "An exclusive lock for thread synchronization." msgstr "" #. type: subsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1538 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1786 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1787 #, no-wrap msgid "Condition Variable Type" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1538 msgid "Condition variable for thread synchronization." msgstr "" #. type: subsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1538 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1805 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1806 #, no-wrap msgid "Stream Type" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1538 msgid "Receive or send characters." msgstr "" #. type: subsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1538 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1829 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1830 #, no-wrap msgid "Keymap Type" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1538 msgid "What function a keystroke invokes." msgstr "" #. type: subsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1538 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1839 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1840 #, no-wrap msgid "Overlay Type" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1538 msgid "How an overlay is represented." msgstr "" #. type: subsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1538 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1852 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1853 #, no-wrap msgid "Font Type" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1538 msgid "Fonts for displaying text." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1553 msgid "" "A @dfn{buffer} is an object that holds text that can be edited " "(@pxref{Buffers}). Most buffers hold the contents of a disk file " "(@pxref{Files}) so they can be edited, but some are used for other " "purposes. Most buffers are also meant to be seen by the user, and therefore " "displayed, at some time, in a window (@pxref{Windows}). But a buffer need " "not be displayed in any window. Each buffer has a designated position " "called @dfn{point} (@pxref{Positions}); most editing commands act on the " "contents of the current buffer in the neighborhood of point. At any time, " "one buffer is the @dfn{current buffer}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1560 msgid "" "The contents of a buffer are much like a string, but buffers are not used " "like strings in Emacs Lisp, and the available operations are different. For " "example, you can insert text efficiently into an existing buffer, altering " "the buffer's contents, whereas inserting text into a string requires " "concatenating substrings, and the result is an entirely new string object." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1564 msgid "" "Many of the standard Emacs functions manipulate or test the characters in " "the current buffer; a whole chapter in this manual is devoted to describing " "these functions (@pxref{Text})." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1566 msgid "Several other data structures are associated with each buffer:" msgstr "" #. type: itemize #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1570 msgid "a local syntax table (@pxref{Syntax Tables});" msgstr "" #. type: itemize #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1573 msgid "a local keymap (@pxref{Keymaps}); and," msgstr "" #. type: itemize #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1576 msgid "a list of buffer-local variable bindings (@pxref{Buffer-Local Variables})." msgstr "" #. type: itemize #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1579 msgid "overlays (@pxref{Overlays})." msgstr "" #. type: itemize #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1582 msgid "text properties for the text in the buffer (@pxref{Text Properties})." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1589 msgid "" "The local keymap and variable list contain entries that individually " "override global bindings or values. These are used to customize the " "behavior of programs in different buffers, without actually changing the " "programs." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1592 msgid "" "A buffer may be @dfn{indirect}, which means it shares the text of another " "buffer, but presents it differently. @xref{Indirect Buffers}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1595 msgid "" "Buffers have no read syntax. They print in hash notation, showing the " "buffer name." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1611 msgid "" "A @dfn{marker} denotes a position in a specific buffer. Markers therefore " "have two components: one for the buffer, and one for the position. Changes " "in the buffer's text automatically relocate the position value as necessary " "to ensure that the marker always points between the same two characters in " "the buffer." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1614 msgid "" "Markers have no read syntax. They print in hash notation, giving the " "current character position and the name of the buffer." msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1619 #, no-wrap msgid "" "(point-marker)\n" " @result{} #\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1624 msgid "" "@xref{Markers}, for information on how to test, create, copy, and move " "markers." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1634 msgid "" "A @dfn{window} describes the portion of the screen that Emacs uses to " "display buffers. Every live window (@pxref{Basic Windows}) has one " "associated buffer, whose contents appear in that window. By contrast, a " "given buffer may appear in one window, no window, or several windows. " "Windows are grouped on the screen into frames; each window belongs to one " "and only one frame. @xref{Frame Type}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1640 msgid "" "Though many windows may exist simultaneously, at any time one window is " "designated the @dfn{selected window} (@pxref{Selecting Windows}). This is " "the window where the cursor is (usually) displayed when Emacs is ready for a " "command. The selected window usually displays the current buffer " "(@pxref{Current Buffer}), but this is not necessarily the case." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1645 msgid "" "Windows have no read syntax. They print in hash notation, giving the window " "number and the name of the buffer being displayed. The window numbers exist " "to identify windows uniquely, since the buffer displayed in any given window " "can change frequently." msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1650 #, no-wrap msgid "" "(selected-window)\n" " @result{} #\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1654 msgid "@xref{Windows}, for a description of the functions that work on windows." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1661 msgid "" "A @dfn{frame} is a screen area that contains one or more Emacs windows; we " "also use the term ``frame'' to refer to the Lisp object that Emacs uses to " "refer to the screen area." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1665 msgid "" "Frames have no read syntax. They print in hash notation, giving the frame's " "title, plus its address in core (useful to identify the frame uniquely)." msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1670 #, no-wrap msgid "" "(selected-frame)\n" " @result{} #\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1674 msgid "@xref{Frames}, for a description of the functions that work on frames." msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1677 #, no-wrap msgid "terminal type" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1681 msgid "" "A @dfn{terminal} is a device capable of displaying one or more Emacs frames " "(@pxref{Frame Type})." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1684 msgid "" "Terminals have no read syntax. They print in hash notation giving the " "terminal's ordinal number and its TTY device file name." msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1689 #, no-wrap msgid "" "(get-device-terminal nil)\n" " @result{} #\n" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1696 #, no-wrap msgid "window layout in a frame" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1701 msgid "" "A @dfn{window configuration} stores information about the positions, sizes, " "and contents of the windows in a frame, so you can recreate the same " "arrangement of windows later." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1706 msgid "" "Window configurations do not have a read syntax; their print syntax looks " "like @samp{#}. @xref{Window Configurations}, for a " "description of several functions related to window configurations." msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1709 #, no-wrap msgid "screen layout" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1710 #, no-wrap msgid "window layout, all frames" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1718 msgid "" "A @dfn{frame configuration} stores information about the positions, sizes, " "and contents of the windows in all frames. It is not a primitive type---it " "is actually a list whose @sc{car} is @code{frame-configuration} and whose " "@sc{cdr} is an alist. Each alist element describes one frame, which appears " "as the @sc{car} of that element." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1721 msgid "" "@xref{Frame Configurations}, for a description of several functions related " "to frame configurations." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1733 msgid "" "The word @dfn{process} usually means a running program. Emacs itself runs " "in a process of this sort. However, in Emacs Lisp, a process is a Lisp " "object that designates a subprocess created by the Emacs process. Programs " "such as shells, GDB, ftp, and compilers, running in subprocesses of Emacs, " "extend the capabilities of Emacs. An Emacs subprocess takes textual input " "from Emacs and returns textual output to Emacs for further manipulation. " "Emacs can also send signals to the subprocess." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1736 msgid "" "Process objects have no read syntax. They print in hash notation, giving " "the name of the process:" msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1741 #, no-wrap msgid "" "(process-list)\n" " @result{} (#)\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1747 msgid "" "@xref{Processes}, for information about functions that create, delete, " "return information about, send input or signals to, and receive output from " "processes." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1755 msgid "" "A @dfn{thread} in Emacs represents a separate thread of Emacs Lisp " "execution. It runs its own Lisp program, has its own current buffer, and " "can have subprocesses locked to it, i.e.@: subprocesses whose output only " "this thread can accept. @xref{Threads}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1759 msgid "" "Thread objects have no read syntax. They print in hash notation, giving the " "name of the thread (if it has been given a name) or its address in core:" msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1764 #, no-wrap msgid "" "(all-threads)\n" " @result{} (#)\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1772 msgid "" "A @dfn{mutex} is an exclusive lock that threads can own and disown, in order " "to synchronize between them. @xref{Mutexes}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1776 msgid "" "Mutex objects have no read syntax. They print in hash notation, giving the " "name of the mutex (if it has been given a name) or its address in core:" msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1783 #, no-wrap msgid "" "(make-mutex \"my-mutex\")\n" " @result{} #\n" "(make-mutex)\n" " @result{} #\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1793 msgid "" "A @dfn{condition variable} is a device for a more complex thread " "synchronization than the one supported by a mutex. A thread can wait on a " "condition variable, to be woken up when some other thread notifies the " "condition." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1797 msgid "" "Condition variable objects have no read syntax. They print in hash " "notation, giving the name of the condition variable (if it has been given a " "name) or its address in core:" msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1802 #, no-wrap msgid "" "(make-condition-variable (make-mutex))\n" " @result{} #\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1815 msgid "" "A @dfn{stream} is an object that can be used as a source or sink for " "characters---either to supply characters for input or to accept them as " "output. Many different types can be used this way: markers, buffers, " "strings, and functions. Most often, input streams (character sources) " "obtain characters from the keyboard, a buffer, or a file, and output streams " "(character sinks) send characters to a buffer, such as a @file{*Help*} " "buffer, or to the echo area." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1822 msgid "" "The object @code{nil}, in addition to its other meanings, may be used as a " "stream. It stands for the value of the variable @code{standard-input} or " "@code{standard-output}. Also, the object @code{t} as a stream specifies " "input using the minibuffer (@pxref{Minibuffers}) or output in the echo area " "(@pxref{The Echo Area})." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1825 msgid "" "Streams have no special printed representation or read syntax, and print as " "whatever primitive type they are." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1828 msgid "" "@xref{Read and Print}, for a description of functions related to streams, " "including parsing and printing functions." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1835 msgid "" "A @dfn{keymap} maps keys typed by the user to commands. This mapping " "controls how the user's command input is executed. A keymap is actually a " "list whose @sc{car} is the symbol @code{keymap}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1838 msgid "" "@xref{Keymaps}, for information about creating keymaps, handling prefix " "keys, local as well as global keymaps, and changing key bindings." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1849 msgid "" "An @dfn{overlay} specifies properties that apply to a part of a buffer. " "Each overlay applies to a specified range of the buffer, and contains a " "property list (a list whose elements are alternating property names and " "values). Overlay properties are used to present parts of the buffer " "temporarily in a different display style. Overlays have no read syntax, and " "print in hash notation, giving the buffer name and range of positions." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1851 msgid "@xref{Overlays}, for information on how you can create and use overlays." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1862 msgid "" "A @dfn{font} specifies how to display text on a graphical terminal. There " "are actually three separate font types---@dfn{font objects}, @dfn{font " "specs}, and @dfn{font entities}---each of which has slightly different " "properties. None of them have a read syntax; their print syntax looks like " "@samp{#}, @samp{#}, and @samp{#} " "respectively. @xref{Low-Level Font}, for a description of these Lisp " "objects." msgstr "" #. type: section #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1864 #, no-wrap msgid "Read Syntax for Circular Objects" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1865 #, no-wrap msgid "circular structure, read syntax" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1866 #, no-wrap msgid "shared structure, read syntax" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1867 #, no-wrap msgid "@samp{#@var{n}=} read syntax" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1868 #, no-wrap msgid "@samp{#@var{n}#} read syntax" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1873 msgid "" "To represent shared or circular structures within a complex of Lisp objects, " "you can use the reader constructs @samp{#@var{n}=} and @samp{#@var{n}#}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1878 msgid "" "Use @code{#@var{n}=} before an object to label it for later reference; " "subsequently, you can use @code{#@var{n}#} to refer the same object in " "another place. Here, @var{n} is some integer. For example, here is how to " "make a list in which the first element recurs as the third element:" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1881 #, no-wrap msgid "(#1=(a) b #1#)\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1885 msgid "This differs from ordinary syntax such as this" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1888 #, no-wrap msgid "((a) b (a))\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1893 msgid "" "which would result in a list whose first and third elements look alike but " "are not the same Lisp object. This shows the difference:" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1902 #, no-wrap msgid "" "(prog1 nil\n" " (setq x '(#1=(a) b #1#)))\n" "(eq (nth 0 x) (nth 2 x))\n" " @result{} t\n" "(setq x '((a) b (a)))\n" "(eq (nth 0 x) (nth 2 x))\n" " @result{} nil\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1906 msgid "" "You can also use the same syntax to make a circular structure, which appears " "as an element within itself. Here is an example:" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1909 #, no-wrap msgid "#1=(a #1#)\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1914 msgid "" "This makes a list whose second element is the list itself. Here's how you " "can see that it really works:" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1920 #, no-wrap msgid "" "(prog1 nil\n" " (setq x '#1=(a #1#)))\n" "(eq x (cadr x))\n" " @result{} t\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1925 msgid "" "The Lisp printer can produce this syntax to record circular and shared " "structure in a Lisp object, if you bind the variable @code{print-circle} to " "a non-@code{nil} value. @xref{Output Variables}." msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1928 #, no-wrap msgid "type checking" msgstr "" #. type: kindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1929 #, no-wrap msgid "wrong-type-argument" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1937 msgid "" "The Emacs Lisp interpreter itself does not perform type checking on the " "actual arguments passed to functions when they are called. It could not do " "so, since function arguments in Lisp do not have declared data types, as " "they do in other programming languages. It is therefore up to the " "individual function to test whether each actual argument belongs to a type " "that the function can use." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1942 msgid "" "All built-in functions do check the types of their actual arguments when " "appropriate, and signal a @code{wrong-type-argument} error if an argument is " "of the wrong type. For example, here is what happens if you pass an " "argument to @code{+} that it cannot handle:" msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1947 #, no-wrap msgid "" "(+ 2 'a)\n" " @error{} Wrong type argument: number-or-marker-p, a\n" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1950 #, no-wrap msgid "type predicates" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1951 #, no-wrap msgid "testing types" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1957 msgid "" "If you want your program to handle different types differently, you must do " "explicit type checking. The most common way to check the type of an object " "is to call a @dfn{type predicate} function. Emacs has a type predicate for " "each type, as well as some predicates for combinations of types." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1962 msgid "" "A type predicate function takes one argument; it returns @code{t} if the " "argument belongs to the appropriate type, and @code{nil} otherwise. " "Following a general Lisp convention for predicate functions, most type " "predicates' names end with @samp{p}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1965 msgid "" "Here is an example which uses the predicates @code{listp} to check for a " "list and @code{symbolp} to check for a symbol." msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1977 #, no-wrap msgid "" "(defun add-on (x)\n" " (cond ((symbolp x)\n" " ;; If X is a symbol, put it on LIST.\n" " (setq list (cons x list)))\n" " ((listp x)\n" " ;; If X is a list, add its elements to LIST.\n" " (setq list (append x list)))\n" " (t\n" " ;; We handle only symbols and lists.\n" " (error \"Invalid argument %s in add-on\" x))))\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1981 msgid "" "Here is a table of predefined type predicates, in alphabetical order, with " "references to further information." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1983 #, no-wrap msgid "atom" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1985 msgid "@xref{List-related Predicates, atom}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1986 #, no-wrap msgid "arrayp" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1988 msgid "@xref{Array Functions, arrayp}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1989 #, no-wrap msgid "bignump" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1991 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2027 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2030 msgid "@xref{Predicates on Numbers, floatp}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1992 #, no-wrap msgid "bool-vector-p" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1994 msgid "@xref{Bool-Vectors, bool-vector-p}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1995 #, no-wrap msgid "booleanp" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1997 msgid "@xref{nil and t, booleanp}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:1998 #, no-wrap msgid "bufferp" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2000 msgid "@xref{Buffer Basics, bufferp}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2001 #, no-wrap msgid "byte-code-function-p" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2003 msgid "@xref{Byte-Code Type, byte-code-function-p}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2004 #, no-wrap msgid "case-table-p" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2006 msgid "@xref{Case Tables, case-table-p}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2007 #, no-wrap msgid "char-or-string-p" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2009 msgid "@xref{Predicates for Strings, char-or-string-p}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2010 #, no-wrap msgid "char-table-p" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2012 msgid "@xref{Char-Tables, char-table-p}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2013 #, no-wrap msgid "commandp" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2015 msgid "@xref{Interactive Call, commandp}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2016 #, no-wrap msgid "condition-variable-p" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2018 msgid "@xref{Condition Variables, condition-variable-p}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2019 #, no-wrap msgid "consp" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2021 msgid "@xref{List-related Predicates, consp}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2022 #, no-wrap msgid "custom-variable-p" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2024 msgid "@xref{Variable Definitions, custom-variable-p}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2025 #, no-wrap msgid "fixnump" msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2028 #, no-wrap msgid "floatp" msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2031 #, no-wrap msgid "fontp" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2033 msgid "@xref{Low-Level Font}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2034 #, no-wrap msgid "frame-configuration-p" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2036 msgid "@xref{Frame Configurations, frame-configuration-p}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2037 #, no-wrap msgid "frame-live-p" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2039 msgid "@xref{Deleting Frames, frame-live-p}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2040 #, no-wrap msgid "framep" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2042 msgid "@xref{Frames, framep}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2043 #, no-wrap msgid "functionp" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2045 msgid "@xref{Functions, functionp}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2046 #, no-wrap msgid "hash-table-p" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2048 msgid "@xref{Other Hash, hash-table-p}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2049 #, no-wrap msgid "integer-or-marker-p" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2051 msgid "@xref{Predicates on Markers, integer-or-marker-p}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2052 #, no-wrap msgid "integerp" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2054 msgid "@xref{Predicates on Numbers, integerp}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2055 #, no-wrap msgid "keymapp" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2057 msgid "@xref{Creating Keymaps, keymapp}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2058 #, no-wrap msgid "keywordp" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2060 msgid "@xref{Constant Variables}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2061 #, no-wrap msgid "listp" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2063 msgid "@xref{List-related Predicates, listp}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2064 #, no-wrap msgid "markerp" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2066 msgid "@xref{Predicates on Markers, markerp}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2067 #, no-wrap msgid "mutexp" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2069 msgid "@xref{Mutexes, mutexp}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2070 #, no-wrap msgid "nlistp" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2072 msgid "@xref{List-related Predicates, nlistp}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2073 #, no-wrap msgid "number-or-marker-p" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2075 msgid "@xref{Predicates on Markers, number-or-marker-p}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2076 #, no-wrap msgid "numberp" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2078 msgid "@xref{Predicates on Numbers, numberp}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2079 #, no-wrap msgid "overlayp" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2081 msgid "@xref{Overlays, overlayp}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2082 #, no-wrap msgid "processp" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2084 msgid "@xref{Processes, processp}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2085 #, no-wrap msgid "recordp" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2087 msgid "@xref{Record Type, recordp}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2088 #, no-wrap msgid "sequencep" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2090 msgid "@xref{Sequence Functions, sequencep}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2091 #, no-wrap msgid "string-or-null-p" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2093 msgid "@xref{Predicates for Strings, string-or-null-p}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2094 #, no-wrap msgid "stringp" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2096 msgid "@xref{Predicates for Strings, stringp}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2097 #, no-wrap msgid "subrp" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2099 msgid "@xref{Function Cells, subrp}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2100 #, no-wrap msgid "symbolp" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2102 msgid "@xref{Symbols, symbolp}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2103 #, no-wrap msgid "syntax-table-p" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2105 msgid "@xref{Syntax Tables, syntax-table-p}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2106 #, no-wrap msgid "threadp" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2108 msgid "@xref{Basic Thread Functions, threadp}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2109 #, no-wrap msgid "vectorp" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2111 msgid "@xref{Vectors, vectorp}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2112 #, no-wrap msgid "wholenump" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2114 msgid "@xref{Predicates on Numbers, wholenump}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2115 #, no-wrap msgid "window-configuration-p" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2117 msgid "@xref{Window Configurations, window-configuration-p}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2118 #, no-wrap msgid "window-live-p" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2120 msgid "@xref{Deleting Windows, window-live-p}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2121 #, no-wrap msgid "windowp" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2123 msgid "@xref{Basic Windows, windowp}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2131 msgid "" "The most general way to check the type of an object is to call the function " "@code{type-of}. Recall that each object belongs to one and only one " "primitive type; @code{type-of} tells you which one (@pxref{Lisp Data " "Types}). But @code{type-of} knows nothing about non-primitive types. In " "most cases, it is more convenient to use type predicates than " "@code{type-of}." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2132 #, no-wrap msgid "type-of object" msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2144 msgid "" "This function returns a symbol naming the primitive type of @var{object}. " "The value is one of the symbols @code{bool-vector}, @code{buffer}, " "@code{char-table}, @code{compiled-function}, @code{condition-variable}, " "@code{cons}, @code{finalizer}, @code{float}, @code{font-entity}, " "@code{font-object}, @code{font-spec}, @code{frame}, @code{hash-table}, " "@code{integer}, @code{marker}, @code{mutex}, @code{overlay}, @code{process}, " "@code{string}, @code{subr}, @code{symbol}, @code{thread}, @code{vector}, " "@code{window}, or @code{window-configuration}. However, if @var{object} is " "a record, the type specified by its first slot is returned; @ref{Records}." msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2148 #, no-wrap msgid "" "(type-of 1)\n" " @result{} integer\n" msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2157 #, no-wrap msgid "" "(type-of 'nil)\n" " @result{} symbol\n" "(type-of '()) ; @r{@code{()} is @code{nil}.}\n" " @result{} symbol\n" "(type-of '(x))\n" " @result{} cons\n" "(type-of (record 'foo))\n" " @result{} foo\n" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2163 #, no-wrap msgid "equality" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2169 msgid "" "Here we describe functions that test for equality between two objects. " "Other functions test equality of contents between objects of specific types, " "e.g., strings. For these predicates, see the appropriate chapter describing " "the data type." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2170 #, no-wrap msgid "eq object1 object2" msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2173 msgid "" "This function returns @code{t} if @var{object1} and @var{object2} are the " "same object, and @code{nil} otherwise." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2181 msgid "" "If @var{object1} and @var{object2} are symbols with the same name, they are " "normally the same object---but see @ref{Creating Symbols} for exceptions. " "For other non-numeric types (e.g., lists, vectors, strings), two arguments " "with the same contents or elements are not necessarily @code{eq} to each " "other: they are @code{eq} only if they are the same object, meaning that a " "change in the contents of one will be reflected by the same change in the " "contents of the other." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2190 msgid "" "If @var{object1} and @var{object2} are numbers with differing types or " "values, then they cannot be the same object and @code{eq} returns " "@code{nil}. If they are fixnums with the same value, then they are the same " "object and @code{eq} returns @code{t}. If they were computed separately but " "happen to have the same value and the same non-fixnum numeric type, then " "they might or might not be the same object, and @code{eq} returns @code{t} " "or @code{nil} depending on whether the Lisp interpreter created one object " "or two." msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2195 #, no-wrap msgid "" "(eq 'foo 'foo)\n" " @result{} t\n" msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2200 #, no-wrap msgid "" "(eq ?A ?A)\n" " @result{} t\n" msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2206 #, no-wrap msgid "" "(eq 3.0 3.0)\n" " @result{} t @r{or} nil\n" ";; @r{Equal floats may or may not be the same object.}\n" msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2211 #, no-wrap msgid "" "(eq (make-string 3 ?A) (make-string 3 ?A))\n" " @result{} nil\n" msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2217 #, no-wrap msgid "" "(eq \"asdf\" \"asdf\")\n" " @result{} t @r{or} nil\n" ";; @r{Equal string constants or may not be the same object.}\n" msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2222 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2308 #, no-wrap msgid "" "(eq '(1 (2 (3))) '(1 (2 (3))))\n" " @result{} nil\n" msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2231 #, no-wrap msgid "" "(setq foo '(1 (2 (3))))\n" " @result{} (1 (2 (3)))\n" "(eq foo foo)\n" " @result{} t\n" "(eq foo '(1 (2 (3))))\n" " @result{} nil\n" msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2236 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2317 #, no-wrap msgid "" "(eq [(1 2) 3] [(1 2) 3])\n" " @result{} nil\n" msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2241 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2327 #, no-wrap msgid "" "(eq (point-marker) (point-marker))\n" " @result{} nil\n" msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2249 msgid "" "The @code{make-symbol} function returns an uninterned symbol, distinct from " "the symbol that is used if you write the name in a Lisp expression. " "Distinct symbols with the same name are not @code{eq}. @xref{Creating " "Symbols}." msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2254 #, no-wrap msgid "" "(eq (make-symbol \"foo\") 'foo)\n" " @result{} nil\n" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2258 #, no-wrap msgid "identical-contents objects, and byte-compiler" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2259 #, no-wrap msgid "objects with identical contents, and byte-compiler" msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2271 msgid "" "The Emacs Lisp byte compiler may collapse identical literal objects, such as " "literal strings, into references to the same object, with the effect that " "the byte-compiled code will compare such objects as @code{eq}, while the " "interpreted version of the same code will not. Therefore, your code should " "never rely on objects with the same literal contents being either @code{eq} " "or not @code{eq}, it should instead use functions that compare object " "contents such as @code{equal}, described below. Similarly, your code should " "not modify literal objects (e.g., put text properties on literal strings), " "since doing that might affect other literal objects of the same contents, if " "the byte compiler collapses them." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2273 #, no-wrap msgid "equal object1 object2" msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2280 msgid "" "This function returns @code{t} if @var{object1} and @var{object2} have equal " "components, and @code{nil} otherwise. Whereas @code{eq} tests if its " "arguments are the same object, @code{equal} looks inside nonidentical " "arguments to see if their elements or contents are the same. So, if two " "objects are @code{eq}, they are @code{equal}, but the converse is not always " "true." msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2285 #, no-wrap msgid "" "(equal 'foo 'foo)\n" " @result{} t\n" msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2290 #, no-wrap msgid "" "(equal 456 456)\n" " @result{} t\n" msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2295 #, no-wrap msgid "" "(equal \"asdf\" \"asdf\")\n" " @result{} t\n" msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2299 #, no-wrap msgid "" "(eq \"asdf\" \"asdf\")\n" " @result{} nil\n" msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2304 #, no-wrap msgid "" "(equal '(1 (2 (3))) '(1 (2 (3))))\n" " @result{} t\n" msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2313 #, no-wrap msgid "" "(equal [(1 2) 3] [(1 2) 3])\n" " @result{} t\n" msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2322 #, no-wrap msgid "" "(equal (point-marker) (point-marker))\n" " @result{} t\n" msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2337 msgid "" "Comparison of strings is case-sensitive, but does not take account of text " "properties---it compares only the characters in the strings. @xref{Text " "Properties}. Use @code{equal-including-properties} to also compare text " "properties. For technical reasons, a unibyte string and a multibyte string " "are @code{equal} if and only if they contain the same sequence of character " "codes and all these codes are in the range 0 through 127 (@acronym{ASCII})." msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2342 #, no-wrap msgid "" "(equal \"asdf\" \"ASDF\")\n" " @result{} nil\n" msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2351 msgid "" "The @code{equal} function recursively compares the contents of objects if " "they are integers, strings, markers, vectors, bool-vectors, byte-code " "function objects, char-tables, records, or font objects. Other objects are " "considered @code{equal} only if they are @code{eq}. For example, two " "distinct buffers are never considered @code{equal}, even if their textual " "contents are the same." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2357 msgid "" "For @code{equal}, equality is defined recursively; for example, given two " "cons cells @var{x} and @var{y}, @code{(equal @var{x} @var{y})} returns " "@code{t} if and only if both the expressions below return @code{t}:" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2361 #, no-wrap msgid "" "(equal (car @var{x}) (car @var{y}))\n" "(equal (cdr @var{x}) (cdr @var{y}))\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2367 msgid "" "Comparing circular lists may therefore cause deep recursion that leads to an " "error, and this may result in counterintuitive behavior such as @code{(equal " "a b)} returning @code{t} whereas @code{(equal b a)} signals an error." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2368 #, no-wrap msgid "equal-including-properties object1 object2" msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2371 msgid "" "This function behaves like @code{equal} in all cases but also requires that " "for two strings to be equal, they have the same text properties." msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2376 #, no-wrap msgid "" "(equal \"asdf\" (propertize \"asdf\" 'asdf t))\n" " @result{} t\n" msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2381 #, no-wrap msgid "" "(equal-including-properties \"asdf\"\n" " (propertize \"asdf\" 'asdf t))\n" " @result{} nil\n" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2387 #, no-wrap msgid "mutable objects" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2394 msgid "" "Some Lisp objects should never change. For example, the Lisp expression " "@code{\"aaa\"} yields a string, but you should not change its contents. And " "some objects cannot be changed; for example, although you can create a new " "number by calculating one, Lisp provides no operation to change the value of " "an existing number." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2399 msgid "" "Other Lisp objects are @dfn{mutable}: it is safe to change their values via " "destructive operations involving side effects. For example, an existing " "marker can be changed by moving the marker to point to somewhere else." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2407 msgid "" "Although numbers never change and all markers are mutable, some types have " "members some of which are mutable and others not. These types include " "conses, vectors, and strings. For example, although @code{\"cons\"} and " "@code{(symbol-name 'cons)} both yield strings that should not be changed, " "@code{(copy-sequence \"cons\")} and @code{(make-string 3 ?a)} both yield " "mutable strings that can be changed via later calls to @code{aset}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2410 msgid "" "A mutable object stops being mutable if it is part of an expression that is " "evaluated. For example:" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2416 #, no-wrap msgid "" "(let* ((x (list 0.5))\n" " (y (eval (list 'quote x))))\n" " (setcar x 1.5) ;; The program should not do this.\n" " y)\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2423 msgid "" "Although the list @code{(0.5)} was mutable when it was created, it should " "not have been changed via @code{setcar} because it was given to " "@code{eval}. The reverse does not occur: an object that should not be " "changed never becomes mutable afterwards." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2432 msgid "" "If a program attempts to change objects that should not be changed, the " "resulting behavior is undefined: the Lisp interpreter might signal an error, " "or it might crash or behave unpredictably in other ways.@footnote{This is " "the behavior specified for languages like Common Lisp and C for constants, " "and this differs from languages like JavaScript and Python where an " "interpreter is required to signal an error if a program attempts to change " "an immutable object. Ideally the Emacs Lisp interpreter will evolve in " "latter direction.}" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/objects.texi:2439 msgid "" "When similar constants occur as parts of a program, the Lisp interpreter " "might save time or space by reusing existing constants or their components. " "For example, @code{(eq \"abc\" \"abc\")} returns @code{t} if the interpreter " "creates only one instance of the string literal @code{\"abc\"}, and returns " "@code{nil} if it creates two instances. Lisp programs should be written so " "that they work regardless of whether this optimization is in use." msgstr ""