420 |
"Create a new stack. If @var{obj} is @code{#t}, the current\n" |
"Create a new stack. If @var{obj} is @code{#t}, the current\n" |
421 |
"evaluation stack is used for creating the stack frames,\n" |
"evaluation stack is used for creating the stack frames,\n" |
422 |
"otherwise the frames are taken from @var{obj} (which must be\n" |
"otherwise the frames are taken from @var{obj} (which must be\n" |
423 |
"either a debug object or a continuation).\n" |
"either a debug object or a continuation).\n\n" |
424 |
"@var{args} must be a list of integers and specifies how the\n" |
"@var{args} should be a list containing any combination of\n" |
425 |
"resulting stack will be narrowed.") |
"integer, procedure and @code{#t} values.\n\n" |
426 |
|
"These values specify various ways of cutting away uninteresting\n" |
427 |
|
"stack frames from the top and bottom of the stack that\n" |
428 |
|
"@code{make-stack} returns. They come in pairs like this:\n" |
429 |
|
"@code{(@var{inner_cut_1} @var{outer_cut_1} @var{inner_cut_2}\n" |
430 |
|
"@var{outer_cut_2} @dots{})}.\n\n" |
431 |
|
"Each @var{inner_cut_N} can be @code{#t}, an integer, or a\n" |
432 |
|
"procedure. @code{#t} means to cut away all frames up to but\n" |
433 |
|
"excluding the first user module frame. An integer means to cut\n" |
434 |
|
"away exactly that number of frames. A procedure means to cut\n" |
435 |
|
"away all frames up to but excluding the application frame whose\n" |
436 |
|
"procedure matches the specified one.\n\n" |
437 |
|
"Each @var{outer_cut_N} can be an integer or a procedure. An\n" |
438 |
|
"integer means to cut away that number of frames. A procedure\n" |
439 |
|
"means to cut away frames down to but excluding the application\n" |
440 |
|
"frame whose procedure matches the specified one.\n\n" |
441 |
|
"If the @var{outer_cut_N} of the last pair is missing, it is\n" |
442 |
|
"taken as 0.") |
443 |
#define FUNC_NAME s_scm_make_stack |
#define FUNC_NAME s_scm_make_stack |
444 |
{ |
{ |
445 |
long n, size; |
long n, size; |