aboutsummaryrefslogtreecommitdiffstats
path: root/src/buffer.h
diff options
context:
space:
mode:
authorKenichi Handa2012-08-28 22:44:20 +0900
committerKenichi Handa2012-08-28 22:44:20 +0900
commit4eb4de01df384be9b8d811f7ab476eeb37ece748 (patch)
treed04f0dae31dd8b533a0c3cd738430841ce7ebb84 /src/buffer.h
parentfabc1281e9cde34ff9a19d843316d2ceca8647ad (diff)
parent4f2daf31078e2cc059710e129dffe0beed8fc7c2 (diff)
downloademacs-4eb4de01df384be9b8d811f7ab476eeb37ece748.tar.gz
emacs-4eb4de01df384be9b8d811f7ab476eeb37ece748.zip
merge 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 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
1007extern void delete_all_overlays (struct buffer *); 1007extern void delete_all_overlays (struct buffer *);
1008extern void reset_buffer (struct buffer *); 1008extern void reset_buffer (struct buffer *);
1009extern int compact_buffer (struct buffer *); 1009extern void compact_buffer (struct buffer *);
1010extern void evaporate_overlays (ptrdiff_t); 1010extern void evaporate_overlays (ptrdiff_t);
1011extern ptrdiff_t overlays_at (EMACS_INT pos, int extend, Lisp_Object **vec_ptr, 1011extern 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);
1014extern ptrdiff_t sort_overlays (Lisp_Object *, ptrdiff_t, struct window *); 1013extern ptrdiff_t sort_overlays (Lisp_Object *, ptrdiff_t, struct window *);
1015extern void recenter_overlay_lists (struct buffer *, ptrdiff_t); 1014extern void recenter_overlay_lists (struct buffer *, ptrdiff_t);
1016extern ptrdiff_t overlay_strings (ptrdiff_t, struct window *, unsigned char **); 1015extern ptrdiff_t overlay_strings (ptrdiff_t, struct window *, unsigned char **);
1017extern void validate_region (Lisp_Object *, Lisp_Object *); 1016extern void validate_region (Lisp_Object *, Lisp_Object *);
1018extern void set_buffer_internal (struct buffer *);
1019extern void set_buffer_internal_1 (struct buffer *); 1017extern void set_buffer_internal_1 (struct buffer *);
1020extern void set_buffer_temp (struct buffer *); 1018extern void set_buffer_temp (struct buffer *);
1021extern Lisp_Object buffer_local_value_1 (Lisp_Object, Lisp_Object); 1019extern Lisp_Object buffer_local_value_1 (Lisp_Object, Lisp_Object);
1022extern void record_buffer (Lisp_Object); 1020extern void record_buffer (Lisp_Object);
1023extern _Noreturn void buffer_slot_type_mismatch (Lisp_Object, int); 1021extern _Noreturn void buffer_slot_type_mismatch (Lisp_Object, int);
1024extern void fix_overlays_before (struct buffer *, ptrdiff_t, ptrdiff_t); 1022extern void fix_overlays_before (struct buffer *, ptrdiff_t, ptrdiff_t);
1025extern void mmap_set_vars (int); 1023extern 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
1034BUFFER_INLINE void
1035set_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
1044BUFFER_INLINE void
1045record_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
1070BUFFER_INLINE int 1093BUFFER_INLINE bool
1071buffer_has_overlays (void) 1094buffer_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. */
1246BUFFER_INLINE int uppercasep (int c) { return downcase (c) != c; } 1269BUFFER_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. */
1249BUFFER_INLINE int 1272BUFFER_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. */
1258BUFFER_INLINE int lowercasep (int c) 1281BUFFER_INLINE bool
1259{ return !uppercasep (c) && upcase1 (c) != c; } 1282lowercasep (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. */
1262BUFFER_INLINE int upcase (int c) { return uppercasep (c) ? c : upcase1 (c); } 1288BUFFER_INLINE int upcase (int c) { return uppercasep (c) ? c : upcase1 (c); }