diff options
author | Matthias Benkard <mulk@minimulk.mst-plus> | 2008-08-28 23:47:50 +0200 |
---|---|---|
committer | Matthias Benkard <mulk@minimulk.mst-plus> | 2008-08-28 23:47:50 +0200 |
commit | 6adfde61994c1427dfbd3d1e0ccbee8f3f7e0365 (patch) | |
tree | f73484e55c096d91f012ab010d9f21cd9bec3d02 /MLKRoot.m | |
parent | 66d555b5963b4ca6f427d417e75c426e65b4058d (diff) |
Make ToiletKit self-contained.
Diffstat (limited to 'MLKRoot.m')
-rw-r--r-- | MLKRoot.m | 12 |
1 files changed, 11 insertions, 1 deletions
@@ -39,6 +39,7 @@ #import "util.h" #import <Foundation/NSArray.h> +#import <Foundation/NSBundle.h> #import <Foundation/NSException.h> #import <Foundation/NSInvocation.h> #import <Foundation/NSMethodSignature.h> @@ -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]; @@ -166,6 +166,15 @@ load (id _data, NSString *fileName, id _marker) } 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) { return truify (x == y); @@ -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); |