diff options
author | Andy Wingo <wingo@pobox.com> | 2009-12-29 14:09:50 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2009-12-29 14:09:50 +0100 |
commit | 1c5e812258da4b002d309f969d722c86004ecf94 (patch) | |
tree | ff8783df35d78172dda8f86c0e52691f1497f63f /libguile/frames.c | |
parent | b8596c08ac2ef2201c1e8559ac5f4d62ebde3d91 (diff) | |
download | guile-1c5e812258da4b002d309f969d722c86004ecf94.tar.gz |
clean up (system vm frames), add locals command to debugger
* libguile/frames.c (scm_init_frames): No need to bootstrap the VM here,
it should be already bootstrapped by init.c.
(scm_bootstrap_frames): No need to register an extension, as
scm_init_frames is called by init.c.
* module/system/vm/frame.scm: Don't load the scm_init_frames extension,
as the primitives from frames.c are loaded by Guile's init.
(frame-bindings): Change to return bindings, as can be accessed by the
binding: accessors from program.scm.
(frame-lookup-binding): Revive and make this one work with current
code.
(frame-binding-set!):
(frame-binding-ref): Use the new frame-lookup-binding. Perhaps these
should handle boxing and unboxing, though.
(frame-source): New accessor, returns a source object.
(frame-call-representation): Change to return a full list, as
truncated-print can truncate for us.
(frame-environment, frame-object-binding, frame-object-name): Update
not to take an address, as the address is part of the frame.
(frame-variable-exists?, frame-variable-ref, frame-variable-set!)
(frame-local-variables, frame-program-name, print-frame)
(print-frame-chain-as-backtrace, frame-file, frame-line-number)
(make-frame-chain, bootstrap-frame?, frame-number, frame-address):
Remove these outdated functions.
* module/system/vm/debug.scm (debugger-repl): Use
frame-call-representation, and ~@y.
(locals): New command, prints local variables in a frame.
Diffstat (limited to 'libguile/frames.c')
-rw-r--r-- | libguile/frames.c | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/libguile/frames.c b/libguile/frames.c index 5c61eb088..5d390ab60 100644 --- a/libguile/frames.c +++ b/libguile/frames.c @@ -304,15 +304,11 @@ scm_bootstrap_frames (void) { scm_tc16_frame = scm_make_smob_type ("frame", 0); scm_set_smob_print (scm_tc16_frame, frame_print); - scm_c_register_extension ("libguile", "scm_init_frames", - (scm_t_extension_init_func)scm_init_frames, NULL); } void scm_init_frames (void) { - scm_bootstrap_vm (); - #ifndef SCM_MAGIC_SNARFER #include "libguile/frames.x" #endif |