Use of CloseProc/OpenProc

Hello,

I have a problem using the CloseProc/OpenProc functions.
I intend to use an external text editor to manage many procedures, and so I want to be able to reload them in Igor.

The code I use is the following:


function ReloadProcList()
	
	String savDF= GetDataFolder(1)
	NewDataFolder/O/S root:Packages:ReloadProc
	string cmd
	string/G filename, stringpath

	NewPath/O pathfd, "Macintosh SSD:Users:efernand:Documents:WaveMetrics:Igor Pro 6 User Files:User Procedures:"
	PathInfo pathfd
	stringpath = S_path
	
	filename="import_SCALA2.ipf"
	sprintf cmd, "CloseProc/FILE=filename/COMP=0/P=pathfd"
	Execute/P cmd
	sprintf cmd, "OpenProc/V=1/P=pathfd filename"
	Execute/P cmd
	
	KillPath pathfd
end

The problem is that, when executed, "pathfd" is not defined, Igor says "No symbolic path of that name" (this was also the case for "filename", but I made it global to solve it), and therefore I do not know how to use OpenProc and CloseProc whith the symbolic path.
So, is there a good way to reload an external procedure file (automaticaly) with Igor?

Any input would be appreciated.


Protra
The problem is that, when executed, "pathfd" is not defined, Igor says "No symbolic path of that name"


It seems like pathfd should exist. The commands specified by Execute/P do not execute until all functions return. Use Misc->Path Status to check symbolic paths.

In Igor7, which will be in beta testing before too long, using an external editor will be very simple - you just edit the file in the external editor, thanks to work by John Weeks.
The CloseProc and OpenProc commands are running after KillPath pathfd.

If you want the path killed, do that in another Execute/P statement after the OpenProc Execute/P.

--Jim Prouty
Software Engineer, WaveMetrics, Inc.