7621 lines
266 KiB
Plaintext
7621 lines
266 KiB
Plaintext
# SOME DESCRIPTIVE TITLE
|
|
# Copyright (C) YEAR Free Software Foundation, Inc.
|
|
# This file is distributed under the same license as the PACKAGE package.
|
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
|
#
|
|
#, fuzzy
|
|
msgid ""
|
|
msgstr ""
|
|
"Project-Id-Version: PACKAGE VERSION\n"
|
|
"POT-Creation-Date: 2021-11-07 12:11+0900\n"
|
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
|
"Language: \n"
|
|
"MIME-Version: 1.0\n"
|
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
"Content-Transfer-Encoding: 8bit\n"
|
|
|
|
#. type: appendix
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:6
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:7
|
|
#, no-wrap
|
|
msgid "GNU Emacs Internals"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:12
|
|
msgid ""
|
|
"This chapter describes how the runnable Emacs executable is dumped with the "
|
|
"preloaded Lisp libraries in it, how storage is allocated, and some internal "
|
|
"aspects of GNU Emacs that may be of interest to C programmers."
|
|
msgstr ""
|
|
|
|
#. type: section
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:24
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:26
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:27
|
|
#, no-wrap
|
|
msgid "Building Emacs"
|
|
msgstr ""
|
|
|
|
#. type: menuentry
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:24
|
|
msgid "How the dumped Emacs is made."
|
|
msgstr ""
|
|
|
|
#. type: section
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:24
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:254
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:255
|
|
#, no-wrap
|
|
msgid "Pure Storage"
|
|
msgstr ""
|
|
|
|
#. type: menuentry
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:24
|
|
msgid "Kludge to make preloaded Lisp functions shareable."
|
|
msgstr ""
|
|
|
|
#. type: section
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:24
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:319
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:320
|
|
#, no-wrap
|
|
msgid "Garbage Collection"
|
|
msgstr ""
|
|
|
|
#. type: menuentry
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:24
|
|
msgid "Reclaiming space for Lisp objects no longer used."
|
|
msgstr ""
|
|
|
|
#. type: section
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:24
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:643
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:644
|
|
#, no-wrap
|
|
msgid "Stack-allocated Objects"
|
|
msgstr ""
|
|
|
|
#. type: menuentry
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:24
|
|
msgid "Temporary conses and strings on C stack."
|
|
msgstr ""
|
|
|
|
#. type: section
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:24
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:672
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:673
|
|
#, no-wrap
|
|
msgid "Memory Usage"
|
|
msgstr ""
|
|
|
|
#. type: menuentry
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:24
|
|
msgid "Info about total size of Lisp objects made so far."
|
|
msgstr ""
|
|
|
|
#. type: section
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:24
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:720
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:721
|
|
#, no-wrap
|
|
msgid "C Dialect"
|
|
msgstr ""
|
|
|
|
#. type: menuentry
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:24
|
|
msgid "What C variant Emacs is written in."
|
|
msgstr ""
|
|
|
|
#. type: section
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:24
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:733
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:734
|
|
#, no-wrap
|
|
msgid "Writing Emacs Primitives"
|
|
msgstr ""
|
|
|
|
#. type: menuentry
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:24
|
|
msgid "Writing C code for Emacs."
|
|
msgstr ""
|
|
|
|
#. type: node
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:24
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1152
|
|
#, no-wrap
|
|
msgid "Writing Dynamic Modules"
|
|
msgstr ""
|
|
|
|
#. type: menuentry
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:24
|
|
msgid "Writing loadable modules for Emacs."
|
|
msgstr ""
|
|
|
|
#. type: section
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:24
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2204
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2205
|
|
#, no-wrap
|
|
msgid "Object Internals"
|
|
msgstr ""
|
|
|
|
#. type: menuentry
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:24
|
|
msgid "Data formats of buffers, windows, processes."
|
|
msgstr ""
|
|
|
|
#. type: section
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:24
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2919
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2920
|
|
#, no-wrap
|
|
msgid "C Integer Types"
|
|
msgstr ""
|
|
|
|
#. type: menuentry
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:24
|
|
msgid "How C integer types are used inside Emacs."
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:28
|
|
#, no-wrap
|
|
msgid "building Emacs"
|
|
msgstr ""
|
|
|
|
#. type: pindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:29
|
|
#, no-wrap
|
|
msgid "temacs"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:35
|
|
msgid ""
|
|
"This section explains the steps involved in building the Emacs executable. "
|
|
"You don't have to know this material to build and install Emacs, since the "
|
|
"makefiles do all these things automatically. This information is pertinent "
|
|
"to Emacs developers."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:37
|
|
msgid "Building Emacs requires GNU Make version 3.81 or later."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:42
|
|
msgid ""
|
|
"Compilation of the C source files in the @file{src} directory produces an "
|
|
"executable file called @file{temacs}, also called a @dfn{bare impure "
|
|
"Emacs}. It contains the Emacs Lisp interpreter and I/O routines, but not "
|
|
"the editing commands."
|
|
msgstr ""
|
|
|
|
#. type: file{#1}
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:43
|
|
#, no-wrap
|
|
msgid "loadup.el"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:49
|
|
msgid ""
|
|
"The command @w{@command{temacs -l loadup}} would run @file{temacs} and "
|
|
"direct it to load @file{loadup.el}. The @code{loadup} library loads "
|
|
"additional Lisp libraries, which set up the normal Emacs editing "
|
|
"environment. After this step, the Emacs executable is no longer @dfn{bare}."
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:50
|
|
#, no-wrap
|
|
msgid "dumping Emacs"
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:51
|
|
#, no-wrap
|
|
msgid "@option{--temacs} option, and dumping method"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:61
|
|
msgid ""
|
|
"Because it takes some time to load the standard Lisp files, the "
|
|
"@file{temacs} executable usually isn't run directly by users. Instead, one "
|
|
"of the last steps of building Emacs runs the command @w{@samp{temacs -batch "
|
|
"-l loadup --temacs=@var{dump-method}}}. The special option "
|
|
"@option{--temacs} tells @command{temacs} how to record all the standard "
|
|
"preloaded Lisp functions and variables, so that when you subsequently run "
|
|
"Emacs, it will start much faster. The @option{--temacs} option requires an "
|
|
"argument @var{dump-method}, which can be one of the following:"
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:63
|
|
#, no-wrap
|
|
msgid "pdump"
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:64
|
|
#, no-wrap
|
|
msgid "dump file"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:73
|
|
msgid ""
|
|
"Record the preloaded Lisp data in a @dfn{dump file}. This method produces "
|
|
"an additional data file which Emacs will load at startup. The produced dump "
|
|
"file is usually called @file{emacs.pdmp}, and is installed in the Emacs "
|
|
"@code{exec-directory} (@pxref{Help Functions}). This method is the most "
|
|
"preferred one, as it does not require Emacs to employ any special techniques "
|
|
"of memory allocation, which might get in the way of various memory-layout "
|
|
"techniques used by modern systems to enhance security and privacy."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:74
|
|
#, no-wrap
|
|
msgid "pbootstrap"
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:75
|
|
#, no-wrap
|
|
msgid "bootstrapping Emacs"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:80
|
|
msgid ""
|
|
"Like @samp{pdump}, but used while @dfn{bootstrapping} Emacs, when no "
|
|
"previous Emacs binary and no @file{*.elc} byte-compiled Lisp files are "
|
|
"available. The produced dump file is usually named "
|
|
"@file{bootstrap-emacs.pdmp} in this case."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:81
|
|
#, no-wrap
|
|
msgid "dump"
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:82
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:232
|
|
#, no-wrap
|
|
msgid "unexec"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:93
|
|
msgid ""
|
|
"This method causes @command{temacs} to dump out an executable program, "
|
|
"called @file{emacs}, which has all the standard Lisp files already preloaded "
|
|
"into it. (The @samp{-batch} argument prevents @command{temacs} from trying "
|
|
"to initialize any of its data on the terminal, so that the tables of "
|
|
"terminal information are empty in the dumped Emacs.) This method is also "
|
|
"known as @dfn{unexec}, because it produces a program file from a running "
|
|
"process, and thus is in some sense the opposite of executing a program to "
|
|
"start a process. Although this method was the way that Emacs traditionally "
|
|
"saved its state, it is now deprecated."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:94
|
|
#, no-wrap
|
|
msgid "bootstrap"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:97
|
|
msgid ""
|
|
"Like @samp{dump}, but used when bootstrapping Emacs with the @code{unexec} "
|
|
"method."
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:99
|
|
#, no-wrap
|
|
msgid "preloaded Lisp files"
|
|
msgstr ""
|
|
|
|
#. type: vindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:100
|
|
#, no-wrap
|
|
msgid "preloaded-file-list"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:110
|
|
msgid ""
|
|
"The dumped @file{emacs} executable (also called a @dfn{pure} Emacs) is the "
|
|
"one which is installed. If the portable dumper was used to build Emacs, the "
|
|
"@file{emacs} executable is actually an exact copy of @file{temacs}, and the "
|
|
"corresponding @file{emacs.pdmp} file is installed as well. The variable "
|
|
"@code{preloaded-file-list} stores a list of the preloaded Lisp files "
|
|
"recorded in the dump file or in the dumped Emacs executable. If you port "
|
|
"Emacs to a new operating system, and are not able to implement dumping of "
|
|
"any kind, then Emacs must load @file{loadup.el} each time it starts."
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:111
|
|
#, no-wrap
|
|
msgid "build details"
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:112
|
|
#, no-wrap
|
|
msgid "deterministic build"
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:113
|
|
#, no-wrap
|
|
msgid "@option{--disable-build-details} option to @command{configure}"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:120
|
|
msgid ""
|
|
"By default the dumped @file{emacs} executable records details such as the "
|
|
"build time and host name. Use the @option{--disable-build-details} option "
|
|
"of @command{configure} to suppress these details, so that building and "
|
|
"installing Emacs twice from the same sources is more likely to result in "
|
|
"identical copies of Emacs."
|
|
msgstr ""
|
|
|
|
#. type: file{#1}
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:121
|
|
#, no-wrap
|
|
msgid "site-load.el"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:125
|
|
msgid ""
|
|
"You can specify additional files to preload by writing a library named "
|
|
"@file{site-load.el} that loads them. You may need to rebuild Emacs with an "
|
|
"added definition"
|
|
msgstr ""
|
|
|
|
#. type: example
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:128
|
|
#, no-wrap
|
|
msgid "#define SITELOAD_PURESIZE_EXTRA @var{n}\n"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:136
|
|
msgid ""
|
|
"to make @var{n} added bytes of pure space to hold the additional files; see "
|
|
"@file{src/puresize.h}. (Try adding increments of 20000 until it is big "
|
|
"enough.) However, the advantage of preloading additional files decreases as "
|
|
"machines get faster. On modern machines, it is usually not advisable."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:142
|
|
msgid ""
|
|
"After @file{loadup.el} reads @file{site-load.el}, it finds the documentation "
|
|
"strings for primitive and preloaded functions (and variables) in the file "
|
|
"@file{etc/DOC} where they are stored, by calling @code{Snarf-documentation} "
|
|
"(@pxref{Definition of Snarf-documentation,, Accessing Documentation})."
|
|
msgstr ""
|
|
|
|
#. type: file{#1}
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:143
|
|
#, no-wrap
|
|
msgid "site-init.el"
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:144
|
|
#, no-wrap
|
|
msgid "preloading additional functions and variables"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:148
|
|
msgid ""
|
|
"You can specify other Lisp expressions to execute just before dumping by "
|
|
"putting them in a library named @file{site-init.el}. This file is executed "
|
|
"after the documentation strings are found."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:152
|
|
msgid ""
|
|
"If you want to preload function or variable definitions, there are three "
|
|
"ways you can do this and make their documentation strings accessible when "
|
|
"you subsequently run Emacs:"
|
|
msgstr ""
|
|
|
|
#. type: itemize
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:157
|
|
msgid ""
|
|
"Arrange to scan these files when producing the @file{etc/DOC} file, and load "
|
|
"them with @file{site-load.el}."
|
|
msgstr ""
|
|
|
|
#. type: itemize
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:161
|
|
msgid ""
|
|
"Load the files with @file{site-init.el}, then copy the files into the "
|
|
"installation directory for Lisp files when you install Emacs."
|
|
msgstr ""
|
|
|
|
#. type: itemize
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:168
|
|
msgid ""
|
|
"Specify a @code{nil} value for @code{byte-compile-dynamic-docstrings} as a "
|
|
"local variable in each of these files, and load them with either "
|
|
"@file{site-load.el} or @file{site-init.el}. (This method has the drawback "
|
|
"that the documentation strings take up space in Emacs all the time.)"
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:170
|
|
#, no-wrap
|
|
msgid "change @code{load-path} at configure time"
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:171
|
|
#, no-wrap
|
|
msgid "@option{--enable-locallisppath} option to @command{configure}"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:182
|
|
msgid ""
|
|
"It is not advisable to put anything in @file{site-load.el} or "
|
|
"@file{site-init.el} that would alter any of the features that users expect "
|
|
"in an ordinary unmodified Emacs. If you feel you must override normal "
|
|
"features for your site, do it with @file{default.el}, so that users can "
|
|
"override your changes if they wish. @xref{Startup Summary}. Note that if "
|
|
"either @file{site-load.el} or @file{site-init.el} changes @code{load-path}, "
|
|
"the changes will be lost after dumping. @xref{Library Search}. To make a "
|
|
"permanent change to @code{load-path}, use the "
|
|
"@option{--enable-locallisppath} option of @command{configure}."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:192
|
|
msgid ""
|
|
"In a package that can be preloaded, it is sometimes necessary (or useful) to "
|
|
"delay certain evaluations until Emacs subsequently starts up. The vast "
|
|
"majority of such cases relate to the values of customizable variables. For "
|
|
"example, @code{tutorial-directory} is a variable defined in "
|
|
"@file{startup.el}, which is preloaded. The default value is set based on "
|
|
"@code{data-directory}. The variable needs to access the value of "
|
|
"@code{data-directory} when Emacs starts, not when it is dumped, because the "
|
|
"Emacs executable has probably been installed in a different location since "
|
|
"it was dumped."
|
|
msgstr ""
|
|
|
|
#. type: defun
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:193
|
|
#, no-wrap
|
|
msgid "custom-initialize-delay symbol value"
|
|
msgstr ""
|
|
|
|
#. type: defun
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:199
|
|
msgid ""
|
|
"This function delays the initialization of @var{symbol} to the next Emacs "
|
|
"start. You normally use this function by specifying it as the "
|
|
"@code{:initialize} property of a customizable variable. (The argument "
|
|
"@var{value} is unused, and is provided only for compatibility with the form "
|
|
"Custom expects.)"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:204
|
|
msgid ""
|
|
"In the unlikely event that you need a more general functionality than "
|
|
"@code{custom-initialize-delay} provides, you can use @code{before-init-hook} "
|
|
"(@pxref{Startup Summary})."
|
|
msgstr ""
|
|
|
|
#. type: defun
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:205
|
|
#, no-wrap
|
|
msgid "dump-emacs-portable to-file &optional track-referrers"
|
|
msgstr ""
|
|
|
|
#. type: defun
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:214
|
|
msgid ""
|
|
"This function dumps the current state of Emacs into a dump file "
|
|
"@var{to-file}, using the @code{pdump} method. Normally, the dump file is "
|
|
"called @file{@var{emacs-name}.dmp}, where @var{emacs-name} is the name of "
|
|
"the Emacs executable file. The optional argument @var{track-referrers}, if "
|
|
"non-@code{nil}, causes the portable dumper to keep additional information to "
|
|
"help track down the provenance of object types that are not yet supported by "
|
|
"the @code{pdump} method."
|
|
msgstr ""
|
|
|
|
#. type: defun
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:218
|
|
msgid ""
|
|
"Although the portable dumper code can run on many platforms, the dump files "
|
|
"that it produces are not portable---they can be loaded only by the Emacs "
|
|
"executable that dumped them."
|
|
msgstr ""
|
|
|
|
#. type: defun
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:221
|
|
msgid ""
|
|
"If you want to use this function in an Emacs that was already dumped, you "
|
|
"must run Emacs with the @samp{-batch} option."
|
|
msgstr ""
|
|
|
|
#. type: vindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:222
|
|
#, no-wrap
|
|
msgid "after-pdump-load-hook"
|
|
msgstr ""
|
|
|
|
#. type: defun
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:229
|
|
msgid ""
|
|
"If you're including @samp{.el} files in the dumped Emacs and that @samp{.el} "
|
|
"file has code that is normally run at load time, that code won't be run when "
|
|
"Emacs starts after dumping. To help work around that problem, you can put "
|
|
"functions on the @code{after-pdump-load-hook} hook. This hook is run when "
|
|
"starting Emacs."
|
|
msgstr ""
|
|
|
|
#. type: defun
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:231
|
|
#, no-wrap
|
|
msgid "dump-emacs to-file from-file"
|
|
msgstr ""
|
|
|
|
#. type: defun
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:236
|
|
msgid ""
|
|
"This function dumps the current state of Emacs into an executable file "
|
|
"@var{to-file}, using the @code{unexec} method. It takes symbols from "
|
|
"@var{from-file} (this is normally the executable file @file{temacs})."
|
|
msgstr ""
|
|
|
|
#. type: defun
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:240
|
|
msgid ""
|
|
"This function cannot be used in an Emacs that was already dumped. This "
|
|
"function is deprecated, and by default Emacs is built without @code{unexec} "
|
|
"support so this function is not available."
|
|
msgstr ""
|
|
|
|
#. type: defun
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:242
|
|
#, no-wrap
|
|
msgid "pdumper-stats"
|
|
msgstr ""
|
|
|
|
#. type: defun
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:252
|
|
msgid ""
|
|
"If the current Emacs session restored its state from a dump file, this "
|
|
"function returns information about the dump file and the time it took to "
|
|
"restore the Emacs state. The value is an alist "
|
|
"@w{@code{((dumped-with-pdumper . t) (load-time . @var{time}) "
|
|
"(dump-file-name . @var{file}))}}, where @var{file} is the name of the dump "
|
|
"file, and @var{time} is the time in seconds it took to restore the state "
|
|
"from the dump file. If the current session was not restored from a dump "
|
|
"file, the value is nil."
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:256
|
|
#, no-wrap
|
|
msgid "pure storage"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:264
|
|
msgid ""
|
|
"Emacs Lisp uses two kinds of storage for user-created Lisp objects: "
|
|
"@dfn{normal storage} and @dfn{pure storage}. Normal storage is where all "
|
|
"the new data created during an Emacs session are kept (@pxref{Garbage "
|
|
"Collection}). Pure storage is used for certain data in the preloaded "
|
|
"standard Lisp files---data that should never change during actual use of "
|
|
"Emacs."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:285
|
|
msgid ""
|
|
"Pure storage is allocated only while @command{temacs} is loading the "
|
|
"standard preloaded Lisp libraries. In the file @file{emacs}, it is marked "
|
|
"as read-only (on operating systems that permit this), so that the memory "
|
|
"space can be shared by all the Emacs jobs running on the machine at once. "
|
|
"Pure storage is not expandable; a fixed amount is allocated when Emacs is "
|
|
"compiled, and if that is not sufficient for the preloaded libraries, "
|
|
"@file{temacs} allocates dynamic memory for the part that didn't fit. If "
|
|
"Emacs will be dumped using the @code{pdump} method (@pxref{Building Emacs}), "
|
|
"the pure-space overflow is of no special importance (it just means some of "
|
|
"the preloaded stuff cannot be shared with other Emacs jobs). However, if "
|
|
"Emacs will be dumped using the now obsolete @code{unexec} method, the "
|
|
"resulting image will work, but garbage collection (@pxref{Garbage "
|
|
"Collection}) is disabled in this situation, causing a memory leak. Such an "
|
|
"overflow normally won't happen unless you try to preload additional "
|
|
"libraries or add features to the standard ones. Emacs will display a "
|
|
"warning about the overflow when it starts, if it was dumped using "
|
|
"@code{unexec}. If this happens, you should increase the compilation "
|
|
"parameter @code{SYSTEM_PURESIZE_EXTRA} in the file @file{src/puresize.h} and "
|
|
"rebuild Emacs."
|
|
msgstr ""
|
|
|
|
#. type: defun
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:286
|
|
#, no-wrap
|
|
msgid "purecopy object"
|
|
msgstr ""
|
|
|
|
#. type: defun
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:293
|
|
msgid ""
|
|
"This function makes a copy in pure storage of @var{object}, and returns it. "
|
|
"It copies a string by simply making a new string with the same characters, "
|
|
"but without text properties, in pure storage. It recursively copies the "
|
|
"contents of vectors and cons cells. It does not make copies of other "
|
|
"objects such as symbols, but just returns them unchanged. It signals an "
|
|
"error if asked to copy markers."
|
|
msgstr ""
|
|
|
|
#. type: defun
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:296
|
|
msgid ""
|
|
"This function is a no-op except while Emacs is being built and dumped; it is "
|
|
"usually called only in preloaded Lisp files."
|
|
msgstr ""
|
|
|
|
#. type: defvar
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:298
|
|
#, no-wrap
|
|
msgid "pure-bytes-used"
|
|
msgstr ""
|
|
|
|
#. type: defvar
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:303
|
|
msgid ""
|
|
"The value of this variable is the number of bytes of pure storage allocated "
|
|
"so far. Typically, in a dumped Emacs, this number is very close to the "
|
|
"total amount of pure storage available---if it were not, we would "
|
|
"preallocate less."
|
|
msgstr ""
|
|
|
|
#. type: defvar
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:305
|
|
#, no-wrap
|
|
msgid "purify-flag"
|
|
msgstr ""
|
|
|
|
#. type: defvar
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:309
|
|
msgid ""
|
|
"This variable determines whether @code{defun} should make a copy of the "
|
|
"function definition in pure storage. If it is non-@code{nil}, then the "
|
|
"function definition is copied into pure storage."
|
|
msgstr ""
|
|
|
|
#. type: defvar
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:315
|
|
msgid ""
|
|
"This flag is @code{t} while loading all of the basic functions for building "
|
|
"Emacs initially (allowing those functions to be shareable and "
|
|
"non-collectible). Dumping Emacs as an executable always writes @code{nil} "
|
|
"in this variable, regardless of the value it actually has before and after "
|
|
"dumping."
|
|
msgstr ""
|
|
|
|
#. type: defvar
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:317
|
|
msgid "You should not change this flag in a running Emacs."
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:322
|
|
#, no-wrap
|
|
msgid "memory allocation"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:332
|
|
msgid ""
|
|
"When a program creates a list or the user defines a new function (such as by "
|
|
"loading a library), that data is placed in normal storage. If normal "
|
|
"storage runs low, then Emacs asks the operating system to allocate more "
|
|
"memory. Different types of Lisp objects, such as symbols, cons cells, small "
|
|
"vectors, markers, etc., are segregated in distinct blocks in memory. (Large "
|
|
"vectors, long strings, buffers and certain other editing types, which are "
|
|
"fairly large, are allocated in individual blocks, one per object; small "
|
|
"strings are packed into blocks of 8k bytes, and small vectors are packed "
|
|
"into blocks of 4k bytes)."
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:333
|
|
#, no-wrap
|
|
msgid "vector-like objects, storage"
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:334
|
|
#, no-wrap
|
|
msgid "storage of vector-like Lisp objects"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:343
|
|
msgid ""
|
|
"Beyond the basic vector, a lot of objects like markers, overlays and buffers "
|
|
"are managed as if they were vectors. The corresponding C data structures "
|
|
"include the @code{union vectorlike_header} field whose @code{size} member "
|
|
"contains the subtype enumerated by @code{enum pvec_type} and an information "
|
|
"about how many @code{Lisp_Object} fields this structure contains and what "
|
|
"the size of the rest data is. This information is needed to calculate the "
|
|
"memory footprint of an object, and used by the vector allocation code while "
|
|
"iterating over the vector blocks."
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:344
|
|
#, no-wrap
|
|
msgid "garbage collection"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:356
|
|
msgid ""
|
|
"It is quite common to use some storage for a while, then release it by (for "
|
|
"example) killing a buffer or deleting the last pointer to an object. Emacs "
|
|
"provides a @dfn{garbage collector} to reclaim this abandoned storage. The "
|
|
"garbage collector operates, in essence, by finding and marking all Lisp "
|
|
"objects that are still accessible to Lisp programs. To begin with, it "
|
|
"assumes all the symbols, their values and associated function definitions, "
|
|
"and any data presently on the stack, are accessible. Any objects that can "
|
|
"be reached indirectly through other accessible objects are also accessible, "
|
|
"but this calculation is done ``conservatively'', so it may slightly "
|
|
"overestimate how many objects that are accessible."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:364
|
|
msgid ""
|
|
"When marking is finished, all objects still unmarked are garbage. No matter "
|
|
"what the Lisp program or the user does, it is impossible to refer to them, "
|
|
"since there is no longer a way to reach them. Their space might as well be "
|
|
"reused, since no one will miss them. The second (sweep) phase of the "
|
|
"garbage collector arranges to reuse them. (But since the marking was done "
|
|
"``conservatively'', not all unused objects are guaranteed to be "
|
|
"garbage-collected by any one sweep.)"
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:367
|
|
#, no-wrap
|
|
msgid "free list"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:377
|
|
msgid ""
|
|
"The sweep phase puts unused cons cells onto a @dfn{free list} for future "
|
|
"allocation; likewise for symbols and markers. It compacts the accessible "
|
|
"strings so they occupy fewer 8k blocks; then it frees the other 8k blocks. "
|
|
"Unreachable vectors from vector blocks are coalesced to create largest "
|
|
"possible free areas; if a free area spans a complete 4k block, that block is "
|
|
"freed. Otherwise, the free area is recorded in a free list array, where "
|
|
"each entry corresponds to a free list of areas of the same size. Large "
|
|
"vectors, buffers, and other large objects are allocated and freed "
|
|
"individually."
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:378
|
|
#, no-wrap
|
|
msgid "CL note---allocate more storage"
|
|
msgstr ""
|
|
|
|
#. type: quotation
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:385
|
|
msgid ""
|
|
"@b{Common Lisp note:} Unlike other Lisps, GNU Emacs Lisp does not call the "
|
|
"garbage collector when the free list is empty. Instead, it simply requests "
|
|
"the operating system to allocate more storage, and processing continues "
|
|
"until @code{gc-cons-threshold} bytes have been used."
|
|
msgstr ""
|
|
|
|
#. type: quotation
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:391
|
|
msgid ""
|
|
"This means that you can make sure that the garbage collector will not run "
|
|
"during a certain portion of a Lisp program by calling the garbage collector "
|
|
"explicitly just before it (provided that portion of the program does not use "
|
|
"so much space as to force a second garbage collection)."
|
|
msgstr ""
|
|
|
|
#. type: deffn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:393
|
|
#, no-wrap
|
|
msgid "Command garbage-collect"
|
|
msgstr ""
|
|
|
|
#. type: deffn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:398
|
|
msgid ""
|
|
"This command runs a garbage collection, and returns information on the "
|
|
"amount of space in use. (Garbage collection can also occur spontaneously if "
|
|
"you use more than @code{gc-cons-threshold} bytes of Lisp data since the "
|
|
"previous garbage collection.)"
|
|
msgstr ""
|
|
|
|
#. type: deffn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:407
|
|
msgid ""
|
|
"@code{garbage-collect} returns a list with information on amount of space in "
|
|
"use, where each entry has the form @samp{(@var{name} @var{size} @var{used})} "
|
|
"or @samp{(@var{name} @var{size} @var{used} @var{free})}. In the entry, "
|
|
"@var{name} is a symbol describing the kind of objects this entry represents, "
|
|
"@var{size} is the number of bytes used by each one, @var{used} is the number "
|
|
"of those objects that were found live in the heap, and optional @var{free} "
|
|
"is the number of those objects that are not live but that Emacs keeps around "
|
|
"for future allocations. So an overall result is:"
|
|
msgstr ""
|
|
|
|
#. type: example
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:419
|
|
#, no-wrap
|
|
msgid ""
|
|
"((@code{conses} @var{cons-size} @var{used-conses} @var{free-conses})\n"
|
|
" (@code{symbols} @var{symbol-size} @var{used-symbols} @var{free-symbols})\n"
|
|
" (@code{strings} @var{string-size} @var{used-strings} @var{free-strings})\n"
|
|
" (@code{string-bytes} @var{byte-size} @var{used-bytes})\n"
|
|
" (@code{vectors} @var{vector-size} @var{used-vectors})\n"
|
|
" (@code{vector-slots} @var{slot-size} @var{used-slots} @var{free-slots})\n"
|
|
" (@code{floats} @var{float-size} @var{used-floats} @var{free-floats})\n"
|
|
" (@code{intervals} @var{interval-size} @var{used-intervals} "
|
|
"@var{free-intervals})\n"
|
|
" (@code{buffers} @var{buffer-size} @var{used-buffers})\n"
|
|
" (@code{heap} @var{unit-size} @var{total-size} @var{free-size}))\n"
|
|
msgstr ""
|
|
|
|
#. type: deffn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:422
|
|
msgid "Here is an example:"
|
|
msgstr ""
|
|
|
|
#. type: example
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:431
|
|
#, no-wrap
|
|
msgid ""
|
|
"(garbage-collect)\n"
|
|
" @result{} ((conses 16 49126 8058) (symbols 48 14607 0)\n"
|
|
" (strings 32 2942 2607)\n"
|
|
" (string-bytes 1 78607) (vectors 16 7247)\n"
|
|
" (vector-slots 8 341609 29474) (floats 8 71 102)\n"
|
|
" (intervals 56 27 26) (buffers 944 8)\n"
|
|
" (heap 1024 11715 2678))\n"
|
|
msgstr ""
|
|
|
|
#. type: deffn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:436
|
|
msgid ""
|
|
"Below is a table explaining each element. Note that last @code{heap} entry "
|
|
"is optional and present only if an underlying @code{malloc} implementation "
|
|
"provides @code{mallinfo} function."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:438
|
|
#, no-wrap
|
|
msgid "cons-size"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:440
|
|
msgid "Internal size of a cons cell, i.e., @code{sizeof (struct Lisp_Cons)}."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:441
|
|
#, no-wrap
|
|
msgid "used-conses"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:443
|
|
msgid "The number of cons cells in use."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:444
|
|
#, no-wrap
|
|
msgid "free-conses"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:447
|
|
msgid ""
|
|
"The number of cons cells for which space has been obtained from the "
|
|
"operating system, but that are not currently being used."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:448
|
|
#, no-wrap
|
|
msgid "symbol-size"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:450
|
|
msgid "Internal size of a symbol, i.e., @code{sizeof (struct Lisp_Symbol)}."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:451
|
|
#, no-wrap
|
|
msgid "used-symbols"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:453
|
|
msgid "The number of symbols in use."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:454
|
|
#, no-wrap
|
|
msgid "free-symbols"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:457
|
|
msgid ""
|
|
"The number of symbols for which space has been obtained from the operating "
|
|
"system, but that are not currently being used."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:458
|
|
#, no-wrap
|
|
msgid "string-size"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:460
|
|
msgid "Internal size of a string header, i.e., @code{sizeof (struct Lisp_String)}."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:461
|
|
#, no-wrap
|
|
msgid "used-strings"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:463
|
|
msgid "The number of string headers in use."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:464
|
|
#, no-wrap
|
|
msgid "free-strings"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:467
|
|
msgid ""
|
|
"The number of string headers for which space has been obtained from the "
|
|
"operating system, but that are not currently being used."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:468
|
|
#, no-wrap
|
|
msgid "byte-size"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:470
|
|
msgid "This is used for convenience and equals to @code{sizeof (char)}."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:471
|
|
#, no-wrap
|
|
msgid "used-bytes"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:473
|
|
msgid "The total size of all string data in bytes."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:474
|
|
#, no-wrap
|
|
msgid "vector-size"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:476
|
|
msgid "Size in bytes of a vector of length 1, including its header."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:477
|
|
#, no-wrap
|
|
msgid "used-vectors"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:479
|
|
msgid "The number of vector headers allocated from the vector blocks."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:480
|
|
#, no-wrap
|
|
msgid "slot-size"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:482
|
|
msgid "Internal size of a vector slot, always equal to @code{sizeof (Lisp_Object)}."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:483
|
|
#, no-wrap
|
|
msgid "used-slots"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:487
|
|
msgid ""
|
|
"The number of slots in all used vectors. Slot counts might include some or "
|
|
"all overhead from vector headers, depending on the platform."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:488
|
|
#, no-wrap
|
|
msgid "free-slots"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:490
|
|
msgid "The number of free slots in all vector blocks."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:491
|
|
#, no-wrap
|
|
msgid "float-size"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:494
|
|
msgid ""
|
|
"Internal size of a float object, i.e., @code{sizeof (struct Lisp_Float)}. "
|
|
"(Do not confuse it with the native platform @code{float} or @code{double}.)"
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:495
|
|
#, no-wrap
|
|
msgid "used-floats"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:497
|
|
msgid "The number of floats in use."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:498
|
|
#, no-wrap
|
|
msgid "free-floats"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:501
|
|
msgid ""
|
|
"The number of floats for which space has been obtained from the operating "
|
|
"system, but that are not currently being used."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:502
|
|
#, no-wrap
|
|
msgid "interval-size"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:504
|
|
msgid "Internal size of an interval object, i.e., @code{sizeof (struct interval)}."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:505
|
|
#, no-wrap
|
|
msgid "used-intervals"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:507
|
|
msgid "The number of intervals in use."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:508
|
|
#, no-wrap
|
|
msgid "free-intervals"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:511
|
|
msgid ""
|
|
"The number of intervals for which space has been obtained from the operating "
|
|
"system, but that are not currently being used."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:512
|
|
#, no-wrap
|
|
msgid "buffer-size"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:515
|
|
msgid ""
|
|
"Internal size of a buffer, i.e., @code{sizeof (struct buffer)}. (Do not "
|
|
"confuse with the value returned by @code{buffer-size} function.)"
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:516
|
|
#, no-wrap
|
|
msgid "used-buffers"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:519
|
|
msgid ""
|
|
"The number of buffer objects in use. This includes killed buffers invisible "
|
|
"to users, i.e., all buffers in @code{all_buffers} list."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:520
|
|
#, no-wrap
|
|
msgid "unit-size"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:522
|
|
msgid "The unit of heap space measurement, always equal to 1024 bytes."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:523
|
|
#, no-wrap
|
|
msgid "total-size"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:525
|
|
msgid "Total heap size, in @var{unit-size} units."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:526
|
|
#, no-wrap
|
|
msgid "free-size"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:528
|
|
msgid "Heap space which is not currently used, in @var{unit-size} units."
|
|
msgstr ""
|
|
|
|
#. type: deffn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:535
|
|
msgid ""
|
|
"If there was overflow in pure space (@pxref{Pure Storage}), and Emacs was "
|
|
"dumped using the (now obsolete) @code{unexec} method (@pxref{Building "
|
|
"Emacs}), then @code{garbage-collect} returns @code{nil}, because a real "
|
|
"garbage collection cannot be done in that case."
|
|
msgstr ""
|
|
|
|
#. type: defopt
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:537
|
|
#, no-wrap
|
|
msgid "garbage-collection-messages"
|
|
msgstr ""
|
|
|
|
#. type: defopt
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:541
|
|
msgid ""
|
|
"If this variable is non-@code{nil}, Emacs displays a message at the "
|
|
"beginning and end of garbage collection. The default value is @code{nil}."
|
|
msgstr ""
|
|
|
|
#. type: defvar
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:543
|
|
#, no-wrap
|
|
msgid "post-gc-hook"
|
|
msgstr ""
|
|
|
|
#. type: defvar
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:547
|
|
msgid ""
|
|
"This is a normal hook that is run at the end of garbage collection. Garbage "
|
|
"collection is inhibited while the hook functions run, so be careful writing "
|
|
"them."
|
|
msgstr ""
|
|
|
|
#. type: defopt
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:549
|
|
#, no-wrap
|
|
msgid "gc-cons-threshold"
|
|
msgstr ""
|
|
|
|
#. type: defopt
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:555
|
|
msgid ""
|
|
"The value of this variable is the number of bytes of storage that must be "
|
|
"allocated for Lisp objects after one garbage collection in order to trigger "
|
|
"another garbage collection. You can use the result returned by "
|
|
"@code{garbage-collect} to get an information about size of the particular "
|
|
"object type; space allocated to the contents of buffers does not count."
|
|
msgstr ""
|
|
|
|
#. type: defopt
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:563
|
|
msgid ""
|
|
"The initial threshold value is @code{GC_DEFAULT_THRESHOLD}, defined in "
|
|
"@file{alloc.c}. Since it's defined in @code{word_size} units, the value is "
|
|
"400,000 for the default 32-bit configuration and 800,000 for the 64-bit "
|
|
"one. If you specify a larger value, garbage collection will happen less "
|
|
"often. This reduces the amount of time spent garbage collecting, but "
|
|
"increases total memory use. You may want to do this when running a program "
|
|
"that creates lots of Lisp data."
|
|
msgstr ""
|
|
|
|
#. type: defopt
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:568
|
|
msgid ""
|
|
"You can make collections more frequent by specifying a smaller value, down "
|
|
"to 1/10th of @code{GC_DEFAULT_THRESHOLD}. A value less than this minimum "
|
|
"will remain in effect only until the subsequent garbage collection, at which "
|
|
"time @code{garbage-collect} will set the threshold back to the minimum."
|
|
msgstr ""
|
|
|
|
#. type: defopt
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:570
|
|
#, no-wrap
|
|
msgid "gc-cons-percentage"
|
|
msgstr ""
|
|
|
|
#. type: defopt
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:575
|
|
msgid ""
|
|
"The value of this variable specifies the amount of consing before a garbage "
|
|
"collection occurs, as a fraction of the current heap size. This criterion "
|
|
"and @code{gc-cons-threshold} apply in parallel, and garbage collection "
|
|
"occurs only when both criteria are satisfied."
|
|
msgstr ""
|
|
|
|
#. type: defopt
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:579
|
|
msgid ""
|
|
"As the heap size increases, the time to perform a garbage collection "
|
|
"increases. Thus, it can be desirable to do them less frequently in "
|
|
"proportion."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:590
|
|
msgid ""
|
|
"Control over the garbage collector via @code{gc-cons-threshold} and "
|
|
"@code{gc-cons-percentage} is only approximate. Although Emacs checks for "
|
|
"threshold exhaustion regularly, for efficiency reasons it does not do so "
|
|
"immediately after every change to the heap or to @code{gc-cons-threshold} or "
|
|
"@code{gc-cons-percentage}, so exhausting the threshold does not immediately "
|
|
"trigger garbage collection. Also, for efficiency in threshold calculations "
|
|
"Emacs approximates the heap size, which counts the bytes used by "
|
|
"currently-accessible objects in the heap."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:595
|
|
msgid ""
|
|
"The value returned by @code{garbage-collect} describes the amount of memory "
|
|
"used by Lisp data, broken down by data type. By contrast, the function "
|
|
"@code{memory-limit} provides information on the total amount of memory Emacs "
|
|
"is currently using."
|
|
msgstr ""
|
|
|
|
#. type: defun
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:596
|
|
#, no-wrap
|
|
msgid "memory-limit"
|
|
msgstr ""
|
|
|
|
#. type: defun
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:601
|
|
msgid ""
|
|
"This function returns an estimate of the total amount of bytes of virtual "
|
|
"memory that Emacs is currently using, divided by 1024. You can use this to "
|
|
"get a general idea of how your actions affect the memory usage."
|
|
msgstr ""
|
|
|
|
#. type: defvar
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:603
|
|
#, no-wrap
|
|
msgid "memory-full"
|
|
msgstr ""
|
|
|
|
#. type: defvar
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:606
|
|
msgid ""
|
|
"This variable is @code{t} if Emacs is nearly out of memory for Lisp objects, "
|
|
"and @code{nil} otherwise."
|
|
msgstr ""
|
|
|
|
#. type: defun
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:608
|
|
#, no-wrap
|
|
msgid "memory-use-counts"
|
|
msgstr ""
|
|
|
|
#. type: defun
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:612
|
|
msgid ""
|
|
"This returns a list of numbers that count the number of objects created in "
|
|
"this Emacs session. Each of these counters increments for a certain kind of "
|
|
"object. See the documentation string for details."
|
|
msgstr ""
|
|
|
|
#. type: defun
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:614
|
|
#, no-wrap
|
|
msgid "memory-info"
|
|
msgstr ""
|
|
|
|
#. type: defun
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:617
|
|
msgid ""
|
|
"This functions returns an amount of total system memory and how much of it "
|
|
"is free. On an unsupported system, the value may be @code{nil}."
|
|
msgstr ""
|
|
|
|
#. type: defvar
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:619
|
|
#, no-wrap
|
|
msgid "gcs-done"
|
|
msgstr ""
|
|
|
|
#. type: defvar
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:622
|
|
msgid ""
|
|
"This variable contains the total number of garbage collections done so far "
|
|
"in this Emacs session."
|
|
msgstr ""
|
|
|
|
#. type: defvar
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:624
|
|
#, no-wrap
|
|
msgid "gc-elapsed"
|
|
msgstr ""
|
|
|
|
#. type: defvar
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:628
|
|
msgid ""
|
|
"This variable contains the total number of seconds of elapsed time during "
|
|
"garbage collection so far in this Emacs session, as a floating-point number."
|
|
msgstr ""
|
|
|
|
#. type: defun
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:630
|
|
#, no-wrap
|
|
msgid "memory-report"
|
|
msgstr ""
|
|
|
|
#. type: defun
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:635
|
|
msgid ""
|
|
"It can sometimes be useful to see where Emacs is using memory (in various "
|
|
"variables, buffers, and caches). This command will open a new buffer "
|
|
"(called @samp{\"*Memory Report*\"}) that will give an overview, in addition "
|
|
"to listing the ``largest'' buffers and variables."
|
|
msgstr ""
|
|
|
|
#. type: defun
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:641
|
|
msgid ""
|
|
"All the data here is approximate, because there's really no consistent way "
|
|
"to compute the size of a variable. For instance, two variables may share "
|
|
"parts of a data structure, and this will be counted twice, but this command "
|
|
"may still give a useful high-level overview of which parts of Emacs are "
|
|
"using memory."
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:646
|
|
#, no-wrap
|
|
msgid "stack allocated Lisp objects"
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:647
|
|
#, no-wrap
|
|
msgid "Lisp objects, stack-allocated"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:659
|
|
msgid ""
|
|
"The garbage collector described above is used to manage data visible from "
|
|
"Lisp programs, as well as most of the data internally used by the Lisp "
|
|
"interpreter. Sometimes it may be useful to allocate temporary internal "
|
|
"objects using the C stack of the interpreter. This can help performance, as "
|
|
"stack allocation is typically faster than using heap memory to allocate and "
|
|
"the garbage collector to free. The downside is that using such objects "
|
|
"after they are freed results in undefined behavior, so uses should be well "
|
|
"thought out and carefully debugged by using the "
|
|
"@code{GC_CHECK_MARKED_OBJECTS} feature (see @file{src/alloc.c}). In "
|
|
"particular, stack-allocated objects should never be made visible to user "
|
|
"Lisp code."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:667
|
|
msgid ""
|
|
"Currently, cons cells and strings can be allocated this way. This is "
|
|
"implemented by C macros like @code{AUTO_CONS} and @code{AUTO_STRING} that "
|
|
"define a named @code{Lisp_Object} with block lifetime. These objects are "
|
|
"not freed by the garbage collector; instead, they have automatic storage "
|
|
"duration, i.e., they are allocated like local variables and are "
|
|
"automatically freed at the end of execution of the C block that defined the "
|
|
"object."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:671
|
|
msgid ""
|
|
"For performance reasons, stack-allocated strings are limited to "
|
|
"@acronym{ASCII} characters, and many of these strings are immutable, i.e., "
|
|
"calling @code{ASET} on them produces undefined behavior."
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:674
|
|
#, no-wrap
|
|
msgid "memory usage"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:682
|
|
msgid ""
|
|
"These functions and variables give information about the total amount of "
|
|
"memory allocation that Emacs has done, broken down by data type. Note the "
|
|
"difference between these and the values returned by @code{garbage-collect}; "
|
|
"those count objects that currently exist, but these count the number or size "
|
|
"of all allocations, including those for objects that have since been freed."
|
|
msgstr ""
|
|
|
|
#. type: defvar
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:683
|
|
#, no-wrap
|
|
msgid "cons-cells-consed"
|
|
msgstr ""
|
|
|
|
#. type: defvar
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:686
|
|
msgid ""
|
|
"The total number of cons cells that have been allocated so far in this Emacs "
|
|
"session."
|
|
msgstr ""
|
|
|
|
#. type: defvar
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:688
|
|
#, no-wrap
|
|
msgid "floats-consed"
|
|
msgstr ""
|
|
|
|
#. type: defvar
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:691
|
|
msgid ""
|
|
"The total number of floats that have been allocated so far in this Emacs "
|
|
"session."
|
|
msgstr ""
|
|
|
|
#. type: defvar
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:693
|
|
#, no-wrap
|
|
msgid "vector-cells-consed"
|
|
msgstr ""
|
|
|
|
#. type: defvar
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:698
|
|
msgid ""
|
|
"The total number of vector cells that have been allocated so far in this "
|
|
"Emacs session. This includes vector-like objects such as markers and "
|
|
"overlays, plus certain objects not visible to users."
|
|
msgstr ""
|
|
|
|
#. type: defvar
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:700
|
|
#, no-wrap
|
|
msgid "symbols-consed"
|
|
msgstr ""
|
|
|
|
#. type: defvar
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:703
|
|
msgid ""
|
|
"The total number of symbols that have been allocated so far in this Emacs "
|
|
"session."
|
|
msgstr ""
|
|
|
|
#. type: defvar
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:705
|
|
#, no-wrap
|
|
msgid "string-chars-consed"
|
|
msgstr ""
|
|
|
|
#. type: defvar
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:708
|
|
msgid ""
|
|
"The total number of string characters that have been allocated so far in "
|
|
"this session."
|
|
msgstr ""
|
|
|
|
#. type: defvar
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:710
|
|
#, no-wrap
|
|
msgid "intervals-consed"
|
|
msgstr ""
|
|
|
|
#. type: defvar
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:713
|
|
msgid ""
|
|
"The total number of intervals that have been allocated so far in this Emacs "
|
|
"session."
|
|
msgstr ""
|
|
|
|
#. type: defvar
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:715
|
|
#, no-wrap
|
|
msgid "strings-consed"
|
|
msgstr ""
|
|
|
|
#. type: defvar
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:718
|
|
msgid ""
|
|
"The total number of strings that have been allocated so far in this Emacs "
|
|
"session."
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:722
|
|
#, no-wrap
|
|
msgid "C programming language"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:730
|
|
msgid ""
|
|
"The C part of Emacs is portable to C99 or later: C11-specific features such "
|
|
"as @samp{<stdalign.h>} and @samp{_Noreturn} are not used without a check, "
|
|
"typically at configuration time, and the Emacs build procedure provides a "
|
|
"substitute implementation if necessary. Some C11 features, such as "
|
|
"anonymous structures and unions, are too difficult to emulate, so they are "
|
|
"avoided entirely."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:732
|
|
msgid "At some point in the future the base C dialect will no doubt change to C11."
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:735
|
|
#, no-wrap
|
|
msgid "primitive function internals"
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:736
|
|
#, no-wrap
|
|
msgid "writing Emacs primitives"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:742
|
|
msgid ""
|
|
"Lisp primitives are Lisp functions implemented in C@. The details of "
|
|
"interfacing the C function so that Lisp can call it are handled by a few C "
|
|
"macros. The only way to really understand how to write new C code is to "
|
|
"read the source, but we can explain some things here."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:746
|
|
msgid ""
|
|
"An example of a special form is the definition of @code{or}, from "
|
|
"@file{eval.c}. (An ordinary function would have the same general "
|
|
"appearance.)"
|
|
msgstr ""
|
|
|
|
#. type: group
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:754
|
|
#, no-wrap
|
|
msgid ""
|
|
"DEFUN (\"or\", For, Sor, 0, UNEVALLED, 0,\n"
|
|
" doc: /* Eval args until one of them yields non-nil,\n"
|
|
"then return that value.\n"
|
|
"The remaining args are not evalled at all.\n"
|
|
"If all args return nil, return nil.\n"
|
|
msgstr ""
|
|
|
|
#. type: group
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:760
|
|
#, no-wrap
|
|
msgid ""
|
|
"usage: (or CONDITIONS...) */)\n"
|
|
" (Lisp_Object args)\n"
|
|
"@{\n"
|
|
" Lisp_Object val = Qnil;\n"
|
|
msgstr ""
|
|
|
|
#. type: group
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:771
|
|
#, no-wrap
|
|
msgid ""
|
|
" while (CONSP (args))\n"
|
|
" @{\n"
|
|
" val = eval_sub (XCAR (args));\n"
|
|
" if (!NILP (val))\n"
|
|
" break;\n"
|
|
" args = XCDR (args);\n"
|
|
" maybe_quit ();\n"
|
|
" @}\n"
|
|
msgstr ""
|
|
|
|
#. type: group
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:776
|
|
#, no-wrap
|
|
msgid ""
|
|
" return val;\n"
|
|
"@}\n"
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:779
|
|
#, no-wrap
|
|
msgid "@code{DEFUN}, C macro to define Lisp primitives"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:782
|
|
msgid ""
|
|
"Let's start with a precise explanation of the arguments to the @code{DEFUN} "
|
|
"macro. Here is a template for them:"
|
|
msgstr ""
|
|
|
|
#. type: example
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:785
|
|
#, no-wrap
|
|
msgid ""
|
|
"DEFUN (@var{lname}, @var{fname}, @var{sname}, @var{min}, @var{max}, "
|
|
"@var{interactive}, @var{doc})\n"
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:788
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:994
|
|
#, no-wrap
|
|
msgid "lname"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:791
|
|
msgid ""
|
|
"This is the name of the Lisp symbol to define as the function name; in the "
|
|
"example above, it is @code{or}."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:792
|
|
#, no-wrap
|
|
msgid "fname"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:798
|
|
msgid ""
|
|
"This is the C function name for this function. This is the name that is "
|
|
"used in C code for calling the function. The name is, by convention, "
|
|
"@samp{F} prepended to the Lisp name, with all dashes (@samp{-}) in the Lisp "
|
|
"name changed to underscores. Thus, to call this function from C code, call "
|
|
"@code{For}."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:799
|
|
#, no-wrap
|
|
msgid "sname"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:806
|
|
msgid ""
|
|
"This is a C variable name to use for a structure that holds the data for the "
|
|
"subr object that represents the function in Lisp. This structure conveys "
|
|
"the Lisp symbol name to the initialization routine that will create the "
|
|
"symbol and store the subr object as its definition. By convention, this "
|
|
"name is always @var{fname} with @samp{F} replaced with @samp{S}."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:807
|
|
#, no-wrap
|
|
msgid "min"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:810
|
|
msgid ""
|
|
"This is the minimum number of arguments that the function requires. The "
|
|
"function @code{or} allows a minimum of zero arguments."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:811
|
|
#, no-wrap
|
|
msgid "max"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:819
|
|
msgid ""
|
|
"This is the maximum number of arguments that the function accepts, if there "
|
|
"is a fixed maximum. Alternatively, it can be @code{UNEVALLED}, indicating a "
|
|
"special form that receives unevaluated arguments, or @code{MANY}, indicating "
|
|
"an unlimited number of evaluated arguments (the equivalent of "
|
|
"@code{&rest}). Both @code{UNEVALLED} and @code{MANY} are macros. If "
|
|
"@var{max} is a number, it must be more than @var{min} but less than 8."
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:820
|
|
#, no-wrap
|
|
msgid "interactive specification in primitives"
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:821
|
|
#, no-wrap
|
|
msgid "interactive"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:830
|
|
msgid ""
|
|
"This is an interactive specification, a string such as might be used as the "
|
|
"argument of @code{interactive} in a Lisp function (@pxref{Using "
|
|
"Interactive}). In the case of @code{or}, it is @code{0} (a null pointer), "
|
|
"indicating that @code{or} cannot be called interactively. A value of "
|
|
"@code{\"\"} indicates a function that should receive no arguments when "
|
|
"called interactively. If the value begins with a @samp{\"(}, the string is "
|
|
"evaluated as a Lisp form. For example:"
|
|
msgstr ""
|
|
|
|
#. type: group
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:838
|
|
#, no-wrap
|
|
msgid ""
|
|
"DEFUN (\"foo\", Ffoo, Sfoo, 0, 3,\n"
|
|
" \"(list (read-char-by-name \\\"Insert character: \\\")\\\n"
|
|
" (prefix-numeric-value current-prefix-arg)\\\n"
|
|
" t)\",\n"
|
|
" doc: /* @dots{} */)\n"
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:841
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:998
|
|
#, no-wrap
|
|
msgid "doc"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:848
|
|
msgid ""
|
|
"This is the documentation string. It uses C comment syntax rather than C "
|
|
"string syntax because comment syntax requires nothing special to include "
|
|
"multiple lines. The @samp{doc:} identifies the comment that follows as the "
|
|
"documentation string. The @samp{/*} and @samp{*/} delimiters that begin and "
|
|
"end the comment are not part of the documentation string."
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:855
|
|
msgid ""
|
|
"If the last line of the documentation string begins with the keyword "
|
|
"@samp{usage:}, the rest of the line is treated as the argument list for "
|
|
"documentation purposes. This way, you can use different argument names in "
|
|
"the documentation string from the ones used in the C code. @samp{usage:} is "
|
|
"required if the function has an unlimited number of arguments."
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:862
|
|
msgid ""
|
|
"Some primitives have multiple definitions, one per platform (e.g., "
|
|
"@code{x-create-frame}). In such cases, rather than writing the same "
|
|
"documentation string in each definition, only one definition has the actual "
|
|
"documentation. The others have placeholders beginning with @samp{SKIP}, "
|
|
"which are ignored by the function that parses the @file{DOC} file."
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:866
|
|
msgid ""
|
|
"All the usual rules for documentation strings in Lisp code "
|
|
"(@pxref{Documentation Tips}) apply to C code documentation strings too."
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:870
|
|
msgid ""
|
|
"The documentation string can be followed by a list of C function attributes "
|
|
"for the C function that implements the primitive, like this:"
|
|
msgstr ""
|
|
|
|
#. type: group
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:876
|
|
#, no-wrap
|
|
msgid ""
|
|
"DEFUN (\"bar\", Fbar, Sbar, 0, UNEVALLED, 0\n"
|
|
" doc: /* @dots{} */\n"
|
|
" attributes: @var{attr1} @var{attr2} @dots{})\n"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:882
|
|
msgid ""
|
|
"You can specify more than a single attribute, one after the other. "
|
|
"Currently, only the following attributes are recognized:"
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:884
|
|
#, no-wrap
|
|
msgid "noreturn"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:889
|
|
msgid ""
|
|
"Declares the C function as one that never returns. This corresponds to the "
|
|
"C11 keyword @code{_Noreturn} and to @w{@code{__attribute__ "
|
|
"((__noreturn__))}} attribute of GCC (@pxref{Function Attributes,,, gcc, "
|
|
"Using the GNU Compiler Collection})."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:890
|
|
#, no-wrap
|
|
msgid "const"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:895
|
|
msgid ""
|
|
"Declares that the function does not examine any values except its arguments, "
|
|
"and has no effects except the return value. This corresponds to "
|
|
"@w{@code{__attribute__ ((__const__))}} attribute of GCC."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:896
|
|
#, no-wrap
|
|
msgid "noinline"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:901
|
|
msgid ""
|
|
"This corresponds to @w{@code{__attribute__ ((__noinline__))}} attribute of "
|
|
"GCC, which prevents the function from being considered for inlining. This "
|
|
"might be needed, e.g., to countermand effects of link-time optimizations on "
|
|
"stack-based variables."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:923
|
|
msgid ""
|
|
"After the call to the @code{DEFUN} macro, you must write the argument list "
|
|
"for the C function, including the types for the arguments. If the primitive "
|
|
"accepts a fixed maximum number of Lisp arguments, there must be one C "
|
|
"argument for each Lisp argument, and each argument must be of type "
|
|
"@code{Lisp_Object}. (Various macros and functions for creating values of "
|
|
"type @code{Lisp_Object} are declared in the file @file{lisp.h}.) If the "
|
|
"primitive is a special form, it must accept a Lisp list containing its "
|
|
"unevaluated Lisp arguments as a single argument of type @code{Lisp_Object}. "
|
|
"If the primitive has no upper limit on the number of evaluated Lisp "
|
|
"arguments, it must have exactly two C arguments: the first is the number of "
|
|
"Lisp arguments, and the second is the address of a block containing their "
|
|
"values. These have types @code{ptrdiff_t} and @w{@code{Lisp_Object *}}, "
|
|
"respectively. Since @code{Lisp_Object} can hold any Lisp object of any data "
|
|
"type, you can determine the actual data type only at run time; so if you "
|
|
"want a primitive to accept only a certain type of argument, you must check "
|
|
"the type explicitly using a suitable predicate (@pxref{Type Predicates})."
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:923
|
|
#, no-wrap
|
|
msgid "type checking internals"
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:925
|
|
#, no-wrap
|
|
msgid "garbage collection protection"
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:926
|
|
#, no-wrap
|
|
msgid "protect C variables from garbage collection"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:940
|
|
msgid ""
|
|
"Within the function @code{For} itself, the local variable @code{args} refers "
|
|
"to objects controlled by Emacs's stack-marking garbage collector. Although "
|
|
"the garbage collector does not reclaim objects reachable from C "
|
|
"@code{Lisp_Object} stack variables, it may move some of the components of an "
|
|
"object, such as the contents of a string or the text of a buffer. "
|
|
"Therefore, functions that access these components must take care to refetch "
|
|
"their addresses after performing Lisp evaluation. This means that instead "
|
|
"of keeping C pointers to string contents or buffer text, the code should "
|
|
"keep the buffer or string position, and recompute the C pointer from the "
|
|
"position after performing Lisp evaluation. Lisp evaluation can occur via "
|
|
"calls to @code{eval_sub} or @code{Feval}, either directly or indirectly."
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:941
|
|
#, no-wrap
|
|
msgid "@code{maybe_quit}, use in Lisp primitives"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:948
|
|
msgid ""
|
|
"Note the call to @code{maybe_quit} inside the loop: this function checks "
|
|
"whether the user pressed @kbd{C-g}, and if so, aborts the processing. You "
|
|
"should do that in any loop that can potentially require a large number of "
|
|
"iterations; in this case, the list of arguments could be very long. This "
|
|
"increases Emacs responsiveness and improves user experience."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:954
|
|
msgid ""
|
|
"You must not use C initializers for static or global variables unless the "
|
|
"variables are never written once Emacs is dumped. These variables with "
|
|
"initializers are allocated in an area of memory that becomes read-only (on "
|
|
"certain operating systems) as a result of dumping Emacs. @xref{Pure "
|
|
"Storage}."
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:955
|
|
#, no-wrap
|
|
msgid "@code{defsubr}, Lisp symbol for a primitive"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:960
|
|
msgid ""
|
|
"Defining the C function is not enough to make a Lisp primitive available; "
|
|
"you must also create the Lisp symbol for the primitive and store a suitable "
|
|
"subr object in its function cell. The code looks like this:"
|
|
msgstr ""
|
|
|
|
#. type: example
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:963
|
|
#, no-wrap
|
|
msgid "defsubr (&@var{sname});\n"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:967
|
|
msgid "Here @var{sname} is the name you used as the third argument to @code{DEFUN}."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:976
|
|
msgid ""
|
|
"If you add a new primitive to a file that already has Lisp primitives "
|
|
"defined in it, find the function (near the end of the file) named "
|
|
"@code{syms_of_@var{something}}, and add the call to @code{defsubr} there. "
|
|
"If the file doesn't have this function, or if you create a new file, add to "
|
|
"it a @code{syms_of_@var{filename}} (e.g., @code{syms_of_myfile}). Then find "
|
|
"the spot in @file{emacs.c} where all of these functions are called, and add "
|
|
"a call to @code{syms_of_@var{filename}} there."
|
|
msgstr ""
|
|
|
|
#. type: anchor{#1}
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:978
|
|
msgid "Defining Lisp variables in C"
|
|
msgstr ""
|
|
|
|
#. type: vindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:978
|
|
#, no-wrap
|
|
msgid "byte-boolean-vars"
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:979
|
|
#, no-wrap
|
|
msgid "defining Lisp variables in C"
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:980
|
|
#, no-wrap
|
|
msgid "@code{DEFVAR_INT}, @code{DEFVAR_LISP}, @code{DEFVAR_BOOL}, @code{DEFSYM}"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:990
|
|
msgid ""
|
|
"The function @code{syms_of_@var{filename}} is also the place to define any C "
|
|
"variables that are to be visible as Lisp variables. @code{DEFVAR_LISP} "
|
|
"makes a C variable of type @code{Lisp_Object} visible in Lisp. "
|
|
"@code{DEFVAR_INT} makes a C variable of type @code{int} visible in Lisp with "
|
|
"a value that is always an integer. @code{DEFVAR_BOOL} makes a C variable of "
|
|
"type @code{int} visible in Lisp with a value that is either @code{t} or "
|
|
"@code{nil}. Note that variables defined with @code{DEFVAR_BOOL} are "
|
|
"automatically added to the list @code{byte-boolean-vars} used by the byte "
|
|
"compiler."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:992
|
|
msgid "These macros all expect three arguments:"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:996
|
|
msgid "The name of the variable to be used by Lisp programs."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:996
|
|
#, no-wrap
|
|
msgid "vname"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:998
|
|
msgid "The name of the variable in the C sources."
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1001
|
|
msgid ""
|
|
"The documentation for the variable, as a C comment. @xref{Documentation "
|
|
"Basics}, for more details."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1008
|
|
msgid ""
|
|
"By convention, when defining variables of a ``native'' type (@code{int} and "
|
|
"@code{bool}), the name of the C variable is the name of the Lisp variable "
|
|
"with @code{-} replaced by @code{_}. When the variable has type "
|
|
"@code{Lisp_Object}, the convention is to also prefix the C variable name "
|
|
"with @code{V}. i.e."
|
|
msgstr ""
|
|
|
|
#. type: smallexample
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1012
|
|
#, no-wrap
|
|
msgid ""
|
|
"DEFVAR_INT (\"my-int-variable\", my_int_variable,\n"
|
|
" doc: /* An integer variable. */);\n"
|
|
"\n"
|
|
msgstr ""
|
|
|
|
#. type: smallexample
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1015
|
|
#, no-wrap
|
|
msgid ""
|
|
"DEFVAR_LISP (\"my-lisp-variable\", Vmy_lisp_variable,\n"
|
|
" doc: /* A Lisp variable. */);\n"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1025
|
|
msgid ""
|
|
"There are situations in Lisp where you need to refer to the symbol itself "
|
|
"rather than the value of that symbol. One such case is when temporarily "
|
|
"overriding the value of a variable, which in Lisp is done with @code{let}. "
|
|
"In C sources, this is done by defining a corresponding, constant symbol, and "
|
|
"using @code{specbind}. By convention, @code{Qmy_lisp_variable} corresponds "
|
|
"to @code{Vmy_lisp_variable}; to define it, use the @code{DEFSYM} macro. "
|
|
"i.e."
|
|
msgstr ""
|
|
|
|
#. type: smallexample
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1028
|
|
#, no-wrap
|
|
msgid "DEFSYM (Qmy_lisp_variable, \"my-lisp-variable\");\n"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1031
|
|
msgid "To perform the actual binding:"
|
|
msgstr ""
|
|
|
|
#. type: smallexample
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1034
|
|
#, no-wrap
|
|
msgid "specbind (Qmy_lisp_variable, Qt);\n"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1040
|
|
msgid ""
|
|
"In Lisp symbols sometimes need to be quoted, to achieve the same effect in C "
|
|
"you again use the corresponding constant symbol @code{Qmy_lisp_variable}. "
|
|
"For example, when creating a buffer-local variable (@pxref{Buffer-Local "
|
|
"Variables}) in Lisp you would write:"
|
|
msgstr ""
|
|
|
|
#. type: smallexample
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1043
|
|
#, no-wrap
|
|
msgid "(make-variable-buffer-local 'my-lisp-variable)\n"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1047
|
|
msgid ""
|
|
"In C the corresponding code uses @code{Fmake_variable_buffer_local} in "
|
|
"combination with @code{DEFSYM}, i.e."
|
|
msgstr ""
|
|
|
|
#. type: smallexample
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1051
|
|
#, no-wrap
|
|
msgid ""
|
|
"DEFSYM (Qmy_lisp_variable, \"my-lisp-variable\");\n"
|
|
"Fmake_variable_buffer_local (Qmy_lisp_variable);\n"
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1053
|
|
#, no-wrap
|
|
msgid "defining customization variables in C"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1058
|
|
msgid ""
|
|
"If you want to make a Lisp variable that is defined in C behave like one "
|
|
"declared with @code{defcustom}, add an appropriate entry to "
|
|
"@file{cus-start.el}. @xref{Variable Definitions}, for a description of the "
|
|
"format to use."
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1059
|
|
#, no-wrap
|
|
msgid "@code{staticpro}, protection from GC"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1063
|
|
msgid ""
|
|
"If you directly define a file-scope C variable of type @code{Lisp_Object}, "
|
|
"you must protect it from garbage-collection by calling @code{staticpro} in "
|
|
"@code{syms_of_@var{filename}}, like this:"
|
|
msgstr ""
|
|
|
|
#. type: example
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1066
|
|
#, no-wrap
|
|
msgid "staticpro (&@var{variable});\n"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1071
|
|
msgid ""
|
|
"Here is another example function, with more complicated arguments. This "
|
|
"comes from the code in @file{window.c}, and it demonstrates the use of "
|
|
"macros and functions to manipulate Lisp objects."
|
|
msgstr ""
|
|
|
|
#. type: group
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1078
|
|
#, no-wrap
|
|
msgid ""
|
|
"DEFUN (\"coordinates-in-window-p\", Fcoordinates_in_window_p,\n"
|
|
" Scoordinates_in_window_p, 2, 2, 0,\n"
|
|
" doc: /* Return non-nil if COORDINATES are in WINDOW.\n"
|
|
" @dots{}\n"
|
|
msgstr ""
|
|
|
|
#. type: group
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1087
|
|
#, no-wrap
|
|
msgid ""
|
|
" or `right-margin' is returned. */)\n"
|
|
" (register Lisp_Object coordinates, Lisp_Object window)\n"
|
|
"@{\n"
|
|
" struct window *w;\n"
|
|
" struct frame *f;\n"
|
|
" int x, y;\n"
|
|
" Lisp_Object lx, ly;\n"
|
|
msgstr ""
|
|
|
|
#. type: group
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1099
|
|
#, no-wrap
|
|
msgid ""
|
|
" w = decode_live_window (window);\n"
|
|
" f = XFRAME (w->frame);\n"
|
|
" CHECK_CONS (coordinates);\n"
|
|
" lx = Fcar (coordinates);\n"
|
|
" ly = Fcdr (coordinates);\n"
|
|
" CHECK_NUMBER (lx);\n"
|
|
" CHECK_NUMBER (ly);\n"
|
|
" x = FRAME_PIXEL_X_FROM_CANON_X (f, lx) + FRAME_INTERNAL_BORDER_WIDTH "
|
|
"(f);\n"
|
|
" y = FRAME_PIXEL_Y_FROM_CANON_Y (f, ly) + FRAME_INTERNAL_BORDER_WIDTH "
|
|
"(f);\n"
|
|
msgstr ""
|
|
|
|
#. type: group
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1106
|
|
#, no-wrap
|
|
msgid ""
|
|
" switch (coordinates_in_window (w, x, y))\n"
|
|
" @{\n"
|
|
" case ON_NOTHING: /* NOT in window at all. */\n"
|
|
" return Qnil;\n"
|
|
msgstr ""
|
|
|
|
#. type: smallexample
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1109
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1116
|
|
#, no-wrap
|
|
msgid ""
|
|
" @dots{}\n"
|
|
"\n"
|
|
msgstr ""
|
|
|
|
#. type: group
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1113
|
|
#, no-wrap
|
|
msgid ""
|
|
" case ON_MODE_LINE: /* In mode line of window. */\n"
|
|
" return Qmode_line;\n"
|
|
msgstr ""
|
|
|
|
#. type: group
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1121
|
|
#, no-wrap
|
|
msgid ""
|
|
" case ON_SCROLL_BAR: /* On scroll-bar of window. */\n"
|
|
" /* Historically we are supposed to return nil in this case. */\n"
|
|
" return Qnil;\n"
|
|
msgstr ""
|
|
|
|
#. type: group
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1128
|
|
#, no-wrap
|
|
msgid ""
|
|
" default:\n"
|
|
" emacs_abort ();\n"
|
|
" @}\n"
|
|
"@}\n"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1139
|
|
msgid ""
|
|
"Note that C code cannot call functions by name unless they are defined in "
|
|
"C@. The way to call a function written in Lisp is to use @code{Ffuncall}, "
|
|
"which embodies the Lisp function @code{funcall}. Since the Lisp function "
|
|
"@code{funcall} accepts an unlimited number of arguments, in C it takes two: "
|
|
"the number of Lisp-level arguments, and a one-dimensional array containing "
|
|
"their values. The first Lisp-level argument is the Lisp function to call, "
|
|
"and the rest are the arguments to pass to it."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1143
|
|
msgid ""
|
|
"The C functions @code{call0}, @code{call1}, @code{call2}, and so on, provide "
|
|
"handy ways to call a Lisp function conveniently with a fixed number of "
|
|
"arguments. They work by calling @code{Ffuncall}."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1147
|
|
msgid ""
|
|
"@file{eval.c} is a very good file to look through for examples; "
|
|
"@file{lisp.h} contains the definitions for some important macros and "
|
|
"functions."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1151
|
|
msgid ""
|
|
"If you define a function which is side-effect free or pure, give it a "
|
|
"non-@code{nil} @code{side-effect-free} or @code{pure} property, respectively "
|
|
"(@pxref{Standard Properties})."
|
|
msgstr ""
|
|
|
|
#. type: section
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1153
|
|
#, no-wrap
|
|
msgid "Writing Dynamically-Loaded Modules"
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1154
|
|
#, no-wrap
|
|
msgid "writing emacs modules"
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1155
|
|
#, no-wrap
|
|
msgid "dynamic modules, writing"
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1157
|
|
#, no-wrap
|
|
msgid "module @acronym{API}"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1166
|
|
msgid ""
|
|
"This section describes the Emacs module @acronym{API} and how to use it as "
|
|
"part of writing extension modules for Emacs. The module @acronym{API} is "
|
|
"defined in the C programming language, therefore the description and the "
|
|
"examples in this section assume the module is written in C@. For other "
|
|
"programming languages, you will need to use the appropriate bindings, "
|
|
"interfaces and facilities for calling C code. Emacs C code requires a C99 "
|
|
"or later compiler (@pxref{C Dialect}), and so the code examples in this "
|
|
"section also follow that standard."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1169
|
|
msgid ""
|
|
"Writing a module and integrating it into Emacs comprises the following "
|
|
"tasks:"
|
|
msgstr ""
|
|
|
|
#. type: itemize
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1173
|
|
msgid "Writing initialization code for the module."
|
|
msgstr ""
|
|
|
|
#. type: itemize
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1176
|
|
msgid "Writing one or more module functions."
|
|
msgstr ""
|
|
|
|
#. type: itemize
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1180
|
|
msgid "Communicating values and objects between Emacs and your module functions."
|
|
msgstr ""
|
|
|
|
#. type: itemize
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1183
|
|
msgid "Handling of error conditions and nonlocal exits."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1188
|
|
msgid ""
|
|
"The following subsections describe these tasks and the @acronym{API} itself "
|
|
"in more detail."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1193
|
|
msgid ""
|
|
"Once your module is written, compile it to produce a shared library, "
|
|
"according to the conventions of the underlying platform. Then place the "
|
|
"shared library in a directory mentioned in @code{load-path} (@pxref{Library "
|
|
"Search}), where Emacs will find it."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1197
|
|
msgid ""
|
|
"If you wish to verify the conformance of a module to the Emacs dynamic "
|
|
"module @acronym{API}, invoke Emacs with the @kbd{--module-assertions} "
|
|
"option. @xref{Initial Options,,,emacs, The GNU Emacs Manual}."
|
|
msgstr ""
|
|
|
|
#. type: menuentry
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1204
|
|
msgid "Module Initialization::"
|
|
msgstr ""
|
|
|
|
#. type: menuentry
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1204
|
|
msgid "Module Functions::"
|
|
msgstr ""
|
|
|
|
#. type: menuentry
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1204
|
|
msgid "Module Values::"
|
|
msgstr ""
|
|
|
|
#. type: menuentry
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1204
|
|
msgid "Module Misc::"
|
|
msgstr ""
|
|
|
|
#. type: node
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1204
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2091
|
|
#, no-wrap
|
|
msgid "Module Nonlocal"
|
|
msgstr ""
|
|
|
|
#. type: node
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1206
|
|
#, no-wrap
|
|
msgid "Module Initialization"
|
|
msgstr ""
|
|
|
|
#. type: subsection
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1207
|
|
#, no-wrap
|
|
msgid "Module Initialization Code"
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1208
|
|
#, no-wrap
|
|
msgid "module initialization"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1212
|
|
msgid ""
|
|
"Begin your module by including the header file @file{emacs-module.h} and "
|
|
"defining the GPL compatibility symbol:"
|
|
msgstr ""
|
|
|
|
#. type: example
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1215
|
|
#, no-wrap
|
|
msgid ""
|
|
"#include <emacs-module.h>\n"
|
|
"\n"
|
|
msgstr ""
|
|
|
|
#. type: example
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1217
|
|
#, no-wrap
|
|
msgid "int plugin_is_GPL_compatible;\n"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1222
|
|
msgid ""
|
|
"The @file{emacs-module.h} file is installed into your system's include tree "
|
|
"as part of the Emacs installation. Alternatively, you can find it in the "
|
|
"Emacs source tree."
|
|
msgstr ""
|
|
|
|
#. type: anchor{#1}
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1225
|
|
msgid "module initialization function"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1225
|
|
msgid "Next, write an initialization function for the module."
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1226
|
|
#, no-wrap
|
|
msgid "Function int emacs_module_init (struct emacs_runtime *@var{runtime})"
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1236
|
|
msgid ""
|
|
"Emacs calls this function when it loads a module. If a module does not "
|
|
"export a function named @code{emacs_module_init}, trying to load the module "
|
|
"will signal an error. The initialization function should return zero if the "
|
|
"initialization succeeds, non-zero otherwise. In the latter case, Emacs will "
|
|
"signal an error, and the loading of the module will fail. If the user "
|
|
"presses @kbd{C-g} during the initialization, Emacs ignores the return value "
|
|
"of the initialization function and quits (@pxref{Quitting}). (If needed, "
|
|
"you can catch user quitting inside the initialization function, "
|
|
"@pxref{should_quit}.)"
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1242
|
|
msgid ""
|
|
"The argument @var{runtime} is a pointer to a C @code{struct} that includes 2 "
|
|
"public fields: @code{size}, which provides the size of the structure in "
|
|
"bytes; and @code{get_environment}, which provides a pointer to a function "
|
|
"that allows the module initialization function access to the Emacs "
|
|
"environment object and its interfaces."
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1246
|
|
msgid ""
|
|
"The initialization function should perform whatever initialization is "
|
|
"required for the module. In addition, it can perform the following tasks:"
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1248
|
|
#, no-wrap
|
|
msgid "compatibility, between modules and Emacs"
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1249
|
|
#, no-wrap
|
|
msgid "Compatibility verification"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1253
|
|
msgid ""
|
|
"A module can verify that the Emacs executable which loads the module is "
|
|
"compatible with the module, by comparing the @code{size} member of the "
|
|
"@var{runtime} structure with the value compiled into the module:"
|
|
msgstr ""
|
|
|
|
#. type: example
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1261
|
|
#, no-wrap
|
|
msgid ""
|
|
"int\n"
|
|
"emacs_module_init (struct emacs_runtime *runtime)\n"
|
|
"@{\n"
|
|
" if (runtime->size < sizeof (*runtime))\n"
|
|
" return 1;\n"
|
|
"@}\n"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1268
|
|
msgid ""
|
|
"If the size of the runtime object passed to the module is smaller than what "
|
|
"it expects, it means the module was compiled for an Emacs version newer "
|
|
"(later) than the one which attempts to load it, i.e.@: the module might be "
|
|
"incompatible with the Emacs binary."
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1273
|
|
msgid ""
|
|
"In addition, a module can verify the compatibility of the module "
|
|
"@acronym{API} with what the module expects. The following sample code "
|
|
"assumes it is part of the @code{emacs_module_init} function shown above:"
|
|
msgstr ""
|
|
|
|
#. type: example
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1278
|
|
#, no-wrap
|
|
msgid ""
|
|
" emacs_env *env = runtime->get_environment (runtime);\n"
|
|
" if (env->size < sizeof (*env))\n"
|
|
" return 2;\n"
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1281
|
|
#, no-wrap
|
|
msgid "module runtime environment"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1286
|
|
msgid ""
|
|
"This calls the @code{get_environment} function using the pointer provided in "
|
|
"the @code{runtime} structure to retrieve a pointer to the @acronym{API}'s "
|
|
"@dfn{environment}, a C @code{struct} which also has a @code{size} field "
|
|
"holding the size of the structure in bytes."
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1290
|
|
msgid ""
|
|
"Finally, you can write a module that will work with older versions of Emacs, "
|
|
"by comparing the size of the environment passed by Emacs with known sizes, "
|
|
"like this:"
|
|
msgstr ""
|
|
|
|
#. type: example
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1299
|
|
#, no-wrap
|
|
msgid ""
|
|
" emacs_env *env = runtime->get_environment (runtime);\n"
|
|
" if (env->size >= sizeof (struct emacs_env_26))\n"
|
|
" emacs_version = 26; /* Emacs 26 or later. */\n"
|
|
" else if (env->size >= sizeof (struct emacs_env_25))\n"
|
|
" emacs_version = 25;\n"
|
|
" else\n"
|
|
" return 2; /* Unknown or unsupported version. */\n"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1307
|
|
msgid ""
|
|
"This works because later Emacs versions always @emph{add} members to the "
|
|
"environment, never @emph{remove} any members, so the size can only grow with "
|
|
"new Emacs releases. Given the version of Emacs, the module can use only the "
|
|
"parts of the module @acronym{API} that existed in that version, since those "
|
|
"parts are identical in later versions."
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1318
|
|
msgid ""
|
|
"@file{emacs-module.h} defines a preprocessor macro "
|
|
"@code{EMACS_MAJOR_VERSION}. It expands to an integer literal which is the "
|
|
"latest major version of Emacs supported by the header. @xref{Version "
|
|
"Info}. Note that the value of @code{EMACS_MAJOR_VERSION} is a compile-time "
|
|
"constant and does not represent the version of Emacs that is currently "
|
|
"running and has loaded your module. If you want your module to be "
|
|
"compatible with various versions of @file{emacs-module.h} as well as various "
|
|
"versions of Emacs, you can use conditional compilation based on "
|
|
"@code{EMACS_MAJOR_VERSION}."
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1323
|
|
msgid ""
|
|
"We recommend that modules always perform the compatibility verification, "
|
|
"unless they do their job entirely in the initialization function, and don't "
|
|
"access any Lisp objects or use any Emacs functions accessible through the "
|
|
"environment structure."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1324
|
|
#, no-wrap
|
|
msgid "Binding module functions to Lisp symbols"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1328
|
|
msgid ""
|
|
"This gives the module functions names so that Lisp code could call it by "
|
|
"that name. We describe how to do this in @ref{Module Functions} below."
|
|
msgstr ""
|
|
|
|
#. type: node
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1331
|
|
#, no-wrap
|
|
msgid "Module Functions"
|
|
msgstr ""
|
|
|
|
#. type: subsection
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1332
|
|
#, no-wrap
|
|
msgid "Writing Module Functions"
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1333
|
|
#, no-wrap
|
|
msgid "writing module functions"
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1334
|
|
#, no-wrap
|
|
msgid "module functions"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1339
|
|
msgid ""
|
|
"The main reason for writing an Emacs module is to make additional functions "
|
|
"available to Lisp programs that load the module. This subsection describes "
|
|
"how to write such @dfn{module functions}."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1341
|
|
msgid "A module function has the following general form and signature:"
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1342
|
|
#, no-wrap
|
|
msgid ""
|
|
"Function emacs_value emacs_function (emacs_env *@var{env}, ptrdiff_t "
|
|
"@var{nargs}, emacs_value *@var{args}, void *@var{data})"
|
|
msgstr ""
|
|
|
|
#. type: tindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1343
|
|
#, no-wrap
|
|
msgid "emacs_function"
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1353
|
|
msgid ""
|
|
"The @var{env} argument provides a pointer to the @acronym{API} environment, "
|
|
"needed to access Emacs objects and functions. The @var{nargs} argument is "
|
|
"the required number of arguments, which can be zero (see "
|
|
"@code{make_function} below for more flexible specification of the argument "
|
|
"number), and @var{args} is a pointer to the array of the function "
|
|
"arguments. The argument @var{data} points to additional data required by "
|
|
"the function, which was arranged when @code{make_function} (see below) was "
|
|
"called to create an Emacs function from @code{emacs_function}."
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1359
|
|
msgid ""
|
|
"Module functions use the type @code{emacs_value} to communicate Lisp objects "
|
|
"between Emacs and the module (@pxref{Module Values}). The @acronym{API}, "
|
|
"described below and in the following subsections, provides facilities for "
|
|
"conversion between basic C data types and the corresponding "
|
|
"@code{emacs_value} objects."
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1367
|
|
msgid ""
|
|
"A module function always returns a value. If the function returns normally, "
|
|
"the Lisp code which called it will see the Lisp object corresponding to the "
|
|
"@code{emacs_value} value the function returned. However, if the user typed "
|
|
"@kbd{C-g}, or if the module function or its callees signaled an error or "
|
|
"exited nonlocally (@pxref{Module Nonlocal}), Emacs will ignore the returned "
|
|
"value and quit or throw as it does when Lisp code encounters the same "
|
|
"situations."
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1371
|
|
msgid ""
|
|
"The header @file{emacs-module.h} provides the type @code{emacs_function} as "
|
|
"an alias type for a function pointer to a module function."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1380
|
|
msgid ""
|
|
"After writing your C code for a module function, you should make a Lisp "
|
|
"function object from it using the @code{make_function} function, whose "
|
|
"pointer is provided in the environment (recall that the pointer to the "
|
|
"environment is returned by @code{get_environment}). This is normally done "
|
|
"in the module initialization function (@pxref{module initialization "
|
|
"function}), after verifying the @acronym{API} compatibility."
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1381
|
|
#, no-wrap
|
|
msgid ""
|
|
"Function emacs_value make_function (emacs_env *@var{env}, ptrdiff_t "
|
|
"@var{min_arity}, ptrdiff_t @var{max_arity}, emacs_function @var{func}, const "
|
|
"char *@var{docstring}, void *@var{data})"
|
|
msgstr ""
|
|
|
|
#. type: vindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1382
|
|
#, no-wrap
|
|
msgid "emacs_variadic_function"
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1391
|
|
msgid ""
|
|
"This returns an Emacs function created from the C function @var{func}, whose "
|
|
"signature is as described for @code{emacs_function} above. The arguments "
|
|
"@var{min_arity} and @var{max_arity} specify the minimum and maximum number "
|
|
"of arguments that @var{func} can accept. The @var{max_arity} argument can "
|
|
"have the special value @code{emacs_variadic_function}, which makes the "
|
|
"function accept an unlimited number of arguments, like the @code{&rest} "
|
|
"keyword in Lisp (@pxref{Argument List})."
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1396
|
|
msgid ""
|
|
"The argument @var{data} is a way to arrange for arbitrary additional data to "
|
|
"be passed to @var{func} when it is called. Whatever pointer is passed to "
|
|
"@code{make_function} will be passed unaltered to @var{func}."
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1403
|
|
msgid ""
|
|
"The argument @var{docstring} specifies the documentation string for the "
|
|
"function. It should be either an @acronym{ASCII} string, or a UTF-8 encoded "
|
|
"non-@acronym{ASCII} string, or a @code{NULL} pointer; in the latter case the "
|
|
"function will have no documentation. The documentation string can end with "
|
|
"a line that specifies the advertised calling convention, see @ref{Function "
|
|
"Documentation}."
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1409
|
|
msgid ""
|
|
"Since every module function must accept the pointer to the environment as "
|
|
"its first argument, the call to @code{make_function} could be made from any "
|
|
"module function, but you will normally want to do that from the module "
|
|
"initialization function, so that all the module functions are known to Emacs "
|
|
"once the module is loaded."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1415
|
|
msgid ""
|
|
"Finally, you should bind the Lisp function to a symbol, so that Lisp code "
|
|
"could call your function by name. For that, use the module @acronym{API} "
|
|
"function @code{intern} (@pxref{intern}) whose pointer is also provided in "
|
|
"the environment that module functions can access."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1419
|
|
msgid ""
|
|
"Combining the above steps, code that arranges for a C function "
|
|
"@code{module_func} to be callable as @code{module-func} from Lisp will look "
|
|
"like this, as part of the module initialization function:"
|
|
msgstr ""
|
|
|
|
#. type: example
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1427
|
|
#, no-wrap
|
|
msgid ""
|
|
" emacs_env *env = runtime->get_environment (runtime);\n"
|
|
" emacs_value func = env->make_function (env, min_arity, max_arity,\n"
|
|
" module_func, docstring, data);\n"
|
|
" emacs_value symbol = env->intern (env, \"module-func\");\n"
|
|
" emacs_value args[] = @{symbol, func@};\n"
|
|
" env->funcall (env, env->intern (env, \"defalias\"), 2, args);\n"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1435
|
|
msgid ""
|
|
"This makes the symbol @code{module-func} known to Emacs by calling "
|
|
"@code{env->intern}, then invokes @code{defalias} from Emacs to bind the "
|
|
"function to that symbol. Note that it is possible to use @code{fset} "
|
|
"instead of @code{defalias}; the differences are described in @ref{Defining "
|
|
"Functions, defalias}."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1451
|
|
msgid ""
|
|
"Module functions including the @code{emacs_module_init} function "
|
|
"(@pxref{module initialization function}) may only interact with Emacs by "
|
|
"calling environment functions from some live @code{emacs_env} pointer while "
|
|
"being called directly or indirectly from Emacs. In other words, if a module "
|
|
"function wants to call Lisp functions or Emacs primitives, convert "
|
|
"@code{emacs_value} objects to and from C datatypes (@pxref{Module Values}), "
|
|
"or interact with Emacs in any other way, some call from Emacs to "
|
|
"@code{emacs_module_init} or to a module function must be in the call stack. "
|
|
"Module functions may not interact with Emacs while garbage collection is "
|
|
"running; @pxref{Garbage Collection}. They may only interact with Emacs from "
|
|
"Lisp interpreter threads (including the main thread) created by Emacs; "
|
|
"@pxref{Threads}. The @kbd{--module-assertions} command-line option can "
|
|
"detect some violations of the above requirements. @xref{Initial "
|
|
"Options,,,emacs, The GNU Emacs Manual}."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1463
|
|
msgid ""
|
|
"Using the module @acronym{API}, it is possible to define more complex "
|
|
"function and data types: inline functions, macros, etc. However, the "
|
|
"resulting C code will be cumbersome and hard to read. Therefore, we "
|
|
"recommend that you limit the module code which creates functions and data "
|
|
"structures to the absolute minimum, and leave the rest for a Lisp package "
|
|
"that will accompany your module, because doing these additional tasks in "
|
|
"Lisp is much easier, and will produce a much more readable code. For "
|
|
"example, given a module function @code{module-func} defined as above, one "
|
|
"way of making a macro @code{module-macro} based on it is with the following "
|
|
"simple Lisp wrapper:"
|
|
msgstr ""
|
|
|
|
#. type: lisp
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1468
|
|
#, no-wrap
|
|
msgid ""
|
|
"(defmacro module-macro (&rest args)\n"
|
|
" \"Documentation string for the macro.\"\n"
|
|
" (module-func args))\n"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1473
|
|
msgid ""
|
|
"The Lisp package which goes with your module could then load the module "
|
|
"using the @code{load} primitive (@pxref{Dynamic Modules}) when the package "
|
|
"is loaded into Emacs."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1477
|
|
msgid ""
|
|
"By default, module functions created by @code{make_function} are not "
|
|
"interactive. To make them interactive, you can use the following function."
|
|
msgstr ""
|
|
|
|
#. type: deftypefun
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1478
|
|
#, no-wrap
|
|
msgid ""
|
|
"void make_interactive (emacs_env *@var{env}, emacs_value @var{function}, "
|
|
"emacs_value @var{spec})"
|
|
msgstr ""
|
|
|
|
#. type: deftypefun
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1485
|
|
msgid ""
|
|
"This function, which is available since Emacs 28, makes the function "
|
|
"@var{function} interactive using the interactive specification @var{spec}. "
|
|
"Emacs interprets @var{spec} like the argument to the @code{interactive} "
|
|
"form. @ref{Using Interactive}, and @pxref{Interactive Codes}. "
|
|
"@var{function} must be an Emacs module function returned by "
|
|
"@code{make_function}."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1492
|
|
msgid ""
|
|
"Note that there is no native module support for retrieving the interactive "
|
|
"specification of a module function. Use the function "
|
|
"@code{interactive-form} for that. @ref{Using Interactive}. It is not "
|
|
"possible to make a module function non-interactive once you have made it "
|
|
"interactive using @code{make_interactive}."
|
|
msgstr ""
|
|
|
|
#. type: anchor{#1}
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1502
|
|
msgid "Module Function Finalizers"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1502
|
|
msgid ""
|
|
"If you want to run some code when a module function object (i.e., an object "
|
|
"returned by @code{make_function}) is garbage-collected, you can install a "
|
|
"@dfn{function finalizer}. Function finalizers are available since Emacs "
|
|
"28. For example, if you have passed some heap-allocated structure to the "
|
|
"@var{data} argument of @code{make_function}, you can use the finalizer to "
|
|
"deallocate the structure. @xref{Basic Allocation,,,libc}, and "
|
|
"@pxref{Freeing after Malloc,,,libc}. The finalizer function has the "
|
|
"following signature:"
|
|
msgstr ""
|
|
|
|
#. type: example
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1505
|
|
#, no-wrap
|
|
msgid "void finalizer (void *@var{data})\n"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1510
|
|
msgid ""
|
|
"Here, @var{data} receives the value passed to @var{data} when calling "
|
|
"@code{make_function}. Note that the finalizer can't interact with Emacs in "
|
|
"any way."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1514
|
|
msgid ""
|
|
"Directly after calling @code{make_function}, the newly-created function "
|
|
"doesn't have a finalizer. Use @code{set_function_finalizer} to add one, if "
|
|
"desired."
|
|
msgstr ""
|
|
|
|
#. type: deftypefun
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1515
|
|
#, no-wrap
|
|
msgid "void emacs_finalizer (void *@var{ptr})"
|
|
msgstr ""
|
|
|
|
#. type: deftypefun
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1519
|
|
msgid ""
|
|
"The header @file{emacs-module.h} provides the type @code{emacs_finalizer} as "
|
|
"a type alias for an Emacs finalizer function."
|
|
msgstr ""
|
|
|
|
#. type: deftypefun
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1521
|
|
#, no-wrap
|
|
msgid ""
|
|
"emacs_finalizer get_function_finalizer (emacs_env *@var{env}, emacs_value "
|
|
"@var{arg})"
|
|
msgstr ""
|
|
|
|
#. type: deftypefun
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1527
|
|
msgid ""
|
|
"This function, which is available since Emacs 28, returns the function "
|
|
"finalizer associated with the module function represented by @var{arg}. "
|
|
"@var{arg} must refer to a module function, that is, an object returned by "
|
|
"@code{make_function}. If no finalizer is associated with the function, "
|
|
"@code{NULL} is returned."
|
|
msgstr ""
|
|
|
|
#. type: deftypefun
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1529
|
|
#, no-wrap
|
|
msgid ""
|
|
"void set_function_finalizer (emacs_env *@var{env}, emacs_value @var{arg}, "
|
|
"emacs_finalizer @var{fin})"
|
|
msgstr ""
|
|
|
|
#. type: deftypefun
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1539
|
|
msgid ""
|
|
"This function, which is available since Emacs 28, sets the function "
|
|
"finalizer associated with the module function represented by @var{arg} to "
|
|
"@var{fin}. @var{arg} must refer to a module function, that is, an object "
|
|
"returned by @code{make_function}. @var{fin} can either be @code{NULL} to "
|
|
"clear @var{arg}'s function finalizer, or a pointer to a function to be "
|
|
"called when the object represented by @var{arg} is garbage-collected. At "
|
|
"most one function finalizer can be set per function; if @var{arg} already "
|
|
"has a finalizer, it is replaced by @var{fin}."
|
|
msgstr ""
|
|
|
|
#. type: node
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1541
|
|
#, no-wrap
|
|
msgid "Module Values"
|
|
msgstr ""
|
|
|
|
#. type: subsection
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1542
|
|
#, no-wrap
|
|
msgid "Conversion Between Lisp and Module Values"
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1543
|
|
#, no-wrap
|
|
msgid "module values, conversion"
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1545
|
|
#, no-wrap
|
|
msgid "@code{emacs_value} data type"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1557
|
|
msgid ""
|
|
"With very few exceptions, most modules need to exchange data with Lisp "
|
|
"programs that call them: accept arguments to module functions and return "
|
|
"values from module functions. For this purpose, the module @acronym{API} "
|
|
"provides the @code{emacs_value} type, which represents Emacs Lisp objects "
|
|
"communicated via the @acronym{API}; it is the functional equivalent of the "
|
|
"@code{Lisp_Object} type used in Emacs C primitives (@pxref{Writing Emacs "
|
|
"Primitives}). This section describes the parts of the module @acronym{API} "
|
|
"that allow to create @code{emacs_value} objects corresponding to basic Lisp "
|
|
"data types, and how to access from C data in @code{emacs_value} objects that "
|
|
"correspond to Lisp objects."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1562
|
|
msgid ""
|
|
"All of the functions described below are actually @emph{function pointers} "
|
|
"provided via the pointer to the environment which every module function "
|
|
"accepts. Therefore, module code should call these functions through the "
|
|
"environment pointer, like this:"
|
|
msgstr ""
|
|
|
|
#. type: example
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1566
|
|
#, no-wrap
|
|
msgid ""
|
|
"emacs_env *env; /* the environment pointer */\n"
|
|
"env->some_function (arguments@dots{});\n"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1572
|
|
msgid ""
|
|
"The @code{emacs_env} pointer will usually come from the first argument to "
|
|
"the module function, or from the call to @code{get_environment} if you need "
|
|
"the environment in the module initialization function."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1577
|
|
msgid ""
|
|
"Most of the functions described below became available in Emacs 25, the "
|
|
"first Emacs release that supported dynamic modules. For the few functions "
|
|
"that became available in later Emacs releases, we mention the first Emacs "
|
|
"version that supported them."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1587
|
|
msgid ""
|
|
"The following @acronym{API} functions extract values of various C data types "
|
|
"from @code{emacs_value} objects. They all raise the "
|
|
"@code{wrong-type-argument} error condition (@pxref{Type Predicates}) if the "
|
|
"argument @code{emacs_value} object is not of the type expected by the "
|
|
"function. @xref{Module Nonlocal}, for details of how signaling errors works "
|
|
"in Emacs modules, and how to catch error conditions inside the module before "
|
|
"they are reported to Emacs. The @acronym{API} function @code{type_of} "
|
|
"(@pxref{Module Misc, type_of}) can be used to obtain the type of a "
|
|
"@code{emacs_value} object."
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1588
|
|
#, no-wrap
|
|
msgid ""
|
|
"Function intmax_t extract_integer (emacs_env *@var{env}, emacs_value "
|
|
"@var{arg})"
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1595
|
|
msgid ""
|
|
"This function returns the value of a Lisp integer specified by @var{arg}. "
|
|
"The C data type of the return value, @code{intmax_t}, is the widest integer "
|
|
"data type supported by the C compiler, typically @w{@code{long long}}. If "
|
|
"the value of @var{arg} doesn't fit into an @code{intmax_t}, the function "
|
|
"signals an error using the error symbol @code{overflow-error}."
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1597
|
|
#, no-wrap
|
|
msgid ""
|
|
"Function bool extract_big_integer (emacs_env *@var{env}, emacs_value "
|
|
"@var{arg}, int *@var{sign}, ptrdiff_t *@var{count}, emacs_limb_t "
|
|
"*@var{magnitude})"
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1614
|
|
msgid ""
|
|
"This function, which is available since Emacs 27, extracts the integer value "
|
|
"of @var{arg}. The value of @var{arg} must be an integer (fixnum or "
|
|
"bignum). If @var{sign} is not @code{NULL}, it stores the sign of @var{arg} "
|
|
"(-1, 0, or +1) into @code{*sign}. The magnitude is stored into "
|
|
"@var{magnitude} as follows. If @var{count} and @var{magnitude} are both "
|
|
"non-@code{NULL}, then @var{magnitude} must point to an array of at least "
|
|
"@code{*count} @code{unsigned long} elements. If @var{magnitude} is large "
|
|
"enough to hold the magnitude of @var{arg}, then this function writes the "
|
|
"magnitude into the @var{magnitude} array in little-endian form, stores the "
|
|
"number of array elements written into @code{*count}, and returns "
|
|
"@code{true}. If @var{magnitude} is not large enough, it stores the required "
|
|
"array size into @code{*count}, signals an error, and returns @code{false}. "
|
|
"If @var{count} is not @code{NULL} and @var{magnitude} is @code{NULL}, then "
|
|
"the function stores the required array size into @code{*count} and returns "
|
|
"@code{true}."
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1620
|
|
msgid ""
|
|
"Emacs guarantees that the maximum required value of @code{*count} never "
|
|
"exceeds @code{min (PTRDIFF_MAX, SIZE_MAX) / sizeof (emacs_limb_t)}, so you "
|
|
"can use @code{malloc (*count * sizeof *magnitude)} to allocate the "
|
|
"@code{magnitude} array without worrying about integer overflow in the size "
|
|
"calculation."
|
|
msgstr ""
|
|
|
|
#. type: deftp
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1622
|
|
#, no-wrap
|
|
msgid "{Type alias} emacs_limb_t"
|
|
msgstr ""
|
|
|
|
#. type: deftp
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1627
|
|
msgid ""
|
|
"This is an unsigned integer type, used as the element type for the magnitude "
|
|
"arrays for the big integer conversion functions. The type is guaranteed to "
|
|
"have unique object representations, i.e., no padding bits."
|
|
msgstr ""
|
|
|
|
#. type: defvr
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1629
|
|
#, no-wrap
|
|
msgid "Macro EMACS_LIMB_MAX"
|
|
msgstr ""
|
|
|
|
#. type: defvr
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1633
|
|
msgid ""
|
|
"This macro expands to a constant expression specifying the maximum possible "
|
|
"value for an @code{emacs_limb_t} object. The expression is suitable for use "
|
|
"in @code{#if}."
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1635
|
|
#, no-wrap
|
|
msgid "Function double extract_float (emacs_env *@var{env}, emacs_value @var{arg})"
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1638
|
|
msgid ""
|
|
"This function returns the value of a Lisp float specified by @var{arg}, as a "
|
|
"C @code{double} value."
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1640
|
|
#, no-wrap
|
|
msgid ""
|
|
"Function struct timespec extract_time (emacs_env *@var{env}, emacs_value "
|
|
"@var{arg})"
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1645
|
|
msgid ""
|
|
"This function, which is available since Emacs 27, interprets @var{arg} as an "
|
|
"Emacs Lisp time value and returns the corresponding @code{struct timespec}. "
|
|
"@xref{Time of Day}. @code{struct timespec} represents a timestamp with "
|
|
"nanosecond precision. It has the following members:"
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1647
|
|
#, no-wrap
|
|
msgid "time_t tv_sec"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1649
|
|
msgid "Whole number of seconds."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1649
|
|
#, no-wrap
|
|
msgid "long tv_nsec"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1655
|
|
msgid ""
|
|
"Fractional seconds as a number of nanoseconds. For timestamps returned by "
|
|
"@code{extract_time}, this is always nonnegative and less than one billion. "
|
|
"(Although POSIX requires the type of @code{tv_nsec} to be @code{long}, the "
|
|
"type is @code{long long} on some nonstandard platforms.)"
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1659
|
|
msgid "@xref{Elapsed Time,,,libc}."
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1667
|
|
msgid ""
|
|
"If @var{time} has higher precision than nanoseconds, then this function "
|
|
"truncates it to nanosecond precision towards negative infinity. This "
|
|
"function signals an error if @var{time} (truncated to nanoseconds) cannot be "
|
|
"represented by @code{struct timespec}. For example, if @code{time_t} is a "
|
|
"32-bit integer type, then a @var{time} value of ten billion seconds would "
|
|
"signal an error, but a @var{time} value of 600 picoseconds would get "
|
|
"truncated to zero."
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1672
|
|
msgid ""
|
|
"If you need to deal with time values that are not representable by "
|
|
"@code{struct timespec}, or if you want higher precision, call the Lisp "
|
|
"function @code{encode-time} and work with its return value. @xref{Time "
|
|
"Conversion}."
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1674
|
|
#, no-wrap
|
|
msgid ""
|
|
"Function bool copy_string_contents (emacs_env *@var{env}, emacs_value "
|
|
"@var{arg}, char *@var{buf}, ptrdiff_t *@var{len})"
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1681
|
|
msgid ""
|
|
"This function stores the UTF-8 encoded text of a Lisp string specified by "
|
|
"@var{arg} in the array of @code{char} pointed by @var{buf}, which should "
|
|
"have enough space to hold at least @code{*@var{len}} bytes, including the "
|
|
"terminating null byte. The argument @var{len} must not be a @code{NULL} "
|
|
"pointer, and, when the function is called, it should point to a value that "
|
|
"specifies the size of @var{buf} in bytes."
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1690
|
|
msgid ""
|
|
"If the buffer size specified by @code{*@var{len}} is large enough to hold "
|
|
"the string's text, the function stores in @code{*@var{len}} the actual "
|
|
"number of bytes copied to @var{buf}, including the terminating null byte, "
|
|
"and returns @code{true}. If the buffer is too small, the function raises "
|
|
"the @code{args-out-of-range} error condition, stores the required number of "
|
|
"bytes in @code{*@var{len}}, and returns @code{false}. @xref{Module "
|
|
"Nonlocal}, for how to handle pending error conditions."
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1700
|
|
msgid ""
|
|
"The argument @var{buf} can be a @code{NULL} pointer, in which case the "
|
|
"function stores in @code{*@var{len}} the number of bytes required for "
|
|
"storing the contents of @var{arg}, and returns @code{true}. This is how you "
|
|
"can determine the size of @var{buf} needed to store a particular string: "
|
|
"first call @code{copy_string_contents} with @code{NULL} as @var{buf}, then "
|
|
"allocate enough memory to hold the number of bytes stored by the function in "
|
|
"@code{*@var{len}}, and call the function again with non-@code{NULL} "
|
|
"@var{buf} to actually perform the text copying."
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1702
|
|
#, no-wrap
|
|
msgid ""
|
|
"Function emacs_value vec_get (emacs_env *@var{env}, emacs_value "
|
|
"@var{vector}, ptrdiff_t @var{index})"
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1710
|
|
msgid ""
|
|
"This function returns the element of @var{vector} at @var{index}. The "
|
|
"@var{index} of the first vector element is zero. The function raises the "
|
|
"@code{args-out-of-range} error condition if the value of @var{index} is "
|
|
"invalid. To extract C data from the value the function returns, use the "
|
|
"other extraction functions described here, as appropriate for the Lisp data "
|
|
"type stored in that element of the vector."
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1712
|
|
#, no-wrap
|
|
msgid "Function ptrdiff_t vec_size (emacs_env *@var{env}, emacs_value @var{vector})"
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1714
|
|
msgid "This function returns the number of elements in @var{vector}."
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1716
|
|
#, no-wrap
|
|
msgid ""
|
|
"Function void vec_set (emacs_env *@var{env}, emacs_value @var{vector}, "
|
|
"ptrdiff_t @var{index}, emacs_value @var{value})"
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1720
|
|
msgid ""
|
|
"This function stores @var{value} in the element of @var{vector} whose index "
|
|
"is @var{index}. It raises the @code{args-out-of-range} error condition if "
|
|
"the value of @var{index} is invalid."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1725
|
|
msgid ""
|
|
"The following @acronym{API} functions create @code{emacs_value} objects from "
|
|
"basic C data types. They all return the created @code{emacs_value} object."
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1726
|
|
#, no-wrap
|
|
msgid "Function emacs_value make_integer (emacs_env *@var{env}, intmax_t @var{n})"
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1732
|
|
msgid ""
|
|
"This function takes an integer argument @var{n} and returns the "
|
|
"corresponding @code{emacs_value} object. It returns either a fixnum or a "
|
|
"bignum depending on whether the value of @var{n} is inside the limits set by "
|
|
"@code{most-negative-fixnum} and @code{most-positive-fixnum} (@pxref{Integer "
|
|
"Basics})."
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1734
|
|
#, no-wrap
|
|
msgid ""
|
|
"Function emacs_value make_big_integer (emacs_env *@var{env}, int sign, "
|
|
"ptrdiff_t count, const emacs_limb_t *magnitude)"
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1741
|
|
msgid ""
|
|
"This function, which is available since Emacs 27, takes an arbitrary-sized "
|
|
"integer argument and returns a corresponding @code{emacs_value} object. The "
|
|
"@var{sign} argument gives the sign of the return value. If @var{sign} is "
|
|
"nonzero, then @var{magnitude} must point to an array of at least @var{count} "
|
|
"elements specifying the little-endian magnitude of the return value."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1748
|
|
msgid ""
|
|
"The following example uses the GNU Multiprecision Library (GMP) to calculate "
|
|
"the next probable prime after a given integer. @xref{Top,,,gmp}, for a "
|
|
"general overview of GMP, and @pxref{Integer Import and Export,,,gmp} for how "
|
|
"to convert the @code{magnitude} array to and from GMP @code{mpz_t} values."
|
|
msgstr ""
|
|
|
|
#. type: example
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1752
|
|
#, no-wrap
|
|
msgid ""
|
|
"#include <emacs-module.h>\n"
|
|
"int plugin_is_GPL_compatible;\n"
|
|
"\n"
|
|
msgstr ""
|
|
|
|
#. type: example
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1758
|
|
#, no-wrap
|
|
msgid ""
|
|
"#include <assert.h>\n"
|
|
"#include <limits.h>\n"
|
|
"#include <stdint.h>\n"
|
|
"#include <stdlib.h>\n"
|
|
"#include <string.h>\n"
|
|
"\n"
|
|
msgstr ""
|
|
|
|
#. type: example
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1760
|
|
#, no-wrap
|
|
msgid ""
|
|
"#include <gmp.h>\n"
|
|
"\n"
|
|
msgstr ""
|
|
|
|
#. type: example
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1771
|
|
#, no-wrap
|
|
msgid ""
|
|
"static void\n"
|
|
"memory_full (emacs_env *env)\n"
|
|
"@{\n"
|
|
" static const char message[] = \"Memory exhausted\";\n"
|
|
" emacs_value data = env->make_string (env, message,\n"
|
|
" strlen (message));\n"
|
|
" env->non_local_exit_signal\n"
|
|
" (env, env->intern (env, \"error\"),\n"
|
|
" env->funcall (env, env->intern (env, \"list\"), 1, &data));\n"
|
|
"@}\n"
|
|
"\n"
|
|
msgstr ""
|
|
|
|
#. type: example
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1779
|
|
#, no-wrap
|
|
msgid ""
|
|
"enum\n"
|
|
"@{\n"
|
|
" order = -1, endian = 0, nails = 0,\n"
|
|
" limb_size = sizeof (emacs_limb_t),\n"
|
|
" max_nlimbs = ((SIZE_MAX < PTRDIFF_MAX ? SIZE_MAX : PTRDIFF_MAX)\n"
|
|
" / limb_size)\n"
|
|
"@};\n"
|
|
"\n"
|
|
msgstr ""
|
|
|
|
#. type: example
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1803
|
|
#, no-wrap
|
|
msgid ""
|
|
"static bool\n"
|
|
"extract_big_integer (emacs_env *env, emacs_value arg, mpz_t result)\n"
|
|
"@{\n"
|
|
" ptrdiff_t nlimbs;\n"
|
|
" bool ok = env->extract_big_integer (env, arg, NULL, &nlimbs, NULL);\n"
|
|
" if (!ok)\n"
|
|
" return false;\n"
|
|
" assert (0 < nlimbs && nlimbs <= max_nlimbs);\n"
|
|
" emacs_limb_t *magnitude = malloc (nlimbs * limb_size);\n"
|
|
" if (magnitude == NULL)\n"
|
|
" @{\n"
|
|
" memory_full (env);\n"
|
|
" return false;\n"
|
|
" @}\n"
|
|
" int sign;\n"
|
|
" ok = env->extract_big_integer (env, arg, &sign, &nlimbs, magnitude);\n"
|
|
" assert (ok);\n"
|
|
" mpz_import (result, nlimbs, order, limb_size, endian, nails, magnitude);\n"
|
|
" free (magnitude);\n"
|
|
" if (sign < 0)\n"
|
|
" mpz_neg (result, result);\n"
|
|
" return true;\n"
|
|
"@}\n"
|
|
"\n"
|
|
msgstr ""
|
|
|
|
#. type: example
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1826
|
|
#, no-wrap
|
|
msgid ""
|
|
"static emacs_value\n"
|
|
"make_big_integer (emacs_env *env, const mpz_t value)\n"
|
|
"@{\n"
|
|
" size_t nbits = mpz_sizeinbase (value, 2);\n"
|
|
" int bitsperlimb = CHAR_BIT * limb_size - nails;\n"
|
|
" size_t nlimbs = nbits / bitsperlimb + (nbits % bitsperlimb != 0);\n"
|
|
" emacs_limb_t *magnitude\n"
|
|
" = nlimbs <= max_nlimbs ? malloc (nlimbs * limb_size) : NULL;\n"
|
|
" if (magnitude == NULL)\n"
|
|
" @{\n"
|
|
" memory_full (env);\n"
|
|
" return NULL;\n"
|
|
" @}\n"
|
|
" size_t written;\n"
|
|
" mpz_export (magnitude, &written, order, limb_size, endian, nails, "
|
|
"value);\n"
|
|
" assert (written == nlimbs);\n"
|
|
" assert (nlimbs <= PTRDIFF_MAX);\n"
|
|
" emacs_value result = env->make_big_integer (env, mpz_sgn (value),\n"
|
|
" nlimbs, magnitude);\n"
|
|
" free (magnitude);\n"
|
|
" return result;\n"
|
|
"@}\n"
|
|
"\n"
|
|
msgstr ""
|
|
|
|
#. type: example
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1840
|
|
#, no-wrap
|
|
msgid ""
|
|
"static emacs_value\n"
|
|
"next_prime (emacs_env *env, ptrdiff_t nargs, emacs_value *args,\n"
|
|
" void *data)\n"
|
|
"@{\n"
|
|
" assert (nargs == 1);\n"
|
|
" mpz_t p;\n"
|
|
" mpz_init (p);\n"
|
|
" extract_big_integer (env, args[0], p);\n"
|
|
" mpz_nextprime (p, p);\n"
|
|
" emacs_value result = make_big_integer (env, p);\n"
|
|
" mpz_clear (p);\n"
|
|
" return result;\n"
|
|
"@}\n"
|
|
"\n"
|
|
msgstr ""
|
|
|
|
#. type: example
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1852
|
|
#, no-wrap
|
|
msgid ""
|
|
"int\n"
|
|
"emacs_module_init (struct emacs_runtime *runtime)\n"
|
|
"@{\n"
|
|
" emacs_env *env = runtime->get_environment (runtime);\n"
|
|
" emacs_value symbol = env->intern (env, \"next-prime\");\n"
|
|
" emacs_value func\n"
|
|
" = env->make_function (env, 1, 1, next_prime, NULL, NULL);\n"
|
|
" emacs_value args[] = @{symbol, func@};\n"
|
|
" env->funcall (env, env->intern (env, \"defalias\"), 2, args);\n"
|
|
" return 0;\n"
|
|
"@}\n"
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1854
|
|
#, no-wrap
|
|
msgid "Function emacs_value make_float (emacs_env *@var{env}, double @var{d})"
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1857
|
|
msgid ""
|
|
"This function takes a @code{double} argument @var{d} and returns the "
|
|
"corresponding Emacs floating-point value."
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1859
|
|
#, no-wrap
|
|
msgid ""
|
|
"Function emacs_value make_time (emacs_env *@var{env}, struct timespec "
|
|
"@var{time})"
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1869
|
|
msgid ""
|
|
"This function, which is available since Emacs 27, takes a @code{struct "
|
|
"timespec} argument @var{time} and returns the corresponding Emacs timestamp "
|
|
"as a pair @code{(@var{ticks} . @var{hz})}. @xref{Time of Day}. The return "
|
|
"value represents exactly the same timestamp as @var{time}: all input values "
|
|
"are representable, and there is never a loss of precision. "
|
|
"@code{@var{time}.tv_sec} and @code{@var{time}.tv_nsec} can be arbitrary "
|
|
"values. In particular, there's no requirement that @var{time} be "
|
|
"normalized. This means that @code{@var{time}.tv_nsec} can be negative or "
|
|
"larger than 999,999,999."
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1871
|
|
#, no-wrap
|
|
msgid ""
|
|
"Function emacs_value make_string (emacs_env *@var{env}, const char "
|
|
"*@var{str}, ptrdiff_t @var{len})"
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1883
|
|
msgid ""
|
|
"This function creates an Emacs string from C text string pointed by "
|
|
"@var{str} whose length in bytes, not including the terminating null byte, is "
|
|
"@var{len}. The original string in @var{str} can be either an "
|
|
"@acronym{ASCII} string or a UTF-8 encoded non-@acronym{ASCII} string; it can "
|
|
"include embedded null bytes, and doesn't have to end in a terminating null "
|
|
"byte at @code{@var{str}[@var{len}]}. The function raises the "
|
|
"@code{overflow-error} error condition if @var{len} is negative or exceeds "
|
|
"the maximum length of an Emacs string. If @var{len} is zero, then @var{str} "
|
|
"can be @code{NULL}, otherwise it must point to valid memory. For nonzero "
|
|
"@var{len}, @code{make_string} returns unique mutable string objects."
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1885
|
|
#, no-wrap
|
|
msgid ""
|
|
"Function emacs_value make_unibyte_string (emacs_env *@var{env}, const char "
|
|
"*@var{str}, ptrdiff_t @var{len})"
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1889
|
|
msgid ""
|
|
"This function is like @code{make_string}, but has no restrictions on the "
|
|
"values of the bytes in the C string, and can be used to pass binary data to "
|
|
"Emacs in the form of a unibyte string."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1898
|
|
msgid ""
|
|
"The @acronym{API} does not provide functions to manipulate Lisp data "
|
|
"structures, for example, create lists with @code{cons} and @code{list} "
|
|
"(@pxref{Building Lists}), extract list members with @code{car} and "
|
|
"@code{cdr} (@pxref{List Elements}), create vectors with @code{vector} "
|
|
"(@pxref{Vector Functions}), etc. For these, use @code{intern} and "
|
|
"@code{funcall}, described in the next subsection, to call the corresponding "
|
|
"Lisp functions."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1904
|
|
msgid ""
|
|
"Normally, @code{emacs_value} objects have a rather short lifetime: it ends "
|
|
"when the @code{emacs_env} pointer used for their creation goes out of "
|
|
"scope. Occasionally, you may need to create @dfn{global references}: "
|
|
"@code{emacs_value} objects that live as long as you wish. Use the following "
|
|
"two functions to manage such objects."
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1905
|
|
#, no-wrap
|
|
msgid ""
|
|
"Function emacs_value make_global_ref (emacs_env *@var{env}, emacs_value "
|
|
"@var{value})"
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1907
|
|
msgid "This function returns a global reference for @var{value}."
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1909
|
|
#, no-wrap
|
|
msgid ""
|
|
"Function void free_global_ref (emacs_env *@var{env}, emacs_value "
|
|
"@var{global_value})"
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1914
|
|
msgid ""
|
|
"This function frees the @var{global_value} previously created by "
|
|
"@code{make_global_ref}. The @var{global_value} is no longer valid after the "
|
|
"call. Your module code should pair each call to @code{make_global_ref} with "
|
|
"the corresponding @code{free_global_ref}."
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1916
|
|
#, no-wrap
|
|
msgid "user pointer, using in module functions"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1927
|
|
msgid ""
|
|
"An alternative to keeping around C data structures that need to be passed to "
|
|
"module functions later is to create @dfn{user pointer} objects. A user "
|
|
"pointer, or @code{user-ptr}, object is a Lisp object that encapsulates a C "
|
|
"pointer and can have an associated finalizer function, which is called when "
|
|
"the object is garbage-collected (@pxref{Garbage Collection}). The module "
|
|
"@acronym{API} provides functions to create and access @code{user-ptr} "
|
|
"objects. These functions raise the @code{wrong-type-argument} error "
|
|
"condition if they are called on @code{emacs_value} that doesn't represent a "
|
|
"@code{user-ptr} object."
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1928
|
|
#, no-wrap
|
|
msgid ""
|
|
"Function emacs_value make_user_ptr (emacs_env *@var{env}, emacs_finalizer "
|
|
"@var{fin}, void *@var{ptr})"
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1933
|
|
msgid ""
|
|
"This function creates and returns a @code{user-ptr} object which wraps the C "
|
|
"pointer @var{ptr}. The finalizer function @var{fin} can be a @code{NULL} "
|
|
"pointer (meaning no finalizer), or it can be a function of the following "
|
|
"signature:"
|
|
msgstr ""
|
|
|
|
#. type: example
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1936
|
|
#, no-wrap
|
|
msgid "typedef void (*emacs_finalizer) (void *@var{ptr});\n"
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1943
|
|
msgid ""
|
|
"If @var{fin} is not a @code{NULL} pointer, it will be called with the "
|
|
"@var{ptr} as the argument when the @code{user-ptr} object is "
|
|
"garbage-collected. Don't run any expensive code in a finalizer, because GC "
|
|
"must finish quickly to keep Emacs responsive."
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1945
|
|
#, no-wrap
|
|
msgid "Function void *get_user_ptr (emacs_env *@var{env}, emacs_value @var{arg})"
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1948
|
|
msgid ""
|
|
"This function extracts the C pointer from the Lisp object represented by "
|
|
"@var{arg}."
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1950
|
|
#, no-wrap
|
|
msgid ""
|
|
"Function void set_user_ptr (emacs_env *@var{env}, emacs_value @var{arg}, "
|
|
"void *@var{ptr})"
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1953
|
|
msgid ""
|
|
"This function sets the C pointer embedded in the @code{user-ptr} object "
|
|
"represented by @var{arg} to @var{ptr}."
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1955
|
|
#, no-wrap
|
|
msgid ""
|
|
"Function emacs_finalizer get_user_finalizer (emacs_env *@var{env}, "
|
|
"emacs_value @var{arg})"
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1959
|
|
msgid ""
|
|
"This function returns the finalizer of the @code{user-ptr} object "
|
|
"represented by @var{arg}, or @code{NULL} if it doesn't have a finalizer."
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1961
|
|
#, no-wrap
|
|
msgid ""
|
|
"Function void set_user_finalizer (emacs_env *@var{env}, emacs_value "
|
|
"@var{arg}, emacs_finalizer @var{fin})"
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1966
|
|
msgid ""
|
|
"This function changes the finalizer of the @code{user-ptr} object "
|
|
"represented by @var{arg} to be @var{fin}. If @var{fin} is a @code{NULL} "
|
|
"pointer, the @code{user-ptr} object will have no finalizer."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1970
|
|
msgid ""
|
|
"Note that the @code{emacs_finalizer} type works for both user pointer an "
|
|
"module function finalizers. @xref{Module Function Finalizers}."
|
|
msgstr ""
|
|
|
|
#. type: node
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1971
|
|
#, no-wrap
|
|
msgid "Module Misc"
|
|
msgstr ""
|
|
|
|
#. type: subsection
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1972
|
|
#, no-wrap
|
|
msgid "Miscellaneous Convenience Functions for Modules"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1980
|
|
msgid ""
|
|
"This subsection describes a few convenience functions provided by the module "
|
|
"@acronym{API}. Like the functions described in previous subsections, all of "
|
|
"them are actually function pointers, and need to be called via the "
|
|
"@code{emacs_env} pointer. Description of functions that were introduced "
|
|
"after Emacs 25 calls out the first version where they became available."
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1981
|
|
#, no-wrap
|
|
msgid ""
|
|
"Function bool eq (emacs_env *@var{env}, emacs_value @var{a}, emacs_value "
|
|
"@var{b})"
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1987
|
|
msgid ""
|
|
"This function returns @code{true} if the Lisp objects represented by @var{a} "
|
|
"and @var{b} are identical, @code{false} otherwise. This is the same as the "
|
|
"Lisp function @code{eq} (@pxref{Equality Predicates}), but avoids the need "
|
|
"to intern the objects represented by the arguments."
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1991
|
|
msgid ""
|
|
"There are no @acronym{API} functions for other equality predicates, so you "
|
|
"will need to use @code{intern} and @code{funcall}, described below, to "
|
|
"perform more complex equality tests."
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1993
|
|
#, no-wrap
|
|
msgid "Function bool is_not_nil (emacs_env *@var{env}, emacs_value @var{arg})"
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:1996
|
|
msgid ""
|
|
"This function tests whether the Lisp object represented by @var{arg} is "
|
|
"non-@code{nil}; it returns @code{true} or @code{false} accordingly."
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2001
|
|
msgid ""
|
|
"Note that you could implement an equivalent test by using @code{intern} to "
|
|
"get an @code{emacs_value} representing @code{nil}, then use @code{eq}, "
|
|
"described above, to test for equality. But using this function is more "
|
|
"convenient."
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2003
|
|
#, no-wrap
|
|
msgid "Function emacs_value type_of (emacs_env *@var{env}, emacs_value @code{arg})"
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2009
|
|
msgid ""
|
|
"This function returns the type of @var{arg} as a value that represents a "
|
|
"symbol: @code{string} for a string, @code{integer} for an integer, "
|
|
"@code{process} for a process, etc. @xref{Type Predicates}. You can use "
|
|
"@code{intern} and @code{eq} to compare against known type symbols, if your "
|
|
"code needs to depend on the object type."
|
|
msgstr ""
|
|
|
|
#. type: anchor{#1}
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2012
|
|
msgid "intern"
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2012
|
|
#, no-wrap
|
|
msgid "Function emacs_value intern (emacs_env *@var{env}, const char *name)"
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2016
|
|
msgid ""
|
|
"This function returns an interned Emacs symbol whose name is @var{name}, "
|
|
"which should be an @acronym{ASCII} null-terminated string. It creates a new "
|
|
"symbol if one does not already exist."
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2023
|
|
msgid ""
|
|
"Together with @code{funcall}, described below, this function provides a "
|
|
"means for invoking any Lisp-callable Emacs function, provided that its name "
|
|
"is a pure @acronym{ASCII} string. For example, here's how to intern a "
|
|
"symbol whose name @code{name_str} is non-@acronym{ASCII}, by calling the "
|
|
"more powerful Emacs @code{intern} function (@pxref{Creating Symbols}):"
|
|
msgstr ""
|
|
|
|
#. type: example
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2029
|
|
#, no-wrap
|
|
msgid ""
|
|
"emacs_value fintern = env->intern (env, \"intern\");\n"
|
|
"emacs_value sym_name =\n"
|
|
" env->make_string (env, name_str, strlen (name_str));\n"
|
|
"emacs_value symbol = env->funcall (env, fintern, 1, &sym_name);\n"
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2033
|
|
#, no-wrap
|
|
msgid ""
|
|
"Function emacs_value funcall (emacs_env *@var{env}, emacs_value @var{func}, "
|
|
"ptrdiff_t @var{nargs}, emacs_value *@var{args})"
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2040
|
|
msgid ""
|
|
"This function calls the specified @var{func} passing it @var{nargs} "
|
|
"arguments from the array pointed to by @var{args}. The argument @var{func} "
|
|
"can be a function symbol (e.g., returned by @code{intern} described above), "
|
|
"a module function returned by @code{make_function} (@pxref{Module "
|
|
"Functions}), a subroutine written in C, etc. If @var{nargs} is zero, "
|
|
"@var{args} can be a @code{NULL} pointer."
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2042
|
|
msgid "The function returns the value that @var{func} returned."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2049
|
|
msgid ""
|
|
"If your module includes potentially long-running code, it is a good idea to "
|
|
"check from time to time in that code whether the user wants to quit, e.g., "
|
|
"by typing @kbd{C-g} (@pxref{Quitting}). The following function, which is "
|
|
"available since Emacs 26.1, is provided for that purpose."
|
|
msgstr ""
|
|
|
|
#. type: anchor{#1}
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2051
|
|
msgid "should_quit"
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2051
|
|
#, no-wrap
|
|
msgid "Function bool should_quit (emacs_env *@var{env})"
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2056
|
|
msgid ""
|
|
"This function returns @code{true} if the user wants to quit. In that case, "
|
|
"we recommend that your module function aborts any on-going processing and "
|
|
"returns as soon as possible. In most cases, use @code{process_input} "
|
|
"instead."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2061
|
|
msgid ""
|
|
"To process input events in addition to checking whether the user wants to "
|
|
"quit, use the following function, which is available since Emacs 27.1."
|
|
msgstr ""
|
|
|
|
#. type: anchor{#1}
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2063
|
|
msgid "process_input"
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2063
|
|
#, no-wrap
|
|
msgid ""
|
|
"Function enum emacs_process_input_result process_input (emacs_env "
|
|
"*@var{env})"
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2075
|
|
msgid ""
|
|
"This function processes pending input events. It returns "
|
|
"@code{emacs_process_input_quit} if the user wants to quit or an error "
|
|
"occurred while processing signals. In that case, we recommend that your "
|
|
"module function aborts any on-going processing and returns as soon as "
|
|
"possible. If the module code may continue running, @code{process_input} "
|
|
"returns @code{emacs_process_input_continue}. The return value is "
|
|
"@code{emacs_process_input_continue} if and only if there is no pending "
|
|
"nonlocal exit in @code{env}. If the module continues after calling "
|
|
"@code{process_input}, global state such as variable values and buffer "
|
|
"content may have been modified in arbitrary ways."
|
|
msgstr ""
|
|
|
|
#. type: anchor{#1}
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2078
|
|
msgid "open_channel"
|
|
msgstr ""
|
|
|
|
#. type: deftypefun
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2078
|
|
#, no-wrap
|
|
msgid "int open_channel (emacs_env *@var{env}, emacs_value @var{pipe_process})"
|
|
msgstr ""
|
|
|
|
#. type: deftypefun
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2089
|
|
msgid ""
|
|
"This function, which is available since Emacs 28, opens a channel to an "
|
|
"existing pipe process. @var{pipe_process} must refer to an existing pipe "
|
|
"process created by @code{make-pipe-process}. @ref{Pipe Processes}. If "
|
|
"successful, the return value will be a new file descriptor that you can use "
|
|
"to write to the pipe. Unlike all other module functions, you can use the "
|
|
"returned file descriptor from arbitrary threads, even if no module "
|
|
"environment is active. You can use the @code{write} function to write to "
|
|
"the file descriptor. Once done, close the file descriptor using "
|
|
"@code{close}. @ref{Low-Level I/O,,,libc}."
|
|
msgstr ""
|
|
|
|
#. type: subsection
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2092
|
|
#, no-wrap
|
|
msgid "Nonlocal Exits in Modules"
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2093
|
|
#, no-wrap
|
|
msgid "nonlocal exits, in modules"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2107
|
|
msgid ""
|
|
"Emacs Lisp supports nonlocal exits, whereby program control is transferred "
|
|
"from one point in a program to another remote point. @xref{Nonlocal "
|
|
"Exits}. Thus, Lisp functions called by your module might exit nonlocally by "
|
|
"calling @code{signal} or @code{throw}, and your module functions must handle "
|
|
"such nonlocal exits properly. Such handling is needed because C programs "
|
|
"will not automatically release resources and perform other cleanups in these "
|
|
"cases; your module code must itself do it. The module @acronym{API} "
|
|
"provides facilities for that, described in this subsection. They are "
|
|
"generally available since Emacs 25; those of them that became available in "
|
|
"later releases explicitly call out the first Emacs version where they became "
|
|
"part of the @acronym{API}."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2118
|
|
msgid ""
|
|
"When some Lisp code called by a module function signals an error or throws, "
|
|
"the nonlocal exit is trapped, and the pending exit and its associated data "
|
|
"are stored in the environment. Whenever a nonlocal exit is pending in the "
|
|
"environment, any module @acronym{API} function called with a pointer to that "
|
|
"environment will return immediately without any processing (the functions "
|
|
"@code{non_local_exit_check}, @code{non_local_exit_get}, and "
|
|
"@code{non_local_exit_clear} are exceptions from this rule). If your module "
|
|
"function then does nothing and returns to Emacs, a pending nonlocal exit "
|
|
"will cause Emacs to act on it: signal an error or throw to the corresponding "
|
|
"@code{catch}."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2122
|
|
msgid ""
|
|
"So the simplest ``handling'' of nonlocal exits in module functions is to do "
|
|
"nothing special and let the rest of your code to run as if nothing "
|
|
"happened. However, this can cause two classes of problems:"
|
|
msgstr ""
|
|
|
|
#. type: itemize
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2128
|
|
msgid ""
|
|
"Your module function might use uninitialized or undefined values, since "
|
|
"@acronym{API} functions return immediately without producing the expected "
|
|
"results."
|
|
msgstr ""
|
|
|
|
#. type: itemize
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2132
|
|
msgid ""
|
|
"Your module might leak resources, because it might not have the opportunity "
|
|
"to release them."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2137
|
|
msgid ""
|
|
"Therefore, we recommend that your module functions check for nonlocal exit "
|
|
"conditions and recover from them, using the functions described below."
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2138
|
|
#, no-wrap
|
|
msgid "Function enum emacs_funcall_exit non_local_exit_check (emacs_env *@var{env})"
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2141
|
|
msgid ""
|
|
"This function returns the kind of nonlocal exit condition stored in "
|
|
"@var{env}. The possible values are:"
|
|
msgstr ""
|
|
|
|
#. type: vindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2142
|
|
#, no-wrap
|
|
msgid "emacs_funcall_exit@r{, enumeration}"
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2144
|
|
msgid "@vtable @code"
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2144
|
|
#, no-wrap
|
|
msgid "emacs_funcall_exit_return"
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2146
|
|
msgid "The last @acronym{API} function exited normally."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2146
|
|
#, no-wrap
|
|
msgid "emacs_funcall_exit_signal"
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2148
|
|
msgid "The last @acronym{API} function signaled an error."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2148
|
|
#, no-wrap
|
|
msgid "emacs_funcall_exit_throw"
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2150
|
|
msgid "The last @acronym{API} function exited via @code{throw}."
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2153
|
|
#, no-wrap
|
|
msgid ""
|
|
"Function enum emacs_funcall_exit non_local_exit_get (emacs_env *@var{env}, "
|
|
"emacs_value *@var{symbol}, emacs_value *@var{data})"
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2165
|
|
msgid ""
|
|
"This function returns the kind of nonlocal exit condition stored in "
|
|
"@var{env}, like @code{non_local_exit_check} does, but it also returns the "
|
|
"full information about the nonlocal exit, if any. If the return value is "
|
|
"@code{emacs_funcall_exit_signal}, the function stores the error symbol in "
|
|
"@code{*@var{symbol}} and the error data in @code{*@var{data}} "
|
|
"(@pxref{Signaling Errors}). If the return value is "
|
|
"@code{emacs_funcall_exit_throw}, the function stores the @code{catch} tag "
|
|
"symbol in @code{*@var{symbol}} and the @code{throw} value in "
|
|
"@code{*@var{data}}. The function doesn't store anything in memory pointed "
|
|
"by these arguments when the return value is "
|
|
"@code{emacs_funcall_exit_return}."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2171
|
|
msgid ""
|
|
"You should check nonlocal exit conditions where it matters: before you "
|
|
"allocated some resource or after you allocated a resource that might need "
|
|
"freeing, or where a failure means further processing is impossible or "
|
|
"infeasible."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2176
|
|
msgid ""
|
|
"Once your module function detected that a nonlocal exit is pending, it can "
|
|
"either return to Emacs (after performing the necessary local cleanup), or it "
|
|
"can attempt to recover from the nonlocal exit. The following @acronym{API} "
|
|
"functions will help with these tasks."
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2177
|
|
#, no-wrap
|
|
msgid "Function void non_local_exit_clear (emacs_env *@var{env})"
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2185
|
|
msgid ""
|
|
"This function clears the pending nonlocal exit conditions and data from "
|
|
"@var{env}. After calling it, the module @acronym{API} functions will work "
|
|
"normally. Use this function if your module function can recover from "
|
|
"nonlocal exits of the Lisp functions it calls and continue, and also before "
|
|
"calling any of the following two functions (or any other @acronym{API} "
|
|
"functions, if you want them to perform their intended processing when a "
|
|
"nonlocal exit is pending)."
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2187
|
|
#, no-wrap
|
|
msgid ""
|
|
"Function void non_local_exit_throw (emacs_env *@var{env}, emacs_value "
|
|
"@var{tag}, emacs_value @var{value})"
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2193
|
|
msgid ""
|
|
"This function throws to the Lisp @code{catch} symbol represented by "
|
|
"@var{tag}, passing it @var{value} as the value to return. Your module "
|
|
"function should in general return soon after calling this function. One use "
|
|
"of this function is when you want to re-throw a non-local exit from one of "
|
|
"the called @acronym{API} or Lisp functions."
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2195
|
|
#, no-wrap
|
|
msgid ""
|
|
"Function void non_local_exit_signal (emacs_env *@var{env}, emacs_value "
|
|
"@var{symbol}, emacs_value @var{data})"
|
|
msgstr ""
|
|
|
|
#. type: deftypefn
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2201
|
|
msgid ""
|
|
"This function signals the error represented by the error symbol @var{symbol} "
|
|
"with the specified error data @var{data}. The module function should return "
|
|
"soon after calling this function. This function could be useful, e.g., for "
|
|
"signaling errors from module functions to Emacs."
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2206
|
|
#, no-wrap
|
|
msgid "object internals"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2216
|
|
msgid ""
|
|
"Emacs Lisp provides a rich set of the data types. Some of them, like cons "
|
|
"cells, integers and strings, are common to nearly all Lisp dialects. Some "
|
|
"others, like markers and buffers, are quite special and needed to provide "
|
|
"the basic support to write editor commands in Lisp. To implement such a "
|
|
"variety of object types and provide an efficient way to pass objects between "
|
|
"the subsystems of an interpreter, there is a set of C data structures and a "
|
|
"special type to represent the pointers to all of them, which is known as "
|
|
"@dfn{tagged pointer}."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2233
|
|
msgid ""
|
|
"In C, the tagged pointer is an object of type @code{Lisp_Object}. Any "
|
|
"initialized variable of such a type always holds the value of one of the "
|
|
"following basic data types: integer, symbol, string, cons cell, float, or "
|
|
"vectorlike object. Each of these data types has the corresponding tag "
|
|
"value. All tags are enumerated by @code{enum Lisp_Type} and placed into a "
|
|
"3-bit bitfield of the @code{Lisp_Object}. The rest of the bits is the value "
|
|
"itself. Integers are immediate, i.e., directly represented by those "
|
|
"@dfn{value bits}, and all other objects are represented by the C pointers to "
|
|
"a corresponding object allocated from the heap. Width of the "
|
|
"@code{Lisp_Object} is platform- and configuration-dependent: usually it's "
|
|
"equal to the width of an underlying platform pointer (i.e., 32-bit on a "
|
|
"32-bit machine and 64-bit on a 64-bit one), but also there is a special "
|
|
"configuration where @code{Lisp_Object} is 64-bit but all pointers are "
|
|
"32-bit. The latter trick was designed to overcome the limited range of "
|
|
"values for Lisp integers on a 32-bit system by using 64-bit @code{long long} "
|
|
"type for @code{Lisp_Object}."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2236
|
|
msgid ""
|
|
"The following C data structures are defined in @file{lisp.h} to represent "
|
|
"the basic data types beyond integers:"
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2238
|
|
#, no-wrap
|
|
msgid "struct Lisp_Cons"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2240
|
|
msgid "Cons cell, an object used to construct lists."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2241
|
|
#, no-wrap
|
|
msgid "struct Lisp_String"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2243
|
|
msgid "String, the basic object to represent a sequence of characters."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2244
|
|
#, no-wrap
|
|
msgid "struct Lisp_Vector"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2246
|
|
msgid "Array, a fixed-size set of Lisp objects which may be accessed by an index."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2247
|
|
#, no-wrap
|
|
msgid "struct Lisp_Symbol"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2249
|
|
msgid "Symbol, the unique-named entity commonly used as an identifier."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2250
|
|
#, no-wrap
|
|
msgid "struct Lisp_Float"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2252
|
|
msgid "Floating-point value."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2259
|
|
msgid ""
|
|
"These types are the first-class citizens of an internal type system. Since "
|
|
"the tag space is limited, all other types are the subtypes of "
|
|
"@code{Lisp_Vectorlike}. Vector subtypes are enumerated by @code{enum "
|
|
"pvec_type}, and nearly all complex objects like windows, buffers, frames, "
|
|
"and processes fall into this category."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2267
|
|
msgid ""
|
|
"Below there is a description of a few subtypes of @code{Lisp_Vectorlike}. "
|
|
"Buffer object represents the text to display and edit. Window is the part "
|
|
"of display structure which shows the buffer or is used as a container to "
|
|
"recursively place other windows on the same frame. (Do not confuse Emacs "
|
|
"Lisp window object with the window as an entity managed by the user "
|
|
"interface system like X; in Emacs terminology, the latter is called frame.) "
|
|
"Finally, process object is used to manage the subprocesses."
|
|
msgstr ""
|
|
|
|
#. type: subsection
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2272
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2274
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2275
|
|
#, no-wrap
|
|
msgid "Buffer Internals"
|
|
msgstr ""
|
|
|
|
#. type: menuentry
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2272
|
|
msgid "Components of a buffer structure."
|
|
msgstr ""
|
|
|
|
#. type: subsection
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2272
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2559
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2560
|
|
#, no-wrap
|
|
msgid "Window Internals"
|
|
msgstr ""
|
|
|
|
#. type: menuentry
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2272
|
|
msgid "Components of a window structure."
|
|
msgstr ""
|
|
|
|
#. type: subsection
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2272
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2823
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2824
|
|
#, no-wrap
|
|
msgid "Process Internals"
|
|
msgstr ""
|
|
|
|
#. type: menuentry
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2272
|
|
msgid "Components of a process structure."
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2276
|
|
#, no-wrap
|
|
msgid "internals, of buffer"
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2277
|
|
#, no-wrap
|
|
msgid "buffer internals"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2284
|
|
msgid ""
|
|
"Two structures (see @file{buffer.h}) are used to represent buffers in C@. "
|
|
"The @code{buffer_text} structure contains fields describing the text of a "
|
|
"buffer; the @code{buffer} structure holds other fields. In the case of "
|
|
"indirect buffers, two or more @code{buffer} structures reference the same "
|
|
"@code{buffer_text} structure."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2286
|
|
msgid "Here are some of the fields in @code{struct buffer_text}:"
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2288
|
|
#, no-wrap
|
|
msgid "beg"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2291
|
|
msgid ""
|
|
"The address of the buffer contents. The buffer contents is a linear C array "
|
|
"of @code{char}, with the gap somewhere in its midst."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2292
|
|
#, no-wrap
|
|
msgid "gpt"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2293
|
|
#, no-wrap
|
|
msgid "gpt_byte"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2296
|
|
msgid "The character and byte positions of the buffer gap. @xref{Buffer Gap}."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2297
|
|
#, no-wrap
|
|
msgid "z"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2298
|
|
#, no-wrap
|
|
msgid "z_byte"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2300
|
|
msgid "The character and byte positions of the end of the buffer text."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2301
|
|
#, no-wrap
|
|
msgid "gap_size"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2303
|
|
msgid "The size of buffer's gap. @xref{Buffer Gap}."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2304
|
|
#, no-wrap
|
|
msgid "modiff"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2305
|
|
#, no-wrap
|
|
msgid "save_modiff"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2306
|
|
#, no-wrap
|
|
msgid "chars_modiff"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2307
|
|
#, no-wrap
|
|
msgid "overlay_modiff"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2316
|
|
msgid ""
|
|
"These fields count the number of buffer-modification events performed in "
|
|
"this buffer. @code{modiff} is incremented after each buffer-modification "
|
|
"event, and is never otherwise changed; @code{save_modiff} contains the value "
|
|
"of @code{modiff} the last time the buffer was visited or saved; "
|
|
"@code{chars_modiff} counts only modifications to the characters in the "
|
|
"buffer, ignoring all other kinds of changes (such as text properties); and "
|
|
"@code{overlay_modiff} counts only modifications to the buffer's overlays."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2317
|
|
#, no-wrap
|
|
msgid "beg_unchanged"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2318
|
|
#, no-wrap
|
|
msgid "end_unchanged"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2321
|
|
msgid ""
|
|
"The number of characters at the start and end of the text that are known to "
|
|
"be unchanged since the last complete redisplay."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2322
|
|
#, no-wrap
|
|
msgid "unchanged_modified"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2323
|
|
#, no-wrap
|
|
msgid "overlay_unchanged_modified"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2329
|
|
msgid ""
|
|
"The values of @code{modiff} and @code{overlay_modiff}, respectively, after "
|
|
"the last complete redisplay. If their current values match @code{modiff} or "
|
|
"@code{overlay_modiff}, that means @code{beg_unchanged} and "
|
|
"@code{end_unchanged} contain no useful information."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2330
|
|
#, no-wrap
|
|
msgid "markers"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2334
|
|
msgid ""
|
|
"The markers that refer to this buffer. This is actually a single marker, "
|
|
"and successive elements in its marker @dfn{chain} (a linked list) are the "
|
|
"other markers referring to this buffer text."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2335
|
|
#, no-wrap
|
|
msgid "intervals"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2337
|
|
msgid "The interval tree which records the text properties of this buffer."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2340
|
|
msgid "Some of the fields of @code{struct buffer} are:"
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2342
|
|
#, no-wrap
|
|
msgid "header"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2345
|
|
msgid ""
|
|
"A header of type @code{union vectorlike_header} is common to all vectorlike "
|
|
"objects."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2346
|
|
#, no-wrap
|
|
msgid "own_text"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2349
|
|
msgid ""
|
|
"A @code{struct buffer_text} structure that ordinarily holds the buffer "
|
|
"contents. In indirect buffers, this field is not used."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2350
|
|
#, no-wrap
|
|
msgid "text"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2354
|
|
msgid ""
|
|
"A pointer to the @code{buffer_text} structure for this buffer. In an "
|
|
"ordinary buffer, this is the @code{own_text} field above. In an indirect "
|
|
"buffer, this is the @code{own_text} field of the base buffer."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2355
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2602
|
|
#, no-wrap
|
|
msgid "next"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2359
|
|
msgid ""
|
|
"A pointer to the next buffer, in the chain of all buffers, including killed "
|
|
"buffers. This chain is used only for allocation and garbage collection, in "
|
|
"order to collect killed buffers properly."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2360
|
|
#, no-wrap
|
|
msgid "pt"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2361
|
|
#, no-wrap
|
|
msgid "pt_byte"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2363
|
|
msgid "The character and byte positions of point in a buffer."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2364
|
|
#, no-wrap
|
|
msgid "begv"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2365
|
|
#, no-wrap
|
|
msgid "begv_byte"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2368
|
|
msgid ""
|
|
"The character and byte positions of the beginning of the accessible range of "
|
|
"text in the buffer."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2369
|
|
#, no-wrap
|
|
msgid "zv"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2370
|
|
#, no-wrap
|
|
msgid "zv_byte"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2373
|
|
msgid ""
|
|
"The character and byte positions of the end of the accessible range of text "
|
|
"in the buffer."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2374
|
|
#, no-wrap
|
|
msgid "base_buffer"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2377
|
|
msgid ""
|
|
"In an indirect buffer, this points to the base buffer. In an ordinary "
|
|
"buffer, it is null."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2378
|
|
#, no-wrap
|
|
msgid "local_flags"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2384
|
|
msgid ""
|
|
"This field contains flags indicating that certain variables are local in "
|
|
"this buffer. Such variables are declared in the C code using "
|
|
"@code{DEFVAR_PER_BUFFER}, and their buffer-local bindings are stored in "
|
|
"fields in the buffer structure itself. (Some of these fields are described "
|
|
"in this table.)"
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2385
|
|
#, no-wrap
|
|
msgid "modtime"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2390
|
|
msgid ""
|
|
"The modification time of the visited file. It is set when the file is "
|
|
"written or read. Before writing the buffer into a file, this field is "
|
|
"compared to the modification time of the file to see if the file has changed "
|
|
"on disk. @xref{Buffer Modification}."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2391
|
|
#, no-wrap
|
|
msgid "auto_save_modified"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2393
|
|
msgid "The time when the buffer was last auto-saved."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2394
|
|
#, no-wrap
|
|
msgid "last_window_start"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2397
|
|
msgid ""
|
|
"The @code{window-start} position in the buffer as of the last time the "
|
|
"buffer was displayed in a window."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2398
|
|
#, no-wrap
|
|
msgid "clip_changed"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2401
|
|
msgid ""
|
|
"This flag indicates that narrowing has changed in the buffer. "
|
|
"@xref{Narrowing}."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2402
|
|
#, no-wrap
|
|
msgid "prevent_redisplay_optimizations_p"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2405
|
|
msgid ""
|
|
"This flag indicates that redisplay optimizations should not be used to "
|
|
"display this buffer."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2406
|
|
#, no-wrap
|
|
msgid "inhibit_buffer_hooks"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2414
|
|
msgid ""
|
|
"This flag indicates that the buffer should not run the hooks "
|
|
"@code{kill-buffer-hook}, @code{kill-buffer-query-functions} (@pxref{Killing "
|
|
"Buffers}), and @code{buffer-list-update-hook} (@pxref{Buffer List}). It is "
|
|
"set at buffer creation (@pxref{Creating Buffers}), and avoids slowing down "
|
|
"internal or temporary buffers, such as those created by "
|
|
"@code{with-temp-buffer} (@pxref{Definition of with-temp-buffer,, Current "
|
|
"Buffer})."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2415
|
|
#, no-wrap
|
|
msgid "overlay_center"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2418
|
|
msgid ""
|
|
"This field holds the current overlay center position. @xref{Managing "
|
|
"Overlays}."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2419
|
|
#, no-wrap
|
|
msgid "overlays_before"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2420
|
|
#, no-wrap
|
|
msgid "overlays_after"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2427
|
|
msgid ""
|
|
"These fields hold, respectively, a list of overlays that end at or before "
|
|
"the current overlay center, and a list of overlays that end after the "
|
|
"current overlay center. @xref{Managing Overlays}. @code{overlays_before} "
|
|
"is sorted in order of decreasing end position, and @code{overlays_after} is "
|
|
"sorted in order of increasing beginning position."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2428
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2832
|
|
#, no-wrap
|
|
msgid "name"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2434
|
|
msgid ""
|
|
"A Lisp string that names the buffer. It is guaranteed to be unique. "
|
|
"@xref{Buffer Names}. This and the following fields have their names in the "
|
|
"C struct definition end in a @code{_} to indicate that they should not be "
|
|
"accessed directly, but via the @code{BVAR} macro, like this:"
|
|
msgstr ""
|
|
|
|
#. type: example
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2437
|
|
#, no-wrap
|
|
msgid " Lisp_Object buf_name = BVAR (buffer, name);\n"
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2439
|
|
#, no-wrap
|
|
msgid "save_length"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2446
|
|
msgid ""
|
|
"The length of the file this buffer is visiting, when last read or saved. It "
|
|
"can have 2 special values: @minus{}1 means auto-saving was turned off in "
|
|
"this buffer, and @minus{}2 means don't turn off auto-saving if buffer text "
|
|
"shrinks a lot. This and other fields concerned with saving are not kept in "
|
|
"the @code{buffer_text} structure because indirect buffers are never saved."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2447
|
|
#, no-wrap
|
|
msgid "directory"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2450
|
|
msgid ""
|
|
"The directory for expanding relative file names. This is the value of the "
|
|
"buffer-local variable @code{default-directory} (@pxref{File Name "
|
|
"Expansion})."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2451
|
|
#, no-wrap
|
|
msgid "filename"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2455
|
|
msgid ""
|
|
"The name of the file visited in this buffer, or @code{nil}. This is the "
|
|
"value of the buffer-local variable @code{buffer-file-name} (@pxref{Buffer "
|
|
"File Name})."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2456
|
|
#, no-wrap
|
|
msgid "undo_list"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2457
|
|
#, no-wrap
|
|
msgid "backed_up"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2458
|
|
#, no-wrap
|
|
msgid "auto_save_file_name"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2459
|
|
#, no-wrap
|
|
msgid "auto_save_file_format"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2460
|
|
#, no-wrap
|
|
msgid "read_only"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2461
|
|
#, no-wrap
|
|
msgid "file_format"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2462
|
|
#, no-wrap
|
|
msgid "file_truename"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2463
|
|
#, no-wrap
|
|
msgid "invisibility_spec"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2464
|
|
#, no-wrap
|
|
msgid "display_count"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2465
|
|
#, no-wrap
|
|
msgid "display_time"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2471
|
|
msgid ""
|
|
"These fields store the values of Lisp variables that are automatically "
|
|
"buffer-local (@pxref{Buffer-Local Variables}), whose corresponding variable "
|
|
"names have the additional prefix @code{buffer-} and have underscores "
|
|
"replaced with dashes. For instance, @code{undo_list} stores the value of "
|
|
"@code{buffer-undo-list}."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2472
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2858
|
|
#, no-wrap
|
|
msgid "mark"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2475
|
|
msgid ""
|
|
"The mark for the buffer. The mark is a marker, hence it is also included on "
|
|
"the list @code{markers}. @xref{The Mark}."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2476
|
|
#, no-wrap
|
|
msgid "local_var_alist"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2481
|
|
msgid ""
|
|
"The association list describing the buffer-local variable bindings of this "
|
|
"buffer, not including the built-in buffer-local bindings that have special "
|
|
"slots in the buffer object. (Those slots are omitted from this table.) "
|
|
"@xref{Buffer-Local Variables}."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2482
|
|
#, no-wrap
|
|
msgid "major_mode"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2484
|
|
msgid "Symbol naming the major mode of this buffer, e.g., @code{lisp-mode}."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2485
|
|
#, no-wrap
|
|
msgid "mode_name"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2487
|
|
msgid "Pretty name of the major mode, e.g., @code{\"Lisp\"}."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2488
|
|
#, no-wrap
|
|
msgid "keymap"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2489
|
|
#, no-wrap
|
|
msgid "abbrev_table"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2490
|
|
#, no-wrap
|
|
msgid "syntax_table"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2491
|
|
#, no-wrap
|
|
msgid "category_table"
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2492
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2794
|
|
#, no-wrap
|
|
msgid "display_table"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2497
|
|
msgid ""
|
|
"These fields store the buffer's local keymap (@pxref{Keymaps}), abbrev table "
|
|
"(@pxref{Abbrev Tables}), syntax table (@pxref{Syntax Tables}), category "
|
|
"table (@pxref{Categories}), and display table (@pxref{Display Tables})."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2498
|
|
#, no-wrap
|
|
msgid "downcase_table"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2499
|
|
#, no-wrap
|
|
msgid "upcase_table"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2500
|
|
#, no-wrap
|
|
msgid "case_canon_table"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2504
|
|
msgid ""
|
|
"These fields store the conversion tables for converting text to lower case, "
|
|
"upper case, and for canonicalizing text for case-fold search. @xref{Case "
|
|
"Tables}."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2505
|
|
#, no-wrap
|
|
msgid "minor_modes"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2507
|
|
msgid "An alist of the minor modes of this buffer."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2508
|
|
#, no-wrap
|
|
msgid "pt_marker"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2509
|
|
#, no-wrap
|
|
msgid "begv_marker"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2510
|
|
#, no-wrap
|
|
msgid "zv_marker"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2515
|
|
msgid ""
|
|
"These fields are only used in an indirect buffer, or in a buffer that is the "
|
|
"base of an indirect buffer. Each holds a marker that records @code{pt}, "
|
|
"@code{begv}, and @code{zv} respectively, for this buffer when the buffer is "
|
|
"not current."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2516
|
|
#, no-wrap
|
|
msgid "mode_line_format"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2517
|
|
#, no-wrap
|
|
msgid "header_line_format"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2518
|
|
#, no-wrap
|
|
msgid "case_fold_search"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2519
|
|
#, no-wrap
|
|
msgid "tab_width"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2520
|
|
#, no-wrap
|
|
msgid "fill_column"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2521
|
|
#, no-wrap
|
|
msgid "left_margin"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2522
|
|
#, no-wrap
|
|
msgid "auto_fill_function"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2523
|
|
#, no-wrap
|
|
msgid "truncate_lines"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2524
|
|
#, no-wrap
|
|
msgid "word_wrap"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2525
|
|
#, no-wrap
|
|
msgid "ctl_arrow"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2526
|
|
#, no-wrap
|
|
msgid "bidi_display_reordering"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2527
|
|
#, no-wrap
|
|
msgid "bidi_paragraph_direction"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2528
|
|
#, no-wrap
|
|
msgid "selective_display"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2529
|
|
#, no-wrap
|
|
msgid "selective_display_ellipses"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2530
|
|
#, no-wrap
|
|
msgid "overwrite_mode"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2531
|
|
#, no-wrap
|
|
msgid "abbrev_mode"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2532
|
|
#, no-wrap
|
|
msgid "mark_active"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2533
|
|
#, no-wrap
|
|
msgid "enable_multibyte_characters"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2534
|
|
#, no-wrap
|
|
msgid "buffer_file_coding_system"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2535
|
|
#, no-wrap
|
|
msgid "cache_long_line_scans"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2536
|
|
#, no-wrap
|
|
msgid "point_before_scroll"
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2537
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2709
|
|
#, no-wrap
|
|
msgid "left_fringe_width"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2538
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2710
|
|
#, no-wrap
|
|
msgid "right_fringe_width"
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2539
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2714
|
|
#, no-wrap
|
|
msgid "fringes_outside_margins"
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2540
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2699
|
|
#, no-wrap
|
|
msgid "scroll_bar_width"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2541
|
|
#, no-wrap
|
|
msgid "indicate_empty_lines"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2542
|
|
#, no-wrap
|
|
msgid "indicate_buffer_boundaries"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2543
|
|
#, no-wrap
|
|
msgid "fringe_indicator_alist"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2544
|
|
#, no-wrap
|
|
msgid "fringe_cursor_alist"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2545
|
|
#, no-wrap
|
|
msgid "scroll_up_aggressively"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2546
|
|
#, no-wrap
|
|
msgid "scroll_down_aggressively"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2547
|
|
#, no-wrap
|
|
msgid "cursor_type"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2548
|
|
#, no-wrap
|
|
msgid "cursor_in_non_selected_windows"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2553
|
|
msgid ""
|
|
"These fields store the values of Lisp variables that are automatically "
|
|
"buffer-local (@pxref{Buffer-Local Variables}), whose corresponding variable "
|
|
"names have underscores replaced with dashes. For instance, "
|
|
"@code{mode_line_format} stores the value of @code{mode-line-format}."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2554
|
|
#, no-wrap
|
|
msgid "last_selected_window"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2557
|
|
msgid ""
|
|
"This is the last window that was selected with this buffer in it, or "
|
|
"@code{nil} if that window no longer displays this buffer."
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2561
|
|
#, no-wrap
|
|
msgid "internals, of window"
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2562
|
|
#, no-wrap
|
|
msgid "window internals"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2566
|
|
msgid ""
|
|
"The fields of a window (for a complete list, see the definition of "
|
|
"@code{struct window} in @file{window.h}) include:"
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2568
|
|
#, no-wrap
|
|
msgid "frame"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2570
|
|
msgid "The frame that this window is on, as a Lisp object."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2571
|
|
#, no-wrap
|
|
msgid "mini"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2574
|
|
msgid ""
|
|
"Non-zero if this window is a minibuffer window, a window showing the "
|
|
"minibuffer or the echo area."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2575
|
|
#, no-wrap
|
|
msgid "pseudo_window_p"
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2576
|
|
#, no-wrap
|
|
msgid "pseudo window"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2582
|
|
msgid ""
|
|
"Non-zero if this window is a @dfn{pseudo window}. A pseudo window is either "
|
|
"a window used to display the menu bar or the tool bar (when Emacs uses "
|
|
"toolkits that don't display their own menu bar and tool bar) or the tab bar "
|
|
"or a window showing a tooltip on a tooltip frame. Pseudo windows are in "
|
|
"general not accessible from Lisp code."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2583
|
|
#, no-wrap
|
|
msgid "parent"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2589
|
|
msgid ""
|
|
"Internally, Emacs arranges windows in a tree; each group of siblings has a "
|
|
"parent window whose area includes all the siblings. This field points to "
|
|
"the window's parent in that tree, as a Lisp object. For the root window of "
|
|
"the tree and a minibuffer window this is always @code{nil}."
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2594
|
|
msgid ""
|
|
"Parent windows do not display buffers, and play little role in display "
|
|
"except to shape their child windows. Emacs Lisp programs cannot directly "
|
|
"manipulate parent windows; they operate on the windows at the leaves of the "
|
|
"tree, which actually display buffers."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2595
|
|
#, no-wrap
|
|
msgid "contents"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2601
|
|
msgid ""
|
|
"For a leaf window and windows showing a tooltip, this is the buffer, as a "
|
|
"Lisp object, that the window is displaying. For an internal (``parent'') "
|
|
"window, this is its first child window. For a pseudo window showing a menu "
|
|
"or tool bar this is @code{nil}. It is also @code{nil} for a window that has "
|
|
"been deleted."
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2603
|
|
#, no-wrap
|
|
msgid "prev"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2611
|
|
msgid ""
|
|
"The next and previous sibling of this window as Lisp objects. @code{next} "
|
|
"is @code{nil} if the window is the right-most or bottom-most in its group; "
|
|
"@code{prev} is @code{nil} if it is the left-most or top-most in its group. "
|
|
"Whether the sibling is left/right or up/down is determined by the "
|
|
"@code{horizontal} field of the sibling's parent: if it's non-zero, the "
|
|
"siblings are arranged horizontally."
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2618
|
|
msgid ""
|
|
"As a special case, @code{next} of a frame's root window points to the "
|
|
"frame's minibuffer window, provided this is not a minibuffer-only or "
|
|
"minibuffer-less frame. On such frames @code{prev} of the minibuffer window "
|
|
"points to that frame's root window. In any other case, the root window's "
|
|
"@code{next} and the minibuffer window's (if present) @code{prev} fields are "
|
|
"@code{nil}."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2619
|
|
#, no-wrap
|
|
msgid "left_col"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2622
|
|
msgid ""
|
|
"The left-hand edge of the window, measured in columns, relative to the "
|
|
"leftmost column (column 0) of the window's native frame."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2623
|
|
#, no-wrap
|
|
msgid "top_line"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2626
|
|
msgid ""
|
|
"The top edge of the window, measured in lines, relative to the topmost line "
|
|
"(line 0) of the window's native frame."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2627
|
|
#, no-wrap
|
|
msgid "pixel_left"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2628
|
|
#, no-wrap
|
|
msgid "pixel_top"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2631
|
|
msgid ""
|
|
"The left-hand and top edges of this window, measured in pixels, relative to "
|
|
"the top-left corner (0, 0) of the window's native frame."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2632
|
|
#, no-wrap
|
|
msgid "total_cols"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2633
|
|
#, no-wrap
|
|
msgid "total_lines"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2638
|
|
msgid ""
|
|
"The total width and height of the window, measured in columns and lines "
|
|
"respectively. The values include scroll bars and fringes, dividers and/or "
|
|
"the separator line on the right of the window (if any)."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2639
|
|
#, no-wrap
|
|
msgid "pixel_width;"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2640
|
|
#, no-wrap
|
|
msgid "pixel_height;"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2642
|
|
msgid "The total width and height of the window measured in pixels."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2643
|
|
#, no-wrap
|
|
msgid "start"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2647
|
|
msgid ""
|
|
"A marker pointing to the position in the buffer that is the first character "
|
|
"(in the logical order, @pxref{Bidirectional Display}) displayed in the "
|
|
"window."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2648
|
|
#, no-wrap
|
|
msgid "pointm"
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2649
|
|
#, no-wrap
|
|
msgid "window point internals"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2652
|
|
msgid ""
|
|
"This is the value of point in the current buffer when this window is "
|
|
"selected; when it is not selected, it retains its previous value."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2653
|
|
#, no-wrap
|
|
msgid "old_pointm"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2655
|
|
msgid "The value of @code{pointm} at the last redisplay time."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2656
|
|
#, no-wrap
|
|
msgid "force_start"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2663
|
|
msgid ""
|
|
"If this flag is non-@code{nil}, it says that the window has been scrolled "
|
|
"explicitly by the Lisp program, and the value of the window's @code{start} "
|
|
"was set for redisplay to honor. This affects what the next redisplay does "
|
|
"if point is off the screen: instead of scrolling the window to show the text "
|
|
"around point, it moves point to a location that is on the screen."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2664
|
|
#, no-wrap
|
|
msgid "optional_new_start"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2667
|
|
msgid ""
|
|
"This is similar to @code{force_start}, but the next redisplay will only obey "
|
|
"it if point stays visible."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2668
|
|
#, no-wrap
|
|
msgid "start_at_line_beg"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2671
|
|
msgid ""
|
|
"Non-@code{nil} means current value of @code{start} was the beginning of a "
|
|
"line when it was chosen."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2672
|
|
#, no-wrap
|
|
msgid "use_time"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2675
|
|
msgid ""
|
|
"This is the last time that the window was selected. The function "
|
|
"@code{get-lru-window} uses this field."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2676
|
|
#, no-wrap
|
|
msgid "sequence_number"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2678
|
|
msgid "A unique number assigned to this window when it was created."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2679
|
|
#, no-wrap
|
|
msgid "last_modified"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2682
|
|
msgid ""
|
|
"The @code{modiff} field of the window's buffer, as of the last time a "
|
|
"redisplay completed in this window."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2683
|
|
#, no-wrap
|
|
msgid "last_overlay_modified"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2686
|
|
msgid ""
|
|
"The @code{overlay_modiff} field of the window's buffer, as of the last time "
|
|
"a redisplay completed in this window."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2687
|
|
#, no-wrap
|
|
msgid "last_point"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2690
|
|
msgid ""
|
|
"The buffer's value of point, as of the last time a redisplay completed in "
|
|
"this window."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2691
|
|
#, no-wrap
|
|
msgid "last_had_star"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2694
|
|
msgid ""
|
|
"A non-zero value means the window's buffer was modified when the window was "
|
|
"last updated."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2695
|
|
#, no-wrap
|
|
msgid "vertical_scroll_bar_type"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2696
|
|
#, no-wrap
|
|
msgid "horizontal_scroll_bar_type"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2698
|
|
msgid "The types of this window's vertical and horizontal scroll bars."
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2700
|
|
#, no-wrap
|
|
msgid "scroll_bar_height"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2703
|
|
msgid ""
|
|
"The width of this window's vertical scroll bar and the height of this "
|
|
"window's horizontal scroll bar, in pixels."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2704
|
|
#, no-wrap
|
|
msgid "left_margin_cols"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2705
|
|
#, no-wrap
|
|
msgid "right_margin_cols"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2708
|
|
msgid ""
|
|
"The widths of the left and right margins in this window. A value of zero "
|
|
"means no margin."
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2713
|
|
msgid ""
|
|
"The pixel widths of the left and right fringes in this window. A value of "
|
|
"@minus{}1 means use the values of the frame."
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2717
|
|
msgid ""
|
|
"A non-zero value means the fringes outside the display margins; othersize "
|
|
"they are between the margin and the text."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2718
|
|
#, no-wrap
|
|
msgid "window_end_pos"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2722
|
|
msgid ""
|
|
"This is computed as @code{z} minus the buffer position of the last glyph in "
|
|
"the current matrix of the window. The value is only valid if "
|
|
"@code{window_end_valid} is non-zero."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2723
|
|
#, no-wrap
|
|
msgid "window_end_bytepos"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2725
|
|
msgid "The byte position corresponding to @code{window_end_pos}."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2726
|
|
#, no-wrap
|
|
msgid "window_end_vpos"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2729
|
|
msgid ""
|
|
"The window-relative vertical position of the line containing "
|
|
"@code{window_end_pos}."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2730
|
|
#, no-wrap
|
|
msgid "window_end_valid"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2735
|
|
msgid ""
|
|
"This field is set to a non-zero value if @code{window_end_pos} and "
|
|
"@code{window_end_vpos} are truly valid. This is zero if nontrivial "
|
|
"redisplay is pre-empted, since in that case the display that "
|
|
"@code{window_end_pos} was computed for did not get onto the screen."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2736
|
|
#, no-wrap
|
|
msgid "cursor"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2738
|
|
msgid "A structure describing where the cursor is in this window."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2739
|
|
#, no-wrap
|
|
msgid "last_cursor_vpos"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2742
|
|
msgid ""
|
|
"The window-relative vertical position of the line showing the cursor as of "
|
|
"the last redisplay that finished."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2743
|
|
#, no-wrap
|
|
msgid "phys_cursor"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2745
|
|
msgid "A structure describing where the cursor of this window physically is."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2746
|
|
#, no-wrap
|
|
msgid "phys_cursor_type"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2749
|
|
#, no-wrap
|
|
msgid "phys_cursor_height"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2750
|
|
#, no-wrap
|
|
msgid "phys_cursor_width"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2753
|
|
msgid ""
|
|
"The type, height, and width of the cursor that was last displayed on this "
|
|
"window."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2754
|
|
#, no-wrap
|
|
msgid "phys_cursor_on_p"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2756
|
|
msgid "This field is non-zero if the cursor is physically on."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2757
|
|
#, no-wrap
|
|
msgid "cursor_off_p"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2760
|
|
msgid ""
|
|
"Non-zero means the cursor in this window is logically off. This is used for "
|
|
"blinking the cursor."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2761
|
|
#, no-wrap
|
|
msgid "last_cursor_off_p"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2764
|
|
msgid ""
|
|
"This field contains the value of @code{cursor_off_p} as of the time of the "
|
|
"last redisplay."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2765
|
|
#, no-wrap
|
|
msgid "must_be_updated_p"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2767
|
|
msgid "This is set to 1 during redisplay when this window must be updated."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2768
|
|
#, no-wrap
|
|
msgid "hscroll"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2773
|
|
msgid ""
|
|
"This is the number of columns that the display in the window is scrolled "
|
|
"horizontally to the left. Normally, this is 0. When only the current line "
|
|
"is hscrolled, this describes how much the current line is scrolled."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2774
|
|
#, no-wrap
|
|
msgid "min_hscroll"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2779
|
|
msgid ""
|
|
"Minimum value of @code{hscroll}, set by the user via "
|
|
"@code{set-window-hscroll} (@pxref{Horizontal Scrolling}). When only the "
|
|
"current line is hscrolled, this describes the horizontal scrolling of lines "
|
|
"other than the current one."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2780
|
|
#, no-wrap
|
|
msgid "vscroll"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2782
|
|
msgid "Vertical scroll amount, in pixels. Normally, this is 0."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2783
|
|
#, no-wrap
|
|
msgid "dedicated"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2785
|
|
msgid "Non-@code{nil} if this window is dedicated to its buffer."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2786
|
|
#, no-wrap
|
|
msgid "combination_limit"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2790
|
|
msgid ""
|
|
"This window's combination limit, meaningful only for a parent window. If "
|
|
"this is @code{t}, then it is not allowed to delete this window and recombine "
|
|
"its child windows with other siblings of this window."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2791
|
|
#, no-wrap
|
|
msgid "window_parameters"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2793
|
|
msgid "The alist of this window's parameters."
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2796
|
|
msgid "The window's display table, or @code{nil} if none is specified for it."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2797
|
|
#, no-wrap
|
|
msgid "update_mode_line"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2799
|
|
msgid "Non-zero means this window's mode line needs to be updated."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2800
|
|
#, no-wrap
|
|
msgid "mode_line_height"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2801
|
|
#, no-wrap
|
|
msgid "header_line_height"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2804
|
|
msgid ""
|
|
"The height in pixels of the mode line and the header line, or @minus{}1 if "
|
|
"not known."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2805
|
|
#, no-wrap
|
|
msgid "base_line_number"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2808
|
|
msgid ""
|
|
"The line number of a certain position in the buffer, or zero. This is used "
|
|
"for displaying the line number of point in the mode line."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2809
|
|
#, no-wrap
|
|
msgid "base_line_pos"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2813
|
|
msgid ""
|
|
"The position in the buffer for which the line number is known, or zero "
|
|
"meaning none is known. If it is @minus{}1, don't display the line number as "
|
|
"long as the window shows that buffer."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2814
|
|
#, no-wrap
|
|
msgid "column_number_displayed"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2817
|
|
msgid ""
|
|
"The column number currently displayed in this window's mode line, or "
|
|
"@minus{}1 if column numbers are not being displayed."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2818
|
|
#, no-wrap
|
|
msgid "current_matrix"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2819
|
|
#, no-wrap
|
|
msgid "desired_matrix"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2821
|
|
msgid "Glyph matrices describing the current and desired display of this window."
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2825
|
|
#, no-wrap
|
|
msgid "internals, of process"
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2826
|
|
#, no-wrap
|
|
msgid "process internals"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2830
|
|
msgid ""
|
|
"The fields of a process (for a complete list, see the definition of "
|
|
"@code{struct Lisp_Process} in @file{process.h}) include:"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2834
|
|
msgid "A Lisp string, the name of the process."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2835
|
|
#, no-wrap
|
|
msgid "command"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2839
|
|
msgid ""
|
|
"A list containing the command arguments that were used to start this "
|
|
"process. For a network or serial process, it is @code{nil} if the process "
|
|
"is running or @code{t} if the process is stopped."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2840
|
|
#, no-wrap
|
|
msgid "filter"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2842
|
|
msgid "A Lisp function used to accept output from the process."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2843
|
|
#, no-wrap
|
|
msgid "sentinel"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2845
|
|
msgid "A Lisp function called whenever the state of the process changes."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2846
|
|
#, no-wrap
|
|
msgid "buffer"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2848
|
|
msgid "The associated buffer of the process."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2849
|
|
#, no-wrap
|
|
msgid "pid"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2852
|
|
msgid ""
|
|
"An integer, the operating system's process @acronym{ID}. Pseudo-processes "
|
|
"such as network or serial connections use a value of 0."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2853
|
|
#, no-wrap
|
|
msgid "childp"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2857
|
|
msgid ""
|
|
"A flag, @code{t} if this is really a child process. For a network or serial "
|
|
"connection, it is a plist based on the arguments to "
|
|
"@code{make-network-process} or @code{make-serial-process}."
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2862
|
|
msgid ""
|
|
"A marker indicating the position of the end of the last output from this "
|
|
"process inserted into the buffer. This is often but not always the end of "
|
|
"the buffer."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2863
|
|
#, no-wrap
|
|
msgid "kill_without_query"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2866
|
|
msgid ""
|
|
"If this is non-zero, killing Emacs while this process is still running does "
|
|
"not ask for confirmation about killing the process."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2867
|
|
#, no-wrap
|
|
msgid "raw_status"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2869
|
|
msgid "The raw process status, as returned by the @code{wait} system call."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2870
|
|
#, no-wrap
|
|
msgid "status"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2873
|
|
msgid ""
|
|
"The process status, as @code{process-status} should return it. This is a "
|
|
"Lisp symbol, a cons cell, or a list."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2874
|
|
#, no-wrap
|
|
msgid "tick"
|
|
msgstr ""
|
|
|
|
#. type: itemx
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2875
|
|
#, no-wrap
|
|
msgid "update_tick"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2879
|
|
msgid ""
|
|
"If these two fields are not equal, a change in the status of the process "
|
|
"needs to be reported, either by running the sentinel or by inserting a "
|
|
"message in the process buffer."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2880
|
|
#, no-wrap
|
|
msgid "pty_flag"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2883
|
|
msgid ""
|
|
"Non-zero if communication with the subprocess uses a pty; zero if it uses a "
|
|
"pipe."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2884
|
|
#, no-wrap
|
|
msgid "infd"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2886
|
|
msgid "The file descriptor for input from the process."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2887
|
|
#, no-wrap
|
|
msgid "outfd"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2889
|
|
msgid "The file descriptor for output to the process."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2890
|
|
#, no-wrap
|
|
msgid "tty_name"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2893
|
|
msgid ""
|
|
"The name of the terminal that the subprocess is using, or @code{nil} if it "
|
|
"is using pipes."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2894
|
|
#, no-wrap
|
|
msgid "decode_coding_system"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2896
|
|
msgid "Coding-system for decoding the input from this process."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2897
|
|
#, no-wrap
|
|
msgid "decoding_buf"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2899
|
|
msgid "A working buffer for decoding."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2900
|
|
#, no-wrap
|
|
msgid "decoding_carryover"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2902
|
|
msgid "Size of carryover in decoding."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2903
|
|
#, no-wrap
|
|
msgid "encode_coding_system"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2905
|
|
msgid "Coding-system for encoding the output to this process."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2906
|
|
#, no-wrap
|
|
msgid "encoding_buf"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2908
|
|
msgid "A working buffer for encoding."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2909
|
|
#, no-wrap
|
|
msgid "inherit_coding_system_flag"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2912
|
|
msgid ""
|
|
"Flag to set @code{coding-system} of the process buffer from the coding "
|
|
"system used to decode process output."
|
|
msgstr ""
|
|
|
|
#. type: item
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2913
|
|
#, no-wrap
|
|
msgid "type"
|
|
msgstr ""
|
|
|
|
#. type: table
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2916
|
|
msgid ""
|
|
"Symbol indicating the type of process: @code{real}, @code{network}, "
|
|
"@code{serial}."
|
|
msgstr ""
|
|
|
|
#. type: cindex
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2921
|
|
#, no-wrap
|
|
msgid "integer types (C programming language)"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2926
|
|
msgid ""
|
|
"Here are some guidelines for use of integer types in the Emacs C source "
|
|
"code. These guidelines sometimes give competing advice; common sense is "
|
|
"advised."
|
|
msgstr ""
|
|
|
|
#. type: itemize
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2932
|
|
msgid ""
|
|
"Avoid arbitrary limits. For example, avoid @code{int len = strlen (s);} "
|
|
"unless the length of @code{s} is required for other reasons to fit in "
|
|
"@code{int} range."
|
|
msgstr ""
|
|
|
|
#. type: itemize
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2939
|
|
msgid ""
|
|
"Do not assume that signed integer arithmetic wraps around on overflow. This "
|
|
"is no longer true of Emacs porting targets: signed integer overflow has "
|
|
"undefined behavior in practice, and can dump core or even cause earlier or "
|
|
"later code to behave illogically. Unsigned overflow does wrap around "
|
|
"reliably, modulo a power of two."
|
|
msgstr ""
|
|
|
|
#. type: itemize
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2947
|
|
msgid ""
|
|
"Prefer signed types to unsigned, as code gets confusing when signed and "
|
|
"unsigned types are combined. Many other guidelines assume that types are "
|
|
"signed; in the rarer cases where unsigned types are needed, similar advice "
|
|
"may apply to the unsigned counterparts (e.g., @code{size_t} instead of "
|
|
"@code{ptrdiff_t}, or @code{uintptr_t} instead of @code{intptr_t})."
|
|
msgstr ""
|
|
|
|
#. type: itemize
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2952
|
|
msgid ""
|
|
"Prefer @code{int} for Emacs character codes, in the range 0 ..@: 0x3FFFFF@. "
|
|
"More generally, prefer @code{int} for integers known to be in @code{int} "
|
|
"range, e.g., screen column counts."
|
|
msgstr ""
|
|
|
|
#. type: itemize
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2961
|
|
msgid ""
|
|
"Prefer @code{ptrdiff_t} for sizes, i.e., for integers bounded by the maximum "
|
|
"size of any individual C object or by the maximum number of elements in any "
|
|
"C array. This is part of Emacs's general preference for signed types. "
|
|
"Using @code{ptrdiff_t} limits objects to @code{PTRDIFF_MAX} bytes, but "
|
|
"larger objects would cause trouble anyway since they would break pointer "
|
|
"subtraction, so this does not impose an arbitrary limit."
|
|
msgstr ""
|
|
|
|
#. type: itemize
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2972
|
|
msgid ""
|
|
"Avoid @code{ssize_t} except when communicating to low-level APIs that have "
|
|
"@code{ssize_t}-related limitations. Although it's equivalent to "
|
|
"@code{ptrdiff_t} on typical platforms, @code{ssize_t} is occasionally "
|
|
"narrower, so using it for size-related calculations could overflow. Also, "
|
|
"@code{ptrdiff_t} is more ubiquitous and better-standardized, has standard "
|
|
"@code{printf} formats, and is the basis for Emacs's internal size-overflow "
|
|
"checking. When using @code{ssize_t}, please note that POSIX requires "
|
|
"support only for values in the range @minus{}1 ..@: @code{SSIZE_MAX}."
|
|
msgstr ""
|
|
|
|
#. type: itemize
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2982
|
|
msgid ""
|
|
"Normally, prefer @code{intptr_t} for internal representations of pointers, "
|
|
"or for integers bounded only by the number of objects that can exist at any "
|
|
"given time or by the total number of bytes that can be allocated. However, "
|
|
"prefer @code{uintptr_t} to represent pointer arithmetic that could cross "
|
|
"page boundaries. For example, on a machine with a 32-bit address space an "
|
|
"array could cross the 0x7fffffff/0x80000000 boundary, which would cause an "
|
|
"integer overflow when adding 1 to @code{(intptr_t) 0x7fffffff}."
|
|
msgstr ""
|
|
|
|
#. type: itemize
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2987
|
|
msgid ""
|
|
"Prefer the Emacs-defined type @code{EMACS_INT} for representing values "
|
|
"converted to or from Emacs Lisp fixnums, as fixnum arithmetic is based on "
|
|
"@code{EMACS_INT}."
|
|
msgstr ""
|
|
|
|
#. type: itemize
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:2994
|
|
msgid ""
|
|
"When representing a system value (such as a file size or a count of seconds "
|
|
"since the Epoch), prefer the corresponding system type (e.g., @code{off_t}, "
|
|
"@code{time_t}). Do not assume that a system type is signed, unless this "
|
|
"assumption is known to be safe. For example, although @code{off_t} is "
|
|
"always signed, @code{time_t} need not be."
|
|
msgstr ""
|
|
|
|
#. type: itemize
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:3000
|
|
msgid ""
|
|
"Prefer @code{intmax_t} for representing values that might be any signed "
|
|
"integer value. A @code{printf}-family function can print such a value via a "
|
|
"format like @code{\"%\"PRIdMAX}."
|
|
msgstr ""
|
|
|
|
#. type: itemize
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:3011
|
|
msgid ""
|
|
"Prefer @code{bool}, @code{false} and @code{true} for booleans. Using "
|
|
"@code{bool} can make programs easier to read and a bit faster than using "
|
|
"@code{int}. Although it is also OK to use @code{int}, @code{0} and "
|
|
"@code{1}, this older style is gradually being phased out. When using "
|
|
"@code{bool}, respect the limitations of the replacement implementation of "
|
|
"@code{bool}, as documented in the source file @file{lib/stdbool.in.h}. In "
|
|
"particular, boolean bitfields should be of type @code{bool_bf}, not "
|
|
"@code{bool}, so that they work correctly even when compiling Objective C "
|
|
"with standard GCC."
|
|
msgstr ""
|
|
|
|
#. type: itemize
|
|
#: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs -
|
|
#: Sources/doc/lispref/internals.texi:3017
|
|
msgid ""
|
|
"In bitfields, prefer @code{unsigned int} or @code{signed int} to @code{int}, "
|
|
"as @code{int} is less portable: it might be signed, and might not be. "
|
|
"Single-bit bit fields should be @code{unsigned int} or @code{bool_bf} so "
|
|
"that their values are 0 or 1."
|
|
msgstr ""
|