Mercurial > emacs
comparison src/buffer.c @ 51190:17af4bfeb062
(init_buffer_once): Set buffer_defaults and
buffer_local_flags for new buffer-local variables
left_fringe_width, right_fringe_width, fringes_outside_margins,
scroll_bar_width, and vertical_scroll_bar_type.
(syms_of_buffer): Defvar_per_buffer them, and defvar_lisp_nopro
default-* variables for them.
author | Kim F. Storm <storm@cua.dk> |
---|---|
date | Sat, 24 May 2003 21:54:43 +0000 |
parents | 44219a7a4ca4 |
children | e518779f4ae1 |
comparison
equal
deleted
inserted
replaced
51189:540976dbc323 | 51190:17af4bfeb062 |
---|---|
1605 record_buffer (buf); | 1605 record_buffer (buf); |
1606 | 1606 |
1607 Fset_window_buffer (EQ (selected_window, minibuf_window) | 1607 Fset_window_buffer (EQ (selected_window, minibuf_window) |
1608 ? Fnext_window (minibuf_window, Qnil, Qnil) | 1608 ? Fnext_window (minibuf_window, Qnil, Qnil) |
1609 : selected_window, | 1609 : selected_window, |
1610 buf); | 1610 buf, Qnil); |
1611 | 1611 |
1612 return buf; | 1612 return buf; |
1613 } | 1613 } |
1614 | 1614 |
1615 DEFUN ("switch-to-buffer", Fswitch_to_buffer, Sswitch_to_buffer, 1, 2, "BSwitch to buffer: ", | 1615 DEFUN ("switch-to-buffer", Fswitch_to_buffer, Sswitch_to_buffer, 1, 2, "BSwitch to buffer: ", |
4925 XSETFASTINT (buffer_defaults.fill_column, 70); | 4925 XSETFASTINT (buffer_defaults.fill_column, 70); |
4926 XSETFASTINT (buffer_defaults.left_margin, 0); | 4926 XSETFASTINT (buffer_defaults.left_margin, 0); |
4927 buffer_defaults.cache_long_line_scans = Qnil; | 4927 buffer_defaults.cache_long_line_scans = Qnil; |
4928 buffer_defaults.file_truename = Qnil; | 4928 buffer_defaults.file_truename = Qnil; |
4929 XSETFASTINT (buffer_defaults.display_count, 0); | 4929 XSETFASTINT (buffer_defaults.display_count, 0); |
4930 XSETFASTINT (buffer_defaults.left_margin_cols, 0); | |
4931 XSETFASTINT (buffer_defaults.right_margin_cols, 0); | |
4932 buffer_defaults.left_fringe_width = Qnil; | |
4933 buffer_defaults.right_fringe_width = Qnil; | |
4934 buffer_defaults.fringes_outside_margins = Qnil; | |
4935 buffer_defaults.scroll_bar_width = Qnil; | |
4936 buffer_defaults.vertical_scroll_bar_type = Qt; | |
4930 buffer_defaults.indicate_empty_lines = Qnil; | 4937 buffer_defaults.indicate_empty_lines = Qnil; |
4931 buffer_defaults.scroll_up_aggressively = Qnil; | 4938 buffer_defaults.scroll_up_aggressively = Qnil; |
4932 buffer_defaults.scroll_down_aggressively = Qnil; | 4939 buffer_defaults.scroll_down_aggressively = Qnil; |
4933 buffer_defaults.display_time = Qnil; | 4940 buffer_defaults.display_time = Qnil; |
4934 | 4941 |
4987 XSETFASTINT (buffer_local_flags.category_table, idx); ++idx; | 4994 XSETFASTINT (buffer_local_flags.category_table, idx); ++idx; |
4988 XSETFASTINT (buffer_local_flags.direction_reversed, idx); ++idx; | 4995 XSETFASTINT (buffer_local_flags.direction_reversed, idx); ++idx; |
4989 XSETFASTINT (buffer_local_flags.buffer_file_coding_system, idx); | 4996 XSETFASTINT (buffer_local_flags.buffer_file_coding_system, idx); |
4990 /* Make this one a permanent local. */ | 4997 /* Make this one a permanent local. */ |
4991 buffer_permanent_local_flags[idx++] = 1; | 4998 buffer_permanent_local_flags[idx++] = 1; |
4992 XSETFASTINT (buffer_local_flags.left_margin_width, idx); ++idx; | 4999 XSETFASTINT (buffer_local_flags.left_margin_cols, idx); ++idx; |
4993 XSETFASTINT (buffer_local_flags.right_margin_width, idx); ++idx; | 5000 XSETFASTINT (buffer_local_flags.right_margin_cols, idx); ++idx; |
5001 XSETFASTINT (buffer_local_flags.left_fringe_width, idx); ++idx; | |
5002 XSETFASTINT (buffer_local_flags.right_fringe_width, idx); ++idx; | |
5003 XSETFASTINT (buffer_local_flags.fringes_outside_margins, idx); ++idx; | |
5004 XSETFASTINT (buffer_local_flags.scroll_bar_width, idx); ++idx; | |
5005 XSETFASTINT (buffer_local_flags.vertical_scroll_bar_type, idx); ++idx; | |
4994 XSETFASTINT (buffer_local_flags.indicate_empty_lines, idx); ++idx; | 5006 XSETFASTINT (buffer_local_flags.indicate_empty_lines, idx); ++idx; |
4995 XSETFASTINT (buffer_local_flags.scroll_up_aggressively, idx); ++idx; | 5007 XSETFASTINT (buffer_local_flags.scroll_up_aggressively, idx); ++idx; |
4996 XSETFASTINT (buffer_local_flags.scroll_down_aggressively, idx); ++idx; | 5008 XSETFASTINT (buffer_local_flags.scroll_down_aggressively, idx); ++idx; |
4997 XSETFASTINT (buffer_local_flags.header_line_format, idx); ++idx; | 5009 XSETFASTINT (buffer_local_flags.header_line_format, idx); ++idx; |
4998 XSETFASTINT (buffer_local_flags.cursor_type, idx); ++idx; | 5010 XSETFASTINT (buffer_local_flags.cursor_type, idx); ++idx; |
5238 This is the same as (default-value 'buffer-file-type). | 5250 This is the same as (default-value 'buffer-file-type). |
5239 The file type is nil for text, t for binary. */); | 5251 The file type is nil for text, t for binary. */); |
5240 #endif | 5252 #endif |
5241 | 5253 |
5242 DEFVAR_LISP_NOPRO ("default-left-margin-width", | 5254 DEFVAR_LISP_NOPRO ("default-left-margin-width", |
5243 &buffer_defaults.left_margin_width, | 5255 &buffer_defaults.left_margin_cols, |
5244 doc: /* Default value of `left-margin-width' for buffers that don't override it. | 5256 doc: /* Default value of `left-margin-width' for buffers that don't override it. |
5245 This is the same as (default-value 'left-margin-width). */); | 5257 This is the same as (default-value 'left-margin-width). */); |
5246 | 5258 |
5247 DEFVAR_LISP_NOPRO ("default-right-margin-width", | 5259 DEFVAR_LISP_NOPRO ("default-right-margin-width", |
5248 &buffer_defaults.right_margin_width, | 5260 &buffer_defaults.right_margin_cols, |
5249 doc: /* Default value of `right_margin_width' for buffers that don't override it. | 5261 doc: /* Default value of `right-margin-width' for buffers that don't override it. |
5250 This is the same as (default-value 'right-margin-width). */); | 5262 This is the same as (default-value 'right-margin-width). */); |
5263 | |
5264 DEFVAR_LISP_NOPRO ("default-left-fringe-width", | |
5265 &buffer_defaults.left_fringe_width, | |
5266 doc: /* Default value of `left-fringe-width' for buffers that don't override it. | |
5267 This is the same as (default-value 'left-fringe-width). */); | |
5268 | |
5269 DEFVAR_LISP_NOPRO ("default-right-fringe-width", | |
5270 &buffer_defaults.right_fringe_width, | |
5271 doc: /* Default value of `right-fringe-width' for buffers that don't override it. | |
5272 This is the same as (default-value 'right-fringe-width). */); | |
5273 | |
5274 DEFVAR_LISP_NOPRO ("default-fringes-outside-margins", | |
5275 &buffer_defaults.fringes_outside_margins, | |
5276 doc: /* Default value of `fringes-outside-margins' for buffers that don't override it. | |
5277 This is the same as (default-value 'fringes-outside-margins). */); | |
5278 | |
5279 DEFVAR_LISP_NOPRO ("default-scroll-bar-width", | |
5280 &buffer_defaults.scroll_bar_width, | |
5281 doc: /* Default value of `scroll-bar-width' for buffers that don't override it. | |
5282 This is the same as (default-value 'scroll-bar-width). */); | |
5283 | |
5284 DEFVAR_LISP_NOPRO ("default-vertical-scroll-bar", | |
5285 &buffer_defaults.vertical_scroll_bar_type, | |
5286 doc: /* Default value of `vertical-scroll-bar' for buffers that don't override it. | |
5287 This is the same as (default-value 'vertical-scroll-bar). */); | |
5251 | 5288 |
5252 DEFVAR_LISP_NOPRO ("default-indicate-empty-lines", | 5289 DEFVAR_LISP_NOPRO ("default-indicate-empty-lines", |
5253 &buffer_defaults.indicate_empty_lines, | 5290 &buffer_defaults.indicate_empty_lines, |
5254 doc: /* Default value of `indicate-empty-lines' for buffers that don't override it. | 5291 doc: /* Default value of `indicate-empty-lines' for buffers that don't override it. |
5255 This is the same as (default-value 'indicate-empty-lines). */); | 5292 This is the same as (default-value 'indicate-empty-lines). */); |
5515 the character used to draw the border between side-by-side windows | 5552 the character used to draw the border between side-by-side windows |
5516 (extra-slot 5, a single character). | 5553 (extra-slot 5, a single character). |
5517 | 5554 |
5518 See also the functions `display-table-slot' and `set-display-table-slot'. */); | 5555 See also the functions `display-table-slot' and `set-display-table-slot'. */); |
5519 | 5556 |
5520 DEFVAR_PER_BUFFER ("left-margin-width", ¤t_buffer->left_margin_width, | 5557 DEFVAR_PER_BUFFER ("left-margin-width", ¤t_buffer->left_margin_cols, |
5521 Qnil, | 5558 Qnil, |
5522 doc: /* *Width of left marginal area for display of a buffer. | 5559 doc: /* *Width of left marginal area for display of a buffer. |
5523 A value of nil means no marginal area. */); | 5560 A value of nil means no marginal area. */); |
5524 | 5561 |
5525 DEFVAR_PER_BUFFER ("right-margin-width", ¤t_buffer->right_margin_width, | 5562 DEFVAR_PER_BUFFER ("right-margin-width", ¤t_buffer->right_margin_cols, |
5526 Qnil, | 5563 Qnil, |
5527 doc: /* *Width of right marginal area for display of a buffer. | 5564 doc: /* *Width of right marginal area for display of a buffer. |
5528 A value of nil means no marginal area. */); | 5565 A value of nil means no marginal area. */); |
5566 | |
5567 DEFVAR_PER_BUFFER ("left-fringe-width", ¤t_buffer->left_fringe_width, | |
5568 Qnil, | |
5569 doc: /* *Width of this buffer's left fringe (in pixels). | |
5570 A value of 0 means no left fringe is shown in this buffer's window. | |
5571 A value of nil means to use the left fringe width from the window's frame. */); | |
5572 | |
5573 DEFVAR_PER_BUFFER ("right-fringe-width", ¤t_buffer->right_fringe_width, | |
5574 Qnil, | |
5575 doc: /* *Width of this buffer's right fringe (in pixels). | |
5576 A value of 0 means no right fringe is shown in this buffer's window. | |
5577 A value of nil means to use the right fringe width from the window's frame. */); | |
5578 | |
5579 DEFVAR_PER_BUFFER ("fringes-outside-margins", ¤t_buffer->fringes_outside_margins, | |
5580 Qnil, | |
5581 doc: /* *Non-nil means to display fringes outside display margins. | |
5582 A value of nil means to display fringes between margins and buffer text. */); | |
5583 | |
5584 DEFVAR_PER_BUFFER ("scroll-bar-width", ¤t_buffer->scroll_bar_width, | |
5585 Qnil, | |
5586 doc: /* *Width of this buffer's scroll bars in pixels. | |
5587 A value of nil means to use the scroll bar width from the window's frame. */); | |
5588 | |
5589 DEFVAR_PER_BUFFER ("vertical-scroll-bar", ¤t_buffer->vertical_scroll_bar_type, | |
5590 Qnil, | |
5591 doc: /* *Position of this buffer's vertical scroll bar. | |
5592 A value of left or right means to place the vertical scroll bar at that side | |
5593 of the window; a value of nil means that this window has no vertical scroll bar. | |
5594 A value of t means to use the vertical scroll bar type from the window's frame. */); | |
5529 | 5595 |
5530 DEFVAR_PER_BUFFER ("indicate-empty-lines", | 5596 DEFVAR_PER_BUFFER ("indicate-empty-lines", |
5531 ¤t_buffer->indicate_empty_lines, Qnil, | 5597 ¤t_buffer->indicate_empty_lines, Qnil, |
5532 doc: /* *Visually indicate empty lines after the buffer end. | 5598 doc: /* *Visually indicate empty lines after the buffer end. |
5533 If non-nil, a bitmap is displayed in the left fringe of a window on | 5599 If non-nil, a bitmap is displayed in the left fringe of a window on |