Przemyslaw, could it be that OS/2 and DOS always require stdout/stderr to be in text mode?
Maurilio. Przemysław Czerpak wrote: > On Mon, 30 Nov 2009, Maurilio Longo wrote: > > Hi, > >> hb_compile() emits '\n' instead of '\n\r' when it needs to go to the next >> line. >> I think that on OS/2 and on DOS this is not enough to go to the next line >> .AND. to column 0. >> Shouldn't it use hb_OSNewLine() to fetch the correct EOL to use? > > "\n" is correct. Please note that using standalone compiler with > exactly the same code you do not have stairs effect problem. > Just simply by default "\n" in stdout and stderr streams are > automatically translated to "\r\n" if it's necessary. > >> I see such problem on hbmk2 which has this kinf of output: >> <pre> >> (E:\REPOSITORY\HARBOUR\tests)hbmk2 -mt speedtst.prg >> hbmk2: Processing environment options: -mt -compiler=gcc >> hbmk2: Processing configuration: E:\harbour\bin\hbmk.cfg >> Harbour 2.0.0beta3 (Rev. 13066) >> Copyright (c) 1999-2009, >> http://www.harbour-proje >> ct.org/ >> Compiling 'speedtst.prg'... >> Lines 1204, Functions/Procedures 79 >> Generating C source output to >> 'speedtst.c'... >> Done. >> </pre> > > The problem is caused by: > hb_fsSetDevMode( s_hFilenoStdout, FD_BINARY ); > hb_fsSetDevMode( s_hFilenoStderr, FD_BINARY ); > inside src/rtl/console.c > We can remove it or add function to revert this setting on user request, > i.e. add this functions to src/rtl/console.c: > > HB_FUNC( HB_STDTEXTMODE ) > { > USHORT uiDevMode = hb_parldef( 1, TRUE ) ? FD_TEXT : FD_BINARY; > > hb_fsSetDevMode( s_hFilenoStdout, uiDevMode ); > hb_fsSetDevMode( s_hFilenoStderr, uiDevMode ); > } > > and then to hbmk2.prg: > hb_stdTextMode( .T. ) > Just before calling hb_compile() and then revert it. > You can also make it globally but in such case you will have to replace > hb_osNewLine() in HBMK2 output with simple e"\n" ( chr( 10 ) ) > > BTW for me more important is removing space padding in hbmk2 output, > i.e. try to redirect any hbmk2 output to file to see it. > It badly interacts with tools which allows to catch some data from > application output, i.e. even simple mouse mark and past in terminal > window is confused by this spaces and cannot select text only. > Additionally when terminal window has less then 80 columns the text > is wrongly formatted. > > best regards, > Przemek > _______________________________________________ > Harbour mailing list (attachment size limit: 40KB) > Harbour@harbour-project.org > http://lists.harbour-project.org/mailman/listinfo/harbour > -- __________ | | | |__| Maurilio Longo |_|_|_|____| farmaconsult s.r.l. _______________________________________________ Harbour mailing list (attachment size limit: 40KB) Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour