home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / gnu / lucid / lemacs-19.6 / src / bufslots.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-12-10  |  4.5 KB  |  130 lines

  1. /* Definitions of marked slots in buffers
  2.    Copyright (C) 1990, 1992 Free Software Foundation, Inc.
  3.  
  4. This file is part of GNU Emacs.
  5.  
  6. GNU Emacs is free software; you can redistribute it and/or modify
  7. it under the terms of the GNU General Public License as published by
  8. the Free Software Foundation; either version 2, or (at your option)
  9. any later version.
  10.  
  11. GNU Emacs is distributed in the hope that it will be useful,
  12. but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14. GNU General Public License for more details.
  15.  
  16. You should have received a copy of the GNU General Public License
  17. along with GNU Emacs; see the file COPYING.  If not, write to
  18. the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  19.  
  20. /* In the declaration of the buffer structure, this file is included
  21.    after defining MARKED_SLOT(x) to be Lisp_Object x; i.e. just a slot
  22.    definition.  In the garbage collector this file is included after
  23.    defining MARKED_SLOT(x) to be mark_object(&buffer->x). */
  24.  
  25.     /* Nuked: buffer number, assigned when buffer made MARKED_SLOT (number);*/
  26.  
  27.     /* the name of the file associated with this buffer */
  28.     MARKED_SLOT (filename);
  29.  
  30.     /* the truename of the filename (via the realpath() system call) */
  31.     MARKED_SLOT (truename);
  32.  
  33.     /* Dir for expanding relative pathnames */
  34.     MARKED_SLOT (directory);
  35.  
  36.     /* true iff this buffer has been been backed
  37.        up (if you write to its associated file
  38.        and it hasn't been backed up, then a
  39.        backup will be made) */
  40.     MARKED_SLOT (backed_up);
  41.  
  42.     /* Length of file when last read or saved. */
  43.     MARKED_SLOT (save_length);
  44.  
  45.     /* file name used for auto-saving this buffer */
  46.     MARKED_SLOT (auto_save_file_name);
  47.  
  48.     /* Non-nil if buffer read-only */
  49.     MARKED_SLOT (read_only);
  50.  
  51.     /* "The mark"; no longer allowed to be nil */
  52.     MARKED_SLOT (mark);
  53.  
  54.     /* Alist of elements (SYMBOL . VALUE-IN-THIS-BUFFER)
  55.        for all per-buffer variables of this buffer.  */
  56.     MARKED_SLOT (local_var_alist);
  57.  
  58.     /* Symbol naming major mode (eg lisp-mode) */
  59.     MARKED_SLOT (major_mode);
  60.  
  61.     /* Pretty name of major mode (eg "Lisp") */
  62.     MARKED_SLOT (mode_name);
  63.  
  64.     /* Format string for mode line */
  65.     MARKED_SLOT (mode_line_format);
  66.  
  67.     /* Keys that are bound local to this buffer */
  68.     MARKED_SLOT (keymap);
  69.  
  70.     /* This buffer's local abbrev table */
  71.     MARKED_SLOT (abbrev_table);
  72.     /* This buffer's syntax table. */
  73.     MARKED_SLOT (syntax_table);
  74.  
  75.     /* Values of several buffer-local variables.
  76.  
  77.        tab-width is buffer-local so that redisplay can find it
  78.        in buffers that are not current */
  79.     MARKED_SLOT (case_fold_search);
  80.     MARKED_SLOT (tab_width);
  81.     MARKED_SLOT (fill_column);
  82.     MARKED_SLOT (left_margin);
  83.  
  84.     /* Function to call when insert space past fill column */
  85.     MARKED_SLOT (auto_fill_function);
  86.  
  87.     /* String of length 256 mapping each char to its lower-case version.  */
  88.     MARKED_SLOT (downcase_table);
  89.     /* String of length 256 mapping each char to its upper-case version.  */
  90.     MARKED_SLOT (upcase_table);
  91.  
  92.     /* Non-nil means do not display continuation lines */
  93.     MARKED_SLOT (truncate_lines);
  94.     /* Non-nil means display ctl chars with uparrow */
  95.     MARKED_SLOT (ctl_arrow);
  96.     /* Non-nil means do selective display;
  97.        See doc string in syms_of_buffer (buffer.c) for details.  */
  98.     MARKED_SLOT (selective_display);
  99. #ifndef old
  100.     /* Non-nil means show ... at end of line followed by invisible lines.  */
  101.     MARKED_SLOT (selective_display_ellipses);
  102. #endif
  103.     /* Alist of (FUNCTION . STRING) for each minor mode enabled in buffer. */
  104.     MARKED_SLOT (minor_modes);
  105.     /* t if "self-insertion" should overwrite */
  106.     MARKED_SLOT (overwrite_mode);
  107.     /* non-nil means abbrev mode is on.  Expand abbrevs automatically. */
  108.     MARKED_SLOT (abbrev_mode);
  109.  
  110.     /* Display table to use for text in this buffer. */
  111.     MARKED_SLOT (display_table);
  112.     /* Translate table for case-folding search.  */
  113.     MARKED_SLOT (case_canon_table);
  114.     /* Inverse translate (equivalence class) table for case-folding search.  */
  115.     MARKED_SLOT (case_eqv_table);
  116.  
  117.     /* Changes in the buffer are recorded here for undo.
  118.        t means don't record anything.  */
  119.     MARKED_SLOT (undo_list);
  120.  
  121.     /* A redundant copy of text.pt, in the form of a marker.  Every time one
  122.        is updated, so is the other.
  123.      */
  124.     MARKED_SLOT (point_marker);
  125.  
  126.     /* If dedicated_screen is non-nil, display_buffer tries to use it instead
  127.        of the current screen */
  128.     MARKED_SLOT (dedicated_screen);
  129.  
  130.