aboutsummaryrefslogtreecommitdiffstats
path: root/src/buffer.h
diff options
context:
space:
mode:
authorDmitry Antipov2012-08-14 08:49:18 +0400
committerDmitry Antipov2012-08-14 08:49:18 +0400
commitfd318b54074f824376e7766cf127b6a4624f191a (patch)
tree147a2831bfca1bbe454842c657dca75b2ad31b1d /src/buffer.h
parent41a62dd97860c5154838ee87745fd380b45a4883 (diff)
downloademacs-fd318b54074f824376e7766cf127b6a4624f191a.tar.gz
emacs-fd318b54074f824376e7766cf127b6a4624f191a.zip
Revert and cleanup some recent overlay changes.
* buffer.h (enum overlay_type): Remove. (buffer_get_overlays, buffer_set_overlays): Likewise. (buffer_set_overlays_before, buffer_set_overlays_after): New function. Adjust users. (unchain_both): Add eassert.
Diffstat (limited to 'src/buffer.h')
-rw-r--r--src/buffer.h68
1 files changed, 22 insertions, 46 deletions
diff --git a/src/buffer.h b/src/buffer.h
index 286c20d9e9c..7a6bddee5ec 100644
--- a/src/buffer.h
+++ b/src/buffer.h
@@ -946,52 +946,6 @@ extern void mmap_set_vars (int);
946 } \ 946 } \
947 } while (0) 947 } while (0)
948 948
949enum overlay_type
950{
951 OV_BEFORE,
952 OV_AFTER
953};
954
955/* Get overlay list of type T and belonging to B. */
956
957BUFFER_INLINE struct Lisp_Overlay *
958buffer_get_overlays (struct buffer *b, enum overlay_type t)
959{
960 if (!b)
961 b = current_buffer;
962 if (t == OV_BEFORE)
963 return b->overlays_before;
964 else if (t == OV_AFTER)
965 return b->overlays_after;
966 else
967 abort ();
968}
969
970/* Set overlay list of type T as belonging to B. */
971
972BUFFER_INLINE void
973buffer_set_overlays (struct buffer *b, struct Lisp_Overlay *o,
974 enum overlay_type t)
975{
976 if (!b)
977 b = current_buffer;
978 if (t == OV_BEFORE)
979 b->overlays_before = o;
980 else if (t == OV_AFTER)
981 b->overlays_after = o;
982 else
983 abort ();
984}
985
986/* Non-zero if current buffer has overlays. */
987
988BUFFER_INLINE int
989buffer_has_overlays (void)
990{
991 return buffer_get_overlays (current_buffer, OV_BEFORE)
992 || buffer_get_overlays (current_buffer, OV_AFTER);
993}
994
995extern Lisp_Object Qbefore_change_functions; 949extern Lisp_Object Qbefore_change_functions;
996extern Lisp_Object Qafter_change_functions; 950extern Lisp_Object Qafter_change_functions;
997extern Lisp_Object Qfirst_change_hook; 951extern Lisp_Object Qfirst_change_hook;
@@ -1014,6 +968,28 @@ buffer_set_intervals (struct buffer *b, INTERVAL i)
1014 b->text->intervals = i; 968 b->text->intervals = i;
1015} 969}
1016 970
971/* Set an appropriate overlay of B. */
972
973BUFFER_INLINE void
974buffer_set_overlays_before (struct buffer *b, struct Lisp_Overlay *o)
975{
976 b->overlays_before = o;
977}
978
979BUFFER_INLINE void
980buffer_set_overlays_after (struct buffer *b, struct Lisp_Overlay *o)
981{
982 b->overlays_after = o;
983}
984
985/* Non-zero if current buffer has overlays. */
986
987BUFFER_INLINE int
988buffer_has_overlays (void)
989{
990 return current_buffer->overlays_before || current_buffer->overlays_after;
991}
992
1017/* Return character code of multi-byte form at byte position POS. If POS 993/* Return character code of multi-byte form at byte position POS. If POS
1018 doesn't point the head of valid multi-byte form, only the byte at 994 doesn't point the head of valid multi-byte form, only the byte at
1019 POS is returned. No range checking. 995 POS is returned. No range checking.