From: Stan Shebs Date: Wed, 5 May 1999 21:45:13 +0000 (+0000) Subject: import gdb-19990504 snapshot X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a4cb37cb10bee4f1346029a10eadee608a4206b3;p=binutils-gdb.git import gdb-19990504 snapshot --- diff --git a/gdb/testsuite/config/cfdbug.exp b/gdb/testsuite/config/cfdbug.exp new file mode 100644 index 00000000000..955288c7ff0 --- /dev/null +++ b/gdb/testsuite/config/cfdbug.exp @@ -0,0 +1,20 @@ +# Copyright (C) 1997 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +# Please email any bugs, comments, and/or additions to this file to: +# bug-gdb@prep.ai.mit.edu + +load_lib "../config/monitor.exp" diff --git a/gdb/testsuite/gdb.base/annota1.c b/gdb/testsuite/gdb.base/annota1.c new file mode 100644 index 00000000000..7eeee771569 --- /dev/null +++ b/gdb/testsuite/gdb.base/annota1.c @@ -0,0 +1,33 @@ +#include +#include + +#ifdef __sh__ +#define signal(a,b) /* Signals not supported on this target - make them go away */ +#endif + + +void +handle_USR1 (sig) + int sig; +{ +} + +int value; + +int +main () +{ + int my_array[3] = { 1, 2, 3 }; + + value = 7; + +#ifdef SIGUSR1 + signal (SIGUSR1, handle_USR1); +#endif + + printf ("value is %d\n", value); + printf ("my_array[2] is %d\n", my_array[2]); + + return 0; +} + diff --git a/gdb/testsuite/gdb.base/annota1.exp b/gdb/testsuite/gdb.base/annota1.exp new file mode 100644 index 00000000000..fb3703edc31 --- /dev/null +++ b/gdb/testsuite/gdb.base/annota1.exp @@ -0,0 +1,393 @@ +# Copyright (C) 1999 +# Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +# Please email any bugs, comments, and/or additions to this file to: +# bug-gdb@prep.ai.mit.edu + +# This file was written by Elena Zannoni (ezannoni@cygnus.com) + +if $tracelevel then { + strace $tracelevel +} + + +# +# test running programs +# +set prms_id 0 +set bug_id 0 + +set testfile "annota1" +set srcfile ${testfile}.c +set binfile ${objdir}/${subdir}/${testfile} + +if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug additional_flags=-w}] != "" } { + gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." +} + + +# are we on a target board? If so, don't run these tests. +# note: this is necessary because we cannot use runto_main (which would +# work for remote targets too) because of the different prompt we get +# when using annotation level 2. +# +if ![isnative] then { + return 0 +} + + +gdb_exit +gdb_start +gdb_reinitialize_dir $srcdir/$subdir +gdb_load ${binfile} + +if [target_info exists gdb_stub] { + gdb_step_for_stub; +} + +# +# the line at which break main will put the breakpoint +# +set main_line 20 + +# The commands we test here produce many lines of output; disable "press +# to continue" prompts. +send_gdb "set height 0\n" +gdb_expect -re "$gdb_prompt $" + +# +# break at main +# +gdb_test "break main" \ + "Breakpoint.*at.* file .*$srcfile, line.*" \ + "breakpoint main" + + +# +# NOTE: this prompt is OK only when the annotation level is > 1 +# NOTE: When this prompt is in use the gdb_test procedure cannot be used because +# it assumes that the last char after the gdb_prompt is a white space. This is not +# true with this annotated prompt. So we must use send_gdb and gdb_expect. +# + +set old_gdb_prompt $gdb_prompt +set gdb_prompt "\r\n\032\032pre-prompt\r\n$gdb_prompt \r\n\032\032prompt\r\n" + + + +# +# set the annotation level to 2 +# +# of course, this will test: +# annotate-pre-prompt +# annotate-prompt +# annotate-post-prompt (in the next block) +# +send_gdb "set annotate 2\n" +gdb_expect { + -re "set annotate 2\r\n$gdb_prompt$" { pass "annotation set at level 2" } + -re ".*$gdb_prompt$" { fail "annotation set at level 2" } + timeout { fail "annotation set at level 2 (timeout)" } + } + + +# +# info break will test: +# annotate-breakpoints-headers +# annotate-field +# annotate-breakpoints-table +# annotate-record +# annotate-breakpoints-table-end +# +send_gdb "info break\n" +gdb_expect { + -re "\r\n\032\032post-prompt\r\n\r\n\032\032breakpoints-headers\r\n\r\n\032\032field 0\r\nNum \r\n\032\032field 1\r\nType \r\n\032\032field 2\r\nDisp \r\n\032\032field 3\r\nEnb \r\n\032\032field 4\r\nAddress \r\n\032\032field 5\r\nWhat\r\n\r\n\032\032breakpoints-table\r\n\r\n\032\032record\r\n\r\n\032\032field 0\r\n1 \r\n\032\032field 1\r\nbreakpoint \r\n\032\032field 2\r\nkeep \r\n\032\032field 3\r\ny \r\n\032\032field 4\r\n$hex \r\n\032\032field 5\r\nin main at ${srcdir}/${subdir}/${srcfile}:$main_line\r\n\r\n\032\032breakpoints-table-end\r\n$gdb_prompt$" \ + {pass "breakpoint info"} + -re ".*$gdb_prompt$" { fail "breakpoint info" } + timeout { fail "breakpoint info (timeout)" } +} + + +# +# run to a break point will test: +# annotate-frames-invalid +# annotate-breakpoints-invalid (a.k.a. breakpoints-changed) +# annotate-starting +# annotate-breakpoint +# annotate-frame-begin +# annotate-frame-function-name +# annotate-frame-args +# annotate-frame-source-begin +# annotate-frame-source-file +# annotate-frame-source-file-end +# annotate-frame-source-line +# annotate-frame-source-end +# annotate-source +# annotate-frame-end +# annotate-stopped +# +send_gdb "run\n" + gdb_expect { + -re "\r\n\032\032post-prompt\r\nStarting program: $binfile \r\n\r\n\032\032frames-invalid\r\n\r\n\032\032frames-invalid\r\n\r\n\032\032breakpoints-invalid\r\n\r\n\032\032starting\(\r\n\r\n\032\032frames-invalid\)+\r\n\r\n\032\032breakpoint 1\r\n\r\nBreakpoint 1, \r\n\032\032frame-begin 0 $hex\r\n\r\n\032\032frame-function-name\r\nmain\r\n\032\032frame-args\r\n \\(\\)\r\n\032\032frame-source-begin\r\n at \r\n\032\032frame-source-file\r\n.*annota1.c\r\n\032\032frame-source-file-end\r\n:\r\n\032\032frame-source-line\r\n$main_line\r\n\032\032frame-source-end\r\n\r\n\r\n\032\032source.*$srcfile:$main_line:.*:beg:$hex\r\n\r\n\032\032frame-end\r\n\r\n\032\032stopped\r\n$gdb_prompt$" \ + { pass "run until main breakpoint" } + -re ".*$gdb_prompt$" { fail "run until main breakpoint" } + timeout { fail "run until main breakpoint (timeout)" } + } + + +# +# Let's do a next, to get to a point where the array is initialized +# We don't care about the annotated output for this operation, it is the same as +# the one produced by run above +# +send_gdb "next\n" +gdb_expect { + -re ".*$gdb_prompt$" { pass "go after array init line" } + timeout { fail "go after array init line (timeout)" } +} + + +# +# printing the array will test: +# annotate-value-history-begin +# annotate-value-history-value +# annotate-array-section-begin +# annotate-elt +# FIXME: annotate-elt-rep and annotate-elt-rep-end not tested +# annotate-array-section-end +# annotate-value-history-end +# FIXME: annotate-value-begin and annotate-value-end not tested (the gdb output +# command would cause them to be used) +# +send_gdb "print my_array\n" +gdb_expect { + -re "\r\n\032\032post-prompt\r\n\r\n\032\032value-history-begin 1 -\r\n.*= \r\n\032\032value-history-value\r\n.\r\n\032\032array-section-begin 0 -\r\n1\r\n\032\032elt\r\n, 2\r\n\032\032elt\r\n, 3\r\n\032\032elt\r\n\r\n\032\032array-section-end\r\n.\r\n\r\n\032\032value-history-end\r\n$gdb_prompt$" \ + { pass "print array" } + -re ".*$gdb_prompt$" { fail "print array" } + timeout { fail "print array (timeout)" } +} + + +# +# this should generate an error message, so to test: +# annotate-error-begin +# FIXME: annotate-error not tested +# + +#exp_internal 1 +send_gdb "print non_existent_value\n" +gdb_expect { + -re "\r\n\032\032post-prompt\r\n\r\n\032\032error-begin\r\nNo symbol \"non_existent_value\" in current context.\r\n\r\n\032\032error\r\n$gdb_prompt$" \ + { pass "print non_existent_value" } + -re ".*$gdb_prompt$" { fail "print non_existent_value" } + timeout { fail "print non_existent_value (timeout)" } +} + + +# +# break at signal handler. So that, once we are in the sig handler, if we do a bt +# we can test annotate-signal-handler-caller +# +send_gdb "break handle_USR1\n" +gdb_expect { + -re "\r\n\032\032post-prompt\r\n\r\n\032\032breakpoints-invalid\r\nBreakpoint.*at $hex: file.*$srcfile, line.*\r\n$gdb_prompt$" \ + { pass "breakpoint handle_USR1" } + -re ".*$gdb_prompt$" { fail "break at handle_USR1" } + timeout { fail "break at handle_USR1 (timeout)" } +} + +# +# break at printf. When we are stopped at printf, we can test +# +send_gdb "break printf\n" +gdb_expect { + -re "\r\n\032\032post-prompt\r\n\r\n\032\032breakpoints-invalid\r\nBreakpoint.*at $hex.*$gdb_prompt$" \ + { pass "breakpoint printf" } + -re ".*$gdb_prompt$" { fail "break printf" } + timeout { fail "break printf (timeout)" } +} + +# +# get to printf +# +send_gdb "continue\n" +gdb_expect { + -re "\r\n\032\032post-prompt\r\nContinuing.\r\n\r\n\032\032starting\r\n\r\n\032\032frames-invalid\r\n\r\n\032\032breakpoint 3\r\n\r\nBreakpoint 3, \r\n\032\032frame-begin 0 $hex\r\n\r\n\032\032frame-address\r\n$hex\r\n\032\032frame-address-end\r\n in \r\n\032\032frame-function-name\r\nprintf\r\n\032\032frame-args\r\n \\(\\)\r\n\032\032frame-where\r\n from.*\032\032frame-end\r\n\r\n\032\032stopped\r\n$gdb_prompt$" \ + { pass "continue to printf" } + -re ".*$gdb_prompt$" { fail "continue to printf" } + timeout { fail "continue to printf (timeout)" } +} + +# +# test: +# annotate-frame-where +# annotate-frame-address +# annotate-frame-address-end +# +send_gdb "backtrace\n" +gdb_expect { + -re "\r\n\032\032post-prompt\r\n\r\n\032\032frame-begin 0 $hex\r\n.0 \r\n\032\032frame-address\r\n$hex\r\n\032\032frame-address-end\r\n in \r\n\032\032frame-function-name\r\nprintf\r\n\032\032frame-args\r\n \\(\\)\r\n\032\032frame-where\r\n from.*\r\n\032\032frame-end\r\n\r\n\032\032frame-begin 1 $hex\r\n.1 \r\n\032\032frame-address\r\n$hex\r\n\032\032frame-address-end\r\n in \r\n\032\032frame-function-name\r\nmain\r\n\032\032frame-args\r\n \\(\\)\r\n\032\032frame-source-begin\r\n at \r\n\032\032frame-source-file\r\n${srcdir}/${subdir}/${srcfile}\r\n\032\032frame-source-file-end\r\n:\r\n\032\032frame-source-line\r\n.*\r\n\032\032frame-source-end\r\n\r\n\r\n\032\032frame-end\r\n$gdb_prompt$" \ + { pass "bactrace from shlibrary" } + -re ".*$gdb_prompt$" { fail "backtrace from shlibrary" } + timeout { fail "backtrace from shlibrary (timeout)" } +} + + +# +# test printing a frame with some arguments: +# annotate-arg-begin +# annotate-arg-name-end +# annotate-arg-value +# annotate-arg-end +# +send_gdb "signal SIGUSR1\n" +gdb_expect { + -re "\r\n\032\032post-prompt\r\nContinuing with signal SIGUSR1.\r\n\r\n\032\032starting\r\n\r\n\032\032frames-invalid\r\n\r\n\032\032breakpoint 2\r\n\r\nBreakpoint 2, \r\n\032\032frame-begin 0 $hex\r\n\r\n\032\032frame-function-name\r\nhandle_USR1\r\n\032\032frame-args\r\n \\(\r\n\032\032arg-begin\r\nsig\r\n\032\032arg-name-end\r\n=\r\n\032\032arg-value -\r\n16\r\n\032\032arg-end\r\n\\)\r\n\032\032frame-source-begin\r\n at \r\n\032\032frame-source-file\r\n${srcdir}/${subdir}/${srcfile}\r\n\032\032frame-source-file-end\r\n:\r\n\032\032frame-source-line\r\n.*\r\n\032\032frame-source-end\r\n\r\n\r\n\032\032source.*annota1.c:.*:185:beg:$hex\r\n\r\n\032\032frame-end\r\n\r\n\032\032stopped\r\n$gdb_prompt$" \ + { pass "send SIGUSR1" } + -re ".*$gdb_prompt$" { fail "send SIGUSR1" } + timeout { fail "send SIGUSR1 (timeout)" } +} + + +# +# test: +# annotate-signal-handler-caller +# +send_gdb "backtrace\n" +gdb_expect { + -re ".*frame-begin 0 $hex.*0.*frame-end.*frame-begin 1 $hex.*1.*\032\032signal-handler-caller\r\n.signal handler called.\r\n\r\n\032\032frame-end\r\n\r\n.*frame-begin 2 $hex.*2.*frame-begin 3 $hex.*3.*frame-end.*$gdb_prompt$" \ + { pass "backtrace @ signal handler" } + -re ".*$gdb_prompt$" { fail "backtrace @ signal handler" } + timeout { fail "backtrace @ signal handler (timeout)" } +} + +# +# delete all the breakpoints +# +send_gdb "delete 1\n" +gdb_expect { + -re "\r\n\032\032post-prompt\r\n$gdb_prompt$" \ + { pass "delete bp 1" } + -re ".*$gdb_prompt$" { fail "delete bp 1" } + timeout { fail "delete bp 1 (timeout)" } +} + +send_gdb "delete 2\n" +gdb_expect { + -re "\r\n\032\032post-prompt\r\n$gdb_prompt$" \ + { pass "delete bp 2" } + -re ".*$gdb_prompt$" { fail "delete bp 2 " } + timeout { fail "delete bp 2 (timeout)" } +} + +send_gdb "delete 3\n" +gdb_expect { + -re "\r\n\032\032post-prompt\r\n$gdb_prompt$" \ + { pass "delete bp 3" } + -re ".*$gdb_prompt$" { fail "delete bp 3" } + timeout { fail "delete bp 3 (timeout)" } +} + +# +# break at main, after value is initialized. This is in preparation +# to test the annotate output for the display command. +# +send_gdb "break main\n" +gdb_expect { + -re "post-prompt.*\032\032breakpoints-invalid.*Breakpoint 4 at $hex: file ${srcdir}/${subdir}/${srcfile}, line $main_line.*$gdb_prompt$" \ + { pass "break at 28" } + -re ".*$gdb_prompt$" { fail "break at 28" } + timeout { fail "break at 28 (timeout)" } +} + +# +# display the value; test: +# annotate-display-begin +# annotate-display-number-end +# annotate-display-format +# annotate-display-expression +# annotate-display-expression-end +# annotate-display-end +# FIXME: annotate-display-value not tested +# +send_gdb "display value\n" +gdb_expect { + -re "post-prompt\r\n\r\n\032\032display-begin\r\n1\r\n\032\032display-number-end\r\n: \r\n\032\032display-format\r\n\r\n\032\032display-expression\r\nvalue\r\n\032\032display-expression-end\r\n = \r\n\032\032display-expression\r\n7\r\n\r\n\032\032display-end\r\n$gdb_prompt$" \ + { pass "set up display" } + -re ".*$gdb_prompt$" { fail "set up display" } + timeout { fail "set up display (timeout)" } +} + + +# should ask query. Test annotate-query. +# we don't care about anything else here, only the query. + +send_gdb "run\n" +gdb_expect { + -re "pre-query.*already.*\\(y or n\\).*query\r\n" { + send_gdb "y\n" + gdb_expect { + -re ".*post-query.*$gdb_prompt$" \ + { pass "re-run" } + -re ".*$gdb_prompt$" { fail "re-run" } + timeout { fail "re-run (timeout)" } + } + } + -re ".*$gdb_prompt$" { fail "re-run" } + timeout { fail "re-run (timeout)" } +} + + +# +# Send a signal that is not handled; test: +# annotate-signalled +# annotate-signal-name +# annotate-signal-name-end +# annotate-signal-string +# annotate-signal-string-end +# FIXME: annotate-signal not tested (requires that the inferior be +# stopped by a "random" signal) +# +send_gdb "signal SIGTRAP\n" +gdb_expect { + -re ".*\032\032post-prompt\r\nContinuing with signal SIGTRAP.\r\n\r\n\032\032starting\r\n\r\n\032\032frames-invalid\r\n\r\n\032\032signalled\r\n\r\n\032\032frames-invalid\r\n\r\nProgram terminated with signal \r\n\032\032signal-name\r\nSIGTRAP\r\n\032\032signal-name-end\r\n, \r\n\032\032signal-string\r\nTrace.breakpoint trap\r\n\032\032signal-string-end\r\n.\r\nThe program no longer exists.\r\n\r\n\032\032stopped\r\n$gdb_prompt$" \ + { pass "signal sent" } + -re ".*$gdb_prompt$" { fail "signal sent" } + timeout { fail "signal sent (timeout)" } +} + + +# Check for production of a core file +# and remove it! + +set exec_output [remote_exec build "ls core"] + +if [ regexp "core not found" $exec_output] { + pass "No core dumped" +} else { + if [ regexp "No such file or directory" $exec_output] { + pass "No core dumped" + } else { + remote_exec build "rm -f core" + pass "Core dumped and removed" + } +} + + +# restore the original prompt for the rest of the testsuite + +set gdb_prompt $old_gdb_prompt diff --git a/gdb/testsuite/gdb.base/annota2.cc b/gdb/testsuite/gdb.base/annota2.cc new file mode 100644 index 00000000000..e9d7da03470 --- /dev/null +++ b/gdb/testsuite/gdb.base/annota2.cc @@ -0,0 +1,25 @@ +class A { +public: + int x; + int y; + int foo (int arg); +}; + + +int A::foo (int arg) +{ + x += arg; + return arg *2; +} + +int main() +{ + A a; + + a.x = 1; + a.y = 2; + + printf ("a.x is %d\n", a.x); + return 0; +} + diff --git a/gdb/testsuite/gdb.base/annota2.exp b/gdb/testsuite/gdb.base/annota2.exp new file mode 100644 index 00000000000..7c9116bdb7a --- /dev/null +++ b/gdb/testsuite/gdb.base/annota2.exp @@ -0,0 +1,224 @@ +# Copyright (C) 1999 +# Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +# Please email any bugs, comments, and/or additions to this file to: +# bug-gdb@prep.ai.mit.edu + +# This file was written by Elena Zannoni (ezannoni@cygnus.com) + +if $tracelevel then { + strace $tracelevel +} + + +# +# test running programs +# +set prms_id 0 +set bug_id 0 + +set testfile "annota2" +set srcfile ${testfile}.cc +set binfile ${objdir}/${subdir}/${testfile} + +if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++ additional_flags=-w}] != "" } { + gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." +} + +# are we on a target board? If so, don't run these tests. +# note: this is necessary because we cannot use runto_main (which would +# work for remote targets too) because of the different prompt we get +# when using annotation level 2. +# +if ![isnative] then { + return 0 +} + + +gdb_exit +gdb_start +gdb_reinitialize_dir $srcdir/$subdir +gdb_load ${binfile} + +if [target_info exists gdb_stub] { + gdb_step_for_stub; +} + +# +# line number where we need to stop in main +# +set main_line 22 + +# The commands we test here produce many lines of output; disable "press +# to continue" prompts. +send_gdb "set height 0\n" +gdb_expect -re "$gdb_prompt $" + +# +# break at main +# +gdb_test "break 22" \ + "Breakpoint.*at.* file .*$srcfile, line.*" \ + "breakpoint main" + + +# +# NOTE: this prompt is OK only when the annotation level is > 1 +# NOTE: When this prompt is in use the gdb_test procedure cannot be used because +# it assumes that the last char of the gdb_prompt is a white space. This is not +# true with this annotated prompt. So we must use send_gdb and gdb_expect. +# + +set old_gdb_prompt $gdb_prompt +set gdb_prompt "\r\n\032\032pre-prompt\r\n$gdb_prompt \r\n\032\032prompt\r\n" + +send_gdb "set annotate 2\n" +gdb_expect { + -re "set annotate 2\r\n$gdb_prompt$" { pass "annotation set at level 2" } + -re ".*$gdb_prompt$" { fail "annotation set at level 2" } + timeout { fail "annotation set at level 2 (timeout)" } + } + +send_gdb "run\n" + gdb_expect { + -re "\r\n\032\032post-prompt\r\nStarting program: $binfile \r\n\r\n\032\032frames-invalid\r\n\r\n\032\032frames-invalid\r\n\r\n\032\032breakpoints-invalid\r\n\r\n\032\032starting\(\r\n\r\n\032\032frames-invalid\)+\r\n\r\n\032\032breakpoint 1\r\n\r\nBreakpoint 1, \r\n\032\032frame-begin 0 $hex\r\n\r\n\032\032frame-function-name\r\nmain\r\n\032\032frame-args\r\n \\(\\)\r\n\032\032frame-source-begin\r\n at \r\n\032\032frame-source-file\r\n.*annota2.cc\r\n\032\032frame-source-file-end\r\n:\r\n\032\032frame-source-line\r\n$main_line\r\n\032\032frame-source-end\r\n\r\n\r\n\032\032source.*$srcfile:$main_line:.*:beg:$hex\r\n\r\n\032\032frame-end\r\n\r\n\032\032stopped\r\n$gdb_prompt$" \ + { pass "run until main breakpoint" } + -re ".*$gdb_prompt$" { fail "run until main breakpoint" } + timeout { fail "run until main breakpoint (timeout)" } + } + +# +# print class 'a' with public fields. +# this will test: +# annotate-field-begin +# annotate-field-name-end +# annotate-field-value +# annotate-field-end +# +send_gdb "print a\n" +gdb_expect { + -re "\r\n\032\032post-prompt\r\n\r\n\032\032value-history-begin 1 -\r\n.*= \r\n\032\032value-history-value\r\n\\{\r\n\032\032field-begin -\r\nx\r\n\032\032field-name-end\r\n = \r\n\032\032field-value\r\n1\r\n\032\032field-end\r\n, \r\n\032\032field-begin -\r\ny\r\n\032\032field-name-end\r\n = \r\n\032\032field-value\r\n2\r\n\032\032field-end\r\n\\}\r\n\r\n\032\032value-history-end\r\n$gdb_prompt$" \ + { pass "print class" } + -re ".*$gdb_prompt$" { fail "print class" } + timeout { fail "print class (timeout)" } +} + +# +# continue until exit +# this will test: +# annotate-exited +# +send_gdb "continue\n" +gdb_expect { + -re "\r\n\032\032post-prompt\r\nContinuing.\r\n\r\n\032\032starting\r\n\r\n\032\032frames-invalid\r\na.x is 1\r\n\r\n\032\032frames-invalid\r\n\r\n\032\032exited 0\r\n\r\nProgram exited normally.\r\n\r\n\032\032frames-invalid\r\n\r\n\032\032stopped\r\n$gdb_prompt$" \ + { pass "continue until exit" } + -re ".*$gdb_prompt$" { fail "continue to exit" } + timeout { fail "continue to exit (timeout)" } +} + +# +# delete all breakpoints +# +send_gdb "delete\n" +gdb_expect { + -re " " { + send_gdb "y\n" + gdb_expect { + -re " " { pass "delete bps" } + -re ".*$gdb_prompt$" { fail "delete bps" } + timeout { fail "delete bps (timeout)" } + } + } + -re ".*$gdb_prompt$" { fail "delete bps" } + timeout { fail "delete bps (timeout)" } +} + +# +# break at first line of main. +# +send_gdb "break main\n" +gdb_expect { + -re "\r\n\032\032post-prompt\r\n\r\n\032\032breakpoints-invalid\r\nBreakpoint.*at $hex: file.*$srcfile, line.*\r\n$gdb_prompt$" \ + { pass "breakpoint at main" } + -re ".*$gdb_prompt$" { fail "break at main" } + timeout { fail "break at main (timeout)" } +} + +# +# change value of main_line +# +set main_line 19 + +# +# run program up to breakpoint. +# +send_gdb "run\n" + gdb_expect { + -re "\r\n\032\032post-prompt\r\n.*Starting program: $binfile \r\n\r\n\032\032frames-invalid\r\n\r\n\032\032frames-invalid\r\n\r\n\032\032breakpoints-invalid\r\n\r\n\032\032starting\(\r\n\r\n\032\032frames-invalid\)+\r\n\r\n\032\032breakpoint 2\r\n\r\nBreakpoint 2, \r\n\032\032frame-begin 0 $hex\r\n\r\n\032\032frame-function-name\r\nmain\r\n\032\032frame-args\r\n \\(\\)\r\n\032\032frame-source-begin\r\n at \r\n\032\032frame-source-file\r\n.*annota2.cc\r\n\032\032frame-source-file-end\r\n:\r\n\032\032frame-source-line\r\n$main_line\r\n\032\032frame-source-end\r\n\r\n\r\n\032\032source.*$srcfile:$main_line:.*:beg:$hex\r\n\r\n\032\032frame-end\r\n\r\n\032\032stopped\r\n$gdb_prompt$" \ + { pass "run until main breakpoint" } + -re ".*$gdb_prompt$" { fail "run until main breakpoint" } + timeout { fail "run until main breakpoint (timeout)" } + } + +# +# set up a watch point on a.x +# +send_gdb "watch a.x\n" +gdb_expect { + -re "\r\n\032\032post-prompt\r\n\r\n\032\032breakpoints-invalid\r\nWatchpoint 3: a.x\r\n$gdb_prompt$" \ + { pass "set watch on a.x" } + -re ".*$gdb_prompt$" { fail "set watch on a.x" } + timeout { fail "set watch on a.x (timeout)" } +} + +# +# do a next, so that the watchpoint triggers. This will test: +# annotate-watchpoint +# +send_gdb "next\n" +gdb_expect { + -re "\r\n\032\032post-prompt\r\n\r\n\032\032starting\r\n\r\n\032\032frames-invalid\r\n\r\n\032\032frames-invalid\r\n\r\n\032\032frames-invalid\r\n\r\n\032\032watchpoint 3\r\nWatchpoint 3: a.x\r\n\r\nOld value = 4\r\nNew value = 1\r\n\r\n\032\032frame-begin 0 $hex\r\n\r\n\032\032frame-function-name\r\nmain\r\n\032\032frame-args\r\n \\(\\)\r\n\032\032frame-source-begin\r\n at \r\n\032\032frame-source-file\r\n.*$srcfile\r\n\032\032frame-source-file-end\r\n:\r\n\032\032frame-source-line\r\n20\r\n\032\032frame-source-end\r\n\r\n\r\n\032\032source .*$srcfile.*beg:$hex\r\n\r\n\032\032frame-end\r\n\r\n\032\032stopped\r\n$gdb_prompt$" \ + { pass "watch triggered on a.x" } + -re ".*$gdb_prompt$" { fail "watch triggered on a.x" } + timeout { fail "watch triggered on a.x (timeout)" } +} + + +# +# send ^C to gdb, so that the quit() function gets called +# and annotate-quit is tested +# test: +# annotate-quit +# +send_gdb "\003" +gdb_expect { + -re "\r\n\032\032error-begin\r\nQuit\r\n\r\n\032\032quit\r\n$gdb_prompt$" \ + { pass "annotate-quit" } + -re ".*$gdb_prompt$" { fail "annotate-quit" } + timeout { fail "annotate-quit (timeout)" } +} + +# +# FIXME: the testsuite does not currently have tests for +# annotate_catchpoints and annotate_function_call +# and a few variants of the annotations that are +# tested (marked by FIXME on the annot?.exp files) +# + +# reinstall the old prompt for the rest of the testsuite. + +set gdb_prompt $old_gdb_prompt diff --git a/readline/ChangeLog.Cygnus b/readline/ChangeLog.Cygnus new file mode 100644 index 00000000000..08a6ff7e0ed --- /dev/null +++ b/readline/ChangeLog.Cygnus @@ -0,0 +1,988 @@ +1999-04-27 Elena Zannoni + + * ChangeLog.Cygnus: new file. It is the old Changelog. + * ChangeLog: removed. It was conflicting with CHANGELOG + on Windows. + +1999-04-22 Jason Molenda (jsm@bugshack.cygnus.com) + + * Makefile.in (install): Make comment about this change more explicit. + +1999-04-22 Jason Molenda (jsm@bugshack.cygnus.com) + + * Makefile.in (install): Don't install the final libreadline.a + or .h files. + +Tue Mar 23 10:56:08 1999 Elena Zannoni + + Patches from Robert Hoehne : + + * display.c: Change some terminal calls to work on DJGPP. + * terminal.c: Likewise. + * Makefile.in: Remove . from the VPATH directive. + +Tue Mar 9 14:58:13 1999 Geoffrey Noer + + * support/config.sub: Recognize cygwin*, not just cygwin32. + +Tue Feb 9 10:38:57 1999 Elena Zannoni + + * configure.in: Do not use the ./support directory. + * configure: Regenerate. + +Wed Jan 6 12:24:19 1999 Christopher Faylor + + * configure.in: Use LOCAL_CFLAGS rather than CFLAGS for + searching libtermcap directory. + * configure: Regenerate. + +Thu Dec 31 12:07:01 1998 Christopher Faylor + + * configure.in: Search devo libtermcap directory for termcap.h + when compiling for cygwin. + * configure: Regenerated. + +1998-12-30 Michael Meissner + + * Makefile.in (install): Only try to copy libreadline.a and + libhistory.a if they exist. + +Tue Dec 29 23:49:20 1998 Christopher Faylor + + * cross-build/cygwin.cache: Add a couple more known settings. + * configure.in: Fix typo. + * configure: Regenerated. + +Tue Dec 29 18:11:28 1998 Elena Zannoni + + * cross-build: new directory. + + * cross-build/cygwin.cache: new file. Used for Cygwin cross builds. + + * configure.in: added tests for cross-build for Cygwin. + +1998-12-24 Jason Molenda (jsm@bugshack.cygnus.com) + + * Makefile.in: Add CYGNUS LOCAL comment. + * acconfig.h: Add missing defines. + * config.h.bot: Add missing content. + * configure, config.h.in: Regenerated. + +Wed Dec 23 16:21:41 1998 Elena Zannoni + + * Makefile.in: comment out the rule to rebuild configure by + running autoconf. + +Tue Dec 22 10:00:30 1998 Elena Zannoni + + * shell.c (savestring): ifdef'd it out. + + * Imported new version of Readline 2.2.1. Removed all the Cygnus + local changes. + + New files: acconfig.h, aclocal.m4, ansi_stdlib.h, callback.c, + config.h.in, configure, histexpand.c, histfile.c, histlib.h, + histsearch.c, input.c, kill.c, macro.c, nls.c, posixdir.h, + posixjmp.h, posixstat.h, rlconf.h, rltty.h, rlwinsize.h, shell.c, + tcap.h, terminal.c, undo.c, util.c, support directory. + + Removed files: sysdep*, config directory. + + +Fri Dec 4 15:25:41 1998 David Taylor + + The following changes were made by Jim Blandy + and David Taylor + as part of a project to merge in changes + made by HP; HP did not create ChangeLog entries. + + * config/mp-enable-tui: New file. + (TUI_CFLAGS): Search devo's include directory, as long as we're + totally ruining modularity. + (INCLUDE_SRCDIR): New var. + (GDB_TUI_SRCDIR): Fix syntax error. + + * configure.in: Check the --enable-tui flag; if it's set, include + a makefile fragment that #defines TUI and adds the needed #include + directories. + (*-*-hpux*): New host; use sysdep-hpux.h. + + * Makefile.in (.c.o): Check the variable set in the makefile + fragment above. + + * display.c (term_goto): declare it. + (insert_some_chars): set it. + (delete_chars): set it. + + * readline.c: add tui include files surrounded by TUI. + (rl_reset): new function, move some of rl_abort functionality to + here. + (rl_abort): call rl_reset. + (rl_getc): tui changes. + (init_terminal_io): tui changes. + + * readline.h (tui_version, fputc_unfiltered, fputs_unfiltered, + tui_tputs): declare if TUI is defined. + + * rltty.c (prepare_terminal_settings): additional comment. + + * signals.c: add tui include files surrounded by TUI. move #if + and #endif to column 1 so HP's compiler will accept them. Remove + declaration of tuiDoAndReturnToTop since it's declared in tui.h. + (rl_handle_sigwinch): call tuiDoAndReturnToTop if TUI defined. + (rl_handle_sigwinch_on_clear): define if TUI defined. + (rl_set_signals): if TUI, avoid infinite recursion. + (rl_clear_signals): install rl_handle_sigwinch_on_clear. + + * sysdep-hpux.h: New file. + +Mon Nov 2 15:26:33 1998 Geoffrey Noer + + * configure.in: Check cygwin* instead of cygwin32*. + +Tue Jul 28 09:43:27 1998 Jeffrey A Law (law@cygnus.com) + + * sysdep-hpux11.h: New file. + * configure.in (*-*-*-hpux11*): Use sysdep-hpux11.h. + +Thu Jul 23 17:48:21 1998 Ian Lance Taylor + + * configure.bat: Remove obsolete file. + * examples/configure.bat: Remove obsolete file. + +Wed May 13 13:41:53 1998 Ian Lance Taylor + + * sysdep-6irix.h: New file. + * configure.in (*-*-irix6*): New host; use sysdep-6irix.h. + + * Makefile.in (isearch.o, search.o): Depend upon sysdep.h. + (Makefile): Depend upon $(srcdir)/configure.in. + +Thu Apr 9 11:59:38 1998 Ian Dall ( + + * configure.in (host==netbsd): Include config/mh-bsd44. + * config/mh-bsd44: New file. + +Wed Dec 3 16:48:20 1997 Michael Snyder (msnyder@cleaver.cygnus.com) + + * rltty.c: fix typos. + +Tue Oct 8 08:59:24 1996 Stu Grossman (grossman@critters.cygnus.com) + + * tilde.c (tilde_word_expand): __MSDOS___ -> __MSDOS__ + +Sat Oct 05 11:24:34 1996 Mark Alexander + + * rldefs.h: On Linux, include to fix compile error + in . + +Wed Sep 4 18:06:51 1996 Stu Grossman (grossman@critters.cygnus.com) + + * rldefs.h: Enable HANDLE_SIGNALS for cygwin32. + +Thu Aug 29 16:59:45 1996 Michael Meissner + + * configure.in (i[345]86-*-*): Recognize i686 for pentium pro. + +Fri Aug 16 17:49:57 1996 Stu Grossman (grossman@critters.cygnus.com) + + * complete.c: Include if not DOS, and if cygwin32 or not + win32. + * configure.in: Add test for *-*-cygwin32* to use config/mh-posix. + * readline.c: Move decl of tgetstr to rldefs.h. + * (_rl_set_screen_size): Remove redundant ifdef MINIMALs. + * rldefs.h: Don't do MINIMAL for cygwin32. Cygwin32 now uses + full-blown readline, except for termcap. + +Sun Aug 11 21:06:26 1996 Stu Grossman (grossman@critters.cygnus.com) + + * rldefs.c: Get rid of define of SIGALRM if _WIN32 or __MSDOS__. + * Don't define ScreenCols/ScreenRows/... if cygwin32. + * sysdep-norm.h: Don't include if cygwin32. + +Sun Aug 11 14:59:09 1996 Fred Fish + + * rldefs.h: If __osf__is defined, include instead of + . + +Fri Aug 9 08:54:26 1996 Stu Grossman (grossman@critters.cygnus.com) + + * bind.c complete.c history.c readline.c: Don't include sys/file.h. + * complete.c display.c parens.c readline.c rldefs.h rltty.c + signals.c tilde.c: Change refs to _MSC_VER and __WIN32__ to _WIN32. + * signals.c (rl_signal_handler): Ifdef out kill if _WIN32. + * sysdep-norm.h: Ifdef out include of dirent.h if _WIN32. + Include malloc.h if _WIN32. + +Thu Jul 18 15:59:35 1996 Michael Meissner + + * rldefs.h (sys/uio.h) Before sys/stream.h is included under AIX, + include sys/uio.h, which prevents an undefined structure used in a + prototype message from being generated. + +Tue Jun 25 23:05:55 1996 Jason Molenda (crash@godzilla.cygnus.co.jp) + + * Makefile.in (datadir): Set to $(prefix)/share. + (docdir): Removed. + +Sun May 26 15:14:42 1996 Fred Fish + + From: David Mosberger-Tang + + * sysdep-linux.h: New file. + * display.c: Add include of "sysdep.h" to get HAVE_VARARGS_H. + * configure.in: Change pattern i[345]86-*-linux* into *-*-linux* to + support non-x86 based Linux platforms. + +Sun Apr 7 22:06:11 1996 Fred Fish + + From: Miles Bader + * config/mh-gnu: New file. + * configure.in (*-*-gnu*): New host. + +Sun Apr 7 13:21:51 1996 Fred Fish + + From: Robert Lipe + * configure.in: SCO OpenServer 5 (a.k.a 3.2v5*) is more like + SCO 3.2v4 than 3.2v2. + +Wed Jan 3 18:22:10 1996 steve chamberlain + + * readline.c, display.c, complete.c: Add _MSC_VER to list of + things which can't do most things. + +Thu Nov 16 15:39:05 1995 Geoffrey Noer + + * complete.c: Change WIN32 to __WIN32__, added #else return NULL + to end of that define. + +Tue Oct 31 10:38:58 1995 steve chamberlain + + * display.c, parens.c, readline.c, rldefs.h: Change use of + WIN32 to __WIN32__. + +Tue Oct 10 11:07:23 1995 Fred Fish + + * Makefile.in (BISON): Remove macro. + +Tue Oct 10 08:49:00 1995 steve chamberlain + + * complete.c (filename_completion_function): Enable for + win32 when not MSC. + +Sun Oct 8 04:17:19 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * configure.in: Handle powerpc-ibm-aix* like rs6000-ibm-aix*. + +Sat Oct 7 20:36:16 1995 Michael Meissner + + * rltty.c (outchar): Return an int, like tputs expects. + * signals.c (_rl_output_character_function): Ditto. + +Fri Sep 29 15:19:23 1995 steve chamberlain + + Fixes for when the host WIN32, but not MSC. + * complete.c: Sometimes have pwd.h + * parens.c: WIN32 has similar restrictions to __GO32__. + * readline.c (__GO32__): Some of this moved into rldefs.h + * signals.c (__GO32__): Likewise. + * rldefs.h (MSDOS||WIN32) becomes MSDOS||MSC. + (WIN32&&!WIN32): New definitions. + +Wed Sep 20 12:57:17 1995 Ian Lance Taylor + + * Makefile.in (maintainer-clean): New synonym for realclean. + +Wed Mar 1 13:33:43 1995 Michael Meissner + + * rltty.c (outchar): Provide prototype for outchar, to silence + type warnings in passing outchar to tputs on systems like Linux + that have full prototypes. + + * signals.c (_rl_output_character_function): Provide prototype to + silence type warnings. + +Sun Jan 15 14:10:37 1995 Steve Chamberlain + + * rldefs.h: Define MINIMAL for __GO32__ and WIN32. + * complete.c, display.c, readline.c, rltty.c: Test MINIMAL + instead of __GO32__. + +Wed Aug 24 13:04:47 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) + + * configure.in: Change i[34]86 to i[345]86. + +Sat Jul 16 13:26:31 1994 Stan Shebs (shebs@andros.cygnus.com) + + * configure.in (m88*-harris-cxux7*): Recognize. + * sysdep-cxux7.h: New file. + +Fri Jul 8 13:18:33 1994 Steve Chamberlain (sac@jonny.cygnus.com) + + * rttty.c (control_meta_key_on): Remove superfluous testing of + __GO32__. + +Thu Jun 30 15:21:54 1994 Steve Chamberlain (sac@jonny.cygnus.com) + + * rltty.c (control_meta_key_on): Don't compile if __GO32__ is + defined. + (rltty_set_default_bindings): Likewise. + * display.c (insert_some_chars, delete_chars): row_start should be + a short. + * parens.c (rl_insert_close): No FD_SET if using __GO32__. + * readline.c (rl_gather_tyi): Strip off spurious high bits. + +Sun Jun 12 03:51:52 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * history.c: Swap inclusion of rldefs.h and chardefs.h to avoid + CTRL macro redefinition. + +Mon May 9 18:29:42 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * readline.c (readline_default_bindings): Don't compile if + __GO32__ is defined. + (_rl_set_screen_size): Likewise. + * rltty.c (rltty_set_default_bindings): Likewise. + (control_meta_key): Likewise. + * display.c: If __GO32__ is defined, include . + * parens.c: If __GO32__ is defined, undefine FD_SET. + * signals.c: Include SIGWINCH handling in the set of things which + is not done if HANDLE_SIGNALS is not set. + +Fri May 6 13:38:39 1994 Steve Chamberlain (sac@cygnus.com) + + * config/mh-go32: New fragment. + * configure.in (host==go32): Use go32 fragment. + +Wed May 4 14:36:53 1994 Stu Grossman (grossman@cygnus.com) + + * chardefs.h, rldefs.h: Move decls of string funcs from chardefs.h + to rldefs.h so that they don't pollute apps that include + readline.h. + * history.c: include rldefs.h to get decls of string funcs. + +Wed May 4 12:15:11 1994 Stan Shebs (shebs@andros.cygnus.com) + + * configure.in (rs6000-bull-bosx*): New configuration, RS/6000 + variant. + +Wed Apr 20 10:43:52 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * configure.in: Use mh-posix for sunos4.1*. + +Wed Apr 13 21:28:44 1994 Jim Kingdon (kingdon@deneb.cygnus.com) + + * rltty.c (set_tty_settings): Don't set readline_echoing_p. + (rl_deprep_terminal) [NEW_TTY_DRIVER]: Set readline_echoing_p. + +Sun Mar 13 09:13:12 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * Makefile.in: Add TAGS target. + +Wed Mar 9 18:01:31 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * isearch.c, search.c: Include sysdep.h. + +Thu Mar 3 17:40:03 1994 Jim Kingdon (kingdon@deneb.cygnus.com) + + * configure.in: For ISC, use mh-sysv, not mh-isc. + +Thu Feb 24 04:13:53 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * Merge in changes from bash-1.13.5. Merge changes from glob/tilde.c + into tilde.c and use it. Add system function declarations where + necessary. Check for __GO32__, not _GO32_ consistently. + * Makefile.in: Update dependencies. + * rltty.c: Include to match include file setup + in readline.c for rldefs.h. Otherwise we get inconsistent + TTY_DRIVER definitions in readline.c and rltty.c. + * bind.c, complete.c: Do not include , it is already + included via sysdep.h, which causes problems if has + no multiple inclusion protection. + * readline.c (_rl_set_screen_size): Reestablish test for + TIOCGWINSZ_BROKEN. + * rldefs.h: Define S_ISREG if necessary. + +Fri Feb 18 08:56:35 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * Makefile.in: Add search.o rule for Sun make. + +Wed Feb 16 16:35:49 1994 Per Bothner (bothner@kalessin.cygnus.com) + + * rltty.c: #if out some code if __GO32__. + +Tue Feb 15 14:07:08 1994 Per Bothner (bothner@kalessin.cygnus.com) + + * readline.c (_rl_output_character_function), display.c: + Return int, not void, to conform with the expected arg of tputs. + * readline.c (init_terminal_io): tgetflag only takes 1 arg. + * readline.c (_rl_savestring): New function. + * chardefs.h: To avoid conflicts and/or warnings, define + savestring as a macro wrapper for _rl_savestring. + * display.c (extern term_xn): It's an int flag, not a string. + * charsdefs.h, rldefs.h: Remove HAVE_STRING_H-related junk. + +Sat Feb 5 08:32:30 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * Makefile.in: Remove obsolete rules for history.info and + readline.info. + +Thu Jan 27 17:04:01 1994 Jim Kingdon (kingdon@deneb.cygnus.com) + + * chardefs.h: Only declare strrchr if it is not #define'd. + +Tue Jan 25 11:30:06 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * rldefs.h: Accept __hpux as well as hpux for HP compiler in ANSI mode. + +Fri Jan 21 17:31:26 1994 Jim Kingdon (kingdon@lisa.cygnus.com) + + * chardefs.h, tilde.c: Just declare strrchr rather than trying to + include a system header. + +Fri Jan 21 14:40:43 1994 Fred Fish (fnf@cygnus.com) + + * Makefile.in (distclean, realclean): Expand local-distclean + inline after doing recursion. You can't recurse after removing + Makefile. Make them depend on local-clean. + * Makefile.in (local-distclean): Remove now superfluous target. + +Mon Jan 17 12:42:07 1994 Ken Raeburn (raeburn@cujo.cygnus.com) + + * readline.c (doing_an_undo): Delete second declaration, since it + confuses the alpha-osf1 native compiler. + +Sun Jan 16 12:33:11 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + + * complete.c, bind.c: Include . + * complete.c: Define X_OK if not defined by a system header. + + * chardefs.h: Don't declare xmalloc. + + * keymaps.h: Include "chardefs.h" not . + + * Makefile.in (clean mostlyclean distclean realclean): Recurse + into subdirectories as well as doing this directory. Add clean-dvi + target. + +Sat Jan 15 19:36:12 1994 Per Bothner (bothner@kalessin.cygnus.com) + + * readline.c, display.c: Patches to allow use of all 80 + columns on most terminals (those with am and xn). + + Merge in changes from bash-1.13. The most obvious one is + that the file readline.c has been split into multiple files. + * bind.c, complete.c, dispay.c, isearch.c, parens.c, rldefs.h, + rltty.c, search.c signals.c, tilde.c, tilde.h, xmalloc.c: New files. + +Sat Dec 11 16:29:17 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * readline.c (rl_getc): If GO32, trim high bit from getkey, + otherwise fancy PC keys cause grief. + +Fri Nov 5 11:49:47 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * configure.in: Add doc to configdirs. + * Makefile.in (info dvi install-info clean-info): Recurse into doc. + +Fri Oct 22 07:55:08 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * configure.in: Add * to end of all OS names. + +Tue Oct 5 12:33:51 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * readline.c: Add stuff for HIUX to place where we detect termio + vs. sgtty (ugh, but I don't see a simple better way). + +Wed Sep 29 11:02:58 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * readline.c (parser_if): Free tname when done with it (change + imported from from bash 1.12 readline). + +Tue Sep 7 17:15:37 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * configure.in (m88k-*-sysvr4*): Comment out previous change. + +Fri Jul 2 11:05:34 1993 Ian Lance Taylor (ian@cygnus.com) + + * configure.in (*-*-riscos*): New entry; use mh-sysv. + +Wed Jun 23 13:00:12 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * configure.in: Add comment. + +Mon Jun 14 14:28:55 1993 Jim Kingdon (kingdon@eric) + + * configure.in (m88k-*-sysvr4*): Use sysdep-norm.h. + +Sun Jun 13 13:04:09 1993 Jim Kingdon (kingdon@cygnus.com) + + * Makefile.in ({real,dist}clean): Remove sysdep.h. + +Thu Jun 10 11:22:41 1993 Jim Kingdon (kingdon@cygnus.com) + + * Makefile.in: Add mostlyclean, distclean, and realclean targets. + +Fri May 21 17:09:28 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config/mh-isc: New file. + * configure.in: Use it. + +Sat Apr 17 00:40:12 1993 Jim Kingdon (kingdon at calvin) + + * readline.c, history.c: Don't include sys/types.h; sysdep.h does. + + * config/mh-sysv: Define TIOCGWINSZ_BROKEN. + readline.c: Check it. + +Wed Mar 24 02:06:15 1993 david d `zoo' zuhn (zoo at poseidon.cygnus.com) + + * Makefile.in: add installcheck & dvi targets + +Fri Mar 12 18:36:53 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * configure.in: recognize *-*-solaris2* instead of *-*-solaris* (a + number of people want to call SunOS 4.1.2 "solaris1.0" + and get it right) + +Tue Mar 2 21:25:36 1993 Fred Fish (fnf@cygnus.com) + + * sysdep-sysv4.h: New file for SVR4. + * configure.in (*-*-sysv4*): Use sysdep-sysv4.h. + + * configure.in (*-*-ultrix2): Add triplet from Michael Rendell + (michael@mercury.cs.mun.ca) + +Tue Dec 15 12:38:16 1992 Ian Lance Taylor (ian@cygnus.com) + + * configure.in (i[34]86-*-sco3.2v4*): use mh-sco4. + * config/mh-sco4: New file, like mh-sco but without defining + _POSIX_SOURCE. + +Wed Nov 11 21:20:14 1992 John Gilmore (gnu@cygnus.com) + + * configure.in: Reformat to one-case-per-line. + Handle SunOS 3.5, as per Karl Berry, . + +Wed Nov 4 15:32:31 1992 Stu Grossman (grossman at cygnus.com) + + * sysdep-norm.h: Remove some crud, install dire warning. + +Thu Oct 22 01:08:13 1992 Stu Grossman (grossman at cygnus.com) + + * configure.in: Make SCO work again... + +Mon Oct 12 15:04:07 1992 Ian Lance Taylor (ian@cygnus.com) + + * readline.c (init_terminal_io): if tgetent returns 0, the + terminal type is unknown. + +Thu Oct 1 23:44:14 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * configure.in: use cpu-vendor-os triple instead of nested cases + +Wed Sep 30 12:58:57 1992 Stu Grossman (grossman at cygnus.com) + + * readline.c (rl_complete_internal): Cast alloca to (char *) to + avoid warning. + +Fri Sep 25 12:45:05 1992 Stu Grossman (grossman at cygnus.com) + + * readline.c (clear_to_eol, rl_generic_bind): Make static. + (rl_digit_loop): Add arg to call to rl_message(). + * vi_mode.c (rl_vi_first_print): Add arg to call to + rl_back_to_indent(). + +Wed Aug 19 14:59:07 1992 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in: always create installation directories, use full + file name for install target. + +Wed Aug 12 15:50:57 1992 John Gilmore (gnu@cygnus.com) + + * readline.c (last_readline_init_file): Fix typo made by Steve + Chamberlain/DJ Delorie. Proper control file name is ~/.inputrc, + not ~/inputrc. + +Thu Jun 25 16:15:27 1992 Stu Grossman (grossman at cygnus.com) + + * configure.in: Make bsd based systems use sysdep-obsd.h. + +Tue Jun 23 23:22:53 1992 Per Bothner (bothner@cygnus.com) + + * config/mh-posix: New file, for Posix-compliant systems. + * configure.in: Use mh-posix for Linux (free Unix clone). + +Tue Jun 23 21:59:20 1992 Fred Fish (fnf@cygnus.com) + + * sysdep-norm.h (alloca): Protect against previous definition as + a macro with arguments. + +Fri Jun 19 15:48:54 1992 Stu Grossman (grossman at cygnus.com) + + * sysdep-obsd.h: #include to make this more Kosher. + +Fri Jun 19 12:53:28 1992 John Gilmore (gnu at cygnus.com) + + * config/mh-apollo68v, mh-sco, mh-sysv, mh-sysv4}: RANLIB=true. + +Mon Jun 15 13:50:34 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * configure.in: use mh-sysv4 on solaris2 + +Mon Jun 15 12:28:24 1992 Fred Fish (fnf@cygnus.com) + + * config/mh-ncr3000 (INSTALL): Don't use /usr/ucb/install, + it is broken on ncr 3000's. + * config/mh-ncr3000 (RANLIB): Use RANLIB=true. + +Mon Jun 15 01:35:55 1992 John Gilmore (gnu at cygnus.com) + + * readline.c: Make new SIGNALS_* macros to parameterize the + ugly changes in signal blocking. Use them throughout, + reducing #ifdef HAVE_POSIX_SIGNALS and HAVE_BSD_SIGNALS clutter + significantly. Make all such places use POSIX if available, + to avoid losing with poor `sigsetmask' emulation from libiberty. + +Sun Jun 14 15:19:51 1992 Stu Grossman (grossman at cygnus.com) + + * readline.c (insert_some_chars): Return void. + +Thu Jun 11 01:27:45 1992 John Gilmore (gnu at cygnus.com) + + * readline.c: #undef PC, which Solaris2 defines in sys/types.h, + clobbering the termcap global variable PC. + +Tue Jun 9 17:30:23 1992 Fred Fish (fnf@cygnus.com) + + * config/{mh-ncr3000, mh-sysv4}: Change INSTALL to use + /usr/ucb/install. + +Mon Jun 8 23:10:07 1992 Fred Fish (fnf@cygnus.com) + + * readline.h (rl_completer_quote_characters): Add declaration. + * readline.c (rl_completer_quote_characters): Add global var. + * readline.c (strpbrk): Add prototype and function. + * readline.c (rl_complete_internal): Add code to handle + expansion of quoted strings. + +Mon May 11 12:39:30 1992 John Gilmore (gnu at cygnus.com) + + * readline.c: Can't initialize FILE *'s with stdin and stdout, + because they might not be constant. Patch from Tom Quinn, + trq@dinoysos.thphys.ox.ac.uk. + +Tue Apr 28 21:52:34 1992 John Gilmore (gnu at cygnus.com) + + * readline.h: Declare rl_event_hook (which already existed). + Suggested by Christoph Tietz . + +Wed Apr 22 18:08:01 1992 K. Richard Pixley (rich@rtl.cygnus.com) + + * configure.in: remove subdirs declaration. The obsolete semantic + for subdirs has been usurped by per's new meaning. + +Tue Apr 21 11:54:23 1992 K. Richard Pixley (rich@cygnus.com) + + * Makefile.in: rework CFLAGS so that they can be set on the + command line to make. Remove MINUS_G. Default CFLAGS to -g. + +Fri Apr 10 23:02:27 1992 Fred Fish (fnf@cygnus.com) + + * configure.in: Recognize new ncr3000 config. + * config/mh-ncr3000: New NCR 3000 config file. + +Wed Mar 25 10:46:30 1992 John Gilmore (gnu at cygnus.com) + + * history.c (stifle_history): Negative arg treated as zero. + +Tue Mar 24 23:46:20 1992 K. Richard Pixley (rich@cygnus.com) + + * config/mh-sysv: INSTALL_PROG -> INSTALL. + +Mon Feb 10 01:41:35 1992 Brian Fox (bfox at gnuwest.fsf.org) + + * history.c (history_do_write) Build a buffer of all of the lines + to write and write them in one fell swoop (lower overhead than + calling write () for each line). Suggested by Peter Ho. + + * vi_mode.c (rl_vi_subst) Don't forget to end the undo group. + +Sat Mar 7 00:15:36 1992 K. Richard Pixley (rich@rtl.cygnus.com) + + * Makefile.in: remove FIXME's on info and install-info targets. + +Fri Mar 6 22:02:04 1992 K. Richard Pixley (rich@cygnus.com) + + * Makefile.in: added check target. + +Wed Feb 26 18:04:40 1992 K. Richard Pixley (rich@cygnus.com) + + * Makefile.in, configure.in: removed traces of namesubdir, + -subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced + copyrights to '92, changed some from Cygnus to FSF. + +Fri Feb 21 14:37:32 1992 Steve Chamberlain (sac at rtl.cygnus.com) + + * readline.c, examples/fileman.c: patches from DJ to support DOS + +Thu Feb 20 23:23:16 1992 Stu Grossman (grossman at cygnus.com) + + * readline.c (rl_read_init_file): Make sure that null filename is + not passed to open() or else we end up opening the directory, and + read a bunch of garbage into keymap[]. + +Mon Feb 17 17:15:09 1992 Fred Fish (fnf at cygnus.com) + + * readline.c (readline_default_bindings): Only make use of VLNEXT + when both VLNEXT and TERMIOS_TTY_DRIVER is defined. On SVR4 + includes , so VLNEXT is always defined. + + * sysdep-norm.h (_POSIX_VERSION): Define this for all SVR4 + systems so that gets used, instead of . + +Fri Dec 20 12:04:31 1991 Fred Fish (fnf at cygnus.com) + + * configure.in: Change svr4 references to sysv4. + +Tue Dec 10 04:07:20 1991 K. Richard Pixley (rich at rtl.cygnus.com) + + * Makefile.in: infodir belongs in datadir. + +Fri Dec 6 23:23:14 1991 K. Richard Pixley (rich at rtl.cygnus.com) + + * Makefile.in: remove spaces following hyphens, bsd make can't + cope. added clean-info. added standards.text support. Don't + know how to make info anymore. + + * configure.in: commontargets is no longer a recognized hook, so + remove it. new subdir called doc. + +Thu Dec 5 22:46:10 1991 K. Richard Pixley (rich at rtl.cygnus.com) + + * Makefile.in: idestdir and ddestdir go away. Added copyrights + and shift gpl to v2. Added ChangeLog if it didn't exist. docdir + and mandir now keyed off datadir by default. + +Fri Nov 22 09:02:32 1991 John Gilmore (gnu at cygnus.com) + + * sysdep-obsd.h: Rename from sysdep-newsos.h. + * configure.in: Use sysdep-obsd for Mach as well as NEWs. + + * sysdep-norm.h, sysdep-aix.h: Add , which POSIX + requires to make work. Improve Sun alloca decl. + +Thu Nov 21 18:48:08 1991 John Gilmore (gnu at cygnus.com) + + * Makefile.in: Clean up ../glob/tilde.c -> tilde.o path. + Clean up makefile a bit in general. + +Thu Nov 21 14:40:29 1991 Stu Grossman (grossman at cygnus.com) + + * configure.in, config/mh-svr4: Make SVR4 work. + + * readline.c: Move config stuff to sysdep.h, use typedef dirent + consistently, remove refs to d_namlen (& D_NAMLEN) to improve + portability. Also, update copyright notice. + readline.h: remove config stuff that I added erroneously in the + first place. + + * emacs_keymap.c, funmap.c, history.c, keymaps.c, vi_keymap.c, + vi_mode.c: move config stuff to sysdep.h, update copyright notices. + +Tue Nov 19 15:02:13 1991 Stu Grossman (grossman at cygnus.com) + + * history.c: #include "sysdep.h". + +Tue Nov 19 10:49:17 1991 Fred Fish (fnf at cygnus.com) + + * Makefile.in, config/hm-sysv, config/hm-sco: Change SYSV to + USG to match current usage. + + * readline.c: Add USGr4 to list of defined things to check for + to use style directory access. + + * config/hm-svr4: New file for System V Release 4 (USGr4). + +Mon Nov 18 23:59:52 1991 Stu Grossman (grossman at cygnus.com) + + * readline.c (filename_completion_function): use struct dirent + instead of struct direct. + +Fri Nov 1 07:02:13 1991 Brian Fox (bfox at gnuwest.fsf.org) + + * readline.c (rl_translate_keyseq) Make C-? translate to RUBOUT + unconditionally. + +Mon Oct 28 11:34:52 1991 Brian Fox (bfox at gnuwest.fsf.org) + + * readline.c; Use Posix directory routines and macros. + + * funmap.c; Add entry for call-last-kbd-macro. + + * readline.c (rl_prep_term); Use system EOF character on POSIX + systems also. + +Thu Oct 3 16:19:53 1991 Brian Fox (bfox at gnuwest.fsf.org) + + * readline.c; Make a distinction between having a TERMIOS tty + driver, and having POSIX signal handling. You might one without + the other. New defines used HAVE_POSIX_SIGNALS, and + TERMIOS_TTY_DRIVER. + +Tue Jul 30 22:37:26 1991 Brian Fox (bfox at gnuwest.fsf.org) + + * readline.c: rl_getc () If a call to read () returns without an + error, but with zero characters, the file is empty, so return EOF. + +Thu Jul 11 20:58:38 1991 Brian Fox (bfox at gnuwest.fsf.org) + + * readline.c: (rl_get_next_history, rl_get_previous_history) + Reallocate the buffer space if the line being moved to is longer + the the current space allocated. Amazing that no one has found + this bug until now. + +Sun Jul 7 02:37:05 1991 Brian Fox (bfox at gnuwest.fsf.org) + + * readline.c:(rl_parse_and_bind) Allow leading whitespace. + Make sure TERMIO and TERMIOS systems treat CR and NL + disctinctly. + +Tue Jun 25 04:09:27 1991 Brian Fox (bfox at gnuwest.fsf.org) + + * readline.c: Rework parsing conditionals to pay attention to the + prior states of the conditional stack. This makes $if statements + work correctly. + +Mon Jun 24 20:45:59 1991 Brian Fox (bfox at gnuwest.fsf.org) + + * readline.c: support for displaying key binding information + includes the functions rl_list_funmap_names (), + invoking_keyseqs_in_map (), rl_invoking_keyseqs (), + rl_dump_functions (), and rl_function_dumper (). + + funmap.c: support for same includes rl_funmap_names (). + + readline.c, funmap.c: no longer define STATIC_MALLOC. However, + update both version of xrealloc () to handle a null pointer. + +Thu Apr 25 12:03:49 1991 Brian Fox (bfox at gnuwest.fsf.org) + + * vi_mode.c (rl_vi_fword, fWord, etc. All functions use + the macro `isident()'. Fixed movement bug which prevents + continious movement through the text. + +Fri Jul 27 16:47:01 1990 Brian Fox (bfox at gnuwest.fsf.org) + + * readline.c (parser_if) Allow "$if term=foo" construct. + +Wed May 23 16:10:33 1990 Brian Fox (bfox at gnuwest.fsf.org) + + * readline.c (rl_dispatch) Correctly remember the last command + executed. Fixed typo in username_completion_function (). + +Mon Apr 9 19:55:48 1990 Brian Fox (bfox at gnuwest.fsf.org) + + * readline.c: username_completion_function (); For text passed in + with a leading `~', remember that this could be a filename (after + it is completed). + +Thu Apr 5 13:44:24 1990 Brian Fox (bfox at gnuwest.fsf.org) + + * readline.c: rl_search_history (): Correctly handle case of an + unfound search string, but a graceful exit (as with ESC). + + * readline.c: rl_restart_output (); The Apollo passes the address + of the file descriptor to TIOCSTART, not the descriptor itself. + +Tue Mar 20 05:38:55 1990 Brian Fox (bfox at gnuwest.fsf.org) + + * readline.c: rl_complete (); second call in a row causes possible + completions to be listed. + + * readline.c: rl_redisplay (), added prompt_this_line variable + which is the first character character following \n in prompt. + +Sun Mar 11 04:32:03 1990 Brian Fox (bfox at gnuwest.fsf.org) + + * Signals are now supposedly handled inside of SYSV compilation. + +Wed Jan 17 19:24:09 1990 Brian Fox (bfox at sbphy.ucsb.edu) + + * history.c: history_expand (); fixed overwriting memory error, + added needed argument to call to get_history_event (). + +Thu Jan 11 10:54:04 1990 Brian Fox (bfox at sbphy.ucsb.edu) + + * readline.c: added mark_modified_lines to control the + display of an asterisk on modified history lines. Also + added a user variable called mark-modified-lines to the + `set' command. + +Thu Jan 4 10:38:05 1990 Brian Fox (bfox at sbphy.ucsb.edu) + + * readline.c: start_insert (). Only use IC if we don't have an im + capability. + +Fri Sep 8 09:00:45 1989 Brian Fox (bfox at aurel) + + * readline.c: rl_prep_terminal (). Only turn on 8th bit + as meta-bit iff the terminal is not using parity. + +Sun Sep 3 08:57:40 1989 Brian Fox (bfox at aurel) + + * readline.c: start_insert (). Uses multiple + insertion call in cases where that makes sense. + + rl_insert (). Read type-ahead buffer for additional + keys that are bound to rl_insert, and insert them + all at once. Make insertion of single keys given + with an argument much more efficient. + +Tue Aug 8 18:13:57 1989 Brian Fox (bfox at aurel) + + * readline.c: Changed handling of EOF. readline () returns + (char *)EOF or consed string. The EOF character is read from the + tty, or if the tty doesn't have one, defaults to C-d. + + * readline.c: Added support for event driven programs. + rl_event_hook is the address of a function you want called + while Readline is waiting for input. + + * readline.c: Cleanup time. Functions without type declarations + do not use return with a value. + + * history.c: history_expand () has new variable which is the + characters to ignore immediately following history_expansion_char. + +Sun Jul 16 08:14:00 1989 Brian Fox (bfox at aurel) + + * rl_prep_terminal () + BSD version turns off C-s, C-q, C-y, C-v. + + * readline.c -- rl_prep_terminal () + SYSV version hacks readline_echoing_p. + BSD version turns on passing of the 8th bit for the duration + of reading the line. + +Tue Jul 11 06:25:01 1989 Brian Fox (bfox at aurel) + + * readline.c: new variable rl_tilde_expander. + If non-null, this contains the address of a function to call if + the standard meaning for expanding a tilde fails. The function is + called with the text sans tilde (as in "foo"), and returns a + malloc()'ed string which is the expansion, or a NULL pointer if + there is no expansion. + + * readline.h - new file chardefs.h + Separates things that only readline.c needs from the standard + header file publishing interesting things about readline. + + * readline.c: + readline_default_bindings () now looks at terminal chararacters + and binds those as well. + +Wed Jun 28 20:20:51 1989 Brian Fox (bfox at aurel) + + * Made readline and history into independent libraries. +