unicode characters are not printed correctly on the windows command line?

Steven Schveighoffer schveiguy at gmail.com
Mon Dec 23 16:38:50 UTC 2019


On 12/23/19 11:02 AM, Adam D. Ruppe wrote:
> On Monday, 23 December 2019 at 15:41:33 UTC, Steven Schveighoffer wrote:
>> That means we have to buffer separately, which means we have a problem 
>> interleaving printf with writef. It would be awful.
> 
> Or simply don't buffer. Any call you get, flush the C buffer and write 
> the D stuff immediately.

Unbuffered output would perform badly, especially if you are writing 
characters at a time (which is what formattedWrite does). But I think 
this would solve the interleaving problem.

> Remember, this code branch is only called if we already know it is an 
> interactive console. They're usually flushed frequently (at least at 
> every line) anyway... so especially with writeln / writefln those are 
> virtually guaranteed and certainly expected to flush at the end anyway. 
> I really don't think any performance concern would be significant.

Honestly, I think it sounds horrible to have yet another special case 
for this specific situation. But also, I almost never use Windows for D 
work, so I'm fine if you want to duct tape some more cruft onto that 
branch. std.stdio is already a pretty big mess.

-Steve


More information about the Digitalmars-d-learn mailing list