diff options
Diffstat (limited to 'scm.h')
-rw-r--r-- | scm.h | 71 |
1 files changed, 24 insertions, 47 deletions
@@ -1,46 +1,21 @@ -/* Copyright (C) 1990-2006 Free Software Foundation, Inc. +/* "scm.h" SCM data types and external functions. + * Copyright (C) 1990-2006 Free Software Foundation, Inc. * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. * - * You should have received a copy of the GNU General Public License - * along with this software; see the file COPYING. If not, write to - * the Free Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111, USA. - * - * As a special exception, the Free Software Foundation gives permission - * for additional uses of the text contained in its release of SCM. - * - * The exception is that, if you link the SCM library with other files - * to produce an executable, this does not by itself cause the - * resulting executable to be covered by the GNU General Public License. - * Your use of that executable is in no way restricted on account of - * linking the SCM library code into it. - * - * This exception does not however invalidate any other reasons why - * the executable file might be covered by the GNU General Public License. - * - * This exception applies only to the code released by the - * Free Software Foundation under the name SCM. If you copy - * code from other Free Software Foundation releases into a copy of - * SCM, as the General Public License permits, the exception does - * not apply to the code that you add in this way. To avoid misleading - * anyone as to the status of such modified files, you must delete - * this exception notice from them. - * - * If you write modifications of your own for SCM, it is your choice - * whether to permit this exception to apply to your modifications. - * If you do not wish that, delete this exception notice. + * You should have received a copy of the GNU Lesser General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/>. */ -/* "scm.h" SCM data types and external functions. */ - #ifdef __cplusplus extern "C" { #endif @@ -253,21 +228,22 @@ SCM_EXPORT SCM i_dot, i_quote, i_quasiquote, i_unquote, i_uq_splicing; #define IM_ACRO_CALL MAKISYM(21) #define IM_LINUM MAKISYM(22) #define IM_DEFINE MAKISYM(23) +#define IM_EVAL_VALUES MAKISYM(24) /* These are not used for dispatch. */ -#define IM_UNQUOTE MAKISYM(24) -#define IM_UQ_SPLICING MAKISYM(25) -#define IM_ELSE MAKISYM(26) -#define IM_ARROW MAKISYM(27) -#define IM_VALUES_TOKEN MAKISYM(28) -#define IM_KEYWORD MAKISYM(29) +#define IM_UNQUOTE MAKISYM(25) +#define IM_UQ_SPLICING MAKISYM(26) +#define IM_ELSE MAKISYM(27) +#define IM_ARROW MAKISYM(28) +#define IM_VALUES_TOKEN MAKISYM(29) +#define IM_KEYWORD MAKISYM(30) + +#define NUM_ISYMS 31 #define SCM_MAKE_LINUM(n) (IM_LINUM | ((unsigned long)(n))<<16) #define SCM_LINUM(x) ((unsigned long)(x)>>16) #define SCM_LINUMP(x) ((0xffffL & (x))==IM_LINUM) -#define NUM_ISYMS 30 - #define BOOL_F MAKIFLAG(NUM_ISYMS+0) #define BOOL_T MAKIFLAG(NUM_ISYMS+1) #define UNDEFINED MAKIFLAG(NUM_ISYMS+2) @@ -674,7 +650,8 @@ SCM_EXPORT SCM *loc_loadpath; SCM_EXPORT SCM *loc_errobj; SCM_EXPORT SCM loadport; SCM_EXPORT char *errjmp_bad; -SCM_EXPORT int ints_disabled, output_deferred, gc_hook_pending, gc_hook_active; +SCM_EXPORT VOLATILE int ints_disabled; +SCM_EXPORT int output_deferred, gc_hook_pending, gc_hook_active; SCM_EXPORT unsigned long SIG_deferred; SCM_EXPORT SCM exitval; SCM_EXPORT int cursinit; |