diff options
Diffstat (limited to 'src/buffer.h')
| -rw-r--r-- | src/buffer.h | 48 |
1 files changed, 37 insertions, 11 deletions
diff --git a/src/buffer.h b/src/buffer.h index de7ca7eb2e7..e603486418b 100644 --- a/src/buffer.h +++ b/src/buffer.h | |||
| @@ -471,7 +471,7 @@ struct buffer_text | |||
| 471 | /* Usually 0. Temporarily set to 1 in decode_coding_gap to | 471 | /* Usually 0. Temporarily set to 1 in decode_coding_gap to |
| 472 | prevent Fgarbage_collect from shrinking the gap and losing | 472 | prevent Fgarbage_collect from shrinking the gap and losing |
| 473 | not-yet-decoded bytes. */ | 473 | not-yet-decoded bytes. */ |
| 474 | int inhibit_shrinking; | 474 | bool inhibit_shrinking; |
| 475 | }; | 475 | }; |
| 476 | 476 | ||
| 477 | /* Most code should use this macro to access Lisp fields in struct buffer. */ | 477 | /* Most code should use this macro to access Lisp fields in struct buffer. */ |
| @@ -1002,23 +1002,46 @@ extern struct buffer buffer_local_symbols; | |||
| 1002 | 1002 | ||
| 1003 | extern void delete_all_overlays (struct buffer *); | 1003 | extern void delete_all_overlays (struct buffer *); |
| 1004 | extern void reset_buffer (struct buffer *); | 1004 | extern void reset_buffer (struct buffer *); |
| 1005 | extern int compact_buffer (struct buffer *); | 1005 | extern void compact_buffer (struct buffer *); |
| 1006 | extern void evaporate_overlays (ptrdiff_t); | 1006 | extern void evaporate_overlays (ptrdiff_t); |
| 1007 | extern ptrdiff_t overlays_at (EMACS_INT pos, int extend, Lisp_Object **vec_ptr, | 1007 | extern ptrdiff_t overlays_at (EMACS_INT, bool, Lisp_Object **, |
| 1008 | ptrdiff_t *len_ptr, ptrdiff_t *next_ptr, | 1008 | ptrdiff_t *, ptrdiff_t *, ptrdiff_t *, bool); |
| 1009 | ptrdiff_t *prev_ptr, int change_req); | ||
| 1010 | extern ptrdiff_t sort_overlays (Lisp_Object *, ptrdiff_t, struct window *); | 1009 | extern ptrdiff_t sort_overlays (Lisp_Object *, ptrdiff_t, struct window *); |
| 1011 | extern void recenter_overlay_lists (struct buffer *, ptrdiff_t); | 1010 | extern void recenter_overlay_lists (struct buffer *, ptrdiff_t); |
| 1012 | extern ptrdiff_t overlay_strings (ptrdiff_t, struct window *, unsigned char **); | 1011 | extern ptrdiff_t overlay_strings (ptrdiff_t, struct window *, unsigned char **); |
| 1013 | extern void validate_region (Lisp_Object *, Lisp_Object *); | 1012 | extern void validate_region (Lisp_Object *, Lisp_Object *); |
| 1014 | extern void set_buffer_internal (struct buffer *); | ||
| 1015 | extern void set_buffer_internal_1 (struct buffer *); | 1013 | extern void set_buffer_internal_1 (struct buffer *); |
| 1016 | extern void set_buffer_temp (struct buffer *); | 1014 | extern void set_buffer_temp (struct buffer *); |
| 1017 | extern Lisp_Object buffer_local_value_1 (Lisp_Object, Lisp_Object); | 1015 | extern Lisp_Object buffer_local_value_1 (Lisp_Object, Lisp_Object); |
| 1018 | extern void record_buffer (Lisp_Object); | 1016 | extern void record_buffer (Lisp_Object); |
| 1019 | extern _Noreturn void buffer_slot_type_mismatch (Lisp_Object, int); | 1017 | extern _Noreturn void buffer_slot_type_mismatch (Lisp_Object, int); |
| 1020 | extern void fix_overlays_before (struct buffer *, ptrdiff_t, ptrdiff_t); | 1018 | extern void fix_overlays_before (struct buffer *, ptrdiff_t, ptrdiff_t); |
| 1021 | extern void mmap_set_vars (int); | 1019 | extern void mmap_set_vars (bool); |
| 1020 | |||
| 1021 | /* Set the current buffer to B. | ||
| 1022 | |||
| 1023 | We previously set windows_or_buffers_changed here to invalidate | ||
| 1024 | global unchanged information in beg_unchanged and end_unchanged. | ||
| 1025 | This is no longer necessary because we now compute unchanged | ||
| 1026 | information on a buffer-basis. Every action affecting other | ||
| 1027 | windows than the selected one requires a select_window at some | ||
| 1028 | time, and that increments windows_or_buffers_changed. */ | ||
| 1029 | |||
| 1030 | BUFFER_INLINE void | ||
| 1031 | set_buffer_internal (struct buffer *b) | ||
| 1032 | { | ||
| 1033 | if (current_buffer != b) | ||
| 1034 | set_buffer_internal_1 (b); | ||
| 1035 | } | ||
| 1036 | |||
| 1037 | /* Arrange to go back to the original buffer after the next | ||
| 1038 | call to unbind_to if the original buffer is still alive. */ | ||
| 1039 | |||
| 1040 | BUFFER_INLINE void | ||
| 1041 | record_unwind_current_buffer (void) | ||
| 1042 | { | ||
| 1043 | record_unwind_protect (set_buffer_if_live, Fcurrent_buffer ()); | ||
| 1044 | } | ||
| 1022 | 1045 | ||
| 1023 | /* Get overlays at POSN into array OVERLAYS with NOVERLAYS elements. | 1046 | /* Get overlays at POSN into array OVERLAYS with NOVERLAYS elements. |
| 1024 | If NEXTP is non-NULL, return next overlay there. | 1047 | If NEXTP is non-NULL, return next overlay there. |
| @@ -1063,7 +1086,7 @@ set_buffer_intervals (struct buffer *b, INTERVAL i) | |||
| 1063 | 1086 | ||
| 1064 | /* Non-zero if current buffer has overlays. */ | 1087 | /* Non-zero if current buffer has overlays. */ |
| 1065 | 1088 | ||
| 1066 | BUFFER_INLINE int | 1089 | BUFFER_INLINE bool |
| 1067 | buffer_has_overlays (void) | 1090 | buffer_has_overlays (void) |
| 1068 | { | 1091 | { |
| 1069 | return current_buffer->overlays_before || current_buffer->overlays_after; | 1092 | return current_buffer->overlays_before || current_buffer->overlays_after; |
| @@ -1239,7 +1262,7 @@ downcase (int c) | |||
| 1239 | } | 1262 | } |
| 1240 | 1263 | ||
| 1241 | /* 1 if C is upper case. */ | 1264 | /* 1 if C is upper case. */ |
| 1242 | BUFFER_INLINE int uppercasep (int c) { return downcase (c) != c; } | 1265 | BUFFER_INLINE bool uppercasep (int c) { return downcase (c) != c; } |
| 1243 | 1266 | ||
| 1244 | /* Upcase a character C known to be not upper case. */ | 1267 | /* Upcase a character C known to be not upper case. */ |
| 1245 | BUFFER_INLINE int | 1268 | BUFFER_INLINE int |
| @@ -1251,8 +1274,11 @@ upcase1 (int c) | |||
| 1251 | } | 1274 | } |
| 1252 | 1275 | ||
| 1253 | /* 1 if C is lower case. */ | 1276 | /* 1 if C is lower case. */ |
| 1254 | BUFFER_INLINE int lowercasep (int c) | 1277 | BUFFER_INLINE bool |
| 1255 | { return !uppercasep (c) && upcase1 (c) != c; } | 1278 | lowercasep (int c) |
| 1279 | { | ||
| 1280 | return !uppercasep (c) && upcase1 (c) != c; | ||
| 1281 | } | ||
| 1256 | 1282 | ||
| 1257 | /* Upcase a character C, or make no change if that cannot be done. */ | 1283 | /* Upcase a character C, or make no change if that cannot be done. */ |
| 1258 | BUFFER_INLINE int upcase (int c) { return uppercasep (c) ? c : upcase1 (c); } | 1284 | BUFFER_INLINE int upcase (int c) { return uppercasep (c) ? c : upcase1 (c); } |