Added SetFolder method which sets Standard File initial folder
diff --git a/Mac/Modules/macfsmodule.c b/Mac/Modules/macfsmodule.c
index 69725cc..9bcdf62 100644
--- a/Mac/Modules/macfsmodule.c
+++ b/Mac/Modules/macfsmodule.c
@@ -31,6 +31,7 @@
 #include <Folders.h>
 #include <StandardFile.h>
 #include <Aliases.h>
+#include <LowMem.h>
 
 #include "nfullpath.h"
 
@@ -689,6 +690,33 @@
 	return mkvalue("(Oi)",newmfssobject(&reply.sfFile), reply.sfGood);
 }
 
+/*
+** Set initial directory for file dialogs */
+static object *
+mfs_SetFolder(self, args)
+	object *self;
+	object *args;
+{
+	FSSpec spec;
+	FSSpec ospec;
+	short orefnum;
+	long oparid;
+	
+	/* Get old values */
+	orefnum = -LMGetSFSaveDisk();
+	oparid = LMGetCurDirStore();
+	(void)FSMakeFSSpec(orefnum, oparid, "\pplaceholder", &ospec);
+	
+	/* Go to working directory by default */
+	(void)FSMakeFSSpec(0, 0, "\p:placeholder", &spec);
+	if (!newgetargs(args, "|O&", PyMac_GetFSSpec, &spec))
+		return NULL;
+	/* Set standard-file working directory */
+	LMSetSFSaveDisk(-spec.vRefNum);
+	LMSetCurDirStore(spec.parID);
+	return (object *)newmfssobject(&ospec);
+}
+
 static object *
 mfs_FSSpec(self, args)
 	object *self;	/* Not used */
@@ -794,6 +822,7 @@
 	{"PromptGetFile",		mfs_PromptGetFile,		1},
 	{"StandardPutFile",		mfs_StandardPutFile,	1},
 	{"GetDirectory",		mfs_GetDirectory,		1},
+	{"SetFolder",			mfs_SetFolder,			1},
 	{"FSSpec",				mfs_FSSpec,				1},
 	{"RawFSSpec",			mfs_RawFSSpec,			1},
 	{"RawAlias",			mfs_RawAlias,			1},