[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