Read $GDBHISTSIZE instead of $HISTSIZE
authorPatrick Palka <patrick@parcs.ath.cx>
Wed, 17 Jun 2015 17:31:56 +0000 (13:31 -0400)
committerPatrick Palka <patrick@parcs.ath.cx>
Wed, 17 Jun 2015 18:03:50 +0000 (14:03 -0400)
The HISTSIZE environment variable is generally expected to be read by
shells, not by applications.  Some distros for example globally export
HISTSIZE in /etc/profile -- with the intention that it only affects
shells -- and by doing so it renders useless GDB's own mechanism for
setting the history size via .gdbinit.  Also, annoyances may arise when
HISTSIZE is not interpreted the same way by the shell and by GDB, e.g.
PR gdb/16999.  That can always be fixed on a shell-by-shell basis but it
may be impossible to be consistent with the behavior of all shells at
once.  Finally it just makes sense to not confound shell environment
variables with application environment variables.

gdb/ChangeLog:

* NEWS: Mention that GDBHISTSIZE is read instead of HISTSIZE.
* top.c (init_history): Read from GDBHISTSIZE instead of
HISTSIZE.
(init_main): Refer to GDBHISTSIZE instead of HISTSIZE.

gdb/doc/ChangeLog:

* gdb.texinfo (Command History): Replace occurrences of HISTSIZE
with GDBHISTSIZE.

gdb/testsuite/ChangeLog:

* gdb.base/gdbinit-history.exp: Replace occurrences of HISTSIZE
with GDBHISTSIZE.
* gdb.base/readline.exp: Likewise.

gdb/ChangeLog
gdb/NEWS
gdb/doc/ChangeLog
gdb/doc/gdb.texinfo
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/gdbinit-history.exp
gdb/testsuite/gdb.base/readline.exp
gdb/top.c

index e84bd28c36aa88284b1ce45188e2776636750bd9..7d631852aed01fab8e1dfd43798798b9ab2b729f 100644 (file)
@@ -1,3 +1,10 @@
+2015-06-17  Patrick Palka  <patrick@parcs.ath.cx>
+
+       * NEWS: Mention that GDBHISTSIZE is read instead of HISTSIZE.
+       * top.c (init_history): Read from GDBHISTSIZE instead of
+       HISTSIZE.
+       (init_main): Refer to GDBHISTSIZE instead of HISTSIZE.
+
 2015-06-17  Patrick Palka  <patrick@parcs.ath.cx>
 
        * top.c (gdb_safe_append_history): Do not call
index 85688c7276141ef4fd41be62f03840a143f6cfd4..8b813afc477249b0b726d3c21973f12f7b8a7281 100644 (file)
--- a/gdb/NEWS
+++ b/gdb/NEWS
 * The "tui reg" command now provides completion for all of the
   available register groups, including target specific groups.
 
+* The HISTSIZE environment variable is no longer read when determining
+  the size of GDB's command history.  GDB now instead reads the dedicated
+  GDBHISTSIZE environment variable.
+
 * Guile Scripting
 
   ** Memory ports can now be unbuffered.
index b970b621ceec725ffc2182164fe790c607c25fbb..ed513870a89f1268f02d5d8adf135eb6d91a747c 100644 (file)
@@ -1,3 +1,8 @@
+2015-06-17  Patrick Palka  <patrick@parcs.ath.cx>
+
+       * gdb.texinfo (Command History): Replace occurrences of HISTSIZE
+       with GDBHISTSIZE.
+
 2015-06-15  Simon Marchi  <simon.marchi@ericsson.com>
 
        * gdb.texinfo (GDB/MI Data Manipulation): Clarify usage of
index 952844efebc41f015b8815bbae360ac88b473a3f..e02f92eb0ebdbd51a5e531aa726be2bb78af1ea9 100644 (file)
@@ -22635,12 +22635,12 @@ Stop recording command history in a file.
 
 @cindex history size
 @kindex set history size
-@cindex @env{HISTSIZE}, environment variable
+@cindex @env{GDBHISTSIZE}, environment variable
 @item set history size @var{size}
 @itemx set history size unlimited
 Set the number of commands which @value{GDBN} keeps in its history list.
 This defaults to the value of the environment variable
-@code{HISTSIZE}, or to 256 if this variable is not set.  If @var{size}
+@code{GDBHISTSIZE}, or to 256 if this variable is not set.  If @var{size}
 is @code{unlimited}, the number of commands @value{GDBN} keeps in the
 history list is unlimited.
 @end table
