# HG changeset patch # User jwe # Date 981534207 0 # Node ID 4ab12d923395e0309c07c5be38d0b4b1b8837593 # Parent 55a13d6d2625b23fdf0acb657b549a457e4d0ffc [project @ 2001-02-07 08:23:27 by jwe] diff -r 55a13d6d2625 -r 4ab12d923395 readline/COPYING --- a/readline/COPYING Wed Feb 07 07:45:32 2001 +0000 +++ b/readline/COPYING Wed Feb 07 08:23:27 2001 +0000 @@ -305,7 +305,7 @@ 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 USA. + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA Also add information on how to contact you by electronic and paper mail. diff -r 55a13d6d2625 -r 4ab12d923395 readline/doc/texi2dvi --- a/readline/doc/texi2dvi Wed Feb 07 07:45:32 2001 +0000 +++ b/readline/doc/texi2dvi Wed Feb 07 08:23:27 2001 +0000 @@ -1,10 +1,9 @@ #! /bin/sh # texi2dvi --- smartly produce DVI files from texinfo sources - -# Copyright (C) 1992, 1993, 1994, 1995 Free Software Foundation, Inc. - -# $Id: texi2dvi,v 1.2 1999-10-13 21:59:16 jwe Exp $ - +# $Id: texi2dvi,v 1.3 2001-02-07 08:23:27 jwe Exp $ +# +# Copyright (C) 1992, 93, 94, 95, 96, 97, 98 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, or (at your option) @@ -19,65 +18,73 @@ # along with this program; if not, you can either send email to this # program's maintainer or write to: The Free Software Foundation, # Inc.; 59 Temple Place, Suite 330; Boston, MA 02111-1307, USA. - +# # Commentary: - +# # Author: Noah Friedman - +# # Please send bug reports, etc. to bug-texinfo@gnu.org. # If possible, please send a copy of the output of the script called with # the `--debug' option when making a bug report. - +# # In the interest of general portability, some common bourne shell # constructs were avoided because they weren't guaranteed to be available # in some earlier implementations. I've tried to make this program as # portable as possible. Welcome to unix, where the lowest common # denominator is rapidly diminishing. # -# Among the more interesting lossages I noticed with some bourne shells -# are: +# Among the more interesting lossages I noticed among Bourne shells: # * No shell functions. # * No `unset' builtin. # * `shift' cannot take a numeric argument, and signals an error if # there are no arguments to shift. - +# # Code: # Name by which this script was invoked. progname=`echo "$0" | sed -e 's/[^\/]*\///g'` # This string is expanded by rcs automatically when this file is checked out. -rcs_revision='$Revision: 1.2 $' +rcs_revision='$Revision: 1.3 $' version=`set - $rcs_revision; echo $2` # To prevent hairy quoting and escaping later. bq='`' eq="'" -usage="Usage: $progname {options} [file1] {file2 {...}} -(version $version) +usage="Usage: $0 [OPTION]... FILE... +Run a Texinfo document through TeX. -Options are: +Options: +-b, --batch No interaction (\nonstopmode in TeX). +-c, --clean Remove all auxiliary files. -D, --debug Turn on shell debugging ($bq${bq}set -x$eq$eq). --h, --help You're looking at it. --v, --version Print version number. +-t, --texinfo CMD Insert CMD after @setfilename before running TeX. +--verbose Report on what is done. +-h, --help Display this help and exit. +-v, --version Display version information and exit. -Arguments in brackets are required. Those in braces are optional. -" +The values of the TEX, TEXINDEX, and MAKEINFO environment variables are +used to run those commands, if they are set. + +Email bug reports to bug-texinfo@gnu.org." # Initialize variables. # Don't use `unset' since old bourne shells don't have this command. # Instead, assign them an empty value. -# Some of these, like TEX and TEXINDEX, may be inherited from the environment -backup_extension=.bak +# Some of these, like TEX and TEXINDEX, may be inherited from the environment. +backup_extension=.bak # these files get deleted if all goes well. +batch= +clean= debug= orig_pwd="`pwd`" -verbose= +textra= +verbose=false +makeinfo="${MAKEINFO-makeinfo}" texindex="${TEXINDEX-texindex}" tex="${TEX-tex}" -# Save this so we can construct a new TEXINPUTS path for each file to be -# processed. +# Save this so we can construct a new TEXINPUTS path for each file. TEXINPUTS_orig="$TEXINPUTS" export TEXINPUTS @@ -86,190 +93,270 @@ # It's a good idea to document the full long option name in each case. # Long options which take arguments will need a `*' appended to the # canonical name to match the value appended after the `=' character. -while : ; do - case $# in 0) break ;; esac +while :; do + test $# -eq 0 && break + case "$1" in - -D | --debug | --d* ) - debug=t - shift - ;; - -h | --help | --h* ) - echo "$usage" 1>&2 - exit 0 - ;; - -v | --version | --v* ) - echo "texi2dvi version $version" 1>&2 - exit 0 - ;; + -b | --batch | --b* ) batch=t; shift ;; + -c | --clean | --c* ) clean=t; shift ;; + -D | --debug | --d* ) debug=t; shift ;; + -h | --help | --h* ) echo "$usage"; exit 0 ;; + # OK, we should do real option parsing here, but be lazy for now. + -t | --texinfo | --t*) shift; textra="$textra $1"; shift ;; + -v | --vers* ) + echo "$progname (GNU Texinfo 3.12) $version" + echo "Copyright (C) 1998 Free Software Foundation, Inc. +There is NO warranty. You may redistribute this software +under the terms of the GNU General Public License. +For more information about these matters, see the files named COPYING." + exit 0 ;; + --verb* ) verbose=echo; shift ;; -- ) # Stop option processing shift - break - ;; + break ;; -* ) case "$1" in --*=* ) arg=`echo "$1" | sed -e 's/=.*//'` ;; * ) arg="$1" ;; esac exec 1>&2 - echo "$progname: unknown or ambiguous option $bq$arg$eq" - echo "$progname: Use $bq--help$eq for a list of options." - exit 1 - ;; - * ) - break - ;; + echo "$progname: Unknown or ambiguous option $bq$arg$eq." + echo "$progname: Try $bq--help$eq for more information." + exit 1 ;; + * ) break ;; esac done # See if there are any command line args left (which will be interpreted as -# filename arguments) -case $# in - 0 ) - exec 1>&2 - echo "$progname: at least one file name is required as an argument." - echo "$progname: Use $bq--help$eq for a description of command syntax." - exit 2 - ;; -esac +# filename arguments). +if test $# -eq 0; then + exec 1>&2 + echo "$progname: At least one file name is required as an argument." + echo "$progname: Try $bq--help$eq for more information." + exit 2 +fi -case "$debug" in t ) set -x ;; esac +test "$debug" = t && set -x # Texify files -for command_line_filename in ${1+"$@"} ; do - # Roughly equivalent to `dirname ...`, but more portable - directory="`echo ${command_line_filename} | sed 's/\/[^\/]*$//'`" - filename_texi="`basename ${command_line_filename}`" - # Strip off the last extension part (probably .texinfo or .texi) - filename_noext="`echo ${filename_texi} | sed 's/\.[^.]*$//'`" +for command_line_filename in ${1+"$@"}; do + $verbose "Processing $command_line_filename ..." - # If directory and file are the same, then it's probably because there's - # no pathname component. Set dirname to `.', the current directory. - if test "z${directory}" = "z${command_line_filename}" ; then - directory="." - fi + # See if file exists. If it doesn't we're in trouble since, even + # though the user may be able to reenter a valid filename at the tex + # prompt (assuming they're attending the terminal), this script won't + # be able to find the right index files and so forth. + if test ! -r "${command_line_filename}"; then + echo "$0: Could not read ${command_line_filename}." >&2 + continue + fi + + # Roughly equivalent to `dirname ...`, but more portable + directory="`echo ${command_line_filename} | sed 's/\/[^\/]*$//'`" + filename_texi="`basename ${command_line_filename}`" + # Strip off the last extension part (probably .texinfo or .texi) + filename_noext="`echo ${filename_texi} | sed 's/\.[^.]*$//'`" - # Source file might @include additional texinfo sources. Put `.' and - # directory where source file(s) reside in TEXINPUTS before anything - # else. `.' goes first to ensure that any old .aux, .cps, etc. files in - # ${directory} don't get used in preference to fresher files in `.'. - TEXINPUTS=".:${directory}:${TEXINPUTS_orig}" + # Use same basename since we want to generate aux files with the same + # basename as the manual. Use extension .texi for the temp file so + # that TeX will ignore it. Thus, we must use a subdirectory. + # + # Output the macro-expanded file to here. The vastly abbreviated + # temporary directory name is so we don't have collisions on 8.3 or + # 14-character filesystems. + tmp_dir=${TMPDIR-/tmp}/txi2d.$$ + filename_tmp=$tmp_dir/$filename_noext.texi + # Output the file with the user's extra commands to here. + tmp_dir2=${tmp_dir}.2 + filename_tmp2=$tmp_dir2/$filename_noext.texi + mkdir $tmp_dir $tmp_dir2 + # Always remove the temporary directories. + trap "rm -rf $tmp_dir $tmp_dir2" 1 2 15 - # "Unset" variables that might have values from previous iterations and - # which won't be completely reset later. - definite_index_files="" + # If directory and file are the same, then it's probably because there's + # no pathname component. Set dirname to `.', the current directory. + if test "z${directory}" = "z${command_line_filename}"; then + directory=. + fi - # See if file exists here. If it doesn't we're in trouble since, even - # though the user may be able to reenter a valid filename at the tex - # prompt (assuming they're attending the terminal), this script won't be - # able to find the right index files and so forth. - if test ! -r "${command_line_filename}" ; then - echo "${progname}: ${command_line_filename}: No such file or permission denied." 1>&2 - continue; - fi + # Source file might @include additional texinfo sources. Put `.' and + # directory where source file(s) reside in TEXINPUTS before anything + # else. `.' goes first to ensure that any old .aux, .cps, etc. files in + # ${directory} don't get used in preference to fresher files in `.'. + TEXINPUTS=".:${directory}:${TEXINPUTS_orig}" + + # Expand macro commands in the original source file using Makeinfo; + # the macro syntax bfox implemented is impossible to implement in TeX. + # Always use `end' footnote style, since the `separate' style + # generates different output (arguably this is a bug in -E). + # Discard main info output, the user asked to run TeX, not makeinfo. + # Redirect output to /dev/null to throw away `Making info file...' msg. + $verbose "Macro-expanding $command_line_filename to $filename_tmp ..." + $makeinfo --footnote-style=end -E $filename_tmp -o /dev/null \ + $command_line_filename >/dev/null - # Find all files having root filename with a two-letter extension, - # determine whether they're really index files, and save them. Foo.aux - # is actually the cross-references file, but we need to keep track of - # that too. - possible_index_files="`eval echo ${filename_noext}.?? ${filename_noext}.aux`" - for this_file in ${possible_index_files} ; do + # But if there were no macros, or makeinfo failed for some reason, + # just use the original file. (It shouldn't make any difference, but + # let's be safe.) + if test $? -ne 0 || cmp -s $filename_tmp $command_line_filename; then + $verbose "Reverting to $command_line_filename ..." + cp -p $command_line_filename $filename_tmp + fi + filename_input=$filename_tmp + dirname_input=$tmp_dir + + # Used most commonly for @finalout, @smallbook, etc. + if test -n "$textra"; then + $verbose "Inserting extra commands: $textra." + sed '/^@setfilename/a\ +'"$textra" $filename_input >$filename_tmp2 + filename_input=$filename_tmp2 + dirname_input=$tmp_dir2 + fi + + # If clean mode was specified, then move to the temporary directory. + if test "$clean" = t; then + $verbose "cd $dirname_input" + cd $dirname_input || exit 1 + filename_input=`basename $filename_input` + fi + + while true; do # will break out of loop below + # "Unset" variables that might have values from previous iterations and + # which won't be completely reset later. + definite_index_files= + + # Find all files having root filename with a two-letter extension, + # determine whether they're really index files, and save them. Foo.aux + # is actually the cross-references file, but we need to keep track of + # that too. + possible_index_files="`eval echo ${filename_noext}.?? ${filename_noext}.aux`" + for this_file in ${possible_index_files}; do # If file is empty, forget it. - if test ! -s "${this_file}" ; then - continue; - fi + test -s "${this_file}" || continue - # Examine first character of file. If it's not a backslash or - # single quote, then it's definitely not an index or xref file. + # Examine first character of file. If it's not suitable to be an + # index or xref file, don't process it. first_character="`sed -n '1s/^\(.\).*$/\1/p;q' ${this_file}`" - if test "${first_character}" = "\\" -o "${first_character}" = "'" ; then - definite_index_files="${definite_index_files} ${this_file}" + if test "x${first_character}" = "x\\" \ + || test "x${first_character}" = "x'"; then + definite_index_files="${definite_index_files} ${this_file}" fi - done - orig_index_files="${definite_index_files}" - orig_index_files_sans_aux="`echo ${definite_index_files} \ - | sed 's/'${filename_noext}'\.aux//; - s/^[ ]*//;s/[ ]*$//;'`" + done + orig_index_files="${definite_index_files}" + orig_index_files_sans_aux="`echo ${definite_index_files} \ + | sed 's/'${filename_noext}'\.aux//; + s/^[ ]*//;s/[ ]*$//;'`" - # Now save copies of original index files so we have some means of - # comparison later. - for index_file_to_save in ${orig_index_files} ; do - cp "${index_file_to_save}" "${index_file_to_save}${backup_extension}" - done + # Now save copies of original index files so we have some means of + # comparison later. + $verbose "Backing up current index files: $orig_index_files ..." + for index_file_to_save in ${orig_index_files}; do + cp "${index_file_to_save}" "${index_file_to_save}${backup_extension}" + done - # Run texindex on current index files. If they already exist, and - # after running TeX a first time the index files don't change, then - # there's no reason to run TeX again. But we won't know that if the - # index files are out of date or nonexistent. - if test "${orig_index_files_sans_aux}" ; then + # Run texindex on current index files. If they already exist, and + # after running TeX a first time the index files don't change, then + # there's no reason to run TeX again. But we won't know that if the + # index files are out of date or nonexistent. + if test -n "${orig_index_files_sans_aux}"; then + $verbose "Running $texindex $orig_index_files_sans_aux ..." ${texindex} ${orig_index_files_sans_aux} - fi + fi - if ${tex} ${command_line_filename} ; then # TeX run first time - definite_index_files="" - # Get list of new index files - possible_index_files="`eval echo ${filename_noext}.?? ${filename_noext}.aux`" - for this_file in ${possible_index_files} ; do - # If file is empty, forget it. - if test ! -s ${this_file} ; then - continue; - fi + # Finally, run TeX. + if test "$batch" = t; then + tex_mode='\nonstopmode' + else + tex_mode= + fi + $verbose "Running $tex $filename_input ..." + cmd="$tex $tex_mode \\input $filename_input" + $cmd - # Examine first character of file. If it's not a backslash or - # single quote, then it's definitely not an index or xref file. - first_character="`sed -n '1s/^\(.\).*$/\1/p;q' ${this_file}`" - if test "${first_character}" = "\\" -o "${first_character}" = "'" ; then - definite_index_files="${definite_index_files} ${this_file}" - fi - done - new_index_files="${definite_index_files}" - new_index_files_sans_aux="`echo ${definite_index_files} \ - | sed 's/'${filename_noext}'\.aux//; - s/^[ ]*//;s/[ ]*$//;'`" + # Check if index files changed. + # + definite_index_files= + # Get list of new index files. + possible_index_files="`eval echo ${filename_noext}.?? ${filename_noext}.aux`" + for this_file in ${possible_index_files}; do + # If file is empty, forget it. + test -s "${this_file}" || continue + + # Examine first character of file. If it's not a backslash or + # single quote, then it's definitely not an index or xref file. + # (Will have to check for @ when we switch to Texinfo syntax in + # all these files...) + first_character="`sed -n '1s/^\(.\).*$/\1/p;q' ${this_file}`" + if test "x${first_character}" = "x\\" \ + || test "x${first_character}" = "x'"; then + definite_index_files="${definite_index_files} ${this_file}" + fi + done + new_index_files="${definite_index_files}" + new_index_files_sans_aux="`echo ${definite_index_files} \ + | sed 's/'${filename_noext}'\.aux//; + s/^[ ]*//;s/[ ]*$//;'`" - # If old and new list don't at least have the same file list, then one - # file or another has definitely changed. - if test "${orig_index_files}" != "${new_index_files}" ; then - index_files_changed_p=t - else - # File list is the same. We must compare each file until we find a - # difference. - index_files_changed_p="" - for this_file in ${new_index_files} ; do - # cmp -s will return nonzero exit status if files differ. - cmp -s "${this_file}" "${this_file}${backup_extension}" - if test $? -ne 0 ; then - # We only need to keep comparing until we find *one* that - # differs, because we'll have to run texindex & tex no - # matter what. - index_files_changed_p=t - break - fi - done - fi + # If old and new list don't at least have the same file list, then one + # file or another has definitely changed. + $verbose "Original index files =$orig_index_files" + $verbose "New index files =$new_index_files" + if test "z${orig_index_files}" != "z${new_index_files}"; then + index_files_changed_p=t + else + # File list is the same. We must compare each file until we find a + # difference. + index_files_changed_p= + for this_file in ${new_index_files}; do + $verbose "Comparing index file $this_file ..." + # cmp -s will return nonzero exit status if files differ. + cmp -s "${this_file}" "${this_file}${backup_extension}" + if test $? -ne 0; then + # We only need to keep comparing until we find *one* that + # differs, because we'll have to run texindex & tex no + # matter what. + index_files_changed_p=t + $verbose "Index file $this_file differed:" + test $verbose = echo \ + && diff -c "${this_file}${backup_extension}" "${this_file}" + break + fi + done + fi - # If index files have changed since TeX has been run, or if the aux - # file wasn't present originally, run texindex and TeX again. - if test "${index_files_changed_p}" ; then - retval=0 - if test "${new_index_files_sans_aux}" ; then - ${texindex} ${new_index_files_sans_aux} - retval=$? - fi - if test ${retval} -eq 0 ; then - ${tex} "${command_line_filename}" - fi - fi - fi + # If index files have changed since TeX has been run, or if the aux + # file wasn't present originally, run texindex and TeX again. + if test "${index_files_changed_p}"; then :; else + # Nothing changed. We're done with TeX. + break + fi + done - # Generate list of files to delete, then call rm once with the entire - # list. This is significantly faster than multiple executions of rm. - file_list="" - for file in ${orig_index_files} ; do - file_list="${file_list} ${file}${backup_extension}" - done - if test "${file_list}" ; then - rm -f ${file_list} - fi + # If we were in clean mode, compilation was in a tmp directory. + # Copy the DVI file into the directory where the compilation + # has been done. (The temp dir is about to get removed anyway.) + # We also return to the original directory so that + # - the next file is processed in correct conditions + # - the temporary file can be removed + if test -n "$clean"; then + $verbose "Copying DVI file from `pwd` to $orig_pwd" + cp -p $filename_noext.dvi $orig_pwd + cd $orig_pwd || exit 1 + fi + + # Generate list of files to delete, then call rm once with the entire + # list. This is significantly faster than multiple executions of rm. + file_list= + for file in ${orig_index_files}; do + file_list="${file_list} ${file}${backup_extension}" + done + if test -n "${file_list}"; then + $verbose "Removing $file_list $tmp_dir $tmp_dir2 ..." + rm -f ${file_list} + rm -rf $tmp_dir $tmp_dir2 + fi done -# texi2dvi ends here +$verbose "$0 done." +true # exit successfully. diff -r 55a13d6d2625 -r 4ab12d923395 readline/posixdir.h --- a/readline/posixdir.h Wed Feb 07 07:45:32 2001 +0000 +++ b/readline/posixdir.h Wed Feb 07 08:23:27 2001 +0000 @@ -6,7 +6,7 @@ Bash 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 1, or (at your option) + the Free Software Foundation; either version 2, or (at your option) any later version. Bash is distributed in the hope that it will be useful, but WITHOUT diff -r 55a13d6d2625 -r 4ab12d923395 readline/posixstat.h --- a/readline/posixstat.h Wed Feb 07 07:45:32 2001 +0000 +++ b/readline/posixstat.h Wed Feb 07 08:23:27 2001 +0000 @@ -7,7 +7,7 @@ Bash 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 1, or (at your option) + the Free Software Foundation; either version 2, or (at your option) any later version. Bash is distributed in the hope that it will be useful, but WITHOUT diff -r 55a13d6d2625 -r 4ab12d923395 readline/rlconf.h --- a/readline/rlconf.h Wed Feb 07 07:45:32 2001 +0000 +++ b/readline/rlconf.h Wed Feb 07 08:23:27 2001 +0000 @@ -8,7 +8,7 @@ The Library 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 1, or (at your option) + the Free Software Foundation; either version 2, or (at your option) any later version. The Library is distributed in the hope that it will be useful, but @@ -30,10 +30,6 @@ /* Define this to get an indication of file type when listing completions. */ #define VISIBLE_STATS -/* If defined, readline shows opening parens and braces when closing - paren or brace entered. */ -#define PAREN_MATCHING - /* This definition is needed by readline.c, rltty.c, and signals.c. */ /* If on, then readline handles signals in a way that doesn't screw. */ #define HANDLE_SIGNALS @@ -56,8 +52,6 @@ /* Define this if you want code that allows readline to be used in an X `callback' style. */ -#if !defined (SHELL) -# define READLINE_CALLBACKS -#endif +#define READLINE_CALLBACKS #endif /* _RLCONF_H_ */ diff -r 55a13d6d2625 -r 4ab12d923395 readline/rltty.h --- a/readline/rltty.h Wed Feb 07 07:45:32 2001 +0000 +++ b/readline/rltty.h Wed Feb 07 08:23:27 2001 +0000 @@ -8,7 +8,7 @@ The Library 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 1, or (at your option) + the Free Software Foundation; either version 2, or (at your option) any later version. The Library is distributed in the hope that it will be useful, but @@ -22,7 +22,7 @@ 59 Temple Place, Suite 330, Boston, MA 02111 USA. */ #if !defined (_RLTTY_H_) -#define _RLTTY_H +#define _RLTTY_H_ /* Posix systems use termios and the Posix signal functions. */ #if defined (TERMIOS_TTY_DRIVER) @@ -42,17 +42,7 @@ # include #endif -/* Stuff for `struct winsize' on various systems. */ -#if defined (HAVE_SYS_STREAM_H) -# include -#endif /* HAVE_SYS_STREAM_H */ -#if defined (HAVE_SYS_PTEM_H) -# include -# define _IO_PTEM_H /* work around SVR4.2 1.1.4 bug */ -#endif /* HAVE_SYS_PTEM_H */ -#if defined (HAVE_SYS_PTE_H) -# include -#endif /* HAVE_SYS_PTE_H */ +#include "rlwinsize.h" /* Define _POSIX_VDISABLE if we are not using the `new' tty driver and it is not already defined. It is used both to determine if a @@ -70,4 +60,23 @@ # endif /* !_SVR4_DISABLE */ #endif /* !NEW_TTY_DRIVER && !_POSIX_VDISABLE */ +typedef struct _rl_tty_chars { + char t_eof; + char t_eol; + char t_eol2; + char t_erase; + char t_werase; + char t_kill; + char t_reprint; + char t_intr; + char t_quit; + char t_susp; + char t_dsusp; + char t_start; + char t_stop; + char t_lnext; + char t_flush; + char t_status; +} _RL_TTY_CHARS; + #endif /* _RLTTY_H_ */ diff -r 55a13d6d2625 -r 4ab12d923395 readline/tcap.h --- a/readline/tcap.h Wed Feb 07 07:45:32 2001 +0000 +++ b/readline/tcap.h Wed Feb 07 08:23:27 2001 +0000 @@ -8,7 +8,7 @@ The Library 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 1, or (at your option) + the Free Software Foundation; either version 2, or (at your option) any later version. The Library is distributed in the hope that it will be useful, but diff -r 55a13d6d2625 -r 4ab12d923395 readline/xmalloc.c --- a/readline/xmalloc.c Wed Feb 07 07:45:32 2001 +0000 +++ b/readline/xmalloc.c Wed Feb 07 08:23:27 2001 +0000 @@ -7,7 +7,7 @@ Readline 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 1, or (at your option) any + Free Software Foundation; either version 2, or (at your option) any later version. Readline is distributed in the hope that it will be useful, but @@ -18,6 +18,7 @@ You should have received a copy of the GNU General Public License along with Readline; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA. */ +#define READLINE_LIBRARY #if defined (HAVE_CONFIG_H) #include @@ -31,7 +32,7 @@ # include "ansi_stdlib.h" #endif /* HAVE_STDLIB_H */ -static void memory_error_and_abort (); +#include "xmalloc.h" /* **************************************************************** */ /* */ @@ -39,6 +40,14 @@ /* */ /* **************************************************************** */ +static void +memory_error_and_abort (fname) + char *fname; +{ + fprintf (stderr, "%s: out of virtual memory\n", fname); + exit (2); +} + /* Return a pointer to free()able block of memory large enough to hold BYTES number of bytes. If the memory cannot be allocated, print an error message and abort. */ @@ -56,7 +65,7 @@ char * xrealloc (pointer, bytes) - char *pointer; + PTR_T pointer; int bytes; { char *temp; @@ -68,19 +77,11 @@ return (temp); } -static void -memory_error_and_abort (fname) - char *fname; -{ - fprintf (stderr, "%s: out of virtual memory\n", fname); - exit (2); -} - /* Use this as the function to call when adding unwind protects so we don't need to know what free() returns. */ void xfree (string) - char *string; + PTR_T string; { if (string) free (string);