diff options
Diffstat (limited to 'src/emacs-module.c')
-rw-r--r-- | src/emacs-module.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/emacs-module.c b/src/emacs-module.c index 1b19e8033df..c20902d0729 100644 --- a/src/emacs-module.c +++ b/src/emacs-module.c @@ -334,20 +334,20 @@ module_free_global_ref (emacs_env *env, emacs_value ref) Lisp_Object globals = global_env_private.values; Lisp_Object prev = Qnil; ptrdiff_t count = 0; - for (Lisp_Object tail = global_env_private.values; CONSP (tail); + for (Lisp_Object tail = globals; CONSP (tail); tail = XCDR (tail)) { - emacs_value global = XSAVE_POINTER (XCAR (globals), 0); + emacs_value global = XSAVE_POINTER (XCAR (tail), 0); if (global == ref) { if (NILP (prev)) global_env_private.values = XCDR (globals); else - XSETCDR (prev, XCDR (globals)); + XSETCDR (prev, XCDR (tail)); return; } ++count; - prev = globals; + prev = tail; } module_abort ("Global value was not found in list of %"pD"d globals", count); |