diff options
| author | Kenichi Handa | 2012-08-28 22:44:20 +0900 |
|---|---|---|
| committer | Kenichi Handa | 2012-08-28 22:44:20 +0900 |
| commit | 4eb4de01df384be9b8d811f7ab476eeb37ece748 (patch) | |
| tree | d04f0dae31dd8b533a0c3cd738430841ce7ebb84 /src/buffer.h | |
| parent | fabc1281e9cde34ff9a19d843316d2ceca8647ad (diff) | |
| parent | 4f2daf31078e2cc059710e129dffe0beed8fc7c2 (diff) | |
| download | emacs-4eb4de01df384be9b8d811f7ab476eeb37ece748.tar.gz emacs-4eb4de01df384be9b8d811f7ab476eeb37ece748.zip | |
merge trunk
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 6c63c52dc47..3acf1423816 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. */ |
| @@ -1006,23 +1006,46 @@ extern struct buffer buffer_local_symbols; | |||
| 1006 | 1006 | ||
| 1007 | extern void delete_all_overlays (struct buffer *); | 1007 | extern void delete_all_overlays (struct buffer *); |
| 1008 | extern void reset_buffer (struct buffer *); | 1008 | extern void reset_buffer (struct buffer *); |
| 1009 | extern int compact_buffer (struct buffer *); | 1009 | extern void compact_buffer (struct buffer *); |
| 1010 | extern void evaporate_overlays (ptrdiff_t); | 1010 | extern void evaporate_overlays (ptrdiff_t); |
| 1011 | extern ptrdiff_t overlays_at (EMACS_INT pos, int extend, Lisp_Object **vec_ptr, | 1011 | extern ptrdiff_t overlays_at (EMACS_INT, bool, Lisp_Object **, |
| 1012 | ptrdiff_t *len_ptr, ptrdiff_t *next_ptr, | 1012 | ptrdiff_t *, ptrdiff_t *, ptrdiff_t *, bool); |
| 1013 | ptrdiff_t *prev_ptr, int change_req); | ||
| 1014 | extern ptrdiff_t sort_overlays (Lisp_Object *, ptrdiff_t, struct window *); | 1013 | extern ptrdiff_t sort_overlays (Lisp_Object *, ptrdiff_t, struct window *); |
| 1015 | extern void recenter_overlay_lists (struct buffer *, ptrdiff_t); | 1014 | extern void recenter_overlay_lists (struct buffer *, ptrdiff_t); |
| 1016 | extern ptrdiff_t overlay_strings (ptrdiff_t, struct window *, unsigned char **); | 1015 | extern ptrdiff_t overlay_strings (ptrdiff_t, struct window *, unsigned char **); |
| 1017 | extern void validate_region (Lisp_Object *, Lisp_Object *); | 1016 | extern void validate_region (Lisp_Object *, Lisp_Object *); |
| 1018 | extern void set_buffer_internal (struct buffer *); | ||
| 1019 | extern void set_buffer_internal_1 (struct buffer *); | 1017 | extern void set_buffer_internal_1 (struct buffer *); |
| 1020 | extern void set_buffer_temp (struct buffer *); | 1018 | extern void set_buffer_temp (struct buffer *); |
| 1021 | extern Lisp_Object buffer_local_value_1 (Lisp_Object, Lisp_Object); | 1019 | extern Lisp_Object buffer_local_value_1 (Lisp_Object, Lisp_Object); |
| 1022 | extern void record_buffer (Lisp_Object); | 1020 | extern void record_buffer (Lisp_Object); |
| 1023 | extern _Noreturn void buffer_slot_type_mismatch (Lisp_Object, int); | 1021 | extern _Noreturn void buffer_slot_type_mismatch (Lisp_Object, int); |
| 1024 | extern void fix_overlays_before (struct buffer *, ptrdiff_t, ptrdiff_t); | 1022 | extern void fix_overlays_before (struct buffer *, ptrdiff_t, ptrdiff_t); |
| 1025 | extern void mmap_set_vars (int); | 1023 | extern void mmap_set_vars (bool); |
| 1024 | |||
| 1025 | /* Set the current buffer to B. | ||
| 1026 | |||
| 1027 | We previously set windows_or_buffers_changed here to invalidate | ||
| 1028 | global unchanged information in beg_unchanged and end_unchanged. | ||
| 1029 | This is no longer necessary because we now compute unchanged | ||
| 1030 | information on a buffer-basis. Every action affecting other | ||
| 1031 | windows than the selected one requires a select_window at some | ||
| 1032 | time, and that increments windows_or_buffers_changed. */ | ||
| 1033 | |||
| 1034 | BUFFER_INLINE void | ||
| 1035 | set_buffer_internal (struct buffer *b) | ||
| 1036 | { | ||
| 1037 | if (current_buffer != b) | ||
| 1038 | set_buffer_internal_1 (b); | ||
| 1039 | } | ||
| 1040 | |||
| 1041 | /* Arrange to go back to the original buffer after the next | ||
| 1042 | call to unbind_to if the original buffer is still alive. */ | ||
| 1043 | |||
| 1044 | BUFFER_INLINE void | ||
| 1045 | record_unwind_current_buffer (void) | ||
| 1046 | { | ||
| 1047 | record_unwind_protect (set_buffer_if_live, Fcurrent_buffer ()); | ||
| 1048 | } | ||
| 1026 | 1049 | ||
| 1027 | /* Get overlays at POSN into array OVERLAYS with NOVERLAYS elements. | 1050 | /* Get overlays at POSN into array OVERLAYS with NOVERLAYS elements. |
| 1028 | If NEXTP is non-NULL, return next overlay there. | 1051 | If NEXTP is non-NULL, return next overlay there. |
| @@ -1067,7 +1090,7 @@ set_buffer_intervals (struct buffer *b, INTERVAL i) | |||
| 1067 | 1090 | ||
| 1068 | /* Non-zero if current buffer has overlays. */ | 1091 | /* Non-zero if current buffer has overlays. */ |
| 1069 | 1092 | ||
| 1070 | BUFFER_INLINE int | 1093 | BUFFER_INLINE bool |
| 1071 | buffer_has_overlays (void) | 1094 | buffer_has_overlays (void) |
| 1072 | { | 1095 | { |
| 1073 | return current_buffer->overlays_before || current_buffer->overlays_after; | 1096 | return current_buffer->overlays_before || current_buffer->overlays_after; |
| @@ -1243,7 +1266,7 @@ downcase (int c) | |||
| 1243 | } | 1266 | } |
| 1244 | 1267 | ||
| 1245 | /* 1 if C is upper case. */ | 1268 | /* 1 if C is upper case. */ |
| 1246 | BUFFER_INLINE int uppercasep (int c) { return downcase (c) != c; } | 1269 | BUFFER_INLINE bool uppercasep (int c) { return downcase (c) != c; } |
| 1247 | 1270 | ||
| 1248 | /* Upcase a character C known to be not upper case. */ | 1271 | /* Upcase a character C known to be not upper case. */ |
| 1249 | BUFFER_INLINE int | 1272 | BUFFER_INLINE int |
| @@ -1255,8 +1278,11 @@ upcase1 (int c) | |||
| 1255 | } | 1278 | } |
| 1256 | 1279 | ||
| 1257 | /* 1 if C is lower case. */ | 1280 | /* 1 if C is lower case. */ |
| 1258 | BUFFER_INLINE int lowercasep (int c) | 1281 | BUFFER_INLINE bool |
| 1259 | { return !uppercasep (c) && upcase1 (c) != c; } | 1282 | lowercasep (int c) |
| 1283 | { | ||
| 1284 | return !uppercasep (c) && upcase1 (c) != c; | ||
| 1285 | } | ||
| 1260 | 1286 | ||
| 1261 | /* Upcase a character C, or make no change if that cannot be done. */ | 1287 | /* Upcase a character C, or make no change if that cannot be done. */ |
| 1262 | BUFFER_INLINE int upcase (int c) { return uppercasep (c) ? c : upcase1 (c); } | 1288 | BUFFER_INLINE int upcase (int c) { return uppercasep (c) ? c : upcase1 (c); } |