From 6adfde61994c1427dfbd3d1e0ccbee8f3f7e0365 Mon Sep 17 00:00:00 2001 From: Matthias Benkard Date: Thu, 28 Aug 2008 23:47:50 +0200 Subject: Make ToiletKit self-contained. --- MLKRoot.m | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'MLKRoot.m') diff --git a/MLKRoot.m b/MLKRoot.m index eaff94c..6789ffb 100644 --- a/MLKRoot.m +++ b/MLKRoot.m @@ -39,6 +39,7 @@ #import "util.h" #import +#import #import #import #import @@ -95,7 +96,6 @@ cons (id _data, id car, id cdr, id _marker) static id load (id _data, NSString *fileName, id _marker) { - // FIXME BOOL success; int l, i; NSInputStream *input = [NSInputStream inputStreamWithFileAtPath:fileName]; @@ -165,6 +165,15 @@ load (id _data, NSString *fileName, id _marker) return truify (success); } +static id +require (id _data, id moduleName, id _marker) +{ + NSBundle *toiletKit = [NSBundle bundleForClass:[MLKRoot class]]; + NSString *path = [[toiletKit resourcePath] + stringByAppendingPathComponent:stringify(moduleName)]; + return load (nil, path, MLKEndOfArgumentsMarker); +} + static id eq (id _data, id x, id y, id _marker) { @@ -808,6 +817,7 @@ register_sys (NSString *name, id (*function)()) register_sys (@"RPLACD", rplacd); register_sys (@"CONS", cons); register_sys (@"LOAD", load); + register_sys (@"REQUIRE", require); register_sys (@"EQ", eq); register_sys (@"FIXNUM-EQ", fixnum_eq); register_sys (@"SYMBOLP", symbolp); -- cgit v1.2.3