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 }