/* Buffer manipulation primitives for GNU Emacs.
- Copyright (C) 1985, 86, 87, 88, 89, 93, 94, 95, 97, 98, 99,
- 2000, 01, 02, 03, 04, 2005 Free Software Foundation, Inc.
+ Copyright (C) 1985, 86, 87, 88, 89, 93, 94, 95, 97, 98, 99,
+ 2000, 01, 02, 03, 04, 2005 Free Software Foundation, Inc.
This file is part of GNU Emacs.
XMARKER (b->zv_marker)->insertion_type = 1;
}
else
- clone_per_buffer_values (b->base_buffer, b);
+ {
+ struct buffer *old_b = current_buffer;
+
+ clone_per_buffer_values (b->base_buffer, b);
+ b->filename = Qnil;
+ b->file_truename = Qnil;
+ b->display_count = make_number (0);
+ b->backed_up = Qnil;
+ b->auto_save_file_name = Qnil;
+ set_buffer_internal_1 (b);
+ Fset (intern ("buffer-save-without-query"), Qnil);
+ Fset (intern ("buffer-file-number"), Qnil);
+ Fset (intern ("buffer-stale-function"), Qnil);
+ set_buffer_internal_1 (old_b);
+ }
return buf;
}
}
/* Return an alist of the Lisp-level buffer-local bindings of
- buffer BUF. That is, do't include the variables maintained
+ buffer BUF. That is, don't include the variables maintained
in special slots in the buffer object. */
static Lisp_Object
buffer_defaults.direction_reversed = Qnil;
buffer_defaults.cursor_type = Qt;
buffer_defaults.extra_line_spacing = Qnil;
+ buffer_defaults.cursor_in_non_selected_windows = Qt;
#ifdef DOS_NT
buffer_defaults.buffer_file_type = Qnil; /* TEXT */
XSETFASTINT (buffer_local_flags.header_line_format, idx); ++idx;
XSETFASTINT (buffer_local_flags.cursor_type, idx); ++idx;
XSETFASTINT (buffer_local_flags.extra_line_spacing, idx); ++idx;
+ XSETFASTINT (buffer_local_flags.cursor_in_non_selected_windows, idx); ++idx;
/* Need more room? */
if (idx >= MAX_PER_BUFFER_VARS)
doc: /* Default value of `line-spacing' for buffers that don't override it.
This is the same as (default-value 'line-spacing). */);
+ DEFVAR_LISP_NOPRO ("default-cursor-in-non-selected-windows",
+ &buffer_defaults.cursor_in_non_selected_windows,
+ doc: /* Default value of `cursor-in-non-selected-windows'.
+This is the same as (default-value 'cursor-in-non-selected-windows). */);
+
DEFVAR_LISP_NOPRO ("default-abbrev-mode",
&buffer_defaults.abbrev_mode,
doc: /* Default value of `abbrev-mode' for buffers that do not override it.
If value is a floating point number, it specifies the spacing relative
to the default frame line height. */);
+ DEFVAR_PER_BUFFER ("cursor-in-non-selected-windows",
+ ¤t_buffer->cursor_in_non_selected_windows, Qnil,
+ doc: /* *Cursor type to display in non-selected windows.
+t means to use hollow box cursor. See `cursor-type' for other values. */);
+
DEFVAR_LISP ("kill-buffer-query-functions", &Vkill_buffer_query_functions,
doc: /* List of functions called with no args to query before killing a buffer. */);
Vkill_buffer_query_functions = Qnil;