aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGerd Moellmann1999-10-25 11:06:44 +0000
committerGerd Moellmann1999-10-25 11:06:44 +0000
commit95260b26882cb3d52c1fb572ebc720ae676776b7 (patch)
tree2174ef75fd289d6459c587f74bc9e40527c1cac8
parent7539e11fca07e5837010aaae18eaaefc7e51cf52 (diff)
downloademacs-95260b26882cb3d52c1fb572ebc720ae676776b7.tar.gz
emacs-95260b26882cb3d52c1fb572ebc720ae676776b7.zip
Patches from rms.
-rw-r--r--lispref/internals.texi574
1 files changed, 489 insertions, 85 deletions
diff --git a/lispref/internals.texi b/lispref/internals.texi
index 0df7f9ec509..3409c4503b8 100644
--- a/lispref/internals.texi
+++ b/lispref/internals.texi
@@ -64,13 +64,19 @@ Emacs once a day at most---or once a week if you never log out---the
64extra time is not too severe a problem. 64extra time is not too severe a problem.
65 65
66@cindex @file{site-load.el} 66@cindex @file{site-load.el}
67
67 You can specify additional files to preload by writing a library named 68 You can specify additional files to preload by writing a library named
68@file{site-load.el} that loads them. You may need to increase the value 69@file{site-load.el} that loads them. You may need to add a definition
69of @code{PURESIZE}, in @file{src/puresize.h}, to make room for the 70
70additional data. (Try adding increments of 20000 until it is big 71@example
71enough.) However, the advantage of preloading additional files 72#define SITELOAD_PURESIZE_EXTRA @var{n}
72decreases as machines get faster. On modern machines, it is usually not 73@end example
73advisable. 74
75@noindent
76to make @var{n} added bytes of pure space to hold the additional files.
77(Try adding increments of 20000 until it is big enough.) However, the
78advantage of preloading additional files decreases as machines get
79faster. On modern machines, it is usually not advisable.
74 80
75 After @file{loadup.el} reads @file{site-load.el}, it finds the 81 After @file{loadup.el} reads @file{site-load.el}, it finds the
76documentation strings for primitive and preloaded functions (and 82documentation strings for primitive and preloaded functions (and
@@ -209,6 +215,8 @@ to them, since there is no longer a way to reach them. Their space
209might as well be reused, since no one will miss them. The second 215might as well be reused, since no one will miss them. The second
210(``sweep'') phase of the garbage collector arranges to reuse them. 216(``sweep'') phase of the garbage collector arranges to reuse them.
211 217
218??? Maybe add something describing weak hash tables here?
219
212@cindex free list 220@cindex free list
213 The sweep phase puts unused cons cells onto a @dfn{free list} 221 The sweep phase puts unused cons cells onto a @dfn{free list}
214for future allocation; likewise for symbols and markers. It compacts 222for future allocation; likewise for symbols and markers. It compacts
@@ -433,7 +441,7 @@ If all args return nil, return nil.")
433@end group 441@end group
434 442
435@group 443@group
436 if (NULL (args)) 444 if (NILP (args))
437 return Qnil; 445 return Qnil;
438 446
439 args_left = args; 447 args_left = args;
@@ -444,11 +452,11 @@ If all args return nil, return nil.")
444 do 452 do
445 @{ 453 @{
446 val = Feval (Fcar (args_left)); 454 val = Feval (Fcar (args_left));
447 if (!NULL (val)) 455 if (!NILP (val))
448 break; 456 break;
449 args_left = Fcdr (args_left); 457 args_left = Fcdr (args_left);
450 @} 458 @}
451 while (!NULL (args_left)); 459 while (!NILP (args_left));
452@end group 460@end group
453 461
454@group 462@group
@@ -726,14 +734,128 @@ explicitly using a suitable predicate (@pxref{Type Predicates}).
726We describe them here, naming them by the names used in the C code. 734We describe them here, naming them by the names used in the C code.
727Many are accessible indirectly in Lisp programs via Lisp primitives. 735Many are accessible indirectly in Lisp programs via Lisp primitives.
728 736
737Two structures are used to represent buffers in C. The
738@code{buffer_text} structure contains fields describing the text of a
739buffer; the @code{buffer} structure holds other fields. In the case
740of indirect buffers, two or more @code{buffer} structures reference
741the same @code{buffer_text} structure.
742
743Here is a list of the @code{struct buffer_text} fields:
744
729@table @code 745@table @code
730@item name 746@item beg
731The buffer name is a string that names the buffer. It is guaranteed to 747This field contains the Actual address of the buffer contents.
732be unique. @xref{Buffer Names}. 748
749@item got
750This holds the character position of the gap in the buffer.
751
752@item z
753This field contains the character position of the end of the buffer
754text.
755
756@item gpt_byte
757Contains the byte position of the gap.
758
759@item z_byte
760Holds the byte position of the end of the buffer text.
761
762@item gap_size
763Contains the size of buffer's gap.
764
765@item modiff
766This field counts buffer-modification events for this buffer. It is
767incremented for each such event, and never otherwise changed.
768
769@item save_modiff
770Contains the previous value of @code{modiff}, as of the last time a
771buffer was visited or saved in a file.
772
773@item overlay_modiff
774Counts modifications to overlays analogous to @code{modiff}.
775
776@item beg_unchanged
777Holds the number of characters at the start of the text that are known
778to be unchanged since the last redisplay that finished.
779
780@item end_unchanged
781Holds the number of characters at the end of the text that are known to
782be unchanged since the last redisplay that finished.
783
784@item unchanged_modified
785Contains the value of @code{modiff} at the time of the last redisplay
786that finished. If this value matches @code{modiff},
787@code{beg_unchanged} and @code{end_unchanged} contain no useful
788information.
789
790@item overlay_unchanged_modified
791Contains the value of @code{overlay_modiff} at the time of the last
792redisplay that finished. If this value matches @code{overlay_modiff},
793@code{beg_unchanged} and @code{end_unchanged} contain no useful
794information.
795
796@item markers
797The markers that refer to this buffer. This is actually a single
798marker, and successive elements in its marker @code{chain} are the other
799markers referring to this buffer text.
733 800
734@item save_modified 801@item intervals
735This field contains the time when the buffer was last saved, as an integer. 802Contains the interval tree which records the text properties of this
736@xref{Buffer Modification}. 803buffer.
804@end table
805
806The fields of @code{struct buffer} are:
807
808@table @code
809@item next
810Points to the next buffer, in the chain of all buffers including killed
811buffers. This chain is used only for garbage collection, in order to
812collect killed buffers properly. Note that vectors, and most kinds of
813objects allocated as vectors, are all on one chain, but buffers are on a
814separate chain of their own.
815
816@item own_text
817This is a @code{struct buffer_text} structure. In an ordinary buffer,
818it holds the buffer contents. In indirect buffers, this field is not
819used.
820
821@item text
822This points to the @code{buffer_text} structure that is used for this
823buffer. In an ordinary buffer, this is the @code{own_text} field above.
824In an indirect buffer, this is the @code{own_text} field of the base
825buffer.
826
827@item pt
828Contains the character position of point in a buffer.
829
830@item pt_byte
831Contains the byte position of point in a buffer.
832
833@item begv
834This field contains the character position of the beginning of the
835accessible range of text in the buffer.
836
837@item begv_byte
838This field contains the byte position of the beginning of the
839accessible range of text in the buffer.
840
841@item zv
842This field contains the character position of the end of the
843accessible range of text in the buffer.
844
845@item zv_byte
846This field contains the byte position of the end of the
847accessible range of text in the buffer.
848
849@item base_buffer
850In an indirect buffer, this points to the base buffer. In an ordinary
851buffer, it is null.
852
853@item local_var_flags
854This field contains flags indicating that certain variables are local in
855this buffer. Such variables are declared in the C code using
856@code{DEFVAR_PER_BUFFER}, and their buffer-local bindings are stored in
857fields in the buffer structure itself. (Some of these fields are
858described in this table.)
737 859
738@item modtime 860@item modtime
739This field contains the modification time of the visited file. It is 861This field contains the modification time of the visited file. It is
@@ -744,16 +866,98 @@ if the file has changed on disk. @xref{Buffer Modification}.
744@item auto_save_modified 866@item auto_save_modified
745This field contains the time when the buffer was last auto-saved. 867This field contains the time when the buffer was last auto-saved.
746 868
869@item auto_save_failure_time
870The time at which we detected a failure to auto-save, or -1 if we didn't
871have a failure.
872
747@item last_window_start 873@item last_window_start
748This field contains the @code{window-start} position in the buffer as of 874This field contains the @code{window-start} position in the buffer as of
749the last time the buffer was displayed in a window. 875the last time the buffer was displayed in a window.
750 876
877@item clip_changed
878This flag is set when narrowing changes in a buffer.
879
880@item prevent_redisplay_optimizations_p
881A flag indicating the redisplay optiomizations should not be used
882to display this buffer.
883
751@item undo_list 884@item undo_list
752This field points to the buffer's undo list. @xref{Undo}. 885This field points to the buffer's undo list. @xref{Undo}.
753 886
754@item syntax_table_v 887@item name
888The buffer name is a string that names the buffer. It is guaranteed to
889be unique. @xref{Buffer Names}.
890
891@item filename
892The name of the file visited in this buffer, or @code{nil}.
893
894@item directory
895The directory for expanding relative file names.
896
897@item save_length
898Length of the file this buffer is visiting, when last read or saved.
899This and other fields concerned with saving are not kept in the
900@code{buffer_text} structure because indirect buffers are never saved.
901
902@item auto_save_file_name
903File name used for auto-saving this buffer. This is not in the
904@code{buffer_text} because it's not used in indirect buffers at all.
905
906@item read_only
907Non-@code{nil} means this buffer is read-only.
908
909@item mark
910This field contains the mark for the buffer. The mark is a marker,
911hence it is also included on the list @code{markers}. @xref{The Mark}.
912
913@item local_var_alist
914This field contains the association list describing the buffer-local
915variable bindings of this buffer, not including the built-in
916buffer-local bindings that have special slots in the buffer object.
917(Those slots are omitted from this table.) @xref{Buffer-Local
918Variables}.
919
920@item major_mode
921Symbol naming the major mode of this buffer, e.g., @code{lisp-mode}.
922
923@item mode_name
924Pretty name of major mode, e.g., @code{"Lisp"}.
925
926@item mode_line_format
927Mode line element that controls the format of the mode line. If this
928is @code{nil}, no mode line will be displayed.
929
930@item header_line_format
931This field is analoguous to @code{mode_line_format} for the mode
932line displayed at the top of windows.
933
934@item keymap
935This field holds the buffer's local keymap. @xref{Keymaps}.
936
937@item abbrev_table
938This buffer's local abbrevs.
939
940@item syntax_table
755This field contains the syntax table for the buffer. @xref{Syntax Tables}. 941This field contains the syntax table for the buffer. @xref{Syntax Tables}.
756 942
943@item category_table
944This field contains the category table for the buffer.
945
946@item case_fold_search
947The value of @code{case-fold-search} in this buffer.
948
949@item tab_width
950The value of @code{tab-width} in this buffer.
951
952@item fill_column
953The value of @code{fill-column} in this buffer.
954
955@item left_margin
956The value of @code{left-margin} in this buffer.
957
958@item auto_fill_function
959The value of @code{auto-fill-function} in this buffer.
960
757@item downcase_table 961@item downcase_table
758This field contains the conversion table for converting text to lower case. 962This field contains the conversion table for converting text to lower case.
759@xref{Case Tables}. 963@xref{Case Tables}.
@@ -770,43 +974,37 @@ case-folding search. @xref{Case Tables}.
770This field contains the equivalence table for case-folding search. 974This field contains the equivalence table for case-folding search.
771@xref{Case Tables}. 975@xref{Case Tables}.
772 976
773@item display_table 977@item truncate_lines
774This field contains the buffer's display table, or @code{nil} if it doesn't 978The value of @code{truncate-lines} in this buffer.
775have one. @xref{Display Tables}.
776 979
777@item markers 980@item ctl_arrow
778This field contains the chain of all markers that currently point into 981The value of @code{ctl-arrow} in this buffer.
779the buffer. Deletion of text in the buffer, and motion of the buffer's
780gap, must check each of these markers and perhaps update it.
781@xref{Markers}.
782 982
783@item backed_up 983@item selective_display
784This field is a flag that tells whether a backup file has been made 984The value of @code{selective-display} in this buffer.
785for the visited file of this buffer.
786 985
787@item mark 986@item selective_display_ellipsis
788This field contains the mark for the buffer. The mark is a marker, 987The value of @code{selective-display-ellipsis} in this buffer.
789hence it is also included on the list @code{markers}. @xref{The Mark}.
790 988
791@item mark_active 989@item minor_modes
792This field is non-@code{nil} if the buffer's mark is active. 990An alist of the minor modes of this buffer.
793 991
794@item local_var_alist 992@item overwrite_mode
795This field contains the association list describing the buffer-local 993The value of @code{overwrite_mode} in this buffer.
796variable bindings of this buffer, not including the built-in
797buffer-local bindings that have special slots in the buffer object.
798(Those slots are omitted from this table.) @xref{Buffer-Local
799Variables}.
800 994
801@item base_buffer 995@item abbrev_mode
802This field holds the buffer's base buffer (if it is an indirect buffer), 996The value of @code{abbrev-mode} in this buffer.
803or @code{nil}.
804 997
805@item keymap 998@item display_table
806This field holds the buffer's local keymap. @xref{Keymaps}. 999This field contains the buffer's display table, or @code{nil} if it doesn't
1000have one. @xref{Display Tables}.
807 1001
808@item overlay_center 1002@item save_modified
809This field holds the current overlay center position. @xref{Overlays}. 1003This field contains the time when the buffer was last saved, as an integer.
1004@xref{Buffer Modification}.
1005
1006@item mark_active
1007This field is non-@code{nil} if the buffer's mark is active.
810 1008
811@item overlays_before 1009@item overlays_before
812This field holds a list of the overlays in this buffer that end at or 1010This field holds a list of the overlays in this buffer that end at or
@@ -818,9 +1016,66 @@ This field holds a list of the overlays in this buffer that end after
818the current overlay center position. They are sorted in order of 1016the current overlay center position. They are sorted in order of
819increasing beginning position. 1017increasing beginning position.
820 1018
1019@item overlay_center
1020This field holds the current overlay center position. @xref{Overlays}.
1021
821@item enable_multibyte_characters 1022@item enable_multibyte_characters
822This field holds the buffer's local value of 1023This field holds the buffer's local value of
823@code{enable-multibyte-characters}---either @code{t} or @code{nil}. 1024@code{enable-multibyte-characters}---either @code{t} or @code{nil}.
1025
1026@item buffer_file_coding_system
1027The value of @code{buffer-file-coding-system} in this buffer.
1028
1029@item file_format
1030The value of @code{buffer-file-format} in this buffer.
1031
1032@item pt_marker
1033In an indirect buffer, or a buffer that is the base of an indirect
1034buffer, this holds a marker that records point for this buffer when the
1035buffer is not current.
1036
1037@item begv_marker
1038In an indirect buffer, or a buffer that is the base of an indirect
1039buffer, this holds a marker that records @code{begv} for this buffer
1040when the buffer is not current.
1041
1042@item zv_marker
1043In an indirect buffer, or a buffer that is the base of an indirect
1044buffer, this holds a marker that records @code{zv} for this buffer when
1045the buffer is not current.
1046
1047@item file_truename
1048The truename of the visited file, or @code{nil}.
1049
1050@item invisibility_spec
1051The value of @code{buffer-invisibility-spec} in this buffer.
1052
1053@item last_selected_window
1054This is the last window that was selected with this buffer in it, or @code{nil}
1055if that window no longer displays this buffer.
1056
1057@item display_count
1058This field is incremented each time the buffer is displayed in a window.
1059
1060@item left_margin_width
1061The value of @code{left-margin-width} in this buffer.
1062
1063@item right_margin_width
1064The value of @code{right-margin-width} in this buffer.
1065
1066@item indicate_empty_lines
1067Non-@code{nil} means indicate empty lines (lines with no text) with a
1068small bitmap in the fringe, when using a window system that can do it.
1069
1070@item display_time
1071This holds a time stamp that is updated each time this buffer is
1072displayed in a window.
1073
1074@item scroll_up_aggressively
1075The value of @code{scroll-up-aggressively} in this buffer.
1076
1077@item scroll_down_aggressively
1078The value of @code{scroll-down-aggressively} in this buffer.
824@end table 1079@end table
825 1080
826@node Window Internals 1081@node Window Internals
@@ -837,22 +1092,63 @@ The frame that this window is on.
837@item mini_p 1092@item mini_p
838Non-@code{nil} if this window is a minibuffer window. 1093Non-@code{nil} if this window is a minibuffer window.
839 1094
1095@item parent
1096Internally, Emacs arranges windows in a tree; each group of siblings has
1097a parent window whose area includes all the siblings. This field points
1098to a window's parent.
1099
1100Parent windows do not display buffers, and play little role in display
1101except to shape their child windows. Emacs Lisp programs usually have
1102no access to the parent windows; they operate on the windows at the
1103leaves of the tree, which actually display buffers.
1104
1105The following four fields also describe the window tree structure.
1106
1107@item hchild
1108In a window subdivided horizontally by child windows, the leftmost child.
1109Otherwise, @code{nil}.
1110
1111@item vchild
1112In a window subdivided vertically by child windows, the topmost child.
1113Otherwise, @code{nil}.
1114
1115@item next
1116The next sibling of this window. It is @code{nil} in a window that is
1117the rightmost or bottommost of a group of siblings.
1118
1119@item prev
1120The previous sibling of this window. It is @code{nil} in a window that
1121is the leftmost or topmost of a group of siblings.
1122
1123@item left
1124This is the left-hand edge of the window, measured in columns. (The
1125leftmost column on the screen is @w{column 0}.)
1126
1127@item top
1128This is the top edge of the window, measured in lines. (The top line on
1129the screen is @w{line 0}.)
1130
1131@item height
1132The height of the window, measured in lines.
1133
1134@item width
1135The width of the window, measured in columns. This width includes the
1136scroll bar and fringes, and/or the separator line on the right of the
1137window (if any).
1138
840@item buffer 1139@item buffer
841The buffer that the window is displaying. This may change often during 1140The buffer that the window is displaying. This may change often during
842the life of the window. 1141the life of the window.
843 1142
844@item dedicated 1143@item start
845Non-@code{nil} if this window is dedicated to its buffer. 1144The position in the buffer that is the first character to be displayed
1145in the window.
846 1146
847@item pointm 1147@item pointm
848@cindex window point internals 1148@cindex window point internals
849This is the value of point in the current buffer when this window is 1149This is the value of point in the current buffer when this window is
850selected; when it is not selected, it retains its previous value. 1150selected; when it is not selected, it retains its previous value.
851 1151
852@item start
853The position in the buffer that is the first character to be displayed
854in the window.
855
856@item force_start 1152@item force_start
857If this flag is non-@code{nil}, it says that the window has been 1153If this flag is non-@code{nil}, it says that the window has been
858scrolled explicitly by the Lisp program. This affects what the next 1154scrolled explicitly by the Lisp program. This affects what the next
@@ -860,57 +1156,133 @@ redisplay does if point is off the screen: instead of scrolling the
860window to show the text around point, it moves point to a location that 1156window to show the text around point, it moves point to a location that
861is on the screen. 1157is on the screen.
862 1158
1159@item optional_new_start
1160Set to a non-@code{nil} value when we have explicitly changed the value of
1161@code{start}, but don't want the next redisplay to be obliged to use the
1162new value.
1163
1164@item frozen_window_start_p
1165This field is set temporarily to 1 to indicate to redisplay that
1166@code{start} of this window should not be changed, even if point
1167gets invisible.
1168
1169@item start_at_line_beg
1170Non-@code{nil} means current value of @code{start} was the beginning of a line
1171when it was chosen.
1172
1173@item too_small_ok
1174Non-@code{nil} means don't delete this window for becoming ``too small''.
1175
1176@item height_fixed_p
1177This field is temporarily set to 1 to fix the height of the selected
1178window when the echo area is resized.
1179
1180@item use_time
1181This is the last time that the window was selected. The function
1182@code{get-lru-window} uses this field.
1183
1184@item sequence_number
1185A unique number assigned to this window when it was created.
1186
863@item last_modified 1187@item last_modified
864The @code{modified} field of the window's buffer, as of the last time 1188The @code{modiff} field of the window's buffer, as of the last time
865a redisplay completed in this window. 1189a redisplay completed in this window.
866 1190
1191@item last_overlay_modified
1192The @code{overlay_modiff} field of the window's buffer, as of the last
1193time a redisplay completed in this window.
1194
867@item last_point 1195@item last_point
868The buffer's value of point, as of the last time 1196The buffer's value of point, as of the last time a redisplay completed
869a redisplay completed in this window. 1197in this window.
870 1198
871@item left 1199@item last_had_star
872This is the left-hand edge of the window, measured in columns. (The 1200A non-@code{nil} value means the window's buffer was ``modified'' when the
873leftmost column on the screen is @w{column 0}.) 1201window was last updated.
874 1202
875@item top 1203@item vertical_scroll_bar
876This is the top edge of the window, measured in lines. (The top line on 1204This window's vertical scroll bar.
877the screen is @w{line 0}.)
878 1205
879@item height 1206@item left_margin_width
880The height of the window, measured in lines. 1207The width of the left margin in this window, or @code{nil} not to
1208specify it (in which case the buffer's value of @code{left-margin-width}
1209is used.
881 1210
882@item width 1211@item right_margin_width
883The width of the window, measured in columns. This width includes the 1212Likewise for the right margin.
884scroll bar and fringes, and/or the separator line on the right of the
885window (if any).
886 1213
887@item next 1214@begin ignore
888This is the window that is the next in the chain of siblings. It is 1215@item last_mark_x
889@code{nil} in a window that is the rightmost or bottommost of a group of 1216@item last_mark_y
890siblings. 1217???Not used.
1218@end ignore
891 1219
892@item prev 1220@item window_end_pos
893This is the window that is the previous in the chain of siblings. It is 1221This is computed as @code{z} minus the buffer position of the last glyph
894@code{nil} in a window that is the leftmost or topmost of a group of 1222in the current matrix of the window. The value is only valid if
895siblings. 1223@code{window_end_valid} is not @code{nil}.
896 1224
897@item parent 1225@item window_end_bytepos
898Internally, Emacs arranges windows in a tree; each group of siblings has 1226The byte position corresponding to @code{window_end_pos}.
899a parent window whose area includes all the siblings. This field points
900to a window's parent.
901 1227
902Parent windows do not display buffers, and play little role in display 1228@item window_end_vpos
903except to shape their child windows. Emacs Lisp programs usually have 1229The window-relative vertical position of the line containing
904no access to the parent windows; they operate on the windows at the 1230@code{window_end_pos}.
905leaves of the tree, which actually display buffers.
906 1231
1232@item window_end_valid
1233This field is set to a non-@code{nil} value if @code{window_end_pos} is truly
1234valid. This is @code{nil} if nontrivial redisplay is preempted since in that
1235case the display that @code{window_end_pos} was computed for did not get
1236onto the screen.
1237
1238@item redisplay_end_trigger
1239If redisplay in this window goes beyond this buffer position, it runs
1240run the @code{redisplay-end-trigger-hook}.
1241
1242@begin ignore
1243@item orig_height
1244@item orig_top
1245??? Are temporary storage areas.
1246@end ignore
1247
1248@item cursor
1249A structure describing where the cursor is in this window.
1250
1251@item last_cursor
1252The value of @code{cursor} as of the last redisplay that finished.
1253
1254@item phys_cursor
1255A structure describing where the cursor of this window physically is.
1256
1257@item phys_cursor_type
1258The type of cursor that was last displayed on this window.
1259
1260@item phys_cursor_on_p
1261This field is non-zero if the cursor is physically on.
1262
1263@item cursor_off_p
1264Non-zero means the cursor in this window is logically on.
1265
1266@item last_cursor_off_p
1267This field contains the value of @code{cursor_off_p} as of the time of
1268the last redisplay.
1269
1270@item must_be_updated_p
1271This is set to 1 during redisplay when this window must be updated.
1272
1273@item pseudo_window_p
1274A non-zero value of this field means this is a window that is not
1275part of the normal window tree.
1276
907@item hscroll 1277@item hscroll
908This is the number of columns that the display in the window is scrolled 1278This is the number of columns that the display in the window is scrolled
909horizontally to the left. Normally, this is 0. 1279horizontally to the left. Normally, this is 0.
910 1280
911@item use_time 1281@item vscroll
912This is the last time that the window was selected. The function 1282Vertical scroll amount, in pixels. Normally, this is 0.
913@code{get-lru-window} uses this field. 1283
1284@item dedicated
1285Non-@code{nil} if this window is dedicated to its buffer.
914 1286
915@item display_table 1287@item display_table
916The window's display table, or @code{nil} if none is specified for it. 1288The window's display table, or @code{nil} if none is specified for it.
@@ -930,6 +1302,16 @@ The position in the buffer for which the line number is known, or
930If the region (or part of it) is highlighted in this window, this field 1302If the region (or part of it) is highlighted in this window, this field
931holds the mark position that made one end of that region. Otherwise, 1303holds the mark position that made one end of that region. Otherwise,
932this field is @code{nil}. 1304this field is @code{nil}.
1305
1306@item column_number_displayed
1307The column number currently displayed in this window's mode line, or @code{nil}
1308if column numbers are not being displayed.
1309
1310@item current_matrix
1311A glyph matrix describing the current display of this window.
1312
1313@item desired_matrix
1314A glyph matrix describing the desired display of this window.
933@end table 1315@end table
934 1316
935@node Process Internals 1317@node Process Internals
@@ -1005,4 +1387,26 @@ some systems, there is no need to record this, so the value is
1005@item tty_name 1387@item tty_name
1006The name of the terminal that the subprocess is using, 1388The name of the terminal that the subprocess is using,
1007or @code{nil} if it is using pipes. 1389or @code{nil} if it is using pipes.
1390
1391@item decode_coding_system
1392Coding-system for decoding the input from this process.
1393
1394@item decoding_buf
1395A working buffer for decoding.
1396
1397@item decoding_carryover
1398Size of carryover in decoding.
1399
1400@item encode_coding_system
1401Coding-system for encoding the output to this process.
1402
1403@item encoding_buf
1404A working buffer for enecoding.
1405
1406@item encoding_carryover
1407Size of carryover in encoding.
1408
1409@item inherit_coding_system_flag
1410Flag to set @code{coding-system} of the process buffer from the
1411coding system used to decode process output.
1008@end table 1412@end table