[26307] users/rhwood/Pallet/MPTool
source_changes at macosforge.org
source_changes at macosforge.org
Tue Jun 19 03:13:50 PDT 2007
Revision: 26307
http://trac.macosforge.org/projects/macports/changeset/26307
Author: rhwood at macports.org
Date: 2007-06-19 03:13:50 -0700 (Tue, 19 Jun 2007)
Log Message:
-----------
Add methods to evaluate a Tcl command with more arguments than the current methods supported.
Modified Paths:
--------------
users/rhwood/Pallet/MPTool/MPInterp.h
users/rhwood/Pallet/MPTool/MPInterp.m
Modified: users/rhwood/Pallet/MPTool/MPInterp.h
===================================================================
--- users/rhwood/Pallet/MPTool/MPInterp.h 2007-06-19 10:12:24 UTC (rev 26306)
+++ users/rhwood/Pallet/MPTool/MPInterp.h 2007-06-19 10:13:50 UTC (rev 26307)
@@ -45,6 +45,7 @@
- (id) init;
- (BOOL) loadPackage: (NSString *)packageName version: (NSString *)packageVersion usingCommand: (NSString *)packageInit;
+- (BOOL) loadPackage: (NSString *)packageName version: (NSString *)packageVersion;
- (MPObject *) setVariable: (MPObject *)variable toValue: (MPObject *)value;
- (MPObject *) getVariable: (MPObject *)variable;
@@ -52,6 +53,7 @@
- (MPObject *) evaluateCommand: (MPObject *)command;
- (MPObject *) evaluateCommand: (MPObject *)command withObject: (MPObject *)arg;
- (MPObject *) evaluateCommand: (MPObject *)command withObjects: (MPObject *)arg1 :(MPObject *)arg2;
+- (MPObject *) evaluateCommand: (MPObject *)command withObjects: (MPObject *)arg1: (MPObject *)arg2: (MPObject *)arg3;
- (MPObject *) evaluate: (NSArray *)args;
- (BOOL) succeeded;
Modified: users/rhwood/Pallet/MPTool/MPInterp.m
===================================================================
--- users/rhwood/Pallet/MPTool/MPInterp.m 2007-06-19 10:12:24 UTC (rev 26306)
+++ users/rhwood/Pallet/MPTool/MPInterp.m 2007-06-19 10:13:50 UTC (rev 26307)
@@ -83,6 +83,7 @@
{
_interp = Tcl_CreateInterp();
Tcl_Init(_interp);
+
}
return self;
}
@@ -94,22 +95,41 @@
[super release];
}
+- (BOOL) loadPackage: (NSString *)packageName version: (NSString *)packageVersion usingCommand: (NSString *)packageInit
+{
+ [self loadPackage:packageName version:packageVersion];
+
+ if (TCL_OK == _status) {
+ [self evaluateCommand: [MPObject objectWithString: packageInit]];
+ }
+
+ return (TCL_OK == _status);
+}
-- (BOOL) loadPackage: (NSString *)packageName version: (NSString *)packageVersion usingCommand: (NSString *)packageInit //withArguments:(NSArray *)args
+- (BOOL) loadPackage: (NSString *)packageName version: (NSString *)packageVersion usingCommand: (NSString *)packageInit withArguments:(NSArray *)args
{
+ [self loadPackage:packageName version:packageVersion];
+
+ if (TCL_OK == _status) {
+ [self evaluateCommand: [MPObject objectWithString: packageInit]];
+ }
+
+ return (TCL_OK == _status);
+}
+
+- (BOOL) loadPackage: (NSString *)packageName version: (NSString *)packageVersion
+{
char *name = (nil != packageName) ? strdup([packageName cString]) : NULL;
char *version = (nil != packageVersion) ? strdup([packageVersion cString]) : NULL;
-
+
Tcl_PkgRequire(_interp, name, version, 0);
- [self evaluateCommand: [MPObject objectWithString: packageInit]];
-
+
if (name) free(name);
if (version) free(version);
-
+
return (TCL_OK == _status);
}
-
/** Variables */
- (MPObject *) setVariable:(MPObject*) variable toValue:(MPObject*) value
@@ -141,12 +161,17 @@
return [self evaluateCommand:command withObjects:arg :nil];
}
-- (MPObject *) evaluateCommand: (MPObject *)command withObjects: (MPObject *)arg1: (MPObject *)arg2
+- (MPObject *) evaluateCommand: (MPObject *)command withObjects: (MPObject *)arg1: (MPObject *)arg2
{
NSArray *array = [NSArray arrayWithObjects:command,arg1,arg2,nil];
return [self evaluate:array];
}
+- (MPObject *) evaluateCommand: (MPObject *)command withObjects: (MPObject *)arg1: (MPObject *)arg2: (MPObject *)arg3
+{
+ NSArray *array = [NSArray arrayWithObjects:command,arg1,arg2,arg3,nil];
+ return [self evaluate:array];
+}
- (MPObject *) evaluate: (NSArray*)args
{
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macports-changes/attachments/20070619/f3359a41/attachment.html
More information about the macports-changes
mailing list