diff options
| author | Dmitry Antipov | 2012-07-31 16:36:19 +0400 |
|---|---|---|
| committer | Dmitry Antipov | 2012-07-31 16:36:19 +0400 |
| commit | e34f7f79833a23586d32fe522b547a0d9a696c13 (patch) | |
| tree | 4a2d3927202cb91b474bc9648ca9dee2bffaa54a /src/buffer.h | |
| parent | c09bfb2f140b2885af17185634451e2abfd6e91c (diff) | |
| download | emacs-e34f7f79833a23586d32fe522b547a0d9a696c13.tar.gz emacs-e34f7f79833a23586d32fe522b547a0d9a696c13.zip | |
Generalize INTERNAL_FIELD between buffers, keyboards and frames.
* src/lisp.h (INTERNAL_FIELD): New macro.
* src/buffer.h (BUFFER_INTERNAL_FIELD): Removed.
(BVAR): Change to use INTERNAL_FIELD.
* src/keyboard.h (KBOARD_INTERNAL_FIELD): Likewise.
(KVAR): Change to use INTERNAL_FIELD.
* src/frame.h (FVAR): New macro.
(struct frame): Use INTERNAL_FIELD for all Lisp_Object fields.
* src/alloc.c, src/buffer.c, src/data.c, src/dispnew.c, src/dosfns.c
* src/eval.c, src/frame.c, src/fringe.c, src/gtkutil.c, src/minibuf.c
* src/nsfns.m, src/nsterm.m, src/print.c, src/term.c, src/w32fns.c
* src/w32menu.c, src/w32term.c, src/window.c, src/window.h, src/xdisp.c
* src/xfaces.c, src/xfns.c, src/xmenu.c, src/xterm.c: Users changed.
* admin/coccinelle/frame.cocci: Semantic patch to replace direct
access to Lisp_Object members of struct frame to FVAR.
Diffstat (limited to 'src/buffer.h')
| -rw-r--r-- | src/buffer.h | 151 |
1 files changed, 73 insertions, 78 deletions
diff --git a/src/buffer.h b/src/buffer.h index 61f9e72fcfd..b9a2c9c7dce 100644 --- a/src/buffer.h +++ b/src/buffer.h | |||
| @@ -472,14 +472,9 @@ struct buffer_text | |||
| 472 | int inhibit_shrinking; | 472 | int inhibit_shrinking; |
| 473 | }; | 473 | }; |
| 474 | 474 | ||
| 475 | /* Lisp fields in struct buffer are hidden from most code and accessed | 475 | /* Most code should use this macro to access Lisp fields in struct buffer. */ |
| 476 | via the BVAR macro, below. Only select pieces of code, like the GC, | ||
| 477 | are allowed to use BUFFER_INTERNAL_FIELD. */ | ||
| 478 | #define BUFFER_INTERNAL_FIELD(field) field ## _ | ||
| 479 | 476 | ||
| 480 | /* Most code should use this macro to access Lisp fields in struct | 477 | #define BVAR(buf, field) ((buf)->INTERNAL_FIELD (field)) |
| 481 | buffer. */ | ||
| 482 | #define BVAR(buf, field) ((buf)->BUFFER_INTERNAL_FIELD (field)) | ||
| 483 | 478 | ||
| 484 | /* This is the structure that the buffer Lisp object points to. */ | 479 | /* This is the structure that the buffer Lisp object points to. */ |
| 485 | 480 | ||
| @@ -493,17 +488,17 @@ struct buffer | |||
| 493 | struct vectorlike_header header; | 488 | struct vectorlike_header header; |
| 494 | 489 | ||
| 495 | /* The name of this buffer. */ | 490 | /* The name of this buffer. */ |
| 496 | Lisp_Object BUFFER_INTERNAL_FIELD (name); | 491 | Lisp_Object INTERNAL_FIELD (name); |
| 497 | 492 | ||
| 498 | /* The name of the file visited in this buffer, or nil. */ | 493 | /* The name of the file visited in this buffer, or nil. */ |
| 499 | Lisp_Object BUFFER_INTERNAL_FIELD (filename); | 494 | Lisp_Object INTERNAL_FIELD (filename); |
| 500 | 495 | ||
| 501 | /* Directory for expanding relative file names. */ | 496 | /* Directory for expanding relative file names. */ |
| 502 | Lisp_Object BUFFER_INTERNAL_FIELD (directory); | 497 | Lisp_Object INTERNAL_FIELD (directory); |
| 503 | 498 | ||
| 504 | /* True if this buffer has been backed up (if you write to the visited | 499 | /* True if this buffer has been backed up (if you write to the visited |
| 505 | file and it hasn't been backed up, then a backup will be made). */ | 500 | file and it hasn't been backed up, then a backup will be made). */ |
| 506 | Lisp_Object BUFFER_INTERNAL_FIELD (backed_up); | 501 | Lisp_Object INTERNAL_FIELD (backed_up); |
| 507 | 502 | ||
| 508 | /* Length of file when last read or saved. | 503 | /* Length of file when last read or saved. |
| 509 | -1 means auto saving turned off because buffer shrank a lot. | 504 | -1 means auto saving turned off because buffer shrank a lot. |
| @@ -511,132 +506,132 @@ struct buffer | |||
| 511 | (That value is used with buffer-swap-text.) | 506 | (That value is used with buffer-swap-text.) |
| 512 | This is not in the struct buffer_text | 507 | This is not in the struct buffer_text |
| 513 | because it's not used in indirect buffers at all. */ | 508 | because it's not used in indirect buffers at all. */ |
| 514 | Lisp_Object BUFFER_INTERNAL_FIELD (save_length); | 509 | Lisp_Object INTERNAL_FIELD (save_length); |
| 515 | 510 | ||
| 516 | /* File name used for auto-saving this buffer. | 511 | /* File name used for auto-saving this buffer. |
| 517 | This is not in the struct buffer_text | 512 | This is not in the struct buffer_text |
| 518 | because it's not used in indirect buffers at all. */ | 513 | because it's not used in indirect buffers at all. */ |
| 519 | Lisp_Object BUFFER_INTERNAL_FIELD (auto_save_file_name); | 514 | Lisp_Object INTERNAL_FIELD (auto_save_file_name); |
| 520 | 515 | ||
| 521 | /* Non-nil if buffer read-only. */ | 516 | /* Non-nil if buffer read-only. */ |
| 522 | Lisp_Object BUFFER_INTERNAL_FIELD (read_only); | 517 | Lisp_Object INTERNAL_FIELD (read_only); |
| 523 | 518 | ||
| 524 | /* "The mark". This is a marker which may | 519 | /* "The mark". This is a marker which may |
| 525 | point into this buffer or may point nowhere. */ | 520 | point into this buffer or may point nowhere. */ |
| 526 | Lisp_Object BUFFER_INTERNAL_FIELD (mark); | 521 | Lisp_Object INTERNAL_FIELD (mark); |
| 527 | 522 | ||
| 528 | /* Alist of elements (SYMBOL . VALUE-IN-THIS-BUFFER) for all | 523 | /* Alist of elements (SYMBOL . VALUE-IN-THIS-BUFFER) for all |
| 529 | per-buffer variables of this buffer. For locally unbound | 524 | per-buffer variables of this buffer. For locally unbound |
| 530 | symbols, just the symbol appears as the element. */ | 525 | symbols, just the symbol appears as the element. */ |
| 531 | Lisp_Object BUFFER_INTERNAL_FIELD (local_var_alist); | 526 | Lisp_Object INTERNAL_FIELD (local_var_alist); |
| 532 | 527 | ||
| 533 | /* Symbol naming major mode (e.g., lisp-mode). */ | 528 | /* Symbol naming major mode (e.g., lisp-mode). */ |
| 534 | Lisp_Object BUFFER_INTERNAL_FIELD (major_mode); | 529 | Lisp_Object INTERNAL_FIELD (major_mode); |
| 535 | 530 | ||
| 536 | /* Pretty name of major mode (e.g., "Lisp"). */ | 531 | /* Pretty name of major mode (e.g., "Lisp"). */ |
| 537 | Lisp_Object BUFFER_INTERNAL_FIELD (mode_name); | 532 | Lisp_Object INTERNAL_FIELD (mode_name); |
| 538 | 533 | ||
| 539 | /* Mode line element that controls format of mode line. */ | 534 | /* Mode line element that controls format of mode line. */ |
| 540 | Lisp_Object BUFFER_INTERNAL_FIELD (mode_line_format); | 535 | Lisp_Object INTERNAL_FIELD (mode_line_format); |
| 541 | 536 | ||
| 542 | /* Analogous to mode_line_format for the line displayed at the top | 537 | /* Analogous to mode_line_format for the line displayed at the top |
| 543 | of windows. Nil means don't display that line. */ | 538 | of windows. Nil means don't display that line. */ |
| 544 | Lisp_Object BUFFER_INTERNAL_FIELD (header_line_format); | 539 | Lisp_Object INTERNAL_FIELD (header_line_format); |
| 545 | 540 | ||
| 546 | /* Keys that are bound local to this buffer. */ | 541 | /* Keys that are bound local to this buffer. */ |
| 547 | Lisp_Object BUFFER_INTERNAL_FIELD (keymap); | 542 | Lisp_Object INTERNAL_FIELD (keymap); |
| 548 | 543 | ||
| 549 | /* This buffer's local abbrev table. */ | 544 | /* This buffer's local abbrev table. */ |
| 550 | Lisp_Object BUFFER_INTERNAL_FIELD (abbrev_table); | 545 | Lisp_Object INTERNAL_FIELD (abbrev_table); |
| 551 | 546 | ||
| 552 | /* This buffer's syntax table. */ | 547 | /* This buffer's syntax table. */ |
| 553 | Lisp_Object BUFFER_INTERNAL_FIELD (syntax_table); | 548 | Lisp_Object INTERNAL_FIELD (syntax_table); |
| 554 | 549 | ||
| 555 | /* This buffer's category table. */ | 550 | /* This buffer's category table. */ |
| 556 | Lisp_Object BUFFER_INTERNAL_FIELD (category_table); | 551 | Lisp_Object INTERNAL_FIELD (category_table); |
| 557 | 552 | ||
| 558 | /* Values of several buffer-local variables. */ | 553 | /* Values of several buffer-local variables. */ |
| 559 | /* tab-width is buffer-local so that redisplay can find it | 554 | /* tab-width is buffer-local so that redisplay can find it |
| 560 | in buffers that are not current. */ | 555 | in buffers that are not current. */ |
| 561 | Lisp_Object BUFFER_INTERNAL_FIELD (case_fold_search); | 556 | Lisp_Object INTERNAL_FIELD (case_fold_search); |
| 562 | Lisp_Object BUFFER_INTERNAL_FIELD (tab_width); | 557 | Lisp_Object INTERNAL_FIELD (tab_width); |
| 563 | Lisp_Object BUFFER_INTERNAL_FIELD (fill_column); | 558 | Lisp_Object INTERNAL_FIELD (fill_column); |
| 564 | Lisp_Object BUFFER_INTERNAL_FIELD (left_margin); | 559 | Lisp_Object INTERNAL_FIELD (left_margin); |
| 565 | 560 | ||
| 566 | /* Function to call when insert space past fill column. */ | 561 | /* Function to call when insert space past fill column. */ |
| 567 | Lisp_Object BUFFER_INTERNAL_FIELD (auto_fill_function); | 562 | Lisp_Object INTERNAL_FIELD (auto_fill_function); |
| 568 | 563 | ||
| 569 | /* Case table for case-conversion in this buffer. | 564 | /* Case table for case-conversion in this buffer. |
| 570 | This char-table maps each char into its lower-case version. */ | 565 | This char-table maps each char into its lower-case version. */ |
| 571 | Lisp_Object BUFFER_INTERNAL_FIELD (downcase_table); | 566 | Lisp_Object INTERNAL_FIELD (downcase_table); |
| 572 | 567 | ||
| 573 | /* Char-table mapping each char to its upper-case version. */ | 568 | /* Char-table mapping each char to its upper-case version. */ |
| 574 | Lisp_Object BUFFER_INTERNAL_FIELD (upcase_table); | 569 | Lisp_Object INTERNAL_FIELD (upcase_table); |
| 575 | 570 | ||
| 576 | /* Char-table for conversion for case-folding search. */ | 571 | /* Char-table for conversion for case-folding search. */ |
| 577 | Lisp_Object BUFFER_INTERNAL_FIELD (case_canon_table); | 572 | Lisp_Object INTERNAL_FIELD (case_canon_table); |
| 578 | 573 | ||
| 579 | /* Char-table of equivalences for case-folding search. */ | 574 | /* Char-table of equivalences for case-folding search. */ |
| 580 | Lisp_Object BUFFER_INTERNAL_FIELD (case_eqv_table); | 575 | Lisp_Object INTERNAL_FIELD (case_eqv_table); |
| 581 | 576 | ||
| 582 | /* Non-nil means do not display continuation lines. */ | 577 | /* Non-nil means do not display continuation lines. */ |
| 583 | Lisp_Object BUFFER_INTERNAL_FIELD (truncate_lines); | 578 | Lisp_Object INTERNAL_FIELD (truncate_lines); |
| 584 | 579 | ||
| 585 | /* Non-nil means to use word wrapping when displaying continuation lines. */ | 580 | /* Non-nil means to use word wrapping when displaying continuation lines. */ |
| 586 | Lisp_Object BUFFER_INTERNAL_FIELD (word_wrap); | 581 | Lisp_Object INTERNAL_FIELD (word_wrap); |
| 587 | 582 | ||
| 588 | /* Non-nil means display ctl chars with uparrow. */ | 583 | /* Non-nil means display ctl chars with uparrow. */ |
| 589 | Lisp_Object BUFFER_INTERNAL_FIELD (ctl_arrow); | 584 | Lisp_Object INTERNAL_FIELD (ctl_arrow); |
| 590 | 585 | ||
| 591 | /* Non-nil means reorder bidirectional text for display in the | 586 | /* Non-nil means reorder bidirectional text for display in the |
| 592 | visual order. */ | 587 | visual order. */ |
| 593 | Lisp_Object BUFFER_INTERNAL_FIELD (bidi_display_reordering); | 588 | Lisp_Object INTERNAL_FIELD (bidi_display_reordering); |
| 594 | 589 | ||
| 595 | /* If non-nil, specifies which direction of text to force in all the | 590 | /* If non-nil, specifies which direction of text to force in all the |
| 596 | paragraphs of the buffer. Nil means determine paragraph | 591 | paragraphs of the buffer. Nil means determine paragraph |
| 597 | direction dynamically for each paragraph. */ | 592 | direction dynamically for each paragraph. */ |
| 598 | Lisp_Object BUFFER_INTERNAL_FIELD (bidi_paragraph_direction); | 593 | Lisp_Object INTERNAL_FIELD (bidi_paragraph_direction); |
| 599 | 594 | ||
| 600 | /* Non-nil means do selective display; | 595 | /* Non-nil means do selective display; |
| 601 | see doc string in syms_of_buffer (buffer.c) for details. */ | 596 | see doc string in syms_of_buffer (buffer.c) for details. */ |
| 602 | Lisp_Object BUFFER_INTERNAL_FIELD (selective_display); | 597 | Lisp_Object INTERNAL_FIELD (selective_display); |
| 603 | 598 | ||
| 604 | /* Non-nil means show ... at end of line followed by invisible lines. */ | 599 | /* Non-nil means show ... at end of line followed by invisible lines. */ |
| 605 | Lisp_Object BUFFER_INTERNAL_FIELD (selective_display_ellipses); | 600 | Lisp_Object INTERNAL_FIELD (selective_display_ellipses); |
| 606 | 601 | ||
| 607 | /* Alist of (FUNCTION . STRING) for each minor mode enabled in buffer. */ | 602 | /* Alist of (FUNCTION . STRING) for each minor mode enabled in buffer. */ |
| 608 | Lisp_Object BUFFER_INTERNAL_FIELD (minor_modes); | 603 | Lisp_Object INTERNAL_FIELD (minor_modes); |
| 609 | 604 | ||
| 610 | /* t if "self-insertion" should overwrite; `binary' if it should also | 605 | /* t if "self-insertion" should overwrite; `binary' if it should also |
| 611 | overwrite newlines and tabs - for editing executables and the like. */ | 606 | overwrite newlines and tabs - for editing executables and the like. */ |
| 612 | Lisp_Object BUFFER_INTERNAL_FIELD (overwrite_mode); | 607 | Lisp_Object INTERNAL_FIELD (overwrite_mode); |
| 613 | 608 | ||
| 614 | /* Non-nil means abbrev mode is on. Expand abbrevs automatically. */ | 609 | /* Non-nil means abbrev mode is on. Expand abbrevs automatically. */ |
| 615 | Lisp_Object BUFFER_INTERNAL_FIELD (abbrev_mode); | 610 | Lisp_Object INTERNAL_FIELD (abbrev_mode); |
| 616 | 611 | ||
| 617 | /* Display table to use for text in this buffer. */ | 612 | /* Display table to use for text in this buffer. */ |
| 618 | Lisp_Object BUFFER_INTERNAL_FIELD (display_table); | 613 | Lisp_Object INTERNAL_FIELD (display_table); |
| 619 | 614 | ||
| 620 | /* t means the mark and region are currently active. */ | 615 | /* t means the mark and region are currently active. */ |
| 621 | Lisp_Object BUFFER_INTERNAL_FIELD (mark_active); | 616 | Lisp_Object INTERNAL_FIELD (mark_active); |
| 622 | 617 | ||
| 623 | /* Non-nil means the buffer contents are regarded as multi-byte | 618 | /* Non-nil means the buffer contents are regarded as multi-byte |
| 624 | form of characters, not a binary code. */ | 619 | form of characters, not a binary code. */ |
| 625 | Lisp_Object BUFFER_INTERNAL_FIELD (enable_multibyte_characters); | 620 | Lisp_Object INTERNAL_FIELD (enable_multibyte_characters); |
| 626 | 621 | ||
| 627 | /* Coding system to be used for encoding the buffer contents on | 622 | /* Coding system to be used for encoding the buffer contents on |
| 628 | saving. */ | 623 | saving. */ |
| 629 | Lisp_Object BUFFER_INTERNAL_FIELD (buffer_file_coding_system); | 624 | Lisp_Object INTERNAL_FIELD (buffer_file_coding_system); |
| 630 | 625 | ||
| 631 | /* List of symbols naming the file format used for visited file. */ | 626 | /* List of symbols naming the file format used for visited file. */ |
| 632 | Lisp_Object BUFFER_INTERNAL_FIELD (file_format); | 627 | Lisp_Object INTERNAL_FIELD (file_format); |
| 633 | 628 | ||
| 634 | /* List of symbols naming the file format used for auto-save file. */ | 629 | /* List of symbols naming the file format used for auto-save file. */ |
| 635 | Lisp_Object BUFFER_INTERNAL_FIELD (auto_save_file_format); | 630 | Lisp_Object INTERNAL_FIELD (auto_save_file_format); |
| 636 | 631 | ||
| 637 | /* True if the newline position cache and width run cache are | 632 | /* True if the newline position cache and width run cache are |
| 638 | enabled. See search.c and indent.c. */ | 633 | enabled. See search.c and indent.c. */ |
| 639 | Lisp_Object BUFFER_INTERNAL_FIELD (cache_long_line_scans); | 634 | Lisp_Object INTERNAL_FIELD (cache_long_line_scans); |
| 640 | 635 | ||
| 641 | /* If the width run cache is enabled, this table contains the | 636 | /* If the width run cache is enabled, this table contains the |
| 642 | character widths width_run_cache (see above) assumes. When we | 637 | character widths width_run_cache (see above) assumes. When we |
| @@ -644,102 +639,102 @@ struct buffer | |||
| 644 | current display table to see whether the display table has | 639 | current display table to see whether the display table has |
| 645 | affected the widths of any characters. If it has, we | 640 | affected the widths of any characters. If it has, we |
| 646 | invalidate the width run cache, and re-initialize width_table. */ | 641 | invalidate the width run cache, and re-initialize width_table. */ |
| 647 | Lisp_Object BUFFER_INTERNAL_FIELD (width_table); | 642 | Lisp_Object INTERNAL_FIELD (width_table); |
| 648 | 643 | ||
| 649 | /* In an indirect buffer, or a buffer that is the base of an | 644 | /* In an indirect buffer, or a buffer that is the base of an |
| 650 | indirect buffer, this holds a marker that records | 645 | indirect buffer, this holds a marker that records |
| 651 | PT for this buffer when the buffer is not current. */ | 646 | PT for this buffer when the buffer is not current. */ |
| 652 | Lisp_Object BUFFER_INTERNAL_FIELD (pt_marker); | 647 | Lisp_Object INTERNAL_FIELD (pt_marker); |
| 653 | 648 | ||
| 654 | /* In an indirect buffer, or a buffer that is the base of an | 649 | /* In an indirect buffer, or a buffer that is the base of an |
| 655 | indirect buffer, this holds a marker that records | 650 | indirect buffer, this holds a marker that records |
| 656 | BEGV for this buffer when the buffer is not current. */ | 651 | BEGV for this buffer when the buffer is not current. */ |
| 657 | Lisp_Object BUFFER_INTERNAL_FIELD (begv_marker); | 652 | Lisp_Object INTERNAL_FIELD (begv_marker); |
| 658 | 653 | ||
| 659 | /* In an indirect buffer, or a buffer that is the base of an | 654 | /* In an indirect buffer, or a buffer that is the base of an |
| 660 | indirect buffer, this holds a marker that records | 655 | indirect buffer, this holds a marker that records |
| 661 | ZV for this buffer when the buffer is not current. */ | 656 | ZV for this buffer when the buffer is not current. */ |
| 662 | Lisp_Object BUFFER_INTERNAL_FIELD (zv_marker); | 657 | Lisp_Object INTERNAL_FIELD (zv_marker); |
| 663 | 658 | ||
| 664 | /* This holds the point value before the last scroll operation. | 659 | /* This holds the point value before the last scroll operation. |
| 665 | Explicitly setting point sets this to nil. */ | 660 | Explicitly setting point sets this to nil. */ |
| 666 | Lisp_Object BUFFER_INTERNAL_FIELD (point_before_scroll); | 661 | Lisp_Object INTERNAL_FIELD (point_before_scroll); |
| 667 | 662 | ||
| 668 | /* Truename of the visited file, or nil. */ | 663 | /* Truename of the visited file, or nil. */ |
| 669 | Lisp_Object BUFFER_INTERNAL_FIELD (file_truename); | 664 | Lisp_Object INTERNAL_FIELD (file_truename); |
| 670 | 665 | ||
| 671 | /* Invisibility spec of this buffer. | 666 | /* Invisibility spec of this buffer. |
| 672 | t => any non-nil `invisible' property means invisible. | 667 | t => any non-nil `invisible' property means invisible. |
| 673 | A list => `invisible' property means invisible | 668 | A list => `invisible' property means invisible |
| 674 | if it is memq in that list. */ | 669 | if it is memq in that list. */ |
| 675 | Lisp_Object BUFFER_INTERNAL_FIELD (invisibility_spec); | 670 | Lisp_Object INTERNAL_FIELD (invisibility_spec); |
| 676 | 671 | ||
| 677 | /* This is the last window that was selected with this buffer in it, | 672 | /* This is the last window that was selected with this buffer in it, |
| 678 | or nil if that window no longer displays this buffer. */ | 673 | or nil if that window no longer displays this buffer. */ |
| 679 | Lisp_Object BUFFER_INTERNAL_FIELD (last_selected_window); | 674 | Lisp_Object INTERNAL_FIELD (last_selected_window); |
| 680 | 675 | ||
| 681 | /* Incremented each time the buffer is displayed in a window. */ | 676 | /* Incremented each time the buffer is displayed in a window. */ |
| 682 | Lisp_Object BUFFER_INTERNAL_FIELD (display_count); | 677 | Lisp_Object INTERNAL_FIELD (display_count); |
| 683 | 678 | ||
| 684 | /* Widths of left and right marginal areas for windows displaying | 679 | /* Widths of left and right marginal areas for windows displaying |
| 685 | this buffer. */ | 680 | this buffer. */ |
| 686 | Lisp_Object BUFFER_INTERNAL_FIELD (left_margin_cols); | 681 | Lisp_Object INTERNAL_FIELD (left_margin_cols); |
| 687 | Lisp_Object BUFFER_INTERNAL_FIELD (right_margin_cols); | 682 | Lisp_Object INTERNAL_FIELD (right_margin_cols); |
| 688 | 683 | ||
| 689 | /* Widths of left and right fringe areas for windows displaying | 684 | /* Widths of left and right fringe areas for windows displaying |
| 690 | this buffer. */ | 685 | this buffer. */ |
| 691 | Lisp_Object BUFFER_INTERNAL_FIELD (left_fringe_width); | 686 | Lisp_Object INTERNAL_FIELD (left_fringe_width); |
| 692 | Lisp_Object BUFFER_INTERNAL_FIELD (right_fringe_width); | 687 | Lisp_Object INTERNAL_FIELD (right_fringe_width); |
| 693 | 688 | ||
| 694 | /* Non-nil means fringes are drawn outside display margins; | 689 | /* Non-nil means fringes are drawn outside display margins; |
| 695 | othersize draw them between margin areas and text. */ | 690 | othersize draw them between margin areas and text. */ |
| 696 | Lisp_Object BUFFER_INTERNAL_FIELD (fringes_outside_margins); | 691 | Lisp_Object INTERNAL_FIELD (fringes_outside_margins); |
| 697 | 692 | ||
| 698 | /* Width and type of scroll bar areas for windows displaying | 693 | /* Width and type of scroll bar areas for windows displaying |
| 699 | this buffer. */ | 694 | this buffer. */ |
| 700 | Lisp_Object BUFFER_INTERNAL_FIELD (scroll_bar_width); | 695 | Lisp_Object INTERNAL_FIELD (scroll_bar_width); |
| 701 | Lisp_Object BUFFER_INTERNAL_FIELD (vertical_scroll_bar_type); | 696 | Lisp_Object INTERNAL_FIELD (vertical_scroll_bar_type); |
| 702 | 697 | ||
| 703 | /* Non-nil means indicate lines not displaying text (in a style | 698 | /* Non-nil means indicate lines not displaying text (in a style |
| 704 | like vi). */ | 699 | like vi). */ |
| 705 | Lisp_Object BUFFER_INTERNAL_FIELD (indicate_empty_lines); | 700 | Lisp_Object INTERNAL_FIELD (indicate_empty_lines); |
| 706 | 701 | ||
| 707 | /* Non-nil means indicate buffer boundaries and scrolling. */ | 702 | /* Non-nil means indicate buffer boundaries and scrolling. */ |
| 708 | Lisp_Object BUFFER_INTERNAL_FIELD (indicate_buffer_boundaries); | 703 | Lisp_Object INTERNAL_FIELD (indicate_buffer_boundaries); |
| 709 | 704 | ||
| 710 | /* Logical to physical fringe bitmap mappings. */ | 705 | /* Logical to physical fringe bitmap mappings. */ |
| 711 | Lisp_Object BUFFER_INTERNAL_FIELD (fringe_indicator_alist); | 706 | Lisp_Object INTERNAL_FIELD (fringe_indicator_alist); |
| 712 | 707 | ||
| 713 | /* Logical to physical cursor bitmap mappings. */ | 708 | /* Logical to physical cursor bitmap mappings. */ |
| 714 | Lisp_Object BUFFER_INTERNAL_FIELD (fringe_cursor_alist); | 709 | Lisp_Object INTERNAL_FIELD (fringe_cursor_alist); |
| 715 | 710 | ||
| 716 | /* Time stamp updated each time this buffer is displayed in a window. */ | 711 | /* Time stamp updated each time this buffer is displayed in a window. */ |
| 717 | Lisp_Object BUFFER_INTERNAL_FIELD (display_time); | 712 | Lisp_Object INTERNAL_FIELD (display_time); |
| 718 | 713 | ||
| 719 | /* If scrolling the display because point is below the bottom of a | 714 | /* If scrolling the display because point is below the bottom of a |
| 720 | window showing this buffer, try to choose a window start so | 715 | window showing this buffer, try to choose a window start so |
| 721 | that point ends up this number of lines from the top of the | 716 | that point ends up this number of lines from the top of the |
| 722 | window. Nil means that scrolling method isn't used. */ | 717 | window. Nil means that scrolling method isn't used. */ |
| 723 | Lisp_Object BUFFER_INTERNAL_FIELD (scroll_up_aggressively); | 718 | Lisp_Object INTERNAL_FIELD (scroll_up_aggressively); |
| 724 | 719 | ||
| 725 | /* If scrolling the display because point is above the top of a | 720 | /* If scrolling the display because point is above the top of a |
| 726 | window showing this buffer, try to choose a window start so | 721 | window showing this buffer, try to choose a window start so |
| 727 | that point ends up this number of lines from the bottom of the | 722 | that point ends up this number of lines from the bottom of the |
| 728 | window. Nil means that scrolling method isn't used. */ | 723 | window. Nil means that scrolling method isn't used. */ |
| 729 | Lisp_Object BUFFER_INTERNAL_FIELD (scroll_down_aggressively); | 724 | Lisp_Object INTERNAL_FIELD (scroll_down_aggressively); |
| 730 | 725 | ||
| 731 | /* Desired cursor type in this buffer. See the doc string of | 726 | /* Desired cursor type in this buffer. See the doc string of |
| 732 | per-buffer variable `cursor-type'. */ | 727 | per-buffer variable `cursor-type'. */ |
| 733 | Lisp_Object BUFFER_INTERNAL_FIELD (cursor_type); | 728 | Lisp_Object INTERNAL_FIELD (cursor_type); |
| 734 | 729 | ||
| 735 | /* An integer > 0 means put that number of pixels below text lines | 730 | /* An integer > 0 means put that number of pixels below text lines |
| 736 | in the display of this buffer. */ | 731 | in the display of this buffer. */ |
| 737 | Lisp_Object BUFFER_INTERNAL_FIELD (extra_line_spacing); | 732 | Lisp_Object INTERNAL_FIELD (extra_line_spacing); |
| 738 | 733 | ||
| 739 | /* Cursor type to display in non-selected windows. | 734 | /* Cursor type to display in non-selected windows. |
| 740 | t means to use hollow box cursor. | 735 | t means to use hollow box cursor. |
| 741 | See `cursor-type' for other values. */ | 736 | See `cursor-type' for other values. */ |
| 742 | Lisp_Object BUFFER_INTERNAL_FIELD (cursor_in_non_selected_windows); | 737 | Lisp_Object INTERNAL_FIELD (cursor_in_non_selected_windows); |
| 743 | 738 | ||
| 744 | /* No more Lisp_Object beyond this point. Except undo_list, | 739 | /* No more Lisp_Object beyond this point. Except undo_list, |
| 745 | which is handled specially in Fgarbage_collect . */ | 740 | which is handled specially in Fgarbage_collect . */ |
| @@ -861,7 +856,7 @@ struct buffer | |||
| 861 | buffer of an indirect buffer. But we can't store it in the | 856 | buffer of an indirect buffer. But we can't store it in the |
| 862 | struct buffer_text because local variables have to be right in | 857 | struct buffer_text because local variables have to be right in |
| 863 | the struct buffer. So we copy it around in set_buffer_internal. */ | 858 | the struct buffer. So we copy it around in set_buffer_internal. */ |
| 864 | Lisp_Object BUFFER_INTERNAL_FIELD (undo_list); | 859 | Lisp_Object INTERNAL_FIELD (undo_list); |
| 865 | }; | 860 | }; |
| 866 | 861 | ||
| 867 | 862 | ||
| @@ -1020,7 +1015,7 @@ extern int last_per_buffer_idx; | |||
| 1020 | from the start of a buffer structure. */ | 1015 | from the start of a buffer structure. */ |
| 1021 | 1016 | ||
| 1022 | #define PER_BUFFER_VAR_OFFSET(VAR) \ | 1017 | #define PER_BUFFER_VAR_OFFSET(VAR) \ |
| 1023 | offsetof (struct buffer, BUFFER_INTERNAL_FIELD (VAR)) | 1018 | offsetof (struct buffer, INTERNAL_FIELD (VAR)) |
| 1024 | 1019 | ||
| 1025 | /* Used to iterate over normal Lisp_Object fields of struct buffer (all | 1020 | /* Used to iterate over normal Lisp_Object fields of struct buffer (all |
| 1026 | Lisp_Objects except undo_list). If you add, remove, or reorder | 1021 | Lisp_Objects except undo_list). If you add, remove, or reorder |