# 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/symbols.texi:6 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:7 #, no-wrap msgid "Symbols" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:8 #, no-wrap msgid "symbol" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:16 msgid "" "A @dfn{symbol} is an object with a unique name. This chapter describes " "symbols, their components, their property lists, and how they are created " "and interned. Separate chapters describe the use of symbols as variables " "and as function names; see @ref{Variables}, and @ref{Functions}. For the " "precise read syntax for symbols, see @ref{Symbol Type}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:19 msgid "" "You can test whether an arbitrary Lisp object is a symbol with " "@code{symbolp}:" msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:20 #, no-wrap msgid "symbolp object" msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:23 msgid "" "This function returns @code{t} if @var{object} is a symbol, @code{nil} " "otherwise." msgstr "" #. type: section #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:34 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:37 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:38 #, no-wrap msgid "Symbol Components" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:34 msgid "Symbols have names, values, function definitions and property lists." msgstr "" #. type: node #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:34 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:122 #, no-wrap msgid "Definitions" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:34 msgid "A definition says how a symbol will be used." msgstr "" #. type: node #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:34 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:171 #, no-wrap msgid "Creating Symbols" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:34 msgid "How symbols are kept unique." msgstr "" #. type: section #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:34 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:420 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:421 #, no-wrap msgid "Symbol Properties" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:34 msgid "Each symbol has a property list for recording miscellaneous information." msgstr "" #. type: section #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:34 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:638 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:639 #, no-wrap msgid "Shorthands" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:34 msgid "Properly organize your symbol names but type less of them." msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:39 #, no-wrap msgid "symbol components" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:43 msgid "" "Each symbol has four components (or ``cells''), each of which references " "another object:" msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:45 #, no-wrap msgid "Print name" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:46 #, no-wrap msgid "print name cell" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:48 msgid "The symbol's name." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:49 #, no-wrap msgid "Value" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:50 #, no-wrap msgid "value cell" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:52 msgid "The symbol's current value as a variable." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:53 #, no-wrap msgid "Function" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:54 #, no-wrap msgid "function cell" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:57 msgid "" "The symbol's function definition. It can also hold a symbol, a keymap, or a " "keyboard macro." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:58 #, no-wrap msgid "Property list" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:59 #, no-wrap msgid "property list cell" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:61 msgid "The symbol's property list." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:66 msgid "" "The print name cell always holds a string, and cannot be changed. Each of " "the other three cells can be set to any Lisp object." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:77 msgid "" "The print name cell holds the string that is the name of a symbol. Since " "symbols are represented textually by their names, it is important not to " "have two symbols with the same name. The Lisp reader ensures this: every " "time it reads a symbol, it looks for an existing symbol with the specified " "name before it creates a new one. To get a symbol's name, use the function " "@code{symbol-name} (@pxref{Creating Symbols}). However, although each " "symbol has only one unique @emph{print name}, it is nevertheless possible to " "refer to that same symbol via different alias names called ``shorthands'' " "(@pxref{Shorthands})." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:87 msgid "" "The value cell holds a symbol's value as a variable, which is what you get " "if the symbol itself is evaluated as a Lisp expression. @xref{Variables}, " "for details about how values are set and retrieved, including complications " "such as @dfn{local bindings} and @dfn{scoping rules}. Most symbols can have " "any Lisp object as a value, but certain special symbols have values that " "cannot be changed; these include @code{nil} and @code{t}, and any symbol " "whose name starts with @samp{:} (those are called @dfn{keywords}). " "@xref{Constant Variables}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:98 msgid "" "The function cell holds a symbol's function definition. Often, we refer to " "``the function @code{foo}'' when we really mean the function stored in the " "function cell of @code{foo}; we make the distinction explicit only when " "necessary. Typically, the function cell is used to hold a function " "(@pxref{Functions}) or a macro (@pxref{Macros}). However, it can also be " "used to hold a symbol (@pxref{Function Indirection}), keyboard macro " "(@pxref{Keyboard Macros}), keymap (@pxref{Keymaps}), or autoload object " "(@pxref{Autoloading}). To get the contents of a symbol's function cell, use " "the function @code{symbol-function} (@pxref{Function Cells})." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:102 msgid "" "The property list cell normally should hold a correctly formatted property " "list. To get a symbol's property list, use the function " "@code{symbol-plist}. @xref{Symbol Properties}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:108 msgid "" "The function cell or the value cell may be @dfn{void}, which means that the " "cell does not reference any object. (This is not the same thing as holding " "the symbol @code{void}, nor the same as holding the symbol @code{nil}.) " "Examining a function or value cell that is void results in an error, such as " "@samp{Symbol's value as variable is void}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:114 msgid "" "Because each symbol has separate value and function cells, variables names " "and function names do not conflict. For example, the symbol " "@code{buffer-file-name} has a value (the name of the file being visited in " "the current buffer) as well as a function definition (a primitive function " "that returns the name of the file):" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:120 #, no-wrap msgid "" "buffer-file-name\n" " @result{} \"/gnu/elisp/symbols.texi\"\n" "(symbol-function 'buffer-file-name)\n" " @result{} #\n" msgstr "" #. type: section #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:123 #, no-wrap msgid "Defining Symbols" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:124 #, no-wrap msgid "definitions of symbols" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:132 msgid "" "A @dfn{definition} is a special kind of Lisp expression that announces your " "intention to use a symbol in a particular way. It typically specifies a " "value or meaning for the symbol for one kind of use, plus documentation for " "its meaning when used in this way. Thus, when you define a symbol as a " "variable, you can supply an initial value for the variable, plus " "documentation for the variable." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:139 msgid "" "@code{defvar} and @code{defconst} are special forms that define a symbol as " "a @dfn{global variable}---a variable that can be accessed at any point in a " "Lisp program. @xref{Variables}, for details about variables. To define a " "customizable variable, use the @code{defcustom} macro, which also calls " "@code{defvar} as a subroutine (@pxref{Customization})." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:146 msgid "" "In principle, you can assign a variable value to any symbol with " "@code{setq}, whether or not it has first been defined as a variable. " "However, you ought to write a variable definition for each global variable " "that you want to use; otherwise, your Lisp program may not act correctly if " "it is evaluated with lexical scoping enabled (@pxref{Variable Scoping})." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:154 msgid "" "@code{defun} defines a symbol as a function, creating a lambda expression " "and storing it in the function cell of the symbol. This lambda expression " "thus becomes the function definition of the symbol. (The term ``function " "definition'', meaning the contents of the function cell, is derived from the " "idea that @code{defun} gives the symbol its definition as a function.) " "@code{defsubst} and @code{defalias} are two other ways of defining a " "function. @xref{Functions}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:161 msgid "" "@code{defmacro} defines a symbol as a macro. It creates a macro object and " "stores it in the function cell of the symbol. Note that a given symbol can " "be a macro or a function, but not both at once, because both macro and " "function definitions are kept in the function cell, and that cell can hold " "only one Lisp object at any given time. @xref{Macros}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:165 msgid "" "As previously noted, Emacs Lisp allows the same symbol to be defined both as " "a variable (e.g., with @code{defvar}) and as a function or macro (e.g., with " "@code{defun}). Such definitions do not conflict." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:170 msgid "" "These definitions also act as guides for programming tools. For example, " "the @kbd{C-h f} and @kbd{C-h v} commands create help buffers containing " "links to the relevant variable, function, or macro definitions. @xref{Name " "Help,,, emacs, The GNU Emacs Manual}." msgstr "" #. type: section #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:172 #, no-wrap msgid "Creating and Interning Symbols" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:173 #, no-wrap msgid "reading symbols" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:179 msgid "" "To understand how symbols are created in GNU Emacs Lisp, you must know how " "Lisp reads them. Lisp must ensure that it finds the same symbol every time " "it reads the same sequence of characters in the same context. Failure to do " "so would cause complete confusion." msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:180 #, no-wrap msgid "symbol name hashing" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:181 #, no-wrap msgid "hashing" msgstr "" #. type: defvar #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:182 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:378 #, no-wrap msgid "obarray" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:183 #, no-wrap msgid "bucket (in obarray)" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:198 msgid "" "When the Lisp reader encounters a name that references a symbol in the " "source code, it reads all the characters of that name. Then it looks up " "that name in a table called an @dfn{obarray} to find the symbol that the " "programmer meant. The technique used in this lookup is called ``hashing'', " "an efficient method of looking something up by converting a sequence of " "characters to a number, known as a ``hash code''. For example, instead of " "searching a telephone book cover to cover when looking up Jan Jones, you " "start with the J's and go from there. That is a simple version of hashing. " "Each element of the obarray is a @dfn{bucket} which holds all the symbols " "with a given hash code; to look for a given name, it is sufficient to look " "through all the symbols in the bucket for that name's hash code. (The same " "idea is used for general Emacs hash tables, but they are a different data " "type; see @ref{Hash Tables}.)" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:208 msgid "" "When looking up names, the Lisp reader also considers ``shorthands''. If " "the programmer supplied them, this allows the reader to find a symbol even " "if its name isn't present in its full form in the source code. Of course, " "the reader needs to be aware of some pre-established context about such " "shorthands, much as one needs context to be to able to refer uniquely to Jan " "Jones by just the name ``Jan'': it's probably fine when amongst the Joneses, " "or when Jan has been mentioned recently, but very ambiguous in any other " "situation. @xref{Shorthands}." msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:209 #, no-wrap msgid "interning" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:215 msgid "" "If a symbol with the desired name is found, the reader uses that symbol. If " "the obarray does not contain a symbol with that name, the reader makes a new " "symbol and adds it to the obarray. Finding or adding a symbol with a " "certain name is called @dfn{interning} it, and the symbol is then called an " "@dfn{interned symbol}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:220 msgid "" "Interning ensures that each obarray has just one symbol with any particular " "name. Other like-named symbols may exist, but not in the same obarray. " "Thus, the reader gets the same symbols for the same names, as long as you " "keep reading with the same obarray." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:229 msgid "" "Interning usually happens automatically in the reader, but sometimes other " "programs may want to do it. For example, after the @kbd{M-x} command " "obtains the command name as a string using the minibuffer, it then interns " "the string, to get the interned symbol with that name. As another example, " "a hypothetical telephone book program could intern the name of each looked " "up person's name as a symbol, even if the obarray did not contain it, so " "that it could attach information to that new symbol, such as the last time " "someone looked it up." msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:230 #, no-wrap msgid "symbol equality" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:231 #, no-wrap msgid "uninterned symbol" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:238 msgid "" "No obarray contains all symbols; in fact, some symbols are not in any " "obarray. They are called @dfn{uninterned symbols}. An uninterned symbol " "has the same four cells as other symbols; however, the only way to gain " "access to it is by finding it in some other object or as the value of a " "variable. Uninterned symbols are sometimes useful in generating Lisp code, " "see below." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:246 msgid "" "In Emacs Lisp, an obarray is actually a vector. Each element of the vector " "is a bucket; its value is either an interned symbol whose name hashes to " "that bucket, or 0 if the bucket is empty. Each interned symbol has an " "internal link (invisible to the user) to the next symbol in the bucket. " "Because these links are invisible, there is no way to find all the symbols " "in an obarray except using @code{mapatoms} (below). The order of symbols in " "a bucket is not significant." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:252 msgid "" "In an empty obarray, every element is 0, so you can create an obarray with " "@code{(make-vector @var{length} 0)}. @strong{This is the only valid way to " "create an obarray.} Prime numbers as lengths tend to result in good hashing; " "lengths one less than a power of two are also good." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:255 msgid "" "@strong{Do not try to put symbols in an obarray yourself.} This does not " "work---only @code{intern} can enter a symbol in an obarray properly." msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:256 #, no-wrap msgid "CL note---symbol in obarrays" msgstr "" #. type: quotation #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:263 msgid "" "@b{Common Lisp note:} Unlike Common Lisp, Emacs Lisp does not provide for " "interning the same name in several different ``packages'', thus creating " "multiple symbols with the same name but different packages. Emacs Lisp " "provides a different namespacing system called ``shorthands'' " "(@pxref{Shorthands})." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:268 msgid "" "Most of the functions below take a name and sometimes an obarray as " "arguments. A @code{wrong-type-argument} error is signaled if the name is " "not a string, or if the obarray is not a vector." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:269 #, no-wrap msgid "symbol-name symbol" msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:271 msgid "This function returns the string that is @var{symbol}'s name. For example:" msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:276 #, no-wrap msgid "" "(symbol-name 'foo)\n" " @result{} \"foo\"\n" msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:282 msgid "" "@strong{Warning:} Changing the string by substituting characters does change " "the name of the symbol, but fails to update the obarray, so don't do it!" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:284 #, no-wrap msgid "uninterned symbol, and generating Lisp code" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:288 msgid "" "Creating an uninterned symbol is useful in generating Lisp code, because an " "uninterned symbol used as a variable in the code you generate cannot clash " "with any variables used in other Lisp programs." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:289 #, no-wrap msgid "make-symbol name" msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:295 msgid "" "This function returns a newly-allocated, uninterned symbol whose name is " "@var{name} (which must be a string). Its value and function definition are " "void, and its property list is @code{nil}. In the example below, the value " "of @code{sym} is not @code{eq} to @code{foo} because it is a distinct " "uninterned symbol whose name is also @samp{foo}." msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:301 #, no-wrap msgid "" "(setq sym (make-symbol \"foo\"))\n" " @result{} foo\n" "(eq sym 'foo)\n" " @result{} nil\n" msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:304 #, no-wrap msgid "gensym &optional prefix" msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:310 msgid "" "This function returns a symbol using @code{make-symbol}, whose name is made " "by appending @code{gensym-counter} to @var{prefix} and incrementing that " "counter, guaranteeing that no two calls to this function will generate a " "symbol with the same name. The prefix defaults to @code{\"g\"}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:315 msgid "" "To avoid problems when accidentally interning printed representation of " "generated code (@pxref{Printed Representation}), it is recommended to use " "@code{gensym} instead of @code{make-symbol}." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:316 #, no-wrap msgid "intern name &optional obarray" msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:322 msgid "" "This function returns the interned symbol whose name is @var{name}. If " "there is no such symbol in the obarray @var{obarray}, @code{intern} creates " "a new one, adds it to the obarray, and returns it. If @var{obarray} is " "omitted, the value of the global variable @code{obarray} is used." msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:328 #, no-wrap msgid "" "(setq sym (intern \"foo\"))\n" " @result{} foo\n" "(eq sym 'foo)\n" " @result{} t\n" "\n" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:333 #, no-wrap msgid "" "(setq sym1 (intern \"foo\" other-obarray))\n" " @result{} foo\n" "(eq sym1 'foo)\n" " @result{} nil\n" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:336 #, no-wrap msgid "CL note---interning existing symbol" msgstr "" #. type: quotation #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:341 msgid "" "@b{Common Lisp note:} In Common Lisp, you can intern an existing symbol in " "an obarray. In Emacs Lisp, you cannot do this, because the argument to " "@code{intern} must be a string, not a symbol." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:343 #, no-wrap msgid "intern-soft name &optional obarray" msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:349 msgid "" "This function returns the symbol in @var{obarray} whose name is @var{name}, " "or @code{nil} if @var{obarray} has no symbol with that name. Therefore, you " "can use @code{intern-soft} to test whether a symbol with a given name is " "already interned. If @var{obarray} is omitted, the value of the global " "variable @code{obarray} is used." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:353 msgid "" "The argument @var{name} may also be a symbol; in that case, the function " "returns @var{name} if @var{name} is interned in the specified obarray, and " "otherwise @code{nil}." msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:359 #, no-wrap msgid "" "(intern-soft \"frazzle\") ; @r{No such symbol exists.}\n" " @result{} nil\n" "(make-symbol \"frazzle\") ; @r{Create an uninterned one.}\n" " @result{} frazzle\n" msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:362 #, no-wrap msgid "" "(intern-soft \"frazzle\") ; @r{That one cannot be found.}\n" " @result{} nil\n" msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:366 #, no-wrap msgid "" "(setq sym (intern \"frazzle\")) ; @r{Create an interned one.}\n" " @result{} frazzle\n" msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:370 #, no-wrap msgid "" "(intern-soft \"frazzle\") ; @r{That one can be found!}\n" " @result{} frazzle\n" msgstr "" #. type: group #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:374 #, no-wrap msgid "" "(eq sym 'frazzle) ; @r{And it is the same one.}\n" " @result{} t\n" msgstr "" #. type: defvar #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:381 msgid "" "This variable is the standard obarray for use by @code{intern} and " "@code{read}." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:383 #, no-wrap msgid "mapatoms function &optional obarray" msgstr "" #. type: anchor{#1} #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:389 msgid "Definition of mapatoms" msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:389 msgid "" "This function calls @var{function} once with each symbol in the obarray " "@var{obarray}. Then it returns @code{nil}. If @var{obarray} is omitted, it " "defaults to the value of @code{obarray}, the standard obarray for ordinary " "symbols." msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:400 #, no-wrap msgid "" "(setq count 0)\n" " @result{} 0\n" "(defun count-syms (s)\n" " (setq count (1+ count)))\n" " @result{} count-syms\n" "(mapatoms 'count-syms)\n" " @result{} nil\n" "count\n" " @result{} 1871\n" msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:404 msgid "" "See @code{documentation} in @ref{Accessing Documentation}, for another " "example using @code{mapatoms}." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:406 #, no-wrap msgid "unintern symbol obarray" msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:410 msgid "" "This function deletes @var{symbol} from the obarray @var{obarray}. If " "@code{symbol} is not actually in the obarray, @code{unintern} does nothing. " "If @var{obarray} is @code{nil}, the current obarray is used." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:415 msgid "" "If you provide a string instead of a symbol as @var{symbol}, it stands for a " "symbol name. Then @code{unintern} deletes the symbol (if any) in the " "obarray which has that name. If there is no such symbol, @code{unintern} " "does nothing." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:418 msgid "" "If @code{unintern} does delete a symbol, it returns @code{t}. Otherwise it " "returns @code{nil}." msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:422 #, no-wrap msgid "symbol property" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:429 msgid "" "A symbol may possess any number of @dfn{symbol properties}, which can be " "used to record miscellaneous information about the symbol. For example, " "when a symbol has a @code{risky-local-variable} property with a " "non-@code{nil} value, that means the variable which the symbol names is a " "risky file-local variable (@pxref{File Local Variables})." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:433 msgid "" "Each symbol's properties and property values are stored in the symbol's " "property list cell (@pxref{Symbol Components}), in the form of a property " "list (@pxref{Property Lists})." msgstr "" #. type: node #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:437 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:439 #, no-wrap msgid "Symbol Plists" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:437 msgid "Accessing symbol properties." msgstr "" #. type: node #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:437 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:523 #, no-wrap msgid "Standard Properties" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:437 msgid "Standard meanings of symbol properties." msgstr "" #. type: subsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:440 #, no-wrap msgid "Accessing Symbol Properties" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:443 msgid "The following functions can be used to access symbol properties." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:444 #, no-wrap msgid "get symbol property" msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:449 msgid "" "This function returns the value of the property named @var{property} in " "@var{symbol}'s property list. If there is no such property, it returns " "@code{nil}. Thus, there is no distinction between a value of @code{nil} and " "the absence of the property." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:452 msgid "" "The name @var{property} is compared with the existing property names using " "@code{eq}, so any object is a legitimate property." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:454 msgid "See @code{put} for an example." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:456 #, no-wrap msgid "put symbol property value" msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:460 msgid "" "This function puts @var{value} onto @var{symbol}'s property list under the " "property name @var{property}, replacing any previous property value. The " "@code{put} function returns @var{value}." msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:470 #, no-wrap msgid "" "(put 'fly 'verb 'transitive)\n" " @result{}'transitive\n" "(put 'fly 'noun '(a buzzing little bug))\n" " @result{} (a buzzing little bug)\n" "(get 'fly 'verb)\n" " @result{} transitive\n" "(symbol-plist 'fly)\n" " @result{} (verb transitive noun (a buzzing little bug))\n" msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:473 #, no-wrap msgid "symbol-plist symbol" msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:475 msgid "This function returns the property list of @var{symbol}." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:477 #, no-wrap msgid "setplist symbol plist" msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:481 msgid "" "This function sets @var{symbol}'s property list to @var{plist}. Normally, " "@var{plist} should be a well-formed property list, but this is not " "enforced. The return value is @var{plist}." msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:487 #, no-wrap msgid "" "(setplist 'foo '(a 1 b (2 3) c nil))\n" " @result{} (a 1 b (2 3) c nil)\n" "(symbol-plist 'foo)\n" " @result{} (a 1 b (2 3) c nil)\n" msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:493 msgid "" "For symbols in special obarrays, which are not used for ordinary purposes, " "it may make sense to use the property list cell in a nonstandard fashion; in " "fact, the abbrev mechanism does so (@pxref{Abbrevs})." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:496 msgid "" "You could define @code{put} in terms of @code{setplist} and " "@code{plist-put}, as follows:" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:501 #, no-wrap msgid "" "(defun put (symbol prop value)\n" " (setplist symbol\n" " (plist-put (symbol-plist symbol) prop value)))\n" msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:504 #, no-wrap msgid "function-get symbol property &optional autoload" msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:513 msgid "" "This function is identical to @code{get}, except that if @var{symbol} is the " "name of a function alias, it looks in the property list of the symbol naming " "the actual function. @xref{Defining Functions}. If the optional argument " "@var{autoload} is non-@code{nil}, and @var{symbol} is auto-loaded, this " "function will try to autoload it, since autoloading might set @var{property} " "of @var{symbol}. If @var{autoload} is the symbol @code{macro}, only try " "autoloading if @var{symbol} is an auto-loaded macro." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:515 #, no-wrap msgid "function-put function property value" msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:521 msgid "" "This function sets @var{property} of @var{function} to @var{value}. " "@var{function} should be a symbol. This function is preferred to calling " "@code{put} for setting properties of a function, because it will allow us " "some day to implement remapping of old properties to new ones." msgstr "" #. type: subsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:524 #, no-wrap msgid "Standard Symbol Properties" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:530 msgid "" "Here, we list the symbol properties which are used for special purposes in " "Emacs. In the following table, whenever we say ``the named function'', that " "means the function whose name is the relevant symbol; similarly for ``the " "named variable'' etc." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:532 #, no-wrap msgid ":advertised-binding" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:535 msgid "" "This property value specifies the preferred key binding, when showing " "documentation, for the named function. @xref{Keys in Documentation}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:536 #, no-wrap msgid "char-table-extra-slots" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:539 msgid "" "The value, if non-@code{nil}, specifies the number of extra slots in the " "named char-table type. @xref{Char-Tables}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:540 #, no-wrap msgid "customized-face" msgstr "" #. type: itemx #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:541 #, no-wrap msgid "face-defface-spec" msgstr "" #. type: itemx #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:542 #, no-wrap msgid "saved-face" msgstr "" #. type: itemx #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:543 #, no-wrap msgid "theme-face" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:548 msgid "" "These properties are used to record a face's standard, saved, customized, " "and themed face specs. Do not set them directly; they are managed by " "@code{defface} and related functions. @xref{Defining Faces}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:549 #, no-wrap msgid "customized-value" msgstr "" #. type: itemx #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:550 #, no-wrap msgid "saved-value" msgstr "" #. type: itemx #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:551 #, no-wrap msgid "standard-value" msgstr "" #. type: itemx #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:552 #, no-wrap msgid "theme-value" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:557 msgid "" "These properties are used to record a customizable variable's standard " "value, saved value, customized-but-unsaved value, and themed values. Do not " "set them directly; they are managed by @code{defcustom} and related " "functions. @xref{Variable Definitions}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:558 #, no-wrap msgid "disabled" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:561 msgid "" "If the value is non-@code{nil}, the named function is disabled as a " "command. @xref{Disabling Commands}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:562 #, no-wrap msgid "face-documentation" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:565 msgid "" "The value stores the documentation string of the named face. This is set " "automatically by @code{defface}. @xref{Defining Faces}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:566 #, no-wrap msgid "history-length" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:570 msgid "" "The value, if non-@code{nil}, specifies the maximum minibuffer history " "length for the named history list variable. @xref{Minibuffer History}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:571 #, no-wrap msgid "interactive-form" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:575 msgid "" "The value is an interactive form for the named function. Normally, you " "should not set this directly; use the @code{interactive} special form " "instead. @xref{Interactive Call}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:576 #, no-wrap msgid "menu-enable" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:579 msgid "" "The value is an expression for determining whether the named menu item " "should be enabled in menus. @xref{Simple Menu Items}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:580 #, no-wrap msgid "mode-class" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:583 msgid "" "If the value is @code{special}, the named major mode is special. " "@xref{Major Mode Conventions}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:584 #, no-wrap msgid "permanent-local" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:588 msgid "" "If the value is non-@code{nil}, the named variable is a buffer-local " "variable whose value should not be reset when changing major modes. " "@xref{Creating Buffer-Local}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:589 #, no-wrap msgid "permanent-local-hook" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:593 msgid "" "If the value is non-@code{nil}, the named function should not be deleted " "from the local value of a hook variable when changing major modes. " "@xref{Setting Hooks}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:594 #, no-wrap msgid "pure" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:595 #, no-wrap msgid "@code{pure} property" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:601 msgid "" "If the value is non-@code{nil}, the named function is considered to be pure " "(@pxref{What Is a Function}). Calls with constant arguments can be " "evaluated at compile time. This may shift run time errors to compile time. " "Not to be confused with pure storage (@pxref{Pure Storage})." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:602 #, no-wrap msgid "risky-local-variable" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:605 msgid "" "If the value is non-@code{nil}, the named variable is considered risky as a " "file-local variable. @xref{File Local Variables}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:606 #, no-wrap msgid "safe-function" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:609 msgid "" "If the value is non-@code{nil}, the named function is considered generally " "safe for evaluation. @xref{Function Safety}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:610 #, no-wrap msgid "safe-local-eval-function" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:613 msgid "" "If the value is non-@code{nil}, the named function is safe to call in " "file-local evaluation forms. @xref{File Local Variables}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:614 #, no-wrap msgid "safe-local-variable" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:617 msgid "" "The value specifies a function for determining safe file-local values for " "the named variable. @xref{File Local Variables}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:618 #, no-wrap msgid "side-effect-free" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:619 #, no-wrap msgid "@code{side-effect-free} property" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:626 msgid "" "A non-@code{nil} value indicates that the named function is free of side " "effects (@pxref{What Is a Function}), so the byte compiler may ignore a call " "whose value is unused. If the property's value is @code{error-free}, the " "byte compiler may even delete such unused calls. In addition to byte " "compiler optimizations, this property is also used for determining function " "safety (@pxref{Function Safety})." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:627 #, no-wrap msgid "undo-inhibit-region" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:631 msgid "" "If non-@code{nil}, the named function prevents the @code{undo} operation " "from being restricted to the active region, if @code{undo} is invoked " "immediately after the function. @xref{Undo}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:632 #, no-wrap msgid "variable-documentation" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:636 msgid "" "If non-@code{nil}, this specifies the named variable's documentation " "string. This is set automatically by @code{defvar} and related functions. " "@xref{Defining Faces}." msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:640 #, no-wrap msgid "shorthands" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:641 #, no-wrap msgid "symbolic shorthands" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:642 #, no-wrap msgid "namespacing" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:643 #, no-wrap msgid "namespaces" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:650 msgid "" "The symbol @dfn{shorthands}, sometimes known as ``renamed symbols'', are " "symbolic forms found in Lisp source. They're just like regular symbolic " "forms, except that when the Lisp reader encounters them, it produces symbols " "which have a different and usually longer @dfn{print name} (@pxref{Symbol " "Components})." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:654 msgid "" "It is useful to think of shorthands as @emph{abbreviating} the full names of " "intended symbols. Despite this, do not confuse shorthands with the Abbrev " "system @pxref{Abbrevs}." msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:655 #, no-wrap msgid "namespace etiquette" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:668 msgid "" "Shorthands make Emacs Lisp's @dfn{namespacing etiquette} easier to work " "with. Since all symbols are stored in a single obarray (@pxref{Creating " "Symbols}), programmers commonly prefix each symbol name with the name of the " "library where it originates. For example, the functions " "@code{text-property-search-forward} and @code{text-property-search-backward} " "both belong to the @file{text-property-search.el} library " "(@pxref{Loading}). By properly prefixing symbol names, one effectively " "prevents clashes between similarly named symbols which belong to different " "libraries and thus do different things. However, this practice commonly " "originates very long symbols names, which are inconvenient to type and read " "after a while. Shorthands solve these issues in a clean way." msgstr "" #. type: defvar #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:669 #, no-wrap msgid "read-symbol-shorthands" msgstr "" #. type: defvar #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:675 msgid "" "This variable's value is an alist whose elements have the form " "@code{(@var{shorthand-prefix} . @var{longhand-prefix})}. Each element " "instructs the Lisp reader to read every symbol form which starts with " "@var{shorthand-prefix} as if it started with @var{longhand-prefix} instead." msgstr "" #. type: defvar #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:678 msgid "" "This variable may only be set in file-local variables (@pxref{File " "Variables, , Local Variables in Files, emacs, The GNU Emacs Manual})." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:682 msgid "" "Here's an example of shorthands usage in a hypothetical string manipulating " "library @file{some-nice-string-utils.el}." msgstr "" #. type: smalllisp #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:687 #, no-wrap msgid "" "(defun some-nice-string-utils-split (separator s &optional omit-nulls)\n" " \"A match-data saving variant of `split-string'.\"\n" " (save-match-data (split-string s separator omit-nulls)))\n" "\n" msgstr "" #. type: smalllisp #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:691 #, no-wrap msgid "" "(defun some-nice-string-utils-lines (s)\n" " \"Split string S at newline characters into a list of strings.\"\n" " (some-nice-string-utils-split \"\\\\(\\r\\n\\\\|[\\n\\r]\\\\)\" s))\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:696 msgid "" "As can be seen, it's quite tedious to read or develop this code since the " "symbol names to type are so long. We can use shorthands to alleviate that." msgstr "" #. type: lisp #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:701 #, no-wrap msgid "" "(defun snu-split (separator s &optional omit-nulls)\n" " \"A match-data saving variation on `split-string'.\"\n" " (save-match-data (split-string s separator omit-nulls)))\n" "\n" msgstr "" #. type: lisp #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:705 #, no-wrap msgid "" "(defun snu-lines (s)\n" " \"Split string S into a list of strings on newline characters.\"\n" " (snu-split \"\\\\(\\r\\n\\\\|[\\n\\r]\\\\)\" s))\n" "\n" msgstr "" #. type: lisp #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:709 #, no-wrap msgid "" ";; Local Variables:\n" ";; read-symbol-shorthands: ((\"snu-\" . \"some-nice-string-utils-\"))\n" ";; End:\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:721 msgid "" "Even though the two excerpts look different, they are quite identical after " "the Lisp reader processes them. Both will lead to the very same symbols " "being interned (@pxref{Creating Symbols}). Thus loading or byte-compiling " "any of the two files has equivalent results. The shorthands " "@code{snu-split} and @code{snu-lines} used in the second version are " "@emph{not} interned in the obarray. This is easily seen by moving point to " "the location where the shorthands are used and waiting for ElDoc " "(@pxref{Lisp Doc, , Local Variables in Files, emacs, The GNU Emacs Manual}) " "to hint at the true full name of the symbol under point in the echo area." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:729 msgid "" "Since @code{read-symbol-shorthands} is a file-local variable, it is possible " "that multiple libraries depending on @file{some-nice-string-utils-lines.el} " "refer to the same symbols under @emph{different} shorthands, or not using " "shorthands at all. In the next example, the @file{my-tricks.el} library " "refers to the symbol @code{some-nice-string-utils-lines} using the " "@code{sns-} prefix instead of @code{snu-}." msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:732 #, no-wrap msgid "" "(defun t-reverse-lines (s) (string-join (reverse (sns-lines s)) \"\\n\")\n" "\n" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:737 #, no-wrap msgid "" ";; Local Variables:\n" ";; read-symbol-shorthands: ((\"t-\" . \"my-tricks-\")\n" ";; (\"sns-\" . \"some-nice-string-utils-\"))\n" ";; End:\n" msgstr "" #. type: subsection #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:739 #, no-wrap msgid "Exceptions" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:742 msgid "There are two exceptions to rules governing Shorthand transformations:" msgstr "" #. type: itemize #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:750 msgid "" "Symbol forms comprised entirely of characters in the Emacs Lisp symbol " "constituent class (@pxref{Syntax Class Table}) are not transformed. For " "example, it's possible to use @code{-} or @code{/=} as shorthand prefixes, " "but that won't shadow the arithmetic @emph{functions} of those names." msgstr "" #. type: itemize #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/symbols.texi:753 msgid "Symbol forms whose names start with @samp{#_} are not transformed." msgstr ""