* Rename header macros to SCM_<filename>_H.
* Prefer !SCM_<foo> over SCM_N<foo>.
+2001-08-31 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * continuations.h (scm_contregs), debug.h (scm_debug_info,
+ scm_debug_frame, SCM_DSIDEVAL), filesys.h (SCM_OPDIRP), fports.h
+ (scm_fport), options.h (scm_option), snarf.h (SCM_CONST_LONG,
+ SCM_VCELL, SCM_GLOBAL_VCELL, SCM_VCELL_INIT,
+ SCM_GLOBAL_VCELL_INIT), srcprop.h (scm_srcprops,
+ scm_srcprops_chunk), stacks.h (scm_info_frame, scm_stack), unif.h
+ (scm_array, scm_array_dim, SCM_ARRAY_CONTIGUOUS, SCM_HUGE_LENGTH),
+ validate.h (SCM_FUNC_NAME, SCM_WTA, RETURN_SCM_WTA,
+ SCM_VALIDATE_NUMBER_COPY, SCM_VALIDATE_NUMBER_DEF_COPY,
+ SCM_VALIDATE_STRINGORSUBSTR, SCM_VALIDATE_ROSTRING,
+ SCM_VALIDATE_ROSTRING_COPY, SCM_VALIDATE_NULLORROSTRING_COPY,
+ SCM_VALIDATE_RWSTRING, SCM_VALIDATE_OPDIR): Removed.
+
+ * continuations.h (CONTINUATIONSH, SCM_CONTINUATIONS_H), filesys.h
+ (FILESYSH, SCM_FILESYS_H), fports.h (FPORTSH, SCM_FPORTS_H),
+ options.h (OPTIONSH, SCM_OPTIONS_H), regex-posix.h (REGEXPOSIXH,
+ SCM_REGEX_POSIX_H), snarf.h (LIBGUILE_SNARF_H, SCM_SNARF_H),
+ srcprop.h (SCM_SOURCE_PROPERTIES_H, SCM_SRCPROP_H), unif.h
+ (SCM_UNIFORM_VECTORS_H, SCM_UNIF_H), validate.h (SCM_VALIDATE_H__,
+ SCM_VALIDATE_H): Renamed the macros that are defined to inhibit
+ double inclusion of the same headers to the SCM_<filename>_H
+ format.
+
+ * debug.h (SCM_RESET_DEBUG_MODE), regex-posix.h (SCM_RGXP),
+ srcprop.h (SRCBRKP, PROCTRACEP), struct.h (SCM_STRUCTP),
+ validate.h (SCM_VALIDATE_THUNK, SCM_VALIDATE_ARRAY,
+ SCM_VALIDATE_VECTOR_OR_DVECTOR, SCM_VALIDATE_VTABLE): Prefer
+ !SCM_<foo> over SCM_N<foo>.
+
2001-08-31 Dirk Herrmann <D.Herrmann@tu-bs.de>
* _scm.h (_SCMH, SCM__SCM_H), alist.h (ALISTH, SCM_ALIST_H),
/* classes: h_files */
-#ifndef CONTINUATIONSH
-#define CONTINUATIONSH
-/* Copyright (C) 1995,1996, 2000, 2001 Free Software Foundation, Inc.
- *
+#ifndef SCM_CONTINUATIONS_H
+#define SCM_CONTINUATIONS_H
+
+/* Copyright (C) 1995,1996,2000,2001 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 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.
- *
+ *
* 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, Inc., 59 Temple Place, Suite 330,
* If you write modifications of your own for GUILE, it is your choice
* whether to permit this exception to apply to your modifications.
* If you do not wish that, delete this exception notice. */
+
\f
+
#include "libguile/__scm.h"
\f
SCM_STACKITEM stack[1]; /* copied stack of size num_stack_items. */
} scm_t_contregs;
-#if (SCM_DEBUG_DEPRECATED == 0)
-# define scm_contregs scm_t_contregs
-#endif
-
#define SCM_CONTINUATIONP(x) SCM_TYP16_PREDICATE (scm_tc16_continuation, x)
#define SCM_CONTREGS(x) ((scm_t_contregs *) SCM_CELL_WORD_1 (x))
extern SCM scm_make_continuation (int *first);
extern void scm_init_continuations (void);
-#endif /* CONTINUATIONSH */
+#endif /* SCM_CONTINUATIONS_H */
/*
Local Variables:
#ifndef SCM_DEBUG_H
#define SCM_DEBUG_H
-/* Copyright (C) 1995,1996,1998,1999,2000,2001 Free Software Foundation
- *
+
+/* Copyright (C) 1995,1996,1998,1999,2000,2001 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 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.
- *
+ *
* 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, Inc., 59 Temple Place, Suite 330,
#define SCM_RESET_DEBUG_MODE \
do {\
CHECK_ENTRY = (SCM_ENTER_FRAME_P || SCM_BREAKPOINTS_P)\
- && SCM_NFALSEP (SCM_ENTER_FRAME_HDLR);\
+ && !SCM_FALSEP (SCM_ENTER_FRAME_HDLR);\
CHECK_APPLY = (SCM_APPLY_FRAME_P || SCM_TRACE_P)\
- && SCM_NFALSEP (SCM_APPLY_FRAME_HDLR);\
+ && !SCM_FALSEP (SCM_APPLY_FRAME_HDLR);\
CHECK_EXIT = (SCM_EXIT_FRAME_P || SCM_TRACE_P)\
- && SCM_NFALSEP (SCM_EXIT_FRAME_HDLR);\
+ && !SCM_FALSEP (SCM_EXIT_FRAME_HDLR);\
scm_debug_mode = SCM_DEVAL_P || CHECK_ENTRY || CHECK_APPLY || CHECK_EXIT;\
scm_ceval_ptr = scm_debug_mode ? scm_deval : scm_ceval;\
} while (0)
scm_t_debug_info *info;
} scm_t_debug_frame;
-#if (SCM_DEBUG_DEPRECATED == 0)
-# define scm_debug_info scm_t_debug_info
-# define scm_debug_frame scm_t_debug_frame
-#endif
-
#ifndef USE_THREADS
extern scm_t_debug_frame *scm_last_debug_frame;
#endif
#define SCM_CLEAR_MACROEXP(x) ((x).status &= ~SCM_MACROEXPF)
#define SCM_DEBUGGINGP scm_debug_mode
-#define SCM_DSIDEVAL(x, env) if NIMP(x) scm_deval((x), (env))
/* {Debug Objects}
*/
extern SCM scm_debug_hang (SCM obj);
#endif /*GUILE_DEBUG*/
-#endif /* SCM_DEBUG_H */
+#endif /* SCM_DEBUG_H */
/*
Local Variables:
/* classes: h_files */
-#ifndef FILESYSH
-#define FILESYSH
-/* Copyright (C) 1995,1997,1998, 1999, 2000, 2001 Free Software Foundation, Inc.
- *
+#ifndef SCM_FILESYS_H
+#define SCM_FILESYS_H
+
+/* Copyright (C) 1995,1997,1998,1999,2000,2001 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 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.
- *
+ *
* 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, Inc., 59 Temple Place, Suite 330,
extern void scm_init_filesys (void);
-\f
-
-#if (SCM_DEBUG_DEPRECATED == 0)
-
-#define SCM_OPDIRP(x) (SCM_DIRP (x) && (SCM_DIR_OPEN_P (x)))
-
-#endif /* SCM_DEBUG_DEPRECATED == 0 */
-
-#endif /* FILESYSH */
+#endif /* SCM_FILESYS_H */
/*
Local Variables:
/* classes: h_files */
-#ifndef FPORTSH
-#define FPORTSH
-/* Copyright (C) 1995,1996,1997,1998,1999, 2000, 2001 Free Software Foundation, Inc.
- *
+#ifndef SCM_FPORTS_H
+#define SCM_FPORTS_H
+
+/* Copyright (C) 1995,1996,1997,1998,1999,2000,2001 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 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.
- *
+ *
* 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, Inc., 59 Temple Place, Suite 330,
int fdes; /* file descriptor. */
} scm_t_fport;
-#if (SCM_DEBUG_DEPRECATED == 0)
-# define scm_fport scm_t_fport
-#endif
-
extern scm_t_bits scm_tc16_fport;
#define SCM_FSTREAM(x) ((scm_t_fport *) SCM_STREAM (x))
extern SCM scm_file_port_p (SCM obj);
extern void scm_init_fports (void);
-#endif /* FPORTSH */
+#endif /* SCM_FPORTS_H */
/*
Local Variables:
/* classes: h_files */
-#ifndef OPTIONSH
-#define OPTIONSH
-/* Copyright (C) 1995,1996, 2000, 2001 Free Software Foundation
- *
+#ifndef SCM_OPTIONS_H
+#define SCM_OPTIONS_H
+
+/* Copyright (C) 1995,1996,2000,2001 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 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.
- *
+ *
* 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, Inc., 59 Temple Place, Suite 330,
*
* The author can be reached at djurfeldt@nada.kth.se
* Mikael Djurfeldt, SANS/NADA KTH, 10044 STOCKHOLM, SWEDEN */
+
\f
#include "libguile/__scm.h"
char *doc;
} scm_t_option;
-#if (SCM_DEBUG_DEPRECATED == 0)
-# define scm_option scm_t_option
-#endif
#define SCM_OPTION_BOOLEAN 0
#define SCM_OPTION_INTEGER 1
extern void scm_init_opts (SCM (*func) (SCM), scm_t_option options[], int n);
extern void scm_init_options (void);
-#endif /* OPTIONSH */
+#endif /* SCM_OPTIONS_H */
/*
Local Variables:
/* classes: h_files */
-#ifndef POSIXH
-#define POSIXH
-/* Copyright (C) 1995, 1996, 1997, 1998, 2000, 2001 Free Software Foundation, Inc.
- *
+#ifndef SCM_POSIX_H
+#define SCM_POSIX_H
+
+/* Copyright (C) 1995,1996,1997,1998,2000,2001 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 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.
- *
+ *
* 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, Inc., 59 Temple Place, Suite 330,
* If you write modifications of your own for GUILE, it is your choice
* whether to permit this exception to apply to your modifications.
* If you do not wish that, delete this exception notice. */
+
\f
#include "libguile/__scm.h"
extern SCM scm_gethostname (void);
extern void scm_init_posix (void);
-#endif /* POSIXH */
+#endif /* SCM_POSIX_H */
/*
Local Variables:
/* classes: h_files */
-#ifndef REGEXPOSIXH
-#define REGEXPOSIXH
+#ifndef SCM_REGEX_POSIX_H
+#define SCM_REGEX_POSIX_H
-/* Copyright (C) 1997,1998, 2000, 2001 Free Software Foundation, Inc.
- *
+/* Copyright (C) 1997,1998,2000,2001 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 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.
- *
+ *
* 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, Inc., 59 Temple Place, Suite 330,
*
* If you write modifications of your own for GUILE, it is your choice
* whether to permit this exception to apply to your modifications.
- * If you do not wish that, delete this exception notice.
- */
+ * If you do not wish that, delete this exception notice. */
+\f
#include "libguile/__scm.h"
extern scm_t_bits scm_tc16_regex;
#define SCM_RGX(X) ((regex_t *) SCM_CELL_WORD_1 (X))
-#define SCM_RGXP(X) (SCM_NIMP (X) && (SCM_CELL_TYPE (X) == scm_tc16_regex))
+#define SCM_RGXP(X) (!SCM_IMP (X) && (SCM_CELL_TYPE (X) == scm_tc16_regex))
extern SCM scm_make_regexp (SCM pat, SCM flags);
SCM scm_regexp_p (SCM x);
extern SCM scm_regexp_exec (SCM rx, SCM str, SCM start, SCM flags);
extern void scm_init_regex_posix (void);
-#endif
+#endif /* SCM_REGEX_POSIX_H */
/*
Local Variables:
/* classes: h_files */
-/* Macros for snarfing initialization actions from C source. */
-
-#ifndef LIBGUILE_SNARF_H
-#define LIBGUILE_SNARF_H
+#ifndef SCM_SNARF_H
+#define SCM_SNARF_H
-/* Copyright (C) 1995, 96, 97, 98, 99, 2000, 2001 Free Software Foundation, Inc.
- *
+/* Copyright (C) 1995,1996,1997,1998,1999,2000,2001 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 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.
- *
+ *
* 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, Inc., 59 Temple Place, Suite 330,
* whether to permit this exception to apply to your modifications.
* If you do not wish that, delete this exception notice. */
-
\f
+/* Macros for snarfing initialization actions from C source. */
+
#if defined(__cplusplus) || defined(GUILE_CPLUSPLUS_SNARF)
/* This used to be "SCM (*)(...)" but GCC on RedHat 7.1 doesn't seem
SCM_SNARF_HERE(SCM c_name) \
SCM_SNARF_INIT(c_name = scm_permanent_object (scm_c_define (scheme_name, init_val));)
-#if (SCM_DEBUG_DEPRECATED == 0)
-
-#define SCM_CONST_LONG(c_name, scheme_name,value) \
-SCM_VCELL_INIT(c_name, scheme_name, scm_long2num(value))
-
-#define SCM_VCELL(c_name, scheme_name) \
-SCM_SNARF_HERE(static SCM c_name) \
-SCM_SNARF_INIT(c_name = scm_permanent_object (scm_sysintern (scheme_name, SCM_BOOL_F));)
-
-#define SCM_GLOBAL_VCELL(c_name, scheme_name) \
-SCM_SNARF_HERE(SCM c_name) \
-SCM_SNARF_INIT(c_name = scm_permanent_object (scm_sysintern (scheme_name, SCM_BOOL_F));)
-
-#define SCM_VCELL_INIT(c_name, scheme_name, init_val) \
-SCM_SNARF_HERE(static SCM c_name) \
-SCM_SNARF_INIT(c_name = scm_permanent_object (scm_sysintern (scheme_name, init_val));)
-
-#define SCM_GLOBAL_VCELL_INIT(c_name, scheme_name, init_val) \
-SCM_SNARF_HERE(SCM c_name) \
-SCM_SNARF_INIT(c_name = scm_permanent_object (scm_sysintern (scheme_name, init_val));)
-
-#endif /* (SCM_DEBUG_DEPRECATED == 0) */
-
#ifdef SCM_MAGIC_SNARF_DOCS
#undef SCM_ASSERT
#define SCM_ASSERT(_cond, _arg, _pos, _subr) ^^ argpos _arg _pos __LINE__ ^^
#endif /* SCM_MAGIC_SNARF_DOCS */
-#endif /* LIBGUILE_SNARF_H */
-
+#endif /* SCM_SNARF_H */
/*
Local Variables:
/* classes: h_files */
-#ifndef SCM_SOURCE_PROPERTIES_H
-#define SCM_SOURCE_PROPERTIES_H
-/* Copyright (C) 1995,1996,2000,2001 Free Software Foundation
- *
+#ifndef SCM_SRCPROP_H
+#define SCM_SRCPROP_H
+
+/* Copyright (C) 1995,1996,2000,2001 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 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.
- *
+ *
* 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, Inc., 59 Temple Place, Suite 330,
scm_t_srcprops srcprops[1];
} scm_t_srcprops_chunk;
-#if (SCM_DEBUG_DEPRECATED == 0)
-# define scm_srcprops scm_t_srcprops
-# define scm_srcprops_chunk scm_t_srcprops_chunk
-#endif
-
#define SCM_SOURCE_PROPERTY_FLAG_BREAK (1L << 16)
#define SRCPROPSP(p) (SCM_TYP16_PREDICATE (scm_tc16_srcprops, p))
#define SETSRCPROPLINE(p,l) SETSRCPROPPOS (p, l, SRCPROPCOL (p))
#define SETSRCPROPCOL(p,c) SETSRCPROPPOS (p, SRCPROPLINE (p), c)
-#define SRCBRKP(x) (SCM_NIMP (t.arg1 = scm_whash_lookup (scm_source_whash, (x)))\
+#define SRCBRKP(x) (!SCM_IMP (t.arg1 = scm_whash_lookup (scm_source_whash, (x)))\
&& SRCPROPSP (t.arg1)\
&& (SCM_CELL_WORD_0 (t.arg1) & (1L << 16)))
-#define PROCTRACEP(x) SCM_NFALSEP (scm_procedure_property (x, scm_sym_trace))
+#define PROCTRACEP(x) (!SCM_FALSEP (scm_procedure_property (x, scm_sym_trace)))
extern SCM scm_sym_filename;
extern SCM scm_sym_copy;
extern void scm_finish_srcprop (void);
extern void scm_init_srcprop (void);
-#endif /* SCM_SOURCE_PROPERTIES_H */
+#endif /* SCM_SRCPROP_H */
/*
Local Variables:
#ifndef SCM_STACKS_H
#define SCM_STACKS_H
-/* Copyright (C) 1995,1996,2000,2001 Free Software Foundation
- *
+
+/* Copyright (C) 1995,1996,2000,2001 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 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.
- *
+ *
* 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, Inc., 59 Temple Place, Suite 330,
scm_t_info_frame tail[1];
} scm_t_stack;
-#if (SCM_DEBUG_DEPRECATED == 0)
-# define scm_info_frame scm_t_info_frame
-# define scm_stack scm_t_stack
-#endif
-
extern SCM scm_t_stackype;
#define SCM_STACKP(obj) (SCM_STRUCTP (obj) && SCM_EQ_P (SCM_STRUCT_VTABLE (obj), scm_t_stackype))
SCM scm_frame_evaluating_args_p (SCM frame);
SCM scm_frame_overflow_p (SCM frame);
-
void scm_init_stacks (void);
-#endif /* SCM_STACKS_H */
+#endif /* SCM_STACKS_H */
/*
Local Variables:
#ifndef SCM_STRUCT_H
#define SCM_STRUCT_H
+
/* Copyright (C) 1995,1997,1999,2000,2001 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 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.
- *
+ *
* 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, Inc., 59 Temple Place, Suite 330,
#define SCM_STRUCTF_LIGHT (1L << 31) /* Light representation
(no hidden words) */
-#define SCM_STRUCTP(X) (SCM_NIMP(X) && (SCM_TYP3(X) == scm_tc3_struct))
+#define SCM_STRUCTP(X) (!SCM_IMP(X) && (SCM_TYP3(X) == scm_tc3_struct))
#define SCM_STRUCT_DATA(X) ((scm_t_bits *) SCM_CELL_WORD_1 (X))
#define SCM_STRUCT_VTABLE_DATA(X) ((scm_t_bits *) (SCM_CELL_WORD_0 (X) - scm_tc3_struct))
/* classes: h_files */
-#ifndef SCM_UNIFORM_VECTORS_H
-#define SCM_UNIFORM_VECTORS_H
+#ifndef SCM_UNIF_H
+#define SCM_UNIF_H
+
/* Copyright (C) 1995,1996,1997,1999,2000,2001 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 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.
- *
+ *
* 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, Inc., 59 Temple Place, Suite 330,
long inc;
} scm_t_array_dim;
-#if (SCM_DEBUG_DEPRECATED == 0)
-# define scm_array scm_t_array
-# define scm_array_dim scm_t_array_dim
-#endif
-
extern scm_t_bits scm_tc16_array;
#define SCM_ARRAY_FLAG_CONTIGUOUS (1 << 16)
-#if (SCM_DEBUG_DEPRECATED == 0)
-#define SCM_ARRAY_CONTIGUOUS SCM_ARRAY_FLAG_CONTIGUOUS
-#endif
-
#define SCM_ARRAYP(a) SCM_TYP16_PREDICATE (scm_tc16_array, a)
#define SCM_ARRAY_NDIM(x) ((size_t) (SCM_CELL_WORD_0 (x) >> 17))
#define SCM_ARRAY_CONTP(x) (SCM_CELL_WORD_0 (x) & SCM_ARRAY_FLAG_CONTIGUOUS)
extern SCM scm_array_prototype (SCM ra);
extern void scm_init_unif (void);
-\f
-
-#if (SCM_DEBUG_DEPRECATED == 0)
-
-/* apparently it's possible to have more than SCM_LENGTH_MAX elements
- in an array: if the length is SCM_LENGTH_MAX then the SCM_VELTS
- block begins with the true length (a long int). I wonder if it
- works. */
-#define SCM_HUGE_LENGTH(x)\
- (SCM_LENGTH_MAX==SCM_LENGTH(x) ? *((long *)SCM_VELTS(x)) : SCM_LENGTH(x))
-
-#endif /* SCM_DEBUG_DEPRECATED == 0 */
-
-#endif /* SCM_UNIFORM_VECTORS_H */
+#endif /* SCM_UNIF_H */
/*
Local Variables:
+/* classes: h_files */
+
+#ifndef SCM_VALIDATE_H
+#define SCM_VALIDATE_H
+
/* Copyright (C) 1999,2000,2001 Free Software Foundation, Inc.
*
* This program is free software; you can redistribute it and/or modify
/* Written by Greg J. Badros <gjb@cs.washington.edu>, Dec-1999 */
-#ifndef SCM_VALIDATE_H__
-#define SCM_VALIDATE_H__
+\f
#define SCM_SYSERROR do { scm_syserror (FUNC_NAME); } while (0)
#define SCM_VALIDATE_THUNK(pos, thunk) \
do { \
- SCM_ASSERT (SCM_NFALSEP (scm_thunk_p (thunk)), thunk, pos, FUNC_NAME); \
+ SCM_ASSERT (!SCM_FALSEP (scm_thunk_p (thunk)), thunk, pos, FUNC_NAME); \
} while (0)
#define SCM_VALIDATE_SYMBOL(pos, sym) SCM_MAKE_VALIDATE (pos, sym, SYMBOLP)
#define SCM_VALIDATE_ARRAY(pos,v) \
do { \
- SCM_ASSERT (SCM_NIMP (v) \
+ SCM_ASSERT (!SCM_IMP (v) \
&& !SCM_FALSEP (scm_array_p (v, SCM_UNDEFINED)), \
v, pos, FUNC_NAME); \
} while (0)
#define SCM_VALIDATE_VECTOR_OR_DVECTOR(pos, v) \
do { \
SCM_ASSERT ((SCM_VECTORP (v) \
- || (SCM_NIMP (v) && SCM_TYP7 (v) == scm_tc7_dvect)), \
+ || (!SCM_IMP (v) && SCM_TYP7 (v) == scm_tc7_dvect)), \
v, pos, FUNC_NAME); \
} while (0)
#define SCM_VALIDATE_VTABLE(pos, v) \
do { \
- SCM_ASSERT (SCM_NIMP (v) && SCM_NFALSEP (scm_struct_vtable_p (v)), \
+ SCM_ASSERT (!SCM_IMP (v) && !SCM_FALSEP (scm_struct_vtable_p (v)), \
v, pos, FUNC_NAME); \
} while (0)
SCM_ASSERT (SCM_VECTORP (v) && len == SCM_VECTOR_LENGTH (v), v, pos, FUNC_NAME); \
} while (0)
-\f
-
-#if (SCM_DEBUG_DEPRECATED == 0)
-
-#define SCM_FUNC_NAME (scm_makfrom0str (FUNC_NAME))
-
-#define SCM_WTA(pos, scm) \
- do { scm_wta (scm, (char *) pos, FUNC_NAME); } while (0)
-
-#define RETURN_SCM_WTA(pos, scm) \
- do { return scm_wta (scm, (char *) pos, FUNC_NAME); } while (0)
-
-#define SCM_VALIDATE_NUMBER_COPY(pos, z, cvar) \
- do { \
- if (SCM_INUMP (z)) \
- cvar = (double) SCM_INUM (z); \
- else if (SCM_REALP (z)) \
- cvar = SCM_REAL_VALUE (z); \
- else if (SCM_BIGP (z)) \
- cvar = scm_i_big2dbl (z); \
- else \
- { \
- cvar = 0.0; \
- SCM_WRONG_TYPE_ARG (pos, z); \
- } \
- } while (0)
-
-#define SCM_VALIDATE_NUMBER_DEF_COPY(pos, number, def, cvar) \
- do { \
- if (SCM_UNBNDP (number)) \
- cvar = def; \
- else \
- SCM_VALIDATE_NUMBER_COPY(pos, number, cvar); \
- } while (0)
-
-#define SCM_VALIDATE_STRINGORSUBSTR SCM_VALIDATE_STRING
-
-#define SCM_VALIDATE_ROSTRING(pos, str) SCM_MAKE_VALIDATE (pos, str, ROSTRINGP)
-
-#define SCM_VALIDATE_ROSTRING_COPY(pos, str, cvar) \
- do { \
- SCM_ASSERT (SCM_ROSTRINGP (str), str, pos, FUNC_NAME); \
- cvar = SCM_ROCHARS (str); \
- } while (0)
-
-#define SCM_VALIDATE_NULLORROSTRING_COPY(pos, str, cvar) \
- do { \
- SCM_ASSERT (SCM_FALSEP (str) || SCM_ROSTRINGP (str), \
- str, pos, FUNC_NAME); \
- if (SCM_FALSEP(str)) \
- cvar = NULL; \
- else \
- cvar = SCM_ROCHARS(str); \
- } while (0)
-
-#define SCM_VALIDATE_RWSTRING(pos, str) \
- do { \
- SCM_ASSERT (SCM_STRINGP (str), str, pos, FUNC_NAME); \
- if (!SCM_RWSTRINGP (str)) \
- scm_misc_error (FUNC_NAME, "argument is a read-only string", str); \
- } while (0)
-
-#define SCM_VALIDATE_OPDIR(pos, port) SCM_MAKE_VALIDATE (pos, port, OPDIRP)
-
-#endif /* SCM_DEBUG_DEPRECATED == 0 */
-
-#endif
+#endif /* SCM_VALIDATE_H */
/*
Local Variables: