diff options
author | Justus Winter <[email protected]> | 2016-11-09 12:34:54 +0000 |
---|---|---|
committer | Justus Winter <[email protected]> | 2016-11-10 13:57:07 +0000 |
commit | 568cfcde45a0d6c456d8f8be1ea0e408416badad (patch) | |
tree | fc25ad24a19fa185d5c2d8c26760d0c9592b2506 | |
parent | gpgscm: Drop obsolete commented-out code. (diff) | |
download | gnupg-568cfcde45a0d6c456d8f8be1ea0e408416badad.tar.gz gnupg-568cfcde45a0d6c456d8f8be1ea0e408416badad.zip |
gpgscm: Make the compile-hook configurable.
* tests/gpgscm/scheme-private.h (struct scheme): Make field
'COMPILE_HOOK' optional.
* tests/gpgscm/scheme.c (opexe_0): Fix guard.
(scheme_init_custom_alloc): Conditionally initialize 'COMPILE_HOOK'.
* tests/gpgscm/scheme.h (USE_COMPILE_HOOK): Define to 1 by default.
Signed-off-by: Justus Winter <[email protected]>
-rw-r--r-- | tests/gpgscm/scheme-private.h | 2 | ||||
-rw-r--r-- | tests/gpgscm/scheme.c | 4 | ||||
-rw-r--r-- | tests/gpgscm/scheme.h | 7 |
3 files changed, 12 insertions, 1 deletions
diff --git a/tests/gpgscm/scheme-private.h b/tests/gpgscm/scheme-private.h index f5e4b0a7c..884889c43 100644 --- a/tests/gpgscm/scheme-private.h +++ b/tests/gpgscm/scheme-private.h @@ -115,7 +115,9 @@ pointer FEED_TO; /* => */ pointer COLON_HOOK; /* *colon-hook* */ pointer ERROR_HOOK; /* *error-hook* */ pointer SHARP_HOOK; /* *sharp-hook* */ +#if USE_COMPILE_HOOK pointer COMPILE_HOOK; /* *compile-hook* */ +#endif pointer free_cell; /* pointer to top of free cells */ long fcells; /* # of free cells */ diff --git a/tests/gpgscm/scheme.c b/tests/gpgscm/scheme.c index 6daa280be..884ffd5bd 100644 --- a/tests/gpgscm/scheme.c +++ b/tests/gpgscm/scheme.c @@ -2688,7 +2688,7 @@ static pointer opexe_0(scheme *sc, enum scheme_opcodes op) { sc->code = sc->value; s_goto(sc,OP_EVAL); -#if 1 +#if USE_COMPILE_HOOK case OP_LAMBDA: /* lambda */ /* If the hook is defined, apply it to sc->code, otherwise set sc->value fall through */ @@ -4737,7 +4737,9 @@ int scheme_init_custom_alloc(scheme *sc, func_alloc malloc, func_dealloc free) { sc->COLON_HOOK = mk_symbol(sc,"*colon-hook*"); sc->ERROR_HOOK = mk_symbol(sc, "*error-hook*"); sc->SHARP_HOOK = mk_symbol(sc, "*sharp-hook*"); +#if USE_COMPILE_HOOK sc->COMPILE_HOOK = mk_symbol(sc, "*compile-hook*"); +#endif return !sc->no_memory; } diff --git a/tests/gpgscm/scheme.h b/tests/gpgscm/scheme.h index bd6cda5ac..8d6fb42d5 100644 --- a/tests/gpgscm/scheme.h +++ b/tests/gpgscm/scheme.h @@ -40,6 +40,7 @@ extern "C" { # define USE_ERROR_HOOK 0 # define USE_TRACING 0 # define USE_COLON_HOOK 0 +# define USE_COMPILE_HOOK 0 # define USE_DL 0 # define USE_PLIST 0 #endif @@ -83,6 +84,12 @@ extern "C" { # define USE_COLON_HOOK 1 #endif +/* Compile functions using *compile-hook*. The default hook expands + * macros. */ +#ifndef USE_COMPILE_HOOK +# define USE_COMPILE_HOOK 1 +#endif + #ifndef USE_STRCASECMP /* stricmp for Unix */ # define USE_STRCASECMP 0 #endif |