From 62d787ed124726fd1f73dcfb7227d83bc5940fcc Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Thu, 19 Nov 2015 11:49:27 -0800 Subject: [PATCH] Fix minor module problems found by static checking MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit * src/dynlib.c (dynlib_close): #ifdef out for now, as it’s not used. * src/eval.c, src/lisp.h (lisp_eval_depth): Now static. * src/module.c (Fmodule_load): Fix pointer signedness bug. (Fmodule_call): Tell GCC that the default case is unreachable. --- src/dynlib.c | 4 ++++ src/eval.c | 2 +- src/lisp.h | 1 - src/module.c | 4 +++- 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/dynlib.c b/src/dynlib.c index 491a08e0787..ed4f157d0fe 100644 --- a/src/dynlib.c +++ b/src/dynlib.c @@ -103,11 +103,15 @@ dynlib_error (void) return dlerror (); } +/* FIXME: Currently there is no way to unload a module, so this + function is never used. */ +#if false int dynlib_close (dynlib_handle_ptr h) { return dlclose (h) == 0; } +#endif #else diff --git a/src/eval.c b/src/eval.c index 396ca84a71d..9c171473b43 100644 --- a/src/eval.c +++ b/src/eval.c @@ -61,7 +61,7 @@ union specbinding *specpdl_ptr; /* Depth in Lisp evaluations and function calls. */ -EMACS_INT lisp_eval_depth; +static EMACS_INT lisp_eval_depth; /* The value of num_nonmacro_input_events as of the last time we started to enter the debugger. If we decide to enter the debugger diff --git a/src/lisp.h b/src/lisp.h index ce5a6d2aea8..f953ceb582f 100644 --- a/src/lisp.h +++ b/src/lisp.h @@ -3837,7 +3837,6 @@ intern_c_string (const char *str) } /* Defined in eval.c. */ -extern EMACS_INT lisp_eval_depth; extern Lisp_Object Vautoload_queue; extern Lisp_Object Vrun_hooks; extern Lisp_Object Vsignaling_function; diff --git a/src/module.c b/src/module.c index 35a9f48eb12..98264df35a9 100644 --- a/src/module.c +++ b/src/module.c @@ -697,7 +697,7 @@ DEFUN ("module-load", Fmodule_load, Smodule_load, 1, 1, 0, void *gpl_sym; CHECK_STRING (file); - handle = dynlib_open (SDATA (file)); + handle = dynlib_open (SSDATA (file)); if (!handle) error ("Cannot load file %s: %s", SDATA (file), dynlib_error ()); @@ -789,6 +789,8 @@ ARGLIST is a list of arguments passed to SUBRPTR. */) finalize_environment (&env); Fthrow (tag, value); } + default: + eassume (false); } } -- 2.39.5