aboutsummaryrefslogtreecommitdiffstats
path: root/src/buffer.h
diff options
context:
space:
mode:
authorTom Tromey2012-09-04 10:10:06 -0600
committerTom Tromey2012-09-04 10:10:06 -0600
commitbf69f522a9e135f9aa483cedd53e71e915f2bf75 (patch)
tree3f73c47fb863ef87f420de1d30858da821072bd9 /src/buffer.h
parent303324a9232dbc89369faceb6b3530740d0fc1bd (diff)
parent6ec9a5a7b5efb129807f567709ca858211ed7840 (diff)
downloademacs-bf69f522a9e135f9aa483cedd53e71e915f2bf75.tar.gz
emacs-bf69f522a9e135f9aa483cedd53e71e915f2bf75.zip
merge from trunk
Diffstat (limited to 'src/buffer.h')
-rw-r--r--src/buffer.h48
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
1003extern void delete_all_overlays (struct buffer *); 1003extern void delete_all_overlays (struct buffer *);
1004extern void reset_buffer (struct buffer *); 1004extern void reset_buffer (struct buffer *);
1005extern int compact_buffer (struct buffer *); 1005extern void compact_buffer (struct buffer *);
1006extern void evaporate_overlays (ptrdiff_t); 1006extern void evaporate_overlays (ptrdiff_t);
1007extern ptrdiff_t overlays_at (EMACS_INT pos, int extend, Lisp_Object **vec_ptr, 1007extern 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);
1010extern ptrdiff_t sort_overlays (Lisp_Object *, ptrdiff_t, struct window *); 1009extern ptrdiff_t sort_overlays (Lisp_Object *, ptrdiff_t, struct window *);
1011extern void recenter_overlay_lists (struct buffer *, ptrdiff_t); 1010extern void recenter_overlay_lists (struct buffer *, ptrdiff_t);
1012extern ptrdiff_t overlay_strings (ptrdiff_t, struct window *, unsigned char **); 1011extern ptrdiff_t overlay_strings (ptrdiff_t, struct window *, unsigned char **);
1013extern void validate_region (Lisp_Object *, Lisp_Object *); 1012extern void validate_region (Lisp_Object *, Lisp_Object *);
1014extern void set_buffer_internal (struct buffer *);
1015extern void set_buffer_internal_1 (struct buffer *); 1013extern void set_buffer_internal_1 (struct buffer *);
1016extern void set_buffer_temp (struct buffer *); 1014extern void set_buffer_temp (struct buffer *);
1017extern Lisp_Object buffer_local_value_1 (Lisp_Object, Lisp_Object); 1015extern Lisp_Object buffer_local_value_1 (Lisp_Object, Lisp_Object);
1018extern void record_buffer (Lisp_Object); 1016extern void record_buffer (Lisp_Object);
1019extern _Noreturn void buffer_slot_type_mismatch (Lisp_Object, int); 1017extern _Noreturn void buffer_slot_type_mismatch (Lisp_Object, int);
1020extern void fix_overlays_before (struct buffer *, ptrdiff_t, ptrdiff_t); 1018extern void fix_overlays_before (struct buffer *, ptrdiff_t, ptrdiff_t);
1021extern void mmap_set_vars (int); 1019extern 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
1030BUFFER_INLINE void
1031set_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
1040BUFFER_INLINE void
1041record_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
1066BUFFER_INLINE int 1089BUFFER_INLINE bool
1067buffer_has_overlays (void) 1090buffer_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. */
1242BUFFER_INLINE int uppercasep (int c) { return downcase (c) != c; } 1265BUFFER_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. */
1245BUFFER_INLINE int 1268BUFFER_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. */
1254BUFFER_INLINE int lowercasep (int c) 1277BUFFER_INLINE bool
1255{ return !uppercasep (c) && upcase1 (c) != c; } 1278lowercasep (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. */
1258BUFFER_INLINE int upcase (int c) { return uppercasep (c) ? c : upcase1 (c); } 1284BUFFER_INLINE int upcase (int c) { return uppercasep (c) ? c : upcase1 (c); }