aboutsummaryrefslogtreecommitdiffstats
path: root/src/buffer.h
diff options
context:
space:
mode:
authorDmitry Antipov2012-07-31 16:36:19 +0400
committerDmitry Antipov2012-07-31 16:36:19 +0400
commite34f7f79833a23586d32fe522b547a0d9a696c13 (patch)
tree4a2d3927202cb91b474bc9648ca9dee2bffaa54a /src/buffer.h
parentc09bfb2f140b2885af17185634451e2abfd6e91c (diff)
downloademacs-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.h151
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