aboutsummaryrefslogtreecommitdiffstats
path: root/src/lisp.h
diff options
context:
space:
mode:
authorPaul Eggert2011-10-12 09:48:12 -0700
committerPaul Eggert2011-10-12 09:48:12 -0700
commit682432fc544c2bb4e0531c2931d43bce085eb16a (patch)
tree4bc9e4d78f34e19254382246b89a3462a0186311 /src/lisp.h
parentd44287d4adc1e268ef9974ea72010f0186f40197 (diff)
parent79beb1785aac3f8326f58710462e4b6be7f0449a (diff)
downloademacs-682432fc544c2bb4e0531c2931d43bce085eb16a.tar.gz
emacs-682432fc544c2bb4e0531c2931d43bce085eb16a.zip
Merge from trunk.
Diffstat (limited to 'src/lisp.h')
-rw-r--r--src/lisp.h116
1 files changed, 58 insertions, 58 deletions
diff --git a/src/lisp.h b/src/lisp.h
index 2c54c9b41ed..17f1705675e 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -2275,105 +2275,105 @@ struct gcpro
2275 2275
2276#ifndef DEBUG_GCPRO 2276#ifndef DEBUG_GCPRO
2277 2277
2278#define GCPRO1_VAR(var, gcpro) \ 2278#define GCPRO1_VAR(var1, gcpro) \
2279 {gcpro##1.next = gcprolist; gcpro##1.var = &var; gcpro##1.nvars = 1; \ 2279 {gcpro##1 .next = gcprolist; gcpro##1 .var = &var1; gcpro##1 .nvars = 1; \
2280 gcprolist = &gcpro##1; } 2280 gcprolist = &gcpro##1; }
2281 2281
2282#define GCPRO2_VAR(var1, var2, gcpro) \ 2282#define GCPRO2_VAR(var1, var2, gcpro) \
2283 {gcpro##1.next = gcprolist; gcpro##1.var = &var1; gcpro##1.nvars = 1; \ 2283 {gcpro##1 .next = gcprolist; gcpro##1 .var = &var1; gcpro##1 .nvars = 1; \
2284 gcpro##2.next = &gcpro##1; gcpro##2.var = &var2; gcpro##2.nvars = 1; \ 2284 gcpro##2 .next = &gcpro##1; gcpro##2 .var = &var2; gcpro##2 .nvars = 1; \
2285 gcprolist = &gcpro##2; } 2285 gcprolist = &gcpro##2; }
2286 2286
2287#define GCPRO3_VAR(var1, var2, var3, gcpro) \ 2287#define GCPRO3_VAR(var1, var2, var3, gcpro) \
2288 {gcpro##1.next = gcprolist; gcpro##1.var = &var1; gcpro##1.nvars = 1; \ 2288 {gcpro##1 .next = gcprolist; gcpro##1 .var = &var1; gcpro##1 .nvars = 1; \
2289 gcpro##2.next = &gcpro##1; gcpro##2.var = &var2; gcpro##2.nvars = 1; \ 2289 gcpro##2 .next = &gcpro##1; gcpro##2 .var = &var2; gcpro##2 .nvars = 1; \
2290 gcpro##3.next = &gcpro##2; gcpro##3.var = &var3; gcpro##3.nvars = 1; \ 2290 gcpro##3 .next = &gcpro##2; gcpro##3 .var = &var3; gcpro##3 .nvars = 1; \
2291 gcprolist = &gcpro##3; } 2291 gcprolist = &gcpro##3; }
2292 2292
2293#define GCPRO4_VAR(var1, var2, var3, var4, gcpro) \ 2293#define GCPRO4_VAR(var1, var2, var3, var4, gcpro) \
2294 {gcpro##1.next = gcprolist; gcpro##1.var = &var1; gcpro##1.nvars = 1; \ 2294 {gcpro##1 .next = gcprolist; gcpro##1 .var = &var1; gcpro##1 .nvars = 1; \
2295 gcpro##2.next = &gcpro##1; gcpro##2.var = &var2; gcpro##2.nvars = 1; \ 2295 gcpro##2 .next = &gcpro##1; gcpro##2 .var = &var2; gcpro##2 .nvars = 1; \
2296 gcpro##3.next = &gcpro##2; gcpro##3.var = &var3; gcpro##3.nvars = 1; \ 2296 gcpro##3 .next = &gcpro##2; gcpro##3 .var = &var3; gcpro##3 .nvars = 1; \
2297 gcpro##4.next = &gcpro##3; gcpro##4.var = &var4; gcpro##4.nvars = 1; \ 2297 gcpro##4 .next = &gcpro##3; gcpro##4 .var = &var4; gcpro##4 .nvars = 1; \
2298 gcprolist = &gcpro##4; } 2298 gcprolist = &gcpro##4; }
2299 2299
2300#define GCPRO5_VAR(var1, var2, var3, var4, var5, gcpro) \ 2300#define GCPRO5_VAR(var1, var2, var3, var4, var5, gcpro) \
2301 {gcpro##1.next = gcprolist; gcpro##1.var = &var1; gcpro##1.nvars = 1; \ 2301 {gcpro##1 .next = gcprolist; gcpro##1 .var = &var1; gcpro##1 .nvars = 1; \
2302 gcpro##2.next = &gcpro##1; gcpro##2.var = &var2; gcpro##2.nvars = 1; \ 2302 gcpro##2 .next = &gcpro##1; gcpro##2 .var = &var2; gcpro##2 .nvars = 1; \
2303 gcpro##3.next = &gcpro##2; gcpro##3.var = &var3; gcpro##3.nvars = 1; \ 2303 gcpro##3 .next = &gcpro##2; gcpro##3 .var = &var3; gcpro##3 .nvars = 1; \
2304 gcpro##4.next = &gcpro##3; gcpro##4.var = &var4; gcpro##4.nvars = 1; \ 2304 gcpro##4 .next = &gcpro##3; gcpro##4 .var = &var4; gcpro##4 .nvars = 1; \
2305 gcpro##5.next = &gcpro##4; gcpro##5.var = &var5; gcpro##5.nvars = 1; \ 2305 gcpro##5 .next = &gcpro##4; gcpro##5 .var = &var5; gcpro##5 .nvars = 1; \
2306 gcprolist = &gcpro##5; } 2306 gcprolist = &gcpro##5; }
2307 2307
2308#define GCPRO6_VAR(var1, var2, var3, var4, var5, var6, gcpro) \ 2308#define GCPRO6_VAR(var1, var2, var3, var4, var5, var6, gcpro) \
2309 {gcpro##1.next = gcprolist; gcpro##1.var = &var1; gcpro##1.nvars = 1; \ 2309 {gcpro##1 .next = gcprolist; gcpro##1 .var = &var1; gcpro##1 .nvars = 1; \
2310 gcpro##2.next = &gcpro##1; gcpro##2.var = &var2; gcpro##2.nvars = 1; \ 2310 gcpro##2 .next = &gcpro##1; gcpro##2 .var = &var2; gcpro##2 .nvars = 1; \
2311 gcpro##3.next = &gcpro##2; gcpro##3.var = &var3; gcpro##3.nvars = 1; \ 2311 gcpro##3 .next = &gcpro##2; gcpro##3 .var = &var3; gcpro##3 .nvars = 1; \
2312 gcpro##4.next = &gcpro##3; gcpro##4.var = &var4; gcpro##4.nvars = 1; \ 2312 gcpro##4 .next = &gcpro##3; gcpro##4 .var = &var4; gcpro##4 .nvars = 1; \
2313 gcpro##5.next = &gcpro##4; gcpro##5.var = &var5; gcpro##5.nvars = 1; \ 2313 gcpro##5 .next = &gcpro##4; gcpro##5 .var = &var5; gcpro##5 .nvars = 1; \
2314 gcpro##6.next = &gcpro##5; gcpro##6.var = &var6; gcpro##6.nvars = 1; \ 2314 gcpro##6 .next = &gcpro##5; gcpro##6 .var = &var6; gcpro##6 .nvars = 1; \
2315 gcprolist = &gcpro##6; } 2315 gcprolist = &gcpro##6; }
2316 2316
2317#define UNGCPRO_VAR(gcpro) (gcprolist = gcpro##1.next) 2317#define UNGCPRO_VAR(gcpro) (gcprolist = gcpro##1 .next)
2318 2318
2319#else 2319#else
2320 2320
2321extern int gcpro_level; 2321extern int gcpro_level;
2322 2322
2323#define GCPRO1_VAR(var, gcpro) \ 2323#define GCPRO1_VAR(var1, gcpro) \
2324 {gcpro##1.next = gcprolist; gcpro##1.var = &var; gcpro##1.nvars = 1; \ 2324 {gcpro##1 .next = gcprolist; gcpro##1 .var = &var1; gcpro##1 .nvars = 1; \
2325 gcpro##1.level = gcpro_level++; \ 2325 gcpro##1 .level = gcpro_level++; \
2326 gcprolist = &gcpro##1; } 2326 gcprolist = &gcpro##1; }
2327 2327
2328#define GCPRO2_VAR(var1, var2, gcpro) \ 2328#define GCPRO2_VAR(var1, var2, gcpro) \
2329 {gcpro##1.next = gcprolist; gcpro##1.var = &var1; gcpro##1.nvars = 1; \ 2329 {gcpro##1 .next = gcprolist; gcpro##1 .var = &var1; gcpro##1 .nvars = 1; \
2330 gcpro##1.level = gcpro_level; \ 2330 gcpro##1 .level = gcpro_level; \
2331 gcpro##2.next = &gcpro##1; gcpro##2.var = &var2; gcpro##2.nvars = 1; \ 2331 gcpro##2 .next = &gcpro##1; gcpro##2 .var = &var2; gcpro##2 .nvars = 1; \
2332 gcpro##2.level = gcpro_level++; \ 2332 gcpro##2 .level = gcpro_level++; \
2333 gcprolist = &gcpro##2; } 2333 gcprolist = &gcpro##2; }
2334 2334
2335#define GCPRO3_VAR(var1, var2, var3, gcpro) \ 2335#define GCPRO3_VAR(var1, var2, var3, gcpro) \
2336 {gcpro##1.next = gcprolist; gcpro##1.var = &var1; gcpro##1.nvars = 1; \ 2336 {gcpro##1 .next = gcprolist; gcpro##1 .var = &var1; gcpro##1 .nvars = 1; \
2337 gcpro##1.level = gcpro_level; \ 2337 gcpro##1 .level = gcpro_level; \
2338 gcpro##2.next = &gcpro##1; gcpro##2.var = &var2; gcpro##2.nvars = 1; \ 2338 gcpro##2 .next = &gcpro##1; gcpro##2 .var = &var2; gcpro##2 .nvars = 1; \
2339 gcpro##3.next = &gcpro##2; gcpro##3.var = &var3; gcpro##3.nvars = 1; \ 2339 gcpro##3 .next = &gcpro##2; gcpro##3 .var = &var3; gcpro##3 .nvars = 1; \
2340 gcpro##3.level = gcpro_level++; \ 2340 gcpro##3 .level = gcpro_level++; \
2341 gcprolist = &gcpro##3; } 2341 gcprolist = &gcpro##3; }
2342 2342
2343#define GCPRO4_VAR(var1, var2, var3, var4, gcpro) \ 2343#define GCPRO4_VAR(var1, var2, var3, var4, gcpro) \
2344 {gcpro##1.next = gcprolist; gcpro##1.var = &var1; gcpro##1.nvars = 1; \ 2344 {gcpro##1 .next = gcprolist; gcpro##1 .var = &var1; gcpro##1 .nvars = 1; \
2345 gcpro##1.level = gcpro_level; \ 2345 gcpro##1 .level = gcpro_level; \
2346 gcpro##2.next = &gcpro##1; gcpro##2.var = &var2; gcpro##2.nvars = 1; \ 2346 gcpro##2 .next = &gcpro##1; gcpro##2 .var = &var2; gcpro##2 .nvars = 1; \
2347 gcpro##3.next = &gcpro##2; gcpro##3.var = &var3; gcpro##3.nvars = 1; \ 2347 gcpro##3 .next = &gcpro##2; gcpro##3 .var = &var3; gcpro##3 .nvars = 1; \
2348 gcpro##4.next = &gcpro##3; gcpro##4.var = &var4; gcpro##4.nvars = 1; \ 2348 gcpro##4 .next = &gcpro##3; gcpro##4 .var = &var4; gcpro##4 .nvars = 1; \
2349 gcpro##4.level = gcpro_level++; \ 2349 gcpro##4 .level = gcpro_level++; \
2350 gcprolist = &gcpro##4; } 2350 gcprolist = &gcpro##4; }
2351 2351
2352#define GCPRO5_VAR(var1, var2, var3, var4, var5, gcpro) \ 2352#define GCPRO5_VAR(var1, var2, var3, var4, var5, gcpro) \
2353 {gcpro##1.next = gcprolist; gcpro##1.var = &var1; gcpro##1.nvars = 1; \ 2353 {gcpro##1 .next = gcprolist; gcpro##1 .var = &var1; gcpro##1 .nvars = 1; \
2354 gcpro##1.level = gcpro_level; \ 2354 gcpro##1 .level = gcpro_level; \
2355 gcpro##2.next = &gcpro##1; gcpro##2.var = &var2; gcpro##2.nvars = 1; \ 2355 gcpro##2 .next = &gcpro##1; gcpro##2 .var = &var2; gcpro##2 .nvars = 1; \
2356 gcpro##3.next = &gcpro##2; gcpro##3.var = &var3; gcpro##3.nvars = 1; \ 2356 gcpro##3 .next = &gcpro##2; gcpro##3 .var = &var3; gcpro##3 .nvars = 1; \
2357 gcpro##4.next = &gcpro##3; gcpro##4.var = &var4; gcpro##4.nvars = 1; \ 2357 gcpro##4 .next = &gcpro##3; gcpro##4 .var = &var4; gcpro##4 .nvars = 1; \
2358 gcpro##5.next = &gcpro##4; gcpro##5.var = &var5; gcpro##5.nvars = 1; \ 2358 gcpro##5 .next = &gcpro##4; gcpro##5 .var = &var5; gcpro##5 .nvars = 1; \
2359 gcpro##5.level = gcpro_level++; \ 2359 gcpro##5 .level = gcpro_level++; \
2360 gcprolist = &gcpro##5; } 2360 gcprolist = &gcpro##5; }
2361 2361
2362#define GCPRO6_VAR(var1, var2, var3, var4, var5, var6, gcpro) \ 2362#define GCPRO6_VAR(var1, var2, var3, var4, var5, var6, gcpro) \
2363 {gcpro##1.next = gcprolist; gcpro##1.var = &var1; gcpro##1.nvars = 1; \ 2363 {gcpro##1 .next = gcprolist; gcpro##1 .var = &var1; gcpro##1 .nvars = 1; \
2364 gcpro##1.level = gcpro_level; \ 2364 gcpro##1 .level = gcpro_level; \
2365 gcpro##2.next = &gcpro##1; gcpro##2.var = &var2; gcpro##2.nvars = 1; \ 2365 gcpro##2 .next = &gcpro##1; gcpro##2 .var = &var2; gcpro##2 .nvars = 1; \
2366 gcpro##3.next = &gcpro##2; gcpro##3.var = &var3; gcpro##3.nvars = 1; \ 2366 gcpro##3 .next = &gcpro##2; gcpro##3 .var = &var3; gcpro##3 .nvars = 1; \
2367 gcpro##4.next = &gcpro##3; gcpro##4.var = &var4; gcpro##4.nvars = 1; \ 2367 gcpro##4 .next = &gcpro##3; gcpro##4 .var = &var4; gcpro##4 .nvars = 1; \
2368 gcpro##5.next = &gcpro##4; gcpro##5.var = &var5; gcpro##5.nvars = 1; \ 2368 gcpro##5 .next = &gcpro##4; gcpro##5 .var = &var5; gcpro##5 .nvars = 1; \
2369 gcpro##6.next = &gcpro##5; gcpro##6.var = &var6; gcpro##6.nvars = 1; \ 2369 gcpro##6 .next = &gcpro##5; gcpro##6 .var = &var6; gcpro##6 .nvars = 1; \
2370 gcpro##6.level = gcpro_level++; \ 2370 gcpro##6 .level = gcpro_level++; \
2371 gcprolist = &gcpro##6; } 2371 gcprolist = &gcpro##6; }
2372 2372
2373#define UNGCPRO_VAR(gcpro) \ 2373#define UNGCPRO_VAR(gcpro) \
2374 ((--gcpro_level != gcpro##1.level) \ 2374 ((--gcpro_level != gcpro##1 .level) \
2375 ? (abort (), 0) \ 2375 ? (abort (), 0) \
2376 : ((gcprolist = gcpro##1.next), 0)) 2376 : ((gcprolist = gcpro##1 .next), 0))
2377 2377
2378#endif /* DEBUG_GCPRO */ 2378#endif /* DEBUG_GCPRO */
2379#endif /* GC_MARK_STACK != GC_MAKE_GCPROS_NOOPS */ 2379#endif /* GC_MARK_STACK != GC_MAKE_GCPROS_NOOPS */