*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
\f
/* SCM values can not be compared by using the operator ==. Use the following
* macro instead, which is the equivalent of the scheme predicate 'eq?'.
*/
-#define SCM_EQ_P(x, y) (SCM_UNPACK (x) == SCM_UNPACK (y))
+#define scm_is_eq(x, y) (SCM_UNPACK (x) == SCM_UNPACK (y))
\f
* tc8 (for objects with tc3==100):
* 00000-100: special objects ('flags')
* 00001-100: characters
- * 00010-100: evaluator byte codes ('ilocs')
- * 00011-100: evaluator byte codes ('isyms')
+ * 00010-100: evaluator byte codes ('isyms')
+ * 00011-100: evaluator byte codes ('ilocs')
*
*
* Summary of type codes on the heap
/* Checking if a SCM variable holds an immediate integer: See numbers.h for
* the definition of the following macros: SCM_I_FIXNUM_BIT,
- * SCM_MOST_POSITIVE_FIXNUM, SCM_INUMP, SCM_MAKINUM, SCM_INUM. */
+ * SCM_MOST_POSITIVE_FIXNUM, SCM_I_INUMP, SCM_I_MAKINUM, SCM_I_INUM. */
/* Checking if a SCM variable holds a pair (for historical reasons, in Guile
* also known as a cons-cell): This is done by first checking that the SCM
* variable holds a non-immediate, and second, by checking that tc1==0 holds
- * for the SCM_CELL_TYPE of the SCM variable. */
-#define SCM_CONSP(x) (!SCM_IMP (x) && ((1 & SCM_CELL_TYPE (x)) == 0))
-#define SCM_NCONSP(x) (!SCM_CONSP (x))
+ * for the SCM_CELL_TYPE of the SCM variable.
+*/
+
+#define SCM_I_CONSP(x) (!SCM_IMP (x) && ((1 & SCM_CELL_TYPE (x)) == 0))
\f
#define scm_tc7_string 21
#define scm_tc7_number 23
+#define scm_tc7_stringbuf 39
/* Many of the following should be turned
* into structs or smobs. We need back some
#define scm_tc7_pws 31
-#if SCM_HAVE_ARRAYS
-#define scm_tc7_llvect 29
-#define scm_tc7_uvect 37
-/* free 39 */
-#define scm_tc7_fvect 45
-#define scm_tc7_dvect 47
-#define scm_tc7_cvect 53
-#define scm_tc7_svect 55
-#define scm_tc7_bvect 71
-#define scm_tc7_byvect 77
-#define scm_tc7_ivect 79
-#endif
+#define scm_tc7_unused_1 29
+#define scm_tc7_unused_2 37
+#define scm_tc7_unused_3 45
+#define scm_tc7_unused_4 47
+#define scm_tc7_unused_5 53
+#define scm_tc7_unused_6 55
+#define scm_tc7_unused_7 71
+#define scm_tc7_unused_8 77
+#define scm_tc7_unused_9 79
#define scm_tc7_dsubr 61
#define scm_tc7_cclo 63
#define SCM_ELISP_NIL SCM_MAKIFLAG (7)
-#define SCM_UNBNDP(x) (SCM_EQ_P ((x), SCM_UNDEFINED))
+#define SCM_UNBNDP(x) (scm_is_eq ((x), SCM_UNDEFINED))
\f
#define SCM_ISYMP(n) (SCM_ITAG8 (n) == scm_tc8_isym)
#define SCM_MAKISYM(n) SCM_MAKE_ITAG8 ((n), scm_tc8_isym)
-#define SCM_ISYMNUM(n) (SCM_ITAG8_DATA (n))
-
-SCM_API char *scm_isymnames[]; /* defined in print.c */
-#define SCM_ISYMCHARS(n) (scm_isymnames[SCM_ISYMNUM (n)])
#define SCM_IM_AND SCM_MAKISYM (0)
#define SCM_IM_BEGIN SCM_MAKISYM (1)