Mercurial > emacs
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 ¤t_buffer->indicate_empty_lines, Qnil, | 5632 ¤t_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 ¤t_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 ¤t_buffer->scroll_up_aggressively, Qnil, | 5646 ¤t_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, |
