readline/history size (PR#211)
seniorr@teleport.com
seniorr@teleport.com
Tue, 15 Jun 1999 00:09:00 +0200 (MET DST)
Full_Name: Russell Senior
Version: 0.64.0
OS: linux-2.2.x
Submission from: (NULL) (198.107.133.11)
It appears that the GNU readline history size is limited to 50 entries. This
is apparently occurring because R is not bothering to override the readline
default value (from readline-4.0):
./history.c:59:#define DEFAULT_HISTORY_GROW_SIZE 50
It appears that it ought to be possible to override this from R by setting the
readline variable `history_size' to another value. I request that a
command-line
option be added for doing this. The following is an *untested* patch:
--- src/unix/system.c~ Wed Mar 31 12:53:18 1999
+++ src/unix/system.c Mon Jun 14 15:05:50 1999
@@ -580,6 +580,35 @@
else
R_NSize = value;
}
+#ifdef HAVE_LIBREADLINE
+#ifdef HAVE_READLINE_HISTORY_H
+ else if((value = (*av)[1] == 'h') || !strcmp(*av, "--histsize")) {
+ if(value)
+ REprintf("WARNING: option `-h' is deprecated. "
+ "Use `--histsize' instead.\n");
+ if(!value || (*av)[2] == '\0') {
+ ac--; av++; p = *av;
+ }
+ else p = &(*av)[2];
+ if (p == NULL) {
+ REprintf("WARNING: no hsize given");
+ break;
+ }
+ value = Decode2Long(p,&ierr);
+ if(ierr) {
+ if(ierr < 0) goto badargs;
+ REprintf("--histsize %ld'%c': too large", value,
+ (ierr == 1)?'M':((ierr == 2)?'K':'k'));
+ }
+ if(value < 0)
+ REprintf("WARNING: invalid history (hist)size '%d' ignored,"
+ " using default = %d\n", value, history_size);
+ else
+ history_size = value;
+ }
+
+#endif
+#endif
else {
REprintf("WARNING: unknown option %s\n", *av);
break;
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !) To: r-devel-request@stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._