mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-16 16:50:21 +02:00
default to regular vm for noninteractive use
* libguile/script.c (scm_compile_shell_switches): Select the debugging VM in the cases that we previously would select deval -- when running interactively without --no-debug, or otherwise with --debug. * libguile/vm.c: Default to the regular engine. (scm_c_set_vm_engine_x): Remove requirement for the VM to have no pending computations.
This commit is contained in:
parent
f2ee6341ba
commit
97b18a6640
2 changed files with 5 additions and 13 deletions
|
@ -40,6 +40,7 @@
|
|||
#include "libguile/strports.h"
|
||||
#include "libguile/validate.h"
|
||||
#include "libguile/version.h"
|
||||
#include "libguile/vm.h"
|
||||
|
||||
#ifdef HAVE_STRING_H
|
||||
#include <string.h>
|
||||
|
@ -718,7 +719,10 @@ scm_compile_shell_switches (int argc, char **argv)
|
|||
was not explicitly turned off, turn on debugging. */
|
||||
if (turn_on_debugging || (interactive && !dont_turn_on_debugging))
|
||||
{
|
||||
/* FIXME: backtraces and positions should always be on (?) */
|
||||
tail = scm_cons (scm_cons (sym_turn_on_debugging, SCM_EOL), tail);
|
||||
scm_c_set_default_vm_engine_x (SCM_VM_DEBUG_ENGINE);
|
||||
scm_c_set_vm_engine_x (scm_the_vm (), SCM_VM_DEBUG_ENGINE);
|
||||
}
|
||||
|
||||
{
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
#include "programs.h"
|
||||
#include "vm.h"
|
||||
|
||||
static int vm_default_engine = SCM_VM_DEBUG_ENGINE;
|
||||
static int vm_default_engine = SCM_VM_REGULAR_ENGINE;
|
||||
|
||||
/* Unfortunately we can't snarf these: snarfed things are only loaded up from
|
||||
(system vm vm), which might not be loaded before an error happens. */
|
||||
|
@ -745,13 +745,6 @@ vm_engine_to_symbol (int engine, const char *FUNC_NAME)
|
|||
}
|
||||
}
|
||||
|
||||
static int
|
||||
vm_has_pending_computation (SCM vm)
|
||||
{
|
||||
struct scm_vm *vp = SCM_VM_DATA (vm);
|
||||
return vp->sp >= vp->stack_base;
|
||||
}
|
||||
|
||||
SCM_DEFINE (scm_vm_engine, "vm-engine", 1, 0, 0,
|
||||
(SCM vm),
|
||||
"")
|
||||
|
@ -768,11 +761,6 @@ scm_c_set_vm_engine_x (SCM vm, int engine)
|
|||
{
|
||||
SCM_VALIDATE_VM (1, vm);
|
||||
|
||||
if (vm_has_pending_computation (vm))
|
||||
SCM_MISC_ERROR ("VM engine may only be changed while there are no "
|
||||
"pending computations.",
|
||||
SCM_EOL);
|
||||
|
||||
if (engine < 0 || engine >= SCM_VM_NUM_ENGINES)
|
||||
SCM_MISC_ERROR ("Unknown VM engine: ~a",
|
||||
scm_list_1 (scm_from_int (engine)));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue