[ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Top] | [Table des matières] | [Index] | [ ? ] |
Buffers contain fields not directly accessible by the Lisp programmer. We describe them here, naming them by the names used in the C code. Many are accessible indirectly in Lisp programs via Lisp primitives.
Two structures are used to represent buffers in C. The buffer_text
structure contains fields describing the text of a buffer; the buffer
structure holds other fields. In the case of indirect buffers, two or more
buffer
structures reference the same buffer_text
structure.
Here is a list of the struct buffer_text
fields:
beg
This field contains the actual address of the buffer contents.
gpt
This holds the character position of the gap in the buffer. Voir la section The Buffer Gap.
z
This field contains the character position of the end of the buffer text.
gpt_byte
Contains the byte position of the gap.
z_byte
Holds the byte position of the end of the buffer text.
gap_size
Contains the size of buffer's gap. Voir la section The Buffer Gap.
modiff
This field counts buffer-modification events for this buffer. It is incremented for each such event, and never otherwise changed.
save_modiff
Contains the previous value of modiff
, as of the last time a buffer
was visited or saved in a file.
overlay_modiff
Counts modifications to overlays analogous to modiff
.
beg_unchanged
Holds the number of characters at the start of the text that are known to be unchanged since the last redisplay that finished.
end_unchanged
Holds the number of characters at the end of the text that are known to be unchanged since the last redisplay that finished.
unchanged_modified
Contains the value of modiff
at the time of the last redisplay that
finished. If this value matches modiff
, beg_unchanged
and
end_unchanged
contain no useful information.
overlay_unchanged_modified
Contains the value of overlay_modiff
at the time of the last
redisplay that finished. If this value matches overlay_modiff
,
beg_unchanged
and end_unchanged
contain no useful information.
markers
The markers that refer to this buffer. This is actually a single marker,
and successive elements in its marker chain
are the other markers
referring to this buffer text.
intervals
Contains the interval tree which records the text properties of this buffer.
The fields of struct buffer
are:
next
Points to the next buffer, in the chain of all buffers including killed buffers. This chain is used only for garbage collection, in order to collect killed buffers properly. Note that vectors, and most kinds of objects allocated as vectors, are all on one chain, but buffers are on a separate chain of their own.
own_text
This is a struct buffer_text
structure. In an ordinary buffer, it
holds the buffer contents. In indirect buffers, this field is not used.
text
This points to the buffer_text
structure that is used for this
buffer. In an ordinary buffer, this is the own_text
field above. In
an indirect buffer, this is the own_text
field of the base buffer.
pt
Contains the character position of point in a buffer.
pt_byte
Contains the byte position of point in a buffer.
begv
This field contains the character position of the beginning of the accessible range of text in the buffer.
begv_byte
This field contains the byte position of the beginning of the accessible range of text in the buffer.
zv
This field contains the character position of the end of the accessible range of text in the buffer.
zv_byte
This field contains the byte position of the end of the accessible range of text in the buffer.
base_buffer
In an indirect buffer, this points to the base buffer. In an ordinary buffer, it is null.
local_var_flags
This field contains flags indicating that certain variables are local in
this buffer. Such variables are declared in the C code using
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.)
modtime
This field contains 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. Voir la section Buffer Modification.
auto_save_modified
This field contains the time when the buffer was last auto-saved.
auto_save_failure_time
The time at which we detected a failure to auto-save, or -1 if we didn't have a failure.
last_window_start
This field contains the window-start
position in the buffer as of the
last time the buffer was displayed in a window.
clip_changed
This flag is set when narrowing changes in a buffer.
prevent_redisplay_optimizations_p
this flag indicates that redisplay optimizations should not be used to display this buffer.
undo_list
This field points to the buffer's undo list. Voir la section Undo.
name
The buffer name is a string that names the buffer. It is guaranteed to be unique. Voir la section Buffer Names.
filename
The name of the file visited in this buffer, or nil
.
directory
The directory for expanding relative file names.
save_length
Length of the file this buffer is visiting, when last read or saved. This
and other fields concerned with saving are not kept in the
buffer_text
structure because indirect buffers are never saved.
auto_save_file_name
File name used for auto-saving this buffer. This is not in the
buffer_text
because it's not used in indirect buffers at all.
read_only
Non-nil
means this buffer is read-only.
mark
This field contains the mark for the buffer. The mark is a marker, hence it
is also included on the list markers
. Voir la section The Mark.
local_var_alist
This field contains 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.) Voir la section Buffer-Local Variables.
major_mode
Symbol naming the major mode of this buffer, e.g., lisp-mode
.
mode_name
Pretty name of major mode, e.g., "Lisp"
.
mode_line_format
Mode line element that controls the format of the mode line. If this is
nil
, no mode line will be displayed.
header_line_format
This field is analogous to mode_line_format
for the mode line
displayed at the top of windows.
keymap
This field holds the buffer's local keymap. Voir la section Keymaps.
abbrev_table
This buffer's local abbrevs.
syntax_table
This field contains the syntax table for the buffer. @xref{Syntax Tables}.
category_table
This field contains the category table for the buffer.
case_fold_search
The value of case-fold-search
in this buffer.
tab_width
The value of tab-width
in this buffer.
fill_column
The value of fill-column
in this buffer.
left_margin
The value of left-margin
in this buffer.
auto_fill_function
The value of auto-fill-function
in this buffer.
downcase_table
This field contains the conversion table for converting text to lower case. Voir la section The Case Table.
upcase_table
This field contains the conversion table for converting text to upper case. Voir la section The Case Table.
case_canon_table
This field contains the conversion table for canonicalizing text for case-folding search. Voir la section The Case Table.
case_eqv_table
This field contains the equivalence table for case-folding search. Voir la section The Case Table.
truncate_lines
The value of truncate-lines
in this buffer.
ctl_arrow
The value of ctl-arrow
in this buffer.
selective_display
The value of selective-display
in this buffer.
selective_display_ellipsis
The value of selective-display-ellipsis
in this buffer.
minor_modes
An alist of the minor modes of this buffer.
overwrite_mode
The value of overwrite_mode
in this buffer.
abbrev_mode
The value of abbrev-mode
in this buffer.
display_table
This field contains the buffer's display table, or nil
if it doesn't
have one. Voir la section Display Tables.
save_modified
This field contains the time when the buffer was last saved, as an integer. Voir la section Buffer Modification.
mark_active
This field is non-nil
if the buffer's mark is active.
overlays_before
This field holds a list of the overlays in this buffer that end at or before the current overlay center position. They are sorted in order of decreasing end position.
overlays_after
This field holds a list of the overlays in this buffer that end after the current overlay center position. They are sorted in order of increasing beginning position.
overlay_center
This field holds the current overlay center position. Voir la section Overlays.
enable_multibyte_characters
This field holds the buffer's local value of
enable-multibyte-characters
—either t
or nil
.
buffer_file_coding_system
The value of buffer-file-coding-system
in this buffer.
file_format
The value of buffer-file-format
in this buffer.
auto_save_file_format
The value of buffer-auto-save-file-format
in this buffer.
pt_marker
In an indirect buffer, or a buffer that is the base of an indirect buffer, this holds a marker that records point for this buffer when the buffer is not current.
begv_marker
In an indirect buffer, or a buffer that is the base of an indirect buffer,
this holds a marker that records begv
for this buffer when the buffer
is not current.
zv_marker
In an indirect buffer, or a buffer that is the base of an indirect buffer,
this holds a marker that records zv
for this buffer when the buffer
is not current.
file_truename
The truename of the visited file, or nil
.
invisibility_spec
The value of buffer-invisibility-spec
in this buffer.
last_selected_window
This is the last window that was selected with this buffer in it, or
nil
if that window no longer displays this buffer.
display_count
This field is incremented each time the buffer is displayed in a window.
left_margin_width
The value of left-margin-width
in this buffer.
right_margin_width
The value of right-margin-width
in this buffer.
indicate_empty_lines
Non-nil
means indicate empty lines (lines with no text) with a small
bitmap in the fringe, when using a window system that can do it.
display_time
This holds a time stamp that is updated each time this buffer is displayed in a window.
scroll_up_aggressively
The value of scroll-up-aggressively
in this buffer.
scroll_down_aggressively
The value of scroll-down-aggressively
in this buffer.
[ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Top] | [Table des matières] | [Index] | [ ? ] |
Ce document a été généré par Eric Reinbold le 13 Octobre 2007 en utilisant texi2html 1.78.