# HG changeset patch # User Richard M. Stallman # Date 794961389 0 # Node ID b53b84b6f46da0ce2d328190de52bf17d0fa2143 # Parent e55f4cc120b6f86ed221c0b65dbd3702cf6f365f (reset_buffer_local_variables): Init invisibility. (init_buffer_once): Set up buffer_local_flags for it. (syms_of_buffer): New variable `buffer-invisibility-spec'. diff -r e55f4cc120b6 -r b53b84b6f46d src/buffer.c --- a/src/buffer.c Sat Mar 11 22:35:30 1995 +0000 +++ b/src/buffer.c Sat Mar 11 22:36:29 1995 +0000 @@ -1,5 +1,5 @@ /* Buffer manipulation primitives for GNU Emacs. - Copyright (C) 1985, 1986, 1987, 1988, 1989, 1993, 1994 + Copyright (C) 1985, 1986, 1987, 1988, 1989, 1993, 1994, 1995 Free Software Foundation, Inc. This file is part of GNU Emacs. @@ -451,6 +451,8 @@ b->case_canon_table = Vascii_canon_table; b->case_eqv_table = Vascii_eqv_table; b->buffer_file_type = Qnil; + b->invisibility_spec = Qt; + #if 0 b->sort_table = XSTRING (Vascii_sort_table); b->folding_sort_table = XSTRING (Vascii_folding_sort_table); @@ -2726,6 +2728,7 @@ XSETINT (buffer_local_flags.mark_active, -1); XSETINT (buffer_local_flags.point_before_scroll, -1); XSETINT (buffer_local_flags.file_truename, -1); + XSETINT (buffer_local_flags.invisibility_spec, -1); XSETFASTINT (buffer_local_flags.mode_line_format, 1); XSETFASTINT (buffer_local_flags.abbrev_mode, 2); @@ -3246,6 +3249,17 @@ DEFVAR_PER_BUFFER ("point-before-scroll", ¤t_buffer->point_before_scroll, Qnil, "Value of point before the last series of scroll operations, or nil."); + DEFVAR_PER_BUFFER ("buffer-invisibility-spec", + ¤t_buffer->invisibility_spec, Qnil, + "Invisibility spec of this buffer.\n\ +The default is t, which means that text is invisible\n\ +if it has a non-nil `invisible' property.\n\ +If the value is a list, a text character is invisible if its `invisible'\n\ +property is an element in that list.\n\ +If an element is a cons cell of the for (PROP . ELLIPSIS),\n\ +then characters with property value PROP is invisible,\n\ +and they have an ellipsis as well if ELLIPSIS is non-nil."); + DEFVAR_LISP ("transient-mark-mode", &Vtransient_mark_mode, "*Non-nil means deactivate the mark when the buffer contents change."); Vtransient_mark_mode = Qnil;