+ /* List of overlays that end at or before the current center,
+ in order of end-position. */
+ Lisp_Object overlays_before;
+
+ /* List of overlays that end after the current center,
+ in order of start-position. */
+ Lisp_Object overlays_after;
+
+ /* Position where the overlay lists are centered. */
+ Lisp_Object overlay_center;
+
+ /* Lisp of symbols naming the file format used for visited file. */
+ Lisp_Object file_format;
+
+ /* True if the newline position cache and width run cache are
+ enabled. See search.c and indent.c. */
+ Lisp_Object cache_long_line_scans;
+
+ /* If the width run cache is enabled, this table contains the
+ character widths width_run_cache (see above) assumes. When we
+ do a thorough redisplay, we compare this against the buffer's
+ current display table to see whether the display table has
+ affected the widths of any characters. If it has, we
+ invalidate the width run cache, and re-initialize width_table. */
+ Lisp_Object width_table;
+
+ /* In an indirect buffer, or a buffer that is the base of an
+ indirect buffer, this holds a marker that records
+ PT for this buffer when the buffer is not current. */
+ Lisp_Object pt_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. */
+ Lisp_Object begv_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. */
+ Lisp_Object zv_marker;
+
+ /* This holds the point value before the last scroll operation.
+ Explicitly setting point sets this to nil. */
+ Lisp_Object point_before_scroll;
+
+ /* Truename of the visited file, or nil. */
+ Lisp_Object file_truename;
+
+ /* Invisibility spec of this buffer.
+ t => any non-nil `invisible' property means invisible.
+ A list => `invisible' property means invisible
+ if it is memq in that list. */
+ Lisp_Object invisibility_spec;
+
+ /* These are so we don't have to recompile everything
+ the next few times we add a new slot. */
+ Lisp_Object extra1, extra2, extra3;
+ };
+\f
+/* This points to the current buffer. */