From ed104dd48299712450c289908ec43f6e49468959 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Sat, 7 May 2016 19:29:28 -0700 Subject: Avoid unnecessary evaluation in argument defaulting. * lib.h (default_arg): Inline function becomes macro, so we can avoid evaluating the default value expression when it is not needed. * lib.c (default_arg): Declaration removed. --- lib.h | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'lib.h') diff --git a/lib.h b/lib.h index 3dc75d61..18f7f6d9 100644 --- a/lib.h +++ b/lib.h @@ -1024,10 +1024,7 @@ INLINE int null_or_missing_p(val v) { return (nilp(v) || missingp(v)); } #define tnil(c_cond) ((c_cond) ? t : nil) -INLINE val default_arg(val arg, val dfl) -{ - return if3(null_or_missing_p(arg), dfl, arg); -} +#define default_arg(arg, dfl) if3(null_or_missing_p(arg), dfl, arg) INLINE val default_bool_arg(val arg) { -- cgit v1.2.3