summaryrefslogtreecommitdiff
path: root/libguile/syntax.h
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2021-02-20 20:19:34 +0100
committerAndy Wingo <wingo@pobox.com>2021-02-20 20:19:34 +0100
commit2edf91d51c39891e7dcb2de7af3788597816124e (patch)
treebd32655bb99953ace0ac0a88bcaec6bb97617924 /libguile/syntax.h
parent064b394d5aaa750dc81ca9da5d07f7b0cf8064ea (diff)
downloadguile-2edf91d51c39891e7dcb2de7af3788597816124e.tar.gz
Syntax objects have "source" field
* libguile/syntax.c (scm_make_syntax): Add optional "source" argument. Note that this function is internal. (scm_syntax_source): New function, replacing definition in boot-9.scm. * libguile/syntax.h: Add new declarations. * module/ice-9/psyntax-pp.scm: * module/ice-9/psyntax.scm (source-annotation): For syntax objects, the source annotation comes direct from the syntax object. * module/system/vm/assembler.scm (link-data, intern-constant): Write 5-word syntax objects.
Diffstat (limited to 'libguile/syntax.h')
-rw-r--r--libguile/syntax.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/libguile/syntax.h b/libguile/syntax.h
index 16229f659..8a98c1db4 100644
--- a/libguile/syntax.h
+++ b/libguile/syntax.h
@@ -1,7 +1,7 @@
#ifndef SCM_SYNTAX_H
#define SCM_SYNTAX_H
-/* Copyright 2017-2018
+/* Copyright 2017-2018,2021
Free Software Foundation, Inc.
This file is part of Guile.
@@ -23,10 +23,11 @@
#include "libguile/scm.h"
SCM_INTERNAL SCM scm_syntax_p (SCM obj);
-SCM_INTERNAL SCM scm_make_syntax (SCM exp, SCM wrap, SCM module);
+SCM_INTERNAL SCM scm_make_syntax (SCM exp, SCM wrap, SCM module, SCM source);
SCM_INTERNAL SCM scm_syntax_expression (SCM obj);
SCM_INTERNAL SCM scm_syntax_wrap (SCM obj);
SCM_INTERNAL SCM scm_syntax_module (SCM obj);
+SCM_INTERNAL SCM scm_syntax_source (SCM obj);
SCM_INTERNAL void scm_i_syntax_print (SCM obj, SCM port,
scm_print_state *pstate);