I am migrating from Sicstus Prolog to SWI-Prolog. For debugging purposes, I frequently need to save everything that is displayed in the Siscstus Prolog console via a convenient “Save Transcript” window command. Also, I am able to increase the maximum number of lines displayed in the console which is very useful during debugging.
How can I save the console transcript or increase the maximum number of displayable lines in the console in SWI-Prolog under Windows?
You can change the number of saved lines in the Windows registry. See http://www.swi-prolog.org/windows.html, section 3.4. Not sure the docs are still accurate, but knowing what you are looking for should allow you to find the right keys using regedit (please report if the docs are outdated).
There is no save contents of the console window command, except for copy/paste. Shouldn’t be that hard to add though. Possibly we should add a Prolog predicate that allows you to enumerate the output of the console line-by-line?
There is an alternative in the form of protocol(+File), which copies the console interaction to a file.
For console message debugging, please have a look at debug/3 and friends.
I am now able to both save the transcript (via protocol/1 and noprotocol/0) and increase the max number of save lines by editing the registry entry “SaveLines” in “HKEY_CURRENT_USER\Software\SWI\Swipl-win\Console” (In my Windows 10 Pro, the registry entry is situated in: “HKEY_CURRENT_USER\Software\SWI\Swipl-win\Console” instead of “HKEY_LOCAL_MACHINE\Software\SWI\Prolog”).