diff options
| author | Joakim Verona | 2010-05-13 15:13:52 +0200 |
|---|---|---|
| committer | Joakim Verona | 2010-05-13 15:13:52 +0200 |
| commit | ce07fa9adcea121b5515f98e161e257d1210c9b0 (patch) | |
| tree | e1f4791841752bfc70d9daa3f5ddcb75ec2a8193 /src/buffer.h | |
| parent | 86fa4cb5094901384f680e2ba4d6424e53fa820c (diff) | |
| parent | 38d93f03c75ddbf853fe9de5444ee2d4e01226a0 (diff) | |
| download | emacs-ce07fa9adcea121b5515f98e161e257d1210c9b0.tar.gz emacs-ce07fa9adcea121b5515f98e161e257d1210c9b0.zip | |
merge and fixes
Diffstat (limited to 'src/buffer.h')
| -rw-r--r-- | src/buffer.h | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/src/buffer.h b/src/buffer.h index fa3fc6dafb8..d03152abd85 100644 --- a/src/buffer.h +++ b/src/buffer.h | |||
| @@ -107,6 +107,11 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 107 | #define BUF_BEG(buf) (BEG) | 107 | #define BUF_BEG(buf) (BEG) |
| 108 | #define BUF_BEG_BYTE(buf) (BEG_BYTE) | 108 | #define BUF_BEG_BYTE(buf) (BEG_BYTE) |
| 109 | 109 | ||
| 110 | /* !!!FIXME: all the BUF_BEGV/BUF_ZV/BUF_PT macros are flawed: | ||
| 111 | on indirect (or base) buffers, that value is only correct if that buffer | ||
| 112 | is the current_buffer, or if the buffer's text hasn't been modified (via | ||
| 113 | an indirect buffer) since it was last current. */ | ||
| 114 | |||
| 110 | /* Position of beginning of accessible range of buffer. */ | 115 | /* Position of beginning of accessible range of buffer. */ |
| 111 | #define BUF_BEGV(buf) ((buf)->begv) | 116 | #define BUF_BEGV(buf) ((buf)->begv) |
| 112 | #define BUF_BEGV_BYTE(buf) ((buf)->begv_byte) | 117 | #define BUF_BEGV_BYTE(buf) ((buf)->begv_byte) |
| @@ -313,7 +318,7 @@ while (0) | |||
| 313 | - (ptr - (current_buffer)->text->beg <= (unsigned) (GPT_BYTE - BEG_BYTE) ? 0 : GAP_SIZE) \ | 318 | - (ptr - (current_buffer)->text->beg <= (unsigned) (GPT_BYTE - BEG_BYTE) ? 0 : GAP_SIZE) \ |
| 314 | + BEG_BYTE) | 319 | + BEG_BYTE) |
| 315 | 320 | ||
| 316 | /* Return character at position POS. */ | 321 | /* Return character at byte position POS. */ |
| 317 | 322 | ||
| 318 | #define FETCH_CHAR(pos) \ | 323 | #define FETCH_CHAR(pos) \ |
| 319 | (!NILP (current_buffer->enable_multibyte_characters) \ | 324 | (!NILP (current_buffer->enable_multibyte_characters) \ |
| @@ -327,7 +332,7 @@ while (0) | |||
| 327 | /* Variables used locally in FETCH_MULTIBYTE_CHAR. */ | 332 | /* Variables used locally in FETCH_MULTIBYTE_CHAR. */ |
| 328 | extern unsigned char *_fetch_multibyte_char_p; | 333 | extern unsigned char *_fetch_multibyte_char_p; |
| 329 | 334 | ||
| 330 | /* Return character code of multi-byte form at position POS. If POS | 335 | /* Return character code of multi-byte form at byte position POS. If POS |
| 331 | doesn't point the head of valid multi-byte form, only the byte at | 336 | doesn't point the head of valid multi-byte form, only the byte at |
| 332 | POS is returned. No range checking. */ | 337 | POS is returned. No range checking. */ |
| 333 | 338 | ||
| @@ -336,7 +341,7 @@ extern unsigned char *_fetch_multibyte_char_p; | |||
| 336 | + (pos) + BEG_ADDR - BEG_BYTE), \ | 341 | + (pos) + BEG_ADDR - BEG_BYTE), \ |
| 337 | STRING_CHAR (_fetch_multibyte_char_p)) | 342 | STRING_CHAR (_fetch_multibyte_char_p)) |
| 338 | 343 | ||
| 339 | /* Return character at position POS. If the current buffer is unibyte | 344 | /* Return character at byte position POS. If the current buffer is unibyte |
| 340 | and the character is not ASCII, make the returning character | 345 | and the character is not ASCII, make the returning character |
| 341 | multibyte. */ | 346 | multibyte. */ |
| 342 | 347 | ||
| @@ -447,7 +452,10 @@ struct buffer_text | |||
| 447 | /* The markers that refer to this buffer. | 452 | /* The markers that refer to this buffer. |
| 448 | This is actually a single marker --- | 453 | This is actually a single marker --- |
| 449 | successive elements in its marker `chain' | 454 | successive elements in its marker `chain' |
| 450 | are the other markers referring to this buffer. */ | 455 | are the other markers referring to this buffer. |
| 456 | This is a singly linked unordered list, which means that it's | ||
| 457 | very cheap to add a marker to the list and it's also very cheap | ||
| 458 | to move a marker within a buffer. */ | ||
| 451 | struct Lisp_Marker *markers; | 459 | struct Lisp_Marker *markers; |
| 452 | 460 | ||
| 453 | /* Usually 0. Temporarily set to 1 in decode_coding_gap to | 461 | /* Usually 0. Temporarily set to 1 in decode_coding_gap to |
| @@ -671,9 +679,6 @@ struct buffer | |||
| 671 | /* Non-nil means reorder bidirectional text for display in the | 679 | /* Non-nil means reorder bidirectional text for display in the |
| 672 | visual order. */ | 680 | visual order. */ |
| 673 | Lisp_Object bidi_display_reordering; | 681 | Lisp_Object bidi_display_reordering; |
| 674 | /* Non-nil means set beginning of lines at the right edge of | ||
| 675 | windows. */ | ||
| 676 | Lisp_Object direction_reversed; | ||
| 677 | /* If non-nil, specifies which direction of text to force in all the | 682 | /* If non-nil, specifies which direction of text to force in all the |
| 678 | paragraphs of the buffer. Nil means determine paragraph | 683 | paragraphs of the buffer. Nil means determine paragraph |
| 679 | direction dynamically for each paragraph. */ | 684 | direction dynamically for each paragraph. */ |
| @@ -843,6 +848,7 @@ extern struct buffer buffer_defaults; | |||
| 843 | be a Lisp-level local variable for the slot, it has no default value, | 848 | be a Lisp-level local variable for the slot, it has no default value, |
| 844 | and the corresponding slot in buffer_defaults is not used. */ | 849 | and the corresponding slot in buffer_defaults is not used. */ |
| 845 | 850 | ||
| 851 | |||
| 846 | extern struct buffer buffer_local_flags; | 852 | extern struct buffer buffer_local_flags; |
| 847 | 853 | ||
| 848 | /* For each buffer slot, this points to the Lisp symbol name | 854 | /* For each buffer slot, this points to the Lisp symbol name |
| @@ -948,7 +954,7 @@ extern int last_per_buffer_idx; | |||
| 948 | from the start of a buffer structure. */ | 954 | from the start of a buffer structure. */ |
| 949 | 955 | ||
| 950 | #define PER_BUFFER_VAR_OFFSET(VAR) \ | 956 | #define PER_BUFFER_VAR_OFFSET(VAR) \ |
| 951 | ((char *) &buffer_local_flags.VAR - (char *) &buffer_local_flags) | 957 | ((char *) &((struct buffer *)0)->VAR - (char *) ((struct buffer *)0)) |
| 952 | 958 | ||
| 953 | /* Return the index of buffer-local variable VAR. Each per-buffer | 959 | /* Return the index of buffer-local variable VAR. Each per-buffer |
| 954 | variable has an index > 0 associated with it, except when it always | 960 | variable has an index > 0 associated with it, except when it always |
| @@ -1013,11 +1019,5 @@ extern int last_per_buffer_idx; | |||
| 1013 | #define PER_BUFFER_VALUE(BUFFER, OFFSET) \ | 1019 | #define PER_BUFFER_VALUE(BUFFER, OFFSET) \ |
| 1014 | (*(Lisp_Object *)((OFFSET) + (char *) (BUFFER))) | 1020 | (*(Lisp_Object *)((OFFSET) + (char *) (BUFFER))) |
| 1015 | 1021 | ||
| 1016 | /* Return the symbol of the per-buffer variable at offset OFFSET in | ||
| 1017 | the buffer structure. */ | ||
| 1018 | |||
| 1019 | #define PER_BUFFER_SYMBOL(OFFSET) \ | ||
| 1020 | (*(Lisp_Object *)((OFFSET) + (char *) &buffer_local_symbols)) | ||
| 1021 | |||
| 1022 | /* arch-tag: 679305dd-d41c-4a50-b170-3caf5c97b2d1 | 1022 | /* arch-tag: 679305dd-d41c-4a50-b170-3caf5c97b2d1 |
| 1023 | (do not change this comment) */ | 1023 | (do not change this comment) */ |