comparison src/buffer.c @ 83019:82c3b4da43ca

Merged in changes from CVS HEAD Patches applied: * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-33 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-34 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-35 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-36 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-37 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-38 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-39 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-40 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-41 Make fringe-drawing stuff compile without a window-system * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-42 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-43 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-44 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-45 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-46 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-47 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-48 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-49 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-50 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-59
author Karoly Lorentey <lorentey@elte.hu>
date Thu, 22 Jan 2004 15:37:19 +0000
parents b2b37c85b00a 4f64423a6040
children c66ebcc29777
comparison
equal deleted inserted replaced
83018:1465425fe2d3 83019:82c3b4da43ca
1 /* Buffer manipulation primitives for GNU Emacs. 1 /* Buffer manipulation primitives for GNU Emacs.
2 Copyright (C) 1985,86,87,88,89,93,94,95,97,98, 1999, 2000, 2001, 02, 2003 2 Copyright (C) 1985,86,87,88,89,93,94,95,97,98, 1999, 2000, 2001, 02, 03, 2004
3 Free Software Foundation, Inc. 3 Free Software Foundation, Inc.
4 4
5 This file is part of GNU Emacs. 5 This file is part of GNU Emacs.
6 6
7 GNU Emacs is free software; you can redistribute it and/or modify 7 GNU Emacs is free software; you can redistribute it and/or modify
65 The default value occupies the same slot in this structure 65 The default value occupies the same slot in this structure
66 as an individual buffer's value occupies in that buffer. 66 as an individual buffer's value occupies in that buffer.
67 Setting the default value also goes through the alist of buffers 67 Setting the default value also goes through the alist of buffers
68 and stores into each buffer that does not say it has a local value. */ 68 and stores into each buffer that does not say it has a local value. */
69 69
70 struct buffer buffer_defaults; 70 DECL_ALIGN (struct buffer, buffer_defaults);
71 71
72 /* A Lisp_Object pointer to the above, used for staticpro */ 72 /* A Lisp_Object pointer to the above, used for staticpro */
73 73
74 static Lisp_Object Vbuffer_defaults; 74 static Lisp_Object Vbuffer_defaults;
75 75
95 struct buffer buffer_local_flags; 95 struct buffer buffer_local_flags;
96 96
97 /* This structure holds the names of symbols whose values may be 97 /* This structure holds the names of symbols whose values may be
98 buffer-local. It is indexed and accessed in the same way as the above. */ 98 buffer-local. It is indexed and accessed in the same way as the above. */
99 99
100 struct buffer buffer_local_symbols; 100 DECL_ALIGN (struct buffer, buffer_local_symbols);
101
101 /* A Lisp_Object pointer to the above, used for staticpro */ 102 /* A Lisp_Object pointer to the above, used for staticpro */
102 static Lisp_Object Vbuffer_local_symbols; 103 static Lisp_Object Vbuffer_local_symbols;
103 104
104 /* This structure holds the required types for the values in the 105 /* This structure holds the required types for the values in the
105 buffer-local slots. If a slot contains Qnil, then the 106 buffer-local slots. If a slot contains Qnil, then the
4957 buffer_defaults.right_fringe_width = Qnil; 4958 buffer_defaults.right_fringe_width = Qnil;
4958 buffer_defaults.fringes_outside_margins = Qnil; 4959 buffer_defaults.fringes_outside_margins = Qnil;
4959 buffer_defaults.scroll_bar_width = Qnil; 4960 buffer_defaults.scroll_bar_width = Qnil;
4960 buffer_defaults.vertical_scroll_bar_type = Qt; 4961 buffer_defaults.vertical_scroll_bar_type = Qt;
4961 buffer_defaults.indicate_empty_lines = Qnil; 4962 buffer_defaults.indicate_empty_lines = Qnil;
4963 buffer_defaults.indicate_buffer_boundaries = Qnil;
4962 buffer_defaults.scroll_up_aggressively = Qnil; 4964 buffer_defaults.scroll_up_aggressively = Qnil;
4963 buffer_defaults.scroll_down_aggressively = Qnil; 4965 buffer_defaults.scroll_down_aggressively = Qnil;
4964 buffer_defaults.display_time = Qnil; 4966 buffer_defaults.display_time = Qnil;
4965 4967
4966 /* Assign the local-flags to the slots that have default values. 4968 /* Assign the local-flags to the slots that have default values.
5026 XSETFASTINT (buffer_local_flags.right_fringe_width, idx); ++idx; 5028 XSETFASTINT (buffer_local_flags.right_fringe_width, idx); ++idx;
5027 XSETFASTINT (buffer_local_flags.fringes_outside_margins, idx); ++idx; 5029 XSETFASTINT (buffer_local_flags.fringes_outside_margins, idx); ++idx;
5028 XSETFASTINT (buffer_local_flags.scroll_bar_width, idx); ++idx; 5030 XSETFASTINT (buffer_local_flags.scroll_bar_width, idx); ++idx;
5029 XSETFASTINT (buffer_local_flags.vertical_scroll_bar_type, idx); ++idx; 5031 XSETFASTINT (buffer_local_flags.vertical_scroll_bar_type, idx); ++idx;
5030 XSETFASTINT (buffer_local_flags.indicate_empty_lines, idx); ++idx; 5032 XSETFASTINT (buffer_local_flags.indicate_empty_lines, idx); ++idx;
5033 XSETFASTINT (buffer_local_flags.indicate_buffer_boundaries, idx); ++idx;
5031 XSETFASTINT (buffer_local_flags.scroll_up_aggressively, idx); ++idx; 5034 XSETFASTINT (buffer_local_flags.scroll_up_aggressively, idx); ++idx;
5032 XSETFASTINT (buffer_local_flags.scroll_down_aggressively, idx); ++idx; 5035 XSETFASTINT (buffer_local_flags.scroll_down_aggressively, idx); ++idx;
5033 XSETFASTINT (buffer_local_flags.header_line_format, idx); ++idx; 5036 XSETFASTINT (buffer_local_flags.header_line_format, idx); ++idx;
5034 XSETFASTINT (buffer_local_flags.cursor_type, idx); ++idx; 5037 XSETFASTINT (buffer_local_flags.cursor_type, idx); ++idx;
5035 XSETFASTINT (buffer_local_flags.extra_line_spacing, idx); ++idx; 5038 XSETFASTINT (buffer_local_flags.extra_line_spacing, idx); ++idx;
5313 5316
5314 DEFVAR_LISP_NOPRO ("default-indicate-empty-lines", 5317 DEFVAR_LISP_NOPRO ("default-indicate-empty-lines",
5315 &buffer_defaults.indicate_empty_lines, 5318 &buffer_defaults.indicate_empty_lines,
5316 doc: /* Default value of `indicate-empty-lines' for buffers that don't override it. 5319 doc: /* Default value of `indicate-empty-lines' for buffers that don't override it.
5317 This is the same as (default-value 'indicate-empty-lines). */); 5320 This is the same as (default-value 'indicate-empty-lines). */);
5321
5322 DEFVAR_LISP_NOPRO ("default-indicate-buffer-boundaries",
5323 &buffer_defaults.indicate_buffer_boundaries,
5324 doc: /* Default value of `indicate-buffer-boundaries' for buffers that don't override it.
5325 This is the same as (default-value 'indicate-buffer-boundaries). */);
5318 5326
5319 DEFVAR_LISP_NOPRO ("default-scroll-up-aggressively", 5327 DEFVAR_LISP_NOPRO ("default-scroll-up-aggressively",
5320 &buffer_defaults.scroll_up_aggressively, 5328 &buffer_defaults.scroll_up_aggressively,
5321 doc: /* Default value of `scroll-up-aggressively'. 5329 doc: /* Default value of `scroll-up-aggressively'.
5322 This value applies in buffers that don't have their own local values. 5330 This value applies in buffers that don't have their own local values.
5624 &current_buffer->indicate_empty_lines, Qnil, 5632 &current_buffer->indicate_empty_lines, Qnil,
5625 doc: /* *Visually indicate empty lines after the buffer end. 5633 doc: /* *Visually indicate empty lines after the buffer end.
5626 If non-nil, a bitmap is displayed in the left fringe of a window on 5634 If non-nil, a bitmap is displayed in the left fringe of a window on
5627 window-systems. */); 5635 window-systems. */);
5628 5636
5637 DEFVAR_PER_BUFFER ("indicate-buffer-boundaries",
5638 &current_buffer->indicate_buffer_boundaries, Qnil,
5639 doc: /* *Visually indicate buffer boundaries and scrolling.
5640 If non-nil, the first and last line of the buffer are marked in the left and
5641 right fringe of a window on window-systems.
5642 In addition, if value is t, the top and bottom line of the window are marked
5643 with up and down arrow bitmaps in the right fringe if window can be scrolled. */);
5644
5629 DEFVAR_PER_BUFFER ("scroll-up-aggressively", 5645 DEFVAR_PER_BUFFER ("scroll-up-aggressively",
5630 &current_buffer->scroll_up_aggressively, Qnil, 5646 &current_buffer->scroll_up_aggressively, Qnil,
5631 doc: /* How far to scroll windows upward. 5647 doc: /* How far to scroll windows upward.
5632 If you move point off the bottom, the window scrolls automatically. 5648 If you move point off the bottom, the window scrolls automatically.
5633 This variable controls how far it scrolls. nil, the default, 5649 This variable controls how far it scrolls. nil, the default,