diff --git a/libguile/vm-engine.c b/libguile/vm-engine.c index 9509cd643..1136b2271 100644 --- a/libguile/vm-engine.c +++ b/libguile/vm-engine.c @@ -151,7 +151,8 @@ code, or otherwise push anything on the stack, you will need to CACHE_SP afterwards to restore the possibly-changed stack pointer. */ -#define SYNC_IP() vp->ip = (ip) +#define SYNC_IP() \ + do { vp->ip = (ip); vp->sp = (sp); } while (0) #define CACHE_SP() sp = vp->sp #define CACHE_REGISTER() \