I’m using: SWI-Prolog version 8.0.2 on Windows 8.1.
I have a test predicate that when I run from the console, consults all the source files for my app. When I run it I don’t see any warnings.
However, today I tried the
File -> Reload Modified Files menu option, because of some problems I was having while tracing. It came up with several warnings that did not appear when I consulted those files as mentioned above. Most of them were warnings for undefined predicates. They were all very important warnings that helped me fix several big errors in my app.
What does reload modified files actually do, and why does it catch errors that don’t get caught during a normal consult?
Also, under what circumstances should I run this feature and also the feature to clear the source code cache?
POSSIBLE BUG: If reload modified files does print any warnings, it leaves the input stream open so that you have to enter a period ‘.’ in the console to make it happy. Then it will show you the console window input prompt. If no warnings are printed, this problem does not occur.