comparison src/alloc.c @ 49055:cea2e52c7ca5

(make_save_value): New function.
author Richard M. Stallman <rms@gnu.org>
date Mon, 06 Jan 2003 00:45:45 +0000
parents 3bf6323fe318
children e807249d08c1
comparison
equal deleted inserted replaced
49054:6b6ac8aa78d2 49055:cea2e52c7ca5
2626 XSETMISC (val, &marker_block->markers[marker_block_index++]); 2626 XSETMISC (val, &marker_block->markers[marker_block_index++]);
2627 } 2627 }
2628 2628
2629 consing_since_gc += sizeof (union Lisp_Misc); 2629 consing_since_gc += sizeof (union Lisp_Misc);
2630 misc_objects_consed++; 2630 misc_objects_consed++;
2631 return val;
2632 }
2633
2634 /* Return a Lisp_Misc_Save_Value object containing POINTER and
2635 INTEGER. This is used to package C values to call record_unwind_protect.
2636 The unwind function can get the C values back using XSAVE_VALUE. */
2637
2638 Lisp_Object
2639 make_save_value (pointer, integer)
2640 void *pointer;
2641 int integer;
2642 {
2643 register Lisp_Object val;
2644 register struct Lisp_Save_Value *p;
2645
2646 val = allocate_misc ();
2647 XMISCTYPE (val) = Lisp_Misc_Save_Value;
2648 p = XSAVE_VALUE (val);
2649 p->pointer = pointer;
2650 p->integer = integer;
2631 return val; 2651 return val;
2632 } 2652 }
2633 2653
2634 DEFUN ("make-marker", Fmake_marker, Smake_marker, 0, 0, 0, 2654 DEFUN ("make-marker", Fmake_marker, Smake_marker, 0, 0, 0,
2635 doc: /* Return a newly allocated marker which does not point at any place. */) 2655 doc: /* Return a newly allocated marker which does not point at any place. */)