diff options
author | Andy Wingo <wingo@pobox.com> | 2018-06-20 09:25:20 +0200 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2018-06-20 09:25:20 +0200 |
commit | af32bf8ff10452ccb8a5c58d266880c4d3200938 (patch) | |
tree | 8984236ecf90252ecde5839b6cd8f6ec865e19ef /libguile/keywords.h | |
parent | 93dcc557610eeb1deb79da6939d2c77779d7f948 (diff) | |
download | guile-af32bf8ff10452ccb8a5c58d266880c4d3200938.tar.gz |
Devolve keyword-snarfing macros
* libguile/snarf.h:
* libguile/keywords.h (SCM_KEYWORD, SCM_GLOBAL_KEYWORD): Move here.
Diffstat (limited to 'libguile/keywords.h')
-rw-r--r-- | libguile/keywords.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/libguile/keywords.h b/libguile/keywords.h index 547984949..5f3390341 100644 --- a/libguile/keywords.h +++ b/libguile/keywords.h @@ -26,6 +26,7 @@ #include "libguile/__scm.h" #include <libguile/error.h> +#include <libguile/snarf.h> @@ -42,6 +43,14 @@ SCM_API SCM scm_from_utf8_keyword (const char *name); #define SCM_VALIDATE_KEYWORD(pos, v) \ SCM_MAKE_VALIDATE_MSG (pos, v, KEYWORDP, "keyword") +#define SCM_KEYWORD(c_name, scheme_name) \ +SCM_SNARF_HERE(static SCM c_name) \ +SCM_SNARF_INIT(c_name = scm_from_locale_keyword (scheme_name)) + +#define SCM_GLOBAL_KEYWORD(c_name, scheme_name) \ +SCM_SNARF_HERE(SCM c_name) \ +SCM_SNARF_INIT(c_name = scm_from_locale_keyword (scheme_name)) + enum scm_keyword_arguments_flags { SCM_ALLOW_OTHER_KEYS = (1U << 0), |