summaryrefslogtreecommitdiff
path: root/libguile/vm-i-loader.c
diff options
context:
space:
mode:
Diffstat (limited to 'libguile/vm-i-loader.c')
-rw-r--r--libguile/vm-i-loader.c24
1 files changed, 1 insertions, 23 deletions
diff --git a/libguile/vm-i-loader.c b/libguile/vm-i-loader.c
index 515001d61..b231d392f 100644
--- a/libguile/vm-i-loader.c
+++ b/libguile/vm-i-loader.c
@@ -124,29 +124,7 @@ VM_DEFINE_INSTRUCTION (66, link_now, "link-now", 0, 1, 1)
SCM what;
POP (what);
SYNC_REGISTER ();
- if (SCM_LIKELY (SCM_SYMBOLP (what)))
- {
- PUSH (scm_lookup (what)); /* might longjmp */
- }
- else
- {
- SCM mod;
- /* compilation of @ or @@
- `what' is a three-element list: (MODNAME SYM INTERFACE?)
- INTERFACE? is #t if we compiled @ or #f if we compiled @@
- */
- mod = scm_resolve_module (SCM_CAR (what));
- if (scm_is_true (SCM_CADDR (what)))
- mod = scm_module_public_interface (mod);
- if (SCM_FALSEP (mod))
- {
- finish_args = scm_list_1 (SCM_CAR (what));
- goto vm_error_no_such_module;
- }
- /* might longjmp */
- PUSH (scm_module_lookup (mod, SCM_CADR (what)));
- }
-
+ PUSH (resolve_variable (what, scm_current_module ()));
NEXT;
}