/* Header file for the buffer manipulation primitives.
- Copyright (C) 1985, 1986, 1993, 1994 Free Software Foundation, Inc.
+ Copyright (C) 1985, 1986, 1993, 1994, 1995 Free Software Foundation, Inc.
This file is part of GNU Emacs.
the last time this buffer was displayed. */
int last_window_start;
+ /* Set nonzero whenever the narrowing is changed in this buffer. */
+ int clip_changed;
+
/* If the long line scan cache is enabled (i.e. the buffer-local
variable cache-long-line-scans is non-nil), newline_cache
points to the newline cache, and width_run_cache points to the
This value is meaningful only on certain operating systems. */
Lisp_Object buffer_file_type;
- /* String of length 256 mapping each char to its lower-case version. */
+ /* Case table for case-conversion in this buffer.
+ This char-table maps each char into its lower-case version. */
Lisp_Object downcase_table;
- /* String of length 256 mapping each char to its upper-case version. */
+ /* Char-table mapping each char to its upper-case version. */
Lisp_Object upcase_table;
- /* Translate table for case-folding search. */
+ /* Char-table for conversion for case-folding search. */
Lisp_Object case_canon_table;
- /* Inverse translate (equivalence class) table for case-folding search. */
+ /* Char-table of equivalences for case-folding search. */
Lisp_Object case_eqv_table;
/* Non-nil means do not display continuation lines. */
/* 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;
/* 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;
+
+ /* If redisplay goes beyond this point in the buffer,
+ run redisplay-end-trigger-hook. */
+ Lisp_Object redisplay_end_trigger;
+
+ /* 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. */
extern Lisp_Object Fbuffer_name ();
extern Lisp_Object Fget_file_buffer ();
extern Lisp_Object Fnext_overlay_change ();
+extern Lisp_Object Fdelete_overlay ();
/* Functions to call before and after each text change. */
extern Lisp_Object Vbefore_change_function;
extern Lisp_Object Vbefore_change_functions;
extern Lisp_Object Vafter_change_functions;
extern Lisp_Object Vfirst_change_hook;
+extern Lisp_Object Qbefore_change_functions;
+extern Lisp_Object Qafter_change_functions;
extern Lisp_Object Qfirst_change_hook;
extern Lisp_Object Vdeactivate_mark;