Mac OS 9 Lives

Mac OS 9 Discussion => Development & Programming => Topic started by: OS923 on December 28, 2018, 08:06:38 AM

Title: SIOUX annoyance
Post by: OS923 on December 28, 2018, 08:06:38 AM
When I write many lines with cout << c << endl, then suddenly it waits 1 second after every line. Before CW Pro 6 this used to work like expected. What causes this?
Title: Re: SIOUX annoyance
Post by: Naiw on January 02, 2019, 09:10:10 AM
When I write many lines with cout << c << endl, then suddenly it waits 1 second after every line. Before CW Pro 6 this used to work like expected. What causes this?

Sounds like somethings fishy with the buffering, did you try flush the cout stream manually and see if it does some difference- I believe std::endl is supposed to flush the stream but rarely used cout/cin with sioux. Alternatively you could always use printf...
Title: Re: SIOUX annoyance
Post by: OS923 on January 09, 2019, 07:41:28 AM
Explicitly flushing doesn't make a difference.
Title: Re: SIOUX annoyance
Post by: OS923 on January 18, 2019, 08:49:17 AM
It uses GetCaretTime to choose a sleep time for WaitNextEvent. In previous versions of CW Pro the sleep time was 0.
Title: Re: SIOUX annoyance
Post by: OS923 on January 22, 2019, 06:46:09 AM
InsertSIOUXBuffer calls UserBreak which uses GetCaretTime instead of 0.
This causes also a problem with missing characters in input.
Change GetCaretTime() to 0 in UserBreak.
Then relink these libraries:
MSL SIOUX.68K.Lib
MSL SIOUX.Carbon.Lib
MSL SIOUX.CFM68K.Lib
MSL SIOUX.PPC.Lib
MSL SIOUX_WASTE.68K.Lib
MSL SIOUX_WASTE.Carbon.Lib
MSL SIOUX_WASTE.CFM68K.Lib
MSL SIOUX_WASTE.PPC.Lib