diff options
| author | Paul Eggert | 2011-10-12 09:48:12 -0700 |
|---|---|---|
| committer | Paul Eggert | 2011-10-12 09:48:12 -0700 |
| commit | 682432fc544c2bb4e0531c2931d43bce085eb16a (patch) | |
| tree | 4bc9e4d78f34e19254382246b89a3462a0186311 /src/lisp.h | |
| parent | d44287d4adc1e268ef9974ea72010f0186f40197 (diff) | |
| parent | 79beb1785aac3f8326f58710462e4b6be7f0449a (diff) | |
| download | emacs-682432fc544c2bb4e0531c2931d43bce085eb16a.tar.gz emacs-682432fc544c2bb4e0531c2931d43bce085eb16a.zip | |
Merge from trunk.
Diffstat (limited to 'src/lisp.h')
| -rw-r--r-- | src/lisp.h | 116 |
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 | ||
| 2321 | extern int gcpro_level; | 2321 | extern 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 */ |