2.6 feature request: sameRef()
- Posted by Pete Lomax <petelomax at blueyonder.co.uk> Jul 07, 2005
- 530 views
The background processing in Edita now goes something like this:
for i=1 to length(filetext) do text=filetext[i] bGpathname={filepaths[i],filenames[i]} Scan() for j=1 to length(filetext) do if equal(bGpathname,{filepaths[j],filenames[j]}) then if equal(text,filetext[j]) then routines[j]=Results end if exit end if end for
(The j loop covers the case whereby the file has been moved in the list, be that because it or one earlier in the list has been closed, or Ctrl Page Up/Down has changed the file order, between the start and exit of the Scan() operation, which can take several seconds). The line: if equal(text,filetext[j]) then actually only cares whether they are still the same reference. If I had a sameRef() function, I wouldn't need bGpathname at all, plus of course it would be an instant check rather than a possibly lengthy compare. That also means I could perform the check inside Scan(), to quit early if the file has been modified, whereas comparing a 35,000 line win32lib 35,000 times is perhaps not such a good idea. I don't believe there is any way I could try this in eu.ex? Regards, Pete