I wonder if there has been any (undocumented) change to function printout (especially in case of output to the standard output).
Suppose I have defined a function foo-i(?i $?vars), that may take some time to run.
Suppose i want to iterate it over a large number of values of ?i. In Clips 6.3, I used to write something like:
(deffunction foo($?vars)
(loop-for-count (?i 1 1000000)
(printout t ".")
(if (eq (mod ?i 100) 0) then (printout t crlf))
(if (eq (mod ?i 10000) 0) then (printout t crlf ?i crlf))
(foo-i ?i ?vars)
)
)
In Clips 6.3, this allowed to simulate a rudimentary "progression bar", where each dot was printed every time a new value of ?i was started, with additional line separators for better tracking.
But in Clips 6.4, instead of being printed one by one, the dots get printed only after the crlf, making the first level of tracking useless.
Is there any way to force "printout" to do the printing every time it is called, before the line is completed? I can't find any "flush" function. (Best if it works for both 6.3 and 6.4 - I continue to use both.)
(I understand why it is more efficient not to do so when writing to a file.)
(Both 6.3 and 6.4 were run on MacOS 26.1)
.