The Persistence of Vision Raytracer (POV-Ray).

This is the legacy Bug Tracking System for the POV-Ray project. Bugs listed here are being migrated to our github issue tracker. Please refer to that for new reports or updates to existing ones on this system.


FS#28 - #debug message not displayed.

Attached to Project: POV-Ray
Opened by Tim Attwood (TimA) - Sunday, 17 May 2009, 08:57 GMT
Last edited by William F Pokorny (wfpokorny) - Saturday, 10 December 2016, 14:46 GMT
Task Type Feature Request
Category Frontend
Status Tracked on GitHub
Assigned To Thorsten Fröhlich (thorsten)
Operating System All
Severity Low
Priority Normal
Reported Version 3.70 beta 32
Due in Version Future release
Due Date Undecided
Percent Complete 0%
Votes 0
Private No


The #debug message stream is only being flushed when it hits a newline character,
instead of after each #debug statement. This means that some final strings don’t show up.

#debug "This line prints,\n but this line doesn't."
This task depends upon

Comment by Christoph Lipka (clipka) - Wednesday, 20 May 2009, 14:32 GMT
  • Field changed: Status (Unconfirmed → Assigned)

This is a known issue; I think a convention of flushing the #debug stream at the end of each #debug statement is a reasonable idea.

Comment by Nicolas Calimet (calimet) - Wednesday, 27 May 2009, 08:25 GMT

No: doing so would defeat the purpose of having buffered debug output in the first place. Instead, a single, forced flush right before the render starts should be enough.

Comment by Tim Attwood (TimA) - Wednesday, 27 May 2009, 21:31 GMT

In 3.6 some macros produced a progress bar by printing dashes.
If you only flush the buffer before render then those progress bars will be broken.
If you are worried about buffers because of file redirection, then it makes sense performance wise to actually redirect output to a file buffer, then only flush the file buffer when it's full, and at end of the render.
For the message window display it makes sense to flush after each #debug command.

Comment by Thorsten Fröhlich (thorsten) - Wednesday, 24 March 2010, 15:06 GMT
In 3.6 some macros produced a progress bar by printing dashes.

This did not work in 3.6 either, the buffering was included there already. One intelligent way to restore a meaningful progress output would be to implement a smart handling of "\r" (backslash-r) that would be detected by the debug message printing code and convert them into progress messages handled similar to the parser token progress messages. This could be implemented i.e. by appending any #debug stream message that ends with a backslash-r to the parser progress message display. Regular text stream output would remain as is, meaning only the last "progress debug" message before the next new backslash-n would be printed. This would reduce output of debug message junk to log files (if used), yet it would also permit meaningful progress reporting from inside the SDL.

Comment by William F Pokorny (wfpokorny) - Saturday, 10 December 2016, 14:46 GMT
  • Field changed: Status (Assigned → Tracked on GitHub)

Now tracked on github as issue #172.