Mercurial > emacs
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. */) |