index 65c55795c7a1cba0b0bd470097ae04417c3f52de..abb067764c672b0a22f9c9a75606f95a39eda992 100644 (file)
@@ -1,3 +1,9 @@
+2015-06-17  Patrick Palka  <patrick@parcs.ath.cx>
+
+       * gdb.base/gdbinit-history.exp: Replace occurrences of HISTSIZE
+       with GDBHISTSIZE.
+       * gdb.base/readline.exp: Likewise.
+
 2015-06-17  Yao Qi  <yao.qi@linaro.org>
 
        * lib/gdb.exp (get_build_id): Move braces and "else" to the same
index 8c4f4ca4dddaa42622f6384fdca146be41a60c9c..7bdce5ff132b6890642f56e1a76dc72584128bea 100644 (file)
@@ -31,10 +31,10 @@ proc test_gdbinit_history_setting { home size } {
 
     set env(HOME) "$srcdir/$subdir/$home"
 
-    # The HISTSIZE environment variable takes precedence over whatever
+    # The GDBHISTSIZE environment variable takes precedence over whatever
     # history size is set in .gdbinit.  Make sure the former is not
     # set.
-    unset -nocomplain env(HISTSIZE)
+    unset -nocomplain env(GDBHISTSIZE)
 
     set saved_internal_gdbflags $INTERNAL_GDBFLAGS
     set INTERNAL_GDBFLAGS [string map {"-nx" ""} $INTERNAL_GDBFLAGS]
@@ -66,10 +66,10 @@ proc test_no_truncation_of_unlimited_history_file { } {
 
     array set old_env [array get env]
 
-    # The HISTSIZE environment variable takes precedence over whatever
+    # The GDBHISTSIZE environment variable takes precedence over whatever
     # history size is set in .gdbinit.  Make sure the former is not
     # set.
-    unset -nocomplain env(HISTSIZE)
+    unset -nocomplain env(GDBHISTSIZE)
 
     set saved_internal_gdbflags $INTERNAL_GDBFLAGS
 
index c4442856e94385acec94b9ba3898feeb113fda38..f0490a2426151af66a76ac9a9b2ff83841fc8b7a 100644 (file)
@@ -185,11 +185,11 @@ gdb_test_multiple "if 1 > 0\n\033\[A\033\[A\nend" $msg {
 if [info exists env(GDBHISTFILE)] {
     set old_gdbhistfile $env(GDBHISTFILE)
 }
-if [info exists env(HISTSIZE)] {
-    set old_histsize $env(HISTSIZE)
+if [info exists env(GDBHISTSIZE)] {
+    set old_gdbhistsize $env(GDBHISTSIZE)
 }
 set env(GDBHISTFILE) "${srcdir}/${subdir}/gdb_history"
-set env(HISTSIZE) "10"
+set env(GDBHISTSIZE) "10"
 
 gdb_exit
 gdb_start
@@ -207,10 +207,10 @@ if [info exists old_gdbhistfile] {
 } else {
     unset env(GDBHISTFILE)
 }
-if [info exists old_histsize] {
-    set env(HISTSIZE) $old_histsize
+if [info exists old_gdbhistsize] {
+    set env(GDBHISTSIZE) $old_gdbhistsize
 } else {
-    unset env(HISTSIZE)
+    unset env(GDBHISTSIZE)
 }
 set timeout $oldtimeout1
 
index f8f926b62d4a5cabcbf58cd3c52de3a1fd92b4fd..8ff20394cc96312a4915adab1b77a9453786baf7 100644 (file)
--- a/gdb/top.c
+++ b/gdb/top.c
@@ -1681,7 +1681,7 @@ init_history (void)
 {
   char *tmpenv;
 
-  tmpenv = getenv ("HISTSIZE");
+  tmpenv = getenv ("GDBHISTSIZE");
   if (tmpenv)
     {
       int var;
@@ -1857,7 +1857,7 @@ Show the size of the command history,"), _("\
 ie. the number of previous commands to keep a record of.\n\
 If set to \"unlimited\", the number of commands kept in the history\n\
 list is unlimited.  This defaults to the value of the environment\n\
-variable \"HISTSIZE\", or to 256 if this variable is not set."),
+variable \"GDBHISTSIZE\", or to 256 if this variable is not set."),
                            set_history_size_command,
                            show_history_size,
                            &sethistlist, &showhistlist);