aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/emacs-module.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/emacs-module.c b/src/emacs-module.c
index 84072b9917e..e730ca35ae5 100644
--- a/src/emacs-module.c
+++ b/src/emacs-module.c
@@ -293,6 +293,8 @@ module_free_global_ref (emacs_env *env, emacs_value ref)
293 check_main_thread (); 293 check_main_thread ();
294 eassert (module_non_local_exit_check (env) == emacs_funcall_exit_return); 294 eassert (module_non_local_exit_check (env) == emacs_funcall_exit_return);
295 /* TODO: This probably never signals. */ 295 /* TODO: This probably never signals. */
296 /* FIXME: Wait a minute. Shouldn't this function report an error if
297 the hash lookup fails? */
296 MODULE_HANDLE_SIGNALS_VOID; 298 MODULE_HANDLE_SIGNALS_VOID;
297 eassert (HASH_TABLE_P (Vmodule_refs_hash)); 299 eassert (HASH_TABLE_P (Vmodule_refs_hash));
298 struct Lisp_Hash_Table *h = XHASH_TABLE (Vmodule_refs_hash); 300 struct Lisp_Hash_Table *h = XHASH_TABLE (Vmodule_refs_hash);
@@ -307,7 +309,7 @@ module_free_global_ref (emacs_env *env, emacs_value ref)
307 EMACS_INT refcount = XFASTINT (value) - 1; 309 EMACS_INT refcount = XFASTINT (value) - 1;
308 if (refcount > 0) 310 if (refcount > 0)
309 { 311 {
310 value = make_natnum (refcount - 1); 312 value = make_natnum (refcount);
311 set_hash_value_slot (h, i, value); 313 set_hash_value_slot (h, i, value);
312 } 314 }
313 else 315 else