[Rd] R Console Bug?
    Morgan Morgan 
    morg@n@em@||box @end|ng |rom gm@||@com
       
    Fri Apr 16 13:11:39 CEST 2021
    
    
  
Hi,
I am getting a really weird behaviour with the R console.
Here is the code to reproduce it.
1/ C code: ---------------------------------------------------
SEXP printtest(SEXP x) {
  const int PBWIDTH = 30, loop = INTEGER(x)[0];
  int val, lpad;
  double perc;
  char PBSTR[PBWIDTH], PBOUT[PBWIDTH];
  memset(PBSTR,'=', sizeof(PBSTR));
  memset(PBOUT,'-', sizeof(PBOUT));
  for (int k = 0; k < 3; ++k) {
    REprintf("\n   Processing data chunk %d of 3\n",k+1);
    for (int i = 0; i < loop; ++i) {
      perc = (double) i/(loop-1);
      val  = (int) (perc * 100);
      lpad = (int) (perc * PBWIDTH);
      REprintf("\r [%.*s%.*s] %3d%%", lpad, PBSTR, PBWIDTH - lpad, PBOUT,
val);
      R_FlushConsole();
    }
    REprintf("\n");
  }
  return R_NilValue;
}
2/ Build so/dll: ---------------------------------------------------
R CMD SHLIB
3/ Run code :  ---------------------------------------------------
dyn.load("test.so")
.Call("printtest",1e4L)
dyn.unload("test.so")
4/ Issue:  ---------------------------------------------------
If you run the above code in RStudio, it works well both on Mac and Windows.
If you run it in Windows cmd, it is slow.
If you run it in Windows RGui, it is slow but also all texts are flushed.
If you run it in Mac terminal, it runs perfectly.
If you run it in Mac R Console, it prints something like :
> .Call("printtest",1e4L)
 [==============================] 100%NULL----------------------------]   0%
I am using R 4.0.4 (Mac) / 4.0.5 (Windows)
Is that a bug or am I doing something wrong?
Thank you
Best regards,
Morgan
	[[alternative HTML version deleted]]
    
    
More information about the R-devel
mailing list