comparison src/lisp.h @ 5475:248176c74e6b

Merge with trunk.
author Mats Lidell <matsl@xemacs.org>
date Sat, 23 Apr 2011 23:47:13 +0200
parents 4dee0387b9de e99b473303e3
children b0d87f92e60b
comparison
equal deleted inserted replaced
5474:4dee0387b9de 5475:248176c74e6b
2119 Lisp_Object elt, tail, tortoise_##elt; \ 2119 Lisp_Object elt, tail, tortoise_##elt; \
2120 EMACS_INT len_##elt; \ 2120 EMACS_INT len_##elt; \
2121 PRIVATE_EXTERNAL_LIST_LOOP_6 (elt, list, len_##elt, tail, \ 2121 PRIVATE_EXTERNAL_LIST_LOOP_6 (elt, list, len_##elt, tail, \
2122 tortoise_##elt, CIRCULAR_LIST_SUSPICION_LENGTH) 2122 tortoise_##elt, CIRCULAR_LIST_SUSPICION_LENGTH)
2123 2123
2124 #define GC_EXTERNAL_LIST_LOOP_3(elt, list, tail) \
2125 do { \
2126 XGCDECL3 (elt); \
2127 Lisp_Object elt, tail, tortoise_##elt; \
2128 EMACS_INT len_##elt; \
2129 XGCPRO3 (elt, elt, tail, tortoise_##elt); \
2130 PRIVATE_EXTERNAL_LIST_LOOP_6 (elt, list, len_##elt, tail, \
2131 tortoise_##elt, \
2132 CIRCULAR_LIST_SUSPICION_LENGTH)
2133
2124 #define EXTERNAL_LIST_LOOP_4_NO_DECLARE(elt, list, tail, len) \ 2134 #define EXTERNAL_LIST_LOOP_4_NO_DECLARE(elt, list, tail, len) \
2125 Lisp_Object tortoise_##elt; \ 2135 Lisp_Object tortoise_##elt; \
2126 PRIVATE_EXTERNAL_LIST_LOOP_6 (elt, list, len, tail, \ 2136 PRIVATE_EXTERNAL_LIST_LOOP_6 (elt, list, len, tail, \
2127 tortoise_##elt, CIRCULAR_LIST_SUSPICION_LENGTH) 2137 tortoise_##elt, CIRCULAR_LIST_SUSPICION_LENGTH)
2128 2138
2129 #define EXTERNAL_LIST_LOOP_4(elt, list, tail, len) \ 2139 #define EXTERNAL_LIST_LOOP_4(elt, list, tail, len) \
2130 Lisp_Object elt, tail, tortoise_##elt; \ 2140 Lisp_Object elt, tail, tortoise_##elt; \
2131 EMACS_INT len; \ 2141 EMACS_INT len; \
2132 PRIVATE_EXTERNAL_LIST_LOOP_6 (elt, list, len, tail, \ 2142 PRIVATE_EXTERNAL_LIST_LOOP_6 (elt, list, len, tail, \
2133 tortoise_##elt, CIRCULAR_LIST_SUSPICION_LENGTH) 2143 tortoise_##elt, CIRCULAR_LIST_SUSPICION_LENGTH)
2144
2145 #define GC_EXTERNAL_LIST_LOOP_4(elt, list, tail, len) \
2146 do { \
2147 XGCDECL3 (elt); \
2148 Lisp_Object elt, tail, tortoise_##elt; \
2149 XGCPRO3 (elt, elt, tail, tortoise_##elt); \
2150 PRIVATE_EXTERNAL_LIST_LOOP_6 (elt, list, len, tail, \
2151 tortoise_##elt, \
2152 CIRCULAR_LIST_SUSPICION_LENGTH)
2134 2153
2135 #define PRIVATE_UNVERIFIED_LIST_LOOP_7(elt, list, len, hare, \ 2154 #define PRIVATE_UNVERIFIED_LIST_LOOP_7(elt, list, len, hare, \
2136 tortoise, suspicion_length, \ 2155 tortoise, suspicion_length, \
2137 signalp) \ 2156 signalp) \
2138 for (tortoise = hare = list, len = 0; \ 2157 for (tortoise = hare = list, len = 0; \