Mercurial > emacs
comparison src/alloc.c @ 18621:53b95f307c75
(memory_full): Pass Qnil to Fsignal for ERROR_SYMBOL.
Fix bugs with inappropriate mixing of Lisp_Object with int.
| author | Richard M. Stallman <rms@gnu.org> |
|---|---|
| date | Sat, 05 Jul 1997 00:22:54 +0000 |
| parents | b2a669ef69b1 |
| children | 58f14958f5d5 |
comparison
equal
deleted
inserted
replaced
| 18620:ea924276b44b | 18621:53b95f307c75 |
|---|---|
| 235 } | 235 } |
| 236 | 236 |
| 237 /* This used to call error, but if we've run out of memory, we could get | 237 /* This used to call error, but if we've run out of memory, we could get |
| 238 infinite recursion trying to build the string. */ | 238 infinite recursion trying to build the string. */ |
| 239 while (1) | 239 while (1) |
| 240 Fsignal (Qerror, memory_signal_data); | 240 Fsignal (Qnil, memory_signal_data); |
| 241 } | 241 } |
| 242 | 242 |
| 243 /* Called if we can't allocate relocatable space for a buffer. */ | 243 /* Called if we can't allocate relocatable space for a buffer. */ |
| 244 | 244 |
| 245 void | 245 void |
| 512 } | 512 } |
| 513 | 513 |
| 514 #define MARK_INTERVAL_TREE(i) \ | 514 #define MARK_INTERVAL_TREE(i) \ |
| 515 do { \ | 515 do { \ |
| 516 if (!NULL_INTERVAL_P (i) \ | 516 if (!NULL_INTERVAL_P (i) \ |
| 517 && ! XMARKBIT ((Lisp_Object) i->parent)) \ | 517 && ! XMARKBIT (*(Lisp_Object *) &i->parent)) \ |
| 518 mark_interval_tree (i); \ | 518 mark_interval_tree (i); \ |
| 519 } while (0) | 519 } while (0) |
| 520 | 520 |
| 521 /* The oddity in the call to XUNMARK is necessary because XUNMARK | 521 /* The oddity in the call to XUNMARK is necessary because XUNMARK |
| 522 expands to an assignment to its argument, and most C compilers don't | 522 expands to an assignment to its argument, and most C compilers don't |
| 2262 markword = &mblk->markers[i].u_overlay.plist; | 2262 markword = &mblk->markers[i].u_overlay.plist; |
| 2263 break; | 2263 break; |
| 2264 case Lisp_Misc_Free: | 2264 case Lisp_Misc_Free: |
| 2265 /* If the object was already free, keep it | 2265 /* If the object was already free, keep it |
| 2266 on the free list. */ | 2266 on the free list. */ |
| 2267 markword = &already_free; | 2267 markword = (Lisp_Object *) &already_free; |
| 2268 break; | 2268 break; |
| 2269 default: | 2269 default: |
| 2270 markword = 0; | 2270 markword = 0; |
| 2271 break; | 2271 break; |
| 2272 } | 2272 } |
