diff -Nrc2 bash-2.05a/AUTHORS bash-2.05b/AUTHORS *** bash-2.05a/AUTHORS Wed Jul 11 10:38:49 2001 --- bash-2.05b/AUTHORS Wed Apr 3 08:29:41 2002 *************** *** 407,408 **** --- 407,453 ---- tests/misc/test-minus-e.1 Chet Ramey tests/misc/test-minus-e.2 Chet Ramey + lib/sh/Makefile.in Chet Ramey + lib/sh/clktck.c Chet Ramey + lib/sh/clock.c Chet Ramey + lib/sh/fmtullong.c Chet Ramey + lib/sh/fmtulong.c Chet Ramey + lib/sh/getcwd.c Chet Ramey, Roland McGrath + lib/sh/getenv.c Chet Ramey, Brian Fox + lib/sh/inet_aton.c Chet Ramey, Ulrich Drepper, Paul Vixie + lib/sh/itos.c Chet Ramey + lib/sh/mailstat.c Chet Ramey + lib/sh/makepath.c Chet Ramey + lib/sh/mktime.c Chet Ramey, Paul Eggert + lib/sh/netconn.c Chet Ramey + lib/sh/netopen.c Chet Ramey + lib/sh/oslib.c Chet Ramey, Brian Fox + lib/sh/pathcanon.c Chet Ramey + lib/sh/pathphys.c Chet Ramey + lib/sh/rename.c Chet Ramey + lib/sh/setlinebuf.c Chet Ramey, Brian Fox + lib/sh/shquote.c Chet Ramey + lib/sh/shtty.c Chet Ramey + lib/sh/snprintf.c Chet Ramey, Unknown + lib/sh/spell.c Chet Ramey + lib/sh/strcasecmp.c Chet Ramey, Brian Fox + lib/sh/strerror.c Chet Ramey, Brian Fox + lib/sh/strftime.c Arnold Robbins + lib/sh/strindex.c Chet Ramey + lib/sh/stringlist.c Chet Ramey + lib/sh/stringvec.c Chet Ramey + lib/sh/strpbrk.c Roland McGrath + lib/sh/strtod.c Chet Ramey, Roland McGrath + lib/sh/strtoimax.c Chet Ramey, Paul Eggert + lib/sh/strtol.c Chet Ramey, Paul Eggert + lib/sh/strtoll.c Chet Ramey, Paul Eggert + lib/sh/strtoul.c Chet Ramey, Paul Eggert + lib/sh/strtoull.c Chet Ramey, Paul Eggert + lib/sh/strtoumax.c Chet Ramey, Paul Eggert + lib/sh/strtrans.c Chet Ramey + lib/sh/times.c Chet Ramey, Brian Fox + lib/sh/timeval.c Chet Ramey + lib/sh/tmpfile.c Chet Ramey + lib/sh/vprint.c Chet Ramey, Brian Fox + lib/sh/xstrchr.c Chet Ramey, Mitsuru Chinen + lib/sh/zread.c Chet Ramey + lib/sh/zwrite.c Chet Ramey diff -Nrc2 bash-2.05a/CHANGES bash-2.05b/CHANGES *** bash-2.05a/CHANGES Wed Nov 7 17:00:53 2001 --- bash-2.05b/CHANGES Tue Jul 2 14:53:21 2002 *************** *** 1,2 **** --- 1,463 ---- + This document details the changes between this version, bash-2.05b-release, + and the previous version, bash-2.05b-beta2. + + 1. Changes to Bash + + a. Fixed an off-by-one error in the function that translates job + specifications. + + b. Note that we're running under Emacs and disable line editing if + $EMACS == `t'. + + ------------------------------------------------------------------------------ + This document details the changes between this version, bash-2.05b-beta2, + and the previous version, bash-2.05b-beta1. + + 1. Changes to Bash + + a. Fixed the /= and %= arithmetic operators to catch division by zero. + + b. Added putenv, setenv, unsetenv to getenv replacement for completeness. + + c. Fixed a bug that could cause the -O expand_aliases invocation option + to not take effect. + + d. Fixed a problem with process substitution that resulted in incorrect + behavior when the number of process substitutions in an individual + command approached 64. + + 2. Changes to Readline + + a. Fixed a problem with backward-char-search when on a system with support + for multibyte characters when running in a locale without any multibyte + characters. + + ------------------------------------------------------------------------------ + This document details the changes between this version, bash-2.05b-beta1, + and the previous version, bash-2.05b-alpha1. + + 1. Changes to Bash + + a. Fixed a problem when parsing a POSIX.2 character class name while + evaluating a bracket expression containing multibyte characters. + + b. Changed the help text for `bind' to make it clear that any command + that may be placed in ~/.inputrc is a valid argument to `bind'. + + c. Added `help' builtin entries for `((', `[[', and arithmetic for. + + d. malloc updated again: + o slightly better overflow and underflow detection by putting the + chunk size at the beginning and end of the chunk and making + sure they match in free/realloc + o partial page allocated to make things page-aligned no longer + completely wasted + o block coalescing now enabled by default + o splitting and coalescing enabled for 32-byte chunks, the most + common size requested + o fixed a problem that resulted in spurious underflow messages and + aborts + o bin sizes are precomputed and stored in an array rather than + being computed at run time + o malloc will return memory blocks back to the system if the block + being freed is at the top of the heap and of sufficient size to + make it worthwhile + o malloc/free/realloc now inline memset instead of calling the + libc function; uses Duff's device for good performance + + e. Check for getservent(); make the service name completion code dependent + on its presence. + + f. Changed the readline callback that executes a command bound to a key + sequence to not save the executed command on the history list and to + save and restore the parsing state. + + g. Changes to lib/sh/snprintf.c: fixed some bugs in the `g' and `G' + floating point format display; implemented the "'" flag character + that turns on thousands' grouping; fixed behavior on systems where + MB_CUR_MAX does not evaluate to a constant. + + h. The `unset' builtin no longer returns a failure status when asked to + unset a previously-unset variable or function. + + i. Changes to the build system to make it easier to cross-compile bash + for different systems. + + j. Added `,' to the characters that are backslash-escaped during filename + completion, to avoid problems with complete-into-braces and RCS filenames + containing commas. + + k. Some changes to the multibyte character support code to avoid many calls + to strlen(). + + l. Bash now correctly honors setting LANG to some value when LC_ALL does not + already have a value. + + m. Fixed a bug that could cause SIGSEGV when processing nested traps with + trap handlers. + + n. The `source/.' builtin now restores the positional parameters when it + returns unless they were changed using the `set' builtin during the file's + execution. + + o. Fixed a bug that caused a syntax error when a command was terminated by + EOF. + + 2. New Features in Bash + + a. There is now support for placing the long help text into separate files + installed into ${datadir}/bash. Not enabled by default; can be turned + on with `--enable-separate-helpfiles' option to configure. + + b. All builtins that take operands accept a `--' pseudo-option, except + `echo'. + + c. The `echo' builtin now accepts \0xxx (zero to three octal digits following + the `0') in addition to \xxx (one to three octal digits) for SUSv3/XPG6/ + POSIX.1-2001 compliance. + + 3. Changes to Readline + + a. Fixed a small problem in _rl_insert_char with multibyte characters. + + b. Fixes from IBM for line wrapping problems when using multibyte characters. + + c. Fixed a problem which caused the display to be messed up when the last + line of a multi-line prompt (possibly containing invisible characters) + was longer than the screen width. + + d. Fixed a problem with the vi-mode `r' command that ocurred on systems with + support for multibyte characters when running in a locale without any + multibyte characters. + + ------------------------------------------------------------------------------ + This document details the changes between this version, bash-2.05b-alpha1, + and the previous version, bash-2.05a-release. + + 1. Changes to Bash + + a. Some changes to work around inlining differences between compilers. + + b. Added more prototypes for internal shell typedefs, to catch argument + passing errors when using pointers to functions. + + c. The `cd' builtin now fails in posix mode when a valid directory cannot be + constructed from a relative pathname argument and the $PWD using pathname + canonicalization, and the -P option has not been supplied. Previously, + the shell would attempt to use what the user typed, leading to weird + values for $PWD and discrepancies between the value of $PWD and the + actual working directory. + + d. The `cd' builtin now resets $PWD when canonicalization fails but a chdir + to the pathname passed as an argument succeeds (when not in posix mode). + + e. The `fc' builtin has been fixed, as POSIX requires, to use the closest + history position in range when given an out-of-range argument. + + f. The history file loading code was changed to allow lines to be saved in + the history list from the shell startup files. + + g. `history -s args' now works bettern in compound commands. + + h. The tilde expansion code was fixed to better recognize when it's being + invoked in an assignment context, which enables expansion after `=' + and `:'. + + i. Fixed the command name completion code so a slash is no longer appended + to a single match if there happens to be a directory with that name in + $PWD. + + j. Fixed compound array assignment to no longer perform alias expansion, to + allow reserved words as array members, and to not produce extra output + when the `-v' option had been enabled. + + k. Fixed the programmable completion code to better handle newlines in lists + of possible completions (e.g., `complete -W'). + + l. Removed the reserved words from the `bash-builtins' manual page. + + m. Parser error reporting now attempts to do a better job of identifying the + token in error rather than doing straight textual analysis. + + n. Fixes for Inf/NaN, locales, wide/multibyte characters and zero-length + arguments in the library snprintf(3) replacement. + + o. `read -e' no longer does command name completion on the first word on + the line being read. + + p. `select' now returns failure if the read of the user's selection fails. + + q. Fixed a bug that could cause a core dump when setting $PIPESTATUS. + + r. Fixes to not allocate so many job slots when the shell is running a loop + with job control enabled in a subshell of an interactive shell. + + s. Fixed a bug in the trap code that caused traps to be inherited by + command substitutions in some cases. + + t. Fixed a bug that could cause alias expansion to inappropriately expand + the word following the alias. + + u. Fixed a bug in the `kill' builtin that mishandled negative pid arguments. + + v. The parser is less lenient when parsing assignment statements where the + characters before the `=' don't comprise a valid identifier. + + w. The arithmetic expression evaluation code now honors the setting of the + `-u' option when expanding variable names. + + x. Fixed the arithmetic evaluation code to allow array subscripts to be + assigned (`let b[7]=42') and auto-incremented and auto-decremented + (e.g., b[7]++). + + y. Reimplemented the existing prompt string date and time expansions using + strftime(3), which changed the output of \@ in some locales. + + z. Fixed a bug that could cause a core dump when a special shell variable + (like RANDOM) was converted to an array with a variable assignment. + + aa. Fixed a bug that would reset the handler for a signal the user had + trapped to a function that would exit the shell when setting the exit + trap in a non-interactive shell. + + bb. Changed the execve(2) wrapper code to check whether or not a failing + command is a directory before looking at whether a `#!' interpreter + failed for some reason. + + cc. Fixed a bug in the command printing code so it no longer inserts a `;' + after a newline, which produces a syntax error when reused as input. + + dd. The code that expands $PS4 no longer inherits the `-x' flag. + + ee. The bash-specific completion functions may now take advantage of the + double-TAB and M-? features of the standard readline completion + functions. + + ff. The mail checking code no longer prints a message if the checked file's + size has not increased, even if the access time is less than the modification time. + + gg. Rewrote the variable symbol table code: there is now a stack of + contexts, each possibly including a separate symbol table; there can + be more than one temporary environment supplied to nested invocations + of `./source'; the temporary environments no longer require so much + special-case code; shell functions now handle the temporary environment + and local variables more consistently; function scope exit is faster now + that the entire symbol table does not have to be traversed to dispose of + local variables; it is now easier to push vars from the temporary + environment to the shell's variable table in posix mode; some duplicated + code has been removed. + + hh. Regularized the error message printing code; builtin_error is now called + more consistently, and common error message strings are handled by small + functions. This should make eventual message translation easier. + + ii. Error messages now include the line number in a script when the shell + is not interactive. + + jj. Array subscript expansion now takes place even when the array variable is + unset, so side effects will take place. + + kk. Fixed a bug in the SICGHLD child-reaping code so that it won't find + jobs already marked as terminated if the OS reuses pids quickly enough. + + ll. Fixed a bug that could cause a signal to not interrupt the `wait' + builtin while it was waiting for a background process to terminate. + + mm. A couple of changes to make it easier for multiple shells to share history + files using `history -n', `history -r', and `history -w'. + + nn. The `getopts' builtin always increments OPTIND to point to the next + option to be handled when an option is returned, whether it's valid + or not, as POSIX 1003.x-2001 requires. + + oo. Changed some parts of the expansion code to avoid allocating and + immediately freeing memory without using the results for anything. + + pp. The shell now keeps track of $IFS internally, updating its internal map + each time the variable is assigned a new value (or at local scope exit). + This saves thousands of hash lookups for IFS, which, while individually + cheap, add up. + + qq. Rewrote the hash table code: searching and insertion are much faster now, + and it uses a better string hashing function; augmented the function + interface to simplify other parts of the code and remove duplicated code + + rr. The shell now uses a simple, generic `object cache' for allocating and + caching words and word lists, which were the major users of + malloc/free. + + ss. Fixed the assignment statement parsing code to allow whitespace and + newlines in subscripts when performing array element assignment. + + tt. The shell now issues many fewer calls to sigprocmask and other signal + masking system calls. + + uu. Fixed the `test' and conditional command file comparison operators to + work right when one file has a non-positive timestamp and the other + does not exist. + + vv. Fixed some cases where the special characters '\001' and '\177' in the + values of variables or positional parameters caused incorrect expansion + results. + + 2. Changes to Readline + + a. Fixed output of comment-begin character when listing variable values. + + b. Added some default key bindings for common escape sequences produced by + HOME and END keys. + + c. Fixed the mark handling code to be more emacs-compatible. + + d. A bug was fixed in the code that prints possible completions to keep it + from printing empty strings in certain circumstances. + + e. Change the key sequence printing code to print ESC as M\- if ESC is a + meta-prefix character -- it's easier for users to understand than \e. + + f. Fixed unstifle_history() to return values that match the documentation. + + g. Fixed the event loop (rl_event_hook) to handle the case where the input + file descriptor is invalidated. + + h. Fixed the prompt display code to work better when the application has a + custom redisplay function. + + i. Changes to make reading and writing the history file a little faster, and + to cope with huge history files without calling abort(3) from xmalloc. + + j. The vi-mode `S' and `s' commands are now undone correctly. + + 3. New Features in Bash + + a. If set, TMOUT is the default timeout for the `read' builtin. + + b. `type' has two new options: `-f' suppresses shell function lookup, and + `-P' forces a $PATH search. + + c. New code to handle multibyte characters. + + d. `select' was changed to be more ksh-compatible, in that the menu is + reprinted each time through the loop only if REPLY is set to NULL. + The previous behavior is available as a compile-time option. + + e. `complete -d' and `complete -o dirnames' now force a slash to be + appended to names which are symlinks to directories. + + f. There is now a bindable edit-and-execute-command readline command, + like the vi-mode `v' command, bound to C-xC-e in emacs mode. + + g. Added support for ksh93-like [:word:] character class in pattern matching. + + h. The $'...' quoting construct now expands \cX to Control-X. + + i. A new \D{...} prompt expansion; passes the `...' to strftime and inserts + the result into the expanded prompt. + + j. The shell now performs arithmetic in the largest integer size the + machine supports (intmax_t), instead of long. + + k. If a numeric argument is supplied to one of the bash globbing completion + functions, a `*' is appended to the word before expansion is attempted. + + l. The bash globbing completion functions now allow completions to be listed + with double tabs or if `show-all-if-ambiguous' is set. + + m. New `-o nospace' option for `complete' and `compgen' builtins; suppresses + readline's appending a space to the completed word. + + n. New `here-string' redirection operator: <<< word. + + o. When displaying variables, function attributes and definitions are shown + separately, allowing them to be re-used as input (attempting to re-use + the old output would result in syntax errors). + + p. There is a new configuration option `--enable-mem-scramble', controls + bash malloc behavior of writing garbage characters into memory at + allocation and free time. + + q. The `complete' and `compgen' builtins now have a new `-s/-A service' + option to complete on names from /etc/services. + + r. `read' has a new `-u fd' option to read from a specified file descriptor. + + s. Fix the completion code so that expansion errors in a directory name + don't cause a longjmp back to the command loop. + + t. Fixed word completion inside command substitution to work a little more + intuitively. + + u. The `printf' %q format specifier now uses $'...' quoting to print the + argument if it contains non-printing characters. + + v. The `declare' and `typeset' builtins have a new `-t' option. When applied + to functions, it causes the DEBUG trap to be inherited by the named + function. Currently has no effect on variables. + + w. The DEBUG trap is now run *before* simple commands, ((...)) commands, + [[...]] conditional commands, and for ((...)) loops. + + x. The expansion of $LINENO inside a shell function is only relative to the + function start if the shell is interactive -- if the shell is running a + script, $LINENO expands to the line number in the script. This is as + POSIX-2001 requires. + + y. The bash debugger in examples/bashdb has been modified to work with the + new DEBUG trap semantics, the command set has been made more gdb-like, + and the changes to $LINENO make debugging functions work better. Code + from Gary Vaughan. + + z. New [n]<&word- and [n]>&word- redirections from ksh93 -- move fds (dup + and close). + + aa. There is a new `-l' invocation option, equivalent to `--login'. + + bb. The `hash' builtin has a new `-l' option to list contents in a reusable + format, and a `-d' option to remove a name from the hash table. + + 4. New Features in Readline + + a. Support for key `subsequences': allows, e.g., ESC and ESC-a to both + be bound to readline functions. Now the arrow keys may be used in vi + insert mode. + + b. When listing completions, and the number of lines displayed is more than + the screen length, readline uses an internal pager to display the results. + This is controlled by the `page-completions' variable (default on). + + c. New code to handle editing and displaying multibyte characters. + + d. The behavior introduced in bash-2.05a of deciding whether or not to + append a slash to a completed name that is a symlink to a directory has + been made optional, controlled by the `mark-symlinked-directories' + variable (default is the 2.05a behavior). + + e. The `insert-comment' command now acts as a toggle if given a numeric + argument: if the first characters on the line don't specify a + comment, insert one; if they do, delete the comment text + + f. New application-settable completion variable: + rl_completion_mark_symlink_dirs, allows an application's completion + function to temporarily override the user's preference for appending + slashes to names which are symlinks to directories. + + g. New function available to application completion functions: + rl_completion_mode, to tell how the completion function was invoked + and decide which argument to supply to rl_complete_internal (to list + completions, etc.). + + h. Readline now has an overwrite mode, toggled by the `overwrite-mode' + bindable command, which could be bound to `Insert'. + + i. New application-settable completion variable: + rl_completion_suppress_append, inhibits appending of + rl_completion_append_character to completed words. + + j. New key bindings when reading an incremental search string: ^W yanks + the currently-matched word out of the current line into the search + string; ^Y yanks the rest of the current line into the search string, + DEL or ^H deletes characters from the search string. + + ------------------------------------------------------------------------------ This document details the changes between this version, bash-2.05a-release, and the previous version, bash-2.05a-rc1. diff -Nrc2 bash-2.05a/COMPAT bash-2.05b/COMPAT *** bash-2.05a/COMPAT Tue Oct 30 16:07:56 2001 --- bash-2.05b/COMPAT Wed Jul 3 17:28:54 2002 *************** *** 1,4 **** This document details the incompatibilites between this version of bash, ! bash-2.05a, and the previous widely-available version, bash-1.14 (which is still the `standard' version for many Linux distributions). These were discovered by users of bash-2.x, so this list is not comprehensive. --- 1,4 ---- This document details the incompatibilites between this version of bash, ! bash-2.05b, and the previous widely-available version, bash-1.14 (which is still the `standard' version for many Linux distributions). These were discovered by users of bash-2.x, so this list is not comprehensive. *************** *** 45,50 **** 3. The options to `bind' have changed to make them more consistent with the rest of the bash builtins. If you are using `bind -d' to list ! the readline keybindings in a form that can be re-read, use `bind -p' ! instead. If you were using `bind -v' to list the keybindings, use `bind -P' instead. --- 45,50 ---- 3. The options to `bind' have changed to make them more consistent with the rest of the bash builtins. If you are using `bind -d' to list ! the readline key bindings in a form that can be re-read, use `bind -p' ! instead. If you were using `bind -v' to list the key bindings, use `bind -P' instead. *************** *** 65,69 **** "\C-\\": self-insert ! 6. A number of people complained above having to use ESC to terminate an incremental search, and asked for an alternate mechanism. Bash-2.03 uses the value of the settable readline variable `isearch-terminators' --- 65,69 ---- "\C-\\": self-insert ! 6. A number of people complained about having to use ESC to terminate an incremental search, and asked for an alternate mechanism. Bash-2.03 uses the value of the settable readline variable `isearch-terminators' *************** *** 147,150 **** --- 147,155 ---- so a range specification like [A-Z] will match every letter except `z'. + Other locales collate like + + aAbBcC...zZ + + which means that [A-Z] matches every letter except `a'. The portable way to specify upper case letters is [:upper:] instead of diff -Nrc2 bash-2.05a/CWRU/POSIX.NOTES bash-2.05b/CWRU/POSIX.NOTES *** bash-2.05a/CWRU/POSIX.NOTES Wed Mar 28 15:13:46 2001 --- bash-2.05b/CWRU/POSIX.NOTES Wed Dec 31 19:00:00 1969 *************** *** 1,131 **** - Bash POSIX Mode - =============== - - Starting Bash with the `--posix' command-line option or executing `set - -o posix' while Bash is running will cause Bash to conform more closely - to the POSIX 1003.2 standard by changing the behavior to match that - specified by POSIX in areas where the Bash default differs. - - The following list is what's changed when `POSIX mode' is in effect: - - 1. When a command in the hash table no longer exists, Bash will - re-search `$PATH' to find the new location. This is also - available with `shopt -s checkhash'. - - 2. The message printed by the job control code and builtins when a job - exits with a non-zero status is `Done(status)'. - - 3. The message printed by the job control code and builtins when a job - is stopped is `Stopped(SIGNAME)', where SIGNAME is, for example, - `SIGTSTP'. - - 4. Reserved words may not be aliased. - - 5. The POSIX 1003.2 `PS1' and `PS2' expansions of `!' to the history - number and `!!' to `!' are enabled, and parameter expansion is - performed on the values of `PS1' and `PS2' regardless of the - setting of the `promptvars' option. - - 6. Interactive comments are enabled by default. (Bash has them on by - default anyway.) - - 7. The POSIX 1003.2 startup files are executed (`$ENV') rather than - the normal Bash files. - - 8. Tilde expansion is only performed on assignments preceding a - command name, rather than on all assignment statements on the line. - - 9. The default history file is `~/.sh_history' (this is the default - value of `$HISTFILE'). - - 10. The output of `kill -l' prints all the signal names on a single - line, separated by spaces. - - 11. Non-interactive shells exit if FILENAME in `.' FILENAME is not - found. - - 12. Non-interactive shells exit if a syntax error in an arithmetic - expansion results in an invalid expression. - - 13. Redirection operators do not perform filename expansion on the word - in the redirection unless the shell is interactive. - - 14. Redirection operators do not perform word splitting on the word in - the redirection. - - 15. Function names must be valid shell `name's. That is, they may not - contain characters other than letters, digits, and underscores, and - may not start with a digit. Declaring a function with an invalid - name causes a fatal syntax error in non-interactive shells. - - 16. POSIX 1003.2 `special' builtins are found before shell functions - during command lookup. - - 17. If a POSIX 1003.2 special builtin returns an error status, a - non-interactive shell exits. The fatal errors are those listed in - the POSIX.2 standard, and include things like passing incorrect - options, redirection errors, variable assignment errors for - assignments preceding the command name, and so on. - - 18. If the `cd' builtin finds a directory to change to using - `$CDPATH', the value it assigns to the `PWD' variable does not - contain any symbolic links, as if `cd -P' had been executed. - - 19. If `CDPATH' is set, the `cd' builtin will not implicitly append - the current directory to it. This means that `cd' will fail if no - valid directory name can be constructed from any of the entries in - `$CDPATH', even if the a directory with the same name as the name - given as an argument to `cd' exists in the current directory. - - 20. A non-interactive shell exits with an error status if a variable - assignment error occurs when no command name follows the assignment - statements. A variable assignment error occurs, for example, when - trying to assign a value to a readonly variable. - - 21. A non-interactive shell exits with an error status if the iteration - variable in a `for' statement or the selection variable in a - `select' statement is a readonly variable. - - 22. Process substitution is not available. - - 23. Assignment statements preceding POSIX 1003.2 special builtins - persist in the shell environment after the builtin completes. - - 24. Assignment statements preceding shell function calls persist in the - shell environment after the function returns, as if a POSIX - special builtin command had been executed. - - 25. The `export' and `readonly' builtin commands display their output - in the format required by POSIX 1003.2. - - 26. The `trap' builtin displays signal names without the leading `SIG'. - - 27. The `.' and `source' builtins do not search the current directory - for the filename argument if it is not found by searching `PATH'. - - 28. Subshells spawned to execute command substitutions inherit the - value of the `-e' option from the parent shell. When not in POSIX - mode, Bash clears the `-e' option in such subshells. - - 29. Alias expansion is always enabled, even in non-interactive shells. - - 30. When the `set' builtin is invoked without options, it does not - display shell function names and definitions. - - - There is other POSIX 1003.2 behavior that Bash does not implement. - Specifically: - - 1. Assignment statements affect the execution environment of all - builtins, not just special ones. - - 2. When a subshell is created to execute a shell script with execute - permission, but without a leading `#!', Bash sets `$0' to the full - pathname of the script as found by searching `$PATH', rather than - the command as typed by the user. - - 3. When using `.' to source a shell script found in `$PATH', bash - checks execute permission bits rather than read permission bits, - just as if it were searching for a command. - - --- 0 ---- diff -Nrc2 bash-2.05a/CWRU/changelog bash-2.05b/CWRU/changelog *** bash-2.05a/CWRU/changelog Thu Nov 8 08:17:53 2001 --- bash-2.05b/CWRU/changelog Wed Jul 10 16:17:58 2002 *************** *** 2632,2636 **** - pass DEBUG=${DEBUG} down to makes in some subdirectories ! {builtins,lib{glob,sh}}/Makefile.in - append ${DEBUG} to LOCAL_CFLAGS value, passed by top-level Makefile --- 2632,2636 ---- - pass DEBUG=${DEBUG} down to makes in some subdirectories ! {builtins,lib/{glob,sh}}/Makefile.in - append ${DEBUG} to LOCAL_CFLAGS value, passed by top-level Makefile *************** *** 2939,2940 **** --- 2939,6256 ---- - make _rl_digit_p succeed only for ascii digits, since that's what most callers assume + + 11/13 + ----- + doc/bashref.texi + - added `ERR' trap and [-+]O invocation option to section listing + differences from the Bourne shell + + 11/15 + ----- + [bash-2.05a released] + + 11/19 + ----- + include/stdc.h + - new define, INLINE, defined as `inline' for gcc and empty otherwise + + subst.c + - make skip_double_quoted, sub_append_string have INLINE attribute + + trap.c + - use BASH_NSIG as upper limit for signal names in signal_name() + + lib/readline/bind.c + - use RL_COMMENT_BEGIN_DEFAULT in output for rl-comment-begin value + + error.c + - fix sys_error to save value of errno around calls to fprintf + + doc/Makefile.in + - added rules to create PDF files from postscript and dvi input + + MANIFEST.doc + - added {article,bash,bashref,rose94}.pdf + + doc/bash.1 + - rearranged some `.PD 0' and `.TP' directives so man2html will + handle them better (shouldn't affect groff output) + + support/man2html.c + - small fix to handle quoted string arguments to directives like + `.BR' without mangling the output + + 11/20 + ----- + {arrayfunc,variables}.c + - changed calling sequence for dynamic array variable `assign' + functions to (SHELL_VAR *self, char *value, arrayind_t ind) + - changed calling sequence for dynamic variable assign functions + to the same as array variable assign_func. Now this can be + prototyped + + variables.h + - the assign_func member of a `struct variable' is now of type + `sh_var_assign_func_t', which is prototyped + - the dynamic_value member of a `struct variable' is now of type + `sh_var_value_func_t', which is prototyped + + variables.c + - changed to use `sh_var_assign_func_t' and `sh_var_value_func_t' + + builtins/cd.def + - when in posix mode, if the new directory name formed by PWD and + the argument passed by the user cannot be canonicalized, and the + -P option has not been supplied, return failure immediately + - if canonicalization failed, but the fallback to the directory + name specified by the user succeeds, reset the current working + directory + + lib/readline/{input.c,rlprivate.h} + - renamed rl_unget_char to _rl_unget_char; made library global + + lib/readline/{{bind,readline}.c,{keymaps,rlprivate}.h} + - support for `key subsequences'; allows a key sequence and a function + mapped to a subsequence of that key sequence. Primarily to allow + arrow keys to be bound in readline vi insert mode, while preserving + the ESC function to switch to command mode. + + lib/readline/{input.c,rlprivate.h} + - new function, _rl_input_queued(T), does a check with select or + FIONREAD with a timeout of `T' (which is generally 0) + + lib/readline/readline.c + - change _rl_dispatch_subseq to test for input in the queue if we + get ESC while in vi insertion mode if the keymap entry type for + ESC is ISKMAP. If _rl_input_queued returns non-zero, we assume + that an arrow key sequence has been pressed and go ahead with the + subsequence. If it returns zero, we assume that the user pressed + ESC to switch into command mode, and dispatch to that right away. + This avoids forcing the user to press another key before switching + into command mode + + 11/21 + ----- + lib/readline/readline.c + - bind common arrow key sequences in vi insertion keymap + + lib/readline/terminal.c + - bind termcap definition's arrow keys in vi insertion keymap + + lib/readline/bind.c + - check for rl_vi_movement_mode in _rl_bind_if_unbound, so + binding the arrow keys can work + + lib/readline/readline.c + - since _rl_bind_if_unbound does the check of what's currently + bound to the key sequence, the check in bind_arrow_keys_internal + was redundant + - bind_arrow_keys_internal now takes a Keymap argument and handles + saving and restoring _rl_keymap; changed bind_arrow_keys + accordingly + + builtins/fc.def + - fix from Paul Eggert to substitute the nearest history number in + range if an out-of-range value is supplied. POSIX requires this + + lib/sh/pathcanon.c + - fix from Corrina Vinschen for the special `cygdrive' prefix on + Cygwin + + bashhist.c + - split the history adding code into more pieces: + check_history_control (char *line) checks LINE against the value + of HISTCONTROL, returning 1 if LINE should be saved and 0 if not + + check_add_history (char *line) calls check_history_control and + history_should_ignore (line) and saves the line with + bash_add_history if the checks indicate that it should be saved + + maybe_add_history just calls check_add_history to set the value + of first_line_saved + + bashhist.h + - extern declaration for check_add_history() + + shell.c + - don't call load_history() from the interactive shell startup + code if history_lines_this_session is > 0, indicating that we've + already saved some lines in the history and that we probably + don't want to overwrite them + + builtins/history.def + - call check_add_history from push_history, so `history -s xx' + works even when in a compound command whose first line has not + been saved. (Caveat: in a compound command when the first + line has been saved, the line supplied to history -s will become + part of the compound command's history entry. Of course, the + delete_history call could remove the compound command from the + history entirely) + + bashline.c + - use sh_makepath instead of xmalloc/sprintf in + command_word_completion_function + + lib/readline/complete.c + - get_y_or_n now takes an int FOR_PAGER argument; caller changed + If FOR_PAGER is non-zero, get_y_or_n returns appropriate values + for a more-like pager: `newline' or `return' return 2; `q' or + `Q' return 0 + - there is now a mini internal more-like pager for displaying a + list of completions that exceeds the screen height (new function + _rl_internal_pager, called from rl_display_match_list) + + 11/24 + ----- + command.h + - new flag, W_TILDEEXP, says to do tilde expansion on an + assignment word + + execute_cmd.c + - fix_assignment_words now sets W_TILDEEXP for assignment word + arguments to `assignment builtins' + + general.c + - bash_tilde_expand now takes a second argument indicating whether + or not it's being invoked in an `assignment context' + + general.h + - change extern declaration for bash_tilde_expand + + {bashline,execute_cmd,findcmd,general,variables}.c + builtins/evalfile.c + lib/sh/makepath.c + - fix callers of bash_tilde_expand appropriately + + subst.c + - fix callers of bash_tilde_expansion appropriately + - add (currently commented-out) code that would tilde expand assignment + statement arguments to assignment builtins (W_TILDEEXP flag set) + even when the shell is in posix mode + + bashline.c + - fix attempt_shell_completion to turn off + rl_filename_completion_desired when doing command name completion, + so no slash gets appended to the name if there happens to be a + directory with the same name in the current directory + + 11/26 + ----- + lib/readline/rltech.texinfo + - a couple of additions to the rl_stuff_char description + + parse.y + - turn off echo_input_at_read in parse_string_to_word_list, so `set -v' + doesn't give extra lines of output when doing compound array + assignment + + subst.c + - fix split_at_delims to handle skipping over a `\n' if it's a + delimiter (use spctabnl(c) instead of whitespace(c)) + + 11/27 + ----- + support/config.{guess,sub} + - updated (with bash changes) to latest version from gnu.org + + sig.h + - add prototype for set_signal_handler declaration + + builtins/setattr.def + - add prototype to extern declaration of declare_builtin + + builtins/times.def + - add no_options call, since times takes no options + + lib/sh/spell.c + - add prototypes to forward declarations for midist and spdist + + lib/sh/strtrans.c + - add explicit int return type to ansic_shouldquote declaration + + lib/readline/rldefs.h, lib/readline/{macro,readline,util,undo}.c + - move define for SWAP to rldefs.h, removed from various C files + + lib/readline/vi_mode.c + - removed define for exchange(), changed to use SWAP instead + + lib/readline/bind.c + - added some static forward function declarations + - find_boolean_var, find_string_var now take a `const char *' argument + + lib/readline/signals.c + - added static forward declaration for rl_maybe_set_sighandler + + lib/readline/readline.c + - add some common key bindings for the HOME and END keys in + bind_arrow_keys_internal + + lib/readline/terminal.c + - fetch the `@7' termcap string; it's sent by the END key + - attempt to bind the terminal's END key to rl_end_of_line in + bind_termcap_arrow_keys; I don't know why I was using `kH' + instead of `@7' + + doc/builtins.1 + - remove `case', `for', `if', `until', `while' from NAME section; + those are not shell builtins + + 11/28 + ----- + stringlib.c + - new function, find_token_in_alist, takes a token value and an + ALIST argument, and returns the string correspoinding to the + token if found in the alist + + externs.h + - new extern declaration for find_token_in_alist() + + subst.c + - string_list_internal is no longer static + + subst.h + - new extern declaration for string_list_internal() + + parse.y + - new alist array of other tokens returned by read_token which are + not reserved words in word_token_alist[] + - reworked error reporting: new functions print_offending_line, + which prints the line containing the syntax error, + error_token_from_token, which takes the current token and tries to + figure out its textual representation, and error_token_from_text, + which does the old job of finding the bad token by analyzing the + text of shell_input_line at the current index + - report_syntax_error now tries to figure out the token that caused + the syntax error by first looking at current_token and falling + back to the old method of textual analysis if that fails + - report_syntax_error doesn't say the token resulting from the textual + analysis of the input line is an `unexpected token'; it just + says there is a `syntax error near xxx' + - changed conditional command error reporting to use the value + returned by error_token_from_token if it's not null instead of + just using the token value in the message, since current_token + ends up being set to -1, and the text of the message from + report_syntax_error might not be exactly right + - change parse_string_to_word_list to set current_token to the + offending token returned by read_token before calling yyerror() + to make the error reporting do the right thing + + aclocal.m4 + - fixed typo in BASH_CHECK_LIB_TERMCAP + + configure.in + - add check for isinf(3); define HAVE_ISINF_IN_LIBC if found + + config.h.in + - add define for HAVE_ISINF_IN_LIBC + + lib/sh/snprintf.c + - check for Inf and NaN, using isinf and isnan if they're found in + libc + - use the current locale for thousands separator and decimal point + - recognize "'" flag; not implemented yet + - fix for snprintf/vsnprintf with length of 0 and string argument of + 0 with non-zero length + + builtins/read.def + - TMOUT is now the default timeout for `read' (and select) if set, + like ksh93 when reading from the terminal + - edit_line (called by read -e) now just does readline's filename + completion by setting rl_attempted_completion_function to NULL, + since e.g., doing command completion for the first word on the + line wasn't really useful + + execute_cmd.c + - changed select_command to return failure status if select_query + returns NULL, indicating that read_builtin returned + EXECUTION_FAILURE + + doc/{bash.1,bashref.texi} + - documented new TMOUT behavior + - slight change to the description of the test `-ef' option + + doc/bashref.texi + - added item to posix mode section describing failure behavior of + cd when invoked in logical mode and the pathname formed by + combining $PWD and the directory argument does not refer to an + existing directory + + 11/29 + ----- + execute_cmd.c + - fix execute_function to call dispose_function_env after + merge_function_env if the shell is in posix mode (fixes debian + bash bug #117673) + + lib/readline/readline.c + - rl_forward -> rl_forward_char; rl_forward function for compatibility + - rl_backward -> rl_backward_char; rl_forward function for + compatibility + - new functions, rl_forward_byte, rl_backward_byte, for future use + + lib/readline/readline.h + - extern declarations for rl_forward_char, rl_backward_char, + rl_forward_byte, rl_backward_byte + + lib/readline/{emacs_keymap,funmap,vi_keymap,vi_mode + - rl_forward -> rl_forward_char + - rl_backward -> rl_backward_char + + lib/readline/funmap.c + - new bindable names, `backward-byte' and `forward-byte' + + aclocal.m4 + - new function, BASH_CHECK_MULTIBYTE, encapsulates checks for + multibyte code + + config.h.in + - add necessary defines for multibyte include files and functions + + configure.in + - add call to BASH_CHECK_MULTIBYTE + + config-bot.h + - add code to define HANDLE_MULTIBYTE if prerequisites are met + + lib/sh/xstrchr.c + - new file, xstrchr() is strchr(3) that handles multibyte characters + + bashhist.c + - first_line_saved -> current_command_first_line_saved; variable is + now global + + bashhist.h + - extern declaration for current_command_first_line_saved + + 11/30 + ----- + bashhist.c + - break the code that actually calls add_history out of + bash_add_history into a new function, really_add_history; + bash_add_history now calls really_add_history + - check_add_history takes a second `force' argument telling it + whether to call bash_add_history (force == 0) or really_add_history + (force != 0) + + builtins/history.def + - in push_history, call delete_last_history if the current command + has more than one line, the first line was saved, and + command-oriented history is active. This takes care of deleting + the right history element if `history -s' is used within a + compound or multiline command + - in push_history, call check_add_history with second argument of 1 + to skip check of current_command_line_count and add the arguments + to history -s as a single separate history entry + + 12/3 + ---- + lib/readline/complete.c + - append a slash to completed names which are symlinks to directories + if the new variable _rl_complete_mark_symlink_dirs is non-zero + + lib/readline/rlprivate.h + - extern declaration for _rl_complete_mark_symlink_dirs + + lib/readline/bind.c + - new bindable variable, `mark-symlinked-directories', mirrors the + value of _rl_complete_mark_symlink_dirs + + doc/bash.1, lib/readline/doc/{readline.3,rluser.texinfo} + - documented new `mark-symlinked-directories' variable + + 12/4 + ---- + variables.[ch] + - set_pipestatus_array now takes a second argument with the number + of processes in the array + - changed set_pipestatus_array to just modify the value in place if + the existing array has one element and the new array has one + element, and to modify existing values in place if new array has + more elements than existing array + + variables.c, jobs.c + - changed set_pipestatus_array callers + + jobs.c + - moved call to setjstatus() from set_job_status_and_cleanup to + wait_for, since set_job_status_and_cleanup is part of the SIGCHLD + signal handler call path, and race conditions accessing the + PIPESTATUS array will result for things like + + while true; do date; done | cat > /dev/null + + 12/5 + ---- + xmalloc.h + - don't redefine xmalloc, xrealloc, and xfree if DISABLE_MALLOC_WRAPPERS + is #defined + + config.h.in + - #undef for DISABLE_MALLOC_WRAPPERS + + configure.in + - define DISABLE_MALLOC_WRAPPERS if the --with-purify option is + supplied + + lib/malloc/trace.c + - new function, malloc_trace_bin(N), traces allocations and frees + to bucket N (uses the same type of bitmap as `busy') + + lib/malloc/table.c + - fix wraparound search problem in find_entry when searching for a + free entry when the table is full + + 12/6 + ---- + lib/malloc/table.c + - keep an `overflow bucket' around to use when the table is full, + so find_entry always returns a valid pointer when FIND_ALLOC + is set + - new static variable to keep a count of the number of MT_ALLOC + entries in the mem_table + + lib/sh/{oslib,clktck}.c + - if HAVE_LIMITS_H is defined, include + + lib/sh/oslib.c + - new function, getmaxgroups() returns max number of simultaneous + groups + - new function, getmaxchild(), returns max number of simultaneous + user processes + + general.c + - removed forest of #defines for getmaxgroups() + + externs.h + - new extern declaration for getmaxgroups() + - new extern declaration for getmaxchild() + - new extern declaration for isnetconn() + + lib/sh/netconn.c,shell.c + - new file, isnetconn() from shell.c moved here + + Makefile.in, lib/sh/Makefile.in + - necessary changes for netconn.c + + builtins/ulimit.def + - changed getmaxuprc() to just call getmaxchild() and massage the + return value appropriately + + {jobs,nojobs}.c + - use the value returned by getmaxchild() in + mark_dead_jobs_as_notified instead of static CHILD_MAX + + jobs.c + - new function, compact_jobs_list, removes some number of jobs from + the jobs table and reallocates the table, copying the jobs that + are left from the old table to the new. Compaction happens from + the beginning of the list and removes dead jobs, and we make sure + to keep the last CHILD_MAX jobs as POSIX.2 requires + - call compact_jobs_list from stop_pipeline if we're in a subshell, + there are no free jobs in the jobs table, and the jobs table is + at or above some maximum limit + + execute_cmd.c + - change eval_arith_for_expr to set this_command_name to `((' before + calling evalexp, since it might be changed by evaluating the + loop body between evalexp calls + + trap.c + - change reset_signal to turn off the SIG_TRAPPED flag for the + given signal, so shell builtins and functions running in command + substitutions don't run the signal handlers (traps are not supposed + to be inherited by command substitutions) + + parse.y + - changed parse_string_to_word_list to turn off alias expansion + while parsing the array assignment + + 12/9 + ---- + alias.c + - fix add_alias so that redefining an alias's value also resets the + EXPANDNEXT flag + + 12/10 + ----- + parse.y + - new function, token_is_assignment, called to check whether the text + before `=' makes up a valid assignment token before trying to parse + a compound assignment statement + - new function, parse_compound_assignment, to parse a compound + assignment statement instead of using parse_matched_pair; handles + comments and error reporting in the parser instead of waiting until + expansion time + - changed parse_compound_assignment and parse_string_to_word_list to + allow reserved words in compound array assignments + + lib/readline/doc/rltech.texinfo + - changed the documentation for rl_callback_read_char and + rl_callback_handler_remove to say what happens to the terminal + settings and what needs to be done to reset them + + 12/11 + ----- + bashline.c + - add emacs_edit_and_execute_command, bound to C-xC-e, like vi-mode + `v' command + - add bindable command name `edit-and-execute-command', bound to + run emacs_edit_and_execute_command() + + lib/glob/strmatch.c + - add support for ksh93-like [:word:] character class (isalnum + `_') + + doc/{bash.1,bashref.texi} + - add note to section describing lists to clarify that a sequence of + one or more newlines may be used to delimit a command, equivalent + to a semicolon + - document new [:word:] pattern matching character class + + doc/bash.1, lib/readline/doc/rluser.texinfo + - document `edit-and-execute-command' and its default emacs-mode + binding + + include/chartypes.h + - add defines for TOCTRL and UNCTRL if they're not already defined + + lib/readline/chardefs.h + - #undef UNCTRL if it's defined to avoid cpp redefinition warnings + + lib/sh/strtrans.c + - add \cX (Control-X) escape for $'...' to ansicstr() + - change ansic_quote() to allocate at least four chars for each char + in the string argument, to account for \0xx octal values + - change ansic_quote() to no longer call sprintf for non-printable + characters; just translate the string to octal directly + + print_cmd.c + - change xtrace_print_word_list to call ansic_quote() if + ansic_shouldquote() indicates that there are nonprinting characters + in a word + + builtins/type.def + - changed deprecated long option parsing to just replace the word + in the list with the equivalent short option (-type -> -t) instead + of removing words from the list + - changed describe_command to take a single flags argument instead + of two int args; changed caller + - type now has two new options: -f suppresses function lookup (like + command), and -P forces a PATH search for the name(s) + + builtins/common.h + - flags for describe_command are here + - changed extern declaration of describe_command + + builtins/command.def + - changed call to describe_command to use flags from common.h, and + the right number of arguments + + doc/{bash.1,bashref.texi} + - documented new -f and -P options to `type' + + 12/12 + ----- + lib/readline/rldefs.h + - fixed prototype for _rl_strnicmp + + execute_cmd.c + - select_query now takes a new argument, an int flag saying whether + or not to print the menu the first time through the loop. An + empty line in response to the prompt will always cause the menu + to be reprinted + - changed execute_select_command to cause select_query to reprint + the menu only if REPLY is set to NULL, if KSH_COMPATIBLE_SELECT + is defined + + config-top.h + - define KSH_COMPATIBLE_SELECT, with a comment about its meaning + + lib/readline/readline.c + - change rl_insert_comment to toggle if given an explicit numeric + argument: if the first characters on the line don't specify a + comment, insert one; if they do, delete the comment text + + doc/bash.1, lib/readline/doc/{readline.3,rluser.texinfo} + - documented new behavior of insert-comment with a numeric argument + + 12/13 + ----- + lib/malloc/watch.c + - new file, implements watchpoint functions + + lib/malloc/watch.h + - new file, define some `events' for watchpoints and extern function + and variable declarations for watchpoint code + + lib/malloc/imalloc.h + - #define MALLOC_WATCH if MALLOC_DEBUG is defined + - add __P define as in include/stdc.h if not already defined + + lib/malloc/malloc.c + - remove __P define, now in imalloc.h + - include watch.h if MALLOC_WATCH is defined + - added calls to _malloc_ckwatch in internal_malloc, internal_free, + and internal_realloc + + include/stdc.h + - augment __P define to allow prototypes if PROTOTYPES is defined + + lib/readline/rlstdc.h + - augment PARAMS define to allow prototypes if PROTOTYPES is defined + + lib/malloc/Makefile.in, Makefile.in + necessary changes to include watch.c in libmalloc + + lib/readline/readline.c + - fix rl_delete_text to make sure that the starting position is >= 0 + - _rl_init_line_state (called by readline via readline_initialize) + now sets rl_mark to 0 + - rl_get_{next,previous}_history set rl_mark to 0 if rl_point is at + the end of the line and rl_end otherwise in emacs mode + + lib/readline/kill.c + - rl_yank_nth_arg_internal and rl_paste_clipboard now set the mark + at point before calling rl_insert_text, like rl_yank + - rl_kill_full_line now resets rl_mark to 0 + - rl_kill_line and rl_backward_kill_line now set rl_mark to the + point after the kill in emacs mode + - rl_kill_word and rl_backward_kill_word now set rl_mark to the + point after the kill in emacs mode + - rl_unix_word_rubout and rl_unix_line_discard now set rl_mark to + the point after the kill in emacs mode + + lib/readline/search.c + - noninc_search saves and restores the mark, since it can be changed + while reading the search string + - noninc_dosearch sets the mark at the end of the line, making the + region bound the `inserted' text since rl_point is set to 0 + - rl_history_search_internal sets the mark at the end of the line, + for the same reason + + lib/readline/isearch.c + - rl_search_history now saves and restores the mark + - if no matching lines are found at all when doing an isearch, leave + point where it was instead of moving it to the end of the line + + 12/17 + ----- + lib/readline/rlmbutil.h + - new file, place for multi-byte character defines and extern + declarations + + lib/readline/{bind.c,readline.c,rlprivate.h} + - new bindable variable, `byte-oriented', tracks value of + rl_byte_oriented variable + + lib/readline/mbutil.c + - new file, with multibyte char utility functions + + lib/readline/{complete,display,readline,util,vi_mode}.c + - new code for multibyte characters, derived from IBM patch + + 12/18 + ----- + lib/sh/tmpfile.c + - include posixtime.h for time() extern declaration + + support/bashversion.c + - include if it's available + + lib/readline/{histexpand,input,isearch,search}.c + - new code for multibyte characters, derived from IBM patch + + lib/readline/readline.h + - include rltypedefs.h + + 12/19 + ----- + lib/readline/complete.c + - slight change to mark-directories code to avoid adding a slash if + point is at the end of the line (rl_line_buffer[rl_point] == '\0') + and the previous character was a slash + - change printable_part to not return empty pathnames, which could + happen when completing filenames and a filename with a trailing + slash was passed as the argument. If the portion following the + trailing slash is NULL, ignore it and look for a previous slash. + If there's no previous slash, just return the filename argument + - new variable, rl_completion_mark_symlink_dirs, mirrors the value + of (user-settable with a variable) _rl_complete_mark_symlink_dirs + but may be modified by application-specific completion functions + when appropriate (set in rl_complete_internal and rl_menu_complete) + + lib/readline/readline.h + - extern declaration for rl_completion_mark_symlink_dirs + + pcomplete.c + - if one of the actions is CA_DIRECTORY, set + rl_completion_mark_symlink_dirs to indicate that we want the + trailing slash (might have to relax this) + + lib/readline/doc/rltech.texinfo + - documented rl_completion_mark_symlink_dirs variable + + lib/readline/doc/rluser.texinfo, doc/bash.1 + - documented the fact that `complete -d' and `complete -o dirnames' + force readline to append a slash to symlinks to directories + + builtins/enable.def + - changed enable_shell_builtin to disallow enabling disabled + builtins in a restricted shell + + doc/{bash.1,bashref.texi} + - documented new enable behavior in restricted shells + + doc/Makefile.in + - new rule to make an `RBASH' file documenting the restrictions + imposed by a restricted shell + + expr.c + - broke the code that evaluates variables and returns results out + of readtok() into a new function: expr_streval() + - expr_streval() now performs the standard unset variable error + behavior if `set -u' has been executed and it's asked to look + up an unset variable + - broke the code that frees up the expression context stack into + a new function: expr_unwind() + + variables.c + - fixed bind_int_variable so it handles array element assignment, + so expressions like `b[7]++' and `b[0] = 42' work right + - new function, get_variable_value, returns the string value of + the SHELL_VAR * passed as an argument + - get_string_value now calls get_variable_value with a non-null + result from find_variable + + 12/20 + ----- + lib/readline/rlmbutil.h, mbutil.c + - combined _rl_find_next_mbchar and _rl_find_next_nonzero_mbchar into + a single function + - combined _rl_find_prev_mbchar and _rl_find_prev_nonzero_mbchar into + a single function + + lib/readline/{display,readline,vi_mode}.c + - changed callers of _rl_find_next_mbchar and + _rl_find_next_nonzero_mbchar + + lib/readline/{complete,display,histexpand,readline,vi_mode}.c + - changed callers of _rl_find_prev_mbchar and + _rl_find_prev_nonzero_mbchar + + 12/20 + ----- + lib/sh/mktime.c + - new file, from glibc/gawk, compiled in if system doesn't have a + working mktime(3) + + lib/sh/strftime.c + - new file, from gawk, compiled in if system doesn't have a + working strftime(3) + + lib/sh/Makefile.in, Makefile.in + - changes for mktime.c, strftime.c + + configure.in + - call AC_FUNC_MKTIME, AC_STRUCT_TM, AC_STRUCT_TIMEZONE + - call AC_REPLACE_FUNC(strftime) + + config.h.in + - add defines for TM_IN_SYS_TIME, HAVE_TZSET, HAVE_TM_ZONE, + HAVE_STRUCT_TM_TM_ZONE, HAVE_STRFTIME + + externs.h + - provide an extern declaration for strftime if HAVE_STRFTIME is + not defined and NEED_STRFTIME_DECL is + + lib/tilde/tilde.h + - header files should not include + + parse.y + - replace code in decode_prompt_string that chops up value returned + by ctime(3) with calls to strftime -- as a result, the expansion + of \@ has changed slightly (since it depends on the locale) + - added new \D{format} prompt string escape; `format' is passed to + strftime(3). Empty format is the same as `%X' (locale-specific + representation of the current time) + - combined cases for '\\', '\a', '\e', and '\r' in same case branch + in decode_prompt_string + + doc/{bash.1,bashref.texi} + - documented new \D{format} prompt string expansion + + builtins/printf.def + - use ISO C PRIdMAX instead of INTMAX_CONV + - pass length of format modifiers to mklong instead of computing it + with strlen() + + lib/sh/{fmtulong,fmtullong}.c + - changes from Paul Eggert to make more general + + arrayfunc.c + - when converting a variable to an array, make sure to unset the + dynamic_value and assign_func members of the struct variable, + since they're not valid anymore + + 12/27 + ----- + configure.in + - use AC_HELP_STRING in AC_ARG_WITH and AC_ARG_ENABLE + - remove AC_ARG_ENABLE for largefile, since AC_SYS_LARGEFILE adds + one + + 1/2/2002 + -------- + {alias,bashline,execute_cmd,general,shell,subst,variables,arrayfunc}.c,general.h + - changed some calls to strchr to calls to xstrchr for multibyte + characters + + include/shmbutil.h + - add extern declaration for xstrchr to avoid including externs.h + where it's not appropriate + + {braces,make_cmd,pathexp,subst,arrayfunc}.c, lib/sh/xstrchr.c + - include shmbutil.h + + {stringlib,subst}.c, {externs,subst}.h + - moved substring() from subst.c to stringlib.c, moved declaration + from subst.h to externs.h + + lib/sh/xmbsrtowcs.c + - new file, replacement function for mbsrtowcs + + lib/sh/Makefile.in + - add entries for xmbsrtowcs.c + + Makefile.in + - add dependencies on shmbutil.h to appropriate object files + + lib/glob/strmatch.c + - break character-class testing out into separate function: + is_cclass, in prep for multibyte changes + + {braces,make_cmd}.c + - changes for multibyte characters + + builtins/printf.def + - changes from Paul Eggert to just use intmax_t everywhere an + int/long/quad is needed and print with "%ld" if the number + fits in a long and %PRIdMAX otherwise + - remove getlong, getulong, getllong, getullong, since they're + no longer needed + - use a new type `floatmax_t' to print floating point numbers, the + widest-available floating point type (like `intmax_t'); new + function `getfloatmax' that calls strtold or strtod as appropriate + - remove getdouble, getldouble, since they're no longer needed + + lib/sh/fmtumax.c + - new file, string-to-[u]intmax_t conversion, just includes + fmtulong.c with the right defines + + Makefile.in, lib/sh/Makefile.in + - additions for fmtumax.c + + bashtypes.h + - include if it's available + + expr.c + - arithmetic is now in intmax_t instead of long + + externs.h + - extern declaration for fmtumax + - change extern declarations for evalexp, itos, inttostr, + uitos, uinttostr since they now return or use intmax_t instead + of long + + {execute_cmd,general,mailcheck,subst,variables}.c, parse.y + {array,general,subst,test,variables}.h + lib/sh/{itos,netopen}.c + builtins/{bashgetopt,common}.c, builtins/common.h + builtins/{break,fc,history,jobs,let,printf,pushd,read,shift,wait}.def + - changes for intmax_t shell arithmetic conversion + + doc/{bashref.texi,bash.1} + - documented long->intmax_t shell arithmetic conversion + + sig.c + - in initialize_terminating_signals, if we've already trapped a + terminating signal, don't reset the signal handler for it + + 1/3 + --- + {arrayfunc,pathexp}.c, parse.y + - changes for multibyte chars + + parse.y, lib/sh/strtrans.c + - moved ansiexpand from parse.y to lib/sh/strtrans.c + + parse.y, locale.c + - moved mk_msgstr and localeexpand from parse.y to locale.c + + parse.y + - new function, yy_input_name, returns name of input file from + bash_input.name + - broke the code that parses ((...)) constructs out of read_token + into a new function, parse_dparen() + + externs.h + - new extern declaration for ansiexpand(), mk_msgstr(), and + localeexpand() + + input.h + - new extern declaration for yy_input_name() + + {error,locale}.c + - use yy_input_name for error and other messages + + execute_cmd.c + - change shell_execve to make sure that the file is executable + before looking at the interpreter to find out why the execve() + failed (avoids misleading error message) + + lib/glob/glob.c + - move code that matches leading `.' and skips those filenames into + a separate function: skipname(), so there can be unibyte and + multibyte versions of that function + + 1/7 + --- + subst.c + - more changes for multibyte characters + + print_cmd.c + - change semicolon() so it doesn't output a `;' immediately after a + newline, since that results in a null command, which is a syntax + error + + variables.c + - fix indirection_level_string to turn off set -x while evaluating + PS4 + + 1/8 + --- + builtins/set.def + - make -o options into one struct, instead of separate structs for + option names corresponding to flags and non-flag option names. + This has the side effect of sorting the option names in output + + lib/glob/glob.c + - new function, mbskipname(), multibyte char version of skipname() + - removed all #ifndef SHELL code, this will never be used outside + the shell + + include/posixdir.h + - move REAL_DIR_ENTRY define here from lib/glob/glob.c + + lib/glob/glob_loop.c + - new file, included in glob.c for unibyte and multibyte versions of + glob_pattern_p + - added some forward static function declarations with prototypes + - more changes for multibyte character handling + + lib/glob/Makefile.in + - make glob.c depend on glob_loop.c + - changes for xmbsrtowcs.[co] + + lib/glob/xmbsrtowcs.c + - moved here from lib/sh, since the matching functions use it, and + libglob.a is linked after libsh.a + + 1/9 + --- + lib/glob/smatch.c + - new file, with strmatch (now xstrmatch) and associated functions, + with changes for multibyte chars + + lib/glob/sm_loop.c + - new file, included by smatch.c, with `generic' versions of matching + functions that are compiled twice: once each for single-byte and + multibyte characters + + lib/glob/strmatch.c + - strip out everything except strmatch(), which either calls fnmatch + (if HAVE_LIBC_FNM_EXTMATCH is defined) or xstrmatch + + lib/glob/collsyms.c + - changes for multibyte chars + + lib/glob/Makefile.in, Makefile.in + - changes for new source files + + 1/10 + ---- + lib/readline/complete.c + - new function, rl_completion_mode (rl_command_func_t *func), returns + the appropriate value to pass to rl_complete_internal depending on + FUNC and the value of `show-all-if-ambiguous'. This allows + application completion functions to present the same interface as + rl_complete + + lib/readline/readline.h + - new extern declaration for rl_completion_mode() + + lib/readline/doc/rltech.texinfo + - documented rl_completion_mode + + lib/readline/readline.[ch] + - bumped the version number to 4.3, changing the relevant cpp defines + + configure.in + - require that an installed readline version be at least readline-4.3 + + bashline.c + - converted bash-specific completion functions to use + rl_completion_mode instead of passing TAB unconditionally + + builtins/bashgetopt.c + - the `#' option specifier now means a required numeric argument, + not an optional one + + builtins/type.def + - when converting [-]-{path,type,all} to -[pta], don't bother + freeing and reallocating the option string; just change opt[1] + and null opt[2] + + lib/sh/snprintf.c + - support %ls/%S and %lc/%C for wide strings and characters, + respectively, if HANDLE_MULTIBYTE is defined + + mailcheck.c + - don't print a message about new mail if the file has not grown, + even if the access time is less than the modification time + + 1/14 + ---- + lib/readline/readline.c + - new function, rl_replace_line, to replace the readline line buffer + with the text supplied as an argument + - new function, rl_replace_from_history, replaces readline line + buffer with text from history entry passed as argument (undocumented, + not in readline.h because it requires a definition of + HIST_ENTRY for the prototype) + + lib/readline/readlne.h + - new extern declaration for rl_replace_line + + lib/readline/doc/rltech.texinfo + - documented rl_replace_line + + lib/readline/{isearch,readline,search}.c + - use rl_replace_line and rl_replace_from_history where appropriate + + lib/readline/readline.c + - broke the code that sets point after moving through the history + (_rl_history_preserve_point and _rl_history_saved_point) out + into a separate function, _rl_history_set_point() + + lib/readline/{complete.c,rlprivate.h} + - find_completion_word -> _rl_find_completion_word + - free_match_list -> _rl_free_match_list + + lib/readline/complete.c + - postprocess_matches and _rl_free_match_list now return immediately + if passed a null match list + + variables.c + - new function, find_local_variable, finds a local variable by name + at the current variable context + - in find_variable_internal, call find_local_variable before searching + any of the temporary environments if variable_context > 0 (meaning + we're in a shell function). This lets a local variable + override a variable whose value was passed in the `function + environment' + + 1/15 + ---- + variables.h, execute_cmd.c + - declare variables describing the temporary environments in + variables.h instead of in C files + + findcmd.c, builtins/setattr.def + - instead of calling find_tempenv_variable, use find_variable_internal + and check whether the returned SHELL_VAR * has the tempvar + attribute + + variables.c + - tentative change to lookup order in find_variable_internal so that + function local variables are found before variables in + function_env when executing a shell function + - change make_local_variable to handle making a local variable when + a variable with the same name already appears in one of the + temporary environments + - broke the body of make_var_array out into a new function: + static char **make_env_array_from_var_list (SHELL_VAR **vars) + - new function, make_var_array_internal, takes a hash table to look + in and a pointer to a mapping function and returns a char ** + environment-style list + - make_var_array now just calls make_var_array_internal + - new mapping function, local_and_exported, returns all local variables + in the current variable context with the export attribute set + - new function, make_local_export_array, returns an environment-style + char ** array of exported local variables in current context + - change environment creation order in maybe_make_export_env to + add variables to the environment in opposite order that + find_variable_internal uses. This means that local variables in + shell functions override variables with the same name in the + function_env + - change make_local_variable to set the initial value of the + variable it creates to NULL to make the `is set' and `is null' + tests that the expansion code does work right + - change make_local_variable to inherit the value of a variable with + the same name from the temporary enviroment + + 1/16 + ---- + Makefile.in + - link bashversion with buildversion.o instead of version.o, for + cross-compiling. version.o is for the target system; + buildversion.o is for the build system + + error.c + - add line numbers to internal_error() messages if the shell is + not interactive and running a shell script or a -c command + - report_error now prints non-zero line numbers for non-interactive + shells + + test.c + - test_syntax_error now calls builtin_error() instead of printing + its own messages + + builtins/common.c + - builtin_error now prints line numbers if a non-interactive shell + is running a shell script or a -c command + + print_cmd.c + - in cprintf, remove free_argp, since it's not used + + builtins/history.def + - make `history -n' increment the number of history lines in this + session by the number of lines read from the history file + + arrayfunc.c + - fix array_value_internal to expand the subscript even if the + variable is unset, so side effects produced by the arithmetic + evaluation will take place + + lib/readline/doc/{rluser,rltech}.texinfo + - some fixes for printing in @smallbook format from Brian + Youmans + + 1/17 + ---- + jobs.h + - new PRUNNING, PSTOPPED, PDEADPROC defines for PROCESSes, analogous + to RUNNING, STOPPED, and DEADJOB defines for jobs + + jobs.c + - use PS_RUNNING, PS_DONE, PS_STOPPED values for `running' field + of a PROCESS + - find_pipeline and find_job now take an additional flags argument + that, if non-zero, means to find only running processes; changed + all callers + - changed calls to find_pipeline and find_job made from waitchld + to find only running processes + - find_pipeline takes a third argument: an int *. If it looks in + the jobs list to find the pid, and the arg is non-null, it passes + the job index back to the caller. Used to avoid calls to + find_pipeline immediately followed by find_job with the same PID + + nojobs.c + - a couple of changes to make sure that set_pid_status is never + called with a pid argument of 0 or -1 + + trap.c + - change trap_handler to longjmp to wait_intr_buf (set by wait_builtin) + if a signal is received for which a trap has been set during + execution of the wait builtin (need to include builtins.h and + builtins/builtext.h and declare some extern variables for the + right things to check) + - new variable to keep track of which signal caused the longjmp to + wait_intr_buf, set by trap_handler (wait_signal_received) + + builtins/wait.def + - set the return value of wait when a longjmp(wait_intr_buf, 1) is + done to 128 + wait_signal_received + + {jobs,nojobs}.c + - set wait_signal_received to SIGINT in wait_sigint_handler before + the longjmp(wait_intr_buf, 1) + + 1/18 + ---- + bashline.c + - turn off rl_filename_completion_desired when completing a command + name with a single match only if the first char of that match is + not a `/' + - if there are multiple identical matches for a command name in + attempt_shell_completion, turn off rl_filename_completion_desired + if the first char is not a `/' to avoid readline appending a + slash if there's a directory with the same name in the current + directory + + 1/22 + ---- + lib/readline/complete.c + - new variable, _rl_page_completions, to control whether we want to + run the internal pager when listing completions (defaults to 1) + + lib/readline/rlprivate.h + - extern declaration for _rl_page_completions + + lib/readline/bind.c + - new bindable variable, `page-completions', controls value of + _rl_page_completions + + lib/readline/doc/{rluser.texinfo,readline.3}, doc/bash.1 + - documented `page-completions' variable + + Makefile.in + - use $(INSTALL_SCRIPT) instead of $(INSTALL_PROGRAM) to install + `bashbug' + + aclocal.m4 + - fix small quoting problem in RL_LIB_READLINE_VERSION macro + + lib/readline/terminal.c + - fetch and save terminal's `vs' and `ve' cursor control attributes + - fetch and save terminal's `kI' attribute (string sent by Insert) + - new function, _rl_set_cursor, sets cursor to normal (insert mode) + or very visible (overwrite mode) + + lib/readline/readline.c + - new global variable, rl_insert_mode + - new function to toggle overwrite mode, rl_overwrite_mode + - each new line starts in insert mode + - switching to vi mode or emacs mode resets to insert mode + - reset cursor to normal before returning line + - _rl_replace_text now returns the number of characters inserted, + the return value from rl_insert_text + - new function, _rl_insert_or_replace_text (const char *string, int insert), + either inserts STRING or replaces the number of chars in STRING + with STRING starting at rl_point, depending on value of INSERT + - renamed rl_insert to _rl_insert_char, rl_insert just calls + _rl_insert_char with the same arguments when in insert mode + - new function, _rl_overwrite_char, handles self-insert in overwrite + mode. Does multibyte chars by reading an entire multibyte character + before entering overwrite loop + - new function, _rl_overwrite_rubout, handles RUBOUT when in + overwrite mode, called from rl_rubout + - new function, _rl_rubout_char, old body of rl_rubout; rl_rubout + calls this when not in overwrite mode + + lib/readline/readline.h + - extern declarations for rl_insert_mode and rl_overwrite_mode() + + lib/readline/rldefs.h + - define constants for values of rl_insert_mode + + lib/readline/rlprivate.h + - extern declarations for _rl_set_cursor and _rl_set_insert_mode + - change type of _rl_replace_text to return int + - extern declarations for _rl_insert_char, _rl_rubout_char + + lib/readline/funmap.c + - new bindable name `overwrite-mode', bound to rl_overwrite_mode + + lib/readline/rlconf.h + - define CURSOR_MODE if you want the cursor to show insert or + overwrite mode (only available if both `vs' and `ve' capabilities + are present) + + lib/readline/{complete,parens,readline,search,vi_mode}.c + - change calls to rl_insert to _rl_insert_char + + lib/readline/{readline,search}.c + - change calls to rl_rubout to _rl_rubout_char to avoid overwrite + mode problems + + lib/readline/vi_mode.c + - fix rl_vi_overstrike to just call _rl_overwrite_char, which + handles multibyte chars + + lib/readline/doc/{rluser.texinfo,readline.3}, doc/bash.1 + - document new `overwrite-mode' command + + 1/23 + ---- + lib/readline/readline.c + - return 0 immediately from rl_insert_text if the string to insert + is NULL or "" + + bashline.c + - if a numeric argument is given to one of the bash-specific glob + pattern completion functions (including TAB), append a `*' to + the word before generating matches + - in attempt_shell_completion, when doing glob completion, only + set the match list to NULL if rl_completion_type == TAB and + there is more than one completion. This permits listing completions + with double tabs and displaying ambiguous completions + - new function, bash_glob_complete_word, appends a `*' to the word + to be completed and then globs it. It uses a new filename + quoting function (bash_glob_quote_filename) to avoid quoting + globbing characters in the filename if there are no matches or + multiple matches + + lib/readline/complete.c + - set completion_changed_buffer to 0 in rl_complete_internal if + no matches were produced by the completion generator function + - new variable, rl_completion_suppress_append, suppresses appending + of rl_completion_append_character. Settable by application + completion functions, always 0 when application completion + functions are called (set to 0 by rl_complete_internal and + rl_menu_complete) + - broke the code that assigns default values to readline completion + variables out of rl_complete_internal and rl_menu_complete into + a new function, set_completion_defaults (int what_to_do) + + lib/readline/readline.h + - extern declaration for rl_completion_suppress_append + + lib/readline/doc/rluser.texinfo, doc/bash.1 + - documented behavior of glob-expand-word and glob-list-expansions + when supplied a numeric argument + - documented glob-complete-word + + lib/readline/doc/rltech.texinfo + - documented rl_completion_suppress_append + + 1/24 + ---- + lib/readline/text.c + - new file, text and character handling functions from readline.c + + lib/readline/misc.c + - new file, miscellanous bindable functions and their supporting + code from readline.c + + Makefile.in, lib/readline/Makefile.in + - changes for text.c, misc.c + + lib/readline/bind.c + - change ISKMAP case of rl_invoking_keyseqs_in_map to output + ESC as "\M-" instead of "\e" -- it's closer to the documentation + - change _rl_get_keyname to output ESC as \e instead of \C-[ + (it's easier to understand) + + pcomplete.h + - new flag, COPT_NOSPACE + + builtins/complete.def + - new `-o nospace' option for complete and compgen (though it doesn't + really do anything for compgen, since that doesn't hand anything + off to readline) + + bashline.c + - if a programmable completion specifies COPT_NOSPACE, set + rl_completion_suppress_append = 1 + + lib/readline/doc/rluser.texinfo + - documented new `-o nospace' option to complete and compgen + + doc/{bash.1,bashref.texi} + - documented $'\cX' escape sequence (forgot to before) + + 1/28 + ---- + variables.c + - make_new_variable now takes the HASH_TABLE * as its second + argument; changed callers + - new function, bind_variable_in_table, takes the HASH_TABLE * as + its third paramter; bind_variable calls bind_variable_in_table + with shell_variables as third argument + + variables.h + - new struct var_context, variable context (per-scope -- global, + function local, etc.) + + variables.[ch],builtins/common.[ch] + - moved functions that push and pop a variable context from + builtins/common.c to variables.c; move extern function + declarations to variables.h + - new function, all_local_variables + - variable_in_context is now static, used only by all_local_variables + + variables.[ch],execute_cmd.c + - push_context now takes the function name as an argument for + future use + - push_context takes an indication of whether or not the function is + executing in a subshell and saves the positional parameters only + if not in a subshell + - new functions for managing a stack of variable contexts and + scopes: new_var_context, dispose_var_context, push_var_context, + pop_var_context, push_scope, pop_scope + + builtins/declare.def + - call all_local_variables instead of map_over (...) in declare_internal + - don't call make_local_variable if we're looking at functions + ((flags_on & att_function) != 0), since it's wasted + - make sure VAR is set to NULL if check for variable_context fails + and we didn't just create or fetch a local variable in + declare_internal + - in non-function branch of declare_internal, only call find_variable + if VAR is NULL -- if it's not null, we just created or fetched a + local variable and don't need to do it again + + 1/29 + ---- + variables.[ch] + - the temporary environments (temporary_env, builtin_env, function_env) + are now HASH_TABLEs instead of argv-style arrays of strings (this + is an intermediate step on the way to the new lcc-inspired symbol + table scope structure) + - new internal attribute for variables: att_propagate. This means + to propagate the value out of the temporary environment up the + (for now implicit) chain of variable scopes when the containing + temporary environment is deleted + + variables.c + - assign_in_env now adds to the HASH_TABLE temporary_env instead + of making environment-style strings in an array of strings + - changed the way the temporary environments are merged into the + shell variable table to account for the new HASH_TABLE temp + environments + - changed the way the export environment is created due to the new + structure of the temporary environments + - new function, bind_variable_internal (name, value, table), binds + NAME to have VALUE in TABLE without searching the temporary + environments + - removed: shell_var_from_env_string, bind_name_in_env_array + - variable_in_context now checks the att_local attribute and makes + sure the variable is not invisible + - local_and_exported now makes sure the variable is not invisible + + execute_cmd.c + - we no longer need to copy the temporary environment to function_env + or builtin_env, we can simply use variable assignments + + {findcmd,subst,variables}.c, builtins/{declare,setattr}.def + - since variables from the temporary environments are no longer turned + into SHELL_VARs on the fly, don't dispose the SHELL_VAR returned + by find_variable or find_variable_internal + - need to savestring() the value returned by find_variable if it has + the tempvar attribute before calling bind_variable on it, because + bind_variable will search and bind into the temporary environments + and will free the old value before binding the new. For temporary + environments, these two pointers will be the same, and + bind_tempenv_variable will end up using freed memory + + builtins/{declare,setattr}.def + - set the att_propagate attribute when exporting or making readonly + variables from the temp environment (i.e., `var=value declare -x var' + or `var=value export var' sets the propagate attribute on the entry + for `var' in the temporary environment HASH_TABLE) + + lib/readline/isearch.c + - ^W when reading isearch string yanks the current word out of the + current line into the search string, skipping the portion already + matched + - ^Y when reading isearch string yanks the rest of the current line + into the search string, skipping the portion already matched + + 1/30 + ---- + {print_cmd,variables}.c + - moved indirection_level_string() from variables.c to print_cmd.c + + {externs,variables}.h + - moved extern declaration of indirection_level_string to externs.h + + {general,variables}.c + - moved assignment() from variables.c to general.c + + {general,variables}.h + - moved extern declaration of assignment() to general.h + + {externs,input}.h + - moved extern declaration of decode_prompt_string to externs.h + + print_cmd.c + - include flags.h, don't include stdc.h + + variables.c + - moved some functions around to group functions better + - changed new_shell_variable to explicitly initialize each member + of the created struct variable instead of calling bzero() + - make_new_variable now just calls new_shell_variable instead + of duplicating what it does + - removed some code in bind_function that duplicated what + new_variable does on the newly-created SHELL_VAR + - since there are no local function variables (functions are always + made at the global scope), kill_all_local_variables() doesn't + need to consider functions + + 1/31 + ---- + variables.c + - sort the array of special variables + - short-circuit the search in stupidly_hack_special_variables if + the passed name can't be found in the rest of the array + (that is, if name[0] < special_vars[i].name[0]) + + lib/readline/history.c + - unstifle_history() was returning values exactly opposite of + the documentation + + lib/readline/doc/{hsuser.texinfo,history.3} + - clarified the unstifle_history() documentation a little + + 2/4 + --- + variables.c + - in bind_variable, don't call bind_tempenv_variable after a + find_tempenv_variable succeeds -- just change the value inline. + There's no reason to look it up twice + - change makunbound to only call stupidly_hack_special_variables + if we're not unsetting a function + + variables.[ch] + - new function, unbind_function, like makunbound but doesn't mess + with previous contexts or calling stupidly_hack_special_variables + + builtins/set.def + - change unset_builtin to call either unbind_func or unbind_variable + + builtins/getopts.def + - call unbind_variable(name) instead of makunbound(name, shell_variables) + + 2/5 + --- + lib/glob/sm_loop.c + - use malloc instead of xmalloc in BRACKMATCH and handle failures + + error.c + - add extern declaration of executing_line_number with prototype, + since execute_cmd.h can't be included without including other + files + + lib/readline/parens.c + - include + + lib/malloc/stats.c + - include + - add extern declaration of malloc_free_blocks() with prototype + + pathexp.c + - added some forward declarations with prototypes for static functions + + lib/readline/rlprivate.h + - removed declarations of rl_untranslate_keyseq, rl_discard_argument, + rl_stop_output, rl_alphabetic since they appear in readline.h + + 2/6 + --- + {arrayfunc,execute_cmd,pcomplete,shell}.c + - change calls to makunbound(name, shell_variables) to + unbind_variable (name) + + 2/7 + --- + builtins/getopt.c + - don't defer incrementing of OPTIND when an invalid option is + encountered until the next call to sh_getopt() -- what if OPTIND + is reset before that next call? This means that OPTIND is always + incremented to the next option to be handled when an option is + returned, whether it's valid or not. This is what POSIX-2002 + says to do. + + syntax.h + - new #define, CSUBSTOP + + mksyntax.c + - add "-=?+" with value CSUBSTOP to the syntax table. These are the + valid expansion operators OP in ${param[:]OPword} + + subst.c + - use table lookup for CSUBSTOP in VALID_PARAM_EXPAND_CHAR + - new flags for the string extraction functions: EX_NOALLOC. This + indicates that the functions are being used only to skip over + strings and the result won't be used, so the substring shouldn't + be allocated, copied, and freed + - new flag for string_extract: EX_VARNAME. This serves the same + purpose as the old `varname' parameter. parameter_brace_expand() + changed appropriately + - extract_delimited_string and extract_dollar_brace_string now take + an additional `flags' argument, which may include EX_NOALLOC + - changed callers of extract_delimited_string and + extract_dollar_brace_string appropriately + - string_extract now understands EX_NOALLOC; callers changed + - some smaller code cleanups + - converted char_is_quoted(), unclosed_pair(), and skip_to_delim() + to understand multibyte characters + + 2/11 + ---- + variables.[ch] + - moved to a symbol organization inspired by lcc. The basic structure + is no longer a HASH_TABLE, but a VAR_CONTEXT, which includes a hash + table as one of its members. VAR_CONTEXTs are linked together to do + variable scoping. One nice thing about this is that the entire + symbol table doesn't need to be searched at function scope exit to + remove local variables. Fixes problems with only one instance of + builtin_env and function_env, even though it really is a stack + - shell_variables is now a VAR_CONTEXT *, with a global_variables + variable that points to the bottom of the stack for fast access + - function-scope local variables (assignments specified on the command + line before a function call) and function-local variables (declared + with the `local' builtin) have been unified in the same variable + context, replacing function_env + - assignment statements preceding the `.' and `eval' builtins are now + a separate variable scope VAR_CONTEXT, replacing builtin_env + - temporary_env (a HASH_TABLE) is now the only separate environment + - changes to export environment creation, variable binding, variable + lookup, local variable propagation all changed to work with the + new symbol table/scope structure + - a SHELL_VAR no longer has a `prev_context' member; it's not needed + + execute_cmd.c + - changes to push_context calls to include any temporary variables in + temporary_env; pop_context takes care of propagating any temporary + variables if necessary + - calls to push_scope if `eval' or `.' is called with a list of + preceding variable assignments, and pop_scope called at end of + builtin's execution. pop_scope takes care of merging temporary + variables into the shell environment when appropriate + + builtins/{setattr,declare}.def + - changes to account for variable assignments preceding `local', + `export', `readonly', `declare', etc. to work with the new + variable scoping implementation + + shell.c + - since shell_variables is now a VAR_CONTEXT, call + delete_all_contexts() when the shell is reinitializing instead of + delete_all_variables() + + builtins/common.c + - new function, get_job_by_name(), used by execute_simple_command() + for the `auto_resume' stuff and get_job_spec() + + builtins/common.h + - new set of #defined constants for flags argument to + get_job_by_name() + + 2/12 + ---- + command.h + - new redirection operator: r_reading_string for `here strings' + + parse.y + - new token, LESS_LESS_LESS, for new redirection `here string' + operator: [N]<<< word + - recognize LESS_LESS_LESS and create the appropriate redirection + + {dispose_cmd,copy_cmd,make_cmd,print_cmd}.c + - recognize r_reading_string and do the right thing (dispose_redirects, + copy_redirect, print_redirection, and make_redirection, respectively) + + redir.c + - here_document_to_fd now takes the redirection operator as its + second argument + - new function, write_here_string, expands a here string and writes it + to the here document file descriptor + - here_document_to_fd calls write_here_string for r_reading_string + operator + - handle r_reading_string in do_redirection_internal() and + stdin_redirection() + + 2/18 + ---- + doc/{bash.1,bashref.texi} + - documented here strings + + {configure,Makefile}.in + - bumped version number up to bash-2.05b and the release status + to alpha1 + + expr.c + - make expr_streval understand that variables with the `invisible' + attribute are really unset, and accessing such a variable when + `set -u' is set should be an error + + variables.h + - new accessor macros: var_isset(var) and var_isnull(var), test + whether var->value is NULL + + {eval,subst,variables}.c, builtins/{declare,setattr}.def + - be more consistent about using value_cell(var) instead of + directly referencing var->value + - use var_isset and var_isnull where appropriate + + builtins/help.def + - augmented a couple of help strings with pointers to `info' and + `man -k' + + 2/14 + ---- + variables.h + - new macros to use when setting variable values directly instead of + through bind_variable and its siblings + + {arrayfunc,variables}.c + - use var_setarray and other lvalue macros instead of assigning to + var->value directly + + builtins/setattr.def + - change show_var_attributes to show function definitions separately + from function attributes. This allows the output of `declare -f' + (with other flags), `export -f', and `readonly -f' to be reused as + shell input, instead of the old + + declare -f[flags] func() + { + foo + } + + which has syntax errors. When in posix mode, `export -fp' and + `readonly -fp' still don't print function definitions + + 2/16 + ---- + parse.y + - comment out calls to discard_parser_constructs; no need to call + empty functions + + 2/18 + ---- + lib/sh/memset.c + - replacement function for memset(3) + + lib/sh/Makefile.in, Makefile.in + - additions for memset.c + + configure.in,config.h.in + - check for memset, define HAVE_MEMSET if found, add memset.o to + LIBOBJS if not + + lib/malloc/malloc.c + - removed zmemset(), replaced with calls to memset(3) + + {subst,execute_cmd,lib/sh/netopen}.c + - replaced calls to bzero with calls to memset + + subst.c + - word_split() now takes a second argument: the value of $IFS, so + it doesn't have to look up IFS every time + - word_list_split() now calls getifs() and passes the result to + each call to word_split() as its second arg + - do a quick scan for CTLNUL in remove_quoted_nulls before allocating + new string, copying old string to it, copying over original string + and freeing new string + + eval.c + - don't bother calling dispose_used_env_vars if temporary_env is NULL + + execute_cmd.c + - fix fix_assignment_words to only look up the builtin corresponding + to the first word if one of the words in the list is marked as + W_ASSIGNMENT + + hashlib.c + - renamed hash_string to hash_bucket, which better reflects what it + does + - extracted the portion of hash_bucket that computes the hash out + into a new hash_string() + - made new body of hash_bucket into a macro HASH_BUCKET; function + just calls the macro + - calls to hash_bucket in this file now call HASH_BUCKET macro + - in add_hash_item, just add a new item at the front of the appropriate + bucket list instead of at the end + + hashcmd.h + - reduced FILENAME_HASH_BUCKETS to 53 from 107 + + 2/19 + ---- + hashlib.[ch] + - find_hash_item, remove_hash_item, add_hash_item all take a new + third `flags' argument + - add_hash_item doesn't call find_hash_item if HASH_NOSRCH passed in + flags arg + - find_hash_item will create a new hash table entry if HASH_CREATE is + passed in flags arg + - new function, hash_walk, takes a pointer to a function and a table + and calls the function for each item in the table. If the function + returns < 0, the walk is terminated + - fixed flush_hash_table to set table->nentries to 0 after freeing + all entries + - BUCKET_CONTENTS now has a new `khash' member, what key hashes to; + set by HASH_BUCKET macro (which calls hash_string), assigned in + find_hash_item (HASH_CREATE) and add_hash_item + - find_hash_item and remove_hash_item check `khash' against the + hash of the string argument before calling strcmp + + {alias,hashlib,hashcmd,pcomplib,variables}.c + - changed all calls to {find,remove,add}_hash_item + + builtins/hash.def + - return immediately from print_hashed_commands if there are no + entries in the hash table (this eliminates need for `any_printed' + variable) + - change print_hashed_commands to use hash_walk + + alias.c + - short-circuit all_aliases and map_over_aliases if + HASH_ENTRIES(aliases) == 0 + - simplify map_over_aliases by just allocating enough room in the + returned list for all entries in the aliases hash table, instead + of doing the check and xrealloc + - add_alias now calls add_hash_item with HASH_NOSRCH argument + + pcomplete.h + - sh_csprint_func_t is no more; use hash_wfunc instead + + pcomplib.c + - short-circuit print_all_compspecs if HASH_ENTRIES(prog_completes) + is 0 + - print_all_compspecs now takes a `hash_wfunc *' argument + - print_all_compspecs now just calls hash_walk + + builtins/complete.def + - new function, print_compitem, takes a BUCKET_CONTENTS *, extracts + the right info, and calls print_one_completion + + variables.c + - short-circuit map_over_funcs if HASH_ENTRIES(shell_functions) == 0 + - short-circuit flatten if the passed table has no entries + - bind_variable_internal takes a new fourth argument: `hflags', + to pass to hash table functions + - make_new_variable now passes HASH_NOSRCH flag to add_hash_item + - set_if_not now calls bind_variable_internal and passes + HASH_NOSRCH as flags argument + - bind_function now calls add_hash_item with HASH_NOSRCH argument + - fixed make_local_variable: old_var == 0 && was_tmpvar can never + be true + - if we didn't find an old variable in make_local_variable, call + bind_variable_internal with HASH_NOSRCH argument + - fix push_temp_var to reset variable context to 0 if binding into + global_variables->table + + parse.y + - fix to parse_compound_assignment to avoid core dumps on empty + compound array assignments + + subst.c + - getifs() is now global so read_builtin can call it + + subst.h + - extern declaration for getifs() + + 2/20 + ---- + hashlib.c + - changed hash_string to use a better hash function + - changed HASH_BUCKET to use masking rather than modulus to hash a + string to a bucket -- HASH TABLES MUST NOW BE SIZED BY POWERS + OF TWO + + hashlib.h + - DEFAULT_HASH_BUCKETS is now 64 + + hashcmd.h + - FILENAME_HASH_BUCKETS is now 64 + + pcomplib.c + - COMPLETE_HASH_BUCKETS is now 32 + + variables.c + - TEMPENV_HASH_BUCKETS is now 4 + + alias.c + - new define, ALIAS_HASH_BUCKETS, set to 16, used to size alias table + + hashlib.c + - removed initialize_hash_table; folded code into make_hash_table + - fixed copy_bucket_array to copy the `khash' member of an item + - renamed functions to be more systematic and easier for me: + make_hash_table -> hash_create + hash_table_nentries -> hash_size + copy_hash_table -> hash_copy + find_hash_item -> hash_search + remove_hash_item -> hash_remove + add_hash_item -> hash_insert + flush_hash_table -> hash_flush + dispose_hash_table -> hash_dispose + print_table_stats -> hash_pstats + get_hash_bucket -> hash_items + - changed hash_search to short-circuit if table->nentries == 0 and + HASH_CREATE has not been passed in the flags argument + + {alias,variables,hashcmd,pcomplib}.c + - renamed calls to all renamed functions from hashlib.c + + builtins/kill.def + - don't drop a leading `-' in a pid argument + - call kill_pid with an explicit third argument of 1 if the pid + argument to kill is < -1, rather than rely on the behavior of + kill(2) + + 2/21 + ---- + subst.c + - quoted_strchr is no longer declared `inline' + - skip_double_quoted is no longer declared `inline' + - string_extract_double_quoted is no longer declared `inline' + + lib/readline/input.c + - rl_gather_tyi is now an `int' valued function; returns the number + of characters read (0 or 1) or -1 on error + - if rl_gather_tyi() returns -1 to rl_read_key(), set rl_done to 1 + and return a newline; something is wrong with the input fd + + 2/25 + ---- + variables.[ch] + - IFS is now a special variable + - new special var function, sv_ifs(), called when IFS is set or unset + - call setifs() when IFS is first set in initialize_shell_variables + - call setifs() from make_local_variable and assign_in_env if + appropriate + - if assign_in_env() is called with a var assignment like `VAR=', + make the value in the new SHELL_VAR created be "" like + do_assignment_internal does, since certain parts of the shell use + a NULL value as evidence that the variable is unset (though + attributes may have been assigned) + - if push_temp_var pushes something up to the global_variables table, + make sure that the context is set to 0 + - new function dispose_temporary_env, called by both + dispose_used_env_vars and merge_temporary_env with different `free + func' function pointers; calls sv_ifs after disposing the temporary + environment + - push_exported_var now calls bind_variable_internal instead of + bind_variable + - pop_scope and pop_context now call sv_ifs + + subst.[ch] + - new global variables used to keep track of IFS state, to avoid + having to call find_variable("IFS") all the time: + + ifs_var the SHELL_VAR for IFS + ifs_value ifs_var ? value_cell (ifs_var) : " \t\n" + ifs_cmap bitmap of characters in ifs_value + ifs_firstc first character in ifs_value + + - new function setifs(), sets the aforementioned ifs variables each + time IFS is set or unset, and at nested scope exit + - instead of calling getifs() from inside subst.c, use ifs_value + - getifs() now just returns ifs_value + - use ifs_firstc in string_list_dollar_star() + - only call member() in issep() if separators is more than one char + - don't cache a bitmap every time expand_word_internal() is called; + use ifs_cmap instead + - new macro, isifs(c), checks whether C is in ifs_cmap + + builtins/read.def + - use issep() and isifs() macros instead of looking at $IFS directly + + syntax.h + - make sure macros that access sh_syntaxtab cast the argument to + `unsigned char' before array access + - new macros: issyntype(c, type) and notsyntype(c, type), check + sh_syntaxtab[c] for a particular flag value `type' + + 2/26 + ---- + hashlib.h + - the `data' member of a `BUCKET_CONTENTS' is now a PTR_T + + {hashlib,alias,variables,hashcmd,pcomplib}.c + - removed some casts when assigning to and using `data' member of a + `BUCKET_CONTENTS' + + subst.c + - in split_at_delims, call make_word_list instead of allocating and + initializing a WORD_LIST * directly + + make_cmd.[ch] + - add_string_to_list is now just a macro that calls make_word_list + - make_simple_command now calls make_word_list instead of allocating + a WORD_LIST * directly + + 2/27 + ---- + copy_cmd.c + - copy_word now calls make_bare_word to allocate the copy + - copy_word_list now calls make_word_list to allocate the copy + + shell.h + - include `ocache.h' for simple object caching + - call cmd_init() to initialize the WORD_DESC and WORD_LIST object + caches + + {make,dispose}_cmd.c + - allocate WORD_DESC * and WORD_LIST * vars from their respective + ocaches, and return them to the cache when disposing + + jobs.c + - renamed old `waiting_for_job' variable to `queue_sigchld', which + better reflects its intent: sigchld_handler does not call waitchld + if `queue_sigchld' is non-zero, it simply increments the count of + waiting children + - cleanup_dead_jobs now just sets and clears queue_sigchld instead of + blocking and unblocking SIGCHLD; it calls waitchld at the end if + `sigchld' is non-zero, but that's not really necessary + - in setjstatus, only call xrealloc if `statsize' is less than the + number of processes passed -- no reason to do it if they're the + same + + 2/28 + ---- + sig.[ch] + - reinitialize_signals is no more; initialize_signals takes an + argument saying whether or not we are reinitializing + + builtins/exec.def + - reinitialize_signals() -> initialize_signals(1) + + test.c + - fix filecomp() to work right when one file has a non-positive + timestamp and the other file does not exist + + doc/{bash.1,bashref.texi} + - document what happens for test's -nt and -ot operators when one + file operand exists and the other does not + + jobs.c + - if we haven't messed with SIGTTOU, just manipulate queue_sigchld + in notify_of_job_status instead of calling sigprocmask() + - list_one_job now calls pretty_print_job directly instead of going + through print_job + - pretty_print_job now must be called with SIGCHLD blocked or held + instead of blocking SIGCHLD itself + - changed start_job so that it doesn't call UNBLOCK_CHILD and then + immediately call BLOCK_CHILD again (explicitly or via last_pid()), + call find_last_pid instead of last_pid and then UNBLOCK_CHILD + - changed wait_for_job the same way + - find_last_pid now takes a second argument: block; uses BLOCK_CHILD + if `block' is 1, not otherwise. Changed existing calls: + find_last_pid(j) -> find_last_pid(j, 0) + last_pid(j) -> find_last_pid(j, 1) + `last_pid()' is now gone + - rewrote wait_for_background_pids(); it was a little strange + + copy_cmd.c + - copy_if_command: don't copy null false_case commands + - copy_simple_command: don't copy a null redirection list + + subst.c + - in get_word_from_string and list_string, just check for " \t\n" + directly rather than calling strcmp + - in get_word_from_string and strip_trailing_ifs_whitespace, use + isifs() instead of issep(), since they're never called with + separators != $IFS + - change issep() to call isifs if separators is longer than one + character, since it's never called with anything but "", " ", + or $IFS + + 3/1 + --- + sig.h + - enclose the BLOCK_SIGNAL macro in a do {...} while (0) loop, at it + should have been all along + + lib/readline/doc/rltech.texinfo + - document that readline defaults to stdin/stdout if rl_instream/ + rl_outstream are NULL + + lib/readline/terminal.c + - if an application is using a custom redisplay function, + rl_resize_terminal just calls rl_forced_update_display to tell + (*rl_redisplay_func) to update the display, otherwise call + _rl_redisplay_after_sigwinch + + lib/readline/readline.c + - change readline_internal_setup() so the change to vi insertion mode + happens even if readline_echoing_p is 0 + - don't print the prompt to rl_outstream in readline_internal_setup + if we're not echoing and the caller has defined a custom redisplay + function -- let the redisplay function deal with it + + configure.in + - new option: --enable-mem-scramble, controls memory scrambling on + free() (on by default; only affects use of bash malloc) + + config.h.in + - new option MEMSCRAMBLE, controlled by --enable-mem-scramble + + 3/5 + --- + parse.y + - added ksh-like behavior of [...] to read_token_word: if a `[' is + seen in an assignment context and the previous characters in the + token form a valid identifier, parse the [...] with + parse_matched_pair to allow spaces (and newlines) in the subscript + + bashline.c + - new function bash_servicename_completion_function, for completing + service names from /etc/services + + bashline.h + - new extern declaration for bash_servicename_completion_function + + builtins/complete.def + - allow new `-s/-A service' option to complete and compgen builtins + + pcomplete.h + - new CA_SERVICE define, new ITEMLIST variable it_services + + pcomplete.c + - add callback to bash_servicename_completion_function to generate + list of matching service names for completion + + doc/bash.1,lib/readline/doc/rluser.texinfo + - documented new `-s/-A service' option to complete and compgen + + 3/6 + --- + builtins/read.def + - change hard-coded `0' to new variable `fd' (initially 0) in + preparation for adding `-u fd' option + + bashline.c + - bash_directory_completion_hook calls expand_prompt_string instead + of expand_string (it does the right thing). This keeps expansion + errors from causing a longjmp, which shouldn't happen because of + completion + - command_subst_completion_function was augmented very slightly to + do filename completion on a non-command-word in a command + substitution + - command_subst_completion_function now skips over the lcd that + rl_completion_matches puts in matches[0] if there is more than + one possible completion + + 3/7 + --- + builtins/read.def + - only add the unwind_protect to free `rlbuf' if `edit' is non-zero, + since we won't be using readline otherwise + + lib/sh/zread.c + - renamed zread1 -> zreadintr + + redir.c + - small change to redirection_error() to make a slightly better + guess about the invalid file descriptor if the redirection op is + r_duplicating_input or r_duplicating_output + + include/stdc.h + - new macro, SH_VA_START, to encapsulate the difference between + stdarg va_start and varargs va_start + + {error,pcomplete,print_cmd}.c,builtins/common.c,lib/sh/snprintf.c + - use SH_VA_START + + 3/8 + --- + builtins/read.def + - support for the ksh-like `-u fd' option + + general.c + - new function sh_validfd(fd), returns 1 if fd is a valid open file + descriptor + + general.h + - extern decl for sh_validfd + + bashline.c + - don't call posix_readline_initialize() from initialize_readline(); + sv_strict_posix() should already have taken care of it + + 3/11 + ---- + {error,pcomplete,print_cmd}.c, builtins/common.c + - removed non-varargs versions of functions + + builtins/printf.def + - if the string argument to %q has non-printing characters, call + ansic_quote to quote it rather than sh_backslash_quote + + variables.h + - new attribute: att_trace (and corresponding trace_p() macro). + Functions with this attribute will inherit the DEBUG trap. + Currently ignored for variables + + builtins/declare.def + - new `-t' option to declare/typeset toggle the `att_trace' attribute + + builtins/setattr.def + - check for att_trace and output `-t' flag in show_var_attributes + + execute_cmd.c + - if a function is being traced (it has the `-t' attribute set), + don't turn off the DEBUG trap when it executes + + doc/{bash.1,bashref.texi} + - document the new `-t' option to declare/typeset + + 3/12 + ---- + execute_cmd.c + - don't execute the debug trap in the `cm_simple:' case of + execute_command_internal; run it in execute_simple_command so we + get the line number information right when executing in a shell + function + - run a DEBUG trap before executing ((...)) arithmetic commands, + like ksh93 + - run a DEBUG trap before executing [[...]] conditional commands, + like ksh93 + + eval.c + - add a static forward declaration for alrm_catcher() + + general.c + - add static forward declarations for bash_special_tilde_expansions, + unquoted_tilde_word, initialize_group_array + + variables.h + - add extern declarations for sh_get_env_value, map_over_funcs, + local_exported_variables + + variables.c + - add static forward declarations for dispose_temporary_env, + make_func_export_array + + bashhist.c + - add static forward declaration for check_history_control + + configure.in + - add a call to AC_CHECK_DECLS for strcpy + + config.h.in + - add placeholder for HAVE_DECL_STRCPY define, set by configure + + general.h + - don't declare strcpy if HAVE_DECL_STRCPY is defined with a non-zero + value + + sig.h + - add prototype to typedef of SigHandler + + lib/readline/histlib.h + - removed extern declaration of strcpy() + - include string.h/strings.h directly in histlib.h instead of source + files + + lib/readline/{histexpand,histfile,history,histsearch}.c + - don't include string.h/strings.h now that histlib.h includes it + + lib/tilde/tilde.c + - removed extern declaration of strcpy(), rely on string.h/strings.h + + command.h + - four new redirection types: r_move_input, r_move_output, + r_move_input_word, r_move_output_word, for + [N]<&word- and [N]>&word- from ksh93 + + print_cmd.c + - changes to print r_move_input[_word] and r_move_output[_word] + + copy_cmd.c + - changes to copy r_move_input[_word] and r_move_output[_word] + + dispose_cmd.c + - changes to dispose r_move_input_word and r_move_output_word + + make_cmd.c + - changes to make r_move_input[_word] and r_move_output[_word] from + r_duplicating_{input,output}_word, which is how the new redirs + are passed by the parser + + redir.c + - changes to make r_move_input[_word] and r_move_output[_word] do + the right thing when executed + + builtins/read.def + - print an error message and return failure immediately if zread/zreadc + return < 0 + + doc/{bash.1,bashref.texi} + - documented new [n]<&word- and [n]>&word- redirections + + 3/13 + ---- + lib/readline/isearch.c + - enabled code to allow chars bound to rl_rubout to delete characters + from the incremental search string + + shell.c + - add `-l' invocation option to parse_shell_options; equivalent to + `--login' + - fixed set_login_shell to check first char of base pathname of argv0 + for `-', like other shells + - move the check for make_login_shell after the call to + parse_shell_options because the `-l' option might set it + + doc/{bash.1,bashref.texi} + - documented new `-l' invocation option + + array.c + - new function, array_shift, shifts an array left by a specified + number of elements + - array_walk is now compiled in by default + - array_to_assignment_string now takes a second argument: int quoted. + If non-zero, the result is single-quoted before being returned + - quoted_array_assignment_string has been removed + + array.[ch] + - renamed most of the array functions so that all have an array_ + prefix and are more systematically named + - array_slice now preserves the indicies from the original array + - change array_to_assign to use a static buffer for expanding the + array indices, instead of malloc/free + + {arrayfunc,subst,variables}.c, builtins/read.def + - changed calls to various array functions to use new names + + lib/sh/stringvec.c, externs.h + - renamed all of the functions to have a strvec_ prefix and to have + a more sensible name scheme + - strvec_search's arguments are now supplied in reverse order, so + the char **array is first, like the other functions + - new function, strvec_resize, xrealloc for strvecs + + {alias,array,bracecomp,braces,bashline,execute_cmd,findcmd,general,pathexp, + pcomplete,variables}.c + lib/sh/stringlist.c + builtins/{bind,complete,exec,getopts,pushd,set}.def + - change calls to all functions from lib/sh/stringvec.c + - use strvec_resize where appropriate + + externs.h + - only declare dup2() if HAVE_DUP2 is undefined or DUP2_BROKEN is + defined + + lib/readline/{macro,readline,util}.c, lib/readline/rlprivate.h + - _rl_defining_kbd_macro is gone, use RL_ISSTATE(RL_STATE_MACRODEF) + + lib/readline/readline.h + - new struct readline_state, encapsulates most of readline's internal + state in case you need reentrancy or nested calls to readline() + - extern declarations for rl_save_state, rl_restore_state + + lib/readline/readline.c + - add (undocumented) int rl_save_state (struct readline_state *), + int rl_restore_state (struct readline_state *) + + 3/14 + ---- + array.[ch] + - new function, array_rshift, shifts an array right by a specified + number of elements, optionally inserting a new element 0 + + examples/bashdb/bashdb + - new single-file version of bash debugger, originally modified from + version in bash-2.04 by Gary Vaughan (the old debugger still + appears in examples/obashdb). This version has a more gdb-like + command set + + examples/bashdb/bashdb.el + - new emacs bashdb debugger mode from Masatake YAMATO + + execute_cmd.c + - don't make $LINENO relative to function start unless the shell is + currently interactive -- this is what ksh93 does and what I + believe to be the intent of POSIX.2 (this required changing some + of the test checks because the output has changed) + - run the debug trap for each command in an arithmetic for expression, + like ksh93 does + + lib/readline/vi_mode.c + - redid rl_vi_subst (binding func for `s' and `S') in terms of + rl_vi_change_to: `S' == `cc' and `s' == `c '. This makes undo + work right + + 3/18 + ---- + hashlib.c + - fixed hash_walk to return if the item function returns < 0, instead + of breaking out of the current hash chain + + array.c + - fixed array_walk to return if the item function returns < 0, like + hash_walk + + lib/sh/stringlist.c, externs.h + - new function: strlist_walk, takes a stringlist and a pointer to an + item func. Like other _walk funcs, if item func returns < 0 the + walk is cancelled + - new function: strlist_flush, frees items in the contained list + with strvec_flush + - renamed functions to have a strlist_ prefix and be more systematic + + pcomplib.c,pcomplete.h + - removed redundant `progcomp_initialized' variable + - renamed functions to have `progcomp_' or `compspec_' prefixes + like the hash library + + {bashline,pcomplete}.c,builtins/complete.def + - fixed calls to stringlist functions to use new names + - fixed calls to functions in pcomplib.c to use new names + + pcomplete.c + - made the debugging code #ifdef DEBUG -- it should be mature enough + + builtins/hash.def,parse.y + - use REVERSE_LIST(x, t) instead of (t)reverse_list(x) + + list.c,{externs,general}.h + - renamed the list functions to have a list_ prefix, changed callers + + externs.h,{execute_cmd,stringlib,subst}.c,builtins/common.c,lib/sh/stringvec.c + - word_list_to_argv -> strvec_from_word_list + - argv_to_word_list -> strvec_to_word_list + - moved functions to lib/sh/stringvec.c + + lib/sh/stringvec.c + - changed name of second argument to strvec_from_word_list from `copy' + to `alloc' so the use of `copy' between strvec_from_word_list and + strvec_to_word_list isn't as confusing + - changed name and sense of second argument to + strvec_to_word_list from `copy' to `alloc' for the same reason -- + now both functions agree on semantics of second argument + + lib/sh/stringlist.c + - ditto for strlist_from_word_list and strlist_to_word_list + + subst.c + - changed callers of strvec_to_word_list + + 3/19 + ---- + builtins/hash.def + - added `-l' option to list table or individual targets in reusable + format + - added `-d' option to remove one or more names from the table of + hashed commands (provides `unhash' or `unalias -t' functionality) + + doc/{bash.1,bashref.texi} + - documented new `-l' and `-d' options to `hash' + + hashcmd.[ch] + - renamed functions to have a `phash_' prefix and follow new naming + convention + - phash_remove now returns an int: 1 if command not in hash table, + 0 if filename removed OK + + {findcmd,variables}.c, builtins/{hash,type}.def + - changed callers to use new names from hashcmd.c + + builtins/common.[ch] + - new function, sh_notfound(s), prints standard `not found' message + - new function, sh_invalidid(s), prints standard `invalid identifier' + message + - new function, sh_restricted(s), prints standard `restricted' message + for restricted shells + - new function, sh_invalidnum(s), prints standard `invalid number' + message + - renamed bad_option to sh_invalidopt, changed to print + `invalid option' instead of `unknown option' + - new function, sh_invalidoptname, prints standard `invalid option + name' for long options + - new function, sh_badjob (s), prints standard `no such job' message + - new function, sh_invalidsig (s), prints standard `invalid signal + specification' message + - new function, sh_nojobs (s), prints standard `no job control' message + - new function, sh_needarg (s), prints standard `option requires an + argument' message + - new function, sh_neednumarg (s), prints standard `numeric + argument required' message + - new function, sh_badpid(s), prints standard `not a pid...' message + - new function, sh_erange (s, desc) prints standard `out of range' + message, optionally using `desc' to say what the argument is + + builtins/{alias,command,declare,exec,hash,type}.def + - call sh_notfound() instead of calling builtin_error directly + + builtins/{declare,getopts,read,set,setattr}.def + - call sh_invalidid() instead of calling builtin_error directly + + builtins/{cd,command,enable,exec,hash,source}.def + - call sh_restricted() instead of calling builtin_error directly + + builtins/{printf,read,ulimit}.def, builtins/common.c + - call sh_invalidnum instead of calling builtin_error directly + + builtins/{complete,declare,pushd,set}.def, builtins/bashgetopt.c + - call sh_invalidopt instead of bad_option or builtin_error directly + + builtins/{complete,set,shopt}.def + - call sh_invalidoptname instead of builtin_error directly + + builtins/{fg_bg,jobs,kill,wait}.def + - call sh_badjob instead of calling builtin_error directly + + builtins/common.c, builtins/{kill,signal}.def + - call sh_invalidsig instead of calling builtin_error directly + + builtins/{fg_bg,suspend,wait}.def + - call sh_nojobs instead of calling builtin_error directly + + builtins/{common,bashgetopt}.c, builtins/{hash,kill}.def + - call sh_neednumarg and sh_needarg where required + + builtins/{kill,wait}.def + - call sh_badpid where required + + builtins/{break,fc,history,pushd,shift,ulimit,umask}.def + - call sh_erange where appropriate + + builtins/printf.def + - new static function, printf_erange, prints standard out-of-range + warning message + + builtins/set.def + - changed so that calls to sh_invalidopt always include the leading + `+' or `-' + + builtins/shopt.def + - changed SHOPT_ERROR macro to shopt_error function + + builtins/bind.def + - regularized error messages to `bind: object: error string' like + other error messages + + builtins.h + - the `short_doc' member of a `struct builtin' is now of type + `const char *' + - the strings in `long_doc' array of a struct builtin are now const + + builtins/mkbuiltins.c + - changes for new `const' members of struct builtin + + 3/20 + ---- + lib/readline/histfile.c + - use pointers instead of indexing into buffer when reading the + contents of the history file in read_history_range and + history_truncate_file + + 3/21 + ---- + lib/readline/histfile.c + - new file, with code to mmap the history file for reading and + writing (depends on HAVE_MMAP, currently nothing checks for that) + + 3/25 + ---- + error.[ch] + - new function, err_badarraysub(s), calls report_error with standard + `bad array subscript' message + - new function, err_unboundvar(s), calls report_error with standard + `unbound variable' message + - new function, err_readonly(s), calls report_error with standard + `readonly variable' message + + {arrayfunc,subst}.c + - call err_badarraysub where appropriate + + {expr,subst}.c + - call err_unboundvar where appropriate + + {arrayfunc,variables}.c + - call err_readonly where appropriate + + shell.c + - changed text of bad option error messages to be the same as that + printed for builtin errors + + builtins/common.c + - changed sh_invalidopt to print the invalid option before the rest + of the error message (required some tests to be modified) + - new function, sh_readonly, calls builtin_error with standard + `readonly variable' message + + variables.c,builtins/declare.def + - call sh_readonly where appropriate + + lib/sh/stringvec.c + - added strvec_remove (sv, s), removes S from SV and shuffles rest of + elements down 1 + + lib/sh/stringlist.c + - added strlist_remove(sl, s), just calls strvec_remove on the + component list + + externs.h + - new extern declarations for strvec_remove and strlist_remove + - fixed extern declaration for strvec_search; the arguments were + reversed (unimportant, it's not compiled into the shell) + + subst.c + - change param_expand to call quote_escapes on values retrieved when + expanding the positional parameters + - change parameter_brace_expand_word to quote escapes on values + retrieved when expanding the positional parameters + - fix parameter_brace_substring to quote escape characters on unquoted + substrings extracted from variable values (needed to separate case + VT_VARIABLE from VT_ARRAYMEMBER for this, since, because + get_var_and_type calls array_value for VT_ARRAYMEMBER, we need to + skip over quoted characters in an already-appropriately-quoted + string to find the substring we want) + - fix parameter_brace_substring to quote escape characters in the + value returned by pos_params when expanding subsets of the + positional parameters and not within double quotes (in which case + pos_params() quotes the string for us) + - fix parameter_brace_substring to quote escape characters in the + value returned by array_subrange when expanding subsets of an + array and not within double quotes (in which case + array_subrange() quotes the string for us) + - new function, quoted_strlen(s), does strlen(s) while skipping over + characters quoted with CTLESC (#ifdef INCLUDE_UNUSED, since it's + not used yet) + - changed pos_params() so it always returns a list whose members are + quoted strings if (quoted&(Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) != 0 + + arrayfunc.c + - fix array_value to consistently call quote_escapes, even when a + non-array variable is being subscripted with element 0, in which + case we return the variable value + + lib/sh/strtrans.c + - make the for_echo parameter to ansicstr a `flags' parameter that + has its old `for echo' meaning if flags&1 is non-zero (which is + consistent with the old code) + - Added code to the `flags' parameter to ansicstr so that if flags&2 + is non-zero, CTLESC and CTLNUL are escaped with CTLESC in the + expanded string + - change ansiexpand() to call ansicstr with a `flags' parameter of 2 + + 3/26 + ---- + lib/readline/histfile.c + - when reading and writing the history file, use malloc instead of + xmalloc and handle failures gracefully, so the application doesn't + abort if the history file or history list is too big + + 3/27 + ---- + arrayfunc.c + - changed array_value_internal to take an additional `int *' + parameter, in which is returned the type of array indexing + performed (array[@] vs. array or array[index]) + - changed array_value and get_array_value to take a corresponding + extra parameter and pass it to array_value_internal + - changed array_value_internal to no longer return newly-allocated + memory or quote CTLESC and CTLNUL in the returned string if + `simple' array indexing (subscript not `@' or `*') is being + performed. This makes it more like a variable lookup + + arrayfunc.h + - changed prototypes for array_value and get_array_value + + expr.c + - added new parameter to call to get_array_value in expr_streval + - don't need to free memory returned by get_array_value any more + + subst.c + - quote_escapes now works with multibyte characters + - dequote_string now works with multibyte characters + - dequote_escapes is now needed, so it's compiled in, and it + now works with multibyte characters + - remove_quoted_escapes now just calls dequote_escapes and copies the + result over the argument string + - remove_quoted_nulls now returns its char * argument, parallels + remove_quoted_escapes + - parameter_brace_expand_word now passes the new argument to + array_value and quotes CTLESC and CTLNUL in the result if it's a + `simple' array expansion by calling quote_escapes + - get_var_and_type now returns VT_ARRAYMEMBER for references like + ${array} where `array' is an array variable (just like ${array[0]}). + Documented (in comment) that a VT_VARIABLE return value means that + quote_escapes has been called at some point + - changed callers of get_var_and_type to no longer free value if + VT_ARRAYMEMBER is returned as type + - changed parameter_brace_substring and parameter_brace_patsub to + call dequote_escapes on the value from get_var_and_type if the + type is VT_VARIABLE, since the substring and pattern substitution + code doesn't understand CTLESC quoting + - parameter_brace_substring no longer needs to call quoted_substring + for the VT_ARRAYMEMBER case + - changed parameter_brace_patsub to call quote_escapes on the result + of pat_subst for the VT_VARIABLE and VT_ARRAYMEMBER cases, and to + quote the returned string in the VT_ARRAYVAR and VT_POSPARAMS cases + if the `MATCH_QUOTED' flag isn't set (if it is, the pattern + substitution functions perform any necessary quoting) + - quoted_substring is no longer used; it's now #ifdef INCLUDE_UNUSED + + lib/malloc/mstats.h + - new member in _malstats: u_bits32_t bytesreq, the total number of + bytes requested by the caller via calls to malloc() and realloc() + + lib/malloc/stats.c + - print bytesreq member in _print_malloc_stats + - don't print statistics for buckets for which nmal == 0 (no mallocs) + + lib/malloc/malloc.c + - modified internal_malloc, internal_realloc to keep running total of + number of bytes requested by calling application + + shell.c + - sh_exit is now compiled in; exit_shell calls sh_exit + + error.c + - changed fatal_error, report_error, parser_error to call sh_exit + + 3/28 + ---- + subst.[ch] + - changed Q_NOQUOTE to Q_PATQUOTE; it makes the intent more clear + + subst.c + - moved code from parameter_brace_expand into a new function that + dispatches for pattern substitution: parameter_brace_remove_pattern + - changed structure of parameter_brace_remove_pattern to be like + parameter_brace_patsub and its ilk: call get_var_and_type to + isolate the variable name, move the pattern isolation code out of + the various *_remove_pattern functions into + parameter_brace_remove_pattern and pass the results to the various + functions, use a switch on the return value from get_var_and_type + to decide which function to call, regularized the arguments to the + separate pattern removal functions + - parameter_brace_remove_pattern now properly quotes escape chars in + the returned value + - changed get_var_and_type to call dequote_escapes on the `value' + parameter for case VT_VARIABLE and return the result in *valp, + so the calling functions don't have to do it themselves; changed + callers appropriately + - fixed getpattern() where it broke posix compliance: if you enclose + a pattern removal spec in double quotes, the outer double quotes + have no effect on the pattern (POSIX.1-200x 2.6.2). This uncovered + a bug in the test suite (!) + + pathexp.c + - fixed a problem with quote_string_for_globbing where it would change + consecutive CTLESC chars all to \ instead of changing every other + quoted char + + 3/31 + ---- + lib/malloc/{malloc,stats}.c + - moved declaration of _mstats to malloc.c so stats.o doesn't get + linked into the shell if the stats functions aren't called + + 4/2 + --- + lib/glob/smatch.c + - introduce `XCHAR' define, which is the type of arguments passed to + strcoll/strcmp/strlen and their wide-character equivalents, added + appropriate casts + - static arrays in single-byte version of rangecmp() are `char', not + `unsigned char', so compilers don't complain about calls to strcoll + + lib/glob/sm_loop.c + - casts for `XCHAR' and `XCHAR *' arguments to libc functions + - use prototype declaration for BRACKMATCH if `PROTOTYPES' is defined + to avoid problems with type promotion (unsigned char -> int) + + lib/glob/collsyms.h + - `name' member of struct _COLLSYM is now of type `XCHAR *', since + some compilers don't like `unsigned char *' initializers from + constant strings + + [bash-2.05b-alpha1 released] + + 4/3 + --- + builtins/{evalstring.c,common.h} + - new flag for parse_and_execute, SEVAL_NOFREE, means to not free + the argument string when finished + + lib/readline/text.c + - fixed a trivial typo in _rl_insert_char when reading multibyte + char sequences + - replace calls to ding() with rl_ding() + + include/chartypes.h + - remove SIGN_EXTEND_CHAR and TOASCII macros; they're unused + + make_cmd.c + - include dispose_cmd.h for extern function declarations + + lib/glob/glob.c + - include `shmbutil.h' and `xmalloc.h' for extern function declarations + + lib/glob/smatch.c + - include `xmalloc.h' for extern function declarations + + shell.c + - fix maybe_make_restricted to use its argument instead of global + `shell_name' + + version.c + - update copyright message to include this year + + lib/readline/display.c + - fixes from Jiro SEKIBA to fix autowrapping + when using multibyte characters + + lib/glob/sm_loop.c + - fixed a problem in BRACKMATCH where not enough memory was allocated + to hold a multibyte character when parsing POSIX.2 char class names + + support/config.{guess,sub} + - updated via patch from Paul Eggert with latest GNU additions + + variables.c + - var_lookup should use its `vcontext' argument instead of + unconditionally using `shell_variables' + + 4/4 + --- + builtins/bind.def,doc/{bash.1,bashref.texi} + - changed the usage summary and help text to make it clear that any + readline command that may appear in ~/.inputrc may be supplied as + one of the non-option arguments to `bind' + + builtins/mkbuiltins.c + - added support for `-H' option, which means to write long documentation + for each builtin to a separate file in the `helpfiles' directory + + builtins/Makefile.in + - new target `helpdoc', just creates long doc files in helpfiles + directory + + lib/sh/zcatfd.c + - new file, with zcatfd(int fd, int ofd, char *fn); dumps data from + FD to OFD + + Makefile.in,lib/sh/Makefile.in + - added zcatfd.c, zcatfd.o member of libsh.a + + builtins/evalstring.c + - changed cat_file to call zcatfd(fd, 1, fn) + + builtins/{shopt,colon}.def + - removed the $DOCNAME directive for `shopt', `true', and `false'; + just use the names + - changed $DOCNAME for `:' to just be `colon' instead of + `colon_builtin' + + builtins/reserved.def + - added help entries for ((, [[, `for ((' + + builtins/let.def + - add id++, id--, ++id, --id, ** to help text + + 4/8 + --- + builtins/bashgetopt.[ch] + - changed to allow options beginning with `+', enabled by a leading + `+' in the option string + - new variable, list_opttype, set to `-' or `+' + + builtins/{common.c,{builtin,eval,exit,fg_bg,let,printf,pushd,return,source,wait}.def + - changes to allow a `--' option for every builtin that accepts + operands but not options, as per posix.1-2001 + + builtins/{declare,setattr}.def + - use internal_getopt for parsing options, now that it supports `+' + + builtins/set.def + - use internal_getopt for initial option parse, now that it supports + a leading `+' + + + {configure,Makefile}.in, builtins/{Makefile.in,help.def,mkbuiltins.c} + - support for a new configure option, ``--enable-separate-helpfiles'', + moves the `long' help text to separate help files, installed by + default into ${datadir}/bash, one file per builtin. Off by + default -- it saves 47K, but it's only 47K, and it's in the text + segment + + flags.c + - build internal_getopt() option string argument from flags array at + runtime in shell.c + + shell.c + - new variable to control writing malloc stats at exit: + malloc_trace_at_exit, 0 by default + + lib/malloc/malloc.c + - heavily updated: + o partial page allocated on first call to malloc to make + subsequent sbrks page-aligned no longer wasted + o begin and end range guards are now the same value: the chunk + requested + o coalescing code was changed to attempt to coalesce first two + adjacent blocks on the free list; enabled by default + o blocks of size 32 are now candidates for larger block + splitting, since 32 is the most popular size + o blocks of size 32 are now candidates for smaller block + coalescing + o the IN_BUCKET check was changed to just make sure that the + size isn't too big for the bucket, since the `busy block' + checking code may increase the bucket by one or more, + meaning that the old check would fail and cause a panic when + a chunk allocated in such a way was freed + o bin sizes are now precomputed and looked up in an array + rather than being computed at runtime + o moved the _mstats declaration here to avoid the stats code + being linked in even when no stats functions were called + (only matters if MALLOC_DEBUG is defined) + o malloc now keeps track of the address of the top of the heap + and will return large chunks to the system with calls to + sbrk with a negative argument when freeing the top chunk. + Two thresholds: LESSCORE_FRC means to unconditionally return + memory to the system; LESSCORE_MIN means to return memory if + there's at least one block already on the free list + + lib/malloc/mstats.h + - stats struct now keeps track of number of block coalesces by bin, + and the number of times memory was returned to the system by bin + + lib/malloc/stats.c + - trace_malloc_stats now takes a second argument: the name of the file + to write to. The first `%p' in the template file name is replaced + by the pid + + 4/9 + --- + lib/malloc/imalloc.h + - added some macros derived from dlmalloc and glibc malloc to inline + memcpy and memset if the requested size is <= 32 bytes + + lib/malloc/malloc.c + - use MALLOC_MEMSET instead of memset in internal_{malloc,free} + + include/ocache.h + - use OC_MEMSET (variant of MALLOC_MEMSET) in ocache_free + + configure.in, config.h.in + - check for getservent(), define HAVE_GETSERVENT if found + + bashline.c + - punt immediately from bash_servicename_completion_function if + HAVE_GETSERVENT is not defined (cygwin seems to not define it) + - include "input.h" for extern save_token_state() and + restore_token_state() declarations + - change bash_execute_unix_command to call parse_and_execute with + SEVAL_NOHIST flag so the command doesn't get saved on the history + list + - change bash_execute_unix_command to save and restore the current + command line count and the token state (last_read_token, etc.). + Everything else is saved by either parse_and_execute directly or + the call it makes to push_stream(). The shell_input_line stuff + doesn't need to be saved and restored; it's not computed until + readline() returns + + 4/10 + ---- + lib/glob/glob.[ch] + - glob_filename and glob_vector now take an additional `flags' arg + - define GX_MARKDIRS as possible flag value for glob_filename and + glob_vector + + lib/sh/snprintf.c + - fixed some bugs with handling of `g' and `G' formats + - make sure numtoa returns the fractional part correctly when passed 0 + - implemented thousands grouping for `'' flag character + + lib/sh/rename.c + - a few changes to make it more bulletproof + + 4/11 + ---- + lib/glob/glob.c + - added the couple of dozen lines of code to glob_dir_to_array to + finish implementing GX_MARKDIRS + + builtins/set.def + - changed unset builtin so that it no longer considers unsetting an + unset variable or function to be an error + + lib/readline/display.c + - fix to rl_redisplay for a problem which caused display to be messed + up when the last line of a multi-line prompt (possibly containing + invisible characters) was longer than the screen width + + 4/15 + ---- + aclocal.m4 + - use AC_DEFINE_UNQUOTED in BASH_SYS_DEFAULT_MAIL_DIR instead of + enumerating all of the possible values and using AC_DEFINE + + 4/16 + ---- + Makefile.in, {builtins,support}/Makefile.in + - new variables, CFLAGS_FOR_BUILD and CPPFLAGS_FOR_BUILD, substituted + by `configure' + - changed CCFLAGS_FOR_BUILD to BASE_CCFLAGS, removing $(CPPFLAGS); + CCFLAGS and CCFLAGS_FOR_BUILD now include $(BASE_CCFLAGS) with + (possibly) different values for CPPFLAGS and CFLAGS + - GCC_LINT_CFLAGS now includes $(BASE_CCFLAGS) and $(CPPFLAGS) + instead of CCFLAGS_FOR_BUILD + - new variable, LDFLAGS_FOR_BUILD, right now equivalent to LDFLAGS + - remove $(CPPFLAGS) from recipes for buildversion, mksignames, and + mksyntax + + configure.in + - compute and substitute CFLAGS_FOR_BUILD, CPPFLAGS_FOR_BUILD, and + LDFLAGS_FOR_BUILD + - changed qnx to use LOCAL_LDFLAGS and LOCAL_LIBS instead of putting + everything in LOCAL_LDFLAGS + + builtins/Makefile.in + - remove $(PROFILE_FLAGS) from recipe for building `mkbuiltins' + - use LDFLAGS_FOR_BUILD instead of LDFLAGS in recipe for building + `mkbuiltins' + + Makefile.in + - use $(CC_FOR_BUILD) and $(CCFLAGS_FOR_BUILD) to build auxiliary + test programs (printenv, recho, zecho) + + support/Makefile.in + - use CC_FOR_BUILD and CCFLAGS_FOR_BUILD in recipe for building + `man2html' + + lib/tilde/Makefile.in + - substitute PROFILE_FLAGS, use PROFILE_FLAGS in $(CCFLAGS) + + 4/25 + ---- + Makefile.in, configure.in + - moved RELSTATUS to configure.in; configure substitutes it into + the generated Makefile + + lib/sh/snprintf.c + - fix wchars() to deal with systems where MB_CUR_MAX is not a + constant expression + + 5/2 + --- + lib/sh/shquote.c + - add `,' to list of chars that are backslash-quoted. It doesn't + hurt normal usage and prevents filenames with commas from being + inappropriately split by brace expansion after using + complete-into-braces + + 5/6 + --- + lib/sh/xstrchr.c + - we only need the check of MB_CUR_MAX and the slow code for a + few encodings, and even then only for a subset of the charset + + arrayfunc.c + - some speedups for skipsubscript and multibyte chars from Bruno Haible + + locale.c + - changed set_lang to call setlocale(LC_ALL, ...) if LC_ALL doesn't + already have a value, but doesn't change any shell variables + + include/shmbutil.h + - major speedups from Bruno Haible, mostly concerned with reducing + the number of strlen(3) calls + + subst.c + - change callers of macros in shmbutil.h to add extra argument as + necessary + - skip_single_quoted and skip_double_quoted take another argument: + the length of the string; mostly useful when using multibyte chars + - many speedups from precomputing string lengths at function start + - fixed a small bug in de_backslash in the midst of rewriting for + better efficiency + + {braces,make_cmd,pathexp}.c + - change callers of macros in shmbutil.h to add extra argument as + necessary + + pathexp.c + - fix a one-too-far problem with multibyte chars in + unquoted_glob_pattern_p + + braces.c + - brace_gobbler takes a new argument, the length of the passed string + - expand_amble takes a new argument, the length of the passed string + + 5/7 + --- + subst.c + - modified remove_quoted_nulls to eliminate the memory allocation and + do the copy in place using the same strategy as de_backslash + + lib/readline/{rldefs.h,complete.c} + - new define RL_QF_OTHER_QUOTE, so _rl_find_completion_word can note + that it found a quoting character other than \'" that appears in + rl_completer_quote_characters + + 5/9 + --- + jobs.c + - save and restore old value of jobs_list_frozen when calling trap + handlers from set_job_status_and_cleanup to avoid seg faults when + running recursive trap handlers + + 5/10 + ---- + builtins/common.h + - new #defines to use for value of changed_dollar_vars (provides + information about the caller who wants to blow away the old dollar + variables) + + builtins/common.c + - changed set_dollar_vars_changed to set changed_dollar_vars to one + of the ARGS_* values depending on the caller and environment + + builtins/source.def + - source restores the positional parameters unless the `set' builtin + was called to specify a new set while not executing a shell function + + 5/13 + ---- + POSIX + - new file, was in CWRU/POSIX.NOTES + + doc/{Makefile.in,Makefile} + - changed `posix' rule to modify ../POSIX + + doc/mkposix + - write to `POSIX' by default + + lib/sh/strtrans.c + - when ansicstr is parsing a format string for `echo -e' (or the + equivalent xpg_echo option is enabled), obey the POSIX-2001/SUSv3 + standard and accept 0-3 octal digits after a leading `0' + + doc/{bash.1,bashref.texi} + - updated `echo' description to note that up to three octal digits + are now accepted following `\0' + + 5/16 + ---- + doc/Makefile.in + - remove the generated documentation on `make distclean' if the + build directory and source directory are not the same + + Makefile.in + - descend into `support' subdirectory on a `make clean' and + `make distclean' + - remove parser-built, y.tab[ch] on a `make distclean' if the build + directory and source directory are not the same + + support/Makefile.in + - support various `clean' targets and remove man2html.o and man2html + + {configure,Makefile}.in + - move values for DEBUG and MALLOC_DEBUG into configure.in; on by + default for development versions; off by default for releases + (off for profiling, too) + + 5/21 + ---- + parse.y + - modified the grammar to allow a simple_list followed by yacc_EOF + to terminate a command. This fixes problems with things like + a backslash-newline at the end of an `eval'd string + - change handle_eof_input_unit() to reset the token state before + calling prompt_again(), in case the prompt to be evaluated contains + a command substitution + + 5/23 + ---- + lib/readline/vi_mode.c + - fix `r' command (rl_vi_change_char) when HANDLE_MULTIBYTE is defined + but MB_CUR_MAX == 1 + + 5/24 + ---- + lib/malloc/watch.c + - don't try to print `file' argument to _watch_warn if it's null + + lib/malloc/malloc.c + - changed guard checking code in internal_{malloc,free,realloc} to + access memory as (char *) and copy into a union instead of + casting and dereferencing a pointer to u_bits32_t, since that + results in unaligned accesses which will cause Sparcs to upchuck + + 5/30 + ---- + [bash-2.05b-beta1 released] + + lib/readline/text.c + - fixed a problem with rl_transpose_chars on systems supporting + multibyte characters with a locale that doesn't have any multibyte + chars + + 6/4 + --- + expr.c + - fix a/=0 and a%=0 to throw evaluation errors rather than core dumps + + lib/readline/display.c + - fix core dump when line wrapping a multibyte character (line + accidentally dropped from the original patch) + + lib/readline/mbutil.c + - fix reversed return value from _rl_is_mbchar_matched; fixes problem + with backward-char-search + + 6/10 + ---- + lib/sh/getenv.c + - fix getenv to not free value returned by find_tempenv_variable + - add setenv, putenv, unsetenv for completeness + + 6/12 + ---- + shell.c + - change init_noninteractive to init expand_aliases to the value of + posixly_correct + - don't initialize expand_aliases to posixly_correct anywhere else. + This allows the -O expand_aliases invocation option to work correctly + + general.c + - fix move_to_high_fd to not try the dup2 unless the fd loop results + in an fd > 3; just return the passed file descriptor otherwise + - use HIGH_FD_MAX, defined in general.h, instead of hard-coded 256 + as highest file descriptor to try + + subst.c + - in process_substitute, call move_to_high_fd with `maxfd' parameter + of -1 instead of 64, so move_to_high_fd will use its maximum + + 6/21 + ---- + lib/malloc/malloc.c + - don't bother calling MALLOC_MEMSET if the requested size is 0 + + builtins/setattr.def + - note in short doc that export and readonly can take assignment + statements as arguments + + error.c + - new function, error_prolog(), to capture common error message + prefix code (except for parser errors) + + 6/25 + ---- + aclocal.m4 + - add tests for standard-conforming declarations for putenv and + unsetenv in system header files + + {configure,config.h}.in + - call BASH_FUNC_STD_PUTENV and BASH_FUNC_STD_UNSETENV, define + HAVE_STD_GETENV and HAVE_STD_UNSETENV, respectively, if they + succeed + + lib/sh/getenv.c + - change putenv and unsetenv to take differing prototypes in + stdlib.h into account + + 6/27 + ---- + [bash-2.05b-beta2 released] + + 6/28 + ---- + builtins/common.c + - fix get_job_spec so that %N works when N is the size of the jobs + list (%8 means job 8, but the 7th member of the jobs array, so + it's OK if N == job_slots because the function returns N-1) + + 7/1 + --- + shell.c + - turn off line editing if $EMACS is set to `t' + + 7/10 + ---- + builtins/set.def + - remove mention of `-i' from long help doc, since it has no effect diff -Nrc2 bash-2.05a/CWRU/misc/bison bash-2.05b/CWRU/misc/bison *** bash-2.05a/CWRU/misc/bison Fri Mar 19 20:32:25 1993 --- bash-2.05b/CWRU/misc/bison Wed Apr 17 13:37:56 2002 *************** *** 1,3 **** --- 1,22 ---- #! /bin/sh + # + # bison -- just call yacc + # + + # Copyright (C) 1996-2002 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) + # 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 USA. if [ "$1" = '-y' ]; then diff -Nrc2 bash-2.05a/CWRU/misc/errlist.c bash-2.05b/CWRU/misc/errlist.c *** bash-2.05a/CWRU/misc/errlist.c Mon Aug 24 12:32:48 1998 --- bash-2.05b/CWRU/misc/errlist.c Wed Apr 17 13:38:15 2002 *************** *** 3,6 **** --- 3,24 ---- */ + /* Copyright (C) 1998-2002 Free Software Foundation, Inc. + + This file is part of GNU Bash, the Bourne Again SHell. + + 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 2, or (at your option) any later + version. + + Bash 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 Bash; see the file COPYING. If not, write to the Free Software + Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA. */ + #include #include diff -Nrc2 bash-2.05a/CWRU/misc/hpux10-dlfcn.h bash-2.05b/CWRU/misc/hpux10-dlfcn.h *** bash-2.05a/CWRU/misc/hpux10-dlfcn.h Tue Jan 5 13:59:20 1999 --- bash-2.05b/CWRU/misc/hpux10-dlfcn.h Wed Apr 17 13:38:47 2002 *************** *** 18,21 **** --- 18,39 ---- */ + /* Copyright (C) 1998-2002 Free Software Foundation, Inc. + + This file is part of GNU Bash, the Bourne Again SHell. + + 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 2, or (at your option) any later + version. + + Bash 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 Bash; see the file COPYING. If not, write to the Free Software + Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA. */ + #if !defined (__HPUX10_DLFCN_H__) diff -Nrc2 bash-2.05a/CWRU/misc/open-files.c bash-2.05b/CWRU/misc/open-files.c *** bash-2.05a/CWRU/misc/open-files.c Wed Nov 7 16:45:22 1990 --- bash-2.05b/CWRU/misc/open-files.c Wed Apr 17 13:39:31 2002 *************** *** 1,2 **** --- 1,22 ---- + /* open-files -- report files a process has open */ + + /* Copyright (C) 1989-2002 Free Software Foundation, Inc. + + This file is part of GNU Bash, the Bourne Again SHell. + + 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 2, or (at your option) any later + version. + + Bash 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 Bash; see the file COPYING. If not, write to the Free Software + Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA. */ + #include #include *************** *** 14,16 **** exit(0); } - --- 34,35 ---- diff -Nrc2 bash-2.05a/CWRU/misc/pid.c bash-2.05b/CWRU/misc/pid.c *** bash-2.05a/CWRU/misc/pid.c Thu Jun 25 10:15:00 1992 --- bash-2.05b/CWRU/misc/pid.c Wed Dec 31 19:00:00 1969 *************** *** 1,7 **** - #include - - main() - { - fprintf(stderr, "%d\n", getpid()); - exit(0); - } --- 0 ---- diff -Nrc2 bash-2.05a/CWRU/misc/sigs.c bash-2.05b/CWRU/misc/sigs.c *** bash-2.05a/CWRU/misc/sigs.c Sat May 18 20:13:48 1991 --- bash-2.05b/CWRU/misc/sigs.c Wed Apr 17 13:40:41 2002 *************** *** 1,2 **** --- 1,22 ---- + /* sigs - print signal dispositions for a process */ + + /* Copyright (C) 1990-2002 Free Software Foundation, Inc. + + This file is part of GNU Bash, the Bourne Again SHell. + + 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 2, or (at your option) any later + version. + + Bash 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 Bash; see the file COPYING. If not, write to the Free Software + Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA. */ + #include #include diff -Nrc2 bash-2.05a/CWRU/misc/sigstat.c bash-2.05b/CWRU/misc/sigstat.c *** bash-2.05a/CWRU/misc/sigstat.c Tue Feb 25 14:52:08 1992 --- bash-2.05b/CWRU/misc/sigstat.c Wed Apr 17 13:41:40 2002 *************** *** 2,6 **** --- 2,26 ---- * sigstat - print out useful information about signal arguments * + * Chet Ramey + * chet@po.cwru.edu */ + + /* Copyright (C) 1991-2002 Free Software Foundation, Inc. + + This file is part of GNU Bash, the Bourne Again SHell. + + 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 2, or (at your option) any later + version. + + Bash 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 Bash; see the file COPYING. If not, write to the Free Software + Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA. */ #include diff -Nrc2 bash-2.05a/INSTALL bash-2.05b/INSTALL *** bash-2.05a/INSTALL Thu Oct 11 08:34:09 2001 --- bash-2.05b/INSTALL Wed Jun 26 17:09:18 2002 *************** *** 211,215 **** Define this to make Bash link with a locally-installed version of Readline rather than the version in `lib/readline'. This works ! only with Readline 4.2 and later versions. If PREFIX is `yes' or not supplied, `configure' uses the values of the make variables `includedir' and `libdir', which are subdirectories of `prefix' by --- 211,215 ---- Define this to make Bash link with a locally-installed version of Readline rather than the version in `lib/readline'. This works ! only with Readline 4.3 and later versions. If PREFIX is `yes' or not supplied, `configure' uses the values of the make variables `includedir' and `libdir', which are subdirectories of `prefix' by *************** *** 237,241 **** (http://www.sas.com/standards/large_file/x_open.20Mar96.html) if the operating system requires special compiler options to build ! programs which can access large files. `--enable-profiling' --- 237,242 ---- (http://www.sas.com/standards/large_file/x_open.20Mar96.html) if the operating system requires special compiler options to build ! programs which can access large files. This is enabled by ! default, if the operating system provides large file support. `--enable-profiling' diff -Nrc2 bash-2.05a/MANIFEST bash-2.05b/MANIFEST *** bash-2.05a/MANIFEST Thu Oct 18 16:15:35 2001 --- bash-2.05b/MANIFEST Mon May 13 13:09:00 2002 *************** *** 12,15 **** --- 12,16 ---- examples d examples/bashdb d + examples/obashdb d examples/complete d examples/functions d *************** *** 45,49 **** --- 46,52 ---- NEWS f NOTES f + POSIX f README f + RBASH f AUTHORS f Y2K f *************** *** 207,210 **** --- 210,214 ---- include/maxpath.h f include/memalloc.h f + include/ocache.h f include/posixdir.h f include/posixjmp.h f *************** *** 212,215 **** --- 216,220 ---- include/posixtime.h f include/posixwait.h f + include/shmbutil.h f include/shtty.h f include/stdc.h f *************** *** 218,225 **** --- 223,234 ---- include/unionwait.h f lib/glob/Makefile.in f + lib/glob/sm_loop.c f + lib/glob/smatch.c f lib/glob/strmatch.c f lib/glob/strmatch.h f lib/glob/glob.c f lib/glob/glob.h f + lib/glob/glob_loop.c f + lib/glob/xmbsrtowcs.c f lib/glob/collsyms.h f lib/glob/doc/Makefile f *************** *** 232,235 **** --- 241,245 ---- lib/malloc/shmalloc.h f lib/malloc/table.h f + lib/malloc/watch.h f lib/malloc/alloca.c f lib/malloc/malloc.c f *************** *** 237,240 **** --- 247,251 ---- lib/malloc/table.c f lib/malloc/trace.c f + lib/malloc/watch.c f lib/malloc/xmalloc.c f lib/malloc/xleaktrace f 755 *************** *** 270,277 **** --- 281,291 ---- lib/readline/signals.c f lib/readline/kill.c f + lib/readline/text.c f lib/readline/undo.c f lib/readline/macro.c f lib/readline/input.c f lib/readline/callback.c f + lib/readline/mbutil.c f + lib/readline/misc.c f lib/readline/nls.c f lib/readline/shell.c f *************** *** 281,284 **** --- 295,299 ---- lib/readline/rldefs.h f lib/readline/rlconf.h f + lib/readline/rlmbutil.h f lib/readline/rlshell.h f lib/readline/rltty.h f *************** *** 314,317 **** --- 329,333 ---- lib/readline/examples/rltest.c f lib/readline/examples/rl.c f + lib/readline/examples/rlcat.c f lib/readline/examples/Inputrc f lib/sh/Makefile.in f *************** *** 320,323 **** --- 336,340 ---- lib/sh/fmtullong.c f lib/sh/fmtulong.c f + lib/sh/fmtumax.c f lib/sh/getcwd.c f lib/sh/getenv.c f *************** *** 326,329 **** --- 343,349 ---- lib/sh/mailstat.c f lib/sh/makepath.c f + lib/sh/memset.c f + lib/sh/mktime.c f + lib/sh/netconn.c f lib/sh/netopen.c f lib/sh/oslib.c f *************** *** 338,341 **** --- 358,362 ---- lib/sh/strcasecmp.c f lib/sh/strerror.c f + lib/sh/strftime.c f lib/sh/strindex.c f lib/sh/stringlist.c f *************** *** 354,357 **** --- 375,380 ---- lib/sh/tmpfile.c f lib/sh/vprint.c f + lib/sh/xstrchr.c f + lib/sh/zcatfd.c f lib/sh/zread.c f lib/sh/zwrite.c f *************** *** 386,390 **** CWRU/misc/open-files.c f CWRU/misc/sigs.c f - CWRU/misc/pid.c f CWRU/misc/sigstat.c f CWRU/misc/bison f --- 409,412 ---- *************** *** 393,397 **** CWRU/PLATFORMS f CWRU/README f - CWRU/POSIX.NOTES f CWRU/changelog f CWRU/sh-redir-hack f --- 415,418 ---- *************** *** 436,443 **** support/rlvers.sh f 755 examples/bashdb/PERMISSION f ! examples/bashdb/README f ! examples/bashdb/bashdb f ! examples/bashdb/bashdb.fns f ! examples/bashdb/bashdb.pre f examples/complete/complete-examples f examples/complete/complete.ianmac f --- 457,467 ---- support/rlvers.sh f 755 examples/bashdb/PERMISSION f ! examples/bashdb/bashdb f ! examples/bashdb/bashdb.el f ! examples/obashdb/PERMISSION f ! examples/obashdb/README f ! examples/obashdb/bashdb f ! examples/obashdb/bashdb.fns f ! examples/obashdb/bashdb.pre f examples/complete/complete-examples f examples/complete/complete.ianmac f *************** *** 505,508 **** --- 529,533 ---- examples/functions/isnum.bash f examples/functions/isnum2 f + examples/functions/isvalidip f examples/functions/jdate.bash f examples/functions/jj.bash f *************** *** 548,551 **** --- 573,577 ---- examples/scripts/scrollbar f examples/scripts/scrollbar2 f + examples/scripts/self-repro f examples/scripts/showperm.bash f examples/scripts/shprompt f *************** *** 640,643 **** --- 666,671 ---- tests/heredoc.tests f tests/heredoc.right f + tests/herestr.tests f + tests/herestr.right f tests/histexp.tests f tests/histexp.right f *************** *** 645,654 **** tests/history.right f tests/history.list f ! tests/ifs-1.test f ! tests/ifs-2.test f ! tests/ifs-3.test f ! tests/ifs-1.right f ! tests/ifs-2.right f ! tests/ifs-3.right f tests/input-line.sh f tests/input-line.sub f --- 673,678 ---- tests/history.right f tests/history.list f ! tests/ifs.tests f ! tests/ifs.right f tests/input-line.sh f tests/input-line.sub f *************** *** 670,673 **** --- 694,703 ---- tests/nquote.tests f tests/nquote.right f + tests/nquote1.tests f + tests/nquote1.right f + tests/nquote2.tests f + tests/nquote2.right f + tests/nquote3.tests f + tests/nquote3.right f tests/posix2.tests f tests/posix2.right f *************** *** 685,688 **** --- 715,719 ---- tests/read2.sub f tests/read3.sub f + tests/read4.sub f tests/redir.tests f tests/redir.right f *************** *** 694,697 **** --- 725,729 ---- tests/redir4.sub f tests/redir4.in1 f + tests/redir5.sub f tests/rhs-exp.tests f tests/rhs-exp.right f *************** *** 719,725 **** tests/run-glob-test f tests/run-heredoc f tests/run-histexpand f tests/run-history f ! tests/run-ifs-tests f tests/run-input-test f tests/run-invert f --- 751,758 ---- tests/run-glob-test f tests/run-heredoc f + tests/run-herestr f tests/run-histexpand f tests/run-history f ! tests/run-ifs f tests/run-input-test f tests/run-invert f *************** *** 728,731 **** --- 761,767 ---- tests/run-new-exp f tests/run-nquote f + tests/run-nquote1 f + tests/run-nquote2 f + tests/run-nquote3 f tests/run-posix2 f tests/run-posixpat f *************** *** 765,768 **** --- 801,805 ---- tests/varenv.sh f tests/varenv1.sub f + tests/varenv2.sub f tests/version f tests/version.mini f *************** *** 795,798 **** --- 832,836 ---- examples/scripts.v2/pages f examples/scripts.v2/pf f + examples/scripts.v2/ren f examples/scripts.v2/rename f examples/scripts.v2/repeat f diff -Nrc2 bash-2.05a/Makefile.in bash-2.05b/Makefile.in *** bash-2.05a/Makefile.in Mon Nov 12 11:42:45 2001 --- bash-2.05b/Makefile.in Fri May 31 13:44:23 2002 *************** *** 1,5 **** ! # Makefile for bash-2.05a, version 2.128 # ! # Copyright (C) 1996 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify --- 1,5 ---- ! # Makefile for bash-2.05b, version 2.142 # ! # Copyright (C) 1996-2002 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify *************** *** 28,31 **** --- 28,32 ---- infodir = @infodir@ includedir = @includedir@ + datadir = @datadir@ mandir = @mandir@ *************** *** 60,63 **** --- 61,65 ---- INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ + INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_DATA = @INSTALL_DATA@ INSTALLMODE= -m 0755 *************** *** 87,91 **** Version = @BASHVERS@ PatchLevel = `$(BUILD_DIR)/$(VERSPROG) -p` ! RELSTATUS = release Machine = @host_cpu@ --- 89,93 ---- Version = @BASHVERS@ PatchLevel = `$(BUILD_DIR)/$(VERSPROG) -p` ! RELSTATUS = @RELSTATUS@ Machine = @host_cpu@ *************** *** 95,100 **** # comment out for release ! #DEBUG = -DDEBUG ! #MALLOC_DEBUG = -DMALLOC_DEBUG THIS_SH = $(BUILD_DIR)/$(Program) --- 97,102 ---- # comment out for release ! DEBUG = @DEBUG@ ! MALLOC_DEBUG = @MALLOC_DEBUG@ THIS_SH = $(BUILD_DIR)/$(Program) *************** *** 104,118 **** PROFILE_FLAGS= @PROFILE_FLAGS@ - # The GNU coding standards don't recognize the possibility that - # other information besides optimization and debugging might be - # passed to cc. A different name should have been used. CFLAGS = @CFLAGS@ CPPFLAGS = @CPPFLAGS@ LOCAL_CFLAGS = @LOCAL_CFLAGS@ ${DEBUG} DEFS = @DEFS@ LOCAL_DEFS = @LOCAL_DEFS@ LOCAL_LIBS = @LOCAL_LIBS@ LIBS = $(BUILTINS_LIB) $(LIBRARIES) @LIBS@ - LDFLAGS = @LDFLAGS@ $(STATIC_LD) $(LOCAL_LDFLAGS) $(PROFILE_FLAGS) $(CFLAGS) STATIC_LD = @STATIC_LD@ LOCAL_LDFLAGS = @LOCAL_LDFLAGS@ --- 106,119 ---- PROFILE_FLAGS= @PROFILE_FLAGS@ CFLAGS = @CFLAGS@ + CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@ CPPFLAGS = @CPPFLAGS@ + CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ LOCAL_CFLAGS = @LOCAL_CFLAGS@ ${DEBUG} DEFS = @DEFS@ LOCAL_DEFS = @LOCAL_DEFS@ + LOCAL_LIBS = @LOCAL_LIBS@ LIBS = $(BUILTINS_LIB) $(LIBRARIES) @LIBS@ STATIC_LD = @STATIC_LD@ LOCAL_LDFLAGS = @LOCAL_LDFLAGS@ *************** *** 120,127 **** SYSTEM_FLAGS = -DPROGRAM='"$(Program)"' -DCONF_HOSTTYPE='"$(Machine)"' -DCONF_OSTYPE='"$(OS)"' -DCONF_MACHTYPE='"$(MACHTYPE)"' -DCONF_VENDOR='"$(VENDOR)"' ! CCFLAGS_FOR_BUILD = $(PROFILE_FLAGS) $(SYSTEM_FLAGS) $(LOCAL_DEFS) \ ! $(DEFS) $(LOCAL_CFLAGS) $(CPPFLAGS) $(INCLUDES) ! CCFLAGS = $(CCFLAGS_FOR_BUILD) $(CFLAGS) INCLUDES = -I. @RL_INCLUDE@ -I$(srcdir) -I$(BASHINCDIR) -I$(LIBSRC) --- 121,133 ---- SYSTEM_FLAGS = -DPROGRAM='"$(Program)"' -DCONF_HOSTTYPE='"$(Machine)"' -DCONF_OSTYPE='"$(OS)"' -DCONF_MACHTYPE='"$(MACHTYPE)"' -DCONF_VENDOR='"$(VENDOR)"' ! BASE_CCFLAGS = $(PROFILE_FLAGS) $(SYSTEM_FLAGS) $(LOCAL_DEFS) \ ! $(DEFS) $(LOCAL_CFLAGS) $(INCLUDES) ! ! CCFLAGS = $(BASE_CCFLAGS) $(CPPFLAGS) $(CFLAGS) ! CCFLAGS_FOR_BUILD = $(BASE_CCFLAGS) $(CPPFLAGS_FOR_BUILD) $(CFLAGS_FOR_BUILD) ! ! LDFLAGS = @LDFLAGS@ $(STATIC_LD) $(LOCAL_LDFLAGS) $(PROFILE_FLAGS) $(CFLAGS) ! LDFLAGS_FOR_BUILD = $(LDFLAGS) INCLUDES = -I. @RL_INCLUDE@ -I$(srcdir) -I$(BASHINCDIR) -I$(LIBSRC) *************** *** 131,135 **** -Wmissing-prototypes -Wtraditional -Wredundant-decls -pedantic ! GCC_LINT_CFLAGS = $(CCFLAGS_FOR_BUILD) $(GCC_LINT_FLAGS) # --- 137,141 ---- -Wmissing-prototypes -Wtraditional -Wredundant-decls -pedantic ! GCC_LINT_CFLAGS = $(BASE_CCFLAGS) $(CPPFLAGS) $(GCC_LINT_FLAGS) # *************** *** 151,174 **** SH_ABSSRC = ${topdir}/${SH_LIBSRC} ! SHLIB_SOURCE = ${SH_LIBSRC}/clktck.c ${SH_LIBSRC}/getcwd.c \ ! ${SH_LIBSRC}/getenv.c ${SH_LIBSRC}/oslib.c \ ! ${SH_LIBSRC}/setlinebuf.c \ ! ${SH_LIBSRC}/strcasecmp.c ${SH_LIBSRC}/strerror.c \ ! ${SH_LIBSRC}/strtod.c ${SH_LIBSRC}/strtol.c \ ! ${SH_LIBSRC}/strtoul.c ${SH_LIBSRC}/vprint.c \ ! ${SH_LIBSRC}/itos.c ${SH_LIBSRC}/rename.c \ ! ${SH_LIBSRC}/zread.c ${SH_LIBSRC}/zwrite.c \ ! ${SH_LIBSRC}/shtty.c ${SH_LIBSRC}/inet_aton.c \ ! ${SH_LIBSRC}/netopen.c ${SH_LIBSRC}/strpbrk.c \ ! ${SH_LIBSRC}/timeval.c ${SH_LIBSRC}/clock.c \ ! ${SH_LIBSRC}/makepath.c ${SH_LIBSRC}/pathcanon.c \ ! ${SH_LIBSRC}/pathphys.c ${SH_LIBSRC}/stringlist.c \ ! ${SH_LIBSRC}/stringvec.c ${SH_LIBSRC}/tmpfile.c \ ! ${SH_LIBSRC}/spell.c ${SH_LIBSRC}/strtrans.c \ ! ${SH_LIBSRC}/strindex.c ${SH_LIBSRC}/shquote.c \ ! ${SH_LIBSRC}/snprintf.c ${SH_LIBSRC}/mailstat.c \ ! ${SH_LIBSRC}/fmtulong.c ${SH_LIBSRC}/fmtullong.c \ ! ${SH_LIBSRC}/strtoll.c ${SH_LIBSRC}/strtoull.c \ ! ${SH_LIBSRC}/strtoimax.c ${SH_LIBSRC}/strtoumax.c SHLIB_LIB = -lsh --- 157,184 ---- SH_ABSSRC = ${topdir}/${SH_LIBSRC} ! SHLIB_SOURCE = ${SH_LIBSRC}/clktck.c ${SH_LIBSRC}/getcwd.c \ ! ${SH_LIBSRC}/getenv.c ${SH_LIBSRC}/oslib.c \ ! ${SH_LIBSRC}/setlinebuf.c \ ! ${SH_LIBSRC}/strcasecmp.c ${SH_LIBSRC}/strerror.c \ ! ${SH_LIBSRC}/strtod.c ${SH_LIBSRC}/strtol.c \ ! ${SH_LIBSRC}/strtoul.c ${SH_LIBSRC}/vprint.c \ ! ${SH_LIBSRC}/itos.c ${SH_LIBSRC}/rename.c \ ! ${SH_LIBSRC}/zread.c ${SH_LIBSRC}/zwrite.c \ ! ${SH_LIBSRC}/shtty.c ${SH_LIBSRC}/inet_aton.c \ ! ${SH_LIBSRC}/netopen.c ${SH_LIBSRC}/strpbrk.c \ ! ${SH_LIBSRC}/timeval.c ${SH_LIBSRC}/clock.c \ ! ${SH_LIBSRC}/makepath.c ${SH_LIBSRC}/pathcanon.c \ ! ${SH_LIBSRC}/pathphys.c ${SH_LIBSRC}/stringlist.c \ ! ${SH_LIBSRC}/stringvec.c ${SH_LIBSRC}/tmpfile.c \ ! ${SH_LIBSRC}/spell.c ${SH_LIBSRC}/strtrans.c \ ! ${SH_LIBSRC}/strindex.c ${SH_LIBSRC}/shquote.c \ ! ${SH_LIBSRC}/snprintf.c ${SH_LIBSRC}/mailstat.c \ ! ${SH_LIBSRC}/fmtulong.c ${SH_LIBSRC}/fmtullong.c \ ! ${SH_LIBSRC}/strtoll.c ${SH_LIBSRC}/strtoull.c \ ! ${SH_LIBSRC}/strtoimax.c ${SH_LIBSRC}/strtoumax.c \ ! ${SH_LIBSRC}/fmtumax.c ${SH_LIBSRC}/netconn.c \ ! ${SH_LIBSRC}/mktime.c ${SH_LIBSRC}/strftime.c \ ! ${SH_LIBSRC}/memset.c ${SH_LIBSRC}/xstrchr.c \ ! ${SH_LIBSRC}/zcatfd.c SHLIB_LIB = -lsh *************** *** 207,216 **** $(RL_LIBSRC)/bind.c $(RL_LIBSRC)/isearch.c \ $(RL_LIBSRC)/display.c $(RL_LIBSRC)/signals.c \ ! $(RL_LIBSRC)/util.c $(RL_LIBSRC)/kill.c \ $(RL_LIBSRC)/undo.c $(RL_LIBSRC)/macro.c \ $(RL_LIBSRC)/terminal.c $(RL_LIBSRC)/nls.c \ $(RL_LIBSRC)/input.c $(RL_LIBSRC)/xmalloc.c \ $(RL_LIBSRC)/shell.c $(RL_LIBSRC)/savestring.c \ ! $(RL_LIBSRC)/compat.c \ $(RL_LIBSRC)/histexpand.c $(RL_LIBSRC)/history.c \ $(RL_LIBSRC)/histsearch.c $(RL_LIBSRC)/histfile.c --- 217,226 ---- $(RL_LIBSRC)/bind.c $(RL_LIBSRC)/isearch.c \ $(RL_LIBSRC)/display.c $(RL_LIBSRC)/signals.c \ ! $(RL_LIBSRC)/util.c $(RL_LIBSRC)/kill.c $(RL_LIBSRC)/text.c \ $(RL_LIBSRC)/undo.c $(RL_LIBSRC)/macro.c \ $(RL_LIBSRC)/terminal.c $(RL_LIBSRC)/nls.c \ $(RL_LIBSRC)/input.c $(RL_LIBSRC)/xmalloc.c \ $(RL_LIBSRC)/shell.c $(RL_LIBSRC)/savestring.c \ ! $(RL_LIBSRC)/misc.c $(RL_LIBSRC)/compat.c \ $(RL_LIBSRC)/histexpand.c $(RL_LIBSRC)/history.c \ $(RL_LIBSRC)/histsearch.c $(RL_LIBSRC)/histfile.c *************** *** 272,277 **** GLOB_SOURCE = $(GLOB_LIBSRC)/glob.c $(GLOB_LIBSRC)/strmatch.c \ $(GLOB_LIBSRC)/glob.h $(GLOB_LIBSRC)/strmatch.h ! GLOB_OBJ = $(GLOB_LIBDIR)/glob.o $(GLOB_LIBDIR)/strmatch.o # The source, object and documentation for the GNU Tilde library. --- 282,290 ---- GLOB_SOURCE = $(GLOB_LIBSRC)/glob.c $(GLOB_LIBSRC)/strmatch.c \ + $(GLOB_LIBSRC)/smatch.c $(GLOB_LIBSRC)/xmbsrtowcs.c \ + $(GLOB_LIBSRC)/glob_loop.c $(GLOB_LIBSRC)/sm_loop.c \ $(GLOB_LIBSRC)/glob.h $(GLOB_LIBSRC)/strmatch.h ! GLOB_OBJ = $(GLOB_LIBDIR)/glob.o $(GLOB_LIBDIR)/strmatch.o \ ! $(GLOB_LIBDIR)/smatch.o $(GLOB_LIBDIR)/xmbsrtowcs.o # The source, object and documentation for the GNU Tilde library. *************** *** 300,304 **** MALLOC_SRC = @MALLOC_SRC@ MALLOC_OTHERSRC = ${ALLOC_LIBSRC}/trace.c ${ALLOC_LIBSRC}/stats.c \ ! ${ALLOC_LIBSRC}/table.c MALLOC_SOURCE = ${ALLOC_LIBSRC}/${MALLOC_SRC} ${MALLOC_OTHERSRC} MALLOC_CFLAGS = -DRCHECK -Dbotch=programming_error ${MALLOC_DEBUG} --- 313,317 ---- MALLOC_SRC = @MALLOC_SRC@ MALLOC_OTHERSRC = ${ALLOC_LIBSRC}/trace.c ${ALLOC_LIBSRC}/stats.c \ ! ${ALLOC_LIBSRC}/table.c ${ALLOC_LIBSRC}/watch.c MALLOC_SOURCE = ${ALLOC_LIBSRC}/${MALLOC_SRC} ${MALLOC_OTHERSRC} MALLOC_CFLAGS = -DRCHECK -Dbotch=programming_error ${MALLOC_DEBUG} *************** *** 310,314 **** ALLOC_HEADERS = $(ALLOC_LIBSRC)/getpagesize.h $(ALLOC_LIBSRC)/shmalloc.h \ ! $(ALLOC_LIBSRC)/imalloc.h $(ALLOC_LIBSRC)/mstats.h $(MALLOC_LIBRARY): ${MALLOC_SOURCE} ${ALLOC_HEADERS} config.h --- 323,328 ---- ALLOC_HEADERS = $(ALLOC_LIBSRC)/getpagesize.h $(ALLOC_LIBSRC)/shmalloc.h \ ! $(ALLOC_LIBSRC)/imalloc.h $(ALLOC_LIBSRC)/mstats.h \ ! $(ALLOC_LIBSRC)/table.h $(ALLOC_LIBSRC)/watch.h $(MALLOC_LIBRARY): ${MALLOC_SOURCE} ${ALLOC_HEADERS} config.h *************** *** 324,328 **** $(BASHINCDIR)/posixtime.h $(BASHINCDIR)/systimes.h \ $(BASHINCDIR)/unionwait.h $(BASHINCDIR)/maxpath.h \ ! $(BASHINCDIR)/shtty.h $(BASHINCDIR)/typemax.h LIBRARIES = $(SHLIB_LIB) $(READLINE_LIB) $(HISTORY_LIB) $(TERMCAP_LIB) $(GLOB_LIB) \ --- 338,343 ---- $(BASHINCDIR)/posixtime.h $(BASHINCDIR)/systimes.h \ $(BASHINCDIR)/unionwait.h $(BASHINCDIR)/maxpath.h \ ! $(BASHINCDIR)/shtty.h $(BASHINCDIR)/typemax.h \ ! $(BASHINCDIR)/ocache.h LIBRARIES = $(SHLIB_LIB) $(READLINE_LIB) $(HISTORY_LIB) $(TERMCAP_LIB) $(GLOB_LIB) \ *************** *** 437,441 **** tests/recho$(EXEEXT) tests/zecho$(EXEEXT) \ tests/printenv$(EXEEXT) mksignames$(EXEEXT) lsignames.h \ ! mksyntax${EXEEXT} syntax.c $(VERSPROG) $(VERSOBJ) CREATED_CONFIGURE = config.h config.cache config.status config.log \ stamp-h --- 452,457 ---- tests/recho$(EXEEXT) tests/zecho$(EXEEXT) \ tests/printenv$(EXEEXT) mksignames$(EXEEXT) lsignames.h \ ! mksyntax${EXEEXT} syntax.c $(VERSPROG) $(VERSOBJ) \ ! buildversion.o CREATED_CONFIGURE = config.h config.cache config.status config.log \ stamp-h *************** *** 487,492 **** && mv newversion.h version.h ! bashversion$(EXEEXT): patchlevel.h conftypes.h version.h version.o $(SUPPORT_SRC)bashversion.c ! $(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) $(CPPFLAGS) -o $@ $(SUPPORT_SRC)bashversion.c version.o # old rules --- 503,511 ---- && mv newversion.h version.h ! bashversion$(EXEEXT): patchlevel.h conftypes.h version.h buildversion.o $(SUPPORT_SRC)bashversion.c ! $(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) -o $@ $(SUPPORT_SRC)bashversion.c buildversion.o ! ! buildversion.o: version.h conftypes.h patchlevel.h $(srcdir)/version.c ! $(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) -c -o $@ $(srcdir)/version.c # old rules *************** *** 541,548 **** mksignames$(EXEEXT): $(SUPPORT_SRC)mksignames.c ! $(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) $(CPPFLAGS) -o $@ $(SUPPORT_SRC)mksignames.c mksyntax$(EXEEXT): ${srcdir}/mksyntax.c config.h syntax.h ${BASHINCDIR}/chartypes.h ! ${CC_FOR_BUILD} ${CCFLAGS_FOR_BUILD} ${CPPFLAGS} -o $@ ${srcdir}/mksyntax.c # make a list of signals for the local system -- this is done when we're --- 560,567 ---- mksignames$(EXEEXT): $(SUPPORT_SRC)mksignames.c ! $(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) -o $@ $(SUPPORT_SRC)mksignames.c mksyntax$(EXEEXT): ${srcdir}/mksyntax.c config.h syntax.h ${BASHINCDIR}/chartypes.h ! ${CC_FOR_BUILD} ${CCFLAGS_FOR_BUILD} -o $@ ${srcdir}/mksyntax.c # make a list of signals for the local system -- this is done when we're *************** *** 629,637 **** install: .made installdirs $(INSTALL_PROGRAM) $(INSTALLMODE) $(Program) $(DESTDIR)$(bindir)/$(Program) ! $(INSTALL_PROGRAM) $(INSTALLMODE2) bashbug $(DESTDIR)$(bindir)/bashbug -( cd $(DOCDIR) ; $(MAKE) $(MFLAGS) \ man1dir=$(man1dir) man1ext=$(man1ext) \ man3dir=$(man3dir) man3ext=$(man3ext) \ infodir=$(infodir) htmldir=$(htmldir) DESTDIR=$(DESTDIR) $@ ) install-strip: --- 648,657 ---- install: .made installdirs $(INSTALL_PROGRAM) $(INSTALLMODE) $(Program) $(DESTDIR)$(bindir)/$(Program) ! $(INSTALL_SCRIPT) $(INSTALLMODE2) bashbug $(DESTDIR)$(bindir)/bashbug -( cd $(DOCDIR) ; $(MAKE) $(MFLAGS) \ man1dir=$(man1dir) man1ext=$(man1ext) \ man3dir=$(man3dir) man3ext=$(man3ext) \ infodir=$(infodir) htmldir=$(htmldir) DESTDIR=$(DESTDIR) $@ ) + -( cd $(DEFDIR) ; $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) $@ ) install-strip: *************** *** 647,651 **** infodir=$(infodir) htmldir=$(htmldir) DESTDIR=$(DESTDIR) $@ ) ! .PHONY: basic-clean clean realclean maintainer-clean distclean mostlyclean basic-clean: $(RM) $(OBJECTS) $(Program) bashbug --- 667,672 ---- infodir=$(infodir) htmldir=$(htmldir) DESTDIR=$(DESTDIR) $@ ) ! .PHONY: basic-clean clean realclean maintainer-clean distclean mostlyclean maybe-clean ! basic-clean: $(RM) $(OBJECTS) $(Program) bashbug *************** *** 655,658 **** --- 676,680 ---- ( cd $(DOCDIR) && $(MAKE) $(MFLAGS) $@ ) ( cd builtins && $(MAKE) $(MFLAGS) $@ ) + -( cd $(SDIR) && $(MAKE) $(MFLAGS) $@ ) -(cd $(RL_LIBDIR) && $(MAKE) $(MFLAGS) $@) -(cd $(HIST_LIBDIR) && test -f Makefile && $(MAKE) $(MFLAGS) $@) *************** *** 667,670 **** --- 689,693 ---- ( cd $(DOCDIR) && $(MAKE) $(MFLAGS) $@ ) ( cd builtins && $(MAKE) $(MFLAGS) $@ ) + -( cd $(SDIR) && $(MAKE) $(MFLAGS) $@ ) -(cd $(RL_LIBDIR) && $(MAKE) $(MFLAGS) $@) -(cd $(HIST_LIBDIR) && test -f Makefile && $(MAKE) $(MFLAGS) $@) *************** *** 675,681 **** -(cd $(SH_LIBDIR) && $(MAKE) $(MFLAGS) $@) ! distclean: basic-clean ( cd $(DOCDIR) && $(MAKE) $(MFLAGS) $@ ) ( cd builtins && $(MAKE) $(MFLAGS) $@ ) -(cd $(RL_LIBDIR) && $(MAKE) $(MFLAGS) $@) -(cd $(HIST_LIBDIR) && test -f Makefile && $(MAKE) $(MFLAGS) $@) --- 698,705 ---- -(cd $(SH_LIBDIR) && $(MAKE) $(MFLAGS) $@) ! distclean: basic-clean maybe-clean ( cd $(DOCDIR) && $(MAKE) $(MFLAGS) $@ ) ( cd builtins && $(MAKE) $(MFLAGS) $@ ) + -( cd $(SDIR) && $(MAKE) $(MFLAGS) $@ ) -(cd $(RL_LIBDIR) && $(MAKE) $(MFLAGS) $@) -(cd $(HIST_LIBDIR) && test -f Makefile && $(MAKE) $(MFLAGS) $@) *************** *** 694,697 **** --- 718,722 ---- ( cd $(DOCDIR) && $(MAKE) $(MFLAGS) $@ ) ( cd builtins && $(MAKE) $(MFLAGS) $@ ) + ( cd $(SDIR) && $(MAKE) $(MFLAGS) $@ ) -(cd $(RL_LIBDIR) && $(MAKE) $(MFLAGS) $@) -(cd $(HIST_LIBDIR) && test -f Makefile && $(MAKE) $(MFLAGS) $@) *************** *** 704,715 **** $(RM) $(CREATED_SUPPORT) Makefile recho$(EXEEXT): $(SUPPORT_SRC)recho.c ! @$(CC) $(CCFLAGS) -o $@ $(SUPPORT_SRC)recho.c zecho$(EXEEXT): $(SUPPORT_SRC)zecho.c ! @$(CC) $(CCFLAGS) -o $@ $(SUPPORT_SRC)zecho.c printenv$(EXEEXT): $(SUPPORT_SRC)printenv.c ! @$(CC) $(CCFLAGS) -o $@ $(SUPPORT_SRC)printenv.c test tests check: force $(Program) $(TESTS_SUPPORT) --- 729,745 ---- $(RM) $(CREATED_SUPPORT) Makefile + maybe-clean: + -if test "X$(topdir)" != "X$(BUILD_DIR)" ; then \ + $(RM) parser-built y.tab.c y.tab.h ; \ + fi + recho$(EXEEXT): $(SUPPORT_SRC)recho.c ! @$(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) -o $@ $(SUPPORT_SRC)recho.c zecho$(EXEEXT): $(SUPPORT_SRC)zecho.c ! @$(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) -o $@ $(SUPPORT_SRC)zecho.c printenv$(EXEEXT): $(SUPPORT_SRC)printenv.c ! @$(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) -o $@ $(SUPPORT_SRC)printenv.c test tests check: force $(Program) $(TESTS_SUPPORT) *************** *** 767,770 **** --- 797,801 ---- dispose_cmd.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h dispose_cmd.o: make_cmd.h subst.h sig.h pathnames.h externs.h + dispose_cmd.o: ${BASHINCDIR}/ocache.h error.o: config.h bashtypes.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h flags.h ${BASHINCDIR}/stdc.h error.h error.o: command.h general.h xmalloc.h externs.h input.h bashhist.h *************** *** 811,815 **** hashcmd.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h hashcmd.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashcmd.h ! hashcmd.o: execute_cmd.h findcmd.h ${BASHINCDIR}/stdc.h hashlib.o: config.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h hashlib.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h --- 842,846 ---- hashcmd.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h hashcmd.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashcmd.h ! hashcmd.o: execute_cmd.h findcmd.h ${BASHINCDIR}/stdc.h hashlib.h hashlib.o: config.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h hashlib.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h *************** *** 839,843 **** make_cmd.o: command.h ${BASHINCDIR}/stdc.h general.h xmalloc.h error.h flags.h make_cmd.h make_cmd.o: variables.h arrayfunc.h conftypes.h array.h hashlib.h subst.h input.h externs.h ! make_cmd.o: jobs.h quit.h siglist.h syntax.h y.tab.o: config.h bashtypes.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h ${BASHINCDIR}/memalloc.h y.tab.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h --- 870,875 ---- make_cmd.o: command.h ${BASHINCDIR}/stdc.h general.h xmalloc.h error.h flags.h make_cmd.h make_cmd.o: variables.h arrayfunc.h conftypes.h array.h hashlib.h subst.h input.h externs.h ! make_cmd.o: jobs.h quit.h siglist.h syntax.h dispose_cmd.h ! make_cmd.o: ${BASHINCDIR}/shmbutil.h ${BASHINCDIR}/ocache.h y.tab.o: config.h bashtypes.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h ${BASHINCDIR}/memalloc.h y.tab.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h *************** *** 854,857 **** --- 886,890 ---- pathexp.o: pathexp.h flags.h pathexp.o: $(GLOB_LIBSRC)/glob.h $(GLOB_LIBSRC)/strmatch.h + pathexp.o: ${BASHINCDIR}/shmbutil.h print_cmd.o: config.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h print_cmd.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h *************** *** 895,898 **** --- 928,932 ---- subst.o: bashline.h bashhist.h ${GLOB_LIBSRC}/strmatch.h subst.o: ${BASHINCDIR}/chartypes.h + subst.o: ${BASHINCDIR}/shmbutil.h test.o: bashtypes.h ${BASHINCDIR}/posixstat.h ${BASHINCDIR}/filecntl.h test.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h *************** *** 950,953 **** --- 984,988 ---- arrayfunc.o: make_cmd.h subst.h sig.h pathnames.h externs.h arrayfunc.o: $(DEFSRC)/common.h + arrayfunc.o: ${BASHINCDIR}/shmbutil.h braces.o: config.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h braces.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h *************** *** 955,958 **** --- 990,994 ---- braces.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h braces.o: make_cmd.h subst.h sig.h pathnames.h externs.h + braces.o: ${BASHINCDIR}/shmbutil.h alias.o: config.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h command.h ${BASHINCDIR}/stdc.h alias.o: general.h xmalloc.h bashtypes.h externs.h alias.h *************** *** 989,993 **** bashline.o: builtins.h bashhist.h bashline.h execute_cmd.h findcmd.h pathexp.h bashline.o: $(DEFSRC)/common.h $(GLOB_LIBSRC)/glob.h alias.h ! bashline.o: pcomplete.h ${BASHINCDIR}/chartypes.h bracecomp.o: config.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h bracecomp.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h --- 1025,1029 ---- bashline.o: builtins.h bashhist.h bashline.h execute_cmd.h findcmd.h pathexp.h bashline.o: $(DEFSRC)/common.h $(GLOB_LIBSRC)/glob.h alias.h ! bashline.o: pcomplete.h ${BASHINCDIR}/chartypes.h input.h bracecomp.o: config.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h bracecomp.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h *************** *** 1075,1079 **** builtins/break.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h builtins/builtin.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h ! builtins/builtin.o: quit.h $(DEFSRC)/common.h builtins/builtin.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h builtins/builtin.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h --- 1111,1115 ---- builtins/break.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h builtins/builtin.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h ! builtins/builtin.o: quit.h $(DEFSRC)/common.h $(DEFSRC)/bashgetopt.h builtins/builtin.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h builtins/builtin.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h *************** *** 1089,1092 **** --- 1125,1129 ---- builtins/declare.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h builtins/declare.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h + builtins/declare.o: $(DEFSRC)/bashgetopt.h builtins/echo.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h builtins/echo.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h *************** *** 1115,1119 **** builtins/fc.o: $(DEFSRC)/bashgetopt.h bashhist.h builtins/fc.o: ${BASHINCDIR}/chartypes.h ! builtins/fg_bg.o: bashtypes.h builtins/fg_bg.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h builtins/fg_bg.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h --- 1152,1156 ---- builtins/fc.o: $(DEFSRC)/bashgetopt.h bashhist.h builtins/fc.o: ${BASHINCDIR}/chartypes.h ! builtins/fg_bg.o: bashtypes.h $(DEFSRC)/bashgetopt.h builtins/fg_bg.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h builtins/fg_bg.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h *************** *** 1181,1185 **** builtins/source.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h builtins/source.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h ! builtins/source.o: findcmd.h builtins/suspend.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h builtins/suspend.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h --- 1218,1222 ---- builtins/source.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h builtins/source.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h ! builtins/source.o: findcmd.h $(DEFSRC)/bashgetopt.h builtins/suspend.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h builtins/suspend.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h diff -Nrc2 bash-2.05a/NEWS bash-2.05b/NEWS *** bash-2.05a/NEWS Tue Oct 30 16:02:14 2001 --- bash-2.05b/NEWS Tue Jul 2 14:53:13 2002 *************** *** 1,2 **** --- 1,149 ---- + This is a terse description of the new features added to bash-2.05b since + the release of bash-2.05a. As always, the manual page (doc/bash.1) is + the place to look for complete descriptions. + + 1. New Features in Bash + + a. If set, TMOUT is the default timeout for the `read' builtin. + + b. `type' has two new options: `-f' suppresses shell function lookup, and + `-P' forces a $PATH search. + + c. New code to handle multibyte characters. + + d. `select' was changed to be more ksh-compatible, in that the menu is + reprinted each time through the loop only if REPLY is set to NULL. + The previous behavior is available as a compile-time option. + + e. `complete -d' and `complete -o dirnames' now force a slash to be + appended to names which are symlinks to directories. + + f. There is now a bindable edit-and-execute-command readline command, + like the vi-mode `v' command, bound to C-xC-e in emacs mode. + + g. Added support for ksh93-like [:word:] character class in pattern matching. + + h. The $'...' quoting construct now expands \cX to Control-X. + + i. A new \D{...} prompt expansion; passes the `...' to strftime and inserts + the result into the expanded prompt. + + j. The shell now performs arithmetic in the largest integer size the + machine supports (intmax_t), instead of long. + + k. If a numeric argument is supplied to one of the bash globbing completion + functions, a `*' is appended to the word before expansion is attempted. + + l. The bash globbing completion functions now allow completions to be listed + with double tabs or if `show-all-if-ambiguous' is set. + + m. New `-o nospace' option for `complete' and `compgen' builtins; suppresses + readline's appending a space to the completed word. + + n. New `here-string' redirection operator: <<< word. + + o. When displaying variables, function attributes and definitions are shown + separately, allowing them to be re-used as input (attempting to re-use + the old output would result in syntax errors). + + p. There is a new configuration option `--enable-mem-scramble', controls + bash malloc behavior of writing garbage characters into memory at + allocation and free time. + + q. The `complete' and `compgen' builtins now have a new `-s/-A service' + option to complete on names from /etc/services. + + r. `read' has a new `-u fd' option to read from a specified file descriptor. + + s. Fix the completion code so that expansion errors in a directory name + don't cause a longjmp back to the command loop. + + t. Fixed word completion inside command substitution to work a little more + intuitively. + + u. The `printf' %q format specifier now uses $'...' quoting to print the + argument if it contains non-printing characters. + + v. The `declare' and `typeset' builtins have a new `-t' option. When applied + to functions, it causes the DEBUG trap to be inherited by the named + function. Currently has no effect on variables. + + w. The DEBUG trap is now run *before* simple commands, ((...)) commands, + [[...]] conditional commands, and for ((...)) loops. + + x. The expansion of $LINENO inside a shell function is only relative to the + function start if the shell is interactive -- if the shell is running a + script, $LINENO expands to the line number in the script. This is as + POSIX-2001 requires. + + y. The bash debugger in examples/bashdb has been modified to work with the + new DEBUG trap semantics, the command set has been made more gdb-like, + and the changes to $LINENO make debugging functions work better. Code + from Gary Vaughan. + + z. New [n]<&word- and [n]>&word- redirections from ksh93 -- move fds (dup + and close). + + aa. There is a new `-l' invocation option, equivalent to `--login'. + + bb. The `hash' builtin has a new `-l' option to list contents in a reusable + format, and a `-d' option to remove a name from the hash table. + + cc. There is now support for placing the long help text into separate files + installed into ${datadir}/bash. Not enabled by default; can be turned + on with `--enable-separate-helpfiles' option to configure. + + dd. All builtins that take operands accept a `--' pseudo-option, except + `echo'. + + ee. The `echo' builtin now accepts \0xxx (zero to three octal digits following + the `0') in addition to \xxx (one to three octal digits) for SUSv3/XPG6/ + POSIX.1-2001 compliance. + + + 2. New Features in Readline + + a. Support for key `subsequences': allows, e.g., ESC and ESC-a to both + be bound to readline functions. Now the arrow keys may be used in vi + insert mode. + + b. When listing completions, and the number of lines displayed is more than + the screen length, readline uses an internal pager to display the results. + This is controlled by the `page-completions' variable (default on). + + c. New code to handle editing and displaying multibyte characters. + + d. The behavior introduced in bash-2.05a of deciding whether or not to + append a slash to a completed name that is a symlink to a directory has + been made optional, controlled by the `mark-symlinked-directories' + variable (default is the 2.05a behavior). + + e. The `insert-comment' command now acts as a toggle if given a numeric + argument: if the first characters on the line don't specify a + comment, insert one; if they do, delete the comment text + + f. New application-settable completion variable: + rl_completion_mark_symlink_dirs, allows an application's completion + function to temporarily override the user's preference for appending + slashes to names which are symlinks to directories. + + g. New function available to application completion functions: + rl_completion_mode, to tell how the completion function was invoked + and decide which argument to supply to rl_complete_internal (to list + completions, etc.). + + h. Readline now has an overwrite mode, toggled by the `overwrite-mode' + bindable command, which could be bound to `Insert'. + + i. New application-settable completion variable: + rl_completion_suppress_append, inhibits appending of + rl_completion_append_character to completed words. + + j. New key bindings when reading an incremental search string: ^W yanks + the currently-matched word out of the current line into the search + string; ^Y yanks the rest of the current line into the search string, + DEL or ^H deletes characters from the search string. + + ------------------------------------------------------------------------------- This is a terse description of the new features added to bash-2.05a since the release of bash-2.05. As always, the manual page (doc/bash.1) is diff -Nrc2 bash-2.05a/NOTES bash-2.05b/NOTES *** bash-2.05a/NOTES Tue Nov 13 10:32:22 2001 --- bash-2.05b/NOTES Wed Jun 26 17:36:58 2002 *************** *** 31,39 **** freed memory to find the file descriptor to close - If you are using GNU libc, especially on a linux system - - (Configuring --without-gnu-malloc will still result in lib/malloc/libmalloc.a - being built and linked against, but there is only a stub file in the archive.) - 2. Configure using shlicc2 on BSD/OS 2.1 and BSD/OS 3.x to use loadable builtins --- 31,34 ---- *************** *** 235,239 **** If you want to completely remove any dependence on /usr, perhaps to put a copy of bash in /sbin and have it available when /usr is ! not mounted, force the build process to use the shared ld.so library in /etc/lib. --- 230,234 ---- If you want to completely remove any dependence on /usr, perhaps to put a copy of bash in /sbin and have it available when /usr is ! not mounted, force the build process to use the shared dl.so library in /etc/lib. *************** *** 327,328 **** --- 322,326 ---- 5. make; make install; enjoy + + 15. Configure with `CC=xlc' if you don't have gcc on AIX 4.2 and later + versions. `xlc' running in `cc' mode has trouble compiling error.c. diff -Nrc2 bash-2.05a/POSIX bash-2.05b/POSIX *** bash-2.05a/POSIX Wed Dec 31 19:00:00 1969 --- bash-2.05b/POSIX Wed Jun 26 17:08:57 2002 *************** *** 0 **** --- 1,142 ---- + Bash POSIX Mode + =============== + + Starting Bash with the `--posix' command-line option or executing `set + -o posix' while Bash is running will cause Bash to conform more closely + to the POSIX 1003.2 standard by changing the behavior to match that + specified by POSIX in areas where the Bash default differs. + + When invoked as `sh', Bash enters POSIX mode after reading the startup + files. + + The following list is what's changed when `POSIX mode' is in effect: + + 1. When a command in the hash table no longer exists, Bash will + re-search `$PATH' to find the new location. This is also + available with `shopt -s checkhash'. + + 2. The message printed by the job control code and builtins when a job + exits with a non-zero status is `Done(status)'. + + 3. The message printed by the job control code and builtins when a job + is stopped is `Stopped(SIGNAME)', where SIGNAME is, for example, + `SIGTSTP'. + + 4. Reserved words may not be aliased. + + 5. The POSIX 1003.2 `PS1' and `PS2' expansions of `!' to the history + number and `!!' to `!' are enabled, and parameter expansion is + performed on the values of `PS1' and `PS2' regardless of the + setting of the `promptvars' option. + + 6. Interactive comments are enabled by default. (Bash has them on by + default anyway.) + + 7. The POSIX 1003.2 startup files are executed (`$ENV') rather than + the normal Bash files. + + 8. Tilde expansion is only performed on assignments preceding a + command name, rather than on all assignment statements on the line. + + 9. The default history file is `~/.sh_history' (this is the default + value of `$HISTFILE'). + + 10. The output of `kill -l' prints all the signal names on a single + line, separated by spaces. + + 11. Non-interactive shells exit if FILENAME in `.' FILENAME is not + found. + + 12. Non-interactive shells exit if a syntax error in an arithmetic + expansion results in an invalid expression. + + 13. Redirection operators do not perform filename expansion on the word + in the redirection unless the shell is interactive. + + 14. Redirection operators do not perform word splitting on the word in + the redirection. + + 15. Function names must be valid shell `name's. That is, they may not + contain characters other than letters, digits, and underscores, and + may not start with a digit. Declaring a function with an invalid + name causes a fatal syntax error in non-interactive shells. + + 16. POSIX 1003.2 `special' builtins are found before shell functions + during command lookup. + + 17. If a POSIX 1003.2 special builtin returns an error status, a + non-interactive shell exits. The fatal errors are those listed in + the POSIX.2 standard, and include things like passing incorrect + options, redirection errors, variable assignment errors for + assignments preceding the command name, and so on. + + 18. If the `cd' builtin finds a directory to change to using + `$CDPATH', the value it assigns to the `PWD' variable does not + contain any symbolic links, as if `cd -P' had been executed. + + 19. If `CDPATH' is set, the `cd' builtin will not implicitly append + the current directory to it. This means that `cd' will fail if no + valid directory name can be constructed from any of the entries in + `$CDPATH', even if the a directory with the same name as the name + given as an argument to `cd' exists in the current directory. + + 20. A non-interactive shell exits with an error status if a variable + assignment error occurs when no command name follows the assignment + statements. A variable assignment error occurs, for example, when + trying to assign a value to a readonly variable. + + 21. A non-interactive shell exits with an error status if the iteration + variable in a `for' statement or the selection variable in a + `select' statement is a readonly variable. + + 22. Process substitution is not available. + + 23. Assignment statements preceding POSIX 1003.2 special builtins + persist in the shell environment after the builtin completes. + + 24. Assignment statements preceding shell function calls persist in the + shell environment after the function returns, as if a POSIX + special builtin command had been executed. + + 25. The `export' and `readonly' builtin commands display their output + in the format required by POSIX 1003.2. + + 26. The `trap' builtin displays signal names without the leading `SIG'. + + 27. The `.' and `source' builtins do not search the current directory + for the filename argument if it is not found by searching `PATH'. + + 28. Subshells spawned to execute command substitutions inherit the + value of the `-e' option from the parent shell. When not in POSIX + mode, Bash clears the `-e' option in such subshells. + + 29. Alias expansion is always enabled, even in non-interactive shells. + + 30. When the `set' builtin is invoked without options, it does not + display shell function names and definitions. + + 31. When the `set' builtin is invoked without options, it displays + variable values without quotes, unless they contain shell + metacharacters, even if the result contains nonprinting characters. + + 32. When the `cd' builtin is invoked in LOGICAL mode, and the pathname + constructed from `$PWD' and the directory name supplied as an + argument does not refer to an existing directory, `cd' will fail + instead of falling back to PHYSICAL mode. + + There is other POSIX 1003.2 behavior that Bash does not implement. + Specifically: + + 1. Assignment statements affect the execution environment of all + builtins, not just special ones. + + 2. When a subshell is created to execute a shell script with execute + permission, but without a leading `#!', Bash sets `$0' to the full + pathname of the script as found by searching `$PATH', rather than + the command as typed by the user. + + 3. When using `.' to source a shell script found in `$PATH', bash + checks execute permission bits rather than read permission bits, + just as if it were searching for a command. + + diff -Nrc2 bash-2.05a/RBASH bash-2.05b/RBASH *** bash-2.05a/RBASH Wed Dec 31 19:00:00 1969 --- bash-2.05b/RBASH Wed Dec 19 13:57:39 2001 *************** *** 0 **** --- 1,49 ---- + The Restricted Shell + ==================== + + If Bash is started with the name `rbash', or the `--restricted' or `-r' + option is supplied at invocation, the shell becomes restricted. A + restricted shell is used to set up an environment more controlled than + the standard shell. A restricted shell behaves identically to `bash' + with the exception that the following are disallowed or not performed: + + * Changing directories with the `cd' builtin. + + * Setting or unsetting the values of the `SHELL', `PATH', `ENV', or + `BASH_ENV' variables. + + * Specifying command names containing slashes. + + * Specifying a filename containing a slash as an argument to the `.' + builtin command. + + * Specifying a filename containing a slash as an argument to the `-p' + option to the `hash' builtin command. + + * Importing function definitions from the shell environment at + startup. + + * Parsing the value of `SHELLOPTS' from the shell environment at + startup. + + * Redirecting output using the `>', `>|', `<>', `>&', `&>', and `>>' + redirection operators. + + * Using the `exec' builtin to replace the shell with another command. + + * Adding or deleting builtin commands with the `-f' and `-d' options + to the `enable' builtin. + + * Using the `enable' builtin command to enable disabled shell + builtins. + + * Specifying the `-p' option to the `command' builtin. + + * Turning off restricted mode with `set +r' or `set +o restricted'. + + These restrictions are enforced after any startup files are read. + + When a command that is found to be a shell script is executed (*note + Shell Scripts::), `rbash' turns off any restrictions in the shell + spawned to execute the script. + diff -Nrc2 bash-2.05a/README bash-2.05b/README *** bash-2.05a/README Wed Aug 22 13:27:17 2001 --- bash-2.05b/README Thu Apr 4 11:02:55 2002 *************** *** 2,6 **** ============ ! This is GNU Bash, version 2.05a. Bash is the GNU Project's Bourne Again SHell, a complete implementation of the POSIX.2 shell spec, but also with interactive command line editing, job control on --- 2,6 ---- ============ ! This is GNU Bash, version 2.05b. Bash is the GNU Project's Bourne Again SHell, a complete implementation of the POSIX.2 shell spec, but also with interactive command line editing, job control on *************** *** 68,74 **** please send mail to bug-bash@gnu.org with the following information: ! * the version number and release status of Bash (e.g., 2.01-release) ! * the machine and OS that it is running on (look at the file ! `.made' in the bash build directory) * a list of the compilation flags or the contents of `config.h', if appropriate --- 68,74 ---- please send mail to bug-bash@gnu.org with the following information: ! * the version number and release status of Bash (e.g., 2.05a-release) ! * the machine and OS that it is running on (you may run ! `bashversion -l' from the bash build directory for this information) * a list of the compilation flags or the contents of `config.h', if appropriate diff -Nrc2 bash-2.05a/aclocal.m4 bash-2.05b/aclocal.m4 *** bash-2.05a/aclocal.m4 Wed Nov 7 10:59:37 2001 --- bash-2.05b/aclocal.m4 Tue Jun 25 09:45:43 2002 *************** *** 606,609 **** --- 606,669 ---- ]) + # We should check for putenv before calling this + AC_DEFUN(BASH_FUNC_STD_PUTENV, + [ + AC_REQUIRE([AC_HEADER_STDC]) + AC_REQUIRE([AC_C_PROTOTYPES]) + AC_CACHE_CHECK([for standard-conformant putenv declaration], bash_cv_std_putenv, + [AC_TRY_LINK([ + #if STDC_HEADERS + #include + #include + #endif + #ifndef __STDC__ + # ifndef const + # define const + # endif + #endif + #ifdef PROTOTYPES + extern int putenv (char *); + #else + extern int putenv (); + #endif + ], + [return (putenv == 0);], + bash_cv_std_putenv=yes, bash_cv_std_putenv=no + )]) + if test $bash_cv_std_putenv = yes; then + AC_DEFINE(HAVE_STD_PUTENV) + fi + ]) + + # We should check for unsetenv before calling this + AC_DEFUN(BASH_FUNC_STD_UNSETENV, + [ + AC_REQUIRE([AC_HEADER_STDC]) + AC_REQUIRE([AC_C_PROTOTYPES]) + AC_CACHE_CHECK([for standard-conformant unsetenv declaration], bash_cv_std_unsetenv, + [AC_TRY_LINK([ + #if STDC_HEADERS + #include + #include + #endif + #ifndef __STDC__ + # ifndef const + # define const + # endif + #endif + #ifdef PROTOTYPES + extern int unsetenv (const char *); + #else + extern int unsetenv (); + #endif + ], + [return (unsetenv == 0);], + bash_cv_std_unsetenv=yes, bash_cv_std_unsetenv=no + )]) + if test $bash_cv_std_unsetenv = yes; then + AC_DEFINE(HAVE_STD_UNSETENV) + fi + ]) + AC_DEFUN(BASH_FUNC_ULIMIT_MAXFDS, [AC_MSG_CHECKING(whether ulimit can substitute for getdtablesize) *************** *** 923,927 **** AC_CACHE_VAL(bash_cv_termcap_lib, [AC_CHECK_LIB(termcap, tgetent, bash_cv_termcap_lib=libtermcap, ! [AC_CHECK_LIB(tinfo, tgetent, bash_cv_termcal_lib=libtinfo, [AC_CHECK_LIB(curses, tgetent, bash_cv_termcap_lib=libcurses, [AC_CHECK_LIB(ncurses, tgetent, bash_cv_termcap_lib=libncurses, --- 983,987 ---- AC_CACHE_VAL(bash_cv_termcap_lib, [AC_CHECK_LIB(termcap, tgetent, bash_cv_termcap_lib=libtermcap, ! [AC_CHECK_LIB(tinfo, tgetent, bash_cv_termcap_lib=libtinfo, [AC_CHECK_LIB(curses, tgetent, bash_cv_termcap_lib=libcurses, [AC_CHECK_LIB(ncurses, tgetent, bash_cv_termcap_lib=libncurses, *************** *** 1379,1386 **** [if test -d /var/mail; then bash_cv_mail_dir=/var/mail - elif test -d /usr/mail; then - bash_cv_mail_dir=/usr/mail elif test -d /var/spool/mail; then bash_cv_mail_dir=/var/spool/mail elif test -d /usr/spool/mail; then bash_cv_mail_dir=/usr/spool/mail --- 1439,1446 ---- [if test -d /var/mail; then bash_cv_mail_dir=/var/mail elif test -d /var/spool/mail; then bash_cv_mail_dir=/var/spool/mail + elif test -d /usr/mail; then + bash_cv_mail_dir=/usr/mail elif test -d /usr/spool/mail; then bash_cv_mail_dir=/usr/spool/mail *************** *** 1390,1404 **** ]) AC_MSG_RESULT($bash_cv_mail_dir) ! if test $bash_cv_mail_dir = "/var/mail"; then ! AC_DEFINE(DEFAULT_MAIL_DIRECTORY, "/var/mail") ! elif test $bash_cv_mail_dir = "/usr/mail"; then ! AC_DEFINE(DEFAULT_MAIL_DIRECTORY, "/usr/mail") ! elif test $bash_cv_mail_dir = "/var/spool/mail"; then ! AC_DEFINE(DEFAULT_MAIL_DIRECTORY, "/var/spool/mail") ! elif test $bash_cv_mail_dir = "/usr/spool/mail"; then ! AC_DEFINE(DEFAULT_MAIL_DIRECTORY, "/usr/spool/mail") ! else ! AC_DEFINE(DEFAULT_MAIL_DIRECTORY, "unknown") ! fi ]) --- 1450,1454 ---- ]) AC_MSG_RESULT($bash_cv_mail_dir) ! AC_DEFINE_UNQUOTED(DEFAULT_MAIL_DIRECTORY, "$bash_cv_mail_dir") ]) *************** *** 1594,1597 **** --- 1644,1683 ---- ]) + dnl + dnl check for availability of multibyte characters and functions + dnl + AC_DEFUN(BASH_CHECK_MULTIBYTE, + [ + AC_CHECK_HEADERS(wctype.h) + AC_CHECK_HEADERS(wchar.h) + AC_CHECK_HEADERS(langinfo.h) + + AC_CHECK_FUNC(mbsrtowcs, AC_DEFINE(HAVE_MBSRTOWCS)) + AC_CHECK_FUNC(wcwidth, AC_DEFINE(HAVE_WCWIDTH)) + + AC_CACHE_CHECK([for mbstate_t], bash_cv_have_mbstate_t, + [AC_TRY_RUN([ + #include + int + main () + { + mbstate_t ps; + return 0; + }], bash_cv_have_mbstate_t=yes, bash_cv_have_mbstate_t=no)]) + if test $bash_cv_have_mbstate_t = yes; then + AC_DEFINE(HAVE_MBSTATE_T) + fi + + AC_CACHE_CHECK([for nl_langinfo and CODESET], bash_cv_langinfo_codeset, + [AC_TRY_LINK( + [#include ], + [char* cs = nl_langinfo(CODESET);], + bash_cv_langinfo_codeset=yes, bash_cv_langinfo_codeset=no)]) + if test $bash_cv_langinfo_codeset = yes; then + AC_DEFINE(HAVE_LANGINFO_CODESET) + fi + + ]) + dnl need: prefix exec_prefix libdir includedir CC TERMCAP_LIB dnl require: *************** *** 1656,1660 **** 2*|3*|4*|5*|6*|7*|8*|9*) RL_MAJOR=`echo $ac_cv_rl_version | sed 's:\..*$::'` ! RL_MINOR=`echo $ac_cv_rl_version | sed -e 's:^.*\.::' -e 's:[a-zA-Z]*$::'` ;; esac --- 1742,1746 ---- 2*|3*|4*|5*|6*|7*|8*|9*) RL_MAJOR=`echo $ac_cv_rl_version | sed 's:\..*$::'` ! RL_MINOR=`echo $ac_cv_rl_version | sed -e 's:^.*\.::' -e 's:[[a-zA-Z]]*$::'` ;; esac diff -Nrc2 bash-2.05a/alias.c bash-2.05b/alias.c *** bash-2.05a/alias.c Mon Oct 15 14:16:36 2001 --- bash-2.05b/alias.c Wed Mar 13 14:03:05 2002 *************** *** 2,6 **** shell. Csh style alias is somewhere else (`over there, in a box'). */ ! /* Copyright (C) 1987,1991 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- shell. Csh style alias is somewhere else (`over there, in a box'). */ ! /* Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 43,46 **** --- 43,48 ---- #endif + #define ALIAS_HASH_BUCKETS 16 /* must be power of two */ + typedef int sh_alias_map_func_t __P((alias_t *)); *************** *** 67,71 **** { if (!aliases) ! aliases = make_hash_table (0); } --- 69,73 ---- { if (!aliases) ! aliases = hash_create (ALIAS_HASH_BUCKETS); } *************** *** 81,85 **** return ((alias_t *)NULL); ! al = find_hash_item (name, aliases); return (al ? (alias_t *)al->data : (alias_t *)NULL); } --- 83,87 ---- return ((alias_t *)NULL); ! al = hash_search (name, aliases, 0); return (al ? (alias_t *)al->data : (alias_t *)NULL); } *************** *** 121,124 **** --- 123,127 ---- free (temp->value); temp->value = savestring (value); + temp->flags &= ~AL_EXPANDNEXT; n = value[strlen (value) - 1]; if (n == ' ' || n == '\t') *************** *** 136,141 **** temp->flags |= AL_EXPANDNEXT; ! elt = add_hash_item (savestring (name), aliases); ! elt->data = (char *)temp; #if defined (PROGRAMMABLE_COMPLETION) set_itemlist_dirty (&it_aliases); --- 139,144 ---- temp->flags |= AL_EXPANDNEXT; ! elt = hash_insert (savestring (name), aliases, HASH_NOSRCH); ! elt->data = temp; #if defined (PROGRAMMABLE_COMPLETION) set_itemlist_dirty (&it_aliases); *************** *** 169,173 **** return (-1); ! elt = remove_hash_item (name, aliases); if (elt) { --- 172,176 ---- return (-1); ! elt = hash_remove (name, aliases, 0); if (elt) { *************** *** 190,195 **** return; ! flush_hash_table (aliases, free_alias_data); ! dispose_hash_table (aliases); aliases = (HASH_TABLE *)NULL; #if defined (PROGRAMMABLE_COMPLETION) --- 193,198 ---- return; ! hash_flush (aliases, free_alias_data); ! hash_dispose (aliases); aliases = (HASH_TABLE *)NULL; #if defined (PROGRAMMABLE_COMPLETION) *************** *** 207,218 **** register BUCKET_CONTENTS *tlist; alias_t *alias, **list; ! int list_index, list_size; ! list = (alias_t **)NULL; ! for (i = list_index = list_size = 0; i < aliases->nbuckets; i++) ! { ! tlist = get_hash_bucket (i, aliases); ! while (tlist) { alias = (alias_t *)tlist->data; --- 210,223 ---- register BUCKET_CONTENTS *tlist; alias_t *alias, **list; ! int list_index; ! i = HASH_ENTRIES (aliases); ! if (i == 0) ! return ((alias_t **)NULL); ! list = (alias_t **)xmalloc ((i + 1) * sizeof (alias_t *)); ! for (i = list_index = 0; i < aliases->nbuckets; i++) ! { ! for (tlist = hash_items (i, aliases); tlist; tlist = tlist->next) { alias = (alias_t *)tlist->data; *************** *** 220,234 **** if (!function || (*function) (alias)) { - if (list_index + 1 >= list_size) - { - list_size += 20; - list = (alias_t **)xrealloc (list, - list_size * sizeof (alias_t *)); - } - list[list_index++] = alias; list[list_index] = (alias_t *)NULL; } - tlist = tlist->next; } } --- 225,231 ---- *************** *** 240,244 **** alias_t **array; { ! qsort (array, array_len ((char **)array), sizeof (alias_t *), (QSFUNC *)qsort_alias_compare); } --- 237,241 ---- alias_t **array; { ! qsort (array, strvec_len ((char **)array), sizeof (alias_t *), (QSFUNC *)qsort_alias_compare); } *************** *** 261,265 **** alias_t **list; ! if (!aliases) return ((alias_t **)NULL); --- 258,262 ---- alias_t **list; ! if (aliases == 0 || HASH_ENTRIES (aliases) == 0) return ((alias_t **)NULL); *************** *** 530,534 **** then we don't do alias expansion. This should check for all other quoting characters, too. */ ! if (strchr (token, '\\')) expand_this_token = 0; --- 527,531 ---- then we don't do alias expansion. This should check for all other quoting characters, too. */ ! if (xstrchr (token, '\\')) expand_this_token = 0; diff -Nrc2 bash-2.05a/array.c bash-2.05b/array.c *** bash-2.05a/array.c Mon Oct 29 13:09:42 2001 --- bash-2.05b/array.c Mon Mar 18 13:16:50 2002 *************** *** 10,14 **** */ ! /* Copyright (C) 1997 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 10,14 ---- */ ! /* Copyright (C) 1997-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 54,85 **** } while(0) ! /* ! * Allocate and return a new array element with index INDEX and value ! * VALUE. ! */ ! ARRAY_ELEMENT * ! new_array_element(indx, value) ! arrayind_t indx; ! char *value; ! { ! ARRAY_ELEMENT *r; ! ! r = (ARRAY_ELEMENT *)xmalloc(sizeof(ARRAY_ELEMENT)); ! r->ind = indx; ! r->value = value ? savestring(value) : (char *)NULL; ! r->next = r->prev = (ARRAY_ELEMENT *) NULL; ! return(r); ! } ! ! void ! destroy_array_element(ae) ! ARRAY_ELEMENT *ae; ! { ! FREE(ae->value); ! free(ae); ! } ARRAY * ! new_array() { ARRAY *r; --- 54,61 ---- } while(0) ! static char *array_to_string_internal __P((ARRAY_ELEMENT *, ARRAY_ELEMENT *, char *, int)); ARRAY * ! array_create() { ARRAY *r; *************** *** 88,94 **** r =(ARRAY *)xmalloc(sizeof(ARRAY)); r->type = array_indexed; ! r->max_index = r->max_size = -1; r->num_elements = 0; ! head = new_array_element(-1, (char *)NULL); /* dummy head */ head->prev = head->next = head; r->head = head; --- 64,70 ---- r =(ARRAY *)xmalloc(sizeof(ARRAY)); r->type = array_indexed; ! r->max_index = -1; r->num_elements = 0; ! head = array_create_element(-1, (char *)NULL); /* dummy head */ head->prev = head->next = head; r->head = head; *************** *** 97,101 **** void ! empty_array (a) ARRAY *a; { --- 73,77 ---- void ! array_flush (a) ARRAY *a; { *************** *** 106,130 **** for (r = element_forw(a->head); r != a->head; ) { r1 = element_forw(r); ! destroy_array_element(r); r = r1; } a->head->next = a->head->prev = a->head; ! a->max_index = a->max_size = -1; ! a->num_elements = a->max_size = 0; } void ! dispose_array(a) ARRAY *a; { if (a == 0) return; ! empty_array (a); ! destroy_array_element(a->head); free(a); } ARRAY * ! dup_array(a) ARRAY *a; { --- 82,106 ---- for (r = element_forw(a->head); r != a->head; ) { r1 = element_forw(r); ! array_dispose_element(r); r = r1; } a->head->next = a->head->prev = a->head; ! a->max_index = -1; ! a->num_elements = 0; } void ! array_dispose(a) ARRAY *a; { if (a == 0) return; ! array_flush (a); ! array_dispose_element(a->head); free(a); } ARRAY * ! array_copy(a) ARRAY *a; { *************** *** 134,144 **** if (!a) return((ARRAY *) NULL); ! a1 = new_array(); a1->type = a->type; a1->max_index = a->max_index; a1->num_elements = a->num_elements; - a1->max_size = a->max_size; for (ae = element_forw(a->head); ae != a->head; ae = element_forw(ae)) { ! new = new_array_element(element_index(ae), element_value(ae)); ADD_BEFORE(a1->head, new); } --- 110,119 ---- if (!a) return((ARRAY *) NULL); ! a1 = array_create(); a1->type = a->type; a1->max_index = a->max_index; a1->num_elements = a->num_elements; for (ae = element_forw(a->head); ae != a->head; ae = element_forw(ae)) { ! new = array_create_element(element_index(ae), element_value(ae)); ADD_BEFORE(a1->head, new); } *************** *** 152,156 **** */ ARRAY * ! dup_array_subrange(array, s, e) ARRAY *array; ARRAY_ELEMENT *s, *e; --- 127,131 ---- */ ARRAY * ! array_slice(array, s, e) ARRAY *array; ARRAY_ELEMENT *s, *e; *************** *** 158,190 **** ARRAY *a; ARRAY_ELEMENT *p, *n; ! arrayind_t i; ! a = new_array (); a->type = array->type; for (p = s, i = 0; p != e; p = element_forw(p), i++) { ! n = new_array_element (i, element_value(p)); ADD_BEFORE(a->head, n); } ! a->num_elements = a->max_index = i; return a; } #endif #ifdef INCLUDE_UNUSED ARRAY_ELEMENT * ! copy_array_element(ae) ARRAY_ELEMENT *ae; { ! return(ae ? new_array_element(element_index(ae), element_value(ae)) : (ARRAY_ELEMENT *) NULL); } #endif /* * Add a new element with index I and value V to array A (a[i] = v). */ int ! array_add_element(a, i, v) ARRAY *a; arrayind_t i; --- 133,378 ---- ARRAY *a; ARRAY_ELEMENT *p, *n; ! int i; ! arrayind_t mi; ! a = array_create (); a->type = array->type; for (p = s, i = 0; p != e; p = element_forw(p), i++) { ! n = array_create_element (element_index(p), element_value(p)); ADD_BEFORE(a->head, n); + mi = element_index(ae); } ! a->num_elements = i; ! a->max_index = mi; return a; } #endif + /* + * Walk the array, calling FUNC once for each element, with the array + * element as the argument. + */ + void + array_walk(a, func) + ARRAY *a; + sh_ae_map_func_t *func; + { + register ARRAY_ELEMENT *ae; + + if (a == 0 || array_empty(a)) + return; + for (ae = element_forw(a->head); ae != a->head; ae = element_forw(ae)) + if ((*func)(ae) < 0) + return; + } + + /* + * Shift the array A N elements to the left. Delete the first N elements + * and subtract N from the indices of the remaining elements. If FLAGS + * does not include AS_DISPOSE, this returns a singly-linked null-terminated + * list of elements so the caller can dispose of the chain. If FLAGS + * includes AS_DISPOSE, this function disposes of the shifted-out elements + * and returns NULL. + */ + ARRAY_ELEMENT * + array_shift(a, n, flags) + ARRAY *a; + int n, flags; + { + register ARRAY_ELEMENT *ae, *ret; + register int i; + + if (a == 0 || array_empty(a) || n <= 0) + return ((ARRAY_ELEMENT *)NULL); + + for (i = 0, ret = ae = element_forw(a->head); ae != a->head && i < n; ae = element_forw(ae), i++) + ; + if (ae == a->head) { + /* Easy case; shifting out all of the elements */ + if (flags & AS_DISPOSE) { + array_flush (a); + return ((ARRAY_ELEMENT *)NULL); + } + for (ae = ret; element_forw(ae) != a->head; ae = element_forw(ae)) + ; + element_forw(ae) = (ARRAY_ELEMENT *)NULL; + a->head->next = a->head->prev = a->head; + a->max_index = -1; + a->num_elements = 0; + return ret; + } + /* + * ae now points to the list of elements we want to retain. + * ret points to the list we want to either destroy or return. + */ + ae->prev->next = (ARRAY_ELEMENT *)NULL; /* null-terminate RET */ + + a->head->next = ae; /* slice RET out of the array */ + ae->prev = a->head; + + for ( ; ae != a->head; ae = element_forw(ae)) + element_index(ae) -= n; /* renumber retained indices */ + + a->num_elements -= n; /* modify bookkeeping information */ + a->max_index -= n; + + if (flags & AS_DISPOSE) { + for (ae = ret; ae; ) { + ret = element_forw(ae); + array_dispose_element(ae); + ae = ret; + } + return ((ARRAY_ELEMENT *)NULL); + } + + return ret; + } + + /* + * Shift array A right N indices. If S is non-null, it becomes the value of + * the new element 0. Returns the number of elements in the array after the + * shift. + */ + int + array_rshift (a, n, s) + ARRAY *a; + int n; + char *s; + { + register ARRAY_ELEMENT *ae, *new; + + if (a == 0) + return 0; + if (n <= 0) + return (a->num_elements); + + ae = element_forw(a->head); + if (s) { + new = array_create_element(0, s); + ADD_BEFORE(ae, new); + a->num_elements++; + } + + a->max_index += n; + + /* + * Renumber all elements in the array except the one we just added. + */ + for ( ; ae != a->head; ae = element_forw(ae)) + element_index(ae) += n; + + return (a->num_elements); + } + + ARRAY * + array_quote(array) + ARRAY *array; + { + ARRAY_ELEMENT *a; + char *t; + + if (array == 0 || array->head == 0 || array_empty (array)) + return (ARRAY *)NULL; + for (a = element_forw(array->head); a != array->head; a = element_forw(a)) { + t = quote_string (a->value); + FREE(a->value); + a->value = t; + } + return array; + } + + char * + array_subrange (a, start, end, quoted) + ARRAY *a; + arrayind_t start, end; + int quoted; + { + ARRAY_ELEMENT *h, *p; + arrayind_t i; + + p = array_head (a); + if (p == 0 || array_empty (a) || start > array_num_elements (a)) + return ((char *)NULL); + + for (i = 0, p = element_forw(p); p != a->head && i < start; i++, p = element_forw(p)) + ; + if (p == a->head) + return ((char *)NULL); + for (h = p; p != a->head && i < end; i++, p = element_forw(p)) + ; + + return (array_to_string_internal (h, p, " ", quoted)); + } + + char * + array_patsub (a, pat, rep, mflags) + ARRAY *a; + char *pat, *rep; + int mflags; + { + ARRAY *a2; + ARRAY_ELEMENT *e; + char *t; + + if (array_head (a) == 0 || array_empty (a)) + return ((char *)NULL); + + a2 = array_copy (a); + for (e = element_forw(a2->head); e != a2->head; e = element_forw(e)) { + t = pat_subst(element_value(e), pat, rep, mflags); + FREE(element_value(e)); + e->value = t; + } + + if (mflags & MATCH_QUOTED) + array_quote (a2); + t = array_to_string (a2, " ", 0); + array_dispose (a2); + + return t; + } + + /* + * Allocate and return a new array element with index INDEX and value + * VALUE. + */ + ARRAY_ELEMENT * + array_create_element(indx, value) + arrayind_t indx; + char *value; + { + ARRAY_ELEMENT *r; + + r = (ARRAY_ELEMENT *)xmalloc(sizeof(ARRAY_ELEMENT)); + r->ind = indx; + r->value = value ? savestring(value) : (char *)NULL; + r->next = r->prev = (ARRAY_ELEMENT *) NULL; + return(r); + } + #ifdef INCLUDE_UNUSED ARRAY_ELEMENT * ! array_copy_element(ae) ARRAY_ELEMENT *ae; { ! return(ae ? array_create_element(element_index(ae), element_value(ae)) : (ARRAY_ELEMENT *) NULL); } #endif + void + array_dispose_element(ae) + ARRAY_ELEMENT *ae; + { + FREE(ae->value); + free(ae); + } + /* * Add a new element with index I and value V to array A (a[i] = v). */ int ! array_insert(a, i, v) ARRAY *a; arrayind_t i; *************** *** 195,199 **** if (!a) return(-1); ! new = new_array_element(i, v); if (i > array_max_index(a)) { /* --- 383,387 ---- if (!a) return(-1); ! new = array_create_element(i, v); if (i > array_max_index(a)) { /* *************** *** 215,219 **** * Replacing an existing element. */ ! destroy_array_element(new); free(element_value(ae)); ae->value = savestring(v); --- 403,407 ---- * Replacing an existing element. */ ! array_dispose_element(new); free(element_value(ae)); ae->value = savestring(v); *************** *** 233,237 **** */ ARRAY_ELEMENT * ! array_delete_element(a, i) ARRAY *a; arrayind_t i; --- 421,425 ---- */ ARRAY_ELEMENT * ! array_remove(a, i) ARRAY *a; arrayind_t i; *************** *** 271,293 **** } ! #ifdef TEST_ARRAY ! /* ! * Walk the array, calling FUNC once for each element, with the array ! * element as the argument. ! */ ! void ! array_walk(a, func) ARRAY *a; - sh_ae_map_func_t *func; { ! register ARRAY_ELEMENT *ae; if (a == 0 || array_empty(a)) ! return; for (ae = element_forw(a->head); ae != a->head; ae = element_forw(ae)) ! (*func)(ae); } - #endif /* * Return a string that is the concatenation of all the elements in A, --- 459,524 ---- } ! /* Convenience routines for the shell to translate to and from the form used ! by the rest of the code. */ ! WORD_LIST * ! array_to_word_list(a) ARRAY *a; { ! WORD_LIST *list; ! ARRAY_ELEMENT *ae; if (a == 0 || array_empty(a)) ! return((WORD_LIST *)NULL); ! list = (WORD_LIST *)NULL; for (ae = element_forw(a->head); ae != a->head; ae = element_forw(ae)) ! list = make_word_list (make_bare_word(element_value(ae)), list); ! return (REVERSE_LIST(list, WORD_LIST *)); } + ARRAY * + array_from_word_list (list) + WORD_LIST *list; + { + ARRAY *a; + + if (list == 0) + return((ARRAY *)NULL); + a = array_create(); + return (array_assign_list (a, list)); + } + + ARRAY * + array_assign_list (array, list) + ARRAY *array; + WORD_LIST *list; + { + register WORD_LIST *l; + register arrayind_t i; + + for (l = list, i = 0; l; l = l->next, i++) + array_insert(array, i, l->word->word); + return array; + } + + char ** + array_to_argv (a) + ARRAY *a; + { + char **ret, *t; + int i; + ARRAY_ELEMENT *ae; + + if (a == 0 || array_empty(a)) + return ((char **)NULL); + ret = strvec_create (array_num_elements (a) + 1); + i = 0; + for (ae = element_forw(a->head); ae != a->head; ae = element_forw(ae)) { + t = element_value (ae); + ret[i++] = t ? savestring (t) : (char *)NULL; + } + ret[i] = (char *)NULL; + return (ret); + } + /* * Return a string that is the concatenation of all the elements in A, *************** *** 336,356 **** char * ! array_to_string (a, sep, quoted) ARRAY *a; - char *sep; int quoted; { ! if (a == 0) ! return((char *)NULL); ! if (array_empty(a)) ! return(savestring("")); ! return (array_to_string_internal (element_forw(a->head), a->head, sep, quoted)); ! } ! ! char * ! array_to_assignment_string (a) ! ARRAY *a; ! { ! char *result, *indstr, *valstr; ARRAY_ELEMENT *ae; int rsize, rlen, elen; --- 567,576 ---- char * ! array_to_assign (a, quoted) ARRAY *a; int quoted; { ! char *result, *valstr, *is; ! char indstr[INT_STRLEN_BOUND(intmax_t) + 1]; ARRAY_ELEMENT *ae; int rsize, rlen, elen; *************** *** 364,368 **** for (ae = element_forw(a->head); ae != a->head; ae = element_forw(ae)) { ! indstr = itos (element_index(ae)); valstr = element_value (ae) ? sh_double_quote (element_value(ae)) : (char *)NULL; --- 584,588 ---- for (ae = element_forw(a->head); ae != a->head; ae = element_forw(ae)) { ! is = inttostr (element_index(ae), indstr, sizeof(indstr)); valstr = element_value (ae) ? sh_double_quote (element_value(ae)) : (char *)NULL; *************** *** 371,376 **** result[rlen++] = '['; ! strcpy (result + rlen, indstr); ! rlen += STRLEN (indstr); result[rlen++] = ']'; result[rlen++] = '='; --- 591,596 ---- result[rlen++] = '['; ! strcpy (result + rlen, is); ! rlen += STRLEN (is); result[rlen++] = ']'; result[rlen++] = '='; *************** *** 383,387 **** result[rlen++] = ' '; - FREE (indstr); FREE (valstr); } --- 603,606 ---- *************** *** 389,425 **** result[rlen++] = ')'; result[rlen] = '\0'; return(result); } char * ! quoted_array_assignment_string (a) ARRAY *a; { ! char *vstr, *sv; ! ! sv = array_to_assignment_string (a); ! if (sv == 0) ! return ((char *)NULL); ! ! vstr = sh_single_quote (sv); ! free (sv); ! return (vstr); ! } ! ! #if 0 ! /* Determine if s2 occurs in s1. If so, return a pointer to the ! match in s1. The compare is case sensitive. */ ! static char * ! sindex (s1, s2) ! register char *s1, *s2; ! { ! register int i, l, len; ! ! for (i = 0, l = strlen(s2), len = strlen(s1); (len - i) >= l; i++) ! if (strncmp (s1 + i, s2, l) == 0) ! return (s1 + i); ! return ((char *)NULL); } - #endif #if defined (INCLUDE_UNUSED) || defined (TEST_ARRAY) --- 608,632 ---- result[rlen++] = ')'; result[rlen] = '\0'; + if (quoted) { + /* This is not as efficient as it could be... */ + valstr = sh_single_quote (result); + free (result); + result = valstr; + } return(result); } char * ! array_to_string (a, sep, quoted) ARRAY *a; + char *sep; + int quoted; { ! if (a == 0) ! return((char *)NULL); ! if (array_empty(a)) ! return(savestring("")); ! return (array_to_string_internal (element_forw(a->head), a->head, sep, quoted)); } #if defined (INCLUDE_UNUSED) || defined (TEST_ARRAY) *************** *** 428,432 **** */ ARRAY * ! string_to_array(s, sep) char *s, *sep; { --- 635,639 ---- */ ARRAY * ! array_from_string(s, sep) char *s, *sep; { *************** *** 439,583 **** if (w == 0) return((ARRAY *)NULL); ! a = word_list_to_array (w); return (a); } #endif ! /* Convenience routines for the shell to translate to and from the form used ! by the rest of the code. */ ! WORD_LIST * ! array_to_word_list(a) ! ARRAY *a; ! { ! WORD_LIST *list; ! ARRAY_ELEMENT *ae; ! if (a == 0 || array_empty(a)) ! return((WORD_LIST *)NULL); ! list = (WORD_LIST *)NULL; ! for (ae = element_forw(a->head); ae != a->head; ae = element_forw(ae)) ! list = make_word_list (make_bare_word(element_value(ae)), list); ! return (REVERSE_LIST(list, WORD_LIST *)); } ! char ** ! array_to_argv (a) ! ARRAY *a; { ! char **ret, *t; ! int i; ! ARRAY_ELEMENT *ae; ! if (a == 0 || array_empty(a)) ! return ((char **)NULL); ! ret = alloc_array (array_num_elements (a) + 1); ! i = 0; ! for (ae = element_forw(a->head); ae != a->head; ae = element_forw(ae)) { ! t = element_value (ae); ! ret[i++] = t ? savestring (t) : (char *)NULL; ! } ! ret[i] = (char *)NULL; ! return (ret); } ! ! ARRAY * ! assign_word_list (array, list) ! ARRAY *array; ! WORD_LIST *list; { ! register WORD_LIST *l; ! register arrayind_t i; ! for (l = list, i = 0; l; l = l->next, i++) ! array_add_element(array, i, l->word->word); ! return array; } ! ARRAY * ! word_list_to_array (list) ! WORD_LIST *list; { ! ARRAY *a; ! if (list == 0) ! return((ARRAY *)NULL); ! a = new_array(); ! return (assign_word_list (a, list)); } ! ARRAY * ! array_quote(array) ! ARRAY *array; { ! ARRAY_ELEMENT *a; ! char *t; ! if (array == 0 || array->head == 0 || array_empty (array)) ! return (ARRAY *)NULL; ! for (a = element_forw(array->head); a != array->head; a = element_forw(a)) { ! t = quote_string (a->value); ! FREE(a->value); ! a->value = t; } ! return array; } ! char * ! array_subrange (a, start, end, quoted) ! ARRAY *a; ! arrayind_t start, end; ! int quoted; { ! ARRAY_ELEMENT *h, *p; ! arrayind_t i; ! ! p = array_head (a); ! if (p == 0 || array_empty (a) || start > array_num_elements (a)) ! return ((char *)NULL); ! ! for (i = 0, p = element_forw(p); p != a->head && i < start; i++, p = element_forw(p)) ! ; ! if (p == a->head) ! return ((char *)NULL); ! for (h = p; p != a->head && i < end; i++, p = element_forw(p)) ! ; ! return (array_to_string_internal (h, p, " ", quoted)); } char * ! array_pat_subst (a, pat, rep, mflags) ! ARRAY *a; ! char *pat, *rep; ! int mflags; { ! ARRAY *a2; ! ARRAY_ELEMENT *e; ! char *t; ! ! if (array_head (a) == 0 || array_empty (a)) ! return ((char *)NULL); ! ! a2 = dup_array (a); ! for (e = element_forw(a2->head); e != a2->head; e = element_forw(e)) { ! t = pat_subst(element_value(e), pat, rep, mflags); ! FREE(element_value(e)); ! e->value = t; ! } ! ! if (mflags & MATCH_QUOTED) ! array_quote (a2); ! t = array_to_string (a2, " ", 0); ! dispose_array (a2); ! ! return t; } - #if defined (TEST_ARRAY) print_element(ae) ARRAY_ELEMENT *ae; { ! printf("array[%ld] = %s\n", element_index(ae), element_value(ae)); } --- 646,765 ---- if (w == 0) return((ARRAY *)NULL); ! a = array_from_word_list (w); return (a); } #endif ! #if defined (TEST_ARRAY) ! /* ! * To make a running version, compile -DTEST_ARRAY and link with: ! * xmalloc.o syntax.o lib/malloc/libmalloc.a lib/sh/libsh.a ! */ ! int interrupt_immediately = 0; ! int ! signal_is_trapped(s) ! int s; ! { ! return 0; } ! void ! fatal_error(const char *s, ...) { ! fprintf(stderr, "array_test: fatal memory error\n"); ! abort(); ! } ! void ! programming_error(const char *s, ...) ! { ! fprintf(stderr, "array_test: fatal programming error\n"); ! abort(); } ! ! WORD_DESC * ! make_bare_word (s) ! const char *s; { ! WORD_DESC *w; ! w = (WORD_DESC *)xmalloc(sizeof(WORD_DESC)); ! w->word = s ? savestring(s) : savestring (""); ! w->flags = 0; ! return w; } ! WORD_LIST * ! make_word_list(x, l) ! WORD_DESC *x; ! WORD_LIST *l; { ! WORD_LIST *w; ! w = (WORD_LIST *)xmalloc(sizeof(WORD_LIST)); ! w->word = x; ! w->next = l; ! return w; } ! WORD_LIST * ! list_string(s, t, i) ! char *s, *t; ! int i; { ! char *r, *a; ! WORD_LIST *wl; ! if (s == 0) ! return (WORD_LIST *)NULL; ! r = savestring(s); ! wl = (WORD_LIST *)NULL; ! a = strtok(r, t); ! while (a) { ! wl = make_word_list (make_bare_word(a), wl); ! a = strtok((char *)NULL, t); } ! return (REVERSE_LIST (wl, WORD_LIST *)); } ! GENERIC_LIST * ! list_reverse (list) ! GENERIC_LIST *list; { ! register GENERIC_LIST *next, *prev; ! for (prev = 0; list; ) { ! next = list->next; ! list->next = prev; ! prev = list; ! list = next; ! } ! return prev; } char * ! pat_subst(s, t, u, i) ! char *s, *t, *u; ! int i; { ! return ((char *)NULL); } + char * + quote_string(s) + char *s; + { + return savestring(s); + } print_element(ae) ARRAY_ELEMENT *ae; { ! char lbuf[INT_STRLEN_BOUND (intmax_t) + 1]; ! ! printf("array[%s] = %s\n", ! inttostr (element_index(ae), lbuf, sizeof (lbuf)), ! element_value(ae)); } *************** *** 592,653 **** { ARRAY *a, *new_a, *copy_of_a; ! ARRAY_ELEMENT *ae; char *s; ! a = new_array(); ! array_add_element(a, 1, "one"); ! array_add_element(a, 7, "seven"); ! array_add_element(a, 4, "four"); ! array_add_element(a, 1029, "one thousand twenty-nine"); ! array_add_element(a, 12, "twelve"); ! array_add_element(a, 42, "forty-two"); print_array(a); s = array_to_string (a, " ", 0); printf("s = %s\n", s); ! copy_of_a = string_to_array(s, " "); printf("copy_of_a:"); print_array(copy_of_a); ! dispose_array(copy_of_a); printf("\n"); free(s); ! ae = array_delete_element(a, 4); ! destroy_array_element(ae); ! ae = array_delete_element(a, 1029); ! destroy_array_element(ae); ! array_add_element(a, 16, "sixteen"); print_array(a); s = array_to_string (a, " ", 0); printf("s = %s\n", s); ! copy_of_a = string_to_array(s, " "); printf("copy_of_a:"); print_array(copy_of_a); ! dispose_array(copy_of_a); printf("\n"); free(s); ! array_add_element(a, 2, "two"); ! array_add_element(a, 1029, "new one thousand twenty-nine"); ! array_add_element(a, 0, "zero"); ! array_add_element(a, 134, ""); print_array(a); s = array_to_string (a, ":", 0); printf("s = %s\n", s); ! copy_of_a = string_to_array(s, ":"); printf("copy_of_a:"); print_array(copy_of_a); ! dispose_array(copy_of_a); printf("\n"); free(s); ! new_a = copy_array(a); print_array(new_a); s = array_to_string (new_a, ":", 0); printf("s = %s\n", s); ! copy_of_a = string_to_array(s, ":", 0); printf("copy_of_a:"); print_array(copy_of_a); ! dispose_array(copy_of_a); ! printf("\n"); free(s); ! dispose_array(a); ! dispose_array(new_a); } --- 774,861 ---- { ARRAY *a, *new_a, *copy_of_a; ! ARRAY_ELEMENT *ae, *aew; char *s; ! a = array_create(); ! array_insert(a, 1, "one"); ! array_insert(a, 7, "seven"); ! array_insert(a, 4, "four"); ! array_insert(a, 1029, "one thousand twenty-nine"); ! array_insert(a, 12, "twelve"); ! array_insert(a, 42, "forty-two"); print_array(a); s = array_to_string (a, " ", 0); printf("s = %s\n", s); ! copy_of_a = array_from_string(s, " "); printf("copy_of_a:"); print_array(copy_of_a); ! array_dispose(copy_of_a); printf("\n"); free(s); ! ae = array_remove(a, 4); ! array_dispose_element(ae); ! ae = array_remove(a, 1029); ! array_dispose_element(ae); ! array_insert(a, 16, "sixteen"); print_array(a); s = array_to_string (a, " ", 0); printf("s = %s\n", s); ! copy_of_a = array_from_string(s, " "); printf("copy_of_a:"); print_array(copy_of_a); ! array_dispose(copy_of_a); printf("\n"); free(s); ! array_insert(a, 2, "two"); ! array_insert(a, 1029, "new one thousand twenty-nine"); ! array_insert(a, 0, "zero"); ! array_insert(a, 134, ""); print_array(a); s = array_to_string (a, ":", 0); printf("s = %s\n", s); ! copy_of_a = array_from_string(s, ":"); printf("copy_of_a:"); print_array(copy_of_a); ! array_dispose(copy_of_a); printf("\n"); free(s); ! new_a = array_copy(a); print_array(new_a); s = array_to_string (new_a, ":", 0); printf("s = %s\n", s); ! copy_of_a = array_from_string(s, ":"); ! free(s); printf("copy_of_a:"); print_array(copy_of_a); ! array_shift(copy_of_a, 2, AS_DISPOSE); ! printf("copy_of_a shifted by two:"); ! print_array(copy_of_a); ! ae = array_shift(copy_of_a, 2, 0); ! printf("copy_of_a shifted by two:"); ! print_array(copy_of_a); ! for ( ; ae; ) { ! aew = element_forw(ae); ! array_dispose_element(ae); ! ae = aew; ! } ! array_rshift(copy_of_a, 1, (char *)0); ! printf("copy_of_a rshift by 1:"); ! print_array(copy_of_a); ! array_rshift(copy_of_a, 2, "new element zero"); ! printf("copy_of_a rshift again by 2 with new element zero:"); ! print_array(copy_of_a); ! s = array_to_assign(copy_of_a, 0); ! printf("copy_of_a=%s\n", s); free(s); ! ae = array_shift(copy_of_a, array_num_elements(copy_of_a), 0); ! for ( ; ae; ) { ! aew = element_forw(ae); ! array_dispose_element(ae); ! ae = aew; ! } ! array_dispose(copy_of_a); ! printf("\n"); ! array_dispose(a); ! array_dispose(new_a); } diff -Nrc2 bash-2.05a/array.h bash-2.05b/array.h *** bash-2.05a/array.h Mon Sep 10 12:32:13 2001 --- bash-2.05b/array.h Thu Mar 14 08:42:51 2002 *************** *** 25,29 **** #include "stdc.h" ! typedef long arrayind_t; enum atype {array_indexed, array_assoc}; --- 25,29 ---- #include "stdc.h" ! typedef intmax_t arrayind_t; enum atype {array_indexed, array_assoc}; *************** *** 31,35 **** typedef struct array { enum atype type; ! arrayind_t max_index, num_elements, max_size; struct array_element *head; } ARRAY; --- 31,35 ---- typedef struct array { enum atype type; ! arrayind_t max_index, num_elements; struct array_element *head; } ARRAY; *************** *** 43,76 **** typedef int sh_ae_map_func_t __P((ARRAY_ELEMENT *)); ! char *array_reference __P((ARRAY *, arrayind_t)); ! ! extern int array_add_element __P((ARRAY *, arrayind_t, char *)); ! extern ARRAY_ELEMENT *array_delete_element __P((ARRAY *, arrayind_t)); ! ! extern ARRAY_ELEMENT *new_array_element __P((arrayind_t, char *)); ! extern void destroy_array_element __P((ARRAY_ELEMENT *)); ! ! extern ARRAY *new_array __P((void)); ! extern void empty_array __P((ARRAY *)); ! extern void dispose_array __P((ARRAY *)); ! extern ARRAY *dup_array __P((ARRAY *)); ! extern ARRAY *dup_array_subrange __P((ARRAY *, ARRAY_ELEMENT *, ARRAY_ELEMENT *)); ! extern ARRAY_ELEMENT *copy_array_element __P((ARRAY_ELEMENT *)); extern WORD_LIST *array_to_word_list __P((ARRAY *)); ! extern ARRAY *word_list_to_array __P((WORD_LIST *)); ! extern ARRAY *assign_word_list __P((ARRAY *, WORD_LIST *)); extern char **array_to_argv __P((ARRAY *)); ! extern char *array_to_assignment_string __P((ARRAY *)); ! extern char *quoted_array_assignment_string __P((ARRAY *)); extern char *array_to_string __P((ARRAY *, char *, int)); ! extern ARRAY *string_to_array __P((char *, char *)); ! ! extern char *array_subrange __P((ARRAY *, arrayind_t, arrayind_t, int)); ! extern char *array_pat_subst __P((ARRAY *, char *, char *, int)); ! extern ARRAY *array_quote __P((ARRAY *)); #define array_num_elements(a) ((a)->num_elements) --- 43,83 ---- typedef int sh_ae_map_func_t __P((ARRAY_ELEMENT *)); ! /* Basic operations on entire arrays */ ! extern ARRAY *array_create __P((void)); ! extern void array_flush __P((ARRAY *)); ! extern void array_dispose __P((ARRAY *)); ! extern ARRAY *array_copy __P((ARRAY *)); ! extern ARRAY *array_slice __P((ARRAY *, ARRAY_ELEMENT *, ARRAY_ELEMENT *)); ! extern void array_walk __P((ARRAY *, sh_ae_map_func_t *)); ! ! extern ARRAY_ELEMENT *array_shift __P((ARRAY *, int, int)); ! extern int array_rshift __P((ARRAY *, int, char *)); ! extern ARRAY *array_quote __P((ARRAY *)); ! ! extern char *array_subrange __P((ARRAY *, arrayind_t, arrayind_t, int)); ! extern char *array_patsub __P((ARRAY *, char *, char *, int)); ! ! /* Basic operations on array elements. */ ! extern ARRAY_ELEMENT *array_create_element __P((arrayind_t, char *)); ! extern ARRAY_ELEMENT *array_copy_element __P((ARRAY_ELEMENT *)); ! extern void array_dispose_element __P((ARRAY_ELEMENT *)); ! ! extern int array_insert __P((ARRAY *, arrayind_t, char *)); ! extern ARRAY_ELEMENT *array_remove __P((ARRAY *, arrayind_t)); ! extern char *array_reference __P((ARRAY *, arrayind_t)); + /* Converting to and from arrays */ extern WORD_LIST *array_to_word_list __P((ARRAY *)); ! extern ARRAY *array_from_word_list __P((WORD_LIST *)); ! extern ARRAY *array_assign_list __P((ARRAY *, WORD_LIST *)); extern char **array_to_argv __P((ARRAY *)); ! extern char *array_to_assign __P((ARRAY *, int)); extern char *array_to_string __P((ARRAY *, char *, int)); ! extern ARRAY *array_from_string __P((char *, char *)); ! /* Flags for array_shift */ ! #define AS_DISPOSE 0x01 #define array_num_elements(a) ((a)->num_elements) diff -Nrc2 bash-2.05a/arrayfunc.c bash-2.05b/arrayfunc.c *** bash-2.05a/arrayfunc.c Thu Sep 13 16:31:58 2001 --- bash-2.05b/arrayfunc.c Mon May 6 14:00:36 2002 *************** *** 1,5 **** /* arrayfunc.c -- High-level array functions used by other parts of the shell. */ ! /* Copyright (C) 2001 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 1,5 ---- /* arrayfunc.c -- High-level array functions used by other parts of the shell. */ ! /* Copyright (C) 2001-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 29,32 **** --- 29,35 ---- #include "shell.h" + + #include "shmbutil.h" + #include "builtins/common.h" *************** *** 35,39 **** static void quote_array_assignment_chars __P((WORD_LIST *)); ! static char *array_value_internal __P((char *, int, int)); /* **************************************************************** */ --- 38,42 ---- static void quote_array_assignment_chars __P((WORD_LIST *)); ! static char *array_value_internal __P((char *, int, int, int *)); /* **************************************************************** */ *************** *** 53,61 **** oldval = value_cell (var); ! array = new_array (); ! array_add_element (array, 0, oldval); FREE (value_cell (var)); ! var->value = (char *)array; INVALIDATE_EXPORTSTR (var); --- 56,68 ---- oldval = value_cell (var); ! array = array_create (); ! array_insert (array, 0, oldval); FREE (value_cell (var)); ! var_setarray (var, array); ! ! /* these aren't valid anymore */ ! var->dynamic_value = (sh_var_value_func_t *)NULL; ! var->assign_func = (sh_var_assign_func_t *)NULL; INVALIDATE_EXPORTSTR (var); *************** *** 90,94 **** { if (readonly_p (entry)) ! report_error ("%s: readonly variable", name); return (entry); } --- 97,101 ---- { if (readonly_p (entry)) ! err_readonly (name); return (entry); } *************** *** 99,105 **** newval = make_variable_value (entry, value); if (entry->assign_func) ! (*entry->assign_func) (entry, ind, newval); else ! array_add_element (array_cell (entry), ind, newval); FREE (newval); --- 106,112 ---- newval = make_variable_value (entry, value); if (entry->assign_func) ! (*entry->assign_func) (entry, newval, ind); else ! array_insert (array_cell (entry), ind, newval); FREE (newval); *************** *** 126,130 **** { free (vname); ! report_error ("%s: bad array subscript", name); return ((SHELL_VAR *)NULL); } --- 133,137 ---- { free (vname); ! err_badarraysub (name); return ((SHELL_VAR *)NULL); } *************** *** 134,138 **** { free (vname); ! report_error ("%s: bad array subscript", name); return ((SHELL_VAR *)NULL); } --- 141,145 ---- { free (vname); ! err_badarraysub (name); return ((SHELL_VAR *)NULL); } *************** *** 163,167 **** { if (readonly_p (var)) ! report_error ("%s: readonly variable", name); return ((SHELL_VAR *)NULL); } --- 170,174 ---- { if (readonly_p (var)) ! err_readonly (name); return ((SHELL_VAR *)NULL); } *************** *** 200,206 **** for (a = array_cell (var), l = list, i = 0; l; l = l->next, i++) if (var->assign_func) ! (*var->assign_func) (var, i, l->word->word); else ! array_add_element (a, i, l->word->word); return var; } --- 207,213 ---- for (a = array_cell (var), l = list, i = 0; l; l = l->next, i++) if (var->assign_func) ! (*var->assign_func) (var, l->word->word, i); else ! array_insert (a, i, l->word->word); return var; } *************** *** 223,227 **** /* If this is called from declare_builtin, value[0] == '(' and ! strchr(value, ')') != 0. In this case, we need to extract the value from between the parens before going on. */ if (*value == '(') /*)*/ --- 230,234 ---- /* If this is called from declare_builtin, value[0] == '(' and ! xstrchr(value, ')') != 0. In this case, we need to extract the value from between the parens before going on. */ if (*value == '(') /*)*/ *************** *** 260,264 **** value. */ if (a) ! empty_array (a); for (last_ind = 0, list = nlist; list; list = list->next) --- 267,271 ---- value. */ if (a) ! array_flush (a); for (last_ind = 0, list = nlist; list; list = list->next) *************** *** 275,281 **** nval = make_variable_value (var, w); if (var->assign_func) ! (*var->assign_func) (var, last_ind, nval); else ! array_add_element (a, last_ind, nval); FREE (nval); last_ind++; --- 282,288 ---- nval = make_variable_value (var, w); if (var->assign_func) ! (*var->assign_func) (var, nval, last_ind); else ! array_insert (a, last_ind, nval); FREE (nval); last_ind++; *************** *** 285,289 **** if (len == 1) { ! report_error ("%s: bad array subscript", w); continue; } --- 292,296 ---- if (len == 1) { ! err_badarraysub (w); continue; } *************** *** 298,302 **** if (ind < 0) { ! report_error ("%s: bad array subscript", w); continue; } --- 305,309 ---- if (ind < 0) { ! err_badarraysub (w); continue; } *************** *** 314,320 **** nval = make_variable_value (var, val); if (var->assign_func) ! (*var->assign_func) (var, ind, nval); else ! array_add_element (a, ind, nval); FREE (nval); last_ind++; --- 321,327 ---- nval = make_variable_value (var, val); if (var->assign_func) ! (*var->assign_func) (var, nval, ind); else ! array_insert (a, ind, nval); FREE (nval); last_ind++; *************** *** 341,345 **** continue; /* should not happen, but just in case... */ /* Don't bother if it doesn't look like [ind]=value */ ! if (l->word->word[0] != '[' || strchr (l->word->word, '=') == 0) /* ] */ continue; s = nword = (char *)xmalloc (strlen (l->word->word) * 2 + 1); --- 348,352 ---- continue; /* should not happen, but just in case... */ /* Don't bother if it doesn't look like [ind]=value */ ! if (l->word->word[0] != '[' || xstrchr (l->word->word, '=') == 0) /* ] */ continue; s = nword = (char *)xmalloc (strlen (l->word->word) * 2 + 1); *************** *** 367,378 **** { int count, c; ! for (count = 1; count && (c = s[++i]); ) { ! if (c == '[') count++; else if (c == ']') count--; } return i; } --- 374,427 ---- { int count, c; + #if defined (HANDLE_MULTIBYTE) + mbstate_t state, state_bak; + size_t slength, mblength; + size_t mb_cur_max; + #endif ! #if defined (HANDLE_MULTIBYTE) ! memset (&state, '\0', sizeof (mbstate_t)); ! slength = strlen (s + i); ! mb_cur_max = MB_CUR_MAX; ! #endif ! ! count = 1; ! while (count) { ! /* Advance one (possibly multibyte) character in S starting at I. */ ! #if defined (HANDLE_MULTIBYTE) ! if (mb_cur_max > 1) ! { ! state_bak = state; ! mblength = mbrlen (s + i, slength, &state); ! ! if (mblength == (size_t)-2 || mblength == (size_t)-1) ! { ! state = state_bak; ! i++; ! slength--; ! } ! else if (mblength == 0) ! return i; ! else ! { ! i += mblength; ! slength -= mblength; ! } ! } ! else ! #endif ! ++i; ! ! c = s[i]; ! ! if (c == 0) ! break; ! else if (c == '[') count++; else if (c == ']') count--; } + return i; } *************** *** 400,404 **** if (ALL_ELEMENT_SUB (sub[0]) && sub[1] == 0) { ! makunbound (var->name, shell_variables); return (0); } --- 449,453 ---- if (ALL_ELEMENT_SUB (sub[0]) && sub[1] == 0) { ! unbind_variable (var->name); return (0); } *************** *** 409,415 **** return -1; } ! ae = array_delete_element (array_cell (var), ind); if (ae) ! destroy_array_element (ae); return 0; } --- 458,464 ---- return -1; } ! ae = array_remove (array_cell (var), ind); if (ae) ! array_dispose_element (ae); return 0; } *************** *** 424,431 **** char *vstr; ! if (quoted) ! vstr = quoted_array_assignment_string (array_cell (var)); ! else ! vstr = array_to_assignment_string (array_cell (var)); if (vstr == 0) --- 473,477 ---- char *vstr; ! vstr = array_to_assign (array_cell (var), quoted); if (vstr == 0) *************** *** 452,456 **** int r, len; ! t = strchr (name, '['); /* ] */ if (t) { --- 498,502 ---- int r, len; ! t = xstrchr (name, '['); /* ] */ if (t) { *************** *** 510,514 **** int ind, ni; ! t = strchr (s, '['); if (t == 0) return ((char *)NULL); --- 556,560 ---- int ind, ni; ! t = xstrchr (s, '['); if (t == 0) return ((char *)NULL); *************** *** 517,521 **** if (ni <= ind + 1 || s[ni] != ']') { ! report_error ("%s: bad array subscript", s); return ((char *)NULL); } --- 563,567 ---- if (ni <= ind + 1 || s[ni] != ']') { ! err_badarraysub (s); return ((char *)NULL); } *************** *** 555,563 **** /* Return a string containing the elements in the array and subscript described by S. If the subscript is * or @, obeys quoting rules akin ! to the expansion of $* and $@ including double quoting. */ static char * ! array_value_internal (s, quoted, allow_all) char *s; ! int quoted, allow_all; { int len; --- 601,611 ---- /* Return a string containing the elements in the array and subscript described by S. If the subscript is * or @, obeys quoting rules akin ! to the expansion of $* and $@ including double quoting. If RTYPE ! is non-null it gets 1 if the array reference is name[@] or name[*] ! and 0 otherwise. */ static char * ! array_value_internal (s, quoted, allow_all, rtype) char *s; ! int quoted, allow_all, *rtype; { int len; *************** *** 569,588 **** var = array_variable_part (s, &t, &len); if (var == 0) return (char *)NULL; /* [ */ if (ALL_ELEMENT_SUB (t[0]) && t[1] == ']') { if (allow_all == 0) { ! report_error ("%s: bad array subscript", s); return ((char *)NULL); } else if (array_p (var) == 0) ! { ! l = (WORD_LIST *)NULL; ! l = add_string_to_list (value_cell (var), l); ! } else { --- 617,641 ---- var = array_variable_part (s, &t, &len); + /* Expand the index, even if the variable doesn't exist, in case side + effects are needed, like ${w[i++]} where w is unset. */ + #if 0 if (var == 0) return (char *)NULL; + #endif /* [ */ if (ALL_ELEMENT_SUB (t[0]) && t[1] == ']') { + if (rtype) + *rtype = 1; if (allow_all == 0) { ! err_badarraysub (s); return ((char *)NULL); } + else if (var == 0) + return ((char *)NULL); else if (array_p (var) == 0) ! l = add_string_to_list (value_cell (var), (WORD_LIST *)NULL); else { *************** *** 605,619 **** else { ind = array_expand_index (t, len); if (ind < 0) { ! report_error ("%s: bad array subscript", var->name); return ((char *)NULL); } if (array_p (var) == 0) ! return (ind == 0 ? savestring (value_cell (var)) : (char *)NULL); retval = array_reference (array_cell (var), ind); - if (retval) - retval = quote_escapes (retval); } --- 658,681 ---- else { + if (rtype) + *rtype = 0; ind = array_expand_index (t, len); if (ind < 0) { ! if (var) ! err_badarraysub (var->name); ! else ! { ! t[-1] = '\0'; ! err_badarraysub (s); ! t[-1] = '['; /* ] */ ! } return ((char *)NULL); } + if (var == 0) + return ((char *)NULL); if (array_p (var) == 0) ! return (ind == 0 ? value_cell (var) : (char *)NULL); retval = array_reference (array_cell (var), ind); } *************** *** 624,632 **** subscript contained in S, obeying quoting for subscripts * and @. */ char * ! array_value (s, quoted) char *s; ! int quoted; { ! return (array_value_internal (s, quoted, 1)); } --- 686,694 ---- subscript contained in S, obeying quoting for subscripts * and @. */ char * ! array_value (s, quoted, rtype) char *s; ! int quoted, *rtype; { ! return (array_value_internal (s, quoted, 1, rtype)); } *************** *** 636,644 **** in expr.c. */ char * ! get_array_value (s, allow_all) char *s; ! int allow_all; { ! return (array_value_internal (s, 0, allow_all)); } --- 698,706 ---- in expr.c. */ char * ! get_array_value (s, allow_all, rtype) char *s; ! int allow_all, *rtype; { ! return (array_value_internal (s, 0, allow_all, rtype)); } diff -Nrc2 bash-2.05a/arrayfunc.h bash-2.05b/arrayfunc.h *** bash-2.05a/arrayfunc.h Thu Sep 13 16:32:06 2001 --- bash-2.05b/arrayfunc.h Wed Mar 27 09:31:44 2002 *************** *** 43,48 **** extern arrayind_t array_expand_index __P((char *, int)); extern int valid_array_reference __P((char *)); ! extern char *array_value __P((char *, int)); ! extern char *get_array_value __P((char *, int)); extern char *array_variable_name __P((char *, char **, int *)); --- 43,48 ---- extern arrayind_t array_expand_index __P((char *, int)); extern int valid_array_reference __P((char *)); ! extern char *array_value __P((char *, int, int *)); ! extern char *get_array_value __P((char *, int, int *)); extern char *array_variable_name __P((char *, char **, int *)); diff -Nrc2 bash-2.05a/bashhist.c bash-2.05b/bashhist.c *** bash-2.05a/bashhist.c Mon Sep 10 15:18:59 2001 --- bash-2.05b/bashhist.c Tue Mar 12 10:29:56 2002 *************** *** 58,61 **** --- 58,63 ---- static int histignore_item_func __P((struct ign *)); + static int check_history_control __P((char *)); + static void really_add_history __P((char *)); static struct ignorevar histignore = *************** *** 88,93 **** #endif ! /* By default, every line is saved in the history individually. I.e., ! if the user enters: bash$ for i in a b c > do --- 90,95 ---- #endif ! /* With the old default, every line was saved in the history individually. ! I.e., if the user enters: bash$ for i in a b c > do *************** *** 115,121 **** --- 117,130 ---- The user can then recall the whole command all at once instead of just being able to recall one line at a time. + + This is now enabled by default. */ int command_oriented_history = 1; + /* Set to 1 if the first line of a possibly-multi-line command was saved + in the history list. Managed by maybe_add_history(), but global so + the history-manipluating builtins can see it. */ + int current_command_first_line_saved = 0; + /* Non-zero means to store newlines in the history list when using command_oriented_history rather than trying to use semicolons. */ *************** *** 494,505 **** #endif ! /* Add LINE to the history list depending on the value of HISTORY_CONTROL. */ ! void ! maybe_add_history (line) char *line; { - static int first_line_saved = 0; HIST_ENTRY *temp; hist_last_line_added = 0; --- 503,553 ---- #endif ! /* Check LINE against what HISTCONTROL says to do. Returns 1 if the line ! should be saved; 0 if it should be discarded. */ ! static int ! check_history_control (line) char *line; { HIST_ENTRY *temp; + int r; + switch (history_control) + { + case 0: /* nothing */ + return 1; + case 1: /* ignorespace */ + return (*line != ' '); + case 3: /* ignoreboth */ + if (*line == ' ') + return 0; + /* FALLTHROUGH if case == 3 (`ignoreboth') */ + case 2: /* ignoredups */ + using_history (); + temp = previous_history (); + + r = (temp == 0 || STREQ (temp->line, line) == 0); + + using_history (); + return r; + } + + return 0; + } + + /* Add LINE to the history list, handling possibly multi-line compound + commands. We note whether or not we save the first line of each command + (which is usually the entire command and history entry), and don't add + the second and subsequent lines of a multi-line compound command if we + didn't save the first line. We don't usually save shell comment lines in + compound commands in the history, because they could have the effect of + commenting out the rest of the command when the entire command is saved as + a single history entry (when COMMAND_ORIENTED_HISTORY is enabled). If + LITERAL_HISTORY is set, we're saving lines in the history with embedded + newlines, so it's OK to save comment lines. We also make sure to save + multiple-line quoted strings or other constructs. */ + void + maybe_add_history (line) + char *line; + { hist_last_line_added = 0; *************** *** 507,517 **** and subsequent lines of a multi-line command (old code did this only when command_oriented_history is enabled). */ - #if 0 - if (command_oriented_history && current_command_line_count > 1) - #else if (current_command_line_count > 1) - #endif { ! if (first_line_saved && (literal_history || dstack.delimiter_depth != 0 || shell_comment (line) == 0)) bash_add_history (line); --- 555,561 ---- and subsequent lines of a multi-line command (old code did this only when command_oriented_history is enabled). */ if (current_command_line_count > 1) { ! if (current_command_first_line_saved && (literal_history || dstack.delimiter_depth != 0 || shell_comment (line) == 0)) bash_add_history (line); *************** *** 521,554 **** /* This is the first line of a (possible multi-line) command. Note whether or not we should save the first line and remember it. */ ! first_line_saved = 0; ! switch (history_control) { ! case 0: ! first_line_saved = 1; ! break; ! case 1: ! if (*line != ' ') ! first_line_saved = 1; ! break; ! case 3: ! if (*line == ' ') ! break; ! /* FALLTHROUGH if case == 3 (`ignoreboth') */ ! case 2: ! using_history (); ! temp = previous_history (); ! ! if (temp == 0 || STREQ (temp->line, line) == 0) ! first_line_saved = 1; ! ! using_history (); ! break; } ! ! if (first_line_saved && history_should_ignore (line) == 0) ! bash_add_history (line); ! else ! first_line_saved = 0; } --- 565,591 ---- /* This is the first line of a (possible multi-line) command. Note whether or not we should save the first line and remember it. */ ! current_command_first_line_saved = check_add_history (line, 0); ! } ! /* Just check LINE against HISTCONTROL and HISTIGNORE and add it to the ! history if it's OK. Used by `history -s' as well as maybe_add_history(). ! Returns 1 if the line was saved in the history, 0 otherwise. */ ! int ! check_add_history (line, force) ! char *line; ! int force; ! { ! if (check_history_control (line) && history_should_ignore (line) == 0) { ! if (force) ! { ! really_add_history (line); ! using_history (); ! } ! else ! bash_add_history (line); ! return 1; } ! return 0; } *************** *** 608,617 **** if (add_it) ! { ! hist_last_line_added = 1; ! add_history (line); ! history_lines_this_session++; ! } using_history (); } --- 645,660 ---- if (add_it) ! really_add_history (line); ! using_history (); + } + + static void + really_add_history (line) + char *line; + { + hist_last_line_added = 1; + add_history (line); + history_lines_this_session++; } diff -Nrc2 bash-2.05a/bashhist.h bash-2.05b/bashhist.h *** bash-2.05a/bashhist.h Tue Aug 28 08:05:57 2001 --- bash-2.05b/bashhist.h Fri Nov 30 14:34:32 2001 *************** *** 30,33 **** --- 30,34 ---- extern int history_control; extern int command_oriented_history; + extern int current_command_first_line_saved; extern int hist_last_line_added; *************** *** 47,50 **** --- 48,52 ---- extern void maybe_add_history __P((char *)); extern void bash_add_history __P((char *)); + extern int check_add_history __P((char *, int)); extern int history_number __P((void)); diff -Nrc2 bash-2.05a/bashline.c bash-2.05b/bashline.c *** bash-2.05a/bashline.c Mon Nov 5 12:58:59 2001 --- bash-2.05b/bashline.c Tue May 7 15:52:42 2002 *************** *** 1,5 **** /* bashline.c -- Bash's interface to the readline library. */ ! /* Copyright (C) 1987,1991 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 1,5 ---- /* bashline.c -- Bash's interface to the readline library. */ ! /* Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 34,41 **** --- 34,46 ---- #endif + #if defined (HAVE_NETDB_H) + # include + #endif + #include #include "chartypes.h" #include "bashansi.h" #include "shell.h" + #include "input.h" #include "builtins.h" #include "bashhist.h" *************** *** 59,62 **** --- 64,75 ---- #endif + /* These should agree with the defines for emacs_mode and vi_mode in + rldefs.h, even though that's not a public readline header file. */ + #ifndef EMACS_EDITING_MODE + # define NO_EDITING_MODE -1 + # define EMACS_EDITING_MODE 1 + # define VI_EDITING_MODE 0 + #endif + #if defined (BRACE_COMPLETION) extern int bash_brace_completion __P((int, int)); *************** *** 171,181 **** --- 184,197 ---- static char *glob_complete_word __P((const char *, int)); static int bash_glob_completion_internal __P((int)); + static int bash_glob_complete_word __P((int, int)); static int bash_glob_expand_word __P((int, int)); static int bash_glob_list_expansions __P((int, int)); #endif /* SPECIFIC_COMPLETION_FUNCTIONS */ + static int edit_and_execute_command __P((int, int, int, char *)); #if defined (VI_MODE) static int vi_edit_and_execute_command __P((int, int)); #endif + static int emacs_edit_and_execute_command __P((int, int)); /* Non-zero once initalize_readline () has been called. */ *************** *** 214,218 **** rl_variable_bind ("comment-begin", "#"); #if defined (VI_MODE) ! rl_bind_key_in_map (CTRL('I'), on_or_off ? rl_insert : rl_complete, vi_insertion_keymap); #endif } --- 230,234 ---- rl_variable_bind ("comment-begin", "#"); #if defined (VI_MODE) ! rl_bind_key_in_map (CTRL ('I'), on_or_off ? rl_insert : rl_complete, vi_insertion_keymap); #endif } *************** *** 276,279 **** --- 292,296 ---- rl_add_defun ("operate-and-get-next", operate_and_get_next, -1); rl_add_defun ("display-shell-version", display_shell_version, -1); + rl_add_defun ("edit-and-execute-command", emacs_edit_and_execute_command, -1); #if defined (BRACE_COMPLETION) *************** *** 292,295 **** --- 309,313 ---- rl_add_defun ("complete-command", bash_complete_command, -1); rl_add_defun ("possible-command-completions", bash_possible_command_completions, -1); + rl_add_defun ("glob-complete-word", bash_glob_complete_word, -1); rl_add_defun ("glob-expand-word", bash_glob_expand_word, -1); rl_add_defun ("glob-list-expansions", bash_glob_list_expansions, -1); *************** *** 342,345 **** --- 360,364 ---- rl_bind_key_in_map ('!', bash_possible_command_completions, emacs_ctlx_keymap); + rl_bind_key_in_map ('g', bash_glob_complete_word, emacs_meta_keymap); rl_bind_key_in_map ('*', bash_glob_expand_word, emacs_ctlx_keymap); rl_bind_key_in_map ('g', bash_glob_list_expansions, emacs_ctlx_keymap); *************** *** 359,362 **** --- 378,383 ---- rl_ignore_some_completions_function = filename_completion_ignore; + /* Bind C-xC-e to invoke emacs and run result as commands. */ + rl_bind_key_in_map (CTRL ('E'), emacs_edit_and_execute_command, emacs_ctlx_keymap); #if defined (VI_MODE) rl_bind_key_in_map ('v', vi_edit_and_execute_command, vi_movement_keymap); *************** *** 379,384 **** --- 400,411 ---- rl_char_is_quoted_p = char_is_quoted; + #if 0 + /* This is superfluous and makes it impossible to use tab completion in + vi mode even when explicitly binding it in ~/.inputrc. sv_strict_posix() + should already have called posix_readline_initialize() when + posixly_correct was set. */ if (posixly_correct) posix_readline_initialize (1); + #endif bash_readline_initialized = 1; *************** *** 492,502 **** char *name; { - size_t size; - if (hostname_list_length + 2 > hostname_list_size) { hostname_list_size = (hostname_list_size + 32) - (hostname_list_size % 32); ! size = hostname_list_size * sizeof (char *); ! hostname_list = (char **)xrealloc (hostname_list, size); } --- 519,526 ---- char *name; { if (hostname_list_length + 2 > hostname_list_size) { hostname_list_size = (hostname_list_size + 32) - (hostname_list_size % 32); ! hostname_list = strvec_resize (hostname_list, hostname_list_size); } *************** *** 614,618 **** if (*text == '\0') { ! result = alloc_array (1 + hostname_list_length); for (i = 0; i < hostname_list_length; i++) result[i] = hostname_list[i]; --- 638,642 ---- if (*text == '\0') { ! result = strvec_create (1 + hostname_list_length); for (i = 0; i < hostname_list_length; i++) result[i] = hostname_list[i]; *************** *** 633,637 **** { rsize = (rsize + 16) - (rsize % 16); ! result = (char **)xrealloc (result, rsize * sizeof (char *)); } --- 657,661 ---- { rsize = (rsize + 16) - (rsize % 16); ! result = strvec_resize (result, rsize); } *************** *** 681,694 **** } - #if defined (VI_MODE) /* This vi mode command causes VI_EDIT_COMMAND to be run on the current command being entered (if no explicit argument is given), otherwise on a command from the history file. */ ! #define VI_EDIT_COMMAND "fc -e ${VISUAL:-${EDITOR:-vi}}" static int ! vi_edit_and_execute_command (count, c) ! int count, c; { char *command; --- 705,719 ---- } /* This vi mode command causes VI_EDIT_COMMAND to be run on the current command being entered (if no explicit argument is given), otherwise on a command from the history file. */ ! #define VI_EDIT_COMMAND "fc -e ${VISUAL:-${EDITOR:-vi}}" ! #define EMACS_EDIT_COMMAND "fc -e ${VISUAL:-${EDITOR:-emacs}}" static int ! edit_and_execute_command (count, c, editing_mode, edit_command) ! int count, c, editing_mode; ! char *edit_command; { char *command; *************** *** 703,708 **** if (rl_explicit_arg) { ! command = (char *)xmalloc (strlen (VI_EDIT_COMMAND) + 8); ! sprintf (command, "%s %d", VI_EDIT_COMMAND, count); } else --- 728,733 ---- if (rl_explicit_arg) { ! command = (char *)xmalloc (strlen (edit_command) + 8); ! sprintf (command, "%s %d", edit_command, count); } else *************** *** 717,723 **** history_lines_this_session++; using_history (); ! command = savestring (VI_EDIT_COMMAND); } ! r = parse_and_execute (command, "v", SEVAL_NOHIST); current_command_line_count = cclc; --- 742,752 ---- history_lines_this_session++; using_history (); ! command = savestring (edit_command); } ! ! /* Now, POSIX.1-2001 and SUSv3 say that the commands executed from the ! temporary file should be placed into the history. We don't do that ! yet. */ ! r = parse_and_execute (command, (editing_mode == VI_EDITING_MODE) ? "v" : "C-xC-e", SEVAL_NOHIST); current_command_line_count = cclc; *************** *** 735,740 **** --- 764,784 ---- return r; } + + #if defined (VI_MODE) + static int + vi_edit_and_execute_command (count, c) + int count, c; + { + return (edit_and_execute_command (count, c, VI_EDITING_MODE, VI_EDIT_COMMAND)); + } #endif /* VI_MODE */ + static int + emacs_edit_and_execute_command (count, c) + int count, c; + { + return (edit_and_execute_command (count, c, EMACS_EDITING_MODE, EMACS_EDIT_COMMAND)); + } + #if defined (ALIAS) static int *************** *** 928,932 **** /* Attempt programmable completion. */ if (!matches && in_command_position == 0 && prog_completion_enabled && ! (num_progcomps () > 0) && current_prompt_string == ps1_prompt) { int s, e, foundcs; --- 972,976 ---- /* Attempt programmable completion. */ if (!matches && in_command_position == 0 && prog_completion_enabled && ! (progcomp_size () > 0) && current_prompt_string == ps1_prompt) { int s, e, foundcs; *************** *** 956,959 **** --- 1000,1006 ---- if (foundcs & COPT_FILENAMES) rl_filename_completion_desired = 1; + /* If the user doesn't want a space appended, tell readline. */ + if (foundcs & COPT_NOSPACE) + rl_completion_suppress_append = 1; /* Turn what the programmable completion code returns into what readline wants. I should have made compute_lcd_of_matches *************** *** 978,982 **** /* If the word starts in `~', and there is no slash in the word, then try completing this word as a username. */ ! if (!matches && *text == '~' && !strchr (text, '/')) matches = rl_completion_matches (text, rl_username_completion_function); --- 1025,1029 ---- /* If the word starts in `~', and there is no slash in the word, then try completing this word as a username. */ ! if (!matches && *text == '~' && !xstrchr (text, '/')) matches = rl_completion_matches (text, rl_username_completion_function); *************** *** 1006,1009 **** --- 1053,1075 ---- if (matches == (char **)NULL) rl_ignore_some_completions_function = bash_ignore_filenames; + else if (matches[1] == 0 && *matches[0] != '/') + /* Turn off rl_filename_completion_desired so readline doesn't + append a slash if there is a directory with the same name + in the current directory, or other filename-specific things. + If the name begins with a slash, we're either completing a + full pathname or a directory pathname, and readline won't be + looking in the current directory anyway, so there's no + conflict. */ + rl_filename_completion_desired = 0; + else if (matches[0] && matches[1] && STREQ (matches[0], matches[1]) && *matches[0] != '/') + /* There are multiple instances of the same match (duplicate + completions haven't yet been removed). In this case, all of + the matches will be the same, and the duplicate removal code + will distill them all down to one. We turn off + rl_filename_completion_desired for the same reason as above. + Remember: we only care if there's eventually a single unique + completion. If there are multiple completions this won't + make a difference and the problem won't occur. */ + rl_filename_completion_desired = 0; } } *************** *** 1016,1022 **** /* A glob expression that matches more than one filename is problematic. If we match more than one filename, punt. */ ! if (matches && matches[1]) { ! free_array (matches); matches = (char **)0; } --- 1082,1088 ---- /* A glob expression that matches more than one filename is problematic. If we match more than one filename, punt. */ ! if (matches && matches[1] && rl_completion_type == TAB) { ! strvec_dispose (matches); matches = (char **)0; } *************** *** 1065,1069 **** passing filenames with tildes directly to stat(). */ if (*hint_text == '~') ! hint = bash_tilde_expand (hint_text); else hint = savestring (hint_text); --- 1131,1135 ---- passing filenames with tildes directly to stat(). */ if (*hint_text == '~') ! hint = bash_tilde_expand (hint_text, 0); else hint = savestring (hint_text); *************** *** 1196,1200 **** char *t; ! t = bash_tilde_expand (current_path); free (current_path); current_path = t; --- 1262,1266 ---- char *t; ! t = bash_tilde_expand (current_path, 0); free (current_path); current_path = t; *************** *** 1204,1209 **** free (filename_hint); ! filename_hint = (char *)xmalloc (2 + strlen (current_path) + hint_len); ! sprintf (filename_hint, "%s/%s", current_path, hint); free (current_path); --- 1270,1274 ---- free (filename_hint); ! filename_hint = sh_makepath (current_path, hint, 0); free (current_path); *************** *** 1305,1310 **** if (matches) free (matches); ! matches = rl_completion_matches (filename_text, command_word_completion_function); ! cmd_index = 0; } --- 1370,1398 ---- if (matches) free (matches); ! ! /* ! * At this point we can entertain the idea of re-parsing ! * `filename_text' into a (possibly incomplete) command name and ! * arguments, and doing completion based on that. This is ! * currently very rudimentary, but it is a small improvement. ! */ ! for (value = filename_text + strlen (filename_text) - 1; value > filename_text; value--) ! if (whitespace (*value) || member (*value, COMMAND_SEPARATORS)) ! break; ! if (value <= filename_text) ! matches = rl_completion_matches (filename_text, command_word_completion_function); ! else ! { ! value++; ! start_len += value - filename_text; ! if (whitespace (value[-1])) ! matches = rl_completion_matches (value, rl_filename_completion_function); ! else ! matches = rl_completion_matches (value, command_word_completion_function); ! } ! ! /* If there is more than one match, rl_completion_matches has already ! put the lcd in matches[0]. Skip over it. */ ! cmd_index = matches && matches[0] && matches[1]; } *************** *** 1360,1364 **** namelen = strlen (varname); if (varlist) ! free_array (varlist); varlist = all_variables_matching_prefix (varname); --- 1448,1452 ---- namelen = strlen (varname); if (varlist) ! strvec_dispose (varlist); varlist = all_variables_matching_prefix (varname); *************** *** 1433,1436 **** --- 1521,1585 ---- } + /* + * A completion function for service names from /etc/services (or wherever). + */ + char * + bash_servicename_completion_function (text, state) + const char *text; + int state; + { + #if defined (__WIN32__) || defined (__OPENNT) || !defined (HAVE_GETSERVENT) + return ((char *)NULL); + #else + static char *sname = (char *)NULL; + static struct servent *srvent; + static int snamelen, firstc; + char *value; + char **alist, *aentry; + int afound; + + if (state == 0) + { + FREE (sname); + firstc = *text; + + sname = savestring (text); + snamelen = strlen (sname); + setservent (0); + } + + while (srvent = getservent ()) + { + afound = 0; + if (snamelen == 0 || (STREQN (sname, srvent->s_name, snamelen))) + break; + /* Not primary, check aliases */ + for (alist = srvent->s_aliases; aentry = *alist; alist++) + { + if (STREQN (sname, aentry, snamelen)) + { + afound = 1; + break; + } + } + + if (afound) + break; + } + + if (srvent == 0) + { + endservent (); + return ((char *)NULL); + } + + value = afound ? savestring (aentry) : savestring (srvent->s_name); + return value; + #endif + } + + /* + * A completion function for group names from /etc/group (or wherever). + */ char * bash_groupname_completion_function (text, state) *************** *** 1517,1521 **** rl_add_undo (UNDO_BEGIN, 0, 0, 0); rl_delete_text (0, rl_point); ! rl_point = rl_end = 0; rl_insert_text (new_line); rl_add_undo (UNDO_END, 0, 0, 0); --- 1666,1670 ---- rl_add_undo (UNDO_BEGIN, 0, 0, 0); rl_delete_text (0, rl_point); ! rl_point = rl_end = rl_mark = 0; rl_insert_text (new_line); rl_add_undo (UNDO_END, 0, 0, 0); *************** *** 1778,1784 **** for (nidx = 1; names[nidx]; nidx++) ; ! newnames = alloc_array (nidx + 1); #ifdef NO_FORCE_FIGNORE ! oldnames = alloc_array (nidx - 1); oidx = 0; #endif --- 1927,1933 ---- for (nidx = 1; names[nidx]; nidx++) ; ! newnames = strvec_create (nidx + 1); #ifdef NO_FORCE_FIGNORE ! oldnames = strvec_create (nidx - 1); oidx = 0; #endif *************** *** 1888,1892 **** char *fn; ! fn = bash_tilde_expand (name); if (stat (fn, &finfo) != 0) { --- 2037,2041 ---- char *fn; ! fn = bash_tilde_expand (name, 0); if (stat (fn, &finfo) != 0) { *************** *** 1936,1946 **** #if 0 ! should_expand_dirname = strchr (local_dirname, '$') || strchr (local_dirname, '`'); #else ! if (strchr (local_dirname, '$')) should_expand_dirname = 1; else { ! t = strchr (local_dirname, '`'); if (t && unclosed_pair (local_dirname, strlen (local_dirname), "`") == 0) should_expand_dirname = 1; --- 2085,2095 ---- #if 0 ! should_expand_dirname = xstrchr (local_dirname, '$') || xstrchr (local_dirname, '`'); #else ! if (xstrchr (local_dirname, '$')) should_expand_dirname = 1; else { ! t = xstrchr (local_dirname, '`'); if (t && unclosed_pair (local_dirname, strlen (local_dirname), "`") == 0) should_expand_dirname = 1; *************** *** 1951,1955 **** { new_dirname = savestring (local_dirname); ! wl = expand_string (new_dirname, 0); if (wl) { --- 2100,2104 ---- { new_dirname = savestring (local_dirname); ! wl = expand_prompt_string (new_dirname, 0); /* does the right thing */ if (wl) { *************** *** 2017,2025 **** if (harry_size) { ! for (i = 0; history_completion_array[i]; i++) ! free (history_completion_array[i]); ! ! free (history_completion_array); ! history_completion_array = (char **)NULL; harry_size = 0; --- 2166,2170 ---- if (harry_size) { ! strvec_dispose (history_completion_array); history_completion_array = (char **)NULL; harry_size = 0; *************** *** 2041,2049 **** { if (harry_len + 2 > harry_size) ! { ! harry_size += 10; ! history_completion_array = (char **)xrealloc ! (history_completion_array, harry_size * sizeof (char *)); ! } history_completion_array[harry_len++] = tokens[j]; --- 2186,2190 ---- { if (harry_len + 2 > harry_size) ! history_completion_array = strvec_resize (history_completion_array, harry_size += 10); history_completion_array[harry_len++] = tokens[j]; *************** *** 2054,2058 **** /* Sort the complete list of tokens. */ ! qsort (history_completion_array, harry_len, sizeof (char *), (QSFUNC *)qsort_string_compare); } } --- 2195,2199 ---- /* Sort the complete list of tokens. */ ! qsort (history_completion_array, harry_len, sizeof (char *), (QSFUNC *)strvec_strcmp); } } *************** *** 2098,2101 **** --- 2239,2243 ---- rl_attempted_completion_function = (rl_completion_func_t *)NULL; + /* XXX - use rl_completion_mode here? */ if (rl_last_func == dynamic_complete_history) r = rl_complete_internal ('?'); *************** *** 2113,2117 **** int ignore, ignore2; { ! return bash_complete_username_internal (TAB); } --- 2255,2259 ---- int ignore, ignore2; { ! return bash_complete_username_internal (rl_completion_mode (bash_complete_username)); } *************** *** 2134,2138 **** int ignore, ignore2; { ! return bash_complete_filename_internal (TAB); } --- 2276,2280 ---- int ignore, ignore2; { ! return bash_complete_filename_internal (rl_completion_mode (bash_complete_filename)); } *************** *** 2177,2181 **** int ignore, ignore2; { ! return bash_complete_hostname_internal (TAB); } --- 2319,2323 ---- int ignore, ignore2; { ! return bash_complete_hostname_internal (rl_completion_mode (bash_complete_hostname)); } *************** *** 2191,2195 **** int ignore, ignore2; { ! return bash_complete_variable_internal (TAB); } --- 2333,2337 ---- int ignore, ignore2; { ! return bash_complete_variable_internal (rl_completion_mode (bash_complete_variable)); } *************** *** 2205,2209 **** int ignore, ignore2; { ! return bash_complete_command_internal (TAB); } --- 2347,2351 ---- int ignore, ignore2; { ! return bash_complete_command_internal (rl_completion_mode (bash_complete_command)); } *************** *** 2236,2239 **** --- 2378,2384 ---- } + static char *globtext; + static char *globorig; + static char * glob_complete_word (text, state) *************** *** 2243,2246 **** --- 2388,2392 ---- static char **matches = (char **)NULL; static int ind; + int glen; char *ret; *************** *** 2248,2254 **** { rl_filename_completion_desired = 1; ! if (matches) ! free (matches); ! matches = shell_glob_filename (text); if (GLOB_FAILED (matches)) matches = (char **)NULL; --- 2394,2415 ---- { rl_filename_completion_desired = 1; ! FREE (matches); ! if (globorig != globtext) ! FREE (globorig); ! FREE (globtext); ! ! if (rl_explicit_arg) ! { ! globorig = savestring (text); ! glen = strlen (text); ! globtext = (char *)xmalloc (glen + 2); ! strcpy (globtext, text); ! globtext[glen] = '*'; ! globtext[glen+1] = '\0'; ! } ! else ! globtext = globorig = savestring (text); ! ! matches = shell_glob_filename (globtext); if (GLOB_FAILED (matches)) matches = (char **)NULL; *************** *** 2268,2271 **** --- 2429,2463 ---- } + /* A special quoting function so we don't end up quoting globbing characters + in the word if there are no matches or multiple matches. */ + static char * + bash_glob_quote_filename (s, rtype, qcp) + char *s; + int rtype; + char *qcp; + { + if (globorig && qcp && *qcp == '\0' && STREQ (s, globorig)) + return (savestring (s)); + else + return (bash_quote_filename (s, rtype, qcp)); + } + + static int + bash_glob_complete_word (count, key) + int count, key; + { + int r; + rl_quote_func_t *orig_quoting_function; + + rl_explicit_arg = 1; /* force `*' append */ + orig_quoting_function = rl_filename_quoting_function; + rl_filename_quoting_function = bash_glob_quote_filename; + + r = bash_glob_completion_internal (rl_completion_mode (bash_glob_complete_word)); + + rl_filename_quoting_function = orig_quoting_function; + return r; + } + static int bash_glob_expand_word (count, key) *************** *** 2373,2377 **** /* OK, we have an unquoted character. Check its presence in rl_completer_word_break_characters. */ ! if (strchr (rl_completer_word_break_characters, *s)) *r++ = '\\'; *r++ = *s; --- 2565,2569 ---- /* OK, we have an unquoted character. Check its presence in rl_completer_word_break_characters. */ ! if (xstrchr (rl_completer_word_break_characters, *s)) *r++ = '\\'; *r++ = *s; *************** *** 2385,2389 **** completing using backslashes, we need to quote some additional characters (those that readline treats as word breaks), so we call ! quote_word_break_chars on the result. */ static char * bash_quote_filename (s, rtype, qcp) --- 2577,2582 ---- completing using backslashes, we need to quote some additional characters (those that readline treats as word breaks), so we call ! quote_word_break_chars on the result. This returns newly-allocated ! memory. */ static char * bash_quote_filename (s, rtype, qcp) *************** *** 2406,2410 **** mtext = s; if (mtext[0] == '~' && rtype == SINGLE_MATCH) ! mtext = bash_tilde_expand (s); cs = completion_quoting_style; --- 2599,2603 ---- mtext = s; if (mtext[0] == '~' && rtype == SINGLE_MATCH) ! mtext = bash_tilde_expand (s, 0); cs = completion_quoting_style; *************** *** 2415,2419 **** quoted correctly using backslashes (a backslash-newline pair is special to the shell parser). */ ! if (*qcp == '\0' && cs == COMPLETE_BSQUOTE && strchr (mtext, '\n')) cs = COMPLETE_SQUOTE; else if (*qcp == '"') --- 2608,2612 ---- quoted correctly using backslashes (a backslash-newline pair is special to the shell parser). */ ! if (*qcp == '\0' && cs == COMPLETE_BSQUOTE && xstrchr (mtext, '\n')) cs = COMPLETE_SQUOTE; else if (*qcp == '"') *************** *** 2423,2431 **** #if defined (BANG_HISTORY) else if (*qcp == '\0' && history_expansion && cs == COMPLETE_DQUOTE && ! history_expansion_inhibited == 0 && strchr (mtext, '!')) cs = COMPLETE_BSQUOTE; if (*qcp == '"' && history_expansion && cs == COMPLETE_DQUOTE && ! history_expansion_inhibited == 0 && strchr (mtext, '!')) { cs = COMPLETE_BSQUOTE; --- 2616,2624 ---- #if defined (BANG_HISTORY) else if (*qcp == '\0' && history_expansion && cs == COMPLETE_DQUOTE && ! history_expansion_inhibited == 0 && xstrchr (mtext, '!')) cs = COMPLETE_BSQUOTE; if (*qcp == '"' && history_expansion && cs == COMPLETE_DQUOTE && ! history_expansion_inhibited == 0 && xstrchr (mtext, '!')) { cs = COMPLETE_BSQUOTE; *************** *** 2484,2487 **** --- 2677,2682 ---- register int i; char *cmd; + int old_line_count; + int *ts; /* First, we need to find the right command to execute. This is tricky, *************** *** 2519,2524 **** rl_crlf (); /* move to a new line */ cmd = savestring (cmd); ! parse_and_execute (cmd, "bash_execute_unix_command", 0); /* and restore the readline buffer and display after command execution. */ --- 2714,2725 ---- rl_crlf (); /* move to a new line */ + old_line_count = current_command_line_count; + ts = save_token_state (); + cmd = savestring (cmd); ! parse_and_execute (cmd, "bash_execute_unix_command", SEVAL_NOHIST); ! ! current_command_line_count = old_line_count; ! restore_token_state (ts); /* and restore the readline buffer and display after command execution. */ diff -Nrc2 bash-2.05a/bashline.h bash-2.05b/bashline.h *** bash-2.05a/bashline.h Mon Sep 10 13:45:18 2001 --- bash-2.05b/bashline.h Tue Mar 5 13:10:20 2002 *************** *** 37,40 **** --- 37,41 ---- extern char *command_word_completion_function __P((const char *, int)); extern char *bash_groupname_completion_function __P((const char *, int)); + extern char *bash_servicename_completion_function __P((const char *, int)); extern char **get_hostname_list __P((void)); diff -Nrc2 bash-2.05a/bashtypes.h bash-2.05b/bashtypes.h *** bash-2.05a/bashtypes.h Thu Aug 5 07:02:34 1999 --- bash-2.05b/bashtypes.h Wed Jan 2 14:03:01 2002 *************** *** 1,3 **** ! /* bashtypes.h -- with special handling for crays. */ /* Copyright (C) 1993 Free Software Foundation, Inc. --- 1,3 ---- ! /* bashtypes.h -- Bash system types. */ /* Copyright (C) 1993 Free Software Foundation, Inc. *************** *** 30,33 **** --- 30,37 ---- #if defined (CRAY) # undef word + #endif + + #if defined (HAVE_INTTYPES_H) + # include #endif diff -Nrc2 bash-2.05a/bracecomp.c bash-2.05b/bracecomp.c *** bash-2.05a/bracecomp.c Thu Aug 2 12:15:44 2001 --- bash-2.05b/bracecomp.c Wed Mar 13 14:04:22 2002 *************** *** 153,157 **** char *temp; ! temp = really_munge_braces (names, 1, array_len (names), 0); for (i = 0; names[i]; ++i) --- 153,157 ---- char *temp; ! temp = really_munge_braces (names, 1, strvec_len (names), 0); for (i = 0; names[i]; ++i) diff -Nrc2 bash-2.05a/braces.c bash-2.05b/braces.c *** bash-2.05a/braces.c Thu May 10 12:25:46 2001 --- bash-2.05b/braces.c Mon May 6 13:50:40 2002 *************** *** 1,5 **** /* braces.c -- code for doing word expansion in curly braces. */ ! /* Copyright (C) 1987,1991 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 1,5 ---- /* braces.c -- code for doing word expansion in curly braces. */ ! /* Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 39,42 **** --- 39,44 ---- #include "general.h" + #include "shmbutil.h" + #define brace_whitespace(c) (!(c) || (c) == ' ' || (c) == '\t' || (c) == '\n') *************** *** 54,59 **** #if defined (__P) ! static int brace_gobbler __P((char *, int *, int)); ! static char **expand_amble __P((char *)); static char **array_concat __P((char **, char **)); #else --- 56,61 ---- #if defined (__P) ! static int brace_gobbler __P((char *, size_t, int *, int)); ! static char **expand_amble __P((char *, size_t)); static char **array_concat __P((char **, char **)); #else *************** *** 69,79 **** { register int start; char *preamble, *postamble, *amble; char **tack, **result; int i, j, c; /* Find the text of the preamble. */ i = 0; ! c = brace_gobbler (text, &i, '{'); preamble = (char *)xmalloc (i + 1); --- 71,86 ---- { register int start; + size_t tlen; char *preamble, *postamble, *amble; + size_t alen; char **tack, **result; int i, j, c; + DECLARE_MBSTATE; + /* Find the text of the preamble. */ + tlen = strlen (text); i = 0; ! c = brace_gobbler (text, tlen, &i, '{'); preamble = (char *)xmalloc (i + 1); *************** *** 92,96 **** /* Find the amble. This is the stuff inside this set of braces. */ start = ++i; ! c = brace_gobbler (text, &i, '}'); /* What if there isn't a matching close brace? */ --- 99,103 ---- /* Find the amble. This is the stuff inside this set of braces. */ start = ++i; ! c = brace_gobbler (text, tlen, &i, '}'); /* What if there isn't a matching close brace? */ *************** *** 100,108 **** /* Well, if we found an unquoted BRACE_ARG_SEPARATOR between START and I, then this should be an error. Otherwise, it isn't. */ ! for (j = start; j < i; j++) { if (text[j] == '\\') { j++; continue; } --- 107,117 ---- /* Well, if we found an unquoted BRACE_ARG_SEPARATOR between START and I, then this should be an error. Otherwise, it isn't. */ ! j = start; ! while (j < i) { if (text[j] == '\\') { j++; + ADVANCE_CHAR (text, tlen, j); continue; } *************** *** 110,117 **** if (text[j] == brace_arg_separator) { ! free_array (result); report_error ("missing `}'"); throw_to_top_level (); } } #endif --- 119,127 ---- if (text[j] == brace_arg_separator) { ! strvec_dispose (result); report_error ("missing `}'"); throw_to_top_level (); } + ADVANCE_CHAR (text, tlen, j); } #endif *************** *** 123,144 **** #if defined (SHELL) amble = substring (text, start, i); #else amble = (char *)xmalloc (1 + (i - start)); strncpy (amble, &text[start], (i - start)); ! amble[i - start] = '\0'; #endif #if defined (SHELL) /* If the amble does not contain an unquoted BRACE_ARG_SEPARATOR, then just return without doing any expansion. */ ! for (j = 0; amble[j]; j++) { if (amble[j] == '\\') { j++; continue; } if (amble[j] == brace_arg_separator) break; } --- 133,163 ---- #if defined (SHELL) amble = substring (text, start, i); + alen = i - start; #else amble = (char *)xmalloc (1 + (i - start)); strncpy (amble, &text[start], (i - start)); ! alen = i - start; ! amble[alen] = '\0'; #endif #if defined (SHELL) + INITIALIZE_MBSTATE; + /* If the amble does not contain an unquoted BRACE_ARG_SEPARATOR, then just return without doing any expansion. */ ! j = 0; ! while (amble[j]) { if (amble[j] == '\\') { j++; + ADVANCE_CHAR (amble, alen, j); continue; } + if (amble[j] == brace_arg_separator) break; + + ADVANCE_CHAR (amble, alen, j); } *************** *** 154,165 **** postamble = &text[i + 1]; ! tack = expand_amble (amble); result = array_concat (result, tack); free (amble); ! free_array (tack); tack = brace_expand (postamble); result = array_concat (result, tack); ! free_array (tack); return (result); --- 173,184 ---- postamble = &text[i + 1]; ! tack = expand_amble (amble, alen); result = array_concat (result, tack); free (amble); ! strvec_dispose (tack); tack = brace_expand (postamble); result = array_concat (result, tack); ! strvec_dispose (tack); return (result); *************** *** 171,176 **** need it. */ static char ** ! expand_amble (text) char *text; { char **result, **partial; --- 190,196 ---- need it. */ static char ** ! expand_amble (text, tlen) char *text; + size_t tlen; { char **result, **partial; *************** *** 178,186 **** int start, i, c; result = (char **)NULL; ! for (start = 0, i = 0, c = 1; c; start = ++i) { ! c = brace_gobbler (text, &i, brace_arg_separator); #if defined (SHELL) tem = substring (text, start, i); --- 198,210 ---- int start, i, c; + DECLARE_MBSTATE; + result = (char **)NULL; ! start = i = 0; ! c = 1; ! while (c) { ! c = brace_gobbler (text, tlen, &i, brace_arg_separator); #if defined (SHELL) tem = substring (text, start, i); *************** *** 197,205 **** else { ! register int lr = array_len (result); ! register int lp = array_len (partial); register int j; ! result = (char **)xrealloc (result, (1 + lp + lr) * sizeof (char *)); for (j = 0; j < lp; j++) --- 221,229 ---- else { ! register int lr = strvec_len (result); ! register int lp = strvec_len (partial); register int j; ! result = strvec_resize (result, lp + lr + 1); for (j = 0; j < lp; j++) *************** *** 210,213 **** --- 234,239 ---- } free (tem); + ADVANCE_CHAR (text, tlen, i); + start = i; } return (result); *************** *** 219,224 **** this is either the same as SATISFY, or 0. */ static int ! brace_gobbler (text, indx, satisfy) char *text; int *indx; int satisfy; --- 245,251 ---- this is either the same as SATISFY, or 0. */ static int ! brace_gobbler (text, tlen, indx, satisfy) char *text; + size_t tlen; int *indx; int satisfy; *************** *** 229,240 **** char *t; #endif level = quoted = pass_next = 0; ! for (i = *indx; c = text[i]; i++) { if (pass_next) { pass_next = 0; continue; } --- 256,270 ---- char *t; #endif + DECLARE_MBSTATE; level = quoted = pass_next = 0; ! i = *indx; ! while (c = text[i]) { if (pass_next) { pass_next = 0; + ADVANCE_CHAR (text, tlen, i); continue; } *************** *** 245,248 **** --- 275,279 ---- { pass_next = 1; + i++; continue; } *************** *** 252,255 **** --- 283,287 ---- if (c == quoted) quoted = 0; + ADVANCE_CHAR (text, tlen, i); continue; } *************** *** 258,261 **** --- 290,294 ---- { quoted = c; + i++; continue; } *************** *** 269,272 **** --- 302,306 ---- i = si; free (t); + i++; continue; } *************** *** 281,285 **** ((!i || brace_whitespace (text[i - 1])) && (brace_whitespace (text[i + 1]) || text[i + 1] == '}'))) ! continue; #if defined (SHELL) /* If this is being compiled as part of bash, ignore the `{' --- 315,322 ---- ((!i || brace_whitespace (text[i - 1])) && (brace_whitespace (text[i + 1]) || text[i + 1] == '}'))) ! { ! i++; ! continue; ! } #if defined (SHELL) /* If this is being compiled as part of bash, ignore the `{' *************** *** 294,297 **** --- 331,336 ---- else if (c == '}' && level) level--; + + ADVANCE_CHAR (text, tlen, i); } *************** *** 313,323 **** if (arr1 == 0) ! return (copy_array (arr2)); if (arr2 == 0) ! return (copy_array (arr1)); ! len1 = array_len (arr1); ! len2 = array_len (arr2); result = (char **)xmalloc ((1 + (len1 * len2)) * sizeof (char *)); --- 352,362 ---- if (arr1 == 0) ! return (strvec_copy (arr2)); if (arr2 == 0) ! return (strvec_copy (arr1)); ! len1 = strvec_len (arr1); ! len2 = strvec_len (arr2); result = (char **)xmalloc ((1 + (len1 * len2)) * sizeof (char *)); diff -Nrc2 bash-2.05a/builtins/Makefile.in bash-2.05b/builtins/Makefile.in *** bash-2.05a/builtins/Makefile.in Tue Oct 23 14:32:18 2001 --- bash-2.05b/builtins/Makefile.in Tue Apr 23 09:24:23 2002 *************** *** 29,47 **** EXEEXT = @EXEEXT@ srcdir = @srcdir@ VPATH = .:@srcdir@ topdir = @top_srcdir@ includedir = @includedir@ BUILD_DIR = @BUILD_DIR@ PROFILE_FLAGS = @PROFILE_FLAGS@ CFLAGS = @CFLAGS@ ! LOCAL_CFLAGS = @LOCAL_CFLAGS@ ${DEBUG} CPPFLAGS = @CPPFLAGS@ DEFS = @DEFS@ LOCAL_DEFS = @LOCAL_DEFS@ LDFLAGS = @LDFLAGS@ $(LOCAL_LDFLAGS) $(CFLAGS) LOCAL_LDFLAGS = @LOCAL_LDFLAGS@ ! LIBS = @LIBS@ BASHINCDIR = ${topdir}/include --- 29,62 ---- EXEEXT = @EXEEXT@ + prefix = @prefix@ + srcdir = @srcdir@ VPATH = .:@srcdir@ topdir = @top_srcdir@ includedir = @includedir@ + datadir = @datadir@ + + # Support an alternate destination root directory for package building + DESTDIR = + + INSTALL = @INSTALL@ + INSTALL_DATA = @INSTALL_DATA@ BUILD_DIR = @BUILD_DIR@ PROFILE_FLAGS = @PROFILE_FLAGS@ CFLAGS = @CFLAGS@ ! CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@ CPPFLAGS = @CPPFLAGS@ + CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ + LOCAL_CFLAGS = @LOCAL_CFLAGS@ ${DEBUG} DEFS = @DEFS@ LOCAL_DEFS = @LOCAL_DEFS@ + + LIBS = @LIBS@ LDFLAGS = @LDFLAGS@ $(LOCAL_LDFLAGS) $(CFLAGS) + LDFLAGS_FOR_BUILD = $(LDFLAGS) LOCAL_LDFLAGS = @LOCAL_LDFLAGS@ ! #LIBS_FOR_BUILD = @LIBS_FOR_BUILD@ ! LIBS_FOR_BUILD = $(LIBS) BASHINCDIR = ${topdir}/include *************** *** 49,58 **** RL_INCLUDEDIR = @RL_INCLUDEDIR@ INCLUDES = -I. -I.. @RL_INCLUDE@ -I$(topdir) -I$(BASHINCDIR) -I$(topdir)/lib -I$(srcdir) ! CCFLAGS_FOR_BUILD = ${PROFILE_FLAGS} $(DEFS) $(LOCAL_DEFS) $(SYSTEM_FLAGS) \ ! $(CPPFLAGS) ${INCLUDES} $(LOCAL_CFLAGS) ! CCFLAGS = $(CCFLAGS_FOR_BUILD) $(CFLAGS) GCC_LINT_FLAGS = -Wall -Wshadow -Wpointer-arith -Wcast-qual \ --- 64,78 ---- RL_INCLUDEDIR = @RL_INCLUDEDIR@ + HELPDIR = @HELPDIR@ + MKDIRS = ${topdir}/support/mkdirs + INCLUDES = -I. -I.. @RL_INCLUDE@ -I$(topdir) -I$(BASHINCDIR) -I$(topdir)/lib -I$(srcdir) ! BASE_CCFLAGS = ${PROFILE_FLAGS} $(DEFS) $(LOCAL_DEFS) $(SYSTEM_FLAGS) \ ! ${INCLUDES} $(LOCAL_CFLAGS) ! CCFLAGS = $(BASE_CCFLAGS) $(CPPFLAGS) $(CFLAGS) ! ! CCFLAGS_FOR_BUILD = $(BASE_CCFLAGS) $(CPPFLAGS_FOR_BUILD) $(CFLAGS_FOR_BUILD) GCC_LINT_FLAGS = -Wall -Wshadow -Wpointer-arith -Wcast-qual \ *************** *** 62,65 **** --- 82,86 ---- MKBUILTINS = mkbuiltins$(EXEEXT) DIRECTDEFINE = -D $(srcdir) + HELPDIRDEFINE = @HELPDIRDEFINE@ # xxx this is bad style *************** *** 125,129 **** @-if test -f builtext.h; then mv -f builtext.h old-builtext.h; fi ./$(MKBUILTINS) -externfile builtext.h -structfile builtins.c \ ! -noproduction $(DIRECTDEFINE) $(DEFSRC) @-if cmp -s old-builtext.h builtext.h 2>/dev/null; then \ mv old-builtext.h builtext.h; \ --- 146,150 ---- @-if test -f builtext.h; then mv -f builtext.h old-builtext.h; fi ./$(MKBUILTINS) -externfile builtext.h -structfile builtins.c \ ! -noproduction $(DIRECTDEFINE) $(HELPDIRDEFINE) $(DEFSRC) @-if cmp -s old-builtext.h builtext.h 2>/dev/null; then \ mv old-builtext.h builtext.h; \ *************** *** 137,140 **** --- 158,176 ---- fi + helpdoc: $(MKBUILTINS) $(DEFSRC) + ./$(MKBUILTINS) ${HELPDIRDEFINE} -noproduction $(DIRECTDEFINE) $(DEFSRC) + + install-help: + @-if test -n "${HELPDIR}" && test -d helpfiles ; then \ + test -d ${HELPDIR} || ${SHELL} ${MKDIRS} $(DESTDIR)$(HELPDIR) ;\ + ( cd helpfiles ; \ + for f in *; do \ + echo installing $$f; \ + ${INSTALL_DATA} $$f $(DESTDIR)$(HELPDIR); \ + done; ) ; \ + fi + + install: @HELPINSTALL@ + mkbuiltins.o: ../config.h mkbuiltins.o: mkbuiltins.c *************** *** 143,147 **** mkbuiltins$(EXEEXT): mkbuiltins.o ! $(CC_FOR_BUILD) $(PROFILE_FLAGS) $(LDFLAGS) -o $(MKBUILTINS) mkbuiltins.o $(LIBS) # rules for deficient makes, like SunOS --- 179,183 ---- mkbuiltins$(EXEEXT): mkbuiltins.o ! $(CC_FOR_BUILD) $(LDFLAGS_FOR_BUILD) -o $(MKBUILTINS) mkbuiltins.o $(LIBS_FOR_BUILD) # rules for deficient makes, like SunOS *************** *** 164,169 **** documentation: builtins.texi - $(OFILES): $(MKBUILTINS) ../config.h - builtins.texi: $(MKBUILTINS) ./$(MKBUILTINS) -documentonly $(DEFSRC) --- 200,203 ---- *************** *** 171,174 **** --- 205,209 ---- clean: $(RM) $(OFILES) $(CREATED_FILES) $(MKBUILTINS) mkbuiltins.o libbuiltins.a + -test -d helpfiles && $(RM) -r helpfiles mostlyclean: *************** *** 178,181 **** --- 213,218 ---- $(RM) Makefile + $(OFILES): $(MKBUILTINS) ../config.h + alias.o: alias.def bind.o: bind.def *************** *** 294,297 **** --- 331,335 ---- builtin.o: $(topdir)/dispose_cmd.h $(topdir)/make_cmd.h $(topdir)/subst.h builtin.o: $(topdir)/shell.h $(topdir)/syntax.h $(topdir)/unwind_prot.h $(topdir)/variables.h $(topdir)/conftypes.h + builtin.o: $(srcdir)/bashgetopt.h cd.o: $(topdir)/command.h ../config.h $(BASHINCDIR)/memalloc.h $(topdir)/error.h cd.o: $(topdir)/general.h $(topdir)/xmalloc.h $(topdir)/quit.h $(topdir)/dispose_cmd.h *************** *** 309,313 **** declare.o: $(topdir)/subst.h $(topdir)/externs.h $(BASHINCDIR)/maxpath.h declare.o: $(topdir)/shell.h $(topdir)/syntax.h $(topdir)/unwind_prot.h $(topdir)/variables.h $(topdir)/conftypes.h ! declare.o: $(topdir)/arrayfunc.h echo.o: $(topdir)/command.h ../config.h $(BASHINCDIR)/memalloc.h $(topdir)/error.h echo.o: $(topdir)/general.h $(topdir)/xmalloc.h $(topdir)/subst.h $(topdir)/externs.h --- 347,351 ---- declare.o: $(topdir)/subst.h $(topdir)/externs.h $(BASHINCDIR)/maxpath.h declare.o: $(topdir)/shell.h $(topdir)/syntax.h $(topdir)/unwind_prot.h $(topdir)/variables.h $(topdir)/conftypes.h ! declare.o: $(topdir)/arrayfunc.h $(srcdir)/bashgetopt.h echo.o: $(topdir)/command.h ../config.h $(BASHINCDIR)/memalloc.h $(topdir)/error.h echo.o: $(topdir)/general.h $(topdir)/xmalloc.h $(topdir)/subst.h $(topdir)/externs.h *************** *** 352,356 **** fc.o: $(topdir)/flags.h $(topdir)/unwind_prot.h $(topdir)/variables.h $(topdir)/conftypes.h fc.o: $(topdir)/bashansi.h $(BASHINCDIR)/ansi_stdlib.h $(BASHINCDIR)/chartypes.h ! fg_bg.o: $(topdir)/bashtypes.h fg_bg.o: $(topdir)/command.h ../config.h $(BASHINCDIR)/memalloc.h fg_bg.o: $(topdir)/error.h $(topdir)/general.h $(topdir)/xmalloc.h --- 390,394 ---- fc.o: $(topdir)/flags.h $(topdir)/unwind_prot.h $(topdir)/variables.h $(topdir)/conftypes.h fc.o: $(topdir)/bashansi.h $(BASHINCDIR)/ansi_stdlib.h $(BASHINCDIR)/chartypes.h ! fg_bg.o: $(topdir)/bashtypes.h $(srcdir)/bashgetopt.h fg_bg.o: $(topdir)/command.h ../config.h $(BASHINCDIR)/memalloc.h fg_bg.o: $(topdir)/error.h $(topdir)/general.h $(topdir)/xmalloc.h *************** *** 374,378 **** help.o: $(topdir)/subst.h $(topdir)/externs.h $(BASHINCDIR)/maxpath.h help.o: $(topdir)/shell.h $(topdir)/syntax.h $(topdir)/unwind_prot.h $(topdir)/variables.h $(topdir)/conftypes.h ! help.o: ${srcdir}/common.h ../version.h history.o: $(topdir)/bashtypes.h history.o: $(topdir)/command.h ../config.h $(BASHINCDIR)/memalloc.h --- 412,416 ---- help.o: $(topdir)/subst.h $(topdir)/externs.h $(BASHINCDIR)/maxpath.h help.o: $(topdir)/shell.h $(topdir)/syntax.h $(topdir)/unwind_prot.h $(topdir)/variables.h $(topdir)/conftypes.h ! help.o: ${srcdir}/common.h history.o: $(topdir)/bashtypes.h history.o: $(topdir)/command.h ../config.h $(BASHINCDIR)/memalloc.h *************** *** 450,453 **** --- 488,492 ---- source.o: $(topdir)/subst.h $(topdir)/externs.h $(BASHINCDIR)/maxpath.h source.o: $(topdir)/shell.h $(topdir)/syntax.h $(topdir)/unwind_prot.h $(topdir)/variables.h $(topdir)/conftypes.h + source.o: $(srcdir)/bashgetopt.h suspend.o: $(topdir)/command.h ../config.h $(BASHINCDIR)/memalloc.h suspend.o: $(topdir)/error.h $(topdir)/general.h $(topdir)/xmalloc.h diff -Nrc2 bash-2.05a/builtins/alias.def bash-2.05b/builtins/alias.def *** bash-2.05a/builtins/alias.def Tue Sep 11 15:26:14 2001 --- bash-2.05b/builtins/alias.def Tue Mar 19 11:41:57 2002 *************** *** 2,6 **** It implements the builtins "alias" and "unalias" in Bash. ! Copyright (C) 1987, 1989, 1991 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtins "alias" and "unalias" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 121,125 **** else { ! builtin_error ("`%s' not found", name); any_failed++; } --- 121,125 ---- else { ! sh_notfound (name); any_failed++; } *************** *** 181,185 **** else { ! builtin_error ("`%s': not an alias", list->word->word); aflag++; } --- 181,185 ---- else { ! sh_notfound (list->word->word); aflag++; } diff -Nrc2 bash-2.05a/builtins/bashgetopt.c bash-2.05b/builtins/bashgetopt.c *** bash-2.05a/builtins/bashgetopt.c Wed Sep 12 11:56:33 2001 --- bash-2.05b/builtins/bashgetopt.c Mon Apr 8 13:18:40 2002 *************** *** 1,5 **** /* bashgetopt.c -- `getopt' for use by the builtins. */ ! /* Copyright (C) 1992 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 1,5 ---- /* bashgetopt.c -- `getopt' for use by the builtins. */ ! /* Copyright (C) 1992-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 32,41 **** #include "common.h" ! #define ERR(S, C) builtin_error("%s%c", (S), (C)) ! static int sp; char *list_optarg; int list_optopt; static WORD_LIST *lhead = (WORD_LIST *)NULL; --- 32,43 ---- #include "common.h" ! #define ISOPT(s) (((*(s) == '-') || (plus && *(s) == '+')) && (s)[1]) ! #define NOTOPT(s) (((*(s) != '-') && (!plus || *(s) != '+')) || (s)[1] == '\0') ! static int sp; char *list_optarg; int list_optopt; + int list_opttype; static WORD_LIST *lhead = (WORD_LIST *)NULL; *************** *** 51,60 **** register char *cp; int plus; /* nonzero means to handle +option */ ! if (*opts == '+') { ! plus = 1; opts++; - } else - plus = 0; if (list == 0) { --- 53,61 ---- register char *cp; int plus; /* nonzero means to handle +option */ + static char errstr[3] = { '-', '\0', '\0' }; ! plus = *opts == '+'; ! if (plus) opts++; if (list == 0) { *************** *** 72,77 **** if (sp == 1) { ! if (lcurrent == 0 || ! (lcurrent->word->word[0] != '-' || lcurrent->word->word[1] == '\0')) { lhead = (WORD_LIST *)NULL; loptend = lcurrent; --- 73,77 ---- if (sp == 1) { ! if (lcurrent == 0 || NOTOPT(lcurrent->word->word)) { lhead = (WORD_LIST *)NULL; loptend = lcurrent; *************** *** 84,87 **** --- 84,88 ---- return(-1); } + errstr[0] = list_opttype = lcurrent->word->word[0]; } *************** *** 89,93 **** if (c == ':' || (cp = strchr(opts, c)) == NULL) { ! ERR("illegal option: -", c); if (lcurrent->word->word[++sp] == '\0') { lcurrent = lcurrent->next; --- 90,95 ---- if (c == ':' || (cp = strchr(opts, c)) == NULL) { ! errstr[1] = c; ! sh_invalidopt (errstr); if (lcurrent->word->word[++sp] == '\0') { lcurrent = lcurrent->next; *************** *** 109,113 **** --- 111,119 ---- /* If the specifier is `;', don't set optarg if the next argument looks like another option. */ + #if 0 } else if (lcurrent->next && (*cp == ':' || lcurrent->next->word->word[0] != '-')) { + #else + } else if (lcurrent->next && (*cp == ':' || NOTOPT(lcurrent->next->word->word))) { + #endif lcurrent = lcurrent->next; list_optarg = lcurrent->word->word; *************** *** 117,121 **** lcurrent = lcurrent->next; } else { /* lcurrent->next == NULL */ ! ERR("option requires an argument: -", c); sp = 1; list_optarg = (char *)NULL; --- 123,128 ---- lcurrent = lcurrent->next; } else { /* lcurrent->next == NULL */ ! errstr[1] = c; ! sh_needarg (errstr); sp = 1; list_optarg = (char *)NULL; *************** *** 124,128 **** sp = 1; } else if (*cp == '#') { ! /* optional numeric argument */ if (lcurrent->word->word[sp+1]) { if (DIGIT(lcurrent->word->word[sp+1])) { --- 131,135 ---- sp = 1; } else if (*cp == '#') { ! /* option requires a numeric argument */ if (lcurrent->word->word[sp+1]) { if (DIGIT(lcurrent->word->word[sp+1])) { *************** *** 132,141 **** list_optarg = (char *)NULL; } else { ! if (lcurrent->next && legal_number(lcurrent->next->word->word, (long *)0)) { lcurrent = lcurrent->next; list_optarg = lcurrent->word->word; lcurrent = lcurrent->next; ! } else list_optarg = (char *)NULL; } --- 139,153 ---- list_optarg = (char *)NULL; } else { ! if (lcurrent->next && legal_number(lcurrent->next->word->word, (intmax_t *)0)) { lcurrent = lcurrent->next; list_optarg = lcurrent->word->word; lcurrent = lcurrent->next; ! } else { ! errstr[1] = c; ! sh_neednumarg (errstr); ! sp = 1; list_optarg = (char *)NULL; + return ('?'); + } } *************** *** 162,176 **** sp = 1; } - - #ifdef INCLUDE_UNUSED - void - report_bad_option () - { - char s[3]; - - s[0] = '-'; - s[1] = list_optopt; - s[2] = '\0'; - bad_option (s); - } - #endif --- 174,175 ---- diff -Nrc2 bash-2.05a/builtins/bashgetopt.h bash-2.05b/builtins/bashgetopt.h *** bash-2.05a/builtins/bashgetopt.h Tue Sep 11 15:25:47 2001 --- bash-2.05b/builtins/bashgetopt.h Mon Apr 8 13:18:40 2002 *************** *** 29,32 **** --- 29,33 ---- extern int list_optopt; + extern int list_opttype; extern WORD_LIST *lcurrent; *************** *** 35,39 **** extern int internal_getopt __P((WORD_LIST *, char *)); extern void reset_internal_getopt __P((void)); - extern void report_bad_option __P((void)); #endif /* !__BASH_GETOPT_H */ --- 36,39 ---- diff -Nrc2 bash-2.05a/builtins/bind.def bash-2.05b/builtins/bind.def *** bash-2.05a/builtins/bind.def Tue Aug 28 13:03:19 2001 --- bash-2.05b/builtins/bind.def Thu Apr 4 11:24:15 2002 *************** *** 2,6 **** It implements the builtin "bind" in Bash. ! Copyright (C) 1987, 1989, 1991 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtin "bind" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 27,35 **** $DEPENDS_ON READLINE $FUNCTION bind_builtin ! $SHORT_DOC bind [-lpvsPVS] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-x keyseq:shell-command] [keyseq:readline-function] ! Bind a key sequence to a Readline function, or to a macro. The ! syntax is equivalent to that found in ~/.inputrc, but must be ! passed as a single argument: bind '"\C-x\C-r": re-read-init-file'. ! Arguments we accept: -m keymap Use `keymap' as the keymap for the duration of this command. Acceptable keymap names are emacs, --- 27,36 ---- $DEPENDS_ON READLINE $FUNCTION bind_builtin ! $SHORT_DOC bind [-lpvsPVS] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-x keyseq:shell-command] [keyseq:readline-function or readline-command] ! Bind a key sequence to a Readline function or a macro, or set ! a Readline variable. The non-option argument syntax is equivalent ! to that found in ~/.inputrc, but must be passed as a single argument: ! bind '"\C-x\C-r": re-read-init-file'. ! bind accepts the following options: -m keymap Use `keymap' as the keymap for the duration of this command. Acceptable keymap names are emacs, *************** *** 41,46 **** reused as input. -r keyseq Remove the binding for KEYSEQ. ! -x keyseq:shell-command Cause SHELL-COMMAND to be executed when KEYSEQ ! is entered. -f filename Read key bindings from FILENAME. -q function-name Query about which keys invoke the named function. --- 42,47 ---- reused as input. -r keyseq Remove the binding for KEYSEQ. ! -x keyseq:shell-command Cause SHELL-COMMAND to be executed when ! KEYSEQ is entered. -f filename Read key bindings from FILENAME. -q function-name Query about which keys invoke the named function. *************** *** 50,55 **** be reused as input. -S List key sequences that invoke macros and their values ! -s List key sequences that invoke macros and their values in ! a form that can be reused as input. $END --- 51,56 ---- be reused as input. -S List key sequences that invoke macros and their values ! -s List key sequences that invoke macros and their values ! in a form that can be reused as input. $END *************** *** 228,232 **** if (rl_read_init_file (initfile) != 0) { ! builtin_error ("cannot read %s: %s", initfile, strerror (errno)); BIND_RETURN (EXECUTION_FAILURE); } --- 229,233 ---- if (rl_read_init_file (initfile) != 0) { ! builtin_error ("%s: cannot read: %s", initfile, strerror (errno)); BIND_RETURN (EXECUTION_FAILURE); } *************** *** 243,247 **** if (rl_set_key (remove_seq, (rl_command_func_t *)NULL, rl_get_keymap ()) != 0) { ! builtin_error ("cannot unbind %s", remove_seq); BIND_RETURN (EXECUTION_FAILURE); } --- 244,248 ---- if (rl_set_key (remove_seq, (rl_command_func_t *)NULL, rl_get_keymap ()) != 0) { ! builtin_error ("`%s': cannot unbind", remove_seq); BIND_RETURN (EXECUTION_FAILURE); } *************** *** 278,282 **** if (function == 0) { ! builtin_error ("unknown function name `%s'", name); return EXECUTION_FAILURE; } --- 279,283 ---- if (function == 0) { ! builtin_error ("`%s': unknown function name", name); return EXECUTION_FAILURE; } *************** *** 295,299 **** if (keyseqs[j]) printf ("...\n"); ! free_array (keyseqs); return EXECUTION_SUCCESS; } --- 296,300 ---- if (keyseqs[j]) printf ("...\n"); ! strvec_dispose (keyseqs); return EXECUTION_SUCCESS; } *************** *** 308,312 **** if (function == 0) { ! builtin_error ("unknown function name `%s'", name); return EXECUTION_FAILURE; } --- 309,313 ---- if (function == 0) { ! builtin_error ("`%s': unknown function name", name); return EXECUTION_FAILURE; } diff -Nrc2 bash-2.05a/builtins/break.def bash-2.05b/builtins/break.def *** bash-2.05a/builtins/break.def Mon May 21 15:26:47 2001 --- bash-2.05b/builtins/break.def Tue Mar 19 14:03:59 2002 *************** *** 2,6 **** It implements the builtins "break" and "continue" in Bash. ! Copyright (C) 1987, 1989, 1991 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtins "break" and "continue" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 60,64 **** WORD_LIST *list; { ! long newbreak; if (check_loop_level () == 0) --- 60,64 ---- WORD_LIST *list; { ! intmax_t newbreak; if (check_loop_level () == 0) *************** *** 69,73 **** if (newbreak <= 0) { ! builtin_error ("loop count must be > 0"); breaking = loop_level; return (EXECUTION_FAILURE); --- 69,73 ---- if (newbreak <= 0) { ! sh_erange (list->word->word, "loop count"); breaking = loop_level; return (EXECUTION_FAILURE); *************** *** 95,99 **** WORD_LIST *list; { ! long newcont; if (check_loop_level () == 0) --- 95,99 ---- WORD_LIST *list; { ! intmax_t newcont; if (check_loop_level () == 0) *************** *** 104,108 **** if (newcont <= 0) { ! builtin_error ("loop count must be > 0"); breaking = loop_level; return (EXECUTION_FAILURE); --- 104,108 ---- if (newcont <= 0) { ! sh_erange (list->word->word, "loop count"); breaking = loop_level; return (EXECUTION_FAILURE); diff -Nrc2 bash-2.05a/builtins/builtin.def bash-2.05b/builtins/builtin.def *** bash-2.05a/builtins/builtin.def Tue Aug 28 13:02:02 2001 --- bash-2.05b/builtins/builtin.def Mon Apr 8 13:19:08 2002 *************** *** 2,6 **** It implements the builtin "builtin" in Bash. ! Copyright (C) 1987, 1989, 1991 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtin "builtin" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 40,43 **** --- 40,44 ---- #include "../shell.h" #include "common.h" + #include "bashgetopt.h" extern char *this_command_name; *************** *** 52,59 **** register char *command; ! if (!list) return (EXECUTION_SUCCESS); ! command = (list->word->word); #if defined (DISABLED_BUILTINS) function = builtin_address (command); --- 53,64 ---- register char *command; ! if (no_options (list)) ! return (EX_USAGE); ! list = loptend; /* skip over possible `--' */ ! ! if (list == 0) return (EXECUTION_SUCCESS); ! command = list->word->word; #if defined (DISABLED_BUILTINS) function = builtin_address (command); diff -Nrc2 bash-2.05a/builtins/cd.def bash-2.05b/builtins/cd.def *** bash-2.05a/builtins/cd.def Tue Sep 11 16:22:46 2001 --- bash-2.05b/builtins/cd.def Mon Jul 15 14:51:39 2002 *************** *** 70,74 **** $BUILTIN cd $FUNCTION cd_builtin ! $SHORT_DOC cd [-PL] [dir] Change the current directory to DIR. The variable $HOME is the default DIR. The variable CDPATH defines the search path for --- 70,74 ---- $BUILTIN cd $FUNCTION cd_builtin ! $SHORT_DOC cd [-L|-P] [dir] Change the current directory to DIR. The variable $HOME is the default DIR. The variable CDPATH defines the search path for *************** *** 119,122 **** --- 119,135 ---- } + /* Call get_working_directory to reset the value of + the_current_working_directory () */ + static char * + resetpwd () + { + char *tdir; + + FREE (the_current_working_directory); + the_current_working_directory = (char *)NULL; + tdir = get_working_directory ("cd"); + return (tdir); + } + #define LCD_DOVARS 0x001 #define LCD_DOSPELL 0x002 *************** *** 138,142 **** if (restricted) { ! builtin_error ("restricted"); return (EXECUTION_FAILURE); } --- 151,155 ---- if (restricted) { ! sh_restricted ((char *)NULL); return (EXECUTION_FAILURE); } *************** *** 351,355 **** { char *t, *tdir; ! int err; tdir = (char *)NULL; --- 364,368 ---- { char *t, *tdir; ! int err, canon_failed; tdir = (char *)NULL; *************** *** 371,374 **** --- 384,388 ---- /* Use the canonicalized version of NEWDIR, or, if canonicalization failed, use the non-canonical form. */ + canon_failed = 0; if (tdir && *tdir) free (t); *************** *** 377,380 **** --- 391,404 ---- FREE (tdir); tdir = t; + canon_failed = 1; + } + + /* In POSIX mode, if we're resolving symlinks logically and sh_canonpath + returns NULL (because it checks the path, it will return NULL if the + resolved path doesn't exist), fail immediately. */ + if (posixly_correct && nolinks == 0 && canon_failed) + { + errno = ENOENT; + return (0); } *************** *** 382,388 **** if (chdir (nolinks ? newdir : tdir) == 0) { ! FREE (the_current_working_directory); ! the_current_working_directory = tdir; ! return (1); } --- 406,419 ---- if (chdir (nolinks ? newdir : tdir) == 0) { ! /* If canonicalization failed, but the chdir succeeded, reset the ! shell's idea of the_current_working_directory. */ ! if (canon_failed) ! resetpwd (); ! else ! { ! FREE (the_current_working_directory); ! the_current_working_directory = tdir; ! } ! return (1); } *************** *** 401,407 **** if (chdir (newdir) == 0) { ! FREE (the_current_working_directory); ! the_current_working_directory = (char *)NULL; ! tdir = get_working_directory ("cd"); FREE (tdir); --- 432,436 ---- if (chdir (newdir) == 0) { ! tdir = resetpwd (); FREE (tdir); diff -Nrc2 bash-2.05a/builtins/colon.def bash-2.05b/builtins/colon.def *** bash-2.05a/builtins/colon.def Thu Dec 30 15:21:26 1999 --- bash-2.05b/builtins/colon.def Thu Apr 4 14:25:21 2002 *************** *** 2,6 **** It implements the builtin ":" in Bash. ! Copyright (C) 1987, 1989, 1991 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtin ":" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 23,27 **** $BUILTIN : ! $DOCNAME colon_builtin $FUNCTION colon_builtin $SHORT_DOC : --- 23,27 ---- $BUILTIN : ! $DOCNAME colon $FUNCTION colon_builtin $SHORT_DOC : *************** *** 30,34 **** $BUILTIN true - $DOCNAME true_builtin $FUNCTION colon_builtin $SHORT_DOC true --- 30,33 ---- *************** *** 37,41 **** $BUILTIN false - $DOCNAME false_builtin $FUNCTION false_builtin $SHORT_DOC false --- 36,39 ---- diff -Nrc2 bash-2.05a/builtins/command.def bash-2.05b/builtins/command.def *** bash-2.05a/builtins/command.def Tue Sep 11 10:59:12 2001 --- bash-2.05b/builtins/command.def Tue Mar 19 10:39:51 2002 *************** *** 2,6 **** It implements the builtin "command" in Bash. ! Copyright (C) 1987, 1989, 1991 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtin "command" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 79,86 **** break; case 'V': ! verbose = 2; break; case 'v': ! verbose = 4; break; default: --- 79,86 ---- break; case 'V': ! verbose = CDESC_SHORTDESC; /* look in common.h for constants */ break; case 'v': ! verbose = CDESC_REUSABLE; /* ditto */ break; default: *************** *** 100,107 **** for (any_found = 0; list; list = list->next) { ! found = describe_command (list->word->word, verbose, 0); if (found == 0) ! builtin_error ("%s: not found", list->word->word); any_found += found; --- 100,107 ---- for (any_found = 0; list; list = list->next) { ! found = describe_command (list->word->word, verbose); if (found == 0) ! sh_notfound (list->word->word); any_found += found; *************** *** 113,117 **** if (use_standard_path && restricted) { ! builtin_error ("restricted: cannot use -p"); return (EXECUTION_FAILURE); } --- 113,117 ---- if (use_standard_path && restricted) { ! sh_restricted ("-p"); return (EXECUTION_FAILURE); } diff -Nrc2 bash-2.05a/builtins/common.c bash-2.05b/builtins/common.c *** bash-2.05a/builtins/common.c Mon Oct 29 13:14:49 2001 --- bash-2.05b/builtins/common.c Fri Jun 28 12:24:31 2002 *************** *** 1,3 **** ! /* Copyright (C) 1987, 1989, 1991 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 1,3 ---- ! /* Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 37,43 **** # include #else ! # if defined (PREFER_VARARGS) ! # include ! # endif #endif --- 37,41 ---- # include #else ! # include #endif *************** *** 65,70 **** #endif /* !errno */ ! extern int no_symbolic_links; ! extern int indirection_level, startup_state, subshell_environment; extern int line_number; extern int last_command_exit_value; --- 63,67 ---- #endif /* !errno */ ! extern int indirection_level, subshell_environment; extern int line_number; extern int last_command_exit_value; *************** *** 87,91 **** instead of shell control structures, and it won't ever exit the shell. */ - #if defined (USE_VARARGS) void #if defined (PREFER_STDARG) --- 84,87 ---- *************** *** 103,114 **** fprintf (stderr, "%s: ", name); if (this_command_name && *this_command_name) fprintf (stderr, "%s: ", this_command_name); ! #if defined (PREFER_STDARG) ! va_start (args, format); ! #else ! va_start (args); ! #endif vfprintf (stderr, format, args); --- 99,109 ---- fprintf (stderr, "%s: ", name); + if (interactive_shell == 0) + fprintf (stderr, "line %d: ", executing_line_number ()); + if (this_command_name && *this_command_name) fprintf (stderr, "%s: ", this_command_name); ! SH_VA_START (args, format); vfprintf (stderr, format, args); *************** *** 116,132 **** fprintf (stderr, "\n"); } - #else /* !USE_VARARGS */ - void - builtin_error (format, arg1, arg2, arg3, arg4, arg5) - char *format, *arg1, *arg2, *arg3, *arg4, *arg5; - { - if (this_command_name && *this_command_name) - fprintf (stderr, "%s: ", this_command_name); - - fprintf (stderr, format, arg1, arg2, arg3, arg4, arg5); - fprintf (stderr, "\n"); - fflush (stderr); - } - #endif /* !USE_VARARGS */ /* Print a usage summary for the currently-executing builtin command. */ --- 111,114 ---- *************** *** 153,165 **** } - /* Function called when one of the builtin commands detects a bad - option. */ - void - bad_option (s) - char *s; - { - builtin_error ("unknown option: %s", s); - } - /* Check that no options were given to the currently-executing builtin, and return 0 if there were options. */ --- 135,138 ---- *************** *** 177,180 **** --- 150,266 ---- } + void + sh_needarg (s) + char *s; + { + builtin_error ("%s: option requires an argument", s); + } + + void + sh_neednumarg (s) + char *s; + { + builtin_error ("%s: numeric argument required", s); + } + + void + sh_notfound (s) + char *s; + { + builtin_error ("%s: not found", s); + } + + /* Function called when one of the builtin commands detects an invalid + option. */ + void + sh_invalidopt (s) + char *s; + { + builtin_error ("%s: invalid option", s); + } + + void + sh_invalidoptname (s) + char *s; + { + builtin_error ("%s: invalid option name", s); + } + + void + sh_invalidid (s) + char *s; + { + builtin_error ("`%s': not a valid identifier", s); + } + + void + sh_invalidnum (s) + char *s; + { + builtin_error ("%s: invalid number", s); + } + + void + sh_invalidsig (s) + char *s; + { + builtin_error ("%s: invalid signal specification", s); + } + + void + sh_badpid (s) + char *s; + { + builtin_error ("`%s': not a pid or valid job spec", s); + } + + void + sh_readonly (s) + const char *s; + { + builtin_error ("%s: readonly variable", s); + } + + void + sh_erange (s, desc) + char *s, *desc; + { + if (s) + builtin_error ("%s: %s out of range", s, desc ? desc : "argument"); + else + builtin_error ("%s out of range", desc ? desc : "argument"); + } + + #if defined (JOB_CONTROL) + void + sh_badjob (s) + char *s; + { + builtin_error ("%s: no such job", s); + } + + void + sh_nojobs (s) + char *s; + { + if (s) + builtin_error ("%s: no job control"); + else + builtin_error ("no job control"); + } + #endif + + #if defined (RESTRICTED_SHELL) + void + sh_restricted (s) + char *s; + { + if (s) + builtin_error ("%s: restricted", s); + else + builtin_error ("restricted"); + } + #endif + /* **************************************************************** */ /* */ *************** *** 193,197 **** char **argv; ! argv = word_list_to_argv (list, 0, 1, ip); argv[0] = this_command_name; return argv; --- 279,283 ---- char **argv; ! argv = strvec_from_word_list (list, 0, 1, ip); argv[0] = this_command_name; return argv; *************** *** 236,300 **** } - /* **************************************************************** */ - /* */ - /* Pushing and Popping variable contexts */ - /* */ - /* **************************************************************** */ - - static WORD_LIST **dollar_arg_stack = (WORD_LIST **)NULL; - static int dollar_arg_stack_slots; - static int dollar_arg_stack_index; - - void - push_context () - { - push_dollar_vars (); - variable_context++; - } - - void - pop_context () - { - pop_dollar_vars (); - kill_all_local_variables (); - variable_context--; - } - - /* Save the existing positional parameters on a stack. */ - void - push_dollar_vars () - { - if (dollar_arg_stack_index + 2 > dollar_arg_stack_slots) - { - dollar_arg_stack = (WORD_LIST **) - xrealloc (dollar_arg_stack, (dollar_arg_stack_slots += 10) - * sizeof (WORD_LIST **)); - } - dollar_arg_stack[dollar_arg_stack_index++] = list_rest_of_args (); - dollar_arg_stack[dollar_arg_stack_index] = (WORD_LIST *)NULL; - } - - /* Restore the positional parameters from our stack. */ - void - pop_dollar_vars () - { - if (!dollar_arg_stack || dollar_arg_stack_index == 0) - return; - - remember_args (dollar_arg_stack[--dollar_arg_stack_index], 1); - dispose_words (dollar_arg_stack[dollar_arg_stack_index]); - dollar_arg_stack[dollar_arg_stack_index] = (WORD_LIST *)NULL; - } - - void - dispose_saved_dollar_vars () - { - if (!dollar_arg_stack || dollar_arg_stack_index == 0) - return; - - dispose_words (dollar_arg_stack[dollar_arg_stack_index]); - dollar_arg_stack[dollar_arg_stack_index] = (WORD_LIST *)NULL; - } - static int changed_dollar_vars; --- 322,325 ---- *************** *** 316,320 **** set_dollar_vars_changed () { ! changed_dollar_vars = 1; } --- 341,350 ---- set_dollar_vars_changed () { ! if (variable_context) ! changed_dollar_vars |= ARGS_FUNC; ! else if (this_shell_builtin == set_builtin) ! changed_dollar_vars |= ARGS_SETBLTIN; ! else ! changed_dollar_vars |= ARGS_INVOC; } *************** *** 331,340 **** shell; if not, call jump_to_top_level (DISCARD), which aborts the current command. */ ! long get_numeric_arg (list, fatal) WORD_LIST *list; int fatal; { ! long count = 1; if (list) --- 361,373 ---- shell; if not, call jump_to_top_level (DISCARD), which aborts the current command. */ ! intmax_t get_numeric_arg (list, fatal) WORD_LIST *list; int fatal; { ! intmax_t count = 1; ! ! if (list && list->word && ISOPTION (list->word->word, '-')) ! list = list->next; if (list) *************** *** 343,349 **** arg = list->word->word; ! if (!arg || (legal_number (arg, &count) == 0)) { ! builtin_error ("bad non-numeric arg `%s'", list->word->word); if (fatal) throw_to_top_level (); --- 376,382 ---- arg = list->word->word; ! if (arg == 0 || (legal_number (arg, &count) == 0)) { ! sh_neednumarg (list->word->word); if (fatal) throw_to_top_level (); *************** *** 363,373 **** { int status; ! long sval; char *arg; arg = list->word->word; if (arg == 0 || legal_number (arg, &sval) == 0) { ! builtin_error ("bad non-numeric arg `%s'", list->word->word); return 255; } --- 396,412 ---- { int status; ! intmax_t sval; char *arg; + if (list && list->word && ISOPTION (list->word->word, '-')) + list = list->next; + + if (list == 0) + return (last_command_exit_value); + arg = list->word->word; if (arg == 0 || legal_number (arg, &sval) == 0) { ! sh_neednumarg (list->word->word ? list->word->word : "`'"); return 255; } *************** *** 461,464 **** --- 500,555 ---- #if defined (JOB_CONTROL) + int + get_job_by_name (name, flags) + const char *name; + int flags; + { + register int i, wl, cl, match, job; + register PROCESS *p; + + job = NO_JOB; + wl = strlen (name); + for (i = job_slots - 1; i >= 0; i--) + { + if (jobs[i] == 0 || ((flags & JM_STOPPED) && JOBSTATE(i) != JSTOPPED)) + continue; + + p = jobs[i]->pipe; + do + { + if (flags & JM_EXACT) + { + cl = strlen (p->command); + match = STREQN (p->command, name, cl); + } + else if (flags & JM_SUBSTRING) + match = strindex (p->command, name) != (char *)0; + else + match = STREQN (p->command, name, wl); + + if (match == 0) + { + p = p->next; + continue; + } + else if (flags & JM_FIRSTMATCH) + return i; /* return first match */ + else if (job != NO_JOB) + { + if (this_shell_builtin) + builtin_error ("%s: ambiguous job spec", name); + else + report_error ("%s: ambiguous job spec", name); + return (DUP_JOB); + } + else + job = i; + } + while (p != jobs[i]->pipe); + } + + return (job); + } + /* Return the job spec found in LIST. */ int *************** *** 467,471 **** { register char *word; ! int job, substring_search; if (list == 0) --- 558,562 ---- { register char *word; ! int job, jflags; if (list == 0) *************** *** 483,490 **** { job = atoi (word); return (job >= job_slots ? NO_JOB : job - 1); } ! substring_search = 0; switch (*word) { --- 574,585 ---- { job = atoi (word); + #if 0 return (job >= job_slots ? NO_JOB : job - 1); + #else + return (job > job_slots ? NO_JOB : job - 1); + #endif } ! jflags = 0; switch (*word) { *************** *** 498,538 **** case '?': /* Substring search requested. */ ! substring_search++; word++; /* FALLTHROUGH */ default: ! { ! register int i, wl; ! ! job = NO_JOB; ! wl = strlen (word); ! for (i = 0; i < job_slots; i++) ! { ! if (jobs[i]) ! { ! register PROCESS *p; ! p = jobs[i]->pipe; ! do ! { ! if ((substring_search && strindex (p->command, word)) || ! (STREQN (p->command, word, wl))) ! { ! if (job != NO_JOB) ! { ! builtin_error ("ambigious job spec: %s", word); ! return (DUP_JOB); ! } ! else ! job = i; ! } ! ! p = p->next; ! } ! while (p != jobs[i]->pipe); ! } ! } ! return (job); ! } } } --- 593,602 ---- case '?': /* Substring search requested. */ ! jflags |= JM_SUBSTRING; word++; /* FALLTHROUGH */ default: ! return get_job_by_name (word, jflags); } } *************** *** 547,551 **** char *name; int result; ! long signum; result = EXECUTION_SUCCESS; --- 611,616 ---- char *name; int result; ! int signum; ! intmax_t lsignum; result = EXECUTION_SUCCESS; *************** *** 582,594 **** while (list) { ! if (legal_number (list->word->word, &signum)) { /* This is specified by Posix.2 so that exit statuses can be mapped into signal numbers. */ ! if (signum > 128) ! signum -= 128; ! if (signum < 0 || signum >= NSIG) { ! builtin_error ("bad signal number: %s", list->word->word); result = EXECUTION_FAILURE; list = list->next; --- 647,659 ---- while (list) { ! if (legal_number (list->word->word, &lsignum)) { /* This is specified by Posix.2 so that exit statuses can be mapped into signal numbers. */ ! if (lsignum > 128) ! lsignum -= 128; ! if (lsignum < 0 || lsignum >= NSIG) { ! sh_invalidsig (list->word->word); result = EXECUTION_FAILURE; list = list->next; *************** *** 596,599 **** --- 661,665 ---- } + signum = lsignum; name = signal_name (signum); if (STREQN (name, "SIGJUNK", 7) || STREQN (name, "Unknown", 7)) *************** *** 615,624 **** if (signum == NO_SIG) { ! builtin_error ("%s: not a signal specification", list->word->word); result = EXECUTION_FAILURE; list = list->next; continue; } ! printf ("%ld\n", signum); } list = list->next; --- 681,690 ---- if (signum == NO_SIG) { ! sh_invalidsig (list->word->word); result = EXECUTION_FAILURE; list = list->next; continue; } ! printf ("%d\n", signum); } list = list->next; diff -Nrc2 bash-2.05a/builtins/common.h bash-2.05b/builtins/common.h *** bash-2.05a/builtins/common.h Wed Sep 12 10:01:40 2001 --- bash-2.05b/builtins/common.h Fri May 10 12:25:08 2002 *************** *** 1,5 **** /* common.h -- extern declarations for functions defined in common.c. */ ! /* Copyright (C) 1993 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 1,5 ---- /* common.h -- extern declarations for functions defined in common.c. */ ! /* Copyright (C) 1993-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 27,33 **** /* Flag values for parse_and_execute () */ ! #define SEVAL_NONINT 0x01 ! #define SEVAL_INTERACT 0x02 ! #define SEVAL_NOHIST 0x04 /* Functions from common.c */ --- 27,56 ---- /* Flag values for parse_and_execute () */ ! #define SEVAL_NONINT 0x001 ! #define SEVAL_INTERACT 0x002 ! #define SEVAL_NOHIST 0x004 ! #define SEVAL_NOFREE 0x008 ! ! /* Flags for describe_command, shared between type.def and command.def */ ! #define CDESC_ALL 0x001 /* type -a */ ! #define CDESC_SHORTDESC 0x002 /* command -V */ ! #define CDESC_REUSABLE 0x004 /* command -v */ ! #define CDESC_TYPE 0x008 /* type -t */ ! #define CDESC_PATH_ONLY 0x010 /* type -p */ ! #define CDESC_FORCE_PATH 0x020 /* type -ap or type -P */ ! #define CDESC_NOFUNCS 0x040 /* type -f */ ! ! /* Flags for get_job_by_name */ ! #define JM_PREFIX 0x01 /* prefix of job name */ ! #define JM_SUBSTRING 0x02 /* substring of job name */ ! #define JM_EXACT 0x04 /* match job name exactly */ ! #define JM_STOPPED 0x08 /* match stopped jobs only */ ! #define JM_FIRSTMATCH 0x10 /* return first matching job */ ! ! /* Flags for remember_args and value of changed_dollar_vars */ ! #define ARGS_NONE 0x0 ! #define ARGS_INVOC 0x01 ! #define ARGS_FUNC 0x02 ! #define ARGS_SETBLTIN 0x04 /* Functions from common.c */ *************** *** 35,54 **** extern void builtin_usage __P((void)); extern void no_args __P((WORD_LIST *)); - extern void bad_option __P((char *)); extern int no_options __P((WORD_LIST *)); extern char **make_builtin_argv __P((WORD_LIST *, int *)); extern void remember_args __P((WORD_LIST *, int)); - extern void push_context __P((void)); - extern void pop_context __P((void)); - extern void push_dollar_vars __P((void)); - extern void pop_dollar_vars __P((void)); - extern void dispose_saved_dollar_vars __P((void)); extern int dollar_vars_changed __P((void)); extern void set_dollar_vars_unchanged __P((void)); extern void set_dollar_vars_changed __P((void)); ! extern long get_numeric_arg __P((WORD_LIST *, int)); extern int get_exitstat __P((WORD_LIST *)); extern int read_octal __P((char *)); --- 58,87 ---- extern void builtin_usage __P((void)); extern void no_args __P((WORD_LIST *)); extern int no_options __P((WORD_LIST *)); + /* common error message functions */ + extern void sh_needarg __P((char *)); + extern void sh_neednumarg __P((char *)); + extern void sh_notfound __P((char *)); + extern void sh_invalidopt __P((char *)); + extern void sh_invalidoptname __P((char *)); + extern void sh_invalidid __P((char *)); + extern void sh_invalidnum __P((char *)); + extern void sh_invalidsig __P((char *)); + extern void sh_erange __P((char *, char *)); + extern void sh_badpid __P((char *)); + extern void sh_badjob __P((char *)); + extern void sh_readonly __P((const char *)); + extern void sh_nojobs __P((char *)); + extern void sh_restricted __P((char *)); + extern char **make_builtin_argv __P((WORD_LIST *, int *)); extern void remember_args __P((WORD_LIST *, int)); extern int dollar_vars_changed __P((void)); extern void set_dollar_vars_unchanged __P((void)); extern void set_dollar_vars_changed __P((void)); ! extern intmax_t get_numeric_arg __P((WORD_LIST *, int)); extern int get_exitstat __P((WORD_LIST *)); extern int read_octal __P((char *)); *************** *** 60,63 **** --- 93,97 ---- #if defined (JOB_CONTROL) + extern int get_job_by_name __P((const char *, int)); extern int get_job_spec __P((WORD_LIST *)); #endif *************** *** 97,101 **** /* Functions from type.def */ ! extern int describe_command __P((char *, int, int)); /* Functions from setattr.def */ --- 131,135 ---- /* Functions from type.def */ ! extern int describe_command __P((char *, int)); /* Functions from setattr.def */ *************** *** 107,112 **** /* Functions from pushd.def */ extern char *get_dirstack_from_string __P((char *)); ! extern char *get_dirstack_element __P((long, int)); ! extern void set_dirstack_element __P((long, int, char *)); extern WORD_LIST *get_directory_stack __P((void)); --- 141,146 ---- /* Functions from pushd.def */ extern char *get_dirstack_from_string __P((char *)); ! extern char *get_dirstack_element __P((intmax_t, int)); ! extern void set_dirstack_element __P((intmax_t, int, char *)); extern WORD_LIST *get_directory_stack __P((void)); diff -Nrc2 bash-2.05a/builtins/complete.def bash-2.05b/builtins/complete.def *** bash-2.05a/builtins/complete.def Wed Jul 25 15:23:35 2001 --- bash-2.05b/builtins/complete.def Tue Mar 19 12:21:05 2002 *************** *** 2,6 **** It implements the builtins "complete" and "compgen" in Bash. ! Copyright (C) 1999 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtins "complete" and "compgen" in Bash. ! Copyright (C) 1999-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 25,29 **** $DEPENDS_ON PROGRAMMABLE_COMPLETION $FUNCTION complete_builtin ! $SHORT_DOC complete [-abcdefgjkvu] [-pr] [-o option] [-A action] [-G globpat] [-W wordlist] [-P prefix] [-S suffix] [-X filterpat] [-F function] [-C command] [name ...] For each NAME, specify how arguments are to be completed. If the -p option is supplied, or if no options are supplied, existing --- 25,29 ---- $DEPENDS_ON PROGRAMMABLE_COMPLETION $FUNCTION complete_builtin ! $SHORT_DOC complete [-abcdefgjksuv] [-pr] [-o option] [-A action] [-G globpat] [-W wordlist] [-P prefix] [-S suffix] [-X filterpat] [-F function] [-C command] [name ...] For each NAME, specify how arguments are to be completed. If the -p option is supplied, or if no options are supplied, existing *************** *** 63,71 **** static int remove_cmd_completions __P((WORD_LIST *)); ! static void print_one_completion __P((char *, COMPSPEC *)); static void print_all_completions __P((void)); static int print_cmd_completions __P((WORD_LIST *)); ! static char *Aarg, *Garg, *Warg, *Parg, *Sarg, *Xarg, *Farg, *Carg; static struct _compacts { --- 63,72 ---- static int remove_cmd_completions __P((WORD_LIST *)); ! static int print_one_completion __P((char *, COMPSPEC *)); ! static int print_compitem __P((BUCKET_CONTENTS *)); static void print_all_completions __P((void)); static int print_cmd_completions __P((WORD_LIST *)); ! static char *Garg, *Warg, *Parg, *Sarg, *Xarg, *Farg, *Carg; static struct _compacts { *************** *** 91,94 **** --- 92,96 ---- { "keyword", CA_KEYWORD, 'k' }, { "running", CA_RUNNING, 0 }, + { "service", CA_SERVICE, 's' }, { "setopt", CA_SETOPT, 0 }, { "shopt", CA_SHOPT, 0 }, *************** *** 100,103 **** --- 102,106 ---- }; + /* This should be a STRING_INT_ALIST */ static struct _compopt { char *optname; *************** *** 107,110 **** --- 110,114 ---- { "dirnames", COPT_DIRNAMES }, { "filenames",COPT_FILENAMES}, + { "nospace", COPT_NOSPACE }, { (char *)NULL, 0 }, }; *************** *** 161,165 **** reset_internal_getopt (); ! while ((opt = internal_getopt (list, "abcdefgjko:pruvA:G:W:P:S:X:F:C:")) != -1) { opt_given = 1; --- 165,169 ---- reset_internal_getopt (); ! while ((opt = internal_getopt (list, "abcdefgjko:prsuvA:G:W:P:S:X:F:C:")) != -1) { opt_given = 1; *************** *** 174,178 **** else { ! builtin_error ("illegal option: -r"); builtin_usage (); return (EX_USAGE); --- 178,182 ---- else { ! sh_invalidopt ("-r"); builtin_usage (); return (EX_USAGE); *************** *** 187,191 **** else { ! builtin_error ("illegal option: -p"); builtin_usage (); return (EX_USAGE); --- 191,195 ---- else { ! sh_invalidopt ("-p"); builtin_usage (); return (EX_USAGE); *************** *** 219,222 **** --- 223,229 ---- acts |= CA_KEYWORD; break; + case 's': + acts |= CA_SERVICE; + break; case 'u': acts |= CA_USER; *************** *** 229,233 **** if (ind < 0) { ! builtin_error ("%s: invalid option name", list_optarg); return (EX_USAGE); } --- 236,240 ---- if (ind < 0) { ! sh_invalidoptname (list_optarg); return (EX_USAGE); } *************** *** 283,287 **** int opt_given, pflag, rflag, rval; unsigned long acts, copts; - char *cmd; COMPSPEC *cs; --- 290,293 ---- *************** *** 294,298 **** opt_given = pflag = rflag = 0; acts = copts = (unsigned long)0L; ! Aarg = Garg = Warg = Parg = Sarg = Xarg = Farg = Carg = (char *)NULL; cs = (COMPSPEC *)NULL; --- 300,304 ---- opt_given = pflag = rflag = 0; acts = copts = (unsigned long)0L; ! Garg = Warg = Parg = Sarg = Xarg = Farg = Carg = (char *)NULL; cs = (COMPSPEC *)NULL; *************** *** 322,326 **** if (list == 0) { ! clear_progcomps (); return (EXECUTION_SUCCESS); } --- 328,332 ---- if (list == 0) { ! progcomp_flush (); return (EXECUTION_SUCCESS); } *************** *** 336,340 **** /* If we get here, we need to build a compspec and add it for each remaining argument. */ ! cs = alloc_compspec (); cs->actions = acts; cs->options = copts; --- 342,346 ---- /* If we get here, we need to build a compspec and add it for each remaining argument. */ ! cs = compspec_create (); cs->actions = acts; cs->options = copts; *************** *** 351,356 **** { /* Add CS as the compspec for the specified commands. */ ! cmd = list->word->word; ! if (add_progcomp (cmd, cs) == 0) rval = EXECUTION_FAILURE; } --- 357,361 ---- { /* Add CS as the compspec for the specified commands. */ ! if (progcomp_insert (list->word->word, cs) == 0) rval = EXECUTION_FAILURE; } *************** *** 368,372 **** for (ret = EXECUTION_SUCCESS, l = list; l; l = l->next) { ! if (remove_progcomp (l->word->word) == 0) { builtin_error ("%s: no completion specification", l->word->word); --- 373,377 ---- for (ret = EXECUTION_SUCCESS, l = list; l; l = l->next) { ! if (progcomp_remove (l->word->word) == 0) { builtin_error ("%s: no completion specification", l->word->word); *************** *** 411,415 **** } while (0) ! static void print_one_completion (cmd, cs) char *cmd; --- 416,420 ---- } while (0) ! static int print_one_completion (cmd, cs) char *cmd; *************** *** 427,430 **** --- 432,436 ---- PRINTCOMPOPT (COPT_DIRNAMES, "dirnames"); PRINTCOMPOPT (COPT_FILENAMES, "filenames"); + PRINTCOMPOPT (COPT_NOSPACE, "nospace"); acts = cs->actions; *************** *** 438,443 **** PRINTOPT (CA_FILE, "-f"); PRINTOPT (CA_GROUP, "-g"); - PRINTOPT (CA_KEYWORD, "-k"); PRINTOPT (CA_JOB, "-j"); PRINTOPT (CA_USER, "-u"); PRINTOPT (CA_VARIABLE, "-v"); --- 444,450 ---- PRINTOPT (CA_FILE, "-f"); PRINTOPT (CA_GROUP, "-g"); PRINTOPT (CA_JOB, "-j"); + PRINTOPT (CA_KEYWORD, "-k"); + PRINTOPT (CA_SERVICE, "-s"); PRINTOPT (CA_USER, "-u"); PRINTOPT (CA_VARIABLE, "-v"); *************** *** 471,474 **** --- 478,496 ---- printf ("%s\n", cmd); + + return (0); + } + + static int + print_compitem (item) + BUCKET_CONTENTS *item; + { + COMPSPEC *cs; + char *cmd; + + cmd = item->key; + cs = (COMPSPEC *)item->data; + + return (print_one_completion (cmd, cs)); } *************** *** 476,480 **** print_all_completions () { ! print_all_compspecs (print_one_completion); } --- 498,502 ---- print_all_completions () { ! progcomp_walk (print_compitem); } *************** *** 489,493 **** for (ret = EXECUTION_SUCCESS, l = list; l; l = l->next) { ! cs = find_compspec (l->word->word); if (cs) print_one_completion (l->word->word, cs); --- 511,515 ---- for (ret = EXECUTION_SUCCESS, l = list; l; l = l->next) { ! cs = progcomp_search (l->word->word); if (cs) print_one_completion (l->word->word, cs); *************** *** 504,508 **** $DEPENDS_ON PROGRAMMABLE_COMPLETION $FUNCTION compgen_builtin ! $SHORT_DOC compgen [-abcdefgjkvu] [-o option] [-A action] [-G globpat] [-W wordlist] [-P prefix] [-S suffix] [-X filterpat] [-F function] [-C command] [word] Display the possible completions depending on the options. Intended to be used from within a shell function generating possible completions. --- 526,530 ---- $DEPENDS_ON PROGRAMMABLE_COMPLETION $FUNCTION compgen_builtin ! $SHORT_DOC compgen [-abcdefgjksuv] [-o option] [-A action] [-G globpat] [-W wordlist] [-P prefix] [-S suffix] [-X filterpat] [-F function] [-C command] [word] Display the possible completions depending on the options. Intended to be used from within a shell function generating possible completions. *************** *** 525,529 **** acts = copts = (unsigned long)0L; ! Aarg = Garg = Warg = Parg = Sarg = Xarg = Farg = Carg = (char *)NULL; cs = (COMPSPEC *)NULL; --- 547,551 ---- acts = copts = (unsigned long)0L; ! Garg = Warg = Parg = Sarg = Xarg = Farg = Carg = (char *)NULL; cs = (COMPSPEC *)NULL; *************** *** 546,550 **** /* If we get here, we need to build a compspec and evaluate it. */ ! cs = alloc_compspec (); cs->actions = acts; cs->options = copts; --- 568,572 ---- /* If we get here, we need to build a compspec and evaluate it. */ ! cs = compspec_create (); cs->actions = acts; cs->options = copts; *************** *** 570,574 **** matches = rl_completion_matches (word, rl_filename_completion_function); sl = completions_to_stringlist (matches); ! free_array (matches); } --- 592,596 ---- matches = rl_completion_matches (word, rl_filename_completion_function); sl = completions_to_stringlist (matches); ! strvec_dispose (matches); } *************** *** 578,587 **** { rval = EXECUTION_SUCCESS; ! print_stringlist (sl, (char *)NULL); } ! free_stringlist (sl); } ! free_compspec (cs); return (rval); } --- 600,609 ---- { rval = EXECUTION_SUCCESS; ! strlist_print (sl, (char *)NULL); } ! strlist_dispose (sl); } ! compspec_dispose (cs); return (rval); } diff -Nrc2 bash-2.05a/builtins/declare.def bash-2.05b/builtins/declare.def *** bash-2.05a/builtins/declare.def Tue Sep 11 15:32:08 2001 --- bash-2.05b/builtins/declare.def Mon Apr 8 13:20:55 2002 *************** *** 2,6 **** It implements the builtins "declare" and "local" in Bash. ! Copyright (C) 1987, 1989, 1991 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtins "declare" and "local" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 24,28 **** $BUILTIN declare $FUNCTION declare_builtin ! $SHORT_DOC declare [-afFrxi] [-p] name[=value] ... Declare variables and/or give them attributes. If no NAMEs are given, then display the values of variables instead. The -p option --- 24,28 ---- $BUILTIN declare $FUNCTION declare_builtin ! $SHORT_DOC declare [-afFirtx] [-p] name[=value] ... Declare variables and/or give them attributes. If no NAMEs are given, then display the values of variables instead. The -p option *************** *** 34,40 **** -f to select from among function names only -F to display function names without definitions -r to make NAMEs readonly -x to make NAMEs export - -i to make NAMEs have the `integer' attribute set Variables with the integer attribute have arithmetic evaluation (see --- 34,41 ---- -f to select from among function names only -F to display function names without definitions + -i to make NAMEs have the `integer' attribute -r to make NAMEs readonly + -t to make NAMEs have the `trace' attribute -x to make NAMEs export Variables with the integer attribute have arithmetic evaluation (see *************** *** 51,55 **** $BUILTIN typeset $FUNCTION declare_builtin ! $SHORT_DOC typeset [-afFrxi] [-p] name[=value] ... Obsolete. See `declare'. $END --- 52,56 ---- $BUILTIN typeset $FUNCTION declare_builtin ! $SHORT_DOC typeset [-afFirtx] [-p] name[=value] ... Obsolete. See `declare'. $END *************** *** 71,74 **** --- 72,76 ---- #include "common.h" #include "builtext.h" + #include "bashgetopt.h" extern int array_needs_making; *************** *** 104,107 **** --- 106,115 ---- } + #if defined (ARRAY_VARS) + # define DECLARE_OPTS "+afiprtxF" + #else + # define DECLARE_OPTS "+fiprtxF" + #endif + /* The workhorse function. */ static int *************** *** 110,167 **** int local_var; { ! int flags_on, flags_off, *flags, any_failed, assign_error, pflag, nodefs; char *t, *subscript_start; SHELL_VAR *var; flags_on = flags_off = any_failed = assign_error = pflag = nodefs = 0; ! while (list) { ! t = list->word->word; ! if (t[0] == '-' && t[1] == '-' && t[2] == '\0') ! { ! list = list->next; ! break; ! } ! ! if (*t != '+' && *t != '-') ! break; ! flags = (*t++ == '+') ? &flags_off : &flags_on; ! ! while (*t) { ! if (*t == 'p' && local_var == 0) ! pflag++, t++; ! else if (*t == 'F') ! { ! nodefs++; ! *flags |= att_function; t++; ! } ! else if (*t == 'f') ! *flags |= att_function, t++; ! else if (*t == 'x') ! *flags |= att_exported, t++, array_needs_making = 1; ! else if (*t == 'r') ! *flags |= att_readonly, t++; ! else if (*t == 'i') ! *flags |= att_integer, t++; #if defined (ARRAY_VARS) ! else if (*t == 'a') ! *flags |= att_array, t++; #endif ! else ! { ! builtin_error ("unknown option: `-%c'", *t); ! builtin_usage (); ! return (EX_USAGE); ! } } - - list = list->next; } /* If there are no more arguments left, then we just want to show some variables. */ ! if (list == 0) /* declare -[afFirx] */ { /* Show local variables defined at this context level if this is --- 118,173 ---- int local_var; { ! int flags_on, flags_off, *flags, any_failed, assign_error, pflag, nodefs, opt; char *t, *subscript_start; SHELL_VAR *var; flags_on = flags_off = any_failed = assign_error = pflag = nodefs = 0; ! reset_internal_getopt (); ! while ((opt = internal_getopt (list, DECLARE_OPTS)) != EOF) { ! flags = list_opttype == '+' ? &flags_off : &flags_on; ! switch (opt) { ! case 'a': #if defined (ARRAY_VARS) ! *flags |= att_array; #endif ! break; ! case 'p': ! if (local_var == 0) ! pflag++; ! break; ! case 'F': ! nodefs++; ! *flags |= att_function; ! break; ! case 'f': ! *flags |= att_function; ! break; ! case 'i': ! *flags |= att_integer; ! break; ! case 'r': ! *flags |= att_readonly; ! break; ! case 't': ! *flags |= att_trace; ! break; ! case 'x': ! *flags |= att_exported; ! array_needs_making = 1; ! break; ! default: ! builtin_usage (); ! return (EX_USAGE); } } + list = loptend; + /* If there are no more arguments left, then we just want to show some variables. */ ! if (list == 0) /* declare -[afFirtx] */ { /* Show local variables defined at this context level if this is *************** *** 172,176 **** register int i; ! vlist = map_over (variable_in_context, shell_variables); if (vlist) --- 178,182 ---- register int i; ! vlist = all_local_variables (); if (vlist) *************** *** 194,198 **** } ! if (pflag) /* declare -p [-afFirx] name [name...] */ { for (any_failed = 0; list; list = list->next) --- 200,204 ---- } ! if (pflag) /* declare -p [-afFirtx] name [name...] */ { for (any_failed = 0; list; list = list->next) *************** *** 201,205 **** if (pflag) { ! builtin_error ("%s: not found", list->word->word); any_failed++; } --- 207,211 ---- if (pflag) { ! sh_notfound (list->word->word); any_failed++; } *************** *** 245,249 **** if (legal_identifier (name) == 0) { ! builtin_error ("`%s': not a valid identifier", name); assign_error++; NEXT_VARIABLE (); --- 251,255 ---- if (legal_identifier (name) == 0) { ! sh_invalidid (name); assign_error++; NEXT_VARIABLE (); *************** *** 254,258 **** not global ones. */ ! if (variable_context) { #if defined (ARRAY_VARS) --- 260,267 ---- not global ones. */ ! /* XXX - this has consequences when we're making a local copy of a ! variable that was in the temporary environment. Watch out ! for this. */ ! if (variable_context && ((flags_on & att_function) == 0)) { #if defined (ARRAY_VARS) *************** *** 268,271 **** --- 277,282 ---- } } + else + var = (SHELL_VAR *)NULL; /* If we are declaring a function, then complain about it in some way. *************** *** 316,320 **** else /* declare -[airx] name [name...] */ { ! var = find_variable (name); if (var == 0) --- 327,333 ---- else /* declare -[airx] name [name...] */ { ! /* Non-null if we just created or fetched a local variable. */ ! if (var == 0) ! var = find_variable (name); if (var == 0) *************** *** 331,335 **** if (readonly_p (var) && (flags_off & att_readonly)) { ! builtin_error ("%s: readonly variable", name); any_failed++; NEXT_VARIABLE (); --- 344,348 ---- if (readonly_p (var) && (flags_off & att_readonly)) { ! sh_readonly (name); any_failed++; NEXT_VARIABLE (); *************** *** 341,345 **** { if (readonly_p (var)) ! builtin_error ("%s: readonly variable", name); assign_error++; NEXT_VARIABLE (); --- 354,358 ---- { if (readonly_p (var)) ! sh_readonly (name); assign_error++; NEXT_VARIABLE (); *************** *** 395,404 **** to `var=value export var'. Do the same for `declare -r' and `readonly'. Preserve the attributes, except for att_tempvar. */ if ((flags_on & (att_exported|att_readonly)) && tempvar_p (var)) { SHELL_VAR *tv; ! tv = bind_variable (var->name, var->value ? var->value : ""); ! tv->attributes = var->attributes & ~att_tempvar; ! dispose_variable (var); } } --- 408,432 ---- to `var=value export var'. Do the same for `declare -r' and `readonly'. Preserve the attributes, except for att_tempvar. */ + /* XXX -- should this create a variable in the global scope, or + modify the local variable flags? ksh93 has it modify the + global scope. + Need to handle case like in set_var_attribute where a temporary + variable is in the same table as the function local vars. */ if ((flags_on & (att_exported|att_readonly)) && tempvar_p (var)) { SHELL_VAR *tv; ! char *tvalue; ! ! tv = find_tempenv_variable (var->name); ! if (tv) ! { ! tvalue = var_isset (var) ? savestring (value_cell (var)) : savestring (""); ! tv = bind_variable (var->name, tvalue); ! tv->attributes |= var->attributes & ~att_tempvar; ! if (tv->context > 0) ! VSETATTR (tv, att_propagate); ! free (tvalue); ! } ! VSETATTR (var, att_propagate); } } diff -Nrc2 bash-2.05a/builtins/echo.def bash-2.05b/builtins/echo.def *** bash-2.05a/builtins/echo.def Fri Dec 17 07:12:40 1999 --- bash-2.05b/builtins/echo.def Tue Mar 19 10:45:28 2002 *************** *** 2,6 **** It implements the builtin "echo" in Bash. ! Copyright (C) 1987, 1989, 1991 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtin "echo" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. diff -Nrc2 bash-2.05a/builtins/enable.def bash-2.05b/builtins/enable.def *** bash-2.05a/builtins/enable.def Tue Aug 28 13:04:44 2001 --- bash-2.05b/builtins/enable.def Tue Mar 19 13:54:00 2002 *************** *** 2,6 **** It implements the builtin "enable" in Bash. ! Copyright (C) 1987, 1989, 1991 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtin "enable" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 147,151 **** if (restricted && (flags & (FFLAG|DFLAG))) { ! builtin_error ("restricted"); return (EXECUTION_FAILURE); } --- 147,151 ---- if (restricted && (flags & (FFLAG|DFLAG))) { ! sh_restricted ((char *)NULL); return (EXECUTION_FAILURE); } *************** *** 247,250 **** --- 247,257 ---- if (disable_p) b->flags &= ~BUILTIN_ENABLED; + #if defined (RESTRICTED_SHELL) + else if (restricted && ((b->flags & BUILTIN_ENABLED) == 0)) + { + sh_restricted ((char *)NULL); + return (EXECUTION_FAILURE); + } + #endif else b->flags |= BUILTIN_ENABLED; *************** *** 454,458 **** if (ref == 1 && local_dlclose (handle) != 0) { ! builtin_error ("cannot delete %s: %s", name, dlerror ()); return (EXECUTION_FAILURE); } --- 461,465 ---- if (ref == 1 && local_dlclose (handle) != 0) { ! builtin_error ("%s: cannot delete: %s", name, dlerror ()); return (EXECUTION_FAILURE); } diff -Nrc2 bash-2.05a/builtins/eval.def bash-2.05b/builtins/eval.def *** bash-2.05a/builtins/eval.def Thu Aug 5 07:41:21 1999 --- bash-2.05b/builtins/eval.def Mon Apr 8 13:21:04 2002 *************** *** 2,6 **** It implements the builtin "eval" in Bash. ! Copyright (C) 1987, 1989, 1991 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtin "eval" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 47,50 **** --- 47,51 ---- if (no_options (list)) return (EX_USAGE); + list = loptend; /* skip over possible `--' */ /* Note that parse_and_execute () frees the string it is passed. */ diff -Nrc2 bash-2.05a/builtins/evalfile.c bash-2.05b/builtins/evalfile.c *** bash-2.05a/builtins/evalfile.c Mon Oct 29 13:45:50 2001 --- bash-2.05b/builtins/evalfile.c Thu Feb 21 15:08:52 2002 *************** *** 217,221 **** int result, flags; ! filename = bash_tilde_expand (fname); flags = FEVAL_ENOENTOK; if (force_noninteractive) --- 217,221 ---- int result, flags; ! filename = bash_tilde_expand (fname, 0); flags = FEVAL_ENOENTOK; if (force_noninteractive) diff -Nrc2 bash-2.05a/builtins/evalstring.c bash-2.05b/builtins/evalstring.c *** bash-2.05a/builtins/evalstring.c Tue Sep 11 16:24:42 2001 --- bash-2.05b/builtins/evalstring.c Thu Apr 4 13:38:50 2002 *************** *** 84,87 **** --- 84,88 ---- (flags & SEVAL_INTERACT) -> interactive = 1; (flags & SEVAL_NOHIST) -> call bash_history_disable () + (flags & SEVAL_NOFREE) -> don't free STRING when finished */ *************** *** 124,128 **** add_unwind_protect (pop_stream, (char *)NULL); ! if (orig_string) add_unwind_protect (xfree, orig_string); end_unwind_frame (); --- 125,129 ---- add_unwind_protect (pop_stream, (char *)NULL); ! if (orig_string && ((flags & SEVAL_NOFREE) == 0)) add_unwind_protect (xfree, orig_string); end_unwind_frame (); *************** *** 321,341 **** } ! rval = 0; ! while (1) ! { ! nr = zread (fd, lbuf, sizeof(lbuf)); ! if (nr == 0) ! break; ! else if (nr < 0) ! { ! rval = -1; ! break; ! } ! if (zwrite (1, lbuf, nr) < 0) ! { ! rval = -1; ! break; ! } ! } free (fn); --- 322,326 ---- } ! rval = zcatfd (fd, 1, fn); free (fn); diff -Nrc2 bash-2.05a/builtins/exec.def bash-2.05b/builtins/exec.def *** bash-2.05a/builtins/exec.def Tue Sep 11 15:35:10 2001 --- bash-2.05b/builtins/exec.def Tue Mar 19 10:38:49 2002 *************** *** 2,6 **** It implements the builtin "exec" in Bash. ! Copyright (C) 1987, 1989, 1991 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtin "exec" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 128,137 **** if (restricted) { ! builtin_error ("restricted"); return (EXECUTION_FAILURE); } #endif /* RESTRICTED_SHELL */ ! args = word_list_to_argv (list, 1, 0, (int *)NULL); /* A command with a slash anywhere in its name is not looked up in $PATH. */ --- 128,137 ---- if (restricted) { ! sh_restricted ((char *)NULL); return (EXECUTION_FAILURE); } #endif /* RESTRICTED_SHELL */ ! args = strvec_from_word_list (list, 1, 0, (int *)NULL); /* A command with a slash anywhere in its name is not looked up in $PATH. */ *************** *** 140,144 **** if (command == 0) { ! builtin_error ("%s: not found", args[0]); exit_value = EX_NOTFOUND; /* As per Posix.2, 3.14.6 */ goto failed_exec; --- 140,144 ---- if (command == 0) { ! sh_notfound (args[0]); exit_value = EX_NOTFOUND; /* As per Posix.2, 3.14.6 */ goto failed_exec; *************** *** 216,223 **** if (args) ! free_array (args); initialize_traps (); ! reinitialize_signals (); #if defined (JOB_CONTROL) --- 216,223 ---- if (args) ! strvec_dispose (args); initialize_traps (); ! initialize_signals (1); #if defined (JOB_CONTROL) diff -Nrc2 bash-2.05a/builtins/exit.def bash-2.05b/builtins/exit.def *** bash-2.05a/builtins/exit.def Tue Sep 11 15:36:18 2001 --- bash-2.05b/builtins/exit.def Mon Apr 8 13:21:24 2002 *************** *** 2,6 **** It implements the builtins "exit", and "logout" in Bash. ! Copyright (C) 1987, 1989, 1991 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtins "exit", and "logout" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 120,124 **** /* Get return value if present. This means that you can type `logout 5' to a shell, and it returns 5. */ ! exit_value = list ? get_exitstat (list) : last_command_exit_value; /* Run our `~/.bash_logout' file if it exists, and this is a login shell. */ --- 120,125 ---- /* Get return value if present. This means that you can type `logout 5' to a shell, and it returns 5. */ ! ! exit_value = get_exitstat (list); /* Run our `~/.bash_logout' file if it exists, and this is a login shell. */ diff -Nrc2 bash-2.05a/builtins/fc.def bash-2.05b/builtins/fc.def *** bash-2.05a/builtins/fc.def Wed Sep 12 11:57:25 2001 --- bash-2.05b/builtins/fc.def Tue Mar 19 14:05:18 2002 *************** *** 2,6 **** It implements the builtin "fc" in Bash. ! Copyright (C) 1987, 1989, 1991 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtin "fc" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 240,245 **** to get the replacements in the proper order. */ ! if (rlist && rlist->next) ! rlist = (REPL *)reverse_list ((GENERIC_LIST *) rlist); hlist = history_list (); --- 240,244 ---- to get the replacements in the proper order. */ ! rlist = REVERSE_LIST (rlist, REPL *); hlist = history_list (); *************** *** 314,321 **** /* We print error messages for line specifications out of range. */ ! if ((histbeg < 0) || (histend < 0) || ! (histbeg > last_hist) || (histend > last_hist)) { ! builtin_error ("history specification out of range"); return (EXECUTION_FAILURE); } --- 313,319 ---- /* We print error messages for line specifications out of range. */ ! if ((histbeg < 0) || (histend < 0)) { ! sh_erange ((char *)NULL, "history specification"); return (EXECUTION_FAILURE); } *************** *** 411,415 **** if (*s == '-') s++; ! return (legal_number (s, (long *)NULL)); } --- 409,413 ---- if (*s == '-') s++; ! return (legal_number (s, (intmax_t *)NULL)); } *************** *** 458,474 **** n *= sign; - /* Anything specified greater than the last history element that we - deal with is an error. */ - if (n > i + history_base) - return (-1); - /* If the value is negative or zero, then it is an offset from the current history item. */ if (n < 0) ! return (i + n + 1); else if (n == 0) return (i); else ! return (n - history_base); } --- 456,473 ---- n *= sign; /* If the value is negative or zero, then it is an offset from the current history item. */ if (n < 0) ! { ! n += i + 1; ! return (n < 0 ? 0 : n); ! } else if (n == 0) return (i); else ! { ! n -= history_base; ! return (i < n ? i : n); ! } } diff -Nrc2 bash-2.05a/builtins/fg_bg.def bash-2.05b/builtins/fg_bg.def *** bash-2.05a/builtins/fg_bg.def Mon May 14 11:52:47 2001 --- bash-2.05b/builtins/fg_bg.def Mon Apr 8 13:21:32 2002 *************** *** 2,6 **** It implements the builtins "bg" and "fg" in Bash. ! Copyright (C) 1987, 1989, 1991 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtins "bg" and "fg" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 43,46 **** --- 43,47 ---- #include "../jobs.h" #include "common.h" + #include "bashgetopt.h" #if defined (JOB_CONTROL) *************** *** 59,63 **** if (job_control == 0) { ! builtin_error ("no job control"); return (EXECUTION_FAILURE); } --- 60,64 ---- if (job_control == 0) { ! sh_nojobs ((char *)NULL); return (EXECUTION_FAILURE); } *************** *** 65,68 **** --- 66,70 ---- if (no_options (list)) return (EX_USAGE); + list = loptend; /* If the last arg on the line is '&', then start this job in the *************** *** 93,97 **** if (job_control == 0) { ! builtin_error ("no job control"); return (EXECUTION_FAILURE); } --- 95,99 ---- if (job_control == 0) { ! sh_nojobs ((char *)NULL); return (EXECUTION_FAILURE); } *************** *** 99,102 **** --- 101,105 ---- if (no_options (list)) return (EX_USAGE); + list = loptend; return (fg_bg (list, 0)); *************** *** 118,122 **** { if (job != DUP_JOB) ! builtin_error ("%s: no such job", list ? list->word->word : "current"); goto failure; --- 121,125 ---- { if (job != DUP_JOB) ! sh_badjob (list ? list->word->word : "current"); goto failure; diff -Nrc2 bash-2.05a/builtins/getopt.c bash-2.05b/builtins/getopt.c *** bash-2.05a/builtins/getopt.c Thu Aug 5 07:32:39 1999 --- bash-2.05b/builtins/getopt.c Tue Mar 19 12:03:27 2002 *************** *** 76,80 **** int sh_optopt = '?'; ! /* Set to 1 when we see an illegal option; public so getopts can reset it. */ int sh_badopt = 0; --- 76,80 ---- int sh_optopt = '?'; ! /* Set to 1 when we see an invalid option; public so getopts can reset it. */ int sh_badopt = 0; *************** *** 136,148 **** } - /* Do the increment of `sh_optind' we deferred because the last option - was illegal. */ - if (sh_badopt && (nextchar == 0 || *nextchar == '\0')) - { - sh_badopt = 0; - sh_optind++; - nextchar = (char *)NULL; - } - if (nextchar == 0 || *nextchar == '\0') { --- 136,139 ---- *************** *** 180,185 **** sh_optopt = c; ! /* If the option is illegal, return an error, but defer updating sh_optind ! until the next call so $OPTIND is correct. */ if (sh_badopt = (temp == NULL || c == ':')) { --- 171,181 ---- sh_optopt = c; ! /* Increment `sh_optind' when we start to process its last character. */ ! if (nextchar == 0 || *nextchar == '\0') ! { ! sh_optind++; ! nextchar = (char *)NULL; ! } ! if (sh_badopt = (temp == NULL || c == ':')) { *************** *** 188,198 **** return '?'; - } - - /* Increment `sh_optind' when we start to process its last character. */ - if (nextchar == 0 || *nextchar == '\0') - { - sh_optind++; - nextchar = (char *)NULL; } --- 184,187 ---- diff -Nrc2 bash-2.05a/builtins/getopts.def bash-2.05b/builtins/getopts.def *** bash-2.05a/builtins/getopts.def Tue Sep 11 15:46:40 2001 --- bash-2.05b/builtins/getopts.def Tue Mar 19 12:03:06 2002 *************** *** 2,6 **** It implements the builtin "getopts" in Bash. ! Copyright (C) 1987, 1989, 1991 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtin "getopts" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 40,48 **** getopts reports errors in one of two ways. If the first character of OPTSTRING is a colon, getopts uses silent error reporting. In ! this mode, no error messages are printed. If an illegal option is seen, getopts places the option character found into OPTARG. If a required argument is not found, getopts places a ':' into NAME and sets OPTARG to the option character found. If getopts is not in ! silent mode, and an illegal option is seen, getopts places '?' into NAME and unsets OPTARG. If a required option is not found, a '?' is placed in NAME, OPTARG is unset, and a diagnostic message is --- 40,48 ---- getopts reports errors in one of two ways. If the first character of OPTSTRING is a colon, getopts uses silent error reporting. In ! this mode, no error messages are printed. If an invalid option is seen, getopts places the option character found into OPTARG. If a required argument is not found, getopts places a ':' into NAME and sets OPTARG to the option character found. If getopts is not in ! silent mode, and an invalid option is seen, getopts places '?' into NAME and unsets OPTARG. If a required option is not found, a '?' is placed in NAME, OPTARG is unset, and a diagnostic message is *************** *** 76,84 **** #define G_EOF -1 ! #define G_ILLEGAL_OPT -2 #define G_ARG_MISSING -3 extern char *this_command_name; /* getopts_reset is magic code for when OPTIND is reset. N is the value that has just been assigned to OPTIND. */ --- 76,87 ---- #define G_EOF -1 ! #define G_INVALID_OPT -2 #define G_ARG_MISSING -3 extern char *this_command_name; + static int getopts_bind_variable __P((char *, char *)); + static int dogetopts __P((int, char **)); + /* getopts_reset is magic code for when OPTIND is reset. N is the value that has just been assigned to OPTIND. */ *************** *** 104,108 **** else { ! builtin_error ("`%s': not a valid identifier", name); return (EXECUTION_FAILURE); } --- 107,111 ---- else { ! sh_invalidid (name); return (EXECUTION_FAILURE); } *************** *** 113,119 **** the first character of the option string is a colon; this handling disables diagnostic messages concerning missing option arguments ! and illegal option characters. The handling is as follows. ! ILLEGAL OPTIONS: name -> "?" if (special_error) then --- 116,122 ---- the first character of the option string is a colon; this handling disables diagnostic messages concerning missing option arguments ! and invalid option characters. The handling is as follows. ! INVALID OPTIONS: name -> "?" if (special_error) then *************** *** 194,198 **** for (words = rest_of_args; words; words = words->next, i++) ; ! v = alloc_array (i + 1); for (i = 0; i < 10 && dollar_vars[i]; i++) v[i] = dollar_vars[i]; --- 197,201 ---- for (words = rest_of_args; words; words = words->next, i++) ; ! v = strvec_create (i + 1); for (i = 0; i < 10 && dollar_vars[i]; i++) v[i] = dollar_vars[i]; *************** *** 208,212 **** sh_opterr = old_opterr; ! /* Set the OPTIND variable in any case, to handle "--" skipping. */ if (sh_optind < 10) { --- 211,216 ---- sh_opterr = old_opterr; ! /* Set the OPTIND variable in any case, to handle "--" skipping. It's ! highly unlikely that 14 digits will be too few. */ if (sh_optind < 10) { *************** *** 229,233 **** /* If an error occurred, decide which one it is and set the return code appropriately. In all cases, the option character in error ! is in OPTOPT. If an illegal option was encountered, OPTARG is NULL. If a required option argument was missing, OPTARG points to a NULL string (that is, sh_optarg[0] == 0). */ --- 233,237 ---- /* If an error occurred, decide which one it is and set the return code appropriately. In all cases, the option character in error ! is in OPTOPT. If an invalid option was encountered, OPTARG is NULL. If a required option argument was missing, OPTARG points to a NULL string (that is, sh_optarg[0] == 0). */ *************** *** 235,239 **** { if (sh_optarg == NULL) ! ret = G_ILLEGAL_OPT; else if (sh_optarg[0] == '\0') ret = G_ARG_MISSING; --- 239,243 ---- { if (sh_optarg == NULL) ! ret = G_INVALID_OPT; else if (sh_optarg[0] == '\0') ret = G_ARG_MISSING; *************** *** 246,252 **** } ! if (ret == G_ILLEGAL_OPT) { ! /* Illegal option encountered. */ ret = getopts_bind_variable (name, "?"); --- 250,256 ---- } ! if (ret == G_INVALID_OPT) { ! /* Invalid option encountered. */ ret = getopts_bind_variable (name, "?"); *************** *** 258,262 **** } else ! makunbound ("OPTARG", shell_variables); return (ret); --- 262,266 ---- } else ! unbind_variable ("OPTARG"); return (ret); *************** *** 277,281 **** { ret = getopts_bind_variable (name, "?"); ! makunbound ("OPTARG", shell_variables); } return (ret); --- 281,285 ---- { ret = getopts_bind_variable (name, "?"); ! unbind_variable ("OPTARG"); } return (ret); diff -Nrc2 bash-2.05a/builtins/hash.def bash-2.05b/builtins/hash.def *** bash-2.05a/builtins/hash.def Wed May 9 12:00:35 2001 --- bash-2.05b/builtins/hash.def Tue Mar 19 14:43:26 2002 *************** *** 2,6 **** It implements the builtin "hash" in Bash. ! Copyright (C) 1987, 1989, 1991 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtin "hash" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 24,36 **** $BUILTIN hash $FUNCTION hash_builtin ! $SHORT_DOC hash [-r] [-p pathname] [-t] [name ...] For each NAME, the full pathname of the command is determined and remembered. If the -p option is supplied, PATHNAME is used as the full pathname of NAME, and no path search is performed. The -r ! option causes the shell to forget all remembered locations. If the -t option is supplied the full pathname to which each NAME corresponds is printed. If multiple NAME arguments are supplied with ! -t, the NAME is printed before the hashed full pathname. If no arguments ! are given, information about remembered commands is displayed. $END --- 24,38 ---- $BUILTIN hash $FUNCTION hash_builtin ! $SHORT_DOC hash [-lr] [-p pathname] [-dt] [name ...] For each NAME, the full pathname of the command is determined and remembered. If the -p option is supplied, PATHNAME is used as the full pathname of NAME, and no path search is performed. The -r ! option causes the shell to forget all remembered locations. The -d ! option causes the shell to forget the remembered location of each NAME. If the -t option is supplied the full pathname to which each NAME corresponds is printed. If multiple NAME arguments are supplied with ! -t, the NAME is printed before the hashed full pathname. The -l option ! causes output to be displayed in a format that may be reused as input. ! If no arguments are given, information about remembered commands is displayed. $END *************** *** 61,66 **** static int add_hashed_command __P((char *, int)); ! static int print_hashed_commands __P((void)); ! static int list_hashed_filename_targets __P((WORD_LIST *)); /* Print statistics on the current state of hashed commands. If LIST is --- 63,70 ---- static int add_hashed_command __P((char *, int)); ! static int print_hash_info __P((BUCKET_CONTENTS *)); ! static int print_portable_hash_info __P((BUCKET_CONTENTS *)); ! static int print_hashed_commands __P((int)); ! static int list_hashed_filename_targets __P((WORD_LIST *, int)); /* Print statistics on the current state of hashed commands. If LIST is *************** *** 71,75 **** WORD_LIST *list; { ! int expunge_hash_table, list_targets, opt; char *w, *pathname; --- 75,79 ---- WORD_LIST *list; { ! int expunge_hash_table, list_targets, list_portably, delete, opt; char *w, *pathname; *************** *** 80,96 **** } ! expunge_hash_table = list_targets = 0; pathname = (char *)NULL; reset_internal_getopt (); ! while ((opt = internal_getopt (list, "rp:t")) != -1) { switch (opt) { ! case 'r': ! expunge_hash_table = 1; break; case 'p': pathname = list_optarg; break; case 't': list_targets = 1; --- 84,106 ---- } ! expunge_hash_table = list_targets = list_portably = delete = 0; pathname = (char *)NULL; reset_internal_getopt (); ! while ((opt = internal_getopt (list, "dlp:rt")) != -1) { switch (opt) { ! case 'd': ! delete = 1; ! break; ! case 'l': ! list_portably = 1; break; case 'p': pathname = list_optarg; break; + case 'r': + expunge_hash_table = 1; + break; case 't': list_targets = 1; *************** *** 106,118 **** if (list == 0 && list_targets) { ! builtin_error("-t: argument required"); return (EXECUTION_FAILURE); } ! /* We want hash -r to be silent, but hash -- to print hashing info. That ! is the reason for the test of expunge_hash_table. */ if (list == 0 && expunge_hash_table == 0) { ! if (print_hashed_commands () == 0) printf ("%s: hash table empty\n", this_command_name); --- 116,128 ---- if (list == 0 && list_targets) { ! sh_needarg ("-t"); return (EXECUTION_FAILURE); } ! /* We want hash -r to be silent, but hash -- to print hashing info, so ! we test expunge_hash_table. */ if (list == 0 && expunge_hash_table == 0) { ! if (print_hashed_commands (list_portably) == 0) printf ("%s: hash table empty\n", this_command_name); *************** *** 121,136 **** if (expunge_hash_table) ! flush_hashed_filenames (); /* If someone runs `hash -r -t xyz' he will be disappointed. */ if (list_targets) ! { ! return (list_hashed_filename_targets (list)); ! } #if defined (RESTRICTED_SHELL) if (restricted && pathname && strchr (pathname, '/')) { ! builtin_error ("%s: restricted", pathname); return (EXECUTION_FAILURE); } --- 131,144 ---- if (expunge_hash_table) ! phash_flush (); /* If someone runs `hash -r -t xyz' he will be disappointed. */ if (list_targets) ! return (list_hashed_filename_targets (list, list_portably)); #if defined (RESTRICTED_SHELL) if (restricted && pathname && strchr (pathname, '/')) { ! sh_restricted (pathname); return (EXECUTION_FAILURE); } *************** *** 139,143 **** for (opt = EXECUTION_SUCCESS; list; list = list->next) { ! /* Add or rehash the specified commands. */ w = list->word->word; if (pathname) --- 147,151 ---- for (opt = EXECUTION_SUCCESS; list; list = list->next) { ! /* Add, remove or rehash the specified commands. */ w = list->word->word; if (pathname) *************** *** 153,160 **** } else ! remember_filename (w, pathname, 0, 0); } else if (absolute_program (w)) continue; else if (add_hashed_command (w, 0)) opt = EXECUTION_FAILURE; --- 161,173 ---- } else ! phash_insert (w, pathname, 0, 0); } else if (absolute_program (w)) continue; + else if (delete && phash_remove (w)) + { + sh_notfound (w); + opt = EXECUTION_FAILURE; + } else if (add_hashed_command (w, 0)) opt = EXECUTION_FAILURE; *************** *** 178,190 **** full_path = find_user_command (w); if (full_path && executable_file (full_path)) ! remember_filename (w, full_path, dot_found_in_search, 0); else { if (quiet == 0) ! builtin_error ("%s: not found", w); rv++; } ! if (full_path) ! free (full_path); } return (rv); --- 191,202 ---- full_path = find_user_command (w); if (full_path && executable_file (full_path)) ! phash_insert (w, full_path, dot_found_in_search, 0); else { if (quiet == 0) ! sh_notfound (w); rv++; } ! FREE (full_path); } return (rv); *************** *** 193,226 **** /* Print information about current hashed info. */ static int ! print_hashed_commands () { ! BUCKET_CONTENTS *item_list; ! int bucket, any_printed; ! ! if (hashed_filenames == 0) ! return (0); ! ! for (bucket = any_printed = 0; bucket < hashed_filenames->nbuckets; bucket++) ! { ! item_list = get_hash_bucket (bucket, hashed_filenames); ! if (item_list == 0) ! continue; ! if (any_printed == 0) ! { ! printf ("hits\tcommand\n"); ! any_printed++; ! } ! for ( ; item_list; item_list = item_list->next) ! printf ("%4d\t%s\n", item_list->times_found, pathdata(item_list)->path); ! } ! return (any_printed); } static int ! list_hashed_filename_targets (list) WORD_LIST *list; { int all_found, multiple; --- 205,240 ---- /* Print information about current hashed info. */ static int ! print_hash_info (item) ! BUCKET_CONTENTS *item; { ! printf ("%4d\t%s\n", item->times_found, pathdata(item)->path); ! return 0; ! } ! static int ! print_portable_hash_info (item) ! BUCKET_CONTENTS *item; ! { ! printf ("builtin hash -p %s %s\n", pathdata(item)->path, item->key); ! return 0; ! } ! static int ! print_hashed_commands (fmt) ! int fmt; ! { ! if (hashed_filenames == 0 || HASH_ENTRIES (hashed_filenames) == 0) ! return (0); ! if (fmt == 0) ! printf ("hits\tcommand\n"); ! hash_walk (hashed_filenames, fmt ? print_portable_hash_info : print_hash_info); ! return (1); } static int ! list_hashed_filename_targets (list, fmt) WORD_LIST *list; + int fmt; { int all_found, multiple; *************** *** 233,246 **** for (l = list; l; l = l->next) { ! target = find_hashed_filename (l->word->word); if (target == 0) { all_found = 0; ! builtin_error ("%s: not found", l->word->word); continue; } ! if (multiple) ! printf ("%s\t", l->word->word); ! printf ("%s\n", target); } --- 247,265 ---- for (l = list; l; l = l->next) { ! target = phash_search (l->word->word); if (target == 0) { all_found = 0; ! sh_notfound (l->word->word); continue; } ! if (fmt) ! printf ("builtin hash -p %s %s\n", target, l->word->word); ! else ! { ! if (multiple) ! printf ("%s\t", l->word->word); ! printf ("%s\n", target); ! } } diff -Nrc2 bash-2.05a/builtins/help.def bash-2.05b/builtins/help.def *** bash-2.05a/builtins/help.def Mon Sep 10 09:54:50 2001 --- bash-2.05b/builtins/help.def Mon Apr 8 13:22:07 2002 *************** *** 2,6 **** It implements the builtin "help" in Bash. ! Copyright (C) 1987, 1989, 1991 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtin "help" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 45,48 **** --- 45,52 ---- #endif + #include + + #include + #include "../shell.h" #include "../builtins.h" *************** *** 54,58 **** #include ! static void show_builtin_command_help __P((void)); /* Print out a list of the known functions in the shell, and what they do. --- 58,67 ---- #include ! #ifndef errno ! extern int errno; ! #endif ! ! static void show_builtin_command_help __P((void)); ! static void show_longdoc __P((int)); /* Print out a list of the known functions in the shell, and what they do. *************** *** 63,67 **** WORD_LIST *list; { ! register int i, j; char *pattern, *name; int plen, match_found, sflag; --- 72,76 ---- WORD_LIST *list; { ! register int i; char *pattern, *name; int plen, match_found, sflag; *************** *** 113,118 **** if (sflag == 0) ! for (j = 0; shell_builtins[i].long_doc[j]; j++) ! printf (" %s\n", shell_builtins[i].long_doc[j]); match_found++; --- 122,126 ---- if (sflag == 0) ! show_longdoc (i); match_found++; *************** *** 123,127 **** if (match_found == 0) { ! builtin_error ("no help topics match `%s'. Try `help help'.", pattern); return (EXECUTION_FAILURE); } --- 131,135 ---- if (match_found == 0) { ! builtin_error ("no help topics match `%s'. Try `help help' or `man -k %s' or `info %s'.", pattern, pattern, pattern); return (EXECUTION_FAILURE); } *************** *** 131,134 **** --- 139,171 ---- } + /* By convention, enforced by mkbuiltins.c, if separate help files are being + used, the long_doc array contains one string -- the full pathname of the + help file for this builtin. */ + static void + show_longdoc (i) + int i; + { + register int j; + char * const *doc; + int fd; + + doc = shell_builtins[i].long_doc; + + if (doc && doc[0] && *doc[0] == '/' && doc[1] == (char *)NULL) + { + fd = open (doc[0], O_RDONLY); + if (fd == -1) + { + builtin_error ("%s: cannot open: %s", doc[0], strerror (errno)); + return; + } + zcatfd (fd, 1, doc[0]); + close (fd); + } + else + for (j = 0; doc[j]; j++) + printf (" %s\n", doc[j]); + } + static void show_builtin_command_help () *************** *** 141,144 **** --- 178,182 ---- Type `help name' to find out more about the function `name'.\n\ Use `info bash' to find out more about the shell in general.\n\ + Use `man -k' or `info' to find out more about commands not in this list.\n\ \n\ A star (*) next to a name means that the command is disabled.\n\ diff -Nrc2 bash-2.05a/builtins/history.def bash-2.05b/builtins/history.def *** bash-2.05a/builtins/history.def Mon May 21 15:32:57 2001 --- bash-2.05b/builtins/history.def Tue Mar 19 14:06:33 2002 *************** *** 2,6 **** It implements the builtin "history" in Bash. ! Copyright (C) 1987, 1989, 1991 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtin "history" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 71,74 **** --- 71,76 ---- #endif + extern int current_command_line_count; + static void display_history __P((WORD_LIST *)); static int delete_histent __P((int)); *************** *** 90,96 **** WORD_LIST *list; { ! int flags, opt, result; char *filename, *delete_arg; ! long delete_offset; flags = 0; --- 92,98 ---- WORD_LIST *list; { ! int flags, opt, result, old_history_lines; char *filename, *delete_arg; ! intmax_t delete_offset; flags = 0; *************** *** 169,173 **** || (delete_offset > (history_base + history_length))) { ! builtin_error ("%s: not a valid history position", delete_arg); return (EXECUTION_FAILURE); } --- 171,175 ---- || (delete_offset > (history_base + history_length))) { ! sh_erange (delete_arg, "history position"); return (EXECUTION_FAILURE); } *************** *** 198,205 **** --- 200,209 ---- { /* Read all of the lines in the file that we haven't already read. */ + old_history_lines = history_lines_in_file; using_history (); result = read_history_range (filename, history_lines_in_file, -1); using_history (); history_lines_in_file = where_history (); + history_lines_this_session += history_lines_in_file - old_history_lines; } *************** *** 216,220 **** { register int i; ! long limit; HIST_ENTRY **hlist; --- 220,224 ---- { register int i; ! intmax_t limit; HIST_ENTRY **hlist; *************** *** 298,305 **** char *s; if (hist_last_line_added && delete_last_history () == 0) ! return; s = string_list (list); ! maybe_add_history (s); /* Obeys HISTCONTROL setting. */ free (s); } --- 302,327 ---- char *s; + /* Delete the last history entry if it was a single entry added to the + history list (generally the `history -s' itself), or if `history -s' + is being used in a compound command and the compound command was + added to the history as a single element (command-oriented history). + If you don't want history -s to remove the compound command from the + history, change #if 0 to #if 1 below. */ + #if 0 if (hist_last_line_added && delete_last_history () == 0) ! #else ! if ((hist_last_line_added || (current_command_line_count > 0 && current_command_first_line_saved && command_oriented_history)) ! && delete_last_history () == 0) ! #endif ! return; ! s = string_list (list); ! /* Call check_add_history with FORCE set to 1 to skip the check against ! current_command_line_count. If history -s is used in a compound ! command, the above code will delete the compound command's history ! entry and this call will add the line to the history as a separate ! entry. Without FORCE=1, if current_command_line_count were > 1, the ! line would be appended to the entry before the just-deleted entry. */ ! check_add_history (s, 1); /* obeys HISTCONTROL, HISTIGNORE */ free (s); } diff -Nrc2 bash-2.05a/builtins/inlib.def bash-2.05b/builtins/inlib.def *** bash-2.05a/builtins/inlib.def Thu Aug 5 07:42:58 1999 --- bash-2.05b/builtins/inlib.def Tue Mar 19 14:20:49 2002 *************** *** 2,6 **** It implements the Apollo-specific builtin "inlib" in Bash. ! Copyright (C) 1987, 1989, 1991 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the Apollo-specific builtin "inlib" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 52,56 **** if (!list) { ! builtin_error ("usage: inlib pathname [pathname...]"); return (EX_USAGE); } --- 52,56 ---- if (!list) { ! builtin_usage (); return (EX_USAGE); } *************** *** 65,69 **** if (status.all != status_$ok) { ! builtin_error ("inlib failed for %s", list->word->word); return_value = EXECUTION_FAILURE; } --- 65,69 ---- if (status.all != status_$ok) { ! builtin_error ("%s: inlib failed", list->word->word); return_value = EXECUTION_FAILURE; } diff -Nrc2 bash-2.05a/builtins/jobs.def bash-2.05b/builtins/jobs.def *** bash-2.05a/builtins/jobs.def Tue Sep 11 15:38:49 2001 --- bash-2.05b/builtins/jobs.def Tue Mar 19 12:58:18 2002 *************** *** 2,6 **** It implements the builtins "jobs" and "disown" in Bash. ! Copyright (C) 1987, 1989, 1991, 1992 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtins "jobs" and "disown" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 99,103 **** if (form != JLIST_STANDARD) { ! builtin_error ("Other options not allowed with `-x'"); return (EXECUTION_FAILURE); } --- 99,103 ---- if (form != JLIST_STANDARD) { ! builtin_error ("no other options allowed with `-x'"); return (EXECUTION_FAILURE); } *************** *** 146,150 **** if ((job == NO_JOB) || !jobs || !jobs[job]) { ! builtin_error ("no such job %s", list->word->word); any_failed++; } --- 146,150 ---- if ((job == NO_JOB) || !jobs || !jobs[job]) { ! sh_badjob (list->word->word); any_failed++; } *************** *** 220,224 **** int opt, job, retval, nohup_only, running_jobs, all_jobs; sigset_t set, oset; ! long pid_value; nohup_only = running_jobs = all_jobs = 0; --- 220,224 ---- int opt, job, retval, nohup_only, running_jobs, all_jobs; sigset_t set, oset; ! intmax_t pid_value; nohup_only = running_jobs = all_jobs = 0; *************** *** 264,268 **** if (job == NO_JOB || jobs == 0 || job < 0 || job >= job_slots || jobs[job] == 0) { ! builtin_error ("%s: no such job", list ? list->word->word : "current"); retval = EXECUTION_FAILURE; } --- 264,268 ---- if (job == NO_JOB || jobs == 0 || job < 0 || job >= job_slots || jobs[job] == 0) { ! sh_badjob (list ? list->word->word : "current"); retval = EXECUTION_FAILURE; } diff -Nrc2 bash-2.05a/builtins/kill.def bash-2.05b/builtins/kill.def *** bash-2.05a/builtins/kill.def Mon Oct 15 13:23:32 2001 --- bash-2.05b/builtins/kill.def Tue Mar 19 13:44:11 2002 *************** *** 2,6 **** It implements the builtin "kill" in Bash. ! Copyright (C) 1987, 1989, 1991 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtin "kill" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 74,81 **** WORD_LIST *list; { ! int signal, any_succeeded, listing, saw_signal; char *sigspec, *word; pid_t pid; ! long pid_value; if (list == 0) --- 74,81 ---- WORD_LIST *list; { ! int sig, any_succeeded, listing, saw_signal; char *sigspec, *word; pid_t pid; ! intmax_t pid_value; if (list == 0) *************** *** 86,90 **** any_succeeded = listing = saw_signal = 0; ! signal = SIGTERM; sigspec = "TERM"; --- 86,90 ---- any_succeeded = listing = saw_signal = 0; ! sig = SIGTERM; sigspec = "TERM"; *************** *** 106,117 **** sigspec = list->word->word; if (sigspec[0] == '0' && sigspec[1] == '\0') ! signal = 0; else ! signal = decode_signal (sigspec); list = list->next; } else { ! builtin_error ("%s requires an argument", word); return (EXECUTION_FAILURE); } --- 106,117 ---- sigspec = list->word->word; if (sigspec[0] == '0' && sigspec[1] == '\0') ! sig = 0; else ! sig = decode_signal (sigspec); list = list->next; } else { ! sh_needarg (word); return (EXECUTION_FAILURE); } *************** *** 133,137 **** { sigspec = word + 1; ! signal = decode_signal (sigspec); saw_signal++; list = list->next; --- 133,137 ---- { sigspec = word + 1; ! sig = decode_signal (sigspec); saw_signal++; list = list->next; *************** *** 145,151 **** /* OK, we are killing processes. */ ! if (signal == NO_SIG) { ! builtin_error ("bad signal spec `%s'", sigspec); return (EXECUTION_FAILURE); } --- 145,151 ---- /* OK, we are killing processes. */ ! if (sig == NO_SIG) { ! sh_invalidsig (sigspec); return (EXECUTION_FAILURE); } *************** *** 164,173 **** word++; ! if (*word && legal_number (word, &pid_value) && (pid_value == (pid_t)pid_value)) { - /* Use the entire argument in case of minus sign presence. */ pid = (pid_t) pid_value; ! if (kill_pid (pid, signal, 0) < 0) goto signal_error; else --- 164,173 ---- word++; ! /* Use the entire argument in case of minus sign presence. */ ! if (*word && legal_number (list->word->word, &pid_value) && (pid_value == (pid_t)pid_value)) { pid = (pid_t) pid_value; ! if ((pid < -1 ? kill_pid (-pid, sig, 1) : kill_pid (pid, sig, 0)) < 0) goto signal_error; else *************** *** 191,195 **** { if (job != DUP_JOB) ! builtin_error ("%s: no such job", list->word->word); UNBLOCK_CHILD (oset); CONTINUE_OR_FAIL; --- 191,195 ---- { if (job != DUP_JOB) ! sh_badjob (list->word->word); UNBLOCK_CHILD (oset); CONTINUE_OR_FAIL; *************** *** 204,212 **** UNBLOCK_CHILD (oset); ! if (kill_pid (pid, signal, 1) < 0) { signal_error: if (errno == EINVAL) ! builtin_error ("Invalid signal %d", signal); else builtin_error ("(%ld) - %s", (long)pid, strerror (errno)); --- 204,212 ---- UNBLOCK_CHILD (oset); ! if (kill_pid (pid, sig, 1) < 0) { signal_error: if (errno == EINVAL) ! sh_invalidsig (sigspec); else builtin_error ("(%ld) - %s", (long)pid, strerror (errno)); *************** *** 218,222 **** else { ! builtin_error ("`%s': not a pid or valid job spec", list->word->word); CONTINUE_OR_FAIL; } --- 218,222 ---- else { ! sh_badpid (list->word->word); CONTINUE_OR_FAIL; } diff -Nrc2 bash-2.05a/builtins/let.def bash-2.05b/builtins/let.def *** bash-2.05a/builtins/let.def Mon Sep 17 13:51:02 2001 --- bash-2.05b/builtins/let.def Mon Apr 8 13:22:17 2002 *************** *** 2,6 **** It implements the builtin "let" in Bash. ! Copyright (C) 1987, 1989, 1991 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtin "let" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 25,35 **** $SHORT_DOC let arg [arg ...] Each ARG is an arithmetic expression to be evaluated. Evaluation ! is done in long integers with no check for overflow, though division ! by 0 is trapped and flagged as an error. The following list of ! operators is grouped into levels of equal-precedence operators. The levels are listed in order of decreasing precedence. -, + unary minus, plus !, ~ logical and bitwise negation *, /, % multiplication, division, remainder +, - addition, subtraction --- 25,38 ---- $SHORT_DOC let arg [arg ...] Each ARG is an arithmetic expression to be evaluated. Evaluation ! is done in fixed-width integers with no check for overflow, though ! division by 0 is trapped and flagged as an error. The following ! list of operators is grouped into levels of equal-precedence operators. The levels are listed in order of decreasing precedence. + id++, id-- variable post-increment, post-decrement + ++id, --id variable pre-increment, pre-decrement -, + unary minus, plus !, ~ logical and bitwise negation + ** exponentiation *, /, % multiplication, division, remainder +, - addition, subtraction *************** *** 49,53 **** Shell variables are allowed as operands. The name of the variable ! is replaced by its value (coerced to a long integer) within an expression. The variable need not have its integer attribute turned on to be used in an expression. --- 52,56 ---- Shell variables are allowed as operands. The name of the variable ! is replaced by its value (coerced to a fixed-width integer) within an expression. The variable need not have its integer attribute turned on to be used in an expression. *************** *** 78,84 **** WORD_LIST *list; { ! long ret; int expok; if (list == 0) { --- 81,91 ---- WORD_LIST *list; { ! intmax_t ret; int expok; + /* Skip over leading `--' argument. */ + if (list && list->word && ISOPTION (list->word->word, '-')) + list = list->next; + if (list == 0) { *************** *** 103,107 **** { char *exp; ! int ret, expok; if (list == 0) --- 110,115 ---- { char *exp; ! intmax_t ret; ! int expok; if (list == 0) diff -Nrc2 bash-2.05a/builtins/mkbuiltins.c bash-2.05b/builtins/mkbuiltins.c *** bash-2.05a/builtins/mkbuiltins.c Mon Oct 15 13:24:15 2001 --- bash-2.05b/builtins/mkbuiltins.c Mon Apr 8 13:22:44 2002 *************** *** 2,6 **** a single source file called builtins.def. */ ! /* Copyright (C) 1987, 1989, 1991 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- a single source file called builtins.def. */ ! /* Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 39,42 **** --- 39,43 ---- #include "../bashansi.h" #include + #include #include "stdc.h" *************** *** 44,47 **** --- 45,52 ---- #define DOCFILE "builtins.texi" + #ifndef errno + extern int errno; + #endif + static char *xmalloc (), *xrealloc (); *************** *** 67,73 **** int inhibit_production = 0; ! #if !defined (OLDCODE) ! int no_long_document = 0; ! #endif /* !OLDCODE */ /* The name of a directory to precede the filename when reporting --- 72,82 ---- int inhibit_production = 0; ! /* Non-zero means to produce separate help files for each builtin, named by ! the builtin name, in `./helpfiles'. */ ! int separate_helpfiles = 0; ! ! /* The name of a directory into which the separate external help files will ! eventually be installed. */ ! char *helpfile_directory; /* The name of a directory to precede the filename when reporting *************** *** 150,153 **** --- 159,164 ---- void write_builtins (); + int write_helpfiles (); + void free_defs (); void add_documentation (); *************** *** 155,158 **** --- 166,172 ---- void must_be_building (); void remove_trailing_whitespace (); + + #define document_name(b) ((b)->docname ? (b)->docname : (b)->name) + /* For each file mentioned on the command line, process it and *************** *** 205,212 **** documentation_file = fopen (documentation_filename, "w"); } ! #if !defined (OLDCODE) ! else if (strcmp (arg, "-nodocument") == 0) ! no_long_document = 1; ! #endif /* !OLDCODE */ else { --- 219,227 ---- documentation_file = fopen (documentation_filename, "w"); } ! else if (strcmp (arg, "-H") == 0) ! { ! separate_helpfiles = 1; ! helpfile_directory = argv[arg_index++]; ! } else { *************** *** 279,282 **** --- 294,302 ---- } + if (separate_helpfiles) + { + write_helpfiles (saved_builtins); + } + if (documentation_file) { *************** *** 1037,1042 **** /* Flags that mean something to write_documentation (). */ ! #define STRING_ARRAY 1 ! #define TEXINFO 2 char *structfile_header[] = { --- 1057,1063 ---- /* Flags that mean something to write_documentation (). */ ! #define STRING_ARRAY 1 ! #define TEXINFO 2 ! #define PLAINTEXT 4 char *structfile_header[] = { *************** *** 1046,1050 **** " edited by hand. See the source to mkbuiltins for details. */", "", ! "/* Copyright (C) 1987, 1991, 1992 Free Software Foundation, Inc.", "", " This file is part of GNU Bash, the Bourne Again SHell.", --- 1067,1071 ---- " edited by hand. See the source to mkbuiltins for details. */", "", ! "/* Copyright (C) 1987-2002 Free Software Foundation, Inc.", "", " This file is part of GNU Bash, the Bourne Again SHell.", *************** *** 1166,1171 **** builtin->function); ! fprintf (externfile, "extern char *%s_doc[];\n", ! builtin->docname ? builtin->docname : builtin->name); } --- 1187,1192 ---- builtin->function); ! fprintf (externfile, "extern char * const %s_doc[];\n", ! document_name (builtin)); } *************** *** 1184,1188 **** (builtin->flags & BUILTIN_FLAG_SPECIAL) ? " | SPECIAL_BUILTIN" : "", (builtin->flags & BUILTIN_FLAG_ASSIGNMENT) ? " | ASSIGNMENT_BUILTIN" : "", ! builtin->docname ? builtin->docname : builtin->name); fprintf --- 1205,1209 ---- (builtin->flags & BUILTIN_FLAG_SPECIAL) ? " | SPECIAL_BUILTIN" : "", (builtin->flags & BUILTIN_FLAG_ASSIGNMENT) ? " | ASSIGNMENT_BUILTIN" : "", ! document_name (builtin)); fprintf *************** *** 1190,1198 **** builtin->shortdoc ? builtin->shortdoc : builtin->name); - /* Save away this builtin for later writing of the - long documentation strings. */ - save_builtin (builtin); } /* Write out the matching #endif, if neccessary. */ if (builtin->dependencies) --- 1211,1221 ---- builtin->shortdoc ? builtin->shortdoc : builtin->name); } + if (structfile || separate_helpfiles) + /* Save away this builtin for later writing of the + long documentation strings. */ + save_builtin (builtin); + /* Write out the matching #endif, if neccessary. */ if (builtin->dependencies) *************** *** 1224,1227 **** --- 1247,1252 ---- register int i; register BUILTIN_DESC *builtin; + char *dname; + char *sarray[2]; for (i = 0; i < builtins->sindex; i++) *************** *** 1233,1239 **** /* Write the long documentation strings. */ ! fprintf (stream, "char *%s_doc[] =", ! builtin->docname ? builtin->docname : builtin->name); ! write_documentation (stream, builtin->longdoc->array, 0, STRING_ARRAY); if (builtin->dependencies) --- 1258,1275 ---- /* Write the long documentation strings. */ ! dname = document_name (builtin); ! fprintf (stream, "char * const %s_doc[] =", dname); ! ! if (separate_helpfiles) ! { ! int l = strlen (helpfile_directory) + strlen (dname) + 1; ! sarray[0] = (char *)xmalloc (l + 1); ! sprintf (sarray[0], "%s/%s", helpfile_directory, dname); ! sarray[1] = (char *)NULL; ! write_documentation (stream, sarray, 0, STRING_ARRAY); ! free (sarray[0]); ! } ! else ! write_documentation (stream, builtin->longdoc->array, 0, STRING_ARRAY); if (builtin->dependencies) *************** *** 1322,1331 **** fprintf (stream, " {\n#if defined (HELP_BUILTIN)\n"); - #if !defined (OLDCODE) - /* XXX -- clean me up; for experiment only */ - if (no_long_document) - goto end_of_document; - #endif /* !OLDCODE */ - for (i = 0, texinfo = (flags & TEXINFO); line = documentation[i]; i++) { --- 1358,1361 ---- *************** *** 1385,1396 **** } - #if !defined (OLDCODE) - end_of_document: - #endif /* !OLDCODE */ - if (string_array) fprintf (stream, "#endif /* HELP_BUILTIN */\n (char *)NULL\n};\n"); } static int _find_in_table (name, name_table) --- 1415,1464 ---- } if (string_array) fprintf (stream, "#endif /* HELP_BUILTIN */\n (char *)NULL\n};\n"); } + int + write_helpfiles (builtins) + ARRAY *builtins; + { + char *helpfile, *bname; + FILE *helpfp; + int i, hdlen; + BUILTIN_DESC *builtin; + + i = mkdir ("helpfiles", 0777); + if (i < 0 && errno != EEXIST) + { + fprintf (stderr, "write_helpfiles: helpfiles: cannot create directory\n"); + return -1; + } + + hdlen = strlen ("helpfiles/"); + for (i = 0; i < builtins->sindex; i++) + { + builtin = (BUILTIN_DESC *)builtins->array[i]; + + bname = document_name (builtin); + helpfile = (char *)xmalloc (hdlen + strlen (bname) + 1); + sprintf (helpfile, "helpfiles/%s", bname); + + helpfp = fopen (helpfile, "w"); + if (helpfp == 0) + { + fprintf (stderr, "write_helpfiles: cannot open %s\n", helpfile); + free (helpfile); + continue; + } + + write_documentation (helpfp, builtin->longdoc->array, 4, PLAINTEXT); + + fflush (helpfp); + fclose (helpfp); + free (helpfile); + } + return 0; + } + static int _find_in_table (name, name_table) diff -Nrc2 bash-2.05a/builtins/printf.def bash-2.05b/builtins/printf.def *** bash-2.05a/builtins/printf.def Thu Nov 1 12:37:49 2001 --- bash-2.05b/builtins/printf.def Mon May 13 14:36:04 2002 *************** *** 2,6 **** It implements the builtin "printf" in Bash. ! Copyright (C) 1997 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtin "printf" in Bash. ! Copyright (C) 1997-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 57,62 **** #include "../bashansi.h" - #define NEED_STRTOIMAX_DECL - #include "../shell.h" #include "stdc.h" --- 57,60 ---- *************** *** 64,72 **** #include "common.h" ! /* This should use the ISO C constant format strings; I'll do that later. */ ! #if SIZEOF_LONG < SIZEOF_LONG_LONG ! # define INTMAX_CONV "ll" ! #else ! # define INTMAX_CONV "l" #endif --- 62,71 ---- #include "common.h" ! #if !defined (PRIdMAX) ! # if HAVE_LONG_LONG ! # define PRIdMAX "lld" ! # else ! # define PRIdMAX "ld" ! # endif #endif *************** *** 105,127 **** #define LENMODS "hjlLtz" static void printstr __P((char *, char *, int, int, int)); static int tescape __P((char *, int, char *, int *)); static char *bexpand __P((char *, int, int *, int *)); ! static char *mklong __P((char *, char *)); static int getchr __P((void)); static char *getstr __P((void)); static int getint __P((void)); - static long getlong __P((void)); - static unsigned long getulong __P((void)); - #if defined (HAVE_LONG_LONG) - static long long getllong __P((void)); - static unsigned long long getullong __P((void)); - #endif static intmax_t getintmax __P((void)); static uintmax_t getuintmax __P((void)); ! static double getdouble __P((void)); #if defined (HAVE_LONG_DOUBLE) && HAVE_DECL_STRTOLD ! static long double getldouble __P((void)); #endif static int asciicode __P((void)); --- 104,129 ---- #define LENMODS "hjlLtz" + static void printf_erange __P((char *)); static void printstr __P((char *, char *, int, int, int)); static int tescape __P((char *, int, char *, int *)); static char *bexpand __P((char *, int, int *, int *)); ! static char *mklong __P((char *, char *, size_t)); static int getchr __P((void)); static char *getstr __P((void)); static int getint __P((void)); static intmax_t getintmax __P((void)); static uintmax_t getuintmax __P((void)); ! #if defined (HAVE_LONG_DOUBLE) && HAVE_DECL_STRTOLD ! typedef long double floatmax_t; ! # define FLOATMAX_CONV "L" ! # define strtofltmax strtold ! #else ! typedef double floatmax_t; ! # define FLOATMAX_CONV "" ! # define strtofltmax strtod #endif + static floatmax_t getfloatmax __P((void)); + static int asciicode __P((void)); *************** *** 139,154 **** int ch, fieldwidth, precision; int have_fieldwidth, have_precision; ! long tw; char convch, thisch, nextch, *format, *modstart, *fmt, *start; conversion_error = 0; retval = EXECUTION_SUCCESS; ! reset_internal_getopt (); ! if (internal_getopt (list, "") != -1) ! { ! builtin_usage(); ! return (EX_USAGE); ! } ! list = loptend; if (list == 0) --- 141,153 ---- int ch, fieldwidth, precision; int have_fieldwidth, have_precision; ! intmax_t tw; char convch, thisch, nextch, *format, *modstart, *fmt, *start; conversion_error = 0; retval = EXECUTION_SUCCESS; ! ! if (no_options (list)) ! return (EX_USAGE); ! list = loptend; /* skip over possible `--' */ if (list == 0) *************** *** 289,293 **** else { ! builtin_error ("%s: invalid variable name", var); PRETURN (EXECUTION_FAILURE); } --- 288,292 ---- else { ! sh_invalidid (var); PRETURN (EXECUTION_FAILURE); } *************** *** 323,327 **** p = getstr (); ! xp = sh_backslash_quote (p); if (xp) { --- 322,329 ---- p = getstr (); ! if (ansic_shouldquote (p)) ! xp = ansic_quote (p, 0, (int *)0); ! else ! xp = sh_backslash_quote (p); if (xp) { *************** *** 337,366 **** { char *f; ! #if defined (HAVE_LONG_LONG) ! if (thisch == 'l' && nextch == 'l') ! { ! long long p; ! p = getllong (); ! f = mklong (start, "ll"); ! PF(f, p); ! } ! else ! #endif ! if (thisch == 'j') { ! intmax_t p; ! ! p = getintmax (); ! f = mklong (start, INTMAX_CONV); ! PF(f, p); } else { ! long p; ! ! p = getlong (); ! f = mklong (start, "l"); ! PF(f, p); } break; --- 339,359 ---- { char *f; ! long p; ! intmax_t pp; ! p = pp = getintmax (); ! if (p != pp) { ! f = mklong (start, PRIdMAX, sizeof (PRIdMAX) - 2); ! PF (f, pp); } else { ! /* Optimize the common case where the integer fits ! in "long". This also works around some long ! long and/or intmax_t library bugs in the common ! case, e.g. glibc 2.2 x86. */ ! f = mklong (start, "l", 1); ! PF (f, p); } break; *************** *** 373,401 **** { char *f; ! #if defined (HAVE_LONG_LONG) ! if (thisch == 'l' && nextch == 'l') ! { ! unsigned long long p; ! p = getullong (); ! f = mklong (start, "ll"); ! PF(f, p); ! } ! else ! #endif ! if (thisch == 'j') { ! uintmax_t p; ! ! p = getuintmax (); ! f = mklong (start, INTMAX_CONV); ! PF(f, p); } else { ! unsigned long p; ! ! p = getulong (); ! f = mklong (start, "l"); PF (f, p); } --- 366,381 ---- { char *f; ! unsigned long p; ! uintmax_t pp; ! p = pp = getuintmax (); ! if (p != pp) { ! f = mklong (start, PRIdMAX, sizeof (PRIdMAX) - 2); ! PF (f, pp); } else { ! f = mklong (start, "l", 1); PF (f, p); } *************** *** 415,436 **** { char *f; ! #if defined (HAVE_LONG_DOUBLE) && HAVE_DECL_STRTOLD ! if (thisch == 'L') ! { ! long double p; ! ! p = getldouble (); ! f = mklong (start, "L"); ! PF (f, p); ! } ! else ! #endif ! { ! double p; ! p = getdouble (); ! f = mklong (start, ""); ! PF (f, p); ! } break; } --- 395,403 ---- { char *f; ! floatmax_t p; ! p = getfloatmax (); ! f = mklong (start, FLOATMAX_CONV, sizeof(FLOATMAX_CONV) - 1); ! PF (f, p); break; } *************** *** 455,458 **** --- 422,432 ---- } + static void + printf_erange (s) + char *s; + { + builtin_error ("warning: %s: %s", s, strerror(ERANGE)); + } + /* We duplicate a lot of what printf(3) does here. */ static void *************** *** 606,619 **** octal digits... */ case '0': - for (temp = 3, evalue = 0; ISOCTAL (*p) && temp--; p++) - evalue = (evalue * 8) + OCTVALUE (*p); - *cp = evalue & 0xFF; - break; - /* but, as an extension, the other echo-like octal escape sequences are supported as well. */ case '1': case '2': case '3': case '4': case '5': case '6': case '7': ! for (temp = 2, evalue = c - '0'; ISOCTAL (*p) && temp--; p++) evalue = (evalue * 8) + OCTVALUE (*p); *cp = evalue & 0xFF; --- 580,588 ---- octal digits... */ case '0': /* but, as an extension, the other echo-like octal escape sequences are supported as well. */ case '1': case '2': case '3': case '4': case '5': case '6': case '7': ! for (temp = 2+(c=='0'), evalue = c - '0'; ISOCTAL (*p) && temp--; p++) evalue = (evalue * 8) + OCTVALUE (*p); *cp = evalue & 0xFF; *************** *** 707,718 **** static char * ! mklong (str, modifiers) char *str; char *modifiers; { ! size_t len, slen, mlen; slen = strlen (str); - mlen = strlen (modifiers); len = slen + mlen + 1; --- 676,687 ---- static char * ! mklong (str, modifiers, mlen) char *str; char *modifiers; + size_t mlen; { ! size_t len, slen; slen = strlen (str); len = slen + mlen + 1; *************** *** 760,775 **** getint () { ! long ret; ! ret = getlong (); if (ret > INT_MAX) { ! builtin_error ("warning: %s: %s", garglist->word->word, strerror(ERANGE)); ret = INT_MAX; } else if (ret < INT_MIN) { ! builtin_error ("warning: %s: %s", garglist->word->word, strerror(ERANGE)); ret = INT_MIN; } --- 729,744 ---- getint () { ! intmax_t ret; ! ret = getintmax (); if (ret > INT_MAX) { ! printf_erange (garglist->word->word); ret = INT_MAX; } else if (ret < INT_MIN) { ! printf_erange (garglist->word->word); ret = INT_MIN; } *************** *** 778,909 **** } - static long - getlong () - { - long ret; - char *ep; - - if (garglist == 0) - return (0); - - if (garglist->word->word[0] == '\'' || garglist->word->word[0] == '"') - return asciicode (); - - errno = 0; - ret = strtol (garglist->word->word, &ep, 0); - - if (*ep) - { - builtin_error ("%s: invalid number", garglist->word->word); - /* POSIX.2 says ``...a diagnostic message shall be written to standard - error, and the utility shall not exit with a zero exit status, but - shall continue processing any remaining operands and shall write the - value accumulated at the time the error was detected to standard - output.'' Yecch. */ - ret = 0; - conversion_error = 1; - } - else if (errno == ERANGE) - builtin_error ("warning: %s: %s", garglist->word->word, strerror(ERANGE)); - - garglist = garglist->next; - return (ret); - } - - static unsigned long - getulong () - { - unsigned long ret; - char *ep; - - if (garglist == 0) - return (0); - - if (garglist->word->word[0] == '\'' || garglist->word->word[0] == '"') - return asciicode (); - - errno = 0; - ret = strtoul (garglist->word->word, &ep, 0); - - if (*ep) - { - builtin_error ("%s: invalid number", garglist->word->word); - /* Same thing about POSIX.2 conversion error requirements as getlong(). */ - ret = 0; - conversion_error = 1; - } - else if (errno == ERANGE) - builtin_error ("warning: %s: %s", garglist->word->word, strerror(ERANGE)); - - garglist = garglist->next; - return (ret); - } - - #if defined (HAVE_LONG_LONG) - - static long long - getllong () - { - long long ret; - char *ep; - - if (garglist == 0) - return (0); - - if (garglist->word->word[0] == '\'' || garglist->word->word[0] == '"') - return asciicode (); - - errno = 0; - ret = strtoll (garglist->word->word, &ep, 0); - - if (*ep) - { - builtin_error ("%s: invalid number", garglist->word->word); - /* POSIX.2 says ``...a diagnostic message shall be written to standard - error, and the utility shall not exit with a zero exit status, but - shall continue processing any remaining operands and shall write the - value accumulated at the time the error was detected to standard - output.'' Yecch. */ - ret = 0; - conversion_error = 1; - } - else if (errno == ERANGE) - builtin_error ("warning: %s: %s", garglist->word->word, strerror(ERANGE)); - - garglist = garglist->next; - return (ret); - } - - static unsigned long long - getullong () - { - unsigned long long ret; - char *ep; - - if (garglist == 0) - return (0); - - if (garglist->word->word[0] == '\'' || garglist->word->word[0] == '"') - return asciicode (); - - errno = 0; - ret = strtoull (garglist->word->word, &ep, 0); - - if (*ep) - { - builtin_error ("%s: invalid number", garglist->word->word); - /* Same thing about POSIX.2 conversion error requirements as getlong(). */ - ret = 0; - conversion_error = 1; - } - else if (errno == ERANGE) - builtin_error ("warning: %s: %s", garglist->word->word, strerror(ERANGE)); - - garglist = garglist->next; - return (ret); - } - - #endif /* HAVE_LONG_LONG */ - static intmax_t getintmax () --- 747,750 ---- *************** *** 923,927 **** if (*ep) { ! builtin_error ("%s: invalid number", garglist->word->word); /* POSIX.2 says ``...a diagnostic message shall be written to standard error, and the utility shall not exit with a zero exit status, but --- 764,768 ---- if (*ep) { ! sh_invalidnum (garglist->word->word); /* POSIX.2 says ``...a diagnostic message shall be written to standard error, and the utility shall not exit with a zero exit status, but *************** *** 933,937 **** } else if (errno == ERANGE) ! builtin_error ("warning: %s: %s", garglist->word->word, strerror(ERANGE)); garglist = garglist->next; --- 774,778 ---- } else if (errno == ERANGE) ! printf_erange (garglist->word->word); garglist = garglist->next; *************** *** 956,966 **** if (*ep) { ! builtin_error ("%s: invalid number", garglist->word->word); ! /* Same thing about POSIX.2 conversion error requirements as getlong(). */ ret = 0; conversion_error = 1; } else if (errno == ERANGE) ! builtin_error ("warning: %s: %s", garglist->word->word, strerror(ERANGE)); garglist = garglist->next; --- 797,807 ---- if (*ep) { ! sh_invalidnum (garglist->word->word); ! /* Same POSIX.2 conversion error requirements as getintmax(). */ ret = 0; conversion_error = 1; } else if (errno == ERANGE) ! printf_erange (garglist->word->word); garglist = garglist->next; *************** *** 968,975 **** } ! static double ! getdouble () { ! double ret; char *ep; --- 809,816 ---- } ! static floatmax_t ! getfloatmax () { ! floatmax_t ret; char *ep; *************** *** 981,1019 **** errno = 0; ! ret = strtod (garglist->word->word, &ep); ! ! if (*ep) ! { ! builtin_error ("%s: invalid number", garglist->word->word); ! /* Same thing about POSIX.2 conversion error requirements. */ ! ret = 0; ! conversion_error = 1; ! } ! else if (errno == ERANGE) ! builtin_error ("warning: %s: %s", garglist->word->word, strerror(ERANGE)); ! ! garglist = garglist->next; ! return (ret); ! } ! ! #if defined (HAVE_LONG_DOUBLE) && HAVE_DECL_STRTOLD ! static long double ! getldouble () ! { ! long double ret; ! char *ep; ! ! if (garglist == 0) ! return (0); ! ! if (garglist->word->word[0] == '\'' || garglist->word->word[0] == '"') ! return (asciicode ()); ! ! errno = 0; ! ret = strtold (garglist->word->word, &ep); if (*ep) { ! builtin_error ("%s: invalid number", garglist->word->word); /* Same thing about POSIX.2 conversion error requirements. */ ret = 0; --- 822,830 ---- errno = 0; ! ret = strtofltmax (garglist->word->word, &ep); if (*ep) { ! sh_invalidnum (garglist->word->word); /* Same thing about POSIX.2 conversion error requirements. */ ret = 0; *************** *** 1021,1030 **** } else if (errno == ERANGE) ! builtin_error ("warning: %s: %s", garglist->word->word, strerror(ERANGE)); garglist = garglist->next; return (ret); } - #endif /* HAVE_LONG_DOUBLE && HAVE_DECL_STRTOLD */ /* NO check is needed for garglist here. */ --- 832,840 ---- } else if (errno == ERANGE) ! printf_erange (garglist->word->word); garglist = garglist->next; return (ret); } /* NO check is needed for garglist here. */ diff -Nrc2 bash-2.05a/builtins/pushd.def bash-2.05b/builtins/pushd.def *** bash-2.05a/builtins/pushd.def Mon Sep 17 13:46:28 2001 --- bash-2.05b/builtins/pushd.def Mon Apr 8 13:23:16 2002 *************** *** 2,6 **** builtins "pushd", "popd", and "dirs" in Bash. ! Copyright (C) 1987, 1989, 1991 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- builtins "pushd", "popd", and "dirs" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 126,131 **** #endif /* !errno */ - static char *m_badarg = "%s: bad argument"; - /* The list of remembered directories. */ static char **pushd_directory_list = (char **)NULL; --- 126,129 ---- *************** *** 142,146 **** static int change_to_temp __P((char *)); static void add_dirstack_element __P((char *)); ! static int get_dirstack_index __P((long, int, int *)); #define NOCD 0x01 --- 140,144 ---- static int change_to_temp __P((char *)); static void add_dirstack_element __P((char *)); ! static int get_dirstack_index __P((intmax_t, int, int *)); #define NOCD 0x01 *************** *** 155,161 **** char *temp, *current_directory, *top; int j, flags; ! long num; char direction; /* If there is no argument list then switch current and top of list. */ --- 153,162 ---- char *temp, *current_directory, *top; int j, flags; ! intmax_t num; char direction; + if (list && list->word && ISOPTION (list->word->word, '-')) + list = list->next; + /* If there is no argument list then switch current and top of list. */ *************** *** 198,202 **** if (legal_number (list->word->word + 1, &num) == 0) { ! builtin_error (m_badarg, list->word->word); builtin_usage (); return (EXECUTION_FAILURE); --- 199,203 ---- if (legal_number (list->word->word + 1, &num) == 0) { ! sh_invalidnum (list->word->word); builtin_usage (); return (EXECUTION_FAILURE); *************** *** 215,219 **** else if (*list->word->word == '-') { ! bad_option (list->word->word); builtin_usage (); return (EXECUTION_FAILURE); --- 216,220 ---- else if (*list->word->word == '-') { ! sh_invalidopt (list->word->word); builtin_usage (); return (EXECUTION_FAILURE); *************** *** 288,292 **** { register int i; ! long which; int flags; char direction; --- 289,293 ---- { register int i; ! intmax_t which; int flags; char direction; *************** *** 309,313 **** if (legal_number (list->word->word + 1, &which) == 0) { ! builtin_error (m_badarg, list->word->word); builtin_usage (); return (EXECUTION_FAILURE); --- 310,314 ---- if (legal_number (list->word->word + 1, &which) == 0) { ! sh_invalidnum (list->word->word); builtin_usage (); return (EXECUTION_FAILURE); *************** *** 317,321 **** else if (*list->word->word == '-') { ! bad_option (list->word->word); builtin_usage (); return (EXECUTION_FAILURE); --- 318,322 ---- else if (*list->word->word == '-') { ! sh_invalidopt (list->word->word); builtin_usage (); return (EXECUTION_FAILURE); *************** *** 365,369 **** { int flags, desired_index, index_flag, vflag; ! long i; char *temp, *w; --- 366,370 ---- { int flags, desired_index, index_flag, vflag; ! intmax_t i; char *temp, *w; *************** *** 396,400 **** if (legal_number (w = list->word->word + 1, &i) == 0) { ! builtin_error (m_badarg, list->word->word); builtin_usage (); return (EXECUTION_FAILURE); --- 397,401 ---- if (legal_number (w = list->word->word + 1, &i) == 0) { ! sh_invalidnum (list->word->word); builtin_usage (); return (EXECUTION_FAILURE); *************** *** 405,409 **** else { ! bad_option (list->word->word); builtin_usage (); return (EXECUTION_FAILURE); --- 406,410 ---- else { ! sh_invalidopt (list->word->word); builtin_usage (); return (EXECUTION_FAILURE); *************** *** 476,483 **** if (offset == 0) builtin_error ("directory stack empty"); - else if (arg) - builtin_error ("%s: bad directory stack index", arg); else ! builtin_error ("bad directory stack index"); } --- 477,482 ---- if (offset == 0) builtin_error ("directory stack empty"); else ! sh_erange (arg, "directory stack index"); } *************** *** 526,536 **** char *dir; { - int j; - if (directory_list_offset == directory_list_size) ! { ! j = (directory_list_size += 10) * sizeof (char *); ! pushd_directory_list = (char **)xrealloc (pushd_directory_list, j); ! } pushd_directory_list[directory_list_offset++] = dir; } --- 525,530 ---- char *dir; { if (directory_list_offset == directory_list_size) ! pushd_directory_list = strvec_resize (pushd_directory_list, directory_list_size += 10); pushd_directory_list[directory_list_offset++] = dir; } *************** *** 538,542 **** static int get_dirstack_index (ind, sign, indexp) ! long ind; int sign, *indexp; { --- 532,536 ---- static int get_dirstack_index (ind, sign, indexp) ! intmax_t ind; int sign, *indexp; { *************** *** 566,570 **** { int ind, sign, index_flag; ! long i; sign = 1; --- 560,564 ---- { int ind, sign, index_flag; ! intmax_t i; sign = 1; *************** *** 590,594 **** char * get_dirstack_element (ind, sign) ! long ind; int sign; { --- 584,588 ---- char * get_dirstack_element (ind, sign) ! intmax_t ind; int sign; { *************** *** 603,607 **** void set_dirstack_element (ind, sign, value) ! long ind; int sign; char *value; --- 597,601 ---- void set_dirstack_element (ind, sign, value) ! intmax_t ind; int sign; char *value; diff -Nrc2 bash-2.05a/builtins/read.def bash-2.05b/builtins/read.def *** bash-2.05a/builtins/read.def Wed Oct 31 10:31:52 2001 --- bash-2.05b/builtins/read.def Tue Mar 19 14:33:41 2002 *************** *** 2,6 **** It implements the builtin "read" in Bash. ! Copyright (C) 1987, 1989, 1991 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtin "read" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 24,46 **** $BUILTIN read $FUNCTION read_builtin ! $SHORT_DOC read [-ers] [-t timeout] [-p prompt] [-a array] [-n nchars] [-d delim] [name ...] ! One line is read from the standard input, and the first word is ! assigned to the first NAME, the second word to the second NAME, and so ! on, with leftover words assigned to the last NAME. Only the characters ! found in $IFS are recognized as word delimiters. If no NAMEs are supplied, ! the line read is stored in the REPLY variable. If the -r option is given, ! this signifies `raw' input, and backslash escaping is disabled. The ! -d option causes read to continue until the first character of DELIM is ! read, rather than newline. If the `-p' option is supplied, the string ! PROMPT is output without a trailing newline before attempting to read. ! If -a is supplied, the words read are assigned to sequential indices of ! ARRAY, starting at zero. If -e is supplied and the shell is interactive, ! readline is used to obtain the line. If -n is supplied with a non-zero ! NCHARS argument, read returns after NCHARS characters have been read. ! The -s option causes input coming from a terminal to not be echoed. The -t option causes read to time out and return failure if a complete line ! of input is not read within TIMEOUT seconds. The return code is zero, ! unless end-of-file is encountered or read times out. $END --- 24,49 ---- $BUILTIN read $FUNCTION read_builtin ! $SHORT_DOC read [-ers] [-u fd] [-t timeout] [-p prompt] [-a array] [-n nchars] [-d delim] [name ...] ! One line is read from the standard input, or from file descriptor FD if the ! -u option is supplied, and the first word is assigned to the first NAME, ! the second word to the second NAME, and so on, with leftover words assigned ! to the last NAME. Only the characters found in $IFS are recognized as word ! delimiters. If no NAMEs are supplied, the line read is stored in the REPLY ! variable. If the -r option is given, this signifies `raw' input, and ! backslash escaping is disabled. The -d option causes read to continue ! until the first character of DELIM is read, rather than newline. If the -p ! option is supplied, the string PROMPT is output without a trailing newline ! before attempting to read. If -a is supplied, the words read are assigned ! to sequential indices of ARRAY, starting at zero. If -e is supplied and ! the shell is interactive, readline is used to obtain the line. If -n is ! supplied with a non-zero NCHARS argument, read returns after NCHARS ! characters have been read. The -s option causes input coming from a ! terminal to not be echoed. The -t option causes read to time out and return failure if a complete line ! of input is not read within TIMEOUT seconds. If the TMOUT variable is set, ! its value is the default timeout. The return code is zero, unless end-of-file ! is encountered, read times out, or an invalid file descriptor is supplied as ! the argument to -u. $END *************** *** 79,84 **** #endif - #define issep(c) (strchr (ifs_chars, (c))) - extern int interrupt_immediately; --- 82,85 ---- *************** *** 124,130 **** int size, i, pass_next, saw_escape, eof, opt, retval, code; int input_is_tty, input_is_pipe, unbuffered_read; ! int raw, edit, nchars, silent, have_timeout; unsigned int tmout; ! long timeoutval, ncharsval; char c; char *input_string, *orig_input_string, *ifs_chars, *prompt, *arrayname; --- 125,131 ---- int size, i, pass_next, saw_escape, eof, opt, retval, code; int input_is_tty, input_is_pipe, unbuffered_read; ! int raw, edit, nchars, silent, have_timeout, fd; unsigned int tmout; ! intmax_t intval; char c; char *input_string, *orig_input_string, *ifs_chars, *prompt, *arrayname; *************** *** 163,166 **** --- 164,168 ---- silent = 0; arrayname = prompt = (char *)NULL; + fd = 0; /* file descriptor to read from */ #if defined (READLINE) *************** *** 174,178 **** reset_internal_getopt (); ! while ((opt = internal_getopt (list, "erp:a:d:t:n:s")) != -1) { switch (opt) --- 176,180 ---- reset_internal_getopt (); ! while ((opt = internal_getopt (list, "ersa:d:n:p:t:u:")) != -1) { switch (opt) *************** *** 198,203 **** #endif case 't': ! code = legal_number (list_optarg, &timeoutval); ! if (code == 0 || timeoutval < 0 || timeoutval != (unsigned int)timeoutval) { builtin_error ("%s: invalid timeout specification", list_optarg); --- 200,205 ---- #endif case 't': ! code = legal_number (list_optarg, &intval); ! if (code == 0 || intval < 0 || intval != (unsigned int)intval) { builtin_error ("%s: invalid timeout specification", list_optarg); *************** *** 207,222 **** { have_timeout = 1; ! tmout = timeoutval; } break; case 'n': ! code = legal_number (list_optarg, &ncharsval); ! if (code == 0 || ncharsval < 0 || ncharsval != (int)ncharsval) { ! builtin_error ("%s: invalid number specification", list_optarg); return (EXECUTION_FAILURE); } else ! nchars = ncharsval; break; case 'd': --- 209,239 ---- { have_timeout = 1; ! tmout = intval; } break; case 'n': ! code = legal_number (list_optarg, &intval); ! if (code == 0 || intval < 0 || intval != (int)intval) { ! sh_invalidnum (list_optarg); return (EXECUTION_FAILURE); } else ! nchars = intval; ! break; ! case 'u': ! code = legal_number (list_optarg, &intval); ! if (code == 0 || intval < 0 || intval != (int)intval) ! { ! builtin_error ("%s: invalid file descriptor specification", list_optarg); ! return (EXECUTION_FAILURE); ! } ! else ! fd = intval; ! if (sh_validfd (fd) == 0) ! { ! builtin_error ("%d: invalid file descriptor: %s", fd, strerror (errno)); ! return (EXECUTION_FAILURE); ! } break; case 'd': *************** *** 230,251 **** list = loptend; ! /* `read -t 0 var' returns failure immediately. */ if (have_timeout && tmout == 0) return (EXECUTION_FAILURE); /* IF IFS is unset, we use the default of " \t\n". */ ! var = find_variable ("IFS"); ! ifs_chars = var ? value_cell (var) : " \t\n"; ! if (ifs_chars == 0) /* XXX */ ! ifs_chars = ""; /* XXX */ ! input_string = (char *)xmalloc (size = 128); begin_unwind_frame ("read_builtin"); - #if defined (READLINE) - add_unwind_protect (xfree, rlbuf); - #endif ! input_is_tty = isatty (0); if (input_is_tty == 0) #ifndef __CYGWIN__ --- 247,276 ---- list = loptend; ! /* `read -t 0 var' returns failure immediately. XXX - should it test ! whether input is available with select/FIONREAD, and fail if those ! are unavailable? */ if (have_timeout && tmout == 0) return (EXECUTION_FAILURE); /* IF IFS is unset, we use the default of " \t\n". */ ! ifs_chars = getifs (); ! if (ifs_chars == 0) /* XXX - shouldn't happen */ ! ifs_chars = ""; ! input_string = (char *)xmalloc (size = 112); /* XXX was 128 */ ! ! /* $TMOUT, if set, is the default timeout for read. */ ! if (have_timeout == 0 && (e = get_string_value ("TMOUT"))) ! { ! code = legal_number (e, &intval); ! if (code == 0 || intval < 0 || intval != (unsigned int)intval) ! tmout = 0; ! else ! tmout = intval; ! } begin_unwind_frame ("read_builtin"); ! input_is_tty = isatty (fd); if (input_is_tty == 0) #ifndef __CYGWIN__ *************** *** 263,266 **** --- 288,296 ---- } + #if defined (READLINE) + if (edit) + add_unwind_protect (xfree, rlbuf); + #endif + if (prompt && edit == 0) { *************** *** 276,280 **** /* Turn off the timeout if stdin is a regular file (e.g. from input redirection). */ ! if ((fstat (0, &tsb) < 0) || S_ISREG (tsb.st_mode)) tmout = 0; } --- 306,310 ---- /* Turn off the timeout if stdin is a regular file (e.g. from input redirection). */ ! if ((fstat (fd, &tsb) < 0) || S_ISREG (tsb.st_mode)) tmout = 0; } *************** *** 342,346 **** #endif ! for (eof = 0;;) { #if defined (READLINE) --- 372,376 ---- #endif ! for (eof = retval = 0;;) { #if defined (READLINE) *************** *** 369,375 **** if (unbuffered_read) ! retval = zread (0, &c, 1); else ! retval = zreadc (0, &c); if (retval <= 0) --- 399,405 ---- if (unbuffered_read) ! retval = zread (fd, &c, 1); else ! retval = zreadc (fd, &c); if (retval <= 0) *************** *** 426,429 **** --- 456,467 ---- input_string[i] = '\0'; + #if 1 + if (retval < 0) + { + builtin_error ("read error: %d: %s", fd, strerror (errno)); + return (EXECUTION_FAILURE); + } + #endif + if (tmout > 0) reset_alarm (); *************** *** 448,452 **** if (unbuffered_read == 0) ! zsyncfd (0); interrupt_immediately--; --- 486,490 ---- if (unbuffered_read == 0) ! zsyncfd (fd); interrupt_immediately--; *************** *** 463,467 **** if (var == 0) return EXECUTION_FAILURE; /* readonly or noassign */ ! empty_array (array_cell (var)); alist = list_string (input_string, ifs_chars, 0); --- 501,505 ---- if (var == 0) return EXECUTION_FAILURE; /* readonly or noassign */ ! array_flush (array_cell (var)); alist = list_string (input_string, ifs_chars, 0); *************** *** 488,492 **** #if 0 orig_input_string = input_string; ! for (t = input_string; ifs_chars && *ifs_chars && spctabnl(*t) && issep(*t); t++) ; input_string = t; --- 526,530 ---- #if 0 orig_input_string = input_string; ! for (t = input_string; ifs_chars && *ifs_chars && spctabnl(*t) && isifs(*t); t++) ; input_string = t; *************** *** 514,518 **** /* Remove IFS white space at the beginning of the input string. If $IFS is null, no field splitting is performed. */ ! for (t = input_string; ifs_chars && *ifs_chars && spctabnl(*t) && issep(*t); t++) ; input_string = t; --- 552,556 ---- /* Remove IFS white space at the beginning of the input string. If $IFS is null, no field splitting is performed. */ ! for (t = input_string; ifs_chars && *ifs_chars && spctabnl(*t) && isifs(*t); t++) ; input_string = t; *************** *** 527,531 **** #endif { ! builtin_error ("`%s': not a valid identifier", varname); xfree (orig_input_string); return (EXECUTION_FAILURE); --- 565,569 ---- #endif { ! sh_invalidid (varname); xfree (orig_input_string); return (EXECUTION_FAILURE); *************** *** 575,579 **** #endif { ! builtin_error ("`%s': not a valid identifier", list->word->word); xfree (orig_input_string); return (EXECUTION_FAILURE); --- 613,617 ---- #endif { ! sh_invalidid (list->word->word); xfree (orig_input_string); return (EXECUTION_FAILURE); *************** *** 616,619 **** --- 654,659 ---- #if defined (READLINE) + static rl_completion_func_t *old_attempted_completion_function; + static char * edit_line (p) *************** *** 625,629 **** --- 665,672 ---- if (!bash_readline_initialized) initialize_readline (); + old_attempted_completion_function = rl_attempted_completion_function; + rl_attempted_completion_function = (rl_completion_func_t *)NULL; ret = readline (p); + rl_attempted_completion_function = old_attempted_completion_function; if (ret == 0) return ret; diff -Nrc2 bash-2.05a/builtins/reserved.def bash-2.05b/builtins/reserved.def *** bash-2.05a/builtins/reserved.def Thu Sep 27 09:40:11 2001 --- bash-2.05b/builtins/reserved.def Thu Apr 4 14:52:41 2002 *************** *** 3,7 **** builtin help command. ! Copyright (C) 1987, 1989, 1991, 1992 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 3,7 ---- builtin help command. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 29,32 **** --- 29,45 ---- $END + $BUILTIN for (( + $DOCNAME arith_for + $SHORT_DOC for (( exp1; exp2; exp3 )); do COMMANDS; done + Equivalent to + (( EXP1 )) + while (( EXP2 )); do + COMMANDS + (( EXP3 )) + done + EXP1, EXP2, and EXP3 are arithmetic expressions. If any expression is + omitted, it behaves as if it evaluates to 1. + $END + $BUILTIN select $SHORT_DOC select NAME [in WORDS ... ;] do COMMANDS; done *************** *** 41,45 **** value read causes NAME to be set to null. The line read is saved in the variable REPLY. COMMANDS are executed after each selection ! until a break or return command is executed. $END --- 54,58 ---- value read causes NAME to be set to null. The line read is saved in the variable REPLY. COMMANDS are executed after each selection ! until a break command is executed. $END *************** *** 102,105 **** --- 115,143 ---- WORD, then the job whose name begins with WORD is used. Following the job specification with a `&' places the job in the background. + $END + + $BUILTIN (( ... )) + $DOCNAME arith + $SHORT_DOC (( expression )) + The EXPRESSION is evaluated according to the rules for arithmetic + evaluation. Equivalent to "let EXPRESSION". + $END + + $BUILTIN [[ ... ]] + $DOCNAME conditional + $SHORT_DOC [[ expression ]] + Returns a status of 0 or 1 depending on the evaluation of the conditional + expression EXPRESSION. Expressions are composed of the same primaries used + by the `test' builtin, and may be combined using the following operators + + ( EXPRESSION ) Returns the value of EXPRESSION + ! EXPRESSION True if EXPRESSION is false; else false + EXPR1 && EXPR2 True if both EXPR1 and EXPR2 are true; else false + EXPR1 || EXPR2 True if either EXPR1 or EXPR2 is true; else false + + When the `==' and `!=' operators are used, the string to the right of the + operator is used as a pattern and pattern matching is performed. The + && and || operators do not evaluate EXPR2 if EXPR1 is sufficient to + determine the expression's value. $END diff -Nrc2 bash-2.05a/builtins/return.def bash-2.05b/builtins/return.def *** bash-2.05a/builtins/return.def Wed May 2 12:50:17 2001 --- bash-2.05b/builtins/return.def Mon Apr 8 13:23:25 2002 *************** *** 2,6 **** It implements the builtin "return" in Bash. ! Copyright (C) 1987, 1989, 1991 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtin "return" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 53,57 **** WORD_LIST *list; { ! return_catch_value = list ? get_exitstat (list) : last_command_exit_value; if (return_catch_flag) --- 53,57 ---- WORD_LIST *list; { ! return_catch_value = get_exitstat (list); if (return_catch_flag) diff -Nrc2 bash-2.05a/builtins/set.def bash-2.05b/builtins/set.def *** bash-2.05a/builtins/set.def Mon Oct 29 13:33:31 2001 --- bash-2.05b/builtins/set.def Wed Jul 10 16:17:20 2002 *************** *** 2,6 **** It implements the "set" and "unset" builtins in Bash. ! Copyright (C) 1987, 1989, 1991 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the "set" and "unset" builtins in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 50,54 **** #endif ! extern int noclobber, posixly_correct, ignoreeof, eof_encountered_limit; #if defined (HISTORY) extern int dont_save_function_defs; --- 50,54 ---- #endif ! extern int posixly_correct, ignoreeof, eof_encountered_limit; #if defined (HISTORY) extern int dont_save_function_defs; *************** *** 66,71 **** -f Disable file name generation (globbing). -h Remember the location of commands as they are looked up. - -i Force the shell to be an "interactive" one. Interactive shells - always read `~/.bashrc' on startup. -k All assignment arguments are placed in the environment for a command, not just those that precede the command name. --- 66,69 ---- *************** *** 136,139 **** --- 134,140 ---- $END + typedef int setopt_set_func_t __P((int, char *)); + typedef int setopt_get_func_t __P((char *)); + static void print_minus_o_option __P((char *, int, int)); static void print_all_shell_variables __P((void)); *************** *** 154,221 **** static char *off = "off"; ! /* An a-list used to match long options for set -o to the corresponding ! option letter. */ struct { char *name; int letter; } o_options[] = { ! { "allexport", 'a' }, #if defined (BRACE_EXPANSION) ! { "braceexpand",'B' }, #endif ! { "errexit", 'e' }, ! { "hashall", 'h' }, #if defined (BANG_HISTORY) ! { "histexpand", 'H' }, #endif /* BANG_HISTORY */ - { "keyword", 'k' }, - { "monitor", 'm' }, - { "noclobber", 'C' }, - { "noexec", 'n' }, - { "noglob", 'f' }, - #if defined (JOB_CONTROL) - { "notify", 'b' }, - #endif /* JOB_CONTROL */ - { "nounset", 'u' }, - { "onecmd", 't' }, - { "physical", 'P' }, - { "privileged", 'p' }, - { "verbose", 'v' }, - { "xtrace", 'x' }, - {(char *)NULL, 0 }, - }; - - typedef int setopt_set_func_t __P((int, char *)); - typedef int setopt_get_func_t __P((char *)); - - struct { - char *name; - int *variable; - setopt_set_func_t *set_func; - setopt_get_func_t *get_func; - } binary_o_options[] = { #if defined (HISTORY) ! { "history", &remember_on_history, bash_set_history, (setopt_get_func_t *)NULL }, #endif ! { "ignoreeof", &ignoreeof, set_ignoreeof, (setopt_get_func_t *)NULL }, ! { "interactive-comments", &interactive_comments, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, #if defined (HISTORY) ! { "nolog", &dont_save_function_defs, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, #endif ! { "posix", &posixly_correct, set_posix_mode, (setopt_get_func_t *)NULL }, #if defined (READLINE) ! { "emacs", (int *)NULL, set_edit_mode, get_edit_mode }, ! { "vi", (int *)NULL, set_edit_mode, get_edit_mode }, #endif ! { (char *)NULL, (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL } }; #define GET_BINARY_O_OPTION_VALUE(i, name) \ ! ((binary_o_options[i].get_func) ? (*binary_o_options[i].get_func) (name) \ ! : (*binary_o_options[i].variable)) #define SET_BINARY_O_OPTION_VALUE(i, onoff, name) \ ! ((binary_o_options[i].set_func) ? (*binary_o_options[i].set_func) (onoff, name) \ ! : (*binary_o_options[i].variable = (onoff == FLAG_ON))) int --- 155,218 ---- static char *off = "off"; ! /* A struct used to match long options for set -o to the corresponding ! option letter or internal variable. The functions can be called to ! dynamically generate values. */ struct { char *name; int letter; + int *variable; + setopt_set_func_t *set_func; + setopt_get_func_t *get_func; } o_options[] = { ! { "allexport", 'a', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, #if defined (BRACE_EXPANSION) ! { "braceexpand",'B', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, #endif ! #if defined (READLINE) ! { "emacs", '\0', (int *)NULL, set_edit_mode, get_edit_mode }, ! #endif ! { "errexit", 'e', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, ! { "hashall", 'h', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, #if defined (BANG_HISTORY) ! { "histexpand", 'H', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, #endif /* BANG_HISTORY */ #if defined (HISTORY) ! { "history", '\0', &remember_on_history, bash_set_history, (setopt_get_func_t *)NULL }, #endif ! { "ignoreeof", '\0', &ignoreeof, set_ignoreeof, (setopt_get_func_t *)NULL }, ! { "interactive-comments", '\0', &interactive_comments, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, ! { "keyword", 'k', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, ! { "monitor", 'm', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, ! { "noclobber", 'C', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, ! { "noexec", 'n', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, ! { "noglob", 'f', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, #if defined (HISTORY) ! { "nolog", '\0', &dont_save_function_defs, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, #endif ! #if defined (JOB_CONTROL) ! { "notify", 'b', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, ! #endif /* JOB_CONTROL */ ! { "nounset", 'u', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, ! { "onecmd", 't', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, ! { "physical", 'P', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, ! { "posix", '\0', &posixly_correct, set_posix_mode, (setopt_get_func_t *)NULL }, ! { "privileged", 'p', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, ! { "verbose", 'v', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, #if defined (READLINE) ! { "vi", '\0', (int *)NULL, set_edit_mode, get_edit_mode }, #endif ! { "xtrace", 'x', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, ! {(char *)NULL, 0 , (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, }; + #define N_O_OPTIONS (sizeof (o_options) / sizeof (o_options[0])) + #define GET_BINARY_O_OPTION_VALUE(i, name) \ ! ((o_options[i].get_func) ? (*o_options[i].get_func) (name) \ ! : (*o_options[i].variable)) #define SET_BINARY_O_OPTION_VALUE(i, onoff, name) \ ! ((o_options[i].set_func) ? (*o_options[i].set_func) (onoff, name) \ ! : (*o_options[i].variable = (onoff == FLAG_ON))) int *************** *** 230,242 **** if (STREQ (name, o_options[i].name)) { ! on_or_off = find_flag (o_options[i].letter); ! return ((on_or_off == FLAG_UNKNOWN) ? -1 : *on_or_off); } } - for (i = 0; binary_o_options[i].name; i++) - { - if (STREQ (name, binary_o_options[i].name)) - return (GET_BINARY_O_OPTION_VALUE (i, name)); - } return (-1); --- 227,239 ---- if (STREQ (name, o_options[i].name)) { ! if (o_options[i].letter) ! { ! on_or_off = find_flag (o_options[i].letter); ! return ((on_or_off == FLAG_UNKNOWN) ? -1 : *on_or_off); ! } ! else ! return (GET_BINARY_O_OPTION_VALUE (i, name)); } } return (-1); *************** *** 263,279 **** int *on_or_off, value; ! for (value = i = 0; o_options[i].name; i++) { ! on_or_off = find_flag (o_options[i].letter); ! if (on_or_off == FLAG_UNKNOWN) ! on_or_off = &value; ! if (mode == -1 || mode == *on_or_off) ! print_minus_o_option (o_options[i].name, *on_or_off, reusable); ! } ! for (i = 0; binary_o_options[i].name; i++) ! { ! value = GET_BINARY_O_OPTION_VALUE (i, binary_o_options[i].name); ! if (mode == -1 || mode == value) ! print_minus_o_option (binary_o_options[i].name, value, reusable); } } --- 260,280 ---- int *on_or_off, value; ! for (i = 0; o_options[i].name; i++) { ! if (o_options[i].letter) ! { ! value = 0; ! on_or_off = find_flag (o_options[i].letter); ! if (on_or_off == FLAG_UNKNOWN) ! on_or_off = &value; ! if (mode == -1 || mode == *on_or_off) ! print_minus_o_option (o_options[i].name, *on_or_off, reusable); ! } ! else ! { ! value = GET_BINARY_O_OPTION_VALUE (i, o_options[i].name); ! if (mode == -1 || mode == value) ! print_minus_o_option (o_options[i].name, value, reusable); ! } } } *************** *** 283,296 **** { char **ret; ! int n, i, ind; ! n = (sizeof (o_options) / sizeof (o_options[0])) + ! (sizeof (binary_o_options) / sizeof (binary_o_options[0])); ! ret = alloc_array (n + 1); ! for (i = ind = 0; o_options[i].name; i++) ! ret[ind++] = o_options[i].name; ! for (i = 0; binary_o_options[i].name; i++) ! ret[ind++] = binary_o_options[i].name; ! ret[ind] = (char *)NULL; return ret; } --- 284,293 ---- { char **ret; ! int i; ! ret = strvec_create (N_O_OPTIONS + 1); ! for (i = 0; o_options[i].name; i++) ! ret[i] = o_options[i].name; ! ret[i] = (char *)NULL; return ret; } *************** *** 387,421 **** char *option_name; { - int option_char; register int i; ! for (i = 0; binary_o_options[i].name; i++) ! { ! if (STREQ (option_name, binary_o_options[i].name)) ! { ! SET_BINARY_O_OPTION_VALUE (i, on_or_off, option_name); ! return (EXECUTION_SUCCESS); ! } ! } ! ! for (i = 0, option_char = -1; o_options[i].name; i++) { if (STREQ (option_name, o_options[i].name)) { ! option_char = o_options[i].letter; ! break; } } ! if (option_char == -1) ! { ! builtin_error ("%s: unknown option name", option_name); ! return (EXECUTION_FAILURE); ! } ! if (change_flag (option_char, on_or_off) == FLAG_ERROR) ! { ! bad_option (option_name); ! return (EXECUTION_FAILURE); ! } ! return (EXECUTION_SUCCESS); } --- 384,414 ---- char *option_name; { register int i; ! for (i = 0; o_options[i].name; i++) { if (STREQ (option_name, o_options[i].name)) { ! if (o_options[i].letter == 0) ! { ! SET_BINARY_O_OPTION_VALUE (i, on_or_off, option_name); ! return (EXECUTION_SUCCESS); ! } ! else ! { ! if (change_flag (o_options[i].letter, on_or_off) == FLAG_ERROR) ! { ! sh_invalidoptname (option_name); ! return (EXECUTION_FAILURE); ! } ! else ! return (EXECUTION_SUCCESS); ! } ! } } ! ! sh_invalidoptname (option_name); ! return (EXECUTION_FAILURE); } *************** *** 449,452 **** --- 442,446 ---- { char *value; + char tflag[N_O_OPTIONS]; int vsize, i, vptr, *ip, exported; SHELL_VAR *v; *************** *** 454,464 **** for (vsize = i = 0; o_options[i].name; i++) { ! ip = find_flag (o_options[i].letter); ! if (ip && *ip) ! vsize += strlen (o_options[i].name) + 1; ! } ! for (i = 0; binary_o_options[i].name; i++) ! if (GET_BINARY_O_OPTION_VALUE (i, binary_o_options[i].name)) ! vsize += strlen (binary_o_options[i].name) + 1; value = (char *)xmalloc (vsize + 1); --- 448,467 ---- for (vsize = i = 0; o_options[i].name; i++) { ! tflag[i] = 0; ! if (o_options[i].letter) ! { ! ip = find_flag (o_options[i].letter); ! if (ip && *ip) ! { ! vsize += strlen (o_options[i].name) + 1; ! tflag[i] = 1; ! } ! } ! else if (GET_BINARY_O_OPTION_VALUE (i, o_options[i].name)) ! { ! vsize += strlen (o_options[i].name) + 1; ! tflag[i] = 1; ! } ! } value = (char *)xmalloc (vsize + 1); *************** *** 466,471 **** for (i = vptr = 0; o_options[i].name; i++) { ! ip = find_flag (o_options[i].letter); ! if (ip && *ip) { strcpy (value + vptr, o_options[i].name); --- 469,473 ---- for (i = vptr = 0; o_options[i].name; i++) { ! if (tflag[i]) { strcpy (value + vptr, o_options[i].name); *************** *** 474,484 **** } } ! for (i = 0; binary_o_options[i].name; i++) ! if (GET_BINARY_O_OPTION_VALUE (i, binary_o_options[i].name)) ! { ! strcpy (value + vptr, binary_o_options[i].name); ! vptr += strlen (binary_o_options[i].name); ! value[vptr++] = ':'; ! } if (vptr) vptr--; /* cut off trailing colon */ --- 476,480 ---- } } ! if (vptr) vptr--; /* cut off trailing colon */ *************** *** 572,575 **** --- 568,572 ---- WORD_LIST *l; register char *arg; + char s[3]; if (list == 0) *************** *** 580,611 **** /* Check validity of flag arguments. */ ! if (*list->word->word == '-' || *list->word->word == '+') { ! for (l = list; l && (arg = l->word->word); l = l->next) { ! char c; ! ! if (arg[0] != '-' && arg[0] != '+') ! break; ! ! /* `-' or `--' signifies end of flag arguments. */ ! if (arg[0] == '-' && (!arg[1] || (arg[1] == '-' && !arg[2]))) break; - - while (c = *++arg) - { - if (find_flag (c) == FLAG_UNKNOWN && c != 'o') - { - char s[2]; - s[0] = c; s[1] = '\0'; - bad_option (s); - if (c == '?') - builtin_usage (); - return (c == '?' ? EXECUTION_SUCCESS : EXECUTION_FAILURE); - } - } } } ! /* Do the set command. While the list consists of words starting with '-' or '+' treat them as flags, otherwise, start assigning them to --- 577,593 ---- /* Check validity of flag arguments. */ ! reset_internal_getopt (); ! while ((flag_name = internal_getopt (list, optflags)) != -1) { ! switch (flag_name) { ! case '?': ! builtin_usage (); ! return (list_optopt == '?' ? EXECUTION_SUCCESS : EX_USAGE); ! default: break; } } ! /* Do the set command. While the list consists of words starting with '-' or '+' treat them as flags, otherwise, start assigning them to *************** *** 679,687 **** else if (change_flag (flag_name, on_or_off) == FLAG_ERROR) { ! char opt[3]; ! opt[0] = on_or_off; ! opt[1] = flag_name; ! opt[2] = '\0'; ! bad_option (opt); builtin_usage (); set_shellopts (); --- 661,668 ---- else if (change_flag (flag_name, on_or_off) == FLAG_ERROR) { ! s[0] = on_or_off; ! s[1] = flag_name; ! s[2] = '\0'; ! sh_invalidopt (s); builtin_usage (); set_shellopts (); *************** *** 778,782 **** if (((unset_function && posixly_correct) || !unset_function) && legal_identifier (name) == 0) { ! builtin_error ("`%s': not a valid identifier", name); NEXT_VARIABLE (); } --- 759,763 ---- if (((unset_function && posixly_correct) || !unset_function) && legal_identifier (name) == 0) { ! sh_invalidid (name); NEXT_VARIABLE (); } *************** *** 808,816 **** } else ! tem = unbind_array_element (var, t); } else #endif /* ARRAY_VARS */ ! tem = makunbound (name, unset_function ? shell_functions : shell_variables); /* This is what Posix.2 draft 11+ says. ``If neither -f nor -v --- 789,801 ---- } else ! { ! tem = unbind_array_element (var, t); ! if (tem == -1) ! any_failed++; ! } } else #endif /* ARRAY_VARS */ ! tem = unset_function ? unbind_func (name) : unbind_variable (name); /* This is what Posix.2 draft 11+ says. ``If neither -f nor -v *************** *** 819,827 **** shall be unset.'' */ if (tem == -1 && !unset_function && !unset_variable) ! tem = makunbound (name, shell_functions); ! if (tem == -1) ! any_failed++; ! else if (!unset_function) stupidly_hack_special_variables (name); --- 804,813 ---- shall be unset.'' */ if (tem == -1 && !unset_function && !unset_variable) ! tem = unbind_func (name); ! ! /* SUSv3, POSIX.1-2001 say: ``Unsetting a variable or function that ! was not previously set shall not be considered an error.'' */ ! if (unset_function == 0) stupidly_hack_special_variables (name); diff -Nrc2 bash-2.05a/builtins/setattr.def bash-2.05b/builtins/setattr.def *** bash-2.05a/builtins/setattr.def Tue Aug 28 13:20:53 2001 --- bash-2.05b/builtins/setattr.def Fri Jun 21 17:11:02 2002 *************** *** 2,6 **** It implements the builtins "export" and "readonly", in Bash. ! Copyright (C) 1987, 1989, 1991 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtins "export" and "readonly", in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 44,48 **** #ifdef ARRAY_VARS ! extern int declare_builtin (); #endif --- 44,48 ---- #ifdef ARRAY_VARS ! extern int declare_builtin __P((WORD_LIST *)); #endif *************** *** 52,56 **** $BUILTIN export $FUNCTION export_builtin ! $SHORT_DOC export [-nf] [name ...] or export -p NAMEs are marked for automatic export to the environment of subsequently executed commands. If the -f option is given, --- 52,56 ---- $BUILTIN export $FUNCTION export_builtin ! $SHORT_DOC export [-nf] [name[=value] ...] or export -p NAMEs are marked for automatic export to the environment of subsequently executed commands. If the -f option is given, *************** *** 76,80 **** $BUILTIN readonly $FUNCTION readonly_builtin ! $SHORT_DOC readonly [-anf] [name ...] or readonly -p The given NAMEs are marked readonly and the values of these NAMEs may not be changed by subsequent assignment. If the -f option is given, --- 76,80 ---- $BUILTIN readonly $FUNCTION readonly_builtin ! $SHORT_DOC readonly [-anf] [name[=value] ...] or readonly -p The given NAMEs are marked readonly and the values of these NAMEs may not be changed by subsequent assignment. If the -f option is given, *************** *** 96,99 **** --- 96,105 ---- } + #if defined (ARRAY_VARS) + # define ATTROPTS "afnp" + #else + # define ATTROPTS "fnp" + #endif + /* For each variable name in LIST, make that variable have the specified ATTRIBUTE. An arg of `-n' says to remove the attribute from the the *************** *** 115,119 **** /* Read arguments from the front of the list. */ reset_internal_getopt (); ! while ((opt = internal_getopt (list, "anfp")) != -1) { switch (opt) --- 121,125 ---- /* Read arguments from the front of the list. */ reset_internal_getopt (); ! while ((opt = internal_getopt (list, ATTROPTS)) != -1) { switch (opt) *************** *** 175,179 **** if (legal_identifier (name) == 0) { ! builtin_error ("`%s': not a valid identifier", name); if (assign) assign_error++; --- 181,185 ---- if (legal_identifier (name) == 0) { ! sh_invalidid (name); if (assign) assign_error++; *************** *** 249,257 **** continue; #endif - #if 0 - if ((var->attributes & attribute) && invisible_p (var) == 0) - #else if ((var->attributes & attribute)) - #endif show_var_attributes (var, READONLY_OR_EXPORT, nodefs); } --- 255,259 ---- *************** *** 276,280 **** int pattr, nodefs; { ! char flags[6], *x; int i; --- 278,282 ---- int pattr, nodefs; { ! char flags[8], *x; int i; *************** *** 298,301 **** --- 300,306 ---- flags[i++] = 'r'; + if (trace_p (var)) + flags[i++] = 't'; + if (exported_p (var)) flags[i++] = 'x'; *************** *** 314,317 **** --- 319,333 ---- flags[i] = '\0'; + /* If we're printing functions with definitions, print the function def + first, then the attributes, instead of printing output that can't be + reused as input to recreate the current state. */ + if (function_p (var) && nodefs == 0 && (pattr == 0 || posixly_correct == 0)) + { + printf ("%s\n", named_function_string (var->name, function_cell (var), 1)); + nodefs++; + if (pattr == 0 && i == 1 && flags[0] == 'f') + return 0; /* don't print `declare -f name' */ + } + if (pattr == 0 || posixly_correct == 0) printf ("declare -%s ", i ? flags : "-"); *************** *** 326,330 **** else #endif ! /* force `readline' and `export' to not print out function definitions when in POSIX mode. */ if (nodefs || (function_p (var) && pattr != 0 && posixly_correct)) --- 342,346 ---- else #endif ! /* force `readonly' and `export' to not print out function definitions when in POSIX mode. */ if (nodefs || (function_p (var) && pattr != 0 && posixly_correct)) *************** *** 336,340 **** else { ! x = sh_double_quote (value_cell (var) ? value_cell (var) : ""); printf ("%s=%s\n", var->name, x); free (x); --- 352,356 ---- else { ! x = sh_double_quote (var_isset (var) ? value_cell (var) : ""); printf ("%s=%s\n", var->name, x); free (x); *************** *** 350,362 **** SHELL_VAR *var; ! var = find_tempenv_variable (name); ! if (var == 0) ! var = find_variable (name); if (var && invisible_p (var) == 0) { show_var_attributes (var, READONLY_OR_EXPORT, nodefs); - if (tempvar_p (var)) - dispose_variable (var); return (0); } --- 366,374 ---- SHELL_VAR *var; ! var = find_variable_internal (name, 1); if (var && invisible_p (var) == 0) { show_var_attributes (var, READONLY_OR_EXPORT, nodefs); return (0); } *************** *** 371,374 **** --- 383,387 ---- { SHELL_VAR *var, *tv; + char *tvalue; if (undo) *************** *** 376,391 **** else { ! if (tv = find_tempenv_variable (name)) { ! var = bind_variable (tv->name, tv->value ? tv->value : ""); ! dispose_variable (tv); } else - var = find_variable (name); - - if (var == 0) { ! var = bind_variable (name, (char *)NULL); ! VSETATTR (var, att_invisible); } } --- 389,419 ---- else { ! tv = find_tempenv_variable (name); ! /* XXX -- need to handle case where tv is a temp variable in a ! function-scope context, since function_env has been merged into ! the local variables table. */ ! if (tv && tempvar_p (tv)) { ! tvalue = var_isset (tv) ? savestring (value_cell (tv)) : savestring (""); ! ! var = bind_variable (tv->name, tvalue); ! var->attributes |= tv->attributes & ~att_tempvar; ! VSETATTR (tv, att_propagate); ! if (var->context != 0) ! VSETATTR (var, att_propagate); ! SETVARATTR (tv, attribute, undo); /* XXX */ ! ! free (tvalue); } else { ! var = find_variable_internal (name, 0); ! if (var == 0) ! { ! var = bind_variable (name, (char *)NULL); ! VSETATTR (var, att_invisible); ! } ! else if (var->context != 0) ! VSETATTR (var, att_propagate); } } diff -Nrc2 bash-2.05a/builtins/shift.def bash-2.05b/builtins/shift.def *** bash-2.05a/builtins/shift.def Mon May 21 15:26:12 2001 --- bash-2.05b/builtins/shift.def Tue Mar 19 14:08:56 2002 *************** *** 2,6 **** It implements the builtin "shift" in Bash. ! Copyright (C) 1987, 1989, 1991 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtin "shift" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 53,57 **** WORD_LIST *list; { ! long times; register int count; WORD_LIST *temp; --- 53,57 ---- WORD_LIST *list; { ! intmax_t times; register int count; WORD_LIST *temp; *************** *** 63,67 **** else if (times < 0) { ! builtin_error ("shift count must be >= 0"); return (EXECUTION_FAILURE); } --- 63,67 ---- else if (times < 0) { ! sh_erange (list->word->word, "shift count"); return (EXECUTION_FAILURE); } *************** *** 69,73 **** { if (print_shift_error) ! builtin_error ("shift count must be <= $#"); return (EXECUTION_FAILURE); } --- 69,73 ---- { if (print_shift_error) ! sh_erange (list->word->word, "shift count"); return (EXECUTION_FAILURE); } diff -Nrc2 bash-2.05a/builtins/shopt.def bash-2.05b/builtins/shopt.def *** bash-2.05a/builtins/shopt.def Tue Sep 11 15:55:06 2001 --- bash-2.05b/builtins/shopt.def Thu Apr 4 14:21:32 2002 *************** *** 2,6 **** It implements the Bash `shopt' builtin. ! Copyright (C) 1994 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the Bash `shopt' builtin. ! Copyright (C) 1994-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 23,27 **** $BUILTIN shopt - $DOCNAME shopt_builtin $FUNCTION shopt_builtin $SHORT_DOC shopt [-pqsu] [-o long-option] optname [optname...] --- 23,26 ---- *************** *** 60,64 **** extern int cdable_vars, mail_warning, source_uses_path; extern int no_exit_on_failed_exec, print_shift_error; ! extern int check_hashed_filenames, promptvars, interactive_comments; extern int cdspelling, expand_aliases; extern int check_window_size; --- 59,63 ---- extern int cdable_vars, mail_warning, source_uses_path; extern int no_exit_on_failed_exec, print_shift_error; ! extern int check_hashed_filenames, promptvars; extern int cdspelling, expand_aliases; extern int check_window_size; *************** *** 87,94 **** #if defined (RESTRICTED_SHELL) - extern int restricted_shell; extern char *shell_name; #endif static int set_interactive_comments __P((int)); --- 86,94 ---- #if defined (RESTRICTED_SHELL) extern char *shell_name; #endif + static void shopt_error __P((char *)); + static int set_interactive_comments __P((int)); *************** *** 269,273 **** } ! #define SHOPT_ERROR(str) builtin_error ("%s: unknown shell option name", str) static int --- 269,278 ---- } ! static void ! shopt_error (s) ! char *s; ! { ! builtin_error ("%s: invalid shell option name", s); ! } static int *************** *** 285,289 **** if (ind < 0) { ! SHOPT_ERROR (l->word->word); rval = EXECUTION_FAILURE; } --- 290,294 ---- if (ind < 0) { ! shopt_error (l->word->word); rval = EXECUTION_FAILURE; } *************** *** 335,339 **** if (i < 0) { ! SHOPT_ERROR (l->word->word); rval = EXECUTION_FAILURE; continue; --- 340,344 ---- if (i < 0) { ! shopt_error (l->word->word); rval = EXECUTION_FAILURE; continue; *************** *** 384,388 **** if (val == -1) { ! builtin_error ("%s: unknown option name", l->word->word); rval = EXECUTION_FAILURE; continue; --- 389,393 ---- if (val == -1) { ! sh_invalidoptname (l->word->word); rval = EXECUTION_FAILURE; continue; *************** *** 471,475 **** n = sizeof (shopt_vars) / sizeof (shopt_vars[0]); ! ret = alloc_array (n + 1); for (i = 0; shopt_vars[i].name; i++) ret[i] = savestring (shopt_vars[i].name); --- 476,480 ---- n = sizeof (shopt_vars) / sizeof (shopt_vars[0]); ! ret = strvec_create (n + 1); for (i = 0; shopt_vars[i].name; i++) ret[i] = savestring (shopt_vars[i].name); *************** *** 510,514 **** if (i < 0) { ! SHOPT_ERROR (name); return (EXECUTION_FAILURE); } --- 515,519 ---- if (i < 0) { ! shopt_error (name); return (EXECUTION_FAILURE); } diff -Nrc2 bash-2.05a/builtins/source.def bash-2.05b/builtins/source.def *** bash-2.05a/builtins/source.def Tue Sep 26 10:05:04 2000 --- bash-2.05b/builtins/source.def Fri May 10 12:36:56 2002 *************** *** 2,6 **** It implements the builtins "." and "source" in Bash. ! Copyright (C) 1987, 1989, 1991 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtins "." and "source" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 56,59 **** --- 56,60 ---- #include "../findcmd.h" #include "common.h" + #include "bashgetopt.h" #if !defined (errno) *************** *** 81,91 **** maybe_pop_dollar_vars () { ! if (variable_context == 0 && dollar_vars_changed ()) ! { ! dispose_saved_dollar_vars (); ! set_dollar_vars_unchanged (); ! } else pop_dollar_vars (); } --- 82,90 ---- maybe_pop_dollar_vars () { ! if (variable_context == 0 && (dollar_vars_changed () & ARGS_SETBLTIN)) ! dispose_saved_dollar_vars (); else pop_dollar_vars (); + set_dollar_vars_unchanged (); } *************** *** 101,104 **** --- 100,107 ---- char *filename; + if (no_options (list)) + return (EX_USAGE); + list = loptend; + if (list == 0) { *************** *** 108,118 **** } - if (no_options (list)) - return (EX_USAGE); - #if defined (RESTRICTED_SHELL) if (restricted && strchr (list->word->word, '/')) { ! builtin_error ("%s: restricted", list->word->word); return (EXECUTION_FAILURE); } --- 111,118 ---- } #if defined (RESTRICTED_SHELL) if (restricted && strchr (list->word->word, '/')) { ! sh_restricted (list->word->word); return (EXECUTION_FAILURE); } diff -Nrc2 bash-2.05a/builtins/suspend.def bash-2.05b/builtins/suspend.def *** bash-2.05a/builtins/suspend.def Tue Sep 11 15:41:26 2001 --- bash-2.05b/builtins/suspend.def Tue Mar 19 13:03:15 2002 *************** *** 2,6 **** It implements the builtin "suspend" in Bash. ! Copyright (C) 1987, 1989, 1991 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtin "suspend" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 90,94 **** if (job_control == 0) { ! builtin_error ("cannot suspend a shell without job control"); return (EXECUTION_FAILURE); } --- 90,94 ---- if (job_control == 0) { ! sh_nojobs ("cannot suspend"); return (EXECUTION_FAILURE); } diff -Nrc2 bash-2.05a/builtins/test.def bash-2.05b/builtins/test.def *** bash-2.05a/builtins/test.def Wed May 30 09:09:31 2001 --- bash-2.05b/builtins/test.def Thu Apr 4 14:48:17 2002 *************** *** 2,6 **** It implements the builtin "test" in Bash. ! Copyright (C) 1987, 1989, 1991 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtin "test" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 25,29 **** $FUNCTION test_builtin $SHORT_DOC test [expr] ! Exits with a status of 0 (trueness) or 1 (falseness) depending on the evaluation of EXPR. Expressions may be unary or binary. Unary expressions are often used to examine the status of a file. There --- 25,29 ---- $FUNCTION test_builtin $SHORT_DOC test [expr] ! Exits with a status of 0 (true) or 1 (false) depending on the evaluation of EXPR. Expressions may be unary or binary. Unary expressions are often used to examine the status of a file. There diff -Nrc2 bash-2.05a/builtins/times.def bash-2.05b/builtins/times.def *** bash-2.05a/builtins/times.def Mon Aug 16 12:37:10 1999 --- bash-2.05b/builtins/times.def Tue Mar 19 10:44:34 2002 *************** *** 2,6 **** It implements the builtin "times" in Bash. ! Copyright (C) 1987, 1989, 1991 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtin "times" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 62,65 **** --- 62,70 ---- struct rusage self, kids; + USE_VAR(list); + + if (no_options (list)) + return (EX_USAGE); + getrusage (RUSAGE_SELF, &self); getrusage (RUSAGE_CHILDREN, &kids); /* terminated child processes */ *************** *** 80,83 **** --- 85,93 ---- struct tms t; + USE_VAR(list); + + if (no_options (list)) + return (EX_USAGE); + times (&t); *************** *** 90,95 **** --- 100,112 ---- print_clock_t (stdout, t.tms_cstime); putchar ('\n'); + # else /* !HAVE_TIMES */ + + USE_VAR(list); + + if (no_options (list)) + return (EX_USAGE); printf ("0.00 0.00\n0.00 0.00\n"); + # endif /* HAVE_TIMES */ #endif /* !HAVE_TIMES */ diff -Nrc2 bash-2.05a/builtins/trap.def bash-2.05b/builtins/trap.def *** bash-2.05a/builtins/trap.def Tue Sep 11 15:42:30 2001 --- bash-2.05b/builtins/trap.def Tue Mar 19 12:40:18 2002 *************** *** 2,6 **** It implements the builtin "trap" in Bash. ! Copyright (C) 1987, 1989, 1991 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtin "trap" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 138,143 **** if (sig == NO_SIG) { ! builtin_error ("%s: not a signal specification", ! list->word->word); result = EXECUTION_FAILURE; } --- 138,142 ---- if (sig == NO_SIG) { ! sh_invalidsig (list->word->word); result = EXECUTION_FAILURE; } *************** *** 240,245 **** if (i == NO_SIG) { result = EXECUTION_FAILURE; - builtin_error ("%s: not a signal specification", list->word->word); } else --- 239,244 ---- if (i == NO_SIG) { + sh_invalidsig (list->word->word); result = EXECUTION_FAILURE; } else diff -Nrc2 bash-2.05a/builtins/type.def bash-2.05b/builtins/type.def *** bash-2.05a/builtins/type.def Mon May 14 12:05:00 2001 --- bash-2.05b/builtins/type.def Tue Mar 19 10:41:37 2002 *************** *** 2,6 **** It implements the builtin "type" in Bash. ! Copyright (C) 1987, 1989, 1991, 1992 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtin "type" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 24,28 **** $BUILTIN type $FUNCTION type_builtin ! $SHORT_DOC type [-apt] name [name ...] For each NAME, indicate how it would be interpreted if used as a command name. --- 24,28 ---- $BUILTIN type $FUNCTION type_builtin ! $SHORT_DOC type [-afptP] name [name ...] For each NAME, indicate how it would be interpreted if used as a command name. *************** *** 38,43 **** If the -a flag is used, `type' displays all of the places that contain ! an executable named `file'. This includes aliases and functions, if ! and only if the -p flag is not also used. $END --- 38,49 ---- If the -a flag is used, `type' displays all of the places that contain ! an executable named `file'. This includes aliases, builtins, and ! functions, if and only if the -p flag is not also used. ! ! The -f flag suppresses shell function lookup. ! ! The -P flag forces a PATH search for each NAME, even if it is an alias, ! builtin, or function, and returns the name of the disk file that would ! be executed. $END *************** *** 83,86 **** --- 89,98 ---- be a filename in the path, alias, function, or builtin. + + -f Suppress shell function lookup, like `command'. + + -P Force a path search even in the presence of other + definitions. + Order of evaluation: alias *************** *** 95,113 **** WORD_LIST *list; { ! int path_only, type_only, all, verbose; ! int successful_finds, opt; ! WORD_LIST *prev, *this; if (list == 0) return (EXECUTION_SUCCESS); ! path_only = type_only = all = 0; successful_finds = 0; /* Handle the obsolescent `-type', `-path', and `-all' by prescanning ! the arguments and removing those options from the list before calling ! internal_getopt. Recognize `--type', `--path', and `--all' also. ! THIS SHOULD REALLY GO AWAY. */ ! for (this = list; this && this->word->word[0] == '-'; ) { char *flag = &(this->word->word[1]); --- 107,124 ---- WORD_LIST *list; { ! int dflags, successful_finds, opt; ! WORD_LIST *this; if (list == 0) return (EXECUTION_SUCCESS); ! dflags = CDESC_SHORTDESC; /* default */ successful_finds = 0; /* Handle the obsolescent `-type', `-path', and `-all' by prescanning ! the arguments and converting those options to the form that ! internal_getopt recognizes. Converts `--type', `--path', and `--all' ! also. THIS SHOULD REALLY GO AWAY. */ ! for (this = list; this && this->word->word[0] == '-'; this = this->next) { char *flag = &(this->word->word[1]); *************** *** 115,164 **** if (STREQ (flag, "type") || STREQ (flag, "-type")) { ! type_only = 1; ! path_only = 0; } else if (STREQ (flag, "path") || STREQ (flag, "-path")) { ! path_only = 1; ! type_only = 0; } else if (STREQ (flag, "all") || STREQ (flag, "-all")) - all = 1; - else - { - prev = this; - this = this->next; - continue; - } - - /* We found a long option; remove it from the argument list. Don't - free it if it's the head of the argument list, though -- the - argument list will be freed by the caller. */ - if (this == list) - this = list = list->next; - else { ! prev->next = this->next; ! this->next = (WORD_LIST *)NULL; ! dispose_words (this); ! this = prev->next; } } reset_internal_getopt (); ! while ((opt = internal_getopt (list, "apt")) != -1) { switch (opt) { ! case 't': ! type_only = 1; ! path_only = 0; break; case 'p': ! path_only = 1; ! type_only = 0; break; ! case 'a': ! all = 1; break; default: --- 126,166 ---- if (STREQ (flag, "type") || STREQ (flag, "-type")) { ! this->word->word[1] = 't'; ! this->word->word[2] = '\0'; } else if (STREQ (flag, "path") || STREQ (flag, "-path")) { ! this->word->word[1] = 'p'; ! this->word->word[2] = '\0'; } else if (STREQ (flag, "all") || STREQ (flag, "-all")) { ! this->word->word[1] = 'a'; ! this->word->word[2] = '\0'; } } reset_internal_getopt (); ! while ((opt = internal_getopt (list, "afptP")) != -1) { switch (opt) { ! case 'a': ! dflags |= CDESC_ALL; ! break; ! case 'f': ! dflags |= CDESC_NOFUNCS; break; case 'p': ! dflags |= CDESC_PATH_ONLY; ! dflags &= ~(CDESC_TYPE|CDESC_SHORTDESC); break; ! case 't': ! dflags |= CDESC_TYPE; ! dflags &= ~(CDESC_PATH_ONLY|CDESC_SHORTDESC); ! break; ! case 'P': /* shorthand for type -ap */ ! dflags |= (CDESC_PATH_ONLY|CDESC_FORCE_PATH); ! dflags &= ~(CDESC_TYPE|CDESC_SHORTDESC); break; default: *************** *** 169,189 **** list = loptend; - if (type_only) - verbose = 1; - else if (path_only == 0) - verbose = 2; - else if (path_only) - verbose = 3; - else - verbose = 0; - while (list) { int found; ! found = describe_command (list->word->word, verbose, all); ! if (!found && !path_only && !type_only) ! builtin_error ("%s: not found", list->word->word); successful_finds += found; --- 171,182 ---- list = loptend; while (list) { int found; ! found = describe_command (list->word->word, dflags); ! if (!found && (dflags & (CDESC_PATH_ONLY|CDESC_TYPE)) == 0) ! sh_notfound (list->word->word); successful_finds += found; *************** *** 197,217 **** /* ! * Describe COMMAND as required by the type builtin. * ! * If VERBOSE == 0, don't print anything ! * If VERBOSE == 1, print short description as for `type -t' ! * If VERBOSE == 2, print long description as for `type' and `command -V' ! * If VERBOSE == 3, print path name only for disk files ! * If VERBOSE == 4, print string used to invoke COMMAND, for `command -v' * ! * ALL says whether or not to look for all occurrences of COMMAND, or * return after finding it once. */ int ! describe_command (command, verbose, all) char *command; ! int verbose, all; { ! int found, i, found_file, f; char *full_path, *x; SHELL_VAR *func; --- 190,213 ---- /* ! * Describe COMMAND as required by the type and command builtins. * ! * Behavior is controlled by DFLAGS. Flag values are ! * CDESC_ALL print all descriptions of a command ! * CDESC_SHORTDESC print the description for type and command -V ! * CDESC_REUSABLE print in a format that may be reused as input ! * CDESC_TYPE print the type for type -t ! * CDESC_PATH_ONLY print the path for type -p ! * CDESC_FORCE_PATH force a path search for type -P ! * CDESC_NOFUNCS skip function lookup for type -f * ! * CDESC_ALL says whether or not to look for all occurrences of COMMAND, or * return after finding it once. */ int ! describe_command (command, dflags) char *command; ! int dflags; { ! int found, i, found_file, f, all; char *full_path, *x; SHELL_VAR *func; *************** *** 220,223 **** --- 216,220 ---- #endif + all = (dflags & CDESC_ALL) != 0; found = found_file = 0; full_path = (char *)NULL; *************** *** 225,237 **** #if defined (ALIAS) /* Command is an alias? */ ! alias = find_alias (command); ! ! if (alias) { ! if (verbose == 1) puts ("alias"); ! else if (verbose == 2) printf ("%s is aliased to `%s'\n", command, alias->value); ! else if (verbose == 4) { x = sh_single_quote (alias->value); --- 222,232 ---- #if defined (ALIAS) /* Command is an alias? */ ! if (((dflags & CDESC_FORCE_PATH) == 0) && (alias = find_alias (command))) { ! if (dflags & CDESC_TYPE) puts ("alias"); ! else if (dflags & CDESC_SHORTDESC) printf ("%s is aliased to `%s'\n", command, alias->value); ! else if (dflags & CDESC_REUSABLE) { x = sh_single_quote (alias->value); *************** *** 248,259 **** /* Command is a shell reserved word? */ ! i = find_reserved_word (command); ! if (i >= 0) { ! if (verbose == 1) puts ("keyword"); ! else if (verbose == 2) printf ("%s is a shell keyword\n", command); ! else if (verbose == 4) printf ("%s\n", command); --- 243,253 ---- /* Command is a shell reserved word? */ ! if (((dflags & CDESC_FORCE_PATH) == 0) && (i = find_reserved_word (command)) >= 0) { ! if (dflags & CDESC_TYPE) puts ("keyword"); ! else if (dflags & CDESC_SHORTDESC) printf ("%s is a shell keyword\n", command); ! else if (dflags & CDESC_REUSABLE) printf ("%s\n", command); *************** *** 265,275 **** /* Command is a function? */ ! func = find_function (command); ! ! if (func) { ! if (verbose == 1) puts ("function"); ! else if (verbose == 2) { #define PRETTY_PRINT_FUNC 1 --- 259,267 ---- /* Command is a function? */ ! if (((dflags & (CDESC_FORCE_PATH|CDESC_NOFUNCS)) == 0) && (func = find_function (command))) { ! if (dflags & CDESC_TYPE) puts ("function"); ! else if (dflags & CDESC_SHORTDESC) { #define PRETTY_PRINT_FUNC 1 *************** *** 286,290 **** #undef PRETTY_PRINT_FUNC } ! else if (verbose == 4) printf ("%s\n", command); --- 278,282 ---- #undef PRETTY_PRINT_FUNC } ! else if (dflags & CDESC_REUSABLE) printf ("%s\n", command); *************** *** 296,306 **** /* Command is a builtin? */ ! if (find_shell_builtin (command)) { ! if (verbose == 1) puts ("builtin"); ! else if (verbose == 2) printf ("%s is a shell builtin\n", command); ! else if (verbose == 4) printf ("%s\n", command); --- 288,298 ---- /* Command is a builtin? */ ! if (((dflags & CDESC_FORCE_PATH) == 0) && find_shell_builtin (command)) { ! if (dflags & CDESC_TYPE) puts ("builtin"); ! else if (dflags & CDESC_SHORTDESC) printf ("%s is a shell builtin\n", command); ! else if (dflags & CDESC_REUSABLE) printf ("%s\n", command); *************** *** 319,327 **** if (f & FS_EXECABLE) { ! if (verbose == 1) puts ("file"); ! else if (verbose == 2) printf ("%s is %s\n", command, command); ! else if (verbose == 3 || verbose == 4) printf ("%s\n", command); --- 311,319 ---- if (f & FS_EXECABLE) { ! if (dflags & CDESC_TYPE) puts ("file"); ! else if (dflags & CDESC_SHORTDESC) printf ("%s is %s\n", command, command); ! else if (dflags & (CDESC_REUSABLE|CDESC_PATH_ONLY)) printf ("%s\n", command); *************** *** 335,347 **** /* If the user isn't doing "-a", then we might care about whether the file is present in our hash table. */ ! if (all == 0) { ! if ((full_path = find_hashed_filename (command)) != (char *)NULL) { ! if (verbose == 1) puts ("file"); ! else if (verbose == 2) printf ("%s is hashed (%s)\n", command, full_path); ! else if (verbose == 3 || verbose == 4) printf ("%s\n", full_path); --- 327,339 ---- /* If the user isn't doing "-a", then we might care about whether the file is present in our hash table. */ ! if (all == 0 || (dflags & CDESC_FORCE_PATH)) { ! if (full_path = phash_search (command)) { ! if (dflags & CDESC_TYPE) puts ("file"); ! else if (dflags & CDESC_SHORTDESC) printf ("%s is hashed (%s)\n", command, full_path); ! else if (dflags & (CDESC_REUSABLE|CDESC_PATH_ONLY)) printf ("%s\n", full_path); *************** *** 377,381 **** break; } ! else if (verbose >= 2) full_path = sh_makepath ((char *)NULL, full_path, MP_DOCWD); } --- 369,373 ---- break; } ! else if (dflags & (CDESC_REUSABLE|CDESC_PATH_ONLY|CDESC_SHORTDESC)) full_path = sh_makepath ((char *)NULL, full_path, MP_DOCWD); } *************** *** 384,392 **** found = 1; ! if (verbose == 1) puts ("file"); ! else if (verbose == 2) printf ("%s is %s\n", command, full_path); ! else if (verbose == 3 || verbose == 4) printf ("%s\n", full_path); --- 376,384 ---- found = 1; ! if (dflags & CDESC_TYPE) puts ("file"); ! else if (dflags & CDESC_SHORTDESC) printf ("%s is %s\n", command, full_path); ! else if (dflags & (CDESC_REUSABLE|CDESC_PATH_ONLY)) printf ("%s\n", full_path); diff -Nrc2 bash-2.05a/builtins/ulimit.def bash-2.05b/builtins/ulimit.def *** bash-2.05a/builtins/ulimit.def Thu Sep 13 14:30:54 2001 --- bash-2.05b/builtins/ulimit.def Tue Mar 19 14:39:14 2002 *************** *** 2,6 **** It implements the builtin "ulimit" in Bash. ! Copyright (C) 1987, 1989, 1991 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtin "ulimit" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 328,332 **** if (STREQ (list->word->word, "unlimited") == 0) { ! builtin_error ("invalid limit argument: %s", list->word->word); return (EXECUTION_FAILURE); } --- 328,332 ---- if (STREQ (list->word->word, "unlimited") == 0) { ! builtin_error ("%s: invalid limit argument", list->word->word); return (EXECUTION_FAILURE); } *************** *** 354,358 **** if (limind == -1) { ! builtin_error ("bad command: `%c'", cmdlist[c].cmd); return (EX_USAGE); } --- 354,358 ---- if (limind == -1) { ! builtin_error ("`%c': bad command", cmdlist[c].cmd); return (EX_USAGE); } *************** *** 383,388 **** if (opt < 0) { ! builtin_error ("cannot get %s limit: %s", limits[limind].description, ! strerror (errno)); return (EXECUTION_FAILURE); } --- 383,388 ---- if (opt < 0) { ! builtin_error ("%s: cannot get limit: %s", limits[limind].description, ! strerror (errno)); return (EXECUTION_FAILURE); } *************** *** 409,413 **** if ((real_limit / block_factor) != limit) { ! builtin_error ("limit out of range: %s", cmdarg); return (EXECUTION_FAILURE); } --- 409,413 ---- if ((real_limit / block_factor) != limit) { ! sh_erange (cmdarg, "limit"); return (EXECUTION_FAILURE); } *************** *** 415,419 **** else { ! builtin_error ("bad non-numeric arg `%s'", cmdarg); return (EXECUTION_FAILURE); } --- 415,419 ---- else { ! sh_invalidnum (cmdarg); return (EXECUTION_FAILURE); } *************** *** 421,426 **** if (set_limit (limind, real_limit, mode) < 0) { ! builtin_error ("cannot modify %s limit: %s", limits[limind].description, ! strerror (errno)); return (EXECUTION_FAILURE); } --- 421,426 ---- if (set_limit (limind, real_limit, mode) < 0) { ! builtin_error ("%s: cannot modify limit: %s", limits[limind].description, ! strerror (errno)); return (EXECUTION_FAILURE); } *************** *** 619,639 **** RLIMTYPE *valuep; { - # if defined (HAVE_SYSCONF) && defined (_SC_CHILD_MAX) long maxchild; ! maxchild = sysconf (_SC_CHILD_MAX); if (maxchild < 0) ! return -1; else ! *valuep = (RLIMTYPE) maxchild; ! return 0; ! # else /* !HAVE_SYSCONF || !_SC_CHILD_MAX */ ! # if defined (MAXUPRC) ! *valuep = (RLIMTYPE) MAXUPRC; ! return 0; ! # else /* MAXUPRC */ ! errno = EINVAL; ! return -1; ! # endif /* !MAXUPRC */ ! # endif /* !HAVE_SYSCONF || !_SC_CHILD_MAX */ } --- 619,635 ---- RLIMTYPE *valuep; { long maxchild; ! ! maxchild = getmaxchild (); if (maxchild < 0) ! { ! errno = EINVAL; ! return -1; ! } else ! { ! *valuep = (RLIMTYPE) maxchild; ! return 0; ! } } *************** *** 651,655 **** { if (get_limit (i, &softlim, &hardlim) < 0) ! builtin_error ("cannot get %s limit: %s", limits[i].description, strerror (errno)); else printone (i, (mode & LIMIT_SOFT) ? softlim : hardlim, 1); --- 647,652 ---- { if (get_limit (i, &softlim, &hardlim) < 0) ! builtin_error ("%s: cannot get limit: %s", limits[i].description, ! strerror (errno)); else printone (i, (mode & LIMIT_SOFT) ? softlim : hardlim, 1); *************** *** 717,722 **** if (set_limit (i, newlim, mode) < 0) { ! builtin_error ("cannot modify %s limit: %s", limits[i].description, ! strerror (errno)); retval = 1; } --- 714,719 ---- if (set_limit (i, newlim, mode) < 0) { ! builtin_error ("%s: cannot modify limit: %s", limits[i].description, ! strerror (errno)); retval = 1; } diff -Nrc2 bash-2.05a/builtins/umask.def bash-2.05b/builtins/umask.def *** bash-2.05a/builtins/umask.def Thu Sep 20 15:24:53 2001 --- bash-2.05b/builtins/umask.def Tue Mar 19 14:29:37 2002 *************** *** 2,6 **** It implements the builtin "umask" in Bash. ! Copyright (C) 1987, 1989, 1991 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtin "umask" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 108,113 **** if (umask_value == -1) { ! builtin_error ("`%s' is not an octal number from 000 to 777", ! list->word->word); return (EXECUTION_FAILURE); } --- 108,112 ---- if (umask_value == -1) { ! sh_erange (list->word->word, "octal number"); return (EXECUTION_FAILURE); } *************** *** 223,227 **** break; default: ! builtin_error ("bad symbolic mode operator: %c", op); return (-1); } --- 222,226 ---- break; default: ! builtin_error ("`%c': invalid symbolic mode operator", op); return (-1); } *************** *** 276,280 **** else { ! builtin_error ("bad character in symbolic mode: %c", *s); return (-1); } --- 275,279 ---- else { ! builtin_error ("`%c': invalid symbolic mode character", *s); return (-1); } diff -Nrc2 bash-2.05a/builtins/wait.def bash-2.05b/builtins/wait.def *** bash-2.05a/builtins/wait.def Mon Oct 29 13:45:52 2001 --- bash-2.05b/builtins/wait.def Mon Apr 8 13:25:00 2002 *************** *** 2,6 **** It implements the builtin "wait" in Bash. ! Copyright (C) 1987, 1989, 1991 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtin "wait" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 61,64 **** --- 61,65 ---- extern int interrupt_immediately; + extern int wait_signal_received; procenv_t wait_intr_buf; *************** *** 88,93 **** if (no_options (list)) return (EX_USAGE); ! if (list != loptend) ! list = loptend; old_interrupt_immediately = interrupt_immediately; --- 89,93 ---- if (no_options (list)) return (EX_USAGE); ! list = loptend; old_interrupt_immediately = interrupt_immediately; *************** *** 105,109 **** if (code) { ! status = 128 + SIGINT; WAIT_RETURN (status); } --- 105,109 ---- if (code) { ! status = 128 + wait_signal_received; WAIT_RETURN (status); } *************** *** 125,129 **** pid_t pid; char *w; ! long pid_value; w = list->word->word; --- 125,129 ---- pid_t pid; char *w; ! intmax_t pid_value; w = list->word->word; *************** *** 137,141 **** else { ! builtin_error ("`%s' is not a pid or valid job spec", w); WAIT_RETURN (EXECUTION_FAILURE); } --- 137,141 ---- else { ! sh_badpid (w); WAIT_RETURN (EXECUTION_FAILURE); } *************** *** 154,158 **** { if (job != DUP_JOB) ! builtin_error ("%s: no such job", list->word->word); UNBLOCK_CHILD (oset); status = 127; /* As per Posix.2, section 4.70.2 */ --- 154,158 ---- { if (job != DUP_JOB) ! sh_badjob (list->word->word); UNBLOCK_CHILD (oset); status = 127; /* As per Posix.2, section 4.70.2 */ *************** *** 168,172 **** { /* can't use jobspecs as arguments if job control is not active. */ ! builtin_error ("job control not enabled"); status = EXECUTION_FAILURE; } --- 168,172 ---- { /* can't use jobspecs as arguments if job control is not active. */ ! sh_nojobs ((char *)NULL); status = EXECUTION_FAILURE; } *************** *** 174,178 **** else { ! builtin_error ("`%s' is not a pid or valid job spec", w); status = EXECUTION_FAILURE; } --- 174,178 ---- else { ! sh_badpid (w); status = EXECUTION_FAILURE; } diff -Nrc2 bash-2.05a/builtins.h bash-2.05b/builtins.h *** bash-2.05a/builtins.h Tue Aug 28 12:42:53 2001 --- bash-2.05b/builtins.h Tue Mar 19 16:00:58 2002 *************** *** 45,52 **** struct builtin { char *name; /* The name that the user types. */ ! sh_builtin_func_t *function; /* The address of the invoked function. */ int flags; /* One of the #defines above. */ ! char **long_doc; /* NULL terminated array of strings. */ ! char *short_doc; /* Short version of documenation. */ char *handle; /* for future use */ }; --- 45,52 ---- struct builtin { char *name; /* The name that the user types. */ ! sh_builtin_func_t *function; /* The address of the invoked function. */ int flags; /* One of the #defines above. */ ! char * const *long_doc; /* NULL terminated array of strings. */ ! const char *short_doc; /* Short version of documenation. */ char *handle; /* for future use */ }; diff -Nrc2 bash-2.05a/command.h bash-2.05b/command.h *** bash-2.05a/command.h Wed May 9 08:52:36 2001 --- bash-2.05b/command.h Tue Mar 12 15:28:36 2002 *************** *** 28,35 **** enum r_instruction { r_output_direction, r_input_direction, r_inputa_direction, ! r_appending_to, r_reading_until, r_duplicating_input, ! r_duplicating_output, r_deblank_reading_until, r_close_this, ! r_err_and_out, r_input_output, r_output_force, ! r_duplicating_input_word, r_duplicating_output_word }; --- 28,36 ---- enum r_instruction { r_output_direction, r_input_direction, r_inputa_direction, ! r_appending_to, r_reading_until, r_reading_string, ! r_duplicating_input, r_duplicating_output, r_deblank_reading_until, ! r_close_this, r_err_and_out, r_input_output, r_output_force, ! r_duplicating_input_word, r_duplicating_output_word, ! r_move_input, r_move_output, r_move_input_word, r_move_output_word }; *************** *** 56,59 **** --- 57,65 ---- ri == r_output_force) + /* redirection needs translation */ + #define TRANSLATE_REDIRECT(ri) \ + (ri == r_duplicating_input_word || ri == r_duplicating_output_word || \ + ri == r_move_input_word || ri == r_move_output_word) + /* Command Types: */ enum command_type { cm_for, cm_case, cm_while, cm_if, cm_simple, cm_select, *************** *** 69,72 **** --- 75,79 ---- #define W_NOGLOB 0x20 /* Do not perform globbing on this word. */ #define W_NOSPLIT2 0x40 /* Don't split word except for $@ expansion. */ + #define W_TILDEEXP 0x80 /* Tilde expand this assignment word */ /* Possible values for subshell_environment */ diff -Nrc2 bash-2.05a/config-bot.h bash-2.05b/config-bot.h *** bash-2.05a/config-bot.h Wed Feb 7 13:27:59 2001 --- bash-2.05b/config-bot.h Tue Apr 16 17:01:03 2002 *************** *** 2,5 **** --- 2,23 ---- /* modify settings or make new ones based on what autoconf tells us. */ + /* Copyright (C) 1989-2002 Free Software Foundation, Inc. + + This file is part of GNU Bash, the Bourne Again SHell. + + 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 2, or (at your option) any later + version. + + Bash 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 Bash; see the file COPYING. If not, write to the Free Software + Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA. */ + #if !defined (HAVE_VPRINTF) && defined (HAVE_DOPRNT) # define USE_VFPRINTF_EMULATION *************** *** 79,80 **** --- 97,139 ---- # define PPROMPT "$ " #endif + + /************************************************/ + /* check multibyte capability for I18N code */ + /************************************************/ + + /* For platforms which support the ISO C amendement 1 functionality we + support user defined character classes. */ + /* Solaris 2.5 has a bug: must be included before . */ + #if defined (HAVE_WCTYPE_H) && defined (HAVE_WCHAR_H) + # include + # include + # if defined (HAVE_MBSRTOWCS) /* system is supposed to support XPG5 */ + # define HANDLE_MULTIBYTE 1 + # endif + #endif + + /* Some systems, like BeOS, have multibyte encodings but lack mbstate_t. */ + #if HANDLE_MULTIBYTE && !defined (HAVE_MBSTATE_T) + # define wcsrtombs(dest, src, len, ps) (wcsrtombs) (dest, src, len, 0) + # define mbsrtowcs(dest, src, len, ps) (mbsrtowcs) (dest, src, len, 0) + # define wcrtomb(s, wc, ps) (wcrtomb) (s, wc, 0) + # define mbrtowc(pwc, s, n, ps) (mbrtowc) (pwc, s, n, 0) + # define mbrlen(s, n, ps) (mbrlen) (s, n, 0) + # define mbstate_t int + #endif + + /* Make sure MB_LEN_MAX is at least 16 (some systems define + MB_LEN_MAX as 1) */ + #ifdef HANDLE_MULTIBYTE + # include + # if defined(MB_LEN_MAX) && (MB_LEN_MAX < 16) + # undef MB_LEN_MAX + # endif + # if !defined (MB_LEN_MAX) + # define MB_LEN_MAX 16 + # endif + #endif + + /************************************************/ + /* end of multibyte capability checks for I18N */ + /************************************************/ diff -Nrc2 bash-2.05a/config-top.h bash-2.05b/config-top.h *** bash-2.05a/config-top.h Wed Oct 24 13:28:49 2001 --- bash-2.05b/config-top.h Tue Apr 16 17:01:17 2002 *************** *** 4,7 **** --- 4,25 ---- autoconf. */ + /* Copyright (C) 2002 Free Software Foundation, Inc. + + This file is part of GNU Bash, the Bourne Again SHell. + + 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 2, or (at your option) any later + version. + + Bash 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 Bash; see the file COPYING. If not, write to the Free Software + Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA. */ + /* Define CONTINUE_AFTER_KILL_ERROR if you want the kill command to continue processing arguments after one of them fails. This is *************** *** 48,51 **** --- 66,75 ---- #define PPROMPT "\\s-\\v\\$ " #define SPROMPT "> " + + /* Undefine this if you don't want the ksh-compatible behavior of reprinting + the select menu after a valid choice is made only if REPLY is set to NULL + in the body of the select command. The menu is always reprinted if the + reply to the select query is an empty line. */ + #define KSH_COMPATIBLE_SELECT /* System-wide .bashrc file for interactive shells. */ diff -Nrc2 bash-2.05a/config.h.in bash-2.05b/config.h.in *** bash-2.05a/config.h.in Mon Oct 22 09:58:13 2001 --- bash-2.05b/config.h.in Tue Jun 25 09:48:52 2002 *************** *** 1,5 **** /* config.h -- Configuration file for bash. */ ! /* Copyright (C) 1987-2001 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 1,5 ---- /* config.h -- Configuration file for bash. */ ! /* Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 133,136 **** --- 133,140 ---- #undef PROGRAMMABLE_COMPLETION + /* Define MEMSCRAMBLE if you want the bash malloc and free to scramble + memory contents on malloc() and free(). */ + #undef MEMSCRAMBLE + /* Define AFS if you are using Transarc's AFS. */ #undef AFS *************** *** 203,206 **** --- 207,212 ---- #undef USING_BASH_MALLOC + #undef DISABLE_MALLOC_WRAPPERS + /* Define if using alloca.c. */ #undef C_ALLOCA *************** *** 322,325 **** --- 328,333 ---- #undef HAVE_TIMEVAL + #undef HAVE_TZNAME + /* Characteristics of some of the system structures. */ *************** *** 337,340 **** --- 345,350 ---- #undef STRUCT_WINSIZE_IN_SYS_IOCTL + #undef TM_IN_SYS_TIME + #undef STRUCT_WINSIZE_IN_TERMIOS *************** *** 347,350 **** --- 357,363 ---- #undef HAVE_STRUCT_STAT_ST_BLOCKS + #undef HAVE_STRUCT_TM_TM_ZONE + #undef HAVE_TM_ZONE + /* Characteristics of definitions in the system header files. */ *************** *** 355,368 **** #undef HAVE_LIBC_FNM_EXTMATCH #undef HAVE_DECL_CONFSTR ! #undef HAVE_DECL_STRTOLD #undef HAVE_DECL_SBRK ! #undef HAVE_DECL_PRINTF #undef HAVE_DECL_STRSIGNAL /* These are checked with BASH_CHECK_DECL */ --- 368,387 ---- #undef HAVE_LIBC_FNM_EXTMATCH + #undef HAVE_DECL_CONFSTR ! #undef HAVE_DECL_PRINTF #undef HAVE_DECL_SBRK ! #undef HAVE_DECL_STRCPY #undef HAVE_DECL_STRSIGNAL + #undef HAVE_DECL_STRTOLD + + + #undef HAVE_MBSTATE_T + /* These are checked with BASH_CHECK_DECL */ *************** *** 396,401 **** --- 415,427 ---- #undef CAN_REDEFINE_GETENV + #undef HAVE_STD_PUTENV + + #undef HAVE_STD_UNSETENV + #undef HAVE_PRINTF_A_FORMAT + /* Define if you have and nl_langinfo(CODESET). */ + #undef HAVE_LANGINFO_CODESET + /* Characteristics of properties exported by the kernel. */ *************** *** 497,500 **** --- 523,529 ---- #undef HAVE_GETSERVBYNAME + /* Define if you have the getservent function. */ + #undef HAVE_GETSERVENT + /* Define if you have the gettext function. */ #undef HAVE_GETTEXT *************** *** 518,521 **** --- 547,553 ---- #undef HAVE_ISGRAPH + /* Define if you have the isint function in libc */ + #undef HAVE_ISINF_IN_LIBC + /* Define if you have the isprint function. */ #undef HAVE_ISPRINT *************** *** 533,539 **** --- 565,577 ---- #undef HAVE_LSTAT + /* Define if you have the mbsrtowcs function. */ + #undef HAVE_MBSRTOWCS + /* Define if you have the memmove function. */ #undef HAVE_MEMMOVE + /* Define if you have the memset function. */ + #undef HAVE_MEMSET + /* Define if you have the mkfifo function. */ #undef HAVE_MKFIFO *************** *** 596,599 **** --- 634,640 ---- #undef HAVE_STRERROR + /* Define if you have the strftime function. */ + #undef HAVE_STRFTIME + /* Define if you have the strpbrk function. */ #undef HAVE_STRPBRK *************** *** 650,653 **** --- 691,697 ---- #undef HAVE_UNAME + /* Define if you have the unsetenv function. */ + #undef HAVE_UNSETENV + /* Define if you have the vasprintf function. */ #undef HAVE_VASPRINTF *************** *** 665,668 **** --- 709,715 ---- #undef HAVE_WAIT3 + /* Define if you have the wcwidth function. */ + #undef HAVE_WCWIDTH + /* Presence of certain system include files. */ *************** *** 682,685 **** --- 729,735 ---- #undef HAVE_INTTYPES_H + /* Define if you have the header file. */ + #undef HAVE_LANGINFO_H + /* Define if you have the header file. */ #undef HAVE_LIBINTL_H *************** *** 776,779 **** --- 826,835 ---- /* Define if you have the header file. */ #undef HAVE_VARARGS_H + + /* Define if you have the header file. */ + #undef HAVE_WCHAR_H + + /* Define if you have the header file. */ + #undef HAVE_WCTYPE_H /* Presence of certain system libraries. */ diff -Nrc2 bash-2.05a/configure bash-2.05b/configure *** bash-2.05a/configure Mon Nov 12 06:53:01 2001 --- bash-2.05b/configure Tue Jul 16 09:31:47 2002 *************** *** 1,6 **** #! /bin/sh ! # From configure.in for Bash 2.05a, version 2.128, from autoconf version 2.52. # Guess values for system-dependent variables and create Makefiles. ! # Generated by Autoconf 2.52 for bash 2.05a. # # Report bugs to . --- 1,6 ---- #! /bin/sh ! # From configure.in for Bash 2.05b, version 2.144, from autoconf version 2.52. # Guess values for system-dependent variables and create Makefiles. ! # Generated by Autoconf 2.52 for bash 2.05b. # # Report bugs to . *************** *** 187,192 **** PACKAGE_NAME='bash' PACKAGE_TARNAME='bash' ! PACKAGE_VERSION='2.05a' ! PACKAGE_STRING='bash 2.05a' PACKAGE_BUGREPORT='bug-bash@gnu.org' --- 187,192 ---- PACKAGE_NAME='bash' PACKAGE_TARNAME='bash' ! PACKAGE_VERSION='2.05b' ! PACKAGE_STRING='bash 2.05b' PACKAGE_BUGREPORT='bug-bash@gnu.org' *************** *** 605,609 **** # This message is too long to be a string in the A/UX 3.1 sh. cat <&5 echo "$as_me: loading site script $ac_site_file" >&6;} cat "$ac_site_file" >&5 --- 926,930 ---- for ac_site_file in $CONFIG_SITE; do if test -r "$ac_site_file"; then ! { echo "$as_me:928: loading site script $ac_site_file" >&5 echo "$as_me: loading site script $ac_site_file" >&6;} cat "$ac_site_file" >&5 *************** *** 919,923 **** # files actually), so we avoid doing that. if test -f "$cache_file"; then ! { echo "$as_me:921: loading cache $cache_file" >&5 echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in --- 937,941 ---- # files actually), so we avoid doing that. if test -f "$cache_file"; then ! { echo "$as_me:939: loading cache $cache_file" >&5 echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in *************** *** 927,931 **** fi else ! { echo "$as_me:929: creating cache $cache_file" >&5 echo "$as_me: creating cache $cache_file" >&6;} >$cache_file --- 945,949 ---- fi else ! { echo "$as_me:947: creating cache $cache_file" >&5 echo "$as_me: creating cache $cache_file" >&6;} >$cache_file *************** *** 943,951 **** case $ac_old_set,$ac_new_set in set,) ! { echo "$as_me:945: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) ! { echo "$as_me:949: error: \`$ac_var' was not set in the previous run" >&5 echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; --- 961,969 ---- case $ac_old_set,$ac_new_set in set,) ! { echo "$as_me:963: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) ! { echo "$as_me:967: error: \`$ac_var' was not set in the previous run" >&5 echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; *************** *** 953,961 **** *) if test "x$ac_old_val" != "x$ac_new_val"; then ! { echo "$as_me:955: error: \`$ac_var' has changed since the previous run:" >&5 echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ! { echo "$as_me:957: former value: $ac_old_val" >&5 echo "$as_me: former value: $ac_old_val" >&2;} ! { echo "$as_me:959: current value: $ac_new_val" >&5 echo "$as_me: current value: $ac_new_val" >&2;} ac_cache_corrupted=: --- 971,979 ---- *) if test "x$ac_old_val" != "x$ac_new_val"; then ! { echo "$as_me:973: error: \`$ac_var' has changed since the previous run:" >&5 echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ! { echo "$as_me:975: former value: $ac_old_val" >&5 echo "$as_me: former value: $ac_old_val" >&2;} ! { echo "$as_me:977: current value: $ac_new_val" >&5 echo "$as_me: current value: $ac_new_val" >&2;} ac_cache_corrupted=: *************** *** 976,982 **** done if $ac_cache_corrupted; then ! { echo "$as_me:978: error: changes in the environment can compromise the build" >&5 echo "$as_me: error: changes in the environment can compromise the build" >&2;} ! { { echo "$as_me:980: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} { (exit 1); exit 1; }; } --- 994,1000 ---- done if $ac_cache_corrupted; then ! { echo "$as_me:996: error: changes in the environment can compromise the build" >&5 echo "$as_me: error: changes in the environment can compromise the build" >&2;} ! { { echo "$as_me:998: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} { (exit 1); exit 1; }; } *************** *** 998,1005 **** echo "exit 0" >>conftest.sh chmod +x conftest.sh ! if { (echo "$as_me:1000: PATH=\".;.\"; conftest.sh") >&5 (PATH=".;."; conftest.sh) 2>&5 ac_status=$? ! echo "$as_me:1003: \$? = $ac_status" >&5 (exit $ac_status); }; then ac_path_separator=';' --- 1016,1023 ---- echo "exit 0" >>conftest.sh chmod +x conftest.sh ! if { (echo "$as_me:1018: PATH=\".;.\"; conftest.sh") >&5 (PATH=".;."; conftest.sh) 2>&5 ac_status=$? ! echo "$as_me:1021: \$? = $ac_status" >&5 (exit $ac_status); }; then ac_path_separator=';' *************** *** 1027,1031 **** done if test -z "$ac_aux_dir"; then ! { { echo "$as_me:1029: error: cannot find install-sh or install.sh in ./support $srcdir/./support" >&5 echo "$as_me: error: cannot find install-sh or install.sh in ./support $srcdir/./support" >&2;} { (exit 1); exit 1; }; } --- 1045,1049 ---- done if test -z "$ac_aux_dir"; then ! { { echo "$as_me:1047: error: cannot find install-sh or install.sh in ./support $srcdir/./support" >&5 echo "$as_me: error: cannot find install-sh or install.sh in ./support $srcdir/./support" >&2;} { (exit 1); exit 1; }; } *************** *** 1037,1049 **** ac_config_headers="$ac_config_headers config.h" ! BASHVERS=2.05a # Make sure we can run config.sub. $ac_config_sub sun4 >/dev/null 2>&1 || ! { { echo "$as_me:1043: error: cannot run $ac_config_sub" >&5 echo "$as_me: error: cannot run $ac_config_sub" >&2;} { (exit 1); exit 1; }; } ! echo "$as_me:1047: checking build system type" >&5 echo $ECHO_N "checking build system type... $ECHO_C" >&6 if test "${ac_cv_build+set}" = set; then --- 1055,1073 ---- ac_config_headers="$ac_config_headers config.h" ! BASHVERS=2.05b ! RELSTATUS=release ! ! case "$RELSTATUS" in ! alp*|bet*|dev*|rc*) DEBUG='-DDEBUG' MALLOC_DEBUG='-DMALLOC_DEBUG' ;; ! *) DEBUG= MALLOC_DEBUG= ;; ! esac # Make sure we can run config.sub. $ac_config_sub sun4 >/dev/null 2>&1 || ! { { echo "$as_me:1067: error: cannot run $ac_config_sub" >&5 echo "$as_me: error: cannot run $ac_config_sub" >&2;} { (exit 1); exit 1; }; } ! echo "$as_me:1071: checking build system type" >&5 echo $ECHO_N "checking build system type... $ECHO_C" >&6 if test "${ac_cv_build+set}" = set; then *************** *** 1054,1067 **** ac_cv_build_alias=`$ac_config_guess` test -z "$ac_cv_build_alias" && ! { { echo "$as_me:1056: error: cannot guess build type; you must specify one" >&5 echo "$as_me: error: cannot guess build type; you must specify one" >&2;} { (exit 1); exit 1; }; } ac_cv_build=`$ac_config_sub $ac_cv_build_alias` || ! { { echo "$as_me:1060: error: $ac_config_sub $ac_cv_build_alias failed." >&5 echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed." >&2;} { (exit 1); exit 1; }; } fi ! echo "$as_me:1065: result: $ac_cv_build" >&5 echo "${ECHO_T}$ac_cv_build" >&6 build=$ac_cv_build --- 1078,1091 ---- ac_cv_build_alias=`$ac_config_guess` test -z "$ac_cv_build_alias" && ! { { echo "$as_me:1080: error: cannot guess build type; you must specify one" >&5 echo "$as_me: error: cannot guess build type; you must specify one" >&2;} { (exit 1); exit 1; }; } ac_cv_build=`$ac_config_sub $ac_cv_build_alias` || ! { { echo "$as_me:1084: error: $ac_config_sub $ac_cv_build_alias failed." >&5 echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed." >&2;} { (exit 1); exit 1; }; } fi ! echo "$as_me:1089: result: $ac_cv_build" >&5 echo "${ECHO_T}$ac_cv_build" >&6 build=$ac_cv_build *************** *** 1070,1074 **** build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` ! echo "$as_me:1072: checking host system type" >&5 echo $ECHO_N "checking host system type... $ECHO_C" >&6 if test "${ac_cv_host+set}" = set; then --- 1094,1098 ---- build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` ! echo "$as_me:1096: checking host system type" >&5 echo $ECHO_N "checking host system type... $ECHO_C" >&6 if test "${ac_cv_host+set}" = set; then *************** *** 1079,1088 **** ac_cv_host_alias=$ac_cv_build_alias ac_cv_host=`$ac_config_sub $ac_cv_host_alias` || ! { { echo "$as_me:1081: error: $ac_config_sub $ac_cv_host_alias failed" >&5 echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;} { (exit 1); exit 1; }; } fi ! echo "$as_me:1086: result: $ac_cv_host" >&5 echo "${ECHO_T}$ac_cv_host" >&6 host=$ac_cv_host --- 1103,1112 ---- ac_cv_host_alias=$ac_cv_build_alias ac_cv_host=`$ac_config_sub $ac_cv_host_alias` || ! { { echo "$as_me:1105: error: $ac_config_sub $ac_cv_host_alias failed" >&5 echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;} { (exit 1); exit 1; }; } fi ! echo "$as_me:1110: result: $ac_cv_host" >&5 echo "${ECHO_T}$ac_cv_host" >&6 host=$ac_cv_host *************** *** 1109,1113 **** m68k-sysv) opt_bash_malloc=no ;; # fixes file descriptor leak in closedir sparc-linux*) opt_bash_malloc=no ;; # sparc running linux; requires ELF ! #*-freebsd*) opt_bash_malloc=no ;; # they claim it's better *-openbsd*) opt_bash_malloc=no ;; # they claim it needs eight-bit alignment *-aix*) opt_bash_malloc=no ;; # AIX machines --- 1133,1137 ---- m68k-sysv) opt_bash_malloc=no ;; # fixes file descriptor leak in closedir sparc-linux*) opt_bash_malloc=no ;; # sparc running linux; requires ELF ! #*-freebsd*) opt_bash_malloc=no ;; # they claim it's better; I disagree *-openbsd*) opt_bash_malloc=no ;; # they claim it needs eight-bit alignment *-aix*) opt_bash_malloc=no ;; # AIX machines *************** *** 1125,1128 **** --- 1149,1158 ---- esac + # memory scrambling on free() + case "${host_os}" in + sco3.2v5*|sco3.2v4*) opt_memscramble=no ;; + *) opt_memscramble=yes ;; + esac + # Check whether --with-afs or --without-afs was given. if test "${with_afs+set}" = set; then *************** *** 1189,1192 **** --- 1219,1226 ---- if test "$opt_purify" = yes; then PURIFY="purify " + cat >>confdefs.h <<\EOF + #define DISABLE_MALLOC_WRAPPERS 1 + EOF + else PURIFY= *************** *** 1232,1236 **** opt_net_redirs=yes opt_progcomp=yes ! opt_largefile=yes opt_static_link=no --- 1266,1270 ---- opt_net_redirs=yes opt_progcomp=yes ! opt_separate_help=no opt_static_link=no *************** *** 1250,1254 **** opt_brace_expansion=no opt_disabled_builtins=no opt_command_timing=no opt_extended_glob=no opt_cond_command=no opt_arith_for_command=no ! opt_net_redirs=no opt_progcomp=no fi --- 1284,1288 ---- opt_brace_expansion=no opt_disabled_builtins=no opt_command_timing=no opt_extended_glob=no opt_cond_command=no opt_arith_for_command=no ! opt_net_redirs=no opt_progcomp=no opt_separate_help=no fi *************** *** 1323,1331 **** opt_job_control=$enableval fi; - # Check whether --enable-largefile or --disable-largefile was given. - if test "${enable_largefile+set}" = set; then - enableval="$enable_largefile" - opt_largefile=$enableval - fi; # Check whether --enable-net-redirections or --disable-net-redirections was given. if test "${enable_net_redirections+set}" = set; then --- 1357,1360 ---- *************** *** 1363,1366 **** --- 1392,1400 ---- opt_select=$enableval fi; + # Check whether --enable-separate-helpfiles or --disable-separate-helpfiles was given. + if test "${enable_separate_helpfiles+set}" = set; then + enableval="$enable_separate_helpfiles" + opt_separate_help=$enableval + fi; # Check whether --enable-usg-echo-default or --disable-usg-echo-default was given. if test "${enable_usg_echo_default+set}" = set; then *************** *** 1374,1377 **** --- 1408,1416 ---- fi; + # Check whether --enable-mem-scramble or --disable-mem-scramble was given. + if test "${enable_mem_scramble+set}" = set; then + enableval="$enable_mem_scramble" + opt_memscramble=$enableval + fi; # Check whether --enable-profiling or --disable-profiling was given. if test "${enable_profiling+set}" = set; then *************** *** 1494,1497 **** --- 1533,1543 ---- fi + if test $opt_memscramble = yes; then + cat >>confdefs.h <<\EOF + #define MEMSCRAMBLE 1 + EOF + + fi + if test "$opt_minimal_config" = yes; then TESTSCRIPT=run-minimal *************** *** 1500,1505 **** fi echo "" ! echo "Beginning configuration for bash-$BASHVERS for ${host_cpu}-${host_vendor}-${host_os}" echo "" --- 1546,1562 ---- fi + HELPDIR= HELPDIRDEFINE= HELPINSTALL= + if test "$opt_separate_help" != no; then + if test "$opt_separate_help" = "yes" ; then + HELPDIR='${datadir}/bash' + else + HELPDIR=$opt_separate_help + fi + HELPDIRDEFINE='-H ${HELPDIR}' + HELPINSTALL='install-help' + fi + echo "" ! echo "Beginning configuration for bash-$BASHVERS-$RELSTATUS for ${host_cpu}-${host_vendor}-${host_os}" echo "" *************** *** 1512,1516 **** # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 ! echo "$as_me:1514: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then --- 1569,1573 ---- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 ! echo "$as_me:1571: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then *************** *** 1527,1531 **** $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_CC="${ac_tool_prefix}gcc" ! echo "$as_me:1529: found $ac_dir/$ac_word" >&5 break done --- 1584,1588 ---- $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_CC="${ac_tool_prefix}gcc" ! echo "$as_me:1586: found $ac_dir/$ac_word" >&5 break done *************** *** 1535,1542 **** CC=$ac_cv_prog_CC if test -n "$CC"; then ! echo "$as_me:1537: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else ! echo "$as_me:1540: result: no" >&5 echo "${ECHO_T}no" >&6 fi --- 1592,1599 ---- CC=$ac_cv_prog_CC if test -n "$CC"; then ! echo "$as_me:1594: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else ! echo "$as_me:1597: result: no" >&5 echo "${ECHO_T}no" >&6 fi *************** *** 1547,1551 **** # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 ! echo "$as_me:1549: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then --- 1604,1608 ---- # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 ! echo "$as_me:1606: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then *************** *** 1562,1566 **** $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_ac_ct_CC="gcc" ! echo "$as_me:1564: found $ac_dir/$ac_word" >&5 break done --- 1619,1623 ---- $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_ac_ct_CC="gcc" ! echo "$as_me:1621: found $ac_dir/$ac_word" >&5 break done *************** *** 1570,1577 **** ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then ! echo "$as_me:1572: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else ! echo "$as_me:1575: result: no" >&5 echo "${ECHO_T}no" >&6 fi --- 1627,1634 ---- ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then ! echo "$as_me:1629: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else ! echo "$as_me:1632: result: no" >&5 echo "${ECHO_T}no" >&6 fi *************** *** 1586,1590 **** # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 ! echo "$as_me:1588: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then --- 1643,1647 ---- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 ! echo "$as_me:1645: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then *************** *** 1601,1605 **** $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_CC="${ac_tool_prefix}cc" ! echo "$as_me:1603: found $ac_dir/$ac_word" >&5 break done --- 1658,1662 ---- $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_CC="${ac_tool_prefix}cc" ! echo "$as_me:1660: found $ac_dir/$ac_word" >&5 break done *************** *** 1609,1616 **** CC=$ac_cv_prog_CC if test -n "$CC"; then ! echo "$as_me:1611: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else ! echo "$as_me:1614: result: no" >&5 echo "${ECHO_T}no" >&6 fi --- 1666,1673 ---- CC=$ac_cv_prog_CC if test -n "$CC"; then ! echo "$as_me:1668: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else ! echo "$as_me:1671: result: no" >&5 echo "${ECHO_T}no" >&6 fi *************** *** 1621,1625 **** # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 ! echo "$as_me:1623: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then --- 1678,1682 ---- # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 ! echo "$as_me:1680: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then *************** *** 1636,1640 **** $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_ac_ct_CC="cc" ! echo "$as_me:1638: found $ac_dir/$ac_word" >&5 break done --- 1693,1697 ---- $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_ac_ct_CC="cc" ! echo "$as_me:1695: found $ac_dir/$ac_word" >&5 break done *************** *** 1644,1651 **** ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then ! echo "$as_me:1646: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else ! echo "$as_me:1649: result: no" >&5 echo "${ECHO_T}no" >&6 fi --- 1701,1708 ---- ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then ! echo "$as_me:1703: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else ! echo "$as_me:1706: result: no" >&5 echo "${ECHO_T}no" >&6 fi *************** *** 1660,1664 **** # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 ! echo "$as_me:1662: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then --- 1717,1721 ---- # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 ! echo "$as_me:1719: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then *************** *** 1680,1684 **** fi ac_cv_prog_CC="cc" ! echo "$as_me:1682: found $ac_dir/$ac_word" >&5 break done --- 1737,1741 ---- fi ac_cv_prog_CC="cc" ! echo "$as_me:1739: found $ac_dir/$ac_word" >&5 break done *************** *** 1702,1709 **** CC=$ac_cv_prog_CC if test -n "$CC"; then ! echo "$as_me:1704: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else ! echo "$as_me:1707: result: no" >&5 echo "${ECHO_T}no" >&6 fi --- 1759,1766 ---- CC=$ac_cv_prog_CC if test -n "$CC"; then ! echo "$as_me:1761: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else ! echo "$as_me:1764: result: no" >&5 echo "${ECHO_T}no" >&6 fi *************** *** 1716,1720 **** # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 ! echo "$as_me:1718: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then --- 1773,1777 ---- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 ! echo "$as_me:1775: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then *************** *** 1731,1735 **** $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_CC="$ac_tool_prefix$ac_prog" ! echo "$as_me:1733: found $ac_dir/$ac_word" >&5 break done --- 1788,1792 ---- $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_CC="$ac_tool_prefix$ac_prog" ! echo "$as_me:1790: found $ac_dir/$ac_word" >&5 break done *************** *** 1739,1746 **** CC=$ac_cv_prog_CC if test -n "$CC"; then ! echo "$as_me:1741: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else ! echo "$as_me:1744: result: no" >&5 echo "${ECHO_T}no" >&6 fi --- 1796,1803 ---- CC=$ac_cv_prog_CC if test -n "$CC"; then ! echo "$as_me:1798: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else ! echo "$as_me:1801: result: no" >&5 echo "${ECHO_T}no" >&6 fi *************** *** 1755,1759 **** # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 ! echo "$as_me:1757: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then --- 1812,1816 ---- # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 ! echo "$as_me:1814: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then *************** *** 1770,1774 **** $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_ac_ct_CC="$ac_prog" ! echo "$as_me:1772: found $ac_dir/$ac_word" >&5 break done --- 1827,1831 ---- $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_ac_ct_CC="$ac_prog" ! echo "$as_me:1829: found $ac_dir/$ac_word" >&5 break done *************** *** 1778,1785 **** ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then ! echo "$as_me:1780: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else ! echo "$as_me:1783: result: no" >&5 echo "${ECHO_T}no" >&6 fi --- 1835,1842 ---- ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then ! echo "$as_me:1837: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else ! echo "$as_me:1840: result: no" >&5 echo "${ECHO_T}no" >&6 fi *************** *** 1793,1822 **** fi ! test -z "$CC" && { { echo "$as_me:1795: error: no acceptable cc found in \$PATH" >&5 echo "$as_me: error: no acceptable cc found in \$PATH" >&2;} { (exit 1); exit 1; }; } # Provide some information about the compiler. ! echo "$as_me:1800:" \ "checking for C compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` ! { (eval echo "$as_me:1803: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? ! echo "$as_me:1806: \$? = $ac_status" >&5 (exit $ac_status); } ! { (eval echo "$as_me:1808: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? ! echo "$as_me:1811: \$? = $ac_status" >&5 (exit $ac_status); } ! { (eval echo "$as_me:1813: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? ! echo "$as_me:1816: \$? = $ac_status" >&5 (exit $ac_status); } cat >conftest.$ac_ext <<_ACEOF ! #line 1820 "configure" #include "confdefs.h" --- 1850,1879 ---- fi ! test -z "$CC" && { { echo "$as_me:1852: error: no acceptable cc found in \$PATH" >&5 echo "$as_me: error: no acceptable cc found in \$PATH" >&2;} { (exit 1); exit 1; }; } # Provide some information about the compiler. ! echo "$as_me:1857:" \ "checking for C compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` ! { (eval echo "$as_me:1860: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? ! echo "$as_me:1863: \$? = $ac_status" >&5 (exit $ac_status); } ! { (eval echo "$as_me:1865: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? ! echo "$as_me:1868: \$? = $ac_status" >&5 (exit $ac_status); } ! { (eval echo "$as_me:1870: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? ! echo "$as_me:1873: \$? = $ac_status" >&5 (exit $ac_status); } cat >conftest.$ac_ext <<_ACEOF ! #line 1877 "configure" #include "confdefs.h" *************** *** 1834,1844 **** # It will help us diagnose broken compilers, and finding out an intuition # of exeext. ! echo "$as_me:1836: checking for C compiler default output" >&5 echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6 ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` ! if { (eval echo "$as_me:1839: \"$ac_link_default\"") >&5 (eval $ac_link_default) 2>&5 ac_status=$? ! echo "$as_me:1842: \$? = $ac_status" >&5 (exit $ac_status); }; then # Find the output, starting from the most likely. This scheme is --- 1891,1901 ---- # It will help us diagnose broken compilers, and finding out an intuition # of exeext. ! echo "$as_me:1893: checking for C compiler default output" >&5 echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6 ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` ! if { (eval echo "$as_me:1896: \"$ac_link_default\"") >&5 (eval $ac_link_default) 2>&5 ac_status=$? ! echo "$as_me:1899: \$? = $ac_status" >&5 (exit $ac_status); }; then # Find the output, starting from the most likely. This scheme is *************** *** 1863,1867 **** echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ! { { echo "$as_me:1865: error: C compiler cannot create executables" >&5 echo "$as_me: error: C compiler cannot create executables" >&2;} { (exit 77); exit 77; }; } --- 1920,1924 ---- echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ! { { echo "$as_me:1922: error: C compiler cannot create executables" >&5 echo "$as_me: error: C compiler cannot create executables" >&2;} { (exit 77); exit 77; }; } *************** *** 1869,1878 **** ac_exeext=$ac_cv_exeext ! echo "$as_me:1871: result: $ac_file" >&5 echo "${ECHO_T}$ac_file" >&6 # Check the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. ! echo "$as_me:1876: checking whether the C compiler works" >&5 echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6 # FIXME: These cross compiler hacks should be removed for Autoconf 3.0 --- 1926,1935 ---- ac_exeext=$ac_cv_exeext ! echo "$as_me:1928: result: $ac_file" >&5 echo "${ECHO_T}$ac_file" >&6 # Check the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. ! echo "$as_me:1933: checking whether the C compiler works" >&5 echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6 # FIXME: These cross compiler hacks should be removed for Autoconf 3.0 *************** *** 1880,1887 **** if test "$cross_compiling" != yes; then if { ac_try='./$ac_file' ! { (eval echo "$as_me:1882: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:1885: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cross_compiling=no --- 1937,1944 ---- if test "$cross_compiling" != yes; then if { ac_try='./$ac_file' ! { (eval echo "$as_me:1939: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:1942: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cross_compiling=no *************** *** 1890,1894 **** cross_compiling=yes else ! { { echo "$as_me:1892: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'." >&5 echo "$as_me: error: cannot run C compiled programs. --- 1947,1951 ---- cross_compiling=yes else ! { { echo "$as_me:1949: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'." >&5 echo "$as_me: error: cannot run C compiled programs. *************** *** 1898,1902 **** fi fi ! echo "$as_me:1900: result: yes" >&5 echo "${ECHO_T}yes" >&6 --- 1955,1959 ---- fi fi ! echo "$as_me:1957: result: yes" >&5 echo "${ECHO_T}yes" >&6 *************** *** 1905,1919 **** # Check the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. ! echo "$as_me:1907: checking whether we are cross compiling" >&5 echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 ! echo "$as_me:1909: result: $cross_compiling" >&5 echo "${ECHO_T}$cross_compiling" >&6 ! echo "$as_me:1912: checking for executable suffix" >&5 echo $ECHO_N "checking for executable suffix... $ECHO_C" >&6 ! if { (eval echo "$as_me:1914: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:1917: \$? = $ac_status" >&5 (exit $ac_status); }; then # If both `conftest.exe' and `conftest' are `present' (well, observable) --- 1962,1976 ---- # Check the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. ! echo "$as_me:1964: checking whether we are cross compiling" >&5 echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 ! echo "$as_me:1966: result: $cross_compiling" >&5 echo "${ECHO_T}$cross_compiling" >&6 ! echo "$as_me:1969: checking for executable suffix" >&5 echo $ECHO_N "checking for executable suffix... $ECHO_C" >&6 ! if { (eval echo "$as_me:1971: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:1974: \$? = $ac_status" >&5 (exit $ac_status); }; then # If both `conftest.exe' and `conftest' are `present' (well, observable) *************** *** 1931,1935 **** done else ! { { echo "$as_me:1933: error: cannot compute EXEEXT: cannot compile and link" >&5 echo "$as_me: error: cannot compute EXEEXT: cannot compile and link" >&2;} { (exit 1); exit 1; }; } --- 1988,1992 ---- done else ! { { echo "$as_me:1990: error: cannot compute EXEEXT: cannot compile and link" >&5 echo "$as_me: error: cannot compute EXEEXT: cannot compile and link" >&2;} { (exit 1); exit 1; }; } *************** *** 1937,1941 **** rm -f conftest$ac_cv_exeext ! echo "$as_me:1939: result: $ac_cv_exeext" >&5 echo "${ECHO_T}$ac_cv_exeext" >&6 --- 1994,1998 ---- rm -f conftest$ac_cv_exeext ! echo "$as_me:1996: result: $ac_cv_exeext" >&5 echo "${ECHO_T}$ac_cv_exeext" >&6 *************** *** 1943,1947 **** EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT ! echo "$as_me:1945: checking for object suffix" >&5 echo $ECHO_N "checking for object suffix... $ECHO_C" >&6 if test "${ac_cv_objext+set}" = set; then --- 2000,2004 ---- EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT ! echo "$as_me:2002: checking for object suffix" >&5 echo $ECHO_N "checking for object suffix... $ECHO_C" >&6 if test "${ac_cv_objext+set}" = set; then *************** *** 1949,1953 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 1951 "configure" #include "confdefs.h" --- 2006,2010 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 2008 "configure" #include "confdefs.h" *************** *** 1961,1968 **** _ACEOF rm -f conftest.o conftest.obj ! if { (eval echo "$as_me:1963: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:1966: \$? = $ac_status" >&5 (exit $ac_status); }; then for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do --- 2018,2025 ---- _ACEOF rm -f conftest.o conftest.obj ! if { (eval echo "$as_me:2020: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:2023: \$? = $ac_status" >&5 (exit $ac_status); }; then for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do *************** *** 1976,1980 **** echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ! { { echo "$as_me:1978: error: cannot compute OBJEXT: cannot compile" >&5 echo "$as_me: error: cannot compute OBJEXT: cannot compile" >&2;} { (exit 1); exit 1; }; } --- 2033,2037 ---- echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ! { { echo "$as_me:2035: error: cannot compute OBJEXT: cannot compile" >&5 echo "$as_me: error: cannot compute OBJEXT: cannot compile" >&2;} { (exit 1); exit 1; }; } *************** *** 1983,1991 **** rm -f conftest.$ac_cv_objext conftest.$ac_ext fi ! echo "$as_me:1985: result: $ac_cv_objext" >&5 echo "${ECHO_T}$ac_cv_objext" >&6 OBJEXT=$ac_cv_objext ac_objext=$OBJEXT ! echo "$as_me:1989: checking whether we are using the GNU C compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 if test "${ac_cv_c_compiler_gnu+set}" = set; then --- 2040,2048 ---- rm -f conftest.$ac_cv_objext conftest.$ac_ext fi ! echo "$as_me:2042: result: $ac_cv_objext" >&5 echo "${ECHO_T}$ac_cv_objext" >&6 OBJEXT=$ac_cv_objext ac_objext=$OBJEXT ! echo "$as_me:2046: checking whether we are using the GNU C compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 if test "${ac_cv_c_compiler_gnu+set}" = set; then *************** *** 1993,1997 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 1995 "configure" #include "confdefs.h" --- 2050,2054 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 2052 "configure" #include "confdefs.h" *************** *** 2008,2021 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:2010: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:2013: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:2016: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:2019: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes --- 2065,2078 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:2067: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:2070: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:2073: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:2076: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes *************** *** 2029,2033 **** fi ! echo "$as_me:2031: result: $ac_cv_c_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 GCC=`test $ac_compiler_gnu = yes && echo yes` --- 2086,2090 ---- fi ! echo "$as_me:2088: result: $ac_cv_c_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 GCC=`test $ac_compiler_gnu = yes && echo yes` *************** *** 2035,2039 **** ac_save_CFLAGS=$CFLAGS CFLAGS="-g" ! echo "$as_me:2037: checking whether $CC accepts -g" >&5 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cc_g+set}" = set; then --- 2092,2096 ---- ac_save_CFLAGS=$CFLAGS CFLAGS="-g" ! echo "$as_me:2094: checking whether $CC accepts -g" >&5 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cc_g+set}" = set; then *************** *** 2041,2045 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 2043 "configure" #include "confdefs.h" --- 2098,2102 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 2100 "configure" #include "confdefs.h" *************** *** 2053,2066 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:2055: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:2058: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:2061: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:2064: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_g=yes --- 2110,2123 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:2112: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:2115: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:2118: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:2121: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_g=yes *************** *** 2072,2076 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:2074: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 if test "$ac_test_CFLAGS" = set; then --- 2129,2133 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:2131: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 if test "$ac_test_CFLAGS" = set; then *************** *** 2099,2112 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:2101: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:2104: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:2107: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:2110: \$? = $ac_status" >&5 (exit $ac_status); }; }; then for ac_declaration in \ --- 2156,2169 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:2158: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:2161: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:2164: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:2167: \$? = $ac_status" >&5 (exit $ac_status); }; }; then for ac_declaration in \ *************** *** 2120,2124 **** do cat >conftest.$ac_ext <<_ACEOF ! #line 2122 "configure" #include "confdefs.h" #include --- 2177,2181 ---- do cat >conftest.$ac_ext <<_ACEOF ! #line 2179 "configure" #include "confdefs.h" #include *************** *** 2133,2146 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:2135: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:2138: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:2141: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:2144: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : --- 2190,2203 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:2192: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:2195: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:2198: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:2201: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : *************** *** 2152,2156 **** rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF ! #line 2154 "configure" #include "confdefs.h" $ac_declaration --- 2209,2213 ---- rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF ! #line 2211 "configure" #include "confdefs.h" $ac_declaration *************** *** 2164,2177 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:2166: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:2169: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:2172: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:2175: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break --- 2221,2234 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:2223: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:2226: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:2229: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:2232: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break *************** *** 2200,2209 **** ac_compiler_gnu=$ac_cv_c_compiler_gnu ! echo "$as_me:2202: checking for POSIXized ISC" >&5 echo $ECHO_N "checking for POSIXized ISC... $ECHO_C" >&6 if test -d /etc/conf/kconfig.d && grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1 then ! echo "$as_me:2207: result: yes" >&5 echo "${ECHO_T}yes" >&6 ISC=yes # If later tests want to check for ISC. --- 2257,2266 ---- ac_compiler_gnu=$ac_cv_c_compiler_gnu ! echo "$as_me:2259: checking for POSIXized ISC" >&5 echo $ECHO_N "checking for POSIXized ISC... $ECHO_C" >&6 if test -d /etc/conf/kconfig.d && grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1 then ! echo "$as_me:2264: result: yes" >&5 echo "${ECHO_T}yes" >&6 ISC=yes # If later tests want to check for ISC. *************** *** 2219,2223 **** fi else ! echo "$as_me:2221: result: no" >&5 echo "${ECHO_T}no" >&6 ISC= --- 2276,2280 ---- fi else ! echo "$as_me:2278: result: no" >&5 echo "${ECHO_T}no" >&6 ISC= *************** *** 2229,2233 **** ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ! echo "$as_me:2231: checking how to run the C preprocessor" >&5 echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 # On Suns, sometimes $CPP names a directory. --- 2286,2290 ---- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ! echo "$as_me:2288: checking how to run the C preprocessor" >&5 echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 # On Suns, sometimes $CPP names a directory. *************** *** 2250,2259 **** # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF ! #line 2252 "configure" #include "confdefs.h" #include Syntax error _ACEOF ! if { (eval echo "$as_me:2257: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? --- 2307,2316 ---- # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF ! #line 2309 "configure" #include "confdefs.h" #include Syntax error _ACEOF ! if { (eval echo "$as_me:2314: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? *************** *** 2261,2265 **** rm -f conftest.er1 cat conftest.err >&5 ! echo "$as_me:2263: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then --- 2318,2322 ---- rm -f conftest.er1 cat conftest.err >&5 ! echo "$as_me:2320: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then *************** *** 2284,2292 **** # can be detected and how. cat >conftest.$ac_ext <<_ACEOF ! #line 2286 "configure" #include "confdefs.h" #include _ACEOF ! if { (eval echo "$as_me:2290: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? --- 2341,2349 ---- # can be detected and how. cat >conftest.$ac_ext <<_ACEOF ! #line 2343 "configure" #include "confdefs.h" #include _ACEOF ! if { (eval echo "$as_me:2347: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? *************** *** 2294,2298 **** rm -f conftest.er1 cat conftest.err >&5 ! echo "$as_me:2296: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then --- 2351,2355 ---- rm -f conftest.er1 cat conftest.err >&5 ! echo "$as_me:2353: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then *************** *** 2331,2335 **** ac_cv_prog_CPP=$CPP fi ! echo "$as_me:2333: result: $CPP" >&5 echo "${ECHO_T}$CPP" >&6 ac_preproc_ok=false --- 2388,2392 ---- ac_cv_prog_CPP=$CPP fi ! echo "$as_me:2390: result: $CPP" >&5 echo "${ECHO_T}$CPP" >&6 ac_preproc_ok=false *************** *** 2341,2350 **** # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF ! #line 2343 "configure" #include "confdefs.h" #include Syntax error _ACEOF ! if { (eval echo "$as_me:2348: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? --- 2398,2407 ---- # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF ! #line 2400 "configure" #include "confdefs.h" #include Syntax error _ACEOF ! if { (eval echo "$as_me:2405: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? *************** *** 2352,2356 **** rm -f conftest.er1 cat conftest.err >&5 ! echo "$as_me:2354: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then --- 2409,2413 ---- rm -f conftest.er1 cat conftest.err >&5 ! echo "$as_me:2411: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then *************** *** 2375,2383 **** # can be detected and how. cat >conftest.$ac_ext <<_ACEOF ! #line 2377 "configure" #include "confdefs.h" #include _ACEOF ! if { (eval echo "$as_me:2381: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? --- 2432,2440 ---- # can be detected and how. cat >conftest.$ac_ext <<_ACEOF ! #line 2434 "configure" #include "confdefs.h" #include _ACEOF ! if { (eval echo "$as_me:2438: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? *************** *** 2385,2389 **** rm -f conftest.er1 cat conftest.err >&5 ! echo "$as_me:2387: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then --- 2442,2446 ---- rm -f conftest.er1 cat conftest.err >&5 ! echo "$as_me:2444: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then *************** *** 2413,2417 **** : else ! { { echo "$as_me:2415: error: C preprocessor \"$CPP\" fails sanity check" >&5 echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check" >&2;} { (exit 1); exit 1; }; } --- 2470,2474 ---- : else ! { { echo "$as_me:2472: error: C preprocessor \"$CPP\" fails sanity check" >&5 echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check" >&2;} { (exit 1); exit 1; }; } *************** *** 2424,2428 **** ac_compiler_gnu=$ac_cv_c_compiler_gnu ! echo "$as_me:2426: checking for minix/config.h" >&5 echo $ECHO_N "checking for minix/config.h... $ECHO_C" >&6 if test "${ac_cv_header_minix_config_h+set}" = set; then --- 2481,2485 ---- ac_compiler_gnu=$ac_cv_c_compiler_gnu ! echo "$as_me:2483: checking for minix/config.h" >&5 echo $ECHO_N "checking for minix/config.h... $ECHO_C" >&6 if test "${ac_cv_header_minix_config_h+set}" = set; then *************** *** 2430,2438 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 2432 "configure" #include "confdefs.h" #include _ACEOF ! if { (eval echo "$as_me:2436: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? --- 2487,2495 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 2489 "configure" #include "confdefs.h" #include _ACEOF ! if { (eval echo "$as_me:2493: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? *************** *** 2440,2444 **** rm -f conftest.er1 cat conftest.err >&5 ! echo "$as_me:2442: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then --- 2497,2501 ---- rm -f conftest.er1 cat conftest.err >&5 ! echo "$as_me:2499: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then *************** *** 2459,2463 **** rm -f conftest.err conftest.$ac_ext fi ! echo "$as_me:2461: result: $ac_cv_header_minix_config_h" >&5 echo "${ECHO_T}$ac_cv_header_minix_config_h" >&6 if test $ac_cv_header_minix_config_h = yes; then --- 2516,2520 ---- rm -f conftest.err conftest.$ac_ext fi ! echo "$as_me:2518: result: $ac_cv_header_minix_config_h" >&5 echo "${ECHO_T}$ac_cv_header_minix_config_h" >&6 if test $ac_cv_header_minix_config_h = yes; then *************** *** 2500,2504 **** if test "$enable_largefile" != no; then ! echo "$as_me:2502: checking for special C compiler options needed for large files" >&5 echo $ECHO_N "checking for special C compiler options needed for large files... $ECHO_C" >&6 if test "${ac_cv_sys_largefile_CC+set}" = set; then --- 2557,2561 ---- if test "$enable_largefile" != no; then ! echo "$as_me:2559: checking for special C compiler options needed for large files" >&5 echo $ECHO_N "checking for special C compiler options needed for large files... $ECHO_C" >&6 if test "${ac_cv_sys_largefile_CC+set}" = set; then *************** *** 2512,2516 **** # so use the C compiler's -n32 option if that helps. cat >conftest.$ac_ext <<_ACEOF ! #line 2514 "configure" #include "confdefs.h" #include --- 2569,2573 ---- # so use the C compiler's -n32 option if that helps. cat >conftest.$ac_ext <<_ACEOF ! #line 2571 "configure" #include "confdefs.h" #include *************** *** 2532,2545 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:2534: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:2537: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:2540: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:2543: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break --- 2589,2602 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:2591: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:2594: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:2597: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:2600: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break *************** *** 2551,2564 **** CC="$CC -n32" rm -f conftest.$ac_objext ! if { (eval echo "$as_me:2553: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:2556: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:2559: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:2562: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sys_largefile_CC=' -n32'; break --- 2608,2621 ---- CC="$CC -n32" rm -f conftest.$ac_objext ! if { (eval echo "$as_me:2610: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:2613: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:2616: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:2619: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sys_largefile_CC=' -n32'; break *************** *** 2574,2578 **** fi fi ! echo "$as_me:2576: result: $ac_cv_sys_largefile_CC" >&5 echo "${ECHO_T}$ac_cv_sys_largefile_CC" >&6 if test "$ac_cv_sys_largefile_CC" != no; then --- 2631,2635 ---- fi fi ! echo "$as_me:2633: result: $ac_cv_sys_largefile_CC" >&5 echo "${ECHO_T}$ac_cv_sys_largefile_CC" >&6 if test "$ac_cv_sys_largefile_CC" != no; then *************** *** 2580,2584 **** fi ! echo "$as_me:2582: checking for _FILE_OFFSET_BITS value needed for large files" >&5 echo $ECHO_N "checking for _FILE_OFFSET_BITS value needed for large files... $ECHO_C" >&6 if test "${ac_cv_sys_file_offset_bits+set}" = set; then --- 2637,2641 ---- fi ! echo "$as_me:2639: checking for _FILE_OFFSET_BITS value needed for large files" >&5 echo $ECHO_N "checking for _FILE_OFFSET_BITS value needed for large files... $ECHO_C" >&6 if test "${ac_cv_sys_file_offset_bits+set}" = set; then *************** *** 2588,2592 **** ac_cv_sys_file_offset_bits=no cat >conftest.$ac_ext <<_ACEOF ! #line 2590 "configure" #include "confdefs.h" #include --- 2645,2649 ---- ac_cv_sys_file_offset_bits=no cat >conftest.$ac_ext <<_ACEOF ! #line 2647 "configure" #include "confdefs.h" #include *************** *** 2608,2621 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:2610: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:2613: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:2616: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:2619: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break --- 2665,2678 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:2667: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:2670: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:2673: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:2676: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break *************** *** 2626,2630 **** rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF ! #line 2628 "configure" #include "confdefs.h" #define _FILE_OFFSET_BITS 64 --- 2683,2687 ---- rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF ! #line 2685 "configure" #include "confdefs.h" #define _FILE_OFFSET_BITS 64 *************** *** 2647,2660 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:2649: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:2652: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:2655: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:2658: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sys_file_offset_bits=64; break --- 2704,2717 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:2706: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:2709: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:2712: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:2715: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sys_file_offset_bits=64; break *************** *** 2667,2671 **** done fi ! echo "$as_me:2669: result: $ac_cv_sys_file_offset_bits" >&5 echo "${ECHO_T}$ac_cv_sys_file_offset_bits" >&6 if test "$ac_cv_sys_file_offset_bits" != no; then --- 2724,2728 ---- done fi ! echo "$as_me:2726: result: $ac_cv_sys_file_offset_bits" >&5 echo "${ECHO_T}$ac_cv_sys_file_offset_bits" >&6 if test "$ac_cv_sys_file_offset_bits" != no; then *************** *** 2677,2681 **** fi rm -f conftest* ! echo "$as_me:2679: checking for _LARGE_FILES value needed for large files" >&5 echo $ECHO_N "checking for _LARGE_FILES value needed for large files... $ECHO_C" >&6 if test "${ac_cv_sys_large_files+set}" = set; then --- 2734,2738 ---- fi rm -f conftest* ! echo "$as_me:2736: checking for _LARGE_FILES value needed for large files" >&5 echo $ECHO_N "checking for _LARGE_FILES value needed for large files... $ECHO_C" >&6 if test "${ac_cv_sys_large_files+set}" = set; then *************** *** 2685,2689 **** ac_cv_sys_large_files=no cat >conftest.$ac_ext <<_ACEOF ! #line 2687 "configure" #include "confdefs.h" #include --- 2742,2746 ---- ac_cv_sys_large_files=no cat >conftest.$ac_ext <<_ACEOF ! #line 2744 "configure" #include "confdefs.h" #include *************** *** 2705,2718 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:2707: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:2710: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:2713: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:2716: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break --- 2762,2775 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:2764: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:2767: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:2770: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:2773: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break *************** *** 2723,2727 **** rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF ! #line 2725 "configure" #include "confdefs.h" #define _LARGE_FILES 1 --- 2780,2784 ---- rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF ! #line 2782 "configure" #include "confdefs.h" #define _LARGE_FILES 1 *************** *** 2744,2757 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:2746: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:2749: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:2752: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:2755: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sys_large_files=1; break --- 2801,2814 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:2803: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:2806: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:2809: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:2812: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sys_large_files=1; break *************** *** 2764,2768 **** done fi ! echo "$as_me:2766: result: $ac_cv_sys_large_files" >&5 echo "${ECHO_T}$ac_cv_sys_large_files" >&6 if test "$ac_cv_sys_large_files" != no; then --- 2821,2825 ---- done fi ! echo "$as_me:2823: result: $ac_cv_sys_large_files" >&5 echo "${ECHO_T}$ac_cv_sys_large_files" >&6 if test "$ac_cv_sys_large_files" != no; then *************** *** 2816,2819 **** --- 2873,2877 ---- *) opt_static_link=yes ;; esac + DEBUG= MALLOC_DEBUG= fi *************** *** 2829,2834 **** fi if test $ac_cv_c_compiler_gnu = yes; then ! echo "$as_me:2832: checking whether $CC needs -traditional" >&5 echo $ECHO_N "checking whether $CC needs -traditional... $ECHO_C" >&6 if test "${ac_cv_prog_gcc_traditional+set}" = set; then --- 2887,2895 ---- fi + test -z "$CPPFLAGS_FOR_BUILD" && CPPFLAGS_FOR_BUILD="$CPPFLAGS" + test -z "$CFLAGS_FOR_BUILD" && CFLAGS_FOR_BUILD="-g" + if test $ac_cv_c_compiler_gnu = yes; then ! echo "$as_me:2893: checking whether $CC needs -traditional" >&5 echo $ECHO_N "checking whether $CC needs -traditional... $ECHO_C" >&6 if test "${ac_cv_prog_gcc_traditional+set}" = set; then *************** *** 2837,2841 **** ac_pattern="Autoconf.*'x'" cat >conftest.$ac_ext <<_ACEOF ! #line 2839 "configure" #include "confdefs.h" #include --- 2898,2902 ---- ac_pattern="Autoconf.*'x'" cat >conftest.$ac_ext <<_ACEOF ! #line 2900 "configure" #include "confdefs.h" #include *************** *** 2852,2856 **** if test $ac_cv_prog_gcc_traditional = no; then cat >conftest.$ac_ext <<_ACEOF ! #line 2854 "configure" #include "confdefs.h" #include --- 2913,2917 ---- if test $ac_cv_prog_gcc_traditional = no; then cat >conftest.$ac_ext <<_ACEOF ! #line 2915 "configure" #include "confdefs.h" #include *************** *** 2865,2869 **** fi fi ! echo "$as_me:2867: result: $ac_cv_prog_gcc_traditional" >&5 echo "${ECHO_T}$ac_cv_prog_gcc_traditional" >&6 if test $ac_cv_prog_gcc_traditional = yes; then --- 2926,2930 ---- fi fi ! echo "$as_me:2928: result: $ac_cv_prog_gcc_traditional" >&5 echo "${ECHO_T}$ac_cv_prog_gcc_traditional" >&6 if test $ac_cv_prog_gcc_traditional = yes; then *************** *** 2874,2878 **** if test "$opt_readline" = yes && test "$opt_with_installed_readline" != "no" then - echo opt_with_installed_readline = $opt_with_installed_readline # If the user specified --with-installed-readline=PREFIX and PREFIX # is not `yes', set ac_cv_rl_prefix to PREFIX --- 2935,2938 ---- *************** *** 2882,2886 **** _bash_needmsg=yes else ! echo "$as_me:2884: checking which library has the termcap functions" >&5 echo $ECHO_N "checking which library has the termcap functions... $ECHO_C" >&6 _bash_needmsg= --- 2942,2946 ---- _bash_needmsg=yes else ! echo "$as_me:2944: checking which library has the termcap functions" >&5 echo $ECHO_N "checking which library has the termcap functions... $ECHO_C" >&6 _bash_needmsg= *************** *** 2889,2893 **** echo $ECHO_N "(cached) $ECHO_C" >&6 else ! echo "$as_me:2891: checking for tgetent in -ltermcap" >&5 echo $ECHO_N "checking for tgetent in -ltermcap... $ECHO_C" >&6 if test "${ac_cv_lib_termcap_tgetent+set}" = set; then --- 2949,2953 ---- echo $ECHO_N "(cached) $ECHO_C" >&6 else ! echo "$as_me:2951: checking for tgetent in -ltermcap" >&5 echo $ECHO_N "checking for tgetent in -ltermcap... $ECHO_C" >&6 if test "${ac_cv_lib_termcap_tgetent+set}" = set; then *************** *** 2897,2901 **** LIBS="-ltermcap $LIBS" cat >conftest.$ac_ext <<_ACEOF ! #line 2899 "configure" #include "confdefs.h" --- 2957,2961 ---- LIBS="-ltermcap $LIBS" cat >conftest.$ac_ext <<_ACEOF ! #line 2959 "configure" #include "confdefs.h" *************** *** 2916,2929 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:2918: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:2921: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:2924: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:2927: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_termcap_tgetent=yes --- 2976,2989 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:2978: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:2981: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:2984: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:2987: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_termcap_tgetent=yes *************** *** 2936,2945 **** LIBS=$ac_check_lib_save_LIBS fi ! echo "$as_me:2938: result: $ac_cv_lib_termcap_tgetent" >&5 echo "${ECHO_T}$ac_cv_lib_termcap_tgetent" >&6 if test $ac_cv_lib_termcap_tgetent = yes; then bash_cv_termcap_lib=libtermcap else ! echo "$as_me:2943: checking for tgetent in -ltinfo" >&5 echo $ECHO_N "checking for tgetent in -ltinfo... $ECHO_C" >&6 if test "${ac_cv_lib_tinfo_tgetent+set}" = set; then --- 2996,3005 ---- LIBS=$ac_check_lib_save_LIBS fi ! echo "$as_me:2998: result: $ac_cv_lib_termcap_tgetent" >&5 echo "${ECHO_T}$ac_cv_lib_termcap_tgetent" >&6 if test $ac_cv_lib_termcap_tgetent = yes; then bash_cv_termcap_lib=libtermcap else ! echo "$as_me:3003: checking for tgetent in -ltinfo" >&5 echo $ECHO_N "checking for tgetent in -ltinfo... $ECHO_C" >&6 if test "${ac_cv_lib_tinfo_tgetent+set}" = set; then *************** *** 2949,2953 **** LIBS="-ltinfo $LIBS" cat >conftest.$ac_ext <<_ACEOF ! #line 2951 "configure" #include "confdefs.h" --- 3009,3013 ---- LIBS="-ltinfo $LIBS" cat >conftest.$ac_ext <<_ACEOF ! #line 3011 "configure" #include "confdefs.h" *************** *** 2968,2981 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:2970: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:2973: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:2976: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:2979: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_tinfo_tgetent=yes --- 3028,3041 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:3030: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:3033: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:3036: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:3039: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_tinfo_tgetent=yes *************** *** 2988,2997 **** LIBS=$ac_check_lib_save_LIBS fi ! echo "$as_me:2990: result: $ac_cv_lib_tinfo_tgetent" >&5 echo "${ECHO_T}$ac_cv_lib_tinfo_tgetent" >&6 if test $ac_cv_lib_tinfo_tgetent = yes; then ! bash_cv_termcal_lib=libtinfo else ! echo "$as_me:2995: checking for tgetent in -lcurses" >&5 echo $ECHO_N "checking for tgetent in -lcurses... $ECHO_C" >&6 if test "${ac_cv_lib_curses_tgetent+set}" = set; then --- 3048,3057 ---- LIBS=$ac_check_lib_save_LIBS fi ! echo "$as_me:3050: result: $ac_cv_lib_tinfo_tgetent" >&5 echo "${ECHO_T}$ac_cv_lib_tinfo_tgetent" >&6 if test $ac_cv_lib_tinfo_tgetent = yes; then ! bash_cv_termcap_lib=libtinfo else ! echo "$as_me:3055: checking for tgetent in -lcurses" >&5 echo $ECHO_N "checking for tgetent in -lcurses... $ECHO_C" >&6 if test "${ac_cv_lib_curses_tgetent+set}" = set; then *************** *** 3001,3005 **** LIBS="-lcurses $LIBS" cat >conftest.$ac_ext <<_ACEOF ! #line 3003 "configure" #include "confdefs.h" --- 3061,3065 ---- LIBS="-lcurses $LIBS" cat >conftest.$ac_ext <<_ACEOF ! #line 3063 "configure" #include "confdefs.h" *************** *** 3020,3033 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:3022: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:3025: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:3028: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:3031: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_curses_tgetent=yes --- 3080,3093 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:3082: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:3085: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:3088: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:3091: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_curses_tgetent=yes *************** *** 3040,3049 **** LIBS=$ac_check_lib_save_LIBS fi ! echo "$as_me:3042: result: $ac_cv_lib_curses_tgetent" >&5 echo "${ECHO_T}$ac_cv_lib_curses_tgetent" >&6 if test $ac_cv_lib_curses_tgetent = yes; then bash_cv_termcap_lib=libcurses else ! echo "$as_me:3047: checking for tgetent in -lncurses" >&5 echo $ECHO_N "checking for tgetent in -lncurses... $ECHO_C" >&6 if test "${ac_cv_lib_ncurses_tgetent+set}" = set; then --- 3100,3109 ---- LIBS=$ac_check_lib_save_LIBS fi ! echo "$as_me:3102: result: $ac_cv_lib_curses_tgetent" >&5 echo "${ECHO_T}$ac_cv_lib_curses_tgetent" >&6 if test $ac_cv_lib_curses_tgetent = yes; then bash_cv_termcap_lib=libcurses else ! echo "$as_me:3107: checking for tgetent in -lncurses" >&5 echo $ECHO_N "checking for tgetent in -lncurses... $ECHO_C" >&6 if test "${ac_cv_lib_ncurses_tgetent+set}" = set; then *************** *** 3053,3057 **** LIBS="-lncurses $LIBS" cat >conftest.$ac_ext <<_ACEOF ! #line 3055 "configure" #include "confdefs.h" --- 3113,3117 ---- LIBS="-lncurses $LIBS" cat >conftest.$ac_ext <<_ACEOF ! #line 3115 "configure" #include "confdefs.h" *************** *** 3072,3085 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:3074: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:3077: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:3080: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:3083: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_ncurses_tgetent=yes --- 3132,3145 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:3134: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:3137: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:3140: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:3143: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_ncurses_tgetent=yes *************** *** 3092,3096 **** LIBS=$ac_check_lib_save_LIBS fi ! echo "$as_me:3094: result: $ac_cv_lib_ncurses_tgetent" >&5 echo "${ECHO_T}$ac_cv_lib_ncurses_tgetent" >&6 if test $ac_cv_lib_ncurses_tgetent = yes; then --- 3152,3156 ---- LIBS=$ac_check_lib_save_LIBS fi ! echo "$as_me:3154: result: $ac_cv_lib_ncurses_tgetent" >&5 echo "${ECHO_T}$ac_cv_lib_ncurses_tgetent" >&6 if test $ac_cv_lib_ncurses_tgetent = yes; then *************** *** 3109,3116 **** if test "X$_bash_needmsg" = "Xyes"; then ! echo "$as_me:3111: checking which library has the termcap functions" >&5 echo $ECHO_N "checking which library has the termcap functions... $ECHO_C" >&6 fi ! echo "$as_me:3114: result: using $bash_cv_termcap_lib" >&5 echo "${ECHO_T}using $bash_cv_termcap_lib" >&6 if test $bash_cv_termcap_lib = gnutermcap && test -z "$prefer_curses"; then --- 3169,3176 ---- if test "X$_bash_needmsg" = "Xyes"; then ! echo "$as_me:3171: checking which library has the termcap functions" >&5 echo $ECHO_N "checking which library has the termcap functions... $ECHO_C" >&6 fi ! echo "$as_me:3174: result: using $bash_cv_termcap_lib" >&5 echo "${ECHO_T}using $bash_cv_termcap_lib" >&6 if test $bash_cv_termcap_lib = gnutermcap && test -z "$prefer_curses"; then *************** *** 3132,3136 **** fi ! echo "$as_me:3134: checking version of installed readline library" >&5 echo $ECHO_N "checking version of installed readline library... $ECHO_C" >&6 --- 3192,3196 ---- fi ! echo "$as_me:3194: checking version of installed readline library" >&5 echo $ECHO_N "checking version of installed readline library... $ECHO_C" >&6 *************** *** 3161,3165 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 3163 "configure" #include "confdefs.h" --- 3221,3225 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 3223 "configure" #include "confdefs.h" *************** *** 3179,3191 **** _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:3181: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:3184: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:3186: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:3189: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_rl_version=`cat conftest.rlv` --- 3239,3251 ---- _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:3241: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:3244: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:3246: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:3249: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_rl_version=`cat conftest.rlv` *************** *** 3210,3214 **** 2*|3*|4*|5*|6*|7*|8*|9*) RL_MAJOR=`echo $ac_cv_rl_version | sed 's:\..*$::'` ! RL_MINOR=`echo $ac_cv_rl_version | sed -e 's:^.*\.::' -e 's:a-zA-Z*$::'` ;; esac --- 3270,3274 ---- 2*|3*|4*|5*|6*|7*|8*|9*) RL_MAJOR=`echo $ac_cv_rl_version | sed 's:\..*$::'` ! RL_MINOR=`echo $ac_cv_rl_version | sed -e 's:^.*\.::' -e 's:[a-zA-Z]*$::'` ;; esac *************** *** 3233,3237 **** if test $ac_cv_rl_version = '0.0' ; then ! { echo "$as_me:3235: WARNING: Could not test version of installed readline library." >&5 echo "$as_me: WARNING: Could not test version of installed readline library." >&2;} elif test $RL_MAJOR -gt 4 || { test $RL_MAJOR = 4 && test $RL_MINOR -gt 2 ; } ; then --- 3293,3297 ---- if test $ac_cv_rl_version = '0.0' ; then ! { echo "$as_me:3295: WARNING: Could not test version of installed readline library." >&5 echo "$as_me: WARNING: Could not test version of installed readline library." >&2;} elif test $RL_MAJOR -gt 4 || { test $RL_MAJOR = 4 && test $RL_MINOR -gt 2 ; } ; then *************** *** 3240,3244 **** RL_LIBDIR=$ac_cv_rl_libdir RL_INCLUDEDIR=$ac_cv_rl_includedir ! echo "$as_me:3242: result: $ac_cv_rl_version" >&5 echo "${ECHO_T}$ac_cv_rl_version" >&6 else --- 3300,3304 ---- RL_LIBDIR=$ac_cv_rl_libdir RL_INCLUDEDIR=$ac_cv_rl_includedir ! echo "$as_me:3302: result: $ac_cv_rl_version" >&5 echo "${ECHO_T}$ac_cv_rl_version" >&6 else *************** *** 3261,3265 **** RL_INCLUDEDIR=$ac_cv_rl_includedir ! echo "$as_me:3263: result: $ac_cv_rl_version" >&5 echo "${ECHO_T}$ac_cv_rl_version" >&6 --- 3321,3325 ---- RL_INCLUDEDIR=$ac_cv_rl_includedir ! echo "$as_me:3323: result: $ac_cv_rl_version" >&5 echo "${ECHO_T}$ac_cv_rl_version" >&6 *************** *** 3267,3275 **** case "$ac_cv_rl_version" in ! 4.[2-9]*|5*|6*|7*|8*|9*) ;; *) opt_with_installed_readline=no ! { echo "$as_me:3271: WARNING: installed readline library is too old to be linked with bash" >&5 echo "$as_me: WARNING: installed readline library is too old to be linked with bash" >&2;} ! { echo "$as_me:3273: WARNING: using private bash version" >&5 echo "$as_me: WARNING: using private bash version" >&2;} ;; --- 3327,3335 ---- case "$ac_cv_rl_version" in ! 4.[3-9]*|5*|6*|7*|8*|9*) ;; *) opt_with_installed_readline=no ! { echo "$as_me:3331: WARNING: installed readline library is too old to be linked with bash" >&5 echo "$as_me: WARNING: installed readline library is too old to be linked with bash" >&2;} ! { echo "$as_me:3333: WARNING: using private bash version" >&5 echo "$as_me: WARNING: using private bash version" >&2;} ;; *************** *** 3339,3343 **** # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. ! echo "$as_me:3341: checking for a BSD compatible install" >&5 echo $ECHO_N "checking for a BSD compatible install... $ECHO_C" >&6 if test -z "$INSTALL"; then --- 3399,3403 ---- # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. ! echo "$as_me:3401: checking for a BSD compatible install" >&5 echo $ECHO_N "checking for a BSD compatible install... $ECHO_C" >&6 if test -z "$INSTALL"; then *************** *** 3388,3392 **** fi fi ! echo "$as_me:3390: result: $INSTALL" >&5 echo "${ECHO_T}$INSTALL" >&6 --- 3448,3452 ---- fi fi ! echo "$as_me:3450: result: $INSTALL" >&5 echo "${ECHO_T}$INSTALL" >&6 *************** *** 3401,3405 **** # Extract the first word of "ar", so it can be a program name with args. set dummy ar; ac_word=$2 ! echo "$as_me:3403: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_AR+set}" = set; then --- 3461,3465 ---- # Extract the first word of "ar", so it can be a program name with args. set dummy ar; ac_word=$2 ! echo "$as_me:3463: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_AR+set}" = set; then *************** *** 3416,3420 **** $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_AR="" ! echo "$as_me:3418: found $ac_dir/$ac_word" >&5 break done --- 3476,3480 ---- $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_AR="" ! echo "$as_me:3478: found $ac_dir/$ac_word" >&5 break done *************** *** 3425,3432 **** AR=$ac_cv_prog_AR if test -n "$AR"; then ! echo "$as_me:3427: result: $AR" >&5 echo "${ECHO_T}$AR" >&6 else ! echo "$as_me:3430: result: no" >&5 echo "${ECHO_T}no" >&6 fi --- 3485,3492 ---- AR=$ac_cv_prog_AR if test -n "$AR"; then ! echo "$as_me:3487: result: $AR" >&5 echo "${ECHO_T}$AR" >&6 else ! echo "$as_me:3490: result: no" >&5 echo "${ECHO_T}no" >&6 fi *************** *** 3436,3440 **** # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 ! echo "$as_me:3438: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_RANLIB+set}" = set; then --- 3496,3500 ---- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 ! echo "$as_me:3498: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_RANLIB+set}" = set; then *************** *** 3451,3455 **** $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" ! echo "$as_me:3453: found $ac_dir/$ac_word" >&5 break done --- 3511,3515 ---- $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" ! echo "$as_me:3513: found $ac_dir/$ac_word" >&5 break done *************** *** 3459,3466 **** RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then ! echo "$as_me:3461: result: $RANLIB" >&5 echo "${ECHO_T}$RANLIB" >&6 else ! echo "$as_me:3464: result: no" >&5 echo "${ECHO_T}no" >&6 fi --- 3519,3526 ---- RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then ! echo "$as_me:3521: result: $RANLIB" >&5 echo "${ECHO_T}$RANLIB" >&6 else ! echo "$as_me:3524: result: no" >&5 echo "${ECHO_T}no" >&6 fi *************** *** 3471,3475 **** # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 ! echo "$as_me:3473: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then --- 3531,3535 ---- # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 ! echo "$as_me:3533: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then *************** *** 3486,3490 **** $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_ac_ct_RANLIB="ranlib" ! echo "$as_me:3488: found $ac_dir/$ac_word" >&5 break done --- 3546,3550 ---- $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_ac_ct_RANLIB="ranlib" ! echo "$as_me:3548: found $ac_dir/$ac_word" >&5 break done *************** *** 3495,3502 **** ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then ! echo "$as_me:3497: result: $ac_ct_RANLIB" >&5 echo "${ECHO_T}$ac_ct_RANLIB" >&6 else ! echo "$as_me:3500: result: no" >&5 echo "${ECHO_T}no" >&6 fi --- 3555,3562 ---- ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then ! echo "$as_me:3557: result: $ac_ct_RANLIB" >&5 echo "${ECHO_T}$ac_ct_RANLIB" >&6 else ! echo "$as_me:3560: result: no" >&5 echo "${ECHO_T}no" >&6 fi *************** *** 3511,3515 **** # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 ! echo "$as_me:3513: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_YACC+set}" = set; then --- 3571,3575 ---- # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 ! echo "$as_me:3573: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_YACC+set}" = set; then *************** *** 3526,3530 **** $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_YACC="$ac_prog" ! echo "$as_me:3528: found $ac_dir/$ac_word" >&5 break done --- 3586,3590 ---- $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_YACC="$ac_prog" ! echo "$as_me:3588: found $ac_dir/$ac_word" >&5 break done *************** *** 3534,3541 **** YACC=$ac_cv_prog_YACC if test -n "$YACC"; then ! echo "$as_me:3536: result: $YACC" >&5 echo "${ECHO_T}$YACC" >&6 else ! echo "$as_me:3539: result: no" >&5 echo "${ECHO_T}no" >&6 fi --- 3594,3601 ---- YACC=$ac_cv_prog_YACC if test -n "$YACC"; then ! echo "$as_me:3596: result: $YACC" >&5 echo "${ECHO_T}$YACC" >&6 else ! echo "$as_me:3599: result: no" >&5 echo "${ECHO_T}no" >&6 fi *************** *** 3545,3549 **** test -n "$YACC" || YACC="yacc" ! echo "$as_me:3547: checking whether ${MAKE-make} sets \${MAKE}" >&5 echo $ECHO_N "checking whether ${MAKE-make} sets \${MAKE}... $ECHO_C" >&6 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'` --- 3605,3609 ---- test -n "$YACC" || YACC="yacc" ! echo "$as_me:3607: checking whether ${MAKE-make} sets \${MAKE}" >&5 echo $ECHO_N "checking whether ${MAKE-make} sets \${MAKE}... $ECHO_C" >&6 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'` *************** *** 3565,3573 **** fi if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then ! echo "$as_me:3567: result: yes" >&5 echo "${ECHO_T}yes" >&6 SET_MAKE= else ! echo "$as_me:3571: result: no" >&5 echo "${ECHO_T}no" >&6 SET_MAKE="MAKE=${MAKE-make}" --- 3625,3633 ---- fi if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then ! echo "$as_me:3627: result: yes" >&5 echo "${ECHO_T}yes" >&6 SET_MAKE= else ! echo "$as_me:3631: result: no" >&5 echo "${ECHO_T}no" >&6 SET_MAKE="MAKE=${MAKE-make}" *************** *** 3583,3587 **** EOF ! echo "$as_me:3585: checking for $CC option to accept ANSI C" >&5 echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 if test "${ac_cv_prog_cc_stdc+set}" = set; then --- 3643,3647 ---- EOF ! echo "$as_me:3645: checking for $CC option to accept ANSI C" >&5 echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 if test "${ac_cv_prog_cc_stdc+set}" = set; then *************** *** 3591,3595 **** ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF ! #line 3593 "configure" #include "confdefs.h" #include --- 3651,3655 ---- ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF ! #line 3653 "configure" #include "confdefs.h" #include *************** *** 3640,3653 **** CC="$ac_save_CC $ac_arg" rm -f conftest.$ac_objext ! if { (eval echo "$as_me:3642: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:3645: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:3648: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:3651: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_stdc=$ac_arg --- 3700,3713 ---- CC="$ac_save_CC $ac_arg" rm -f conftest.$ac_objext ! if { (eval echo "$as_me:3702: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:3705: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:3708: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:3711: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_stdc=$ac_arg *************** *** 3666,3678 **** case "x$ac_cv_prog_cc_stdc" in x|xno) ! echo "$as_me:3668: result: none needed" >&5 echo "${ECHO_T}none needed" >&6 ;; *) ! echo "$as_me:3671: result: $ac_cv_prog_cc_stdc" >&5 echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 CC="$CC $ac_cv_prog_cc_stdc" ;; esac ! echo "$as_me:3676: checking for an ANSI C-conforming const" >&5 echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6 if test "${ac_cv_c_const+set}" = set; then --- 3726,3738 ---- case "x$ac_cv_prog_cc_stdc" in x|xno) ! echo "$as_me:3728: result: none needed" >&5 echo "${ECHO_T}none needed" >&6 ;; *) ! echo "$as_me:3731: result: $ac_cv_prog_cc_stdc" >&5 echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 CC="$CC $ac_cv_prog_cc_stdc" ;; esac ! echo "$as_me:3736: checking for an ANSI C-conforming const" >&5 echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6 if test "${ac_cv_c_const+set}" = set; then *************** *** 3680,3684 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 3682 "configure" #include "confdefs.h" --- 3740,3744 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 3742 "configure" #include "confdefs.h" *************** *** 3738,3751 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:3740: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:3743: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:3746: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:3749: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_c_const=yes --- 3798,3811 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:3800: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:3803: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:3806: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:3809: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_c_const=yes *************** *** 3757,3761 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:3759: result: $ac_cv_c_const" >&5 echo "${ECHO_T}$ac_cv_c_const" >&6 if test $ac_cv_c_const = no; then --- 3817,3821 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:3819: result: $ac_cv_c_const" >&5 echo "${ECHO_T}$ac_cv_c_const" >&6 if test $ac_cv_c_const = no; then *************** *** 3767,3771 **** fi ! echo "$as_me:3769: checking for inline" >&5 echo $ECHO_N "checking for inline... $ECHO_C" >&6 if test "${ac_cv_c_inline+set}" = set; then --- 3827,3831 ---- fi ! echo "$as_me:3829: checking for inline" >&5 echo $ECHO_N "checking for inline... $ECHO_C" >&6 if test "${ac_cv_c_inline+set}" = set; then *************** *** 3775,3779 **** for ac_kw in inline __inline__ __inline; do cat >conftest.$ac_ext <<_ACEOF ! #line 3777 "configure" #include "confdefs.h" #ifndef __cplusplus --- 3835,3839 ---- for ac_kw in inline __inline__ __inline; do cat >conftest.$ac_ext <<_ACEOF ! #line 3837 "configure" #include "confdefs.h" #ifndef __cplusplus *************** *** 3784,3797 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:3786: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:3789: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:3792: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:3795: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_c_inline=$ac_kw; break --- 3844,3857 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:3846: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:3849: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:3852: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:3855: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_c_inline=$ac_kw; break *************** *** 3804,3808 **** fi ! echo "$as_me:3806: result: $ac_cv_c_inline" >&5 echo "${ECHO_T}$ac_cv_c_inline" >&6 case $ac_cv_c_inline in --- 3864,3868 ---- fi ! echo "$as_me:3866: result: $ac_cv_c_inline" >&5 echo "${ECHO_T}$ac_cv_c_inline" >&6 case $ac_cv_c_inline in *************** *** 3819,3823 **** esac ! echo "$as_me:3821: checking whether byte ordering is bigendian" >&5 echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6 if test "${ac_cv_c_bigendian+set}" = set; then --- 3879,3883 ---- esac ! echo "$as_me:3881: checking whether byte ordering is bigendian" >&5 echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6 if test "${ac_cv_c_bigendian+set}" = set; then *************** *** 3827,3831 **** # See if sys/param.h defines the BYTE_ORDER macro. cat >conftest.$ac_ext <<_ACEOF ! #line 3829 "configure" #include "confdefs.h" #include --- 3887,3891 ---- # See if sys/param.h defines the BYTE_ORDER macro. cat >conftest.$ac_ext <<_ACEOF ! #line 3889 "configure" #include "confdefs.h" #include *************** *** 3844,3861 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:3846: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:3849: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:3852: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:3855: \$? = $ac_status" >&5 (exit $ac_status); }; }; then # It does; now see whether it defined to BIG_ENDIAN or not. cat >conftest.$ac_ext <<_ACEOF ! #line 3859 "configure" #include "confdefs.h" #include --- 3904,3921 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:3906: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:3909: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:3912: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:3915: \$? = $ac_status" >&5 (exit $ac_status); }; }; then # It does; now see whether it defined to BIG_ENDIAN or not. cat >conftest.$ac_ext <<_ACEOF ! #line 3919 "configure" #include "confdefs.h" #include *************** *** 3874,3887 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:3876: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:3879: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:3882: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:3885: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_c_bigendian=yes --- 3934,3947 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:3936: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:3939: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:3942: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:3945: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_c_bigendian=yes *************** *** 3899,3908 **** if test $ac_cv_c_bigendian = unknown; then if test "$cross_compiling" = yes; then ! { { echo "$as_me:3901: error: cannot run test program while cross compiling" >&5 echo "$as_me: error: cannot run test program while cross compiling" >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF ! #line 3906 "configure" #include "confdefs.h" int --- 3959,3968 ---- if test $ac_cv_c_bigendian = unknown; then if test "$cross_compiling" = yes; then ! { { echo "$as_me:3961: error: cannot run test program while cross compiling" >&5 echo "$as_me: error: cannot run test program while cross compiling" >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF ! #line 3966 "configure" #include "confdefs.h" int *************** *** 3920,3932 **** _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:3922: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:3925: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:3927: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:3930: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_c_bigendian=no --- 3980,3992 ---- _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:3982: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:3985: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:3987: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:3990: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_c_bigendian=no *************** *** 3941,3945 **** fi fi ! echo "$as_me:3943: result: $ac_cv_c_bigendian" >&5 echo "${ECHO_T}$ac_cv_c_bigendian" >&6 if test $ac_cv_c_bigendian = yes; then --- 4001,4005 ---- fi fi ! echo "$as_me:4003: result: $ac_cv_c_bigendian" >&5 echo "${ECHO_T}$ac_cv_c_bigendian" >&6 if test $ac_cv_c_bigendian = yes; then *************** *** 3951,3955 **** fi ! echo "$as_me:3953: checking for preprocessor stringizing operator" >&5 echo $ECHO_N "checking for preprocessor stringizing operator... $ECHO_C" >&6 if test "${ac_cv_c_stringize+set}" = set; then --- 4011,4015 ---- fi ! echo "$as_me:4013: checking for preprocessor stringizing operator" >&5 echo $ECHO_N "checking for preprocessor stringizing operator... $ECHO_C" >&6 if test "${ac_cv_c_stringize+set}" = set; then *************** *** 3957,3961 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 3959 "configure" #include "confdefs.h" #define x(y) #y --- 4017,4021 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 4019 "configure" #include "confdefs.h" #define x(y) #y *************** *** 3972,3976 **** fi ! echo "$as_me:3974: result: $ac_cv_c_stringize" >&5 echo "${ECHO_T}$ac_cv_c_stringize" >&6 if test $ac_cv_c_stringize = yes; then --- 4032,4036 ---- fi ! echo "$as_me:4034: result: $ac_cv_c_stringize" >&5 echo "${ECHO_T}$ac_cv_c_stringize" >&6 if test $ac_cv_c_stringize = yes; then *************** *** 3982,3986 **** fi ! echo "$as_me:3984: checking for long double" >&5 echo $ECHO_N "checking for long double... $ECHO_C" >&6 if test "${ac_cv_c_long_double+set}" = set; then --- 4042,4046 ---- fi ! echo "$as_me:4044: checking for long double" >&5 echo $ECHO_N "checking for long double... $ECHO_C" >&6 if test "${ac_cv_c_long_double+set}" = set; then *************** *** 3991,4000 **** else if test "$cross_compiling" = yes; then ! { { echo "$as_me:3993: error: cannot run test program while cross compiling" >&5 echo "$as_me: error: cannot run test program while cross compiling" >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF ! #line 3998 "configure" #include "confdefs.h" int --- 4051,4060 ---- else if test "$cross_compiling" = yes; then ! { { echo "$as_me:4053: error: cannot run test program while cross compiling" >&5 echo "$as_me: error: cannot run test program while cross compiling" >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF ! #line 4058 "configure" #include "confdefs.h" int *************** *** 4009,4021 **** _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:4011: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:4014: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:4016: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:4019: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_c_long_double=yes --- 4069,4081 ---- _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:4071: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:4074: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:4076: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:4079: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_c_long_double=yes *************** *** 4030,4034 **** fi fi ! echo "$as_me:4032: result: $ac_cv_c_long_double" >&5 echo "${ECHO_T}$ac_cv_c_long_double" >&6 if test $ac_cv_c_long_double = yes; then --- 4090,4094 ---- fi fi ! echo "$as_me:4092: result: $ac_cv_c_long_double" >&5 echo "${ECHO_T}$ac_cv_c_long_double" >&6 if test $ac_cv_c_long_double = yes; then *************** *** 4040,4047 **** fi ! echo "$as_me:4042: checking for function prototypes" >&5 echo $ECHO_N "checking for function prototypes... $ECHO_C" >&6 if test "$ac_cv_prog_cc_stdc" != no; then ! echo "$as_me:4045: result: yes" >&5 echo "${ECHO_T}yes" >&6 --- 4100,4107 ---- fi ! echo "$as_me:4102: checking for function prototypes" >&5 echo $ECHO_N "checking for function prototypes... $ECHO_C" >&6 if test "$ac_cv_prog_cc_stdc" != no; then ! echo "$as_me:4105: result: yes" >&5 echo "${ECHO_T}yes" >&6 *************** *** 4051,4059 **** else ! echo "$as_me:4053: result: no" >&5 echo "${ECHO_T}no" >&6 fi ! echo "$as_me:4057: checking for ANSI C header files" >&5 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 if test "${ac_cv_header_stdc+set}" = set; then --- 4111,4119 ---- else ! echo "$as_me:4113: result: no" >&5 echo "${ECHO_T}no" >&6 fi ! echo "$as_me:4117: checking for ANSI C header files" >&5 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 if test "${ac_cv_header_stdc+set}" = set; then *************** *** 4061,4065 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 4063 "configure" #include "confdefs.h" #include --- 4121,4125 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 4123 "configure" #include "confdefs.h" #include *************** *** 4069,4073 **** _ACEOF ! if { (eval echo "$as_me:4071: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? --- 4129,4133 ---- _ACEOF ! if { (eval echo "$as_me:4131: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? *************** *** 4075,4079 **** rm -f conftest.er1 cat conftest.err >&5 ! echo "$as_me:4077: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then --- 4135,4139 ---- rm -f conftest.er1 cat conftest.err >&5 ! echo "$as_me:4137: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then *************** *** 4097,4101 **** # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF ! #line 4099 "configure" #include "confdefs.h" #include --- 4157,4161 ---- # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF ! #line 4159 "configure" #include "confdefs.h" #include *************** *** 4115,4119 **** # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF ! #line 4117 "configure" #include "confdefs.h" #include --- 4175,4179 ---- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF ! #line 4177 "configure" #include "confdefs.h" #include *************** *** 4136,4140 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 4138 "configure" #include "confdefs.h" #include --- 4196,4200 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 4198 "configure" #include "confdefs.h" #include *************** *** 4162,4174 **** _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:4164: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:4167: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:4169: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:4172: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : --- 4222,4234 ---- _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:4224: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:4227: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:4229: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:4232: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : *************** *** 4183,4187 **** fi fi ! echo "$as_me:4185: result: $ac_cv_header_stdc" >&5 echo "${ECHO_T}$ac_cv_header_stdc" >&6 if test $ac_cv_header_stdc = yes; then --- 4243,4247 ---- fi fi ! echo "$as_me:4245: result: $ac_cv_header_stdc" >&5 echo "${ECHO_T}$ac_cv_header_stdc" >&6 if test $ac_cv_header_stdc = yes; then *************** *** 4199,4203 **** do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` ! echo "$as_me:4201: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then --- 4259,4263 ---- do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` ! echo "$as_me:4261: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then *************** *** 4205,4209 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 4207 "configure" #include "confdefs.h" $ac_includes_default --- 4265,4269 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 4267 "configure" #include "confdefs.h" $ac_includes_default *************** *** 4211,4224 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:4213: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:4216: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:4219: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:4222: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_Header=yes" --- 4271,4284 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:4273: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:4276: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:4279: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:4282: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_Header=yes" *************** *** 4230,4234 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:4232: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 if test `eval echo '${'$as_ac_Header'}'` = yes; then --- 4290,4294 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:4292: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 if test `eval echo '${'$as_ac_Header'}'` = yes; then *************** *** 4240,4244 **** done ! echo "$as_me:4242: checking whether char is unsigned" >&5 echo $ECHO_N "checking whether char is unsigned... $ECHO_C" >&6 if test "${ac_cv_c_char_unsigned+set}" = set; then --- 4300,4304 ---- done ! echo "$as_me:4302: checking whether char is unsigned" >&5 echo $ECHO_N "checking whether char is unsigned... $ECHO_C" >&6 if test "${ac_cv_c_char_unsigned+set}" = set; then *************** *** 4246,4250 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 4248 "configure" #include "confdefs.h" $ac_includes_default --- 4306,4310 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 4308 "configure" #include "confdefs.h" $ac_includes_default *************** *** 4258,4271 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:4260: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:4263: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:4266: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:4269: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_c_char_unsigned=no --- 4318,4331 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:4320: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:4323: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:4326: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:4329: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_c_char_unsigned=no *************** *** 4277,4281 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:4279: result: $ac_cv_c_char_unsigned" >&5 echo "${ECHO_T}$ac_cv_c_char_unsigned" >&6 if test $ac_cv_c_char_unsigned = yes && test "$GCC" != yes; then --- 4337,4341 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:4339: result: $ac_cv_c_char_unsigned" >&5 echo "${ECHO_T}$ac_cv_c_char_unsigned" >&6 if test $ac_cv_c_char_unsigned = yes && test "$GCC" != yes; then *************** *** 4289,4293 **** for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do as_ac_Header=`echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` ! echo "$as_me:4291: checking for $ac_hdr that defines DIR" >&5 echo $ECHO_N "checking for $ac_hdr that defines DIR... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then --- 4349,4353 ---- for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do as_ac_Header=`echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` ! echo "$as_me:4351: checking for $ac_hdr that defines DIR" >&5 echo $ECHO_N "checking for $ac_hdr that defines DIR... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then *************** *** 4295,4299 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 4297 "configure" #include "confdefs.h" #include --- 4355,4359 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 4357 "configure" #include "confdefs.h" #include *************** *** 4310,4323 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:4312: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:4315: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:4318: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:4321: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_Header=yes" --- 4370,4383 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:4372: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:4375: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:4378: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:4381: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_Header=yes" *************** *** 4329,4333 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:4331: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 if test `eval echo '${'$as_ac_Header'}'` = yes; then --- 4389,4393 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:4391: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 if test `eval echo '${'$as_ac_Header'}'` = yes; then *************** *** 4342,4346 **** # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. if test $ac_header_dirent = dirent.h; then ! echo "$as_me:4344: checking for opendir in -ldir" >&5 echo $ECHO_N "checking for opendir in -ldir... $ECHO_C" >&6 if test "${ac_cv_lib_dir_opendir+set}" = set; then --- 4402,4406 ---- # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. if test $ac_header_dirent = dirent.h; then ! echo "$as_me:4404: checking for opendir in -ldir" >&5 echo $ECHO_N "checking for opendir in -ldir... $ECHO_C" >&6 if test "${ac_cv_lib_dir_opendir+set}" = set; then *************** *** 4350,4354 **** LIBS="-ldir $LIBS" cat >conftest.$ac_ext <<_ACEOF ! #line 4352 "configure" #include "confdefs.h" --- 4410,4414 ---- LIBS="-ldir $LIBS" cat >conftest.$ac_ext <<_ACEOF ! #line 4412 "configure" #include "confdefs.h" *************** *** 4369,4382 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:4371: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:4374: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:4377: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:4380: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_dir_opendir=yes --- 4429,4442 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:4431: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:4434: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:4437: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:4440: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_dir_opendir=yes *************** *** 4389,4393 **** LIBS=$ac_check_lib_save_LIBS fi ! echo "$as_me:4391: result: $ac_cv_lib_dir_opendir" >&5 echo "${ECHO_T}$ac_cv_lib_dir_opendir" >&6 if test $ac_cv_lib_dir_opendir = yes; then --- 4449,4453 ---- LIBS=$ac_check_lib_save_LIBS fi ! echo "$as_me:4451: result: $ac_cv_lib_dir_opendir" >&5 echo "${ECHO_T}$ac_cv_lib_dir_opendir" >&6 if test $ac_cv_lib_dir_opendir = yes; then *************** *** 4396,4400 **** else ! echo "$as_me:4398: checking for opendir in -lx" >&5 echo $ECHO_N "checking for opendir in -lx... $ECHO_C" >&6 if test "${ac_cv_lib_x_opendir+set}" = set; then --- 4456,4460 ---- else ! echo "$as_me:4458: checking for opendir in -lx" >&5 echo $ECHO_N "checking for opendir in -lx... $ECHO_C" >&6 if test "${ac_cv_lib_x_opendir+set}" = set; then *************** *** 4404,4408 **** LIBS="-lx $LIBS" cat >conftest.$ac_ext <<_ACEOF ! #line 4406 "configure" #include "confdefs.h" --- 4464,4468 ---- LIBS="-lx $LIBS" cat >conftest.$ac_ext <<_ACEOF ! #line 4466 "configure" #include "confdefs.h" *************** *** 4423,4436 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:4425: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:4428: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:4431: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:4434: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_x_opendir=yes --- 4483,4496 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:4485: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:4488: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:4491: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:4494: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_x_opendir=yes *************** *** 4443,4447 **** LIBS=$ac_check_lib_save_LIBS fi ! echo "$as_me:4445: result: $ac_cv_lib_x_opendir" >&5 echo "${ECHO_T}$ac_cv_lib_x_opendir" >&6 if test $ac_cv_lib_x_opendir = yes; then --- 4503,4507 ---- LIBS=$ac_check_lib_save_LIBS fi ! echo "$as_me:4505: result: $ac_cv_lib_x_opendir" >&5 echo "${ECHO_T}$ac_cv_lib_x_opendir" >&6 if test $ac_cv_lib_x_opendir = yes; then *************** *** 4451,4455 **** fi ! echo "$as_me:4453: checking whether time.h and sys/time.h may both be included" >&5 echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6 if test "${ac_cv_header_time+set}" = set; then --- 4511,4515 ---- fi ! echo "$as_me:4513: checking whether time.h and sys/time.h may both be included" >&5 echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6 if test "${ac_cv_header_time+set}" = set; then *************** *** 4457,4461 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 4459 "configure" #include "confdefs.h" #include --- 4517,4521 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 4519 "configure" #include "confdefs.h" #include *************** *** 4473,4486 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:4475: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:4478: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:4481: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:4484: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_header_time=yes --- 4533,4546 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:4535: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:4538: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:4541: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:4544: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_header_time=yes *************** *** 4492,4496 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:4494: result: $ac_cv_header_time" >&5 echo "${ECHO_T}$ac_cv_header_time" >&6 if test $ac_cv_header_time = yes; then --- 4552,4556 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:4554: result: $ac_cv_header_time" >&5 echo "${ECHO_T}$ac_cv_header_time" >&6 if test $ac_cv_header_time = yes; then *************** *** 4505,4509 **** do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` ! echo "$as_me:4507: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then --- 4565,4569 ---- do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` ! echo "$as_me:4567: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then *************** *** 4511,4519 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 4513 "configure" #include "confdefs.h" #include <$ac_header> _ACEOF ! if { (eval echo "$as_me:4517: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? --- 4571,4579 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 4573 "configure" #include "confdefs.h" #include <$ac_header> _ACEOF ! if { (eval echo "$as_me:4577: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? *************** *** 4521,4525 **** rm -f conftest.er1 cat conftest.err >&5 ! echo "$as_me:4523: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then --- 4581,4585 ---- rm -f conftest.er1 cat conftest.err >&5 ! echo "$as_me:4583: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then *************** *** 4540,4544 **** rm -f conftest.err conftest.$ac_ext fi ! echo "$as_me:4542: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 if test `eval echo '${'$as_ac_Header'}'` = yes; then --- 4600,4604 ---- rm -f conftest.err conftest.$ac_ext fi ! echo "$as_me:4602: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 if test `eval echo '${'$as_ac_Header'}'` = yes; then *************** *** 4555,4559 **** do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` ! echo "$as_me:4557: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then --- 4615,4619 ---- do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` ! echo "$as_me:4617: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then *************** *** 4561,4569 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 4563 "configure" #include "confdefs.h" #include <$ac_header> _ACEOF ! if { (eval echo "$as_me:4567: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? --- 4621,4629 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 4623 "configure" #include "confdefs.h" #include <$ac_header> _ACEOF ! if { (eval echo "$as_me:4627: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? *************** *** 4571,4575 **** rm -f conftest.er1 cat conftest.err >&5 ! echo "$as_me:4573: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then --- 4631,4635 ---- rm -f conftest.er1 cat conftest.err >&5 ! echo "$as_me:4633: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then *************** *** 4590,4594 **** rm -f conftest.err conftest.$ac_ext fi ! echo "$as_me:4592: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 if test `eval echo '${'$as_ac_Header'}'` = yes; then --- 4650,4654 ---- rm -f conftest.err conftest.$ac_ext fi ! echo "$as_me:4652: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 if test `eval echo '${'$as_ac_Header'}'` = yes; then *************** *** 4605,4609 **** do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` ! echo "$as_me:4607: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then --- 4665,4669 ---- do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` ! echo "$as_me:4667: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then *************** *** 4611,4619 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 4613 "configure" #include "confdefs.h" #include <$ac_header> _ACEOF ! if { (eval echo "$as_me:4617: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? --- 4671,4679 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 4673 "configure" #include "confdefs.h" #include <$ac_header> _ACEOF ! if { (eval echo "$as_me:4677: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? *************** *** 4621,4625 **** rm -f conftest.er1 cat conftest.err >&5 ! echo "$as_me:4623: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then --- 4681,4685 ---- rm -f conftest.er1 cat conftest.err >&5 ! echo "$as_me:4683: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then *************** *** 4640,4644 **** rm -f conftest.err conftest.$ac_ext fi ! echo "$as_me:4642: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 if test `eval echo '${'$as_ac_Header'}'` = yes; then --- 4700,4704 ---- rm -f conftest.err conftest.$ac_ext fi ! echo "$as_me:4702: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 if test `eval echo '${'$as_ac_Header'}'` = yes; then *************** *** 4653,4657 **** do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` ! echo "$as_me:4655: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then --- 4713,4717 ---- do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` ! echo "$as_me:4715: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then *************** *** 4659,4667 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 4661 "configure" #include "confdefs.h" #include <$ac_header> _ACEOF ! if { (eval echo "$as_me:4665: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? --- 4719,4727 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 4721 "configure" #include "confdefs.h" #include <$ac_header> _ACEOF ! if { (eval echo "$as_me:4725: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? *************** *** 4669,4673 **** rm -f conftest.er1 cat conftest.err >&5 ! echo "$as_me:4671: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then --- 4729,4733 ---- rm -f conftest.er1 cat conftest.err >&5 ! echo "$as_me:4731: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then *************** *** 4688,4692 **** rm -f conftest.err conftest.$ac_ext fi ! echo "$as_me:4690: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 if test `eval echo '${'$as_ac_Header'}'` = yes; then --- 4748,4752 ---- rm -f conftest.err conftest.$ac_ext fi ! echo "$as_me:4750: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 if test `eval echo '${'$as_ac_Header'}'` = yes; then *************** *** 4700,4704 **** # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! ! echo "$as_me:4702: checking for working alloca.h" >&5 echo $ECHO_N "checking for working alloca.h... $ECHO_C" >&6 if test "${ac_cv_working_alloca_h+set}" = set; then --- 4760,4764 ---- # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! ! echo "$as_me:4762: checking for working alloca.h" >&5 echo $ECHO_N "checking for working alloca.h... $ECHO_C" >&6 if test "${ac_cv_working_alloca_h+set}" = set; then *************** *** 4706,4710 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 4708 "configure" #include "confdefs.h" #include --- 4766,4770 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 4768 "configure" #include "confdefs.h" #include *************** *** 4718,4731 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:4720: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:4723: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:4726: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:4729: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_working_alloca_h=yes --- 4778,4791 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:4780: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:4783: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:4786: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:4789: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_working_alloca_h=yes *************** *** 4737,4741 **** rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:4739: result: $ac_cv_working_alloca_h" >&5 echo "${ECHO_T}$ac_cv_working_alloca_h" >&6 if test $ac_cv_working_alloca_h = yes; then --- 4797,4801 ---- rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:4799: result: $ac_cv_working_alloca_h" >&5 echo "${ECHO_T}$ac_cv_working_alloca_h" >&6 if test $ac_cv_working_alloca_h = yes; then *************** *** 4747,4751 **** fi ! echo "$as_me:4749: checking for alloca" >&5 echo $ECHO_N "checking for alloca... $ECHO_C" >&6 if test "${ac_cv_func_alloca_works+set}" = set; then --- 4807,4811 ---- fi ! echo "$as_me:4809: checking for alloca" >&5 echo $ECHO_N "checking for alloca... $ECHO_C" >&6 if test "${ac_cv_func_alloca_works+set}" = set; then *************** *** 4753,4757 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 4755 "configure" #include "confdefs.h" #ifdef __GNUC__ --- 4813,4817 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 4815 "configure" #include "confdefs.h" #ifdef __GNUC__ *************** *** 4785,4798 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:4787: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:4790: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:4793: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:4796: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_alloca_works=yes --- 4845,4858 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:4847: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:4850: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:4853: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:4856: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_alloca_works=yes *************** *** 4804,4808 **** rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:4806: result: $ac_cv_func_alloca_works" >&5 echo "${ECHO_T}$ac_cv_func_alloca_works" >&6 --- 4864,4868 ---- rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:4866: result: $ac_cv_func_alloca_works" >&5 echo "${ECHO_T}$ac_cv_func_alloca_works" >&6 *************** *** 4825,4829 **** EOF ! echo "$as_me:4827: checking whether \`alloca.c' needs Cray hooks" >&5 echo $ECHO_N "checking whether \`alloca.c' needs Cray hooks... $ECHO_C" >&6 if test "${ac_cv_os_cray+set}" = set; then --- 4885,4889 ---- EOF ! echo "$as_me:4887: checking whether \`alloca.c' needs Cray hooks" >&5 echo $ECHO_N "checking whether \`alloca.c' needs Cray hooks... $ECHO_C" >&6 if test "${ac_cv_os_cray+set}" = set; then *************** *** 4831,4835 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 4833 "configure" #include "confdefs.h" #if defined(CRAY) && ! defined(CRAY2) --- 4891,4895 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 4893 "configure" #include "confdefs.h" #if defined(CRAY) && ! defined(CRAY2) *************** *** 4849,4858 **** fi ! echo "$as_me:4851: result: $ac_cv_os_cray" >&5 echo "${ECHO_T}$ac_cv_os_cray" >&6 if test $ac_cv_os_cray = yes; then for ac_func in _getb67 GETB67 getb67; do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` ! echo "$as_me:4856: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then --- 4909,4918 ---- fi ! echo "$as_me:4911: result: $ac_cv_os_cray" >&5 echo "${ECHO_T}$ac_cv_os_cray" >&6 if test $ac_cv_os_cray = yes; then for ac_func in _getb67 GETB67 getb67; do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` ! echo "$as_me:4916: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then *************** *** 4860,4864 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 4862 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, --- 4920,4924 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 4922 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, *************** *** 4891,4904 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:4893: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:4896: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:4899: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:4902: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" --- 4951,4964 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:4953: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:4956: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:4959: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:4962: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" *************** *** 4910,4914 **** rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:4912: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then --- 4970,4974 ---- rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:4972: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then *************** *** 4924,4928 **** fi ! echo "$as_me:4926: checking stack direction for C alloca" >&5 echo $ECHO_N "checking stack direction for C alloca... $ECHO_C" >&6 if test "${ac_cv_c_stack_direction+set}" = set; then --- 4984,4988 ---- fi ! echo "$as_me:4986: checking stack direction for C alloca" >&5 echo $ECHO_N "checking stack direction for C alloca... $ECHO_C" >&6 if test "${ac_cv_c_stack_direction+set}" = set; then *************** *** 4933,4937 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 4935 "configure" #include "confdefs.h" int --- 4993,4997 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 4995 "configure" #include "confdefs.h" int *************** *** 4956,4968 **** _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:4958: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:4961: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:4963: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:4966: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_c_stack_direction=1 --- 5016,5028 ---- _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:5018: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:5021: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:5023: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:5026: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_c_stack_direction=1 *************** *** 4976,4980 **** fi fi ! echo "$as_me:4978: result: $ac_cv_c_stack_direction" >&5 echo "${ECHO_T}$ac_cv_c_stack_direction" >&6 --- 5036,5040 ---- fi fi ! echo "$as_me:5038: result: $ac_cv_c_stack_direction" >&5 echo "${ECHO_T}$ac_cv_c_stack_direction" >&6 *************** *** 4985,4989 **** fi ! echo "$as_me:4987: checking whether getpgrp takes no argument" >&5 echo $ECHO_N "checking whether getpgrp takes no argument... $ECHO_C" >&6 if test "${ac_cv_func_getpgrp_void+set}" = set; then --- 5045,5049 ---- fi ! echo "$as_me:5047: checking whether getpgrp takes no argument" >&5 echo $ECHO_N "checking whether getpgrp takes no argument... $ECHO_C" >&6 if test "${ac_cv_func_getpgrp_void+set}" = set; then *************** *** 4992,4996 **** # Use it with a single arg. cat >conftest.$ac_ext <<_ACEOF ! #line 4994 "configure" #include "confdefs.h" $ac_includes_default --- 5052,5056 ---- # Use it with a single arg. cat >conftest.$ac_ext <<_ACEOF ! #line 5054 "configure" #include "confdefs.h" $ac_includes_default *************** *** 5004,5017 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:5006: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:5009: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:5012: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:5015: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_func_getpgrp_1=yes --- 5064,5077 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:5066: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:5069: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:5072: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:5075: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_func_getpgrp_1=yes *************** *** 5024,5028 **** # Use it with no arg. cat >conftest.$ac_ext <<_ACEOF ! #line 5026 "configure" #include "confdefs.h" $ac_includes_default --- 5084,5088 ---- # Use it with no arg. cat >conftest.$ac_ext <<_ACEOF ! #line 5086 "configure" #include "confdefs.h" $ac_includes_default *************** *** 5036,5049 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:5038: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:5041: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:5044: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:5047: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_func_getpgrp_0=yes --- 5096,5109 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:5098: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:5101: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:5104: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:5107: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_func_getpgrp_0=yes *************** *** 5059,5068 **** no:yes) ac_cv_func_getpgrp_void=false;; *) if test "$cross_compiling" = yes; then ! { { echo "$as_me:5061: error: cannot check getpgrp if cross compiling" >&5 echo "$as_me: error: cannot check getpgrp if cross compiling" >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF ! #line 5066 "configure" #include "confdefs.h" $ac_includes_default --- 5119,5128 ---- no:yes) ac_cv_func_getpgrp_void=false;; *) if test "$cross_compiling" = yes; then ! { { echo "$as_me:5121: error: cannot check getpgrp if cross compiling" >&5 echo "$as_me: error: cannot check getpgrp if cross compiling" >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF ! #line 5126 "configure" #include "confdefs.h" $ac_includes_default *************** *** 5118,5130 **** _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:5120: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:5123: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:5125: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:5128: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_getpgrp_void=yes --- 5178,5190 ---- _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:5180: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:5183: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:5185: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:5188: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_getpgrp_void=yes *************** *** 5140,5144 **** fi ! echo "$as_me:5142: result: $ac_cv_func_getpgrp_void" >&5 echo "${ECHO_T}$ac_cv_func_getpgrp_void" >&6 if test $ac_cv_func_getpgrp_void = yes; then --- 5200,5204 ---- fi ! echo "$as_me:5202: result: $ac_cv_func_getpgrp_void" >&5 echo "${ECHO_T}$ac_cv_func_getpgrp_void" >&6 if test $ac_cv_func_getpgrp_void = yes; then *************** *** 5150,5154 **** fi ! echo "$as_me:5152: checking whether setvbuf arguments are reversed" >&5 echo $ECHO_N "checking whether setvbuf arguments are reversed... $ECHO_C" >&6 if test "${ac_cv_func_setvbuf_reversed+set}" = set; then --- 5210,5214 ---- fi ! echo "$as_me:5212: checking whether setvbuf arguments are reversed" >&5 echo $ECHO_N "checking whether setvbuf arguments are reversed... $ECHO_C" >&6 if test "${ac_cv_func_setvbuf_reversed+set}" = set; then *************** *** 5156,5165 **** else if test "$cross_compiling" = yes; then ! { { echo "$as_me:5158: error: cannot run test program while cross compiling" >&5 echo "$as_me: error: cannot run test program while cross compiling" >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF ! #line 5163 "configure" #include "confdefs.h" #include --- 5216,5225 ---- else if test "$cross_compiling" = yes; then ! { { echo "$as_me:5218: error: cannot run test program while cross compiling" >&5 echo "$as_me: error: cannot run test program while cross compiling" >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF ! #line 5223 "configure" #include "confdefs.h" #include *************** *** 5178,5190 **** _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:5180: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:5183: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:5185: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:5188: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_setvbuf_reversed=yes --- 5238,5250 ---- _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:5240: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:5243: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:5245: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:5248: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_setvbuf_reversed=yes *************** *** 5199,5203 **** rm -f core core.* *.core fi ! echo "$as_me:5201: result: $ac_cv_func_setvbuf_reversed" >&5 echo "${ECHO_T}$ac_cv_func_setvbuf_reversed" >&6 if test $ac_cv_func_setvbuf_reversed = yes; then --- 5259,5263 ---- rm -f core core.* *.core fi ! echo "$as_me:5261: result: $ac_cv_func_setvbuf_reversed" >&5 echo "${ECHO_T}$ac_cv_func_setvbuf_reversed" >&6 if test $ac_cv_func_setvbuf_reversed = yes; then *************** *** 5212,5216 **** do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` ! echo "$as_me:5214: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then --- 5272,5276 ---- do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` ! echo "$as_me:5274: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then *************** *** 5218,5222 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 5220 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, --- 5278,5282 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 5280 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, *************** *** 5249,5262 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:5251: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:5254: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:5257: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:5260: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" --- 5309,5322 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:5311: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:5314: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:5317: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:5320: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" *************** *** 5268,5272 **** rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:5270: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then --- 5328,5332 ---- rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:5330: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then *************** *** 5275,5279 **** EOF ! echo "$as_me:5277: checking for _doprnt" >&5 echo $ECHO_N "checking for _doprnt... $ECHO_C" >&6 if test "${ac_cv_func__doprnt+set}" = set; then --- 5335,5339 ---- EOF ! echo "$as_me:5337: checking for _doprnt" >&5 echo $ECHO_N "checking for _doprnt... $ECHO_C" >&6 if test "${ac_cv_func__doprnt+set}" = set; then *************** *** 5281,5285 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 5283 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, --- 5341,5345 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 5343 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, *************** *** 5312,5325 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:5314: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:5317: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:5320: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:5323: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func__doprnt=yes --- 5372,5385 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:5374: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:5377: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:5380: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:5383: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func__doprnt=yes *************** *** 5331,5335 **** rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:5333: result: $ac_cv_func__doprnt" >&5 echo "${ECHO_T}$ac_cv_func__doprnt" >&6 if test $ac_cv_func__doprnt = yes; then --- 5391,5395 ---- rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:5393: result: $ac_cv_func__doprnt" >&5 echo "${ECHO_T}$ac_cv_func__doprnt" >&6 if test $ac_cv_func__doprnt = yes; then *************** *** 5344,5348 **** done ! echo "$as_me:5346: checking for working strcoll" >&5 echo $ECHO_N "checking for working strcoll... $ECHO_C" >&6 if test "${ac_cv_func_strcoll_works+set}" = set; then --- 5404,5408 ---- done ! echo "$as_me:5406: checking for working strcoll" >&5 echo $ECHO_N "checking for working strcoll... $ECHO_C" >&6 if test "${ac_cv_func_strcoll_works+set}" = set; then *************** *** 5353,5357 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 5355 "configure" #include "confdefs.h" $ac_includes_default --- 5413,5417 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 5415 "configure" #include "confdefs.h" $ac_includes_default *************** *** 5367,5379 **** _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:5369: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:5372: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:5374: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:5377: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_strcoll_works=yes --- 5427,5439 ---- _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:5429: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:5432: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:5434: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:5437: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_strcoll_works=yes *************** *** 5387,5391 **** fi fi ! echo "$as_me:5389: result: $ac_cv_func_strcoll_works" >&5 echo "${ECHO_T}$ac_cv_func_strcoll_works" >&6 if test $ac_cv_func_strcoll_works = yes; then --- 5447,5451 ---- fi fi ! echo "$as_me:5449: result: $ac_cv_func_strcoll_works" >&5 echo "${ECHO_T}$ac_cv_func_strcoll_works" >&6 if test $ac_cv_func_strcoll_works = yes; then *************** *** 5408,5415 **** if test "$ac_cv_func_vprintf" = no; then ! echo "$as_me:5410: checking for declaration of vprintf in stdio.h" >&5 echo $ECHO_N "checking for declaration of vprintf in stdio.h... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF ! #line 5413 "configure" #include "confdefs.h" #include --- 5468,5475 ---- if test "$ac_cv_func_vprintf" = no; then ! echo "$as_me:5470: checking for declaration of vprintf in stdio.h" >&5 echo $ECHO_N "checking for declaration of vprintf in stdio.h... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF ! #line 5473 "configure" #include "confdefs.h" #include *************** *** 5422,5426 **** rm -f conftest* ! echo "$as_me:5424: result: $ac_cv_func_vprintf" >&5 echo "${ECHO_T}$ac_cv_func_vprintf" >&6 if test $ac_cv_func_vprintf = yes; then --- 5482,5486 ---- rm -f conftest* ! echo "$as_me:5484: result: $ac_cv_func_vprintf" >&5 echo "${ECHO_T}$ac_cv_func_vprintf" >&6 if test $ac_cv_func_vprintf = yes; then *************** *** 5436,5440 **** fi ! echo "$as_me:5438: checking return type of signal handlers" >&5 echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6 if test "${ac_cv_type_signal+set}" = set; then --- 5496,5500 ---- fi ! echo "$as_me:5498: checking return type of signal handlers" >&5 echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6 if test "${ac_cv_type_signal+set}" = set; then *************** *** 5442,5446 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 5444 "configure" #include "confdefs.h" #include --- 5502,5506 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 5504 "configure" #include "confdefs.h" #include *************** *** 5464,5477 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:5466: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:5469: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:5472: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:5475: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_signal=void --- 5524,5537 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:5526: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:5529: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:5532: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:5535: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_signal=void *************** *** 5483,5487 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:5485: result: $ac_cv_type_signal" >&5 echo "${ECHO_T}$ac_cv_type_signal" >&6 --- 5543,5547 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:5545: result: $ac_cv_type_signal" >&5 echo "${ECHO_T}$ac_cv_type_signal" >&6 *************** *** 5490,5494 **** EOF ! echo "$as_me:5492: checking for __setostype" >&5 echo $ECHO_N "checking for __setostype... $ECHO_C" >&6 if test "${ac_cv_func___setostype+set}" = set; then --- 5550,5554 ---- EOF ! echo "$as_me:5552: checking for __setostype" >&5 echo $ECHO_N "checking for __setostype... $ECHO_C" >&6 if test "${ac_cv_func___setostype+set}" = set; then *************** *** 5496,5500 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 5498 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, --- 5556,5560 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 5558 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, *************** *** 5527,5540 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:5529: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:5532: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:5535: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:5538: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func___setostype=yes --- 5587,5600 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:5589: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:5592: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:5595: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:5598: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func___setostype=yes *************** *** 5546,5550 **** rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:5548: result: $ac_cv_func___setostype" >&5 echo "${ECHO_T}$ac_cv_func___setostype" >&6 if test $ac_cv_func___setostype = yes; then --- 5606,5610 ---- rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:5608: result: $ac_cv_func___setostype" >&5 echo "${ECHO_T}$ac_cv_func___setostype" >&6 if test $ac_cv_func___setostype = yes; then *************** *** 5555,5559 **** fi ! echo "$as_me:5557: checking for wait3" >&5 echo $ECHO_N "checking for wait3... $ECHO_C" >&6 if test "${ac_cv_func_wait3+set}" = set; then --- 5615,5619 ---- fi ! echo "$as_me:5617: checking for wait3" >&5 echo $ECHO_N "checking for wait3... $ECHO_C" >&6 if test "${ac_cv_func_wait3+set}" = set; then *************** *** 5561,5565 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 5563 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, --- 5621,5625 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 5623 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, *************** *** 5592,5605 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:5594: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:5597: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:5600: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:5603: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_wait3=yes --- 5652,5665 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:5654: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:5657: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:5660: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:5663: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_wait3=yes *************** *** 5611,5615 **** rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:5613: result: $ac_cv_func_wait3" >&5 echo "${ECHO_T}$ac_cv_func_wait3" >&6 if test $ac_cv_func_wait3 = yes; then --- 5671,5675 ---- rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:5673: result: $ac_cv_func_wait3" >&5 echo "${ECHO_T}$ac_cv_func_wait3" >&6 if test $ac_cv_func_wait3 = yes; then *************** *** 5620,5624 **** fi ! echo "$as_me:5622: checking for mkfifo" >&5 echo $ECHO_N "checking for mkfifo... $ECHO_C" >&6 if test "${ac_cv_func_mkfifo+set}" = set; then --- 5680,5749 ---- fi ! echo "$as_me:5682: checking for isinf" >&5 ! echo $ECHO_N "checking for isinf... $ECHO_C" >&6 ! if test "${ac_cv_func_isinf+set}" = set; then ! echo $ECHO_N "(cached) $ECHO_C" >&6 ! else ! cat >conftest.$ac_ext <<_ACEOF ! #line 5688 "configure" ! #include "confdefs.h" ! /* System header to define __stub macros and hopefully few prototypes, ! which can conflict with char isinf (); below. */ ! #include ! /* Override any gcc2 internal prototype to avoid an error. */ ! #ifdef __cplusplus ! extern "C" ! #endif ! /* We use char because int might match the return type of a gcc2 ! builtin and then its argument prototype would still apply. */ ! char isinf (); ! char (*f) (); ! ! int ! main () ! { ! /* The GNU C library defines this for functions which it implements ! to always fail with ENOSYS. Some functions are actually named ! something starting with __ and the normal name is an alias. */ ! #if defined (__stub_isinf) || defined (__stub___isinf) ! choke me ! #else ! f = isinf; ! #endif ! ! ; ! return 0; ! } ! _ACEOF ! rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:5719: \"$ac_link\"") >&5 ! (eval $ac_link) 2>&5 ! ac_status=$? ! echo "$as_me:5722: \$? = $ac_status" >&5 ! (exit $ac_status); } && ! { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:5725: \"$ac_try\"") >&5 ! (eval $ac_try) 2>&5 ! ac_status=$? ! echo "$as_me:5728: \$? = $ac_status" >&5 ! (exit $ac_status); }; }; then ! ac_cv_func_isinf=yes ! else ! echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! ac_cv_func_isinf=no ! fi ! rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext ! fi ! echo "$as_me:5738: result: $ac_cv_func_isinf" >&5 ! echo "${ECHO_T}$ac_cv_func_isinf" >&6 ! if test $ac_cv_func_isinf = yes; then ! cat >>confdefs.h <<\EOF ! #define HAVE_ISINF_IN_LIBC 1 ! EOF ! ! fi ! ! echo "$as_me:5747: checking for mkfifo" >&5 echo $ECHO_N "checking for mkfifo... $ECHO_C" >&6 if test "${ac_cv_func_mkfifo+set}" = set; then *************** *** 5626,5630 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 5628 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, --- 5751,5755 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 5753 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, *************** *** 5657,5670 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:5659: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:5662: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:5665: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:5668: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_mkfifo=yes --- 5782,5795 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:5784: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:5787: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:5790: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:5793: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_mkfifo=yes *************** *** 5676,5680 **** rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:5678: result: $ac_cv_func_mkfifo" >&5 echo "${ECHO_T}$ac_cv_func_mkfifo" >&6 if test $ac_cv_func_mkfifo = yes; then --- 5801,5805 ---- rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:5803: result: $ac_cv_func_mkfifo" >&5 echo "${ECHO_T}$ac_cv_func_mkfifo" >&6 if test $ac_cv_func_mkfifo = yes; then *************** *** 5696,5700 **** do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` ! echo "$as_me:5698: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then --- 5821,5825 ---- do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` ! echo "$as_me:5823: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then *************** *** 5702,5706 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 5704 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, --- 5827,5831 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 5829 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, *************** *** 5733,5746 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:5735: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:5738: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:5741: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:5744: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" --- 5858,5871 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:5860: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:5863: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:5866: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:5869: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" *************** *** 5752,5756 **** rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:5754: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then --- 5877,5881 ---- rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:5879: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then *************** *** 5765,5769 **** do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` ! echo "$as_me:5767: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then --- 5890,5894 ---- do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` ! echo "$as_me:5892: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then *************** *** 5771,5775 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 5773 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, --- 5896,5900 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 5898 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, *************** *** 5802,5815 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:5804: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:5807: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:5810: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:5813: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" --- 5927,5940 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:5929: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:5932: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:5935: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:5938: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" *************** *** 5821,5825 **** rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:5823: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then --- 5946,5950 ---- rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:5948: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then *************** *** 5833,5844 **** done ! for ac_func in bcopy bzero confstr sysconf pathconf setenv putenv \ setlinebuf setvbuf setlocale strchr tcgetattr uname \ ulimit tzset siginterrupt memmove ttyname times \ ! getaddrinfo gethostbyname getservbyname inet_aton \ vsnprintf snprintf vasprintf asprintf fnmatch do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` ! echo "$as_me:5842: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then --- 5958,5969 ---- done ! for ac_func in bcopy bzero confstr sysconf pathconf setenv putenv unsetenv \ setlinebuf setvbuf setlocale strchr tcgetattr uname \ ulimit tzset siginterrupt memmove ttyname times \ ! getaddrinfo gethostbyname getservbyname getservent inet_aton \ vsnprintf snprintf vasprintf asprintf fnmatch do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` ! echo "$as_me:5967: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then *************** *** 5846,5850 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 5848 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, --- 5971,5975 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 5973 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, *************** *** 5877,5890 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:5879: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:5882: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:5885: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:5888: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" --- 6002,6015 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:6004: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:6007: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:6010: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:6013: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" *************** *** 5896,5900 **** rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:5898: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then --- 6021,6025 ---- rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:6023: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then *************** *** 5909,5913 **** do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` ! echo "$as_me:5911: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then --- 6034,6038 ---- do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` ! echo "$as_me:6036: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then *************** *** 5915,5919 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 5917 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, --- 6040,6044 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 6042 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, *************** *** 5946,5959 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:5948: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:5951: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:5954: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:5957: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" --- 6071,6084 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:6073: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:6076: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:6079: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:6082: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" *************** *** 5965,5969 **** rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:5967: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then --- 6090,6094 ---- rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:6092: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then *************** *** 5975,5982 **** done ! for ac_func in getcwd strcasecmp strerror strpbrk strtod do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` ! echo "$as_me:5980: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then --- 6100,6107 ---- done ! for ac_func in getcwd strcasecmp strerror strftime strpbrk memset do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` ! echo "$as_me:6105: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then *************** *** 5984,5988 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 5986 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, --- 6109,6113 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 6111 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, *************** *** 6015,6028 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:6017: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:6020: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:6023: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:6026: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" --- 6140,6153 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:6142: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:6145: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:6148: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:6151: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" *************** *** 6034,6038 **** rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:6036: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then --- 6159,6163 ---- rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:6161: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then *************** *** 6046,6053 **** done ! for ac_func in strtol strtoul strtoll strtoull strtoimax strtoumax do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` ! echo "$as_me:6051: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then --- 6171,6178 ---- done ! for ac_func in strtod strtol strtoul strtoll strtoull strtoimax strtoumax do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` ! echo "$as_me:6176: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then *************** *** 6055,6059 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 6057 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, --- 6180,6184 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 6182 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, *************** *** 6086,6099 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:6088: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:6091: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:6094: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:6097: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" --- 6211,6224 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:6213: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:6216: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:6219: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:6222: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" *************** *** 6105,6109 **** rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:6107: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then --- 6230,6234 ---- rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:6232: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then *************** *** 6117,6127 **** done ! echo "$as_me:6119: checking whether strtold is declared" >&5 ! echo $ECHO_N "checking whether strtold is declared... $ECHO_C" >&6 ! if test "${ac_cv_have_decl_strtold+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF ! #line 6125 "configure" #include "confdefs.h" $ac_includes_default --- 6242,6252 ---- done ! echo "$as_me:6244: checking whether confstr is declared" >&5 ! echo $ECHO_N "checking whether confstr is declared... $ECHO_C" >&6 ! if test "${ac_cv_have_decl_confstr+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF ! #line 6250 "configure" #include "confdefs.h" $ac_includes_default *************** *** 6129,6134 **** main () { ! #ifndef strtold ! char *p = (char *) strtold; #endif --- 6254,6259 ---- main () { ! #ifndef confstr ! char *p = (char *) confstr; #endif *************** *** 6138,6182 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:6140: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:6143: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:6146: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:6149: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! ac_cv_have_decl_strtold=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ! ac_cv_have_decl_strtold=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:6159: result: $ac_cv_have_decl_strtold" >&5 ! echo "${ECHO_T}$ac_cv_have_decl_strtold" >&6 ! if test $ac_cv_have_decl_strtold = yes; then cat >>confdefs.h <>confdefs.h <&5 ! echo $ECHO_N "checking whether confstr is declared... $ECHO_C" >&6 ! if test "${ac_cv_have_decl_confstr+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF ! #line 6180 "configure" #include "confdefs.h" $ac_includes_default --- 6263,6307 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:6265: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:6268: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:6271: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:6274: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! ac_cv_have_decl_confstr=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ! ac_cv_have_decl_confstr=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:6284: result: $ac_cv_have_decl_confstr" >&5 ! echo "${ECHO_T}$ac_cv_have_decl_confstr" >&6 ! if test $ac_cv_have_decl_confstr = yes; then cat >>confdefs.h <>confdefs.h <&5 ! echo $ECHO_N "checking whether printf is declared... $ECHO_C" >&6 ! if test "${ac_cv_have_decl_printf+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF ! #line 6305 "configure" #include "confdefs.h" $ac_includes_default *************** *** 6184,6189 **** main () { ! #ifndef confstr ! char *p = (char *) confstr; #endif --- 6309,6314 ---- main () { ! #ifndef printf ! char *p = (char *) printf; #endif *************** *** 6193,6231 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:6195: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:6198: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:6201: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:6204: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! ac_cv_have_decl_confstr=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ! ac_cv_have_decl_confstr=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:6214: result: $ac_cv_have_decl_confstr" >&5 ! echo "${ECHO_T}$ac_cv_have_decl_confstr" >&6 ! if test $ac_cv_have_decl_confstr = yes; then cat >>confdefs.h <>confdefs.h <&5 echo $ECHO_N "checking whether sbrk is declared... $ECHO_C" >&6 if test "${ac_cv_have_decl_sbrk+set}" = set; then --- 6318,6356 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:6320: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:6323: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:6326: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:6329: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! ac_cv_have_decl_printf=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ! ac_cv_have_decl_printf=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:6339: result: $ac_cv_have_decl_printf" >&5 ! echo "${ECHO_T}$ac_cv_have_decl_printf" >&6 ! if test $ac_cv_have_decl_printf = yes; then cat >>confdefs.h <>confdefs.h <&5 echo $ECHO_N "checking whether sbrk is declared... $ECHO_C" >&6 if test "${ac_cv_have_decl_sbrk+set}" = set; then *************** *** 6233,6237 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 6235 "configure" #include "confdefs.h" $ac_includes_default --- 6358,6362 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 6360 "configure" #include "confdefs.h" $ac_includes_default *************** *** 6248,6261 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:6250: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:6253: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:6256: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:6259: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_have_decl_sbrk=yes --- 6373,6386 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:6375: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:6378: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:6381: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:6384: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_have_decl_sbrk=yes *************** *** 6267,6271 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:6269: result: $ac_cv_have_decl_sbrk" >&5 echo "${ECHO_T}$ac_cv_have_decl_sbrk" >&6 if test $ac_cv_have_decl_sbrk = yes; then --- 6392,6396 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:6394: result: $ac_cv_have_decl_sbrk" >&5 echo "${ECHO_T}$ac_cv_have_decl_sbrk" >&6 if test $ac_cv_have_decl_sbrk = yes; then *************** *** 6282,6292 **** fi ! echo "$as_me:6284: checking whether printf is declared" >&5 ! echo $ECHO_N "checking whether printf is declared... $ECHO_C" >&6 ! if test "${ac_cv_have_decl_printf+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF ! #line 6290 "configure" #include "confdefs.h" $ac_includes_default --- 6407,6417 ---- fi ! echo "$as_me:6409: checking whether strcpy is declared" >&5 ! echo $ECHO_N "checking whether strcpy is declared... $ECHO_C" >&6 ! if test "${ac_cv_have_decl_strcpy+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF ! #line 6415 "configure" #include "confdefs.h" $ac_includes_default *************** *** 6294,6299 **** main () { ! #ifndef printf ! char *p = (char *) printf; #endif --- 6419,6424 ---- main () { ! #ifndef strcpy ! char *p = (char *) strcpy; #endif *************** *** 6303,6341 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:6305: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:6308: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:6311: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:6314: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! ac_cv_have_decl_printf=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ! ac_cv_have_decl_printf=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:6324: result: $ac_cv_have_decl_printf" >&5 ! echo "${ECHO_T}$ac_cv_have_decl_printf" >&6 ! if test $ac_cv_have_decl_printf = yes; then cat >>confdefs.h <>confdefs.h <&5 echo $ECHO_N "checking whether strsignal is declared... $ECHO_C" >&6 if test "${ac_cv_have_decl_strsignal+set}" = set; then --- 6428,6466 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:6430: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:6433: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:6436: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:6439: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! ac_cv_have_decl_strcpy=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 ! ac_cv_have_decl_strcpy=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:6449: result: $ac_cv_have_decl_strcpy" >&5 ! echo "${ECHO_T}$ac_cv_have_decl_strcpy" >&6 ! if test $ac_cv_have_decl_strcpy = yes; then cat >>confdefs.h <>confdefs.h <&5 echo $ECHO_N "checking whether strsignal is declared... $ECHO_C" >&6 if test "${ac_cv_have_decl_strsignal+set}" = set; then *************** *** 6343,6347 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 6345 "configure" #include "confdefs.h" $ac_includes_default --- 6468,6472 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 6470 "configure" #include "confdefs.h" $ac_includes_default *************** *** 6358,6371 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:6360: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:6363: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:6366: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:6369: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_have_decl_strsignal=yes --- 6483,6496 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:6485: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:6488: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:6491: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:6494: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_have_decl_strsignal=yes *************** *** 6377,6381 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:6379: result: $ac_cv_have_decl_strsignal" >&5 echo "${ECHO_T}$ac_cv_have_decl_strsignal" >&6 if test $ac_cv_have_decl_strsignal = yes; then --- 6502,6506 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:6504: result: $ac_cv_have_decl_strsignal" >&5 echo "${ECHO_T}$ac_cv_have_decl_strsignal" >&6 if test $ac_cv_have_decl_strsignal = yes; then *************** *** 6392,6396 **** fi ! echo "$as_me:6394: checking for declaration of strtoimax" >&5 echo $ECHO_N "checking for declaration of strtoimax... $ECHO_C" >&6 if test "${bash_cv_decl_strtoimax+set}" = set; then --- 6517,6576 ---- fi ! echo "$as_me:6519: checking whether strtold is declared" >&5 ! echo $ECHO_N "checking whether strtold is declared... $ECHO_C" >&6 ! if test "${ac_cv_have_decl_strtold+set}" = set; then ! echo $ECHO_N "(cached) $ECHO_C" >&6 ! else ! cat >conftest.$ac_ext <<_ACEOF ! #line 6525 "configure" ! #include "confdefs.h" ! $ac_includes_default ! int ! main () ! { ! #ifndef strtold ! char *p = (char *) strtold; ! #endif ! ! ; ! return 0; ! } ! _ACEOF ! rm -f conftest.$ac_objext ! if { (eval echo "$as_me:6540: \"$ac_compile\"") >&5 ! (eval $ac_compile) 2>&5 ! ac_status=$? ! echo "$as_me:6543: \$? = $ac_status" >&5 ! (exit $ac_status); } && ! { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:6546: \"$ac_try\"") >&5 ! (eval $ac_try) 2>&5 ! ac_status=$? ! echo "$as_me:6549: \$? = $ac_status" >&5 ! (exit $ac_status); }; }; then ! ac_cv_have_decl_strtold=yes ! else ! echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! ac_cv_have_decl_strtold=no ! fi ! rm -f conftest.$ac_objext conftest.$ac_ext ! fi ! echo "$as_me:6559: result: $ac_cv_have_decl_strtold" >&5 ! echo "${ECHO_T}$ac_cv_have_decl_strtold" >&6 ! if test $ac_cv_have_decl_strtold = yes; then ! ! cat >>confdefs.h <>confdefs.h <&5 echo $ECHO_N "checking for declaration of strtoimax... $ECHO_C" >&6 if test "${bash_cv_decl_strtoimax+set}" = set; then *************** *** 6398,6402 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 6400 "configure" #include "confdefs.h" --- 6578,6582 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 6580 "configure" #include "confdefs.h" *************** *** 6417,6430 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:6419: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:6422: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:6425: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:6428: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_decl_strtoimax=yes --- 6597,6610 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:6599: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:6602: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:6605: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:6608: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_decl_strtoimax=yes *************** *** 6436,6440 **** rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:6438: result: $bash_cv_decl_strtoimax" >&5 echo "${ECHO_T}$bash_cv_decl_strtoimax" >&6 bash_tr_func=HAVE_DECL_`echo strtoimax | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` --- 6616,6620 ---- rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:6618: result: $bash_cv_decl_strtoimax" >&5 echo "${ECHO_T}$bash_cv_decl_strtoimax" >&6 bash_tr_func=HAVE_DECL_`echo strtoimax | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` *************** *** 6451,6455 **** fi ! echo "$as_me:6453: checking for declaration of strtol" >&5 echo $ECHO_N "checking for declaration of strtol... $ECHO_C" >&6 if test "${bash_cv_decl_strtol+set}" = set; then --- 6631,6635 ---- fi ! echo "$as_me:6633: checking for declaration of strtol" >&5 echo $ECHO_N "checking for declaration of strtol... $ECHO_C" >&6 if test "${bash_cv_decl_strtol+set}" = set; then *************** *** 6457,6461 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 6459 "configure" #include "confdefs.h" --- 6637,6641 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 6639 "configure" #include "confdefs.h" *************** *** 6476,6489 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:6478: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:6481: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:6484: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:6487: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_decl_strtol=yes --- 6656,6669 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:6658: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:6661: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:6664: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:6667: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_decl_strtol=yes *************** *** 6495,6499 **** rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:6497: result: $bash_cv_decl_strtol" >&5 echo "${ECHO_T}$bash_cv_decl_strtol" >&6 bash_tr_func=HAVE_DECL_`echo strtol | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` --- 6675,6679 ---- rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:6677: result: $bash_cv_decl_strtol" >&5 echo "${ECHO_T}$bash_cv_decl_strtol" >&6 bash_tr_func=HAVE_DECL_`echo strtol | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` *************** *** 6510,6514 **** fi ! echo "$as_me:6512: checking for declaration of strtoll" >&5 echo $ECHO_N "checking for declaration of strtoll... $ECHO_C" >&6 if test "${bash_cv_decl_strtoll+set}" = set; then --- 6690,6694 ---- fi ! echo "$as_me:6692: checking for declaration of strtoll" >&5 echo $ECHO_N "checking for declaration of strtoll... $ECHO_C" >&6 if test "${bash_cv_decl_strtoll+set}" = set; then *************** *** 6516,6520 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 6518 "configure" #include "confdefs.h" --- 6696,6700 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 6698 "configure" #include "confdefs.h" *************** *** 6535,6548 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:6537: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:6540: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:6543: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:6546: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_decl_strtoll=yes --- 6715,6728 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:6717: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:6720: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:6723: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:6726: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_decl_strtoll=yes *************** *** 6554,6558 **** rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:6556: result: $bash_cv_decl_strtoll" >&5 echo "${ECHO_T}$bash_cv_decl_strtoll" >&6 bash_tr_func=HAVE_DECL_`echo strtoll | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` --- 6734,6738 ---- rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:6736: result: $bash_cv_decl_strtoll" >&5 echo "${ECHO_T}$bash_cv_decl_strtoll" >&6 bash_tr_func=HAVE_DECL_`echo strtoll | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` *************** *** 6569,6573 **** fi ! echo "$as_me:6571: checking for declaration of strtoul" >&5 echo $ECHO_N "checking for declaration of strtoul... $ECHO_C" >&6 if test "${bash_cv_decl_strtoul+set}" = set; then --- 6749,6753 ---- fi ! echo "$as_me:6751: checking for declaration of strtoul" >&5 echo $ECHO_N "checking for declaration of strtoul... $ECHO_C" >&6 if test "${bash_cv_decl_strtoul+set}" = set; then *************** *** 6575,6579 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 6577 "configure" #include "confdefs.h" --- 6755,6759 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 6757 "configure" #include "confdefs.h" *************** *** 6594,6607 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:6596: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:6599: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:6602: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:6605: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_decl_strtoul=yes --- 6774,6787 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:6776: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:6779: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:6782: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:6785: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_decl_strtoul=yes *************** *** 6613,6617 **** rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:6615: result: $bash_cv_decl_strtoul" >&5 echo "${ECHO_T}$bash_cv_decl_strtoul" >&6 bash_tr_func=HAVE_DECL_`echo strtoul | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` --- 6793,6797 ---- rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:6795: result: $bash_cv_decl_strtoul" >&5 echo "${ECHO_T}$bash_cv_decl_strtoul" >&6 bash_tr_func=HAVE_DECL_`echo strtoul | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` *************** *** 6628,6632 **** fi ! echo "$as_me:6630: checking for declaration of strtoull" >&5 echo $ECHO_N "checking for declaration of strtoull... $ECHO_C" >&6 if test "${bash_cv_decl_strtoull+set}" = set; then --- 6808,6812 ---- fi ! echo "$as_me:6810: checking for declaration of strtoull" >&5 echo $ECHO_N "checking for declaration of strtoull... $ECHO_C" >&6 if test "${bash_cv_decl_strtoull+set}" = set; then *************** *** 6634,6638 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 6636 "configure" #include "confdefs.h" --- 6814,6818 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 6816 "configure" #include "confdefs.h" *************** *** 6653,6666 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:6655: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:6658: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:6661: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:6664: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_decl_strtoull=yes --- 6833,6846 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:6835: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:6838: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:6841: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:6844: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_decl_strtoull=yes *************** *** 6672,6676 **** rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:6674: result: $bash_cv_decl_strtoull" >&5 echo "${ECHO_T}$bash_cv_decl_strtoull" >&6 bash_tr_func=HAVE_DECL_`echo strtoull | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` --- 6852,6856 ---- rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:6854: result: $bash_cv_decl_strtoull" >&5 echo "${ECHO_T}$bash_cv_decl_strtoull" >&6 bash_tr_func=HAVE_DECL_`echo strtoull | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` *************** *** 6687,6691 **** fi ! echo "$as_me:6689: checking for declaration of strtoumax" >&5 echo $ECHO_N "checking for declaration of strtoumax... $ECHO_C" >&6 if test "${bash_cv_decl_strtoumax+set}" = set; then --- 6867,6871 ---- fi ! echo "$as_me:6869: checking for declaration of strtoumax" >&5 echo $ECHO_N "checking for declaration of strtoumax... $ECHO_C" >&6 if test "${bash_cv_decl_strtoumax+set}" = set; then *************** *** 6693,6697 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 6695 "configure" #include "confdefs.h" --- 6873,6877 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 6875 "configure" #include "confdefs.h" *************** *** 6712,6725 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:6714: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:6717: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:6720: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:6723: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_decl_strtoumax=yes --- 6892,6905 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:6894: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:6897: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:6900: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:6903: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_decl_strtoumax=yes *************** *** 6731,6735 **** rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:6733: result: $bash_cv_decl_strtoumax" >&5 echo "${ECHO_T}$bash_cv_decl_strtoumax" >&6 bash_tr_func=HAVE_DECL_`echo strtoumax | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` --- 6911,6915 ---- rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:6913: result: $bash_cv_decl_strtoumax" >&5 echo "${ECHO_T}$bash_cv_decl_strtoumax" >&6 bash_tr_func=HAVE_DECL_`echo strtoumax | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` *************** *** 6746,6753 **** fi ! for ac_header in libintl.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` ! echo "$as_me:6751: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then --- 6926,6933 ---- fi ! for ac_header in sys/time.h unistd.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` ! echo "$as_me:6931: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then *************** *** 6755,6763 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 6757 "configure" #include "confdefs.h" #include <$ac_header> _ACEOF ! if { (eval echo "$as_me:6761: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? --- 6935,6943 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 6937 "configure" #include "confdefs.h" #include <$ac_header> _ACEOF ! if { (eval echo "$as_me:6941: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? *************** *** 6765,6769 **** rm -f conftest.er1 cat conftest.err >&5 ! echo "$as_me:6767: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then --- 6945,6949 ---- rm -f conftest.er1 cat conftest.err >&5 ! echo "$as_me:6947: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then *************** *** 6784,6788 **** rm -f conftest.err conftest.$ac_ext fi ! echo "$as_me:6786: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 if test `eval echo '${'$as_ac_Header'}'` = yes; then --- 6964,6968 ---- rm -f conftest.err conftest.$ac_ext fi ! echo "$as_me:6966: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 if test `eval echo '${'$as_ac_Header'}'` = yes; then *************** *** 6794,6801 **** done ! for ac_func in gettext textdomain bindtextdomain do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` ! echo "$as_me:6799: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then --- 6974,6981 ---- done ! for ac_func in alarm do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` ! echo "$as_me:6979: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then *************** *** 6803,6807 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 6805 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, --- 6983,6987 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 6985 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, *************** *** 6834,6847 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:6836: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:6839: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:6842: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:6845: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" --- 7014,7027 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:7016: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:7019: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:7022: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:7025: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" *************** *** 6853,6857 **** rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:6855: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then --- 7033,7037 ---- rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:7035: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then *************** *** 6863,6905 **** done ! if test "$ac_cv_func_bindtextdomain" = "no"; then ! ! echo "$as_me:6867: checking for bindtextdomain in -lintl" >&5 ! echo $ECHO_N "checking for bindtextdomain in -lintl... $ECHO_C" >&6 ! if test "${ac_cv_lib_intl_bindtextdomain+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ! ac_check_lib_save_LIBS=$LIBS ! LIBS="-lintl $LIBS" ! cat >conftest.$ac_ext <<_ACEOF ! #line 6875 "configure" #include "confdefs.h" ! /* Override any gcc2 internal prototype to avoid an error. */ ! #ifdef __cplusplus ! extern "C" #endif ! /* We use char because int might match the return type of a gcc2 ! builtin and then its argument prototype would still apply. */ ! char bindtextdomain (); int main () { ! bindtextdomain (); ! ; ! return 0; } _ACEOF ! rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:6894: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:6897: \$? = $ac_status" >&5 ! (exit $ac_status); } && ! { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:6900: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:6903: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_intl_bindtextdomain=yes --- 7043,7386 ---- done ! echo "$as_me:7045: checking for working mktime" >&5 ! echo $ECHO_N "checking for working mktime... $ECHO_C" >&6 ! if test "${ac_cv_func_working_mktime+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ! if test "$cross_compiling" = yes; then ! ac_cv_func_working_mktime=no ! else ! cat >conftest.$ac_ext <<_ACEOF ! #line 7054 "configure" #include "confdefs.h" + /* Test program from Paul Eggert and Tony Leneis. */ + #if TIME_WITH_SYS_TIME + # include + # include + #else + # if HAVE_SYS_TIME_H + # include + # else + # include + # endif + #endif ! #if HAVE_UNISTD_H ! # include #endif ! ! #if !HAVE_ALARM ! # define alarm(X) /* empty */ ! #endif ! ! /* Work around redefinition to rpl_putenv by other config tests. */ ! #undef putenv ! ! static time_t time_t_max; ! ! /* Values we'll use to set the TZ environment variable. */ ! static const char *const tz_strings[] = { ! (const char *) 0, "TZ=GMT0", "TZ=JST-9", ! "TZ=EST+3EDT+2,M10.1.0/00:00:00,M2.3.0/00:00:00" ! }; ! #define N_STRINGS (sizeof (tz_strings) / sizeof (tz_strings[0])) ! ! /* Fail if mktime fails to convert a date in the spring-forward gap. ! Based on a problem report from Andreas Jaeger. */ ! static void ! spring_forward_gap () ! { ! /* glibc (up to about 1998-10-07) failed this test. */ ! struct tm tm; ! ! /* Use the portable POSIX.1 specification "TZ=PST8PDT,M4.1.0,M10.5.0" ! instead of "TZ=America/Vancouver" in order to detect the bug even ! on systems that don't support the Olson extension, or don't have the ! full zoneinfo tables installed. */ ! putenv ("TZ=PST8PDT,M4.1.0,M10.5.0"); ! ! tm.tm_year = 98; ! tm.tm_mon = 3; ! tm.tm_mday = 5; ! tm.tm_hour = 2; ! tm.tm_min = 0; ! tm.tm_sec = 0; ! tm.tm_isdst = -1; ! if (mktime (&tm) == (time_t)-1) ! exit (1); ! } ! ! static void ! mktime_test (now) ! time_t now; ! { ! struct tm *lt; ! if ((lt = localtime (&now)) && mktime (lt) != now) ! exit (1); ! now = time_t_max - now; ! if ((lt = localtime (&now)) && mktime (lt) != now) ! exit (1); ! } ! ! static void ! irix_6_4_bug () ! { ! /* Based on code from Ariel Faigon. */ ! struct tm tm; ! tm.tm_year = 96; ! tm.tm_mon = 3; ! tm.tm_mday = 0; ! tm.tm_hour = 0; ! tm.tm_min = 0; ! tm.tm_sec = 0; ! tm.tm_isdst = -1; ! mktime (&tm); ! if (tm.tm_mon != 2 || tm.tm_mday != 31) ! exit (1); ! } ! ! static void ! bigtime_test (j) ! int j; ! { ! struct tm tm; ! time_t now; ! tm.tm_year = tm.tm_mon = tm.tm_mday = tm.tm_hour = tm.tm_min = tm.tm_sec = j; ! now = mktime (&tm); ! if (now != (time_t) -1) ! { ! struct tm *lt = localtime (&now); ! if (! (lt ! && lt->tm_year == tm.tm_year ! && lt->tm_mon == tm.tm_mon ! && lt->tm_mday == tm.tm_mday ! && lt->tm_hour == tm.tm_hour ! && lt->tm_min == tm.tm_min ! && lt->tm_sec == tm.tm_sec ! && lt->tm_yday == tm.tm_yday ! && lt->tm_wday == tm.tm_wday ! && ((lt->tm_isdst < 0 ? -1 : 0 < lt->tm_isdst) ! == (tm.tm_isdst < 0 ? -1 : 0 < tm.tm_isdst)))) ! exit (1); ! } ! } ! int main () { ! time_t t, delta; ! int i, j; ! ! /* This test makes some buggy mktime implementations loop. ! Give up after 60 seconds; a mktime slower than that ! isn't worth using anyway. */ ! alarm (60); ! ! for (time_t_max = 1; 0 < time_t_max; time_t_max *= 2) ! continue; ! time_t_max--; ! delta = time_t_max / 997; /* a suitable prime number */ ! for (i = 0; i < N_STRINGS; i++) ! { ! if (tz_strings[i]) ! putenv (tz_strings[i]); ! ! for (t = 0; t <= time_t_max - delta; t += delta) ! mktime_test (t); ! mktime_test ((time_t) 60 * 60); ! mktime_test ((time_t) 60 * 60 * 24); ! ! for (j = 1; 0 < j; j *= 2) ! bigtime_test (j); ! bigtime_test (j - 1); ! } ! irix_6_4_bug (); ! spring_forward_gap (); ! exit (0); } _ACEOF ! rm -f conftest$ac_exeext ! if { (eval echo "$as_me:7203: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:7206: \$? = $ac_status" >&5 ! (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:7208: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:7211: \$? = $ac_status" >&5 ! (exit $ac_status); }; }; then ! ac_cv_func_working_mktime=yes ! else ! echo "$as_me: program exited with status $ac_status" >&5 ! echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! ac_cv_func_working_mktime=no ! fi ! rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext ! fi ! fi ! echo "$as_me:7223: result: $ac_cv_func_working_mktime" >&5 ! echo "${ECHO_T}$ac_cv_func_working_mktime" >&6 ! if test $ac_cv_func_working_mktime = no; then ! LIBOBJS="$LIBOBJS mktime.$ac_objext" ! fi ! ! for ac_header in libintl.h ! do ! as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` ! echo "$as_me:7232: checking for $ac_header" >&5 ! echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 ! if eval "test \"\${$as_ac_Header+set}\" = set"; then ! echo $ECHO_N "(cached) $ECHO_C" >&6 ! else ! cat >conftest.$ac_ext <<_ACEOF ! #line 7238 "configure" ! #include "confdefs.h" ! #include <$ac_header> ! _ACEOF ! if { (eval echo "$as_me:7242: \"$ac_cpp conftest.$ac_ext\"") >&5 ! (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ! ac_status=$? ! egrep -v '^ *\+' conftest.er1 >conftest.err ! rm -f conftest.er1 ! cat conftest.err >&5 ! echo "$as_me:7248: \$? = $ac_status" >&5 ! (exit $ac_status); } >/dev/null; then ! if test -s conftest.err; then ! ac_cpp_err=$ac_c_preproc_warn_flag ! else ! ac_cpp_err= ! fi ! else ! ac_cpp_err=yes ! fi ! if test -z "$ac_cpp_err"; then ! eval "$as_ac_Header=yes" ! else ! echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! eval "$as_ac_Header=no" ! fi ! rm -f conftest.err conftest.$ac_ext ! fi ! echo "$as_me:7267: result: `eval echo '${'$as_ac_Header'}'`" >&5 ! echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 ! if test `eval echo '${'$as_ac_Header'}'` = yes; then ! cat >>confdefs.h <&5 ! echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 ! if eval "test \"\${$as_ac_var+set}\" = set"; then ! echo $ECHO_N "(cached) $ECHO_C" >&6 ! else ! cat >conftest.$ac_ext <<_ACEOF ! #line 7286 "configure" ! #include "confdefs.h" ! /* System header to define __stub macros and hopefully few prototypes, ! which can conflict with char $ac_func (); below. */ ! #include ! /* Override any gcc2 internal prototype to avoid an error. */ ! #ifdef __cplusplus ! extern "C" ! #endif ! /* We use char because int might match the return type of a gcc2 ! builtin and then its argument prototype would still apply. */ ! char $ac_func (); ! char (*f) (); ! ! int ! main () ! { ! /* The GNU C library defines this for functions which it implements ! to always fail with ENOSYS. Some functions are actually named ! something starting with __ and the normal name is an alias. */ ! #if defined (__stub_$ac_func) || defined (__stub___$ac_func) ! choke me ! #else ! f = $ac_func; ! #endif ! ! ; ! return 0; ! } ! _ACEOF ! rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:7317: \"$ac_link\"") >&5 ! (eval $ac_link) 2>&5 ! ac_status=$? ! echo "$as_me:7320: \$? = $ac_status" >&5 ! (exit $ac_status); } && ! { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:7323: \"$ac_try\"") >&5 ! (eval $ac_try) 2>&5 ! ac_status=$? ! echo "$as_me:7326: \$? = $ac_status" >&5 ! (exit $ac_status); }; }; then ! eval "$as_ac_var=yes" ! else ! echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! eval "$as_ac_var=no" ! fi ! rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext ! fi ! echo "$as_me:7336: result: `eval echo '${'$as_ac_var'}'`" >&5 ! echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 ! if test `eval echo '${'$as_ac_var'}'` = yes; then ! cat >>confdefs.h <&5 ! echo $ECHO_N "checking for bindtextdomain in -lintl... $ECHO_C" >&6 ! if test "${ac_cv_lib_intl_bindtextdomain+set}" = set; then ! echo $ECHO_N "(cached) $ECHO_C" >&6 ! else ! ac_check_lib_save_LIBS=$LIBS ! LIBS="-lintl $LIBS" ! cat >conftest.$ac_ext <<_ACEOF ! #line 7356 "configure" ! #include "confdefs.h" ! ! /* Override any gcc2 internal prototype to avoid an error. */ ! #ifdef __cplusplus ! extern "C" ! #endif ! /* We use char because int might match the return type of a gcc2 ! builtin and then its argument prototype would still apply. */ ! char bindtextdomain (); ! int ! main () ! { ! bindtextdomain (); ! ; ! return 0; ! } ! _ACEOF ! rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:7375: \"$ac_link\"") >&5 ! (eval $ac_link) 2>&5 ! ac_status=$? ! echo "$as_me:7378: \$? = $ac_status" >&5 ! (exit $ac_status); } && ! { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:7381: \"$ac_try\"") >&5 ! (eval $ac_try) 2>&5 ! ac_status=$? ! echo "$as_me:7384: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_intl_bindtextdomain=yes *************** *** 6912,6916 **** LIBS=$ac_check_lib_save_LIBS fi ! echo "$as_me:6914: result: $ac_cv_lib_intl_bindtextdomain" >&5 echo "${ECHO_T}$ac_cv_lib_intl_bindtextdomain" >&6 if test $ac_cv_lib_intl_bindtextdomain = yes; then --- 7393,7397 ---- LIBS=$ac_check_lib_save_LIBS fi ! echo "$as_me:7395: result: $ac_cv_lib_intl_bindtextdomain" >&5 echo "${ECHO_T}$ac_cv_lib_intl_bindtextdomain" >&6 if test $ac_cv_lib_intl_bindtextdomain = yes; then *************** *** 6928,6932 **** do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` ! echo "$as_me:6930: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then --- 7409,7413 ---- do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` ! echo "$as_me:7411: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then *************** *** 6934,6938 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 6936 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, --- 7415,7419 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 7417 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, *************** *** 6965,6978 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:6967: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:6970: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:6973: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:6976: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" --- 7446,7459 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:7448: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:7451: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:7454: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:7457: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" *************** *** 6984,6988 **** rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:6986: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then --- 7465,7469 ---- rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:7467: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then *************** *** 6997,7003 **** fi if test "$opt_static_link" != yes; then ! echo "$as_me:7001: checking for dlopen in -ldl" >&5 echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6 if test "${ac_cv_lib_dl_dlopen+set}" = set; then --- 7478,7856 ---- fi + for ac_header in wctype.h + do + as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` + echo "$as_me:7483: checking for $ac_header" >&5 + echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 + if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else + cat >conftest.$ac_ext <<_ACEOF + #line 7489 "configure" + #include "confdefs.h" + #include <$ac_header> + _ACEOF + if { (eval echo "$as_me:7493: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + egrep -v '^ *\+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:7499: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + else + ac_cpp_err= + fi + else + ac_cpp_err=yes + fi + if test -z "$ac_cpp_err"; then + eval "$as_ac_Header=yes" + else + echo "$as_me: failed program was:" >&5 + cat conftest.$ac_ext >&5 + eval "$as_ac_Header=no" + fi + rm -f conftest.err conftest.$ac_ext + fi + echo "$as_me:7518: result: `eval echo '${'$as_ac_Header'}'`" >&5 + echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 + if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <&5 + echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 + if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else + cat >conftest.$ac_ext <<_ACEOF + #line 7537 "configure" + #include "confdefs.h" + #include <$ac_header> + _ACEOF + if { (eval echo "$as_me:7541: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + egrep -v '^ *\+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:7547: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + else + ac_cpp_err= + fi + else + ac_cpp_err=yes + fi + if test -z "$ac_cpp_err"; then + eval "$as_ac_Header=yes" + else + echo "$as_me: failed program was:" >&5 + cat conftest.$ac_ext >&5 + eval "$as_ac_Header=no" + fi + rm -f conftest.err conftest.$ac_ext + fi + echo "$as_me:7566: result: `eval echo '${'$as_ac_Header'}'`" >&5 + echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 + if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <&5 + echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 + if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else + cat >conftest.$ac_ext <<_ACEOF + #line 7585 "configure" + #include "confdefs.h" + #include <$ac_header> + _ACEOF + if { (eval echo "$as_me:7589: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + egrep -v '^ *\+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:7595: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + else + ac_cpp_err= + fi + else + ac_cpp_err=yes + fi + if test -z "$ac_cpp_err"; then + eval "$as_ac_Header=yes" + else + echo "$as_me: failed program was:" >&5 + cat conftest.$ac_ext >&5 + eval "$as_ac_Header=no" + fi + rm -f conftest.err conftest.$ac_ext + fi + echo "$as_me:7614: result: `eval echo '${'$as_ac_Header'}'`" >&5 + echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 + if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <&5 + echo $ECHO_N "checking for mbsrtowcs... $ECHO_C" >&6 + if test "${ac_cv_func_mbsrtowcs+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else + cat >conftest.$ac_ext <<_ACEOF + #line 7630 "configure" + #include "confdefs.h" + /* System header to define __stub macros and hopefully few prototypes, + which can conflict with char mbsrtowcs (); below. */ + #include + /* Override any gcc2 internal prototype to avoid an error. */ + #ifdef __cplusplus + extern "C" + #endif + /* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ + char mbsrtowcs (); + char (*f) (); + + int + main () + { + /* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ + #if defined (__stub_mbsrtowcs) || defined (__stub___mbsrtowcs) + choke me + #else + f = mbsrtowcs; + #endif + + ; + return 0; + } + _ACEOF + rm -f conftest.$ac_objext conftest$ac_exeext + if { (eval echo "$as_me:7661: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:7664: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:7667: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:7670: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_func_mbsrtowcs=yes + else + echo "$as_me: failed program was:" >&5 + cat conftest.$ac_ext >&5 + ac_cv_func_mbsrtowcs=no + fi + rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext + fi + echo "$as_me:7680: result: $ac_cv_func_mbsrtowcs" >&5 + echo "${ECHO_T}$ac_cv_func_mbsrtowcs" >&6 + if test $ac_cv_func_mbsrtowcs = yes; then + cat >>confdefs.h <<\EOF + #define HAVE_MBSRTOWCS 1 + EOF + + fi + + echo "$as_me:7689: checking for wcwidth" >&5 + echo $ECHO_N "checking for wcwidth... $ECHO_C" >&6 + if test "${ac_cv_func_wcwidth+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else + cat >conftest.$ac_ext <<_ACEOF + #line 7695 "configure" + #include "confdefs.h" + /* System header to define __stub macros and hopefully few prototypes, + which can conflict with char wcwidth (); below. */ + #include + /* Override any gcc2 internal prototype to avoid an error. */ + #ifdef __cplusplus + extern "C" + #endif + /* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ + char wcwidth (); + char (*f) (); + + int + main () + { + /* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ + #if defined (__stub_wcwidth) || defined (__stub___wcwidth) + choke me + #else + f = wcwidth; + #endif + + ; + return 0; + } + _ACEOF + rm -f conftest.$ac_objext conftest$ac_exeext + if { (eval echo "$as_me:7726: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:7729: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:7732: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:7735: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_func_wcwidth=yes + else + echo "$as_me: failed program was:" >&5 + cat conftest.$ac_ext >&5 + ac_cv_func_wcwidth=no + fi + rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext + fi + echo "$as_me:7745: result: $ac_cv_func_wcwidth" >&5 + echo "${ECHO_T}$ac_cv_func_wcwidth" >&6 + if test $ac_cv_func_wcwidth = yes; then + cat >>confdefs.h <<\EOF + #define HAVE_WCWIDTH 1 + EOF + + fi + + echo "$as_me:7754: checking for mbstate_t" >&5 + echo $ECHO_N "checking for mbstate_t... $ECHO_C" >&6 + if test "${bash_cv_have_mbstate_t+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else + if test "$cross_compiling" = yes; then + { { echo "$as_me:7760: error: cannot run test program while cross compiling" >&5 + echo "$as_me: error: cannot run test program while cross compiling" >&2;} + { (exit 1); exit 1; }; } + else + cat >conftest.$ac_ext <<_ACEOF + #line 7765 "configure" + #include "confdefs.h" + + #include + int + main () + { + mbstate_t ps; + return 0; + } + _ACEOF + rm -f conftest$ac_exeext + if { (eval echo "$as_me:7777: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:7780: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (eval echo "$as_me:7782: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:7785: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + bash_cv_have_mbstate_t=yes + else + echo "$as_me: program exited with status $ac_status" >&5 + echo "$as_me: failed program was:" >&5 + cat conftest.$ac_ext >&5 + bash_cv_have_mbstate_t=no + fi + rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext + fi + fi + echo "$as_me:7797: result: $bash_cv_have_mbstate_t" >&5 + echo "${ECHO_T}$bash_cv_have_mbstate_t" >&6 + if test $bash_cv_have_mbstate_t = yes; then + cat >>confdefs.h <<\EOF + #define HAVE_MBSTATE_T 1 + EOF + + fi + + echo "$as_me:7806: checking for nl_langinfo and CODESET" >&5 + echo $ECHO_N "checking for nl_langinfo and CODESET... $ECHO_C" >&6 + if test "${bash_cv_langinfo_codeset+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else + cat >conftest.$ac_ext <<_ACEOF + #line 7812 "configure" + #include "confdefs.h" + #include + int + main () + { + char* cs = nl_langinfo(CODESET); + ; + return 0; + } + _ACEOF + rm -f conftest.$ac_objext conftest$ac_exeext + if { (eval echo "$as_me:7824: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:7827: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:7830: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:7833: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + bash_cv_langinfo_codeset=yes + else + echo "$as_me: failed program was:" >&5 + cat conftest.$ac_ext >&5 + bash_cv_langinfo_codeset=no + fi + rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext + fi + echo "$as_me:7843: result: $bash_cv_langinfo_codeset" >&5 + echo "${ECHO_T}$bash_cv_langinfo_codeset" >&6 + if test $bash_cv_langinfo_codeset = yes; then + cat >>confdefs.h <<\EOF + #define HAVE_LANGINFO_CODESET 1 + EOF + + fi + if test "$opt_static_link" != yes; then ! echo "$as_me:7854: checking for dlopen in -ldl" >&5 echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6 if test "${ac_cv_lib_dl_dlopen+set}" = set; then *************** *** 7007,7011 **** LIBS="-ldl $LIBS" cat >conftest.$ac_ext <<_ACEOF ! #line 7009 "configure" #include "confdefs.h" --- 7860,7864 ---- LIBS="-ldl $LIBS" cat >conftest.$ac_ext <<_ACEOF ! #line 7862 "configure" #include "confdefs.h" *************** *** 7026,7039 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:7028: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:7031: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:7034: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:7037: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_dl_dlopen=yes --- 7879,7892 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:7881: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:7884: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:7887: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:7890: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_dl_dlopen=yes *************** *** 7046,7050 **** LIBS=$ac_check_lib_save_LIBS fi ! echo "$as_me:7048: result: $ac_cv_lib_dl_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6 if test $ac_cv_lib_dl_dlopen = yes; then --- 7899,7903 ---- LIBS=$ac_check_lib_save_LIBS fi ! echo "$as_me:7901: result: $ac_cv_lib_dl_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6 if test $ac_cv_lib_dl_dlopen = yes; then *************** *** 7060,7064 **** do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` ! echo "$as_me:7062: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then --- 7913,7917 ---- do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` ! echo "$as_me:7915: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then *************** *** 7066,7070 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 7068 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, --- 7919,7923 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 7921 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, *************** *** 7097,7110 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:7099: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:7102: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:7105: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:7108: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" --- 7950,7963 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:7952: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:7955: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:7958: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:7961: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" *************** *** 7116,7120 **** rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:7118: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then --- 7969,7973 ---- rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:7971: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then *************** *** 7128,7132 **** fi ! echo "$as_me:7130: checking for sys_siglist declaration in signal.h or unistd.h" >&5 echo $ECHO_N "checking for sys_siglist declaration in signal.h or unistd.h... $ECHO_C" >&6 if test "${ac_cv_decl_sys_siglist+set}" = set; then --- 7981,7985 ---- fi ! echo "$as_me:7983: checking for sys_siglist declaration in signal.h or unistd.h" >&5 echo $ECHO_N "checking for sys_siglist declaration in signal.h or unistd.h... $ECHO_C" >&6 if test "${ac_cv_decl_sys_siglist+set}" = set; then *************** *** 7134,7138 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 7136 "configure" #include "confdefs.h" #include --- 7987,7991 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 7989 "configure" #include "confdefs.h" #include *************** *** 7152,7165 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:7154: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:7157: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:7160: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:7163: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_decl_sys_siglist=yes --- 8005,8018 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:8007: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:8010: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:8013: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:8016: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_decl_sys_siglist=yes *************** *** 7171,7175 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:7173: result: $ac_cv_decl_sys_siglist" >&5 echo "${ECHO_T}$ac_cv_decl_sys_siglist" >&6 if test $ac_cv_decl_sys_siglist = yes; then --- 8024,8028 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:8026: result: $ac_cv_decl_sys_siglist" >&5 echo "${ECHO_T}$ac_cv_decl_sys_siglist" >&6 if test $ac_cv_decl_sys_siglist = yes; then *************** *** 7183,7187 **** if test "$ac_cv_func_inet_aton" != 'yes'; then ! echo "$as_me:7185: checking for inet_aton" >&5 echo $ECHO_N "checking for inet_aton... $ECHO_C" >&6 if test "${bash_cv_func_inet_aton+set}" = set; then --- 8036,8040 ---- if test "$ac_cv_func_inet_aton" != 'yes'; then ! echo "$as_me:8038: checking for inet_aton" >&5 echo $ECHO_N "checking for inet_aton... $ECHO_C" >&6 if test "${bash_cv_func_inet_aton+set}" = set; then *************** *** 7189,7193 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 7191 "configure" #include "confdefs.h" --- 8042,8046 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 8044 "configure" #include "confdefs.h" *************** *** 7205,7218 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:7207: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:7210: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:7213: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:7216: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_func_inet_aton=yes --- 8058,8071 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:8060: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:8063: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:8066: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:8069: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_func_inet_aton=yes *************** *** 7224,7228 **** rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:7226: result: $bash_cv_func_inet_aton" >&5 echo "${ECHO_T}$bash_cv_func_inet_aton" >&6 if test $bash_cv_func_inet_aton = yes; then --- 8077,8081 ---- rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:8079: result: $bash_cv_func_inet_aton" >&5 echo "${ECHO_T}$bash_cv_func_inet_aton" >&6 if test $bash_cv_func_inet_aton = yes; then *************** *** 7239,7243 **** case "$host_os" in irix4*) ! echo "$as_me:7241: checking for getpwent in -lsun" >&5 echo $ECHO_N "checking for getpwent in -lsun... $ECHO_C" >&6 if test "${ac_cv_lib_sun_getpwent+set}" = set; then --- 8092,8096 ---- case "$host_os" in irix4*) ! echo "$as_me:8094: checking for getpwent in -lsun" >&5 echo $ECHO_N "checking for getpwent in -lsun... $ECHO_C" >&6 if test "${ac_cv_lib_sun_getpwent+set}" = set; then *************** *** 7247,7251 **** LIBS="-lsun $LIBS" cat >conftest.$ac_ext <<_ACEOF ! #line 7249 "configure" #include "confdefs.h" --- 8100,8104 ---- LIBS="-lsun $LIBS" cat >conftest.$ac_ext <<_ACEOF ! #line 8102 "configure" #include "confdefs.h" *************** *** 7266,7279 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:7268: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:7271: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:7274: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:7277: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_sun_getpwent=yes --- 8119,8132 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:8121: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:8124: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:8127: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:8130: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_sun_getpwent=yes *************** *** 7286,7290 **** LIBS=$ac_check_lib_save_LIBS fi ! echo "$as_me:7288: result: $ac_cv_lib_sun_getpwent" >&5 echo "${ECHO_T}$ac_cv_lib_sun_getpwent" >&6 if test $ac_cv_lib_sun_getpwent = yes; then --- 8139,8143 ---- LIBS=$ac_check_lib_save_LIBS fi ! echo "$as_me:8141: result: $ac_cv_lib_sun_getpwent" >&5 echo "${ECHO_T}$ac_cv_lib_sun_getpwent" >&6 if test $ac_cv_lib_sun_getpwent = yes; then *************** *** 7304,7308 **** _bash_needmsg= else ! echo "$as_me:7306: checking for socket library" >&5 echo $ECHO_N "checking for socket library... $ECHO_C" >&6 _bash_needmsg=yes --- 8157,8161 ---- _bash_needmsg= else ! echo "$as_me:8159: checking for socket library" >&5 echo $ECHO_N "checking for socket library... $ECHO_C" >&6 _bash_needmsg=yes *************** *** 7311,7315 **** echo $ECHO_N "(cached) $ECHO_C" >&6 else ! echo "$as_me:7313: checking for getpeername in -lsocket" >&5 echo $ECHO_N "checking for getpeername in -lsocket... $ECHO_C" >&6 if test "${ac_cv_lib_socket_getpeername+set}" = set; then --- 8164,8168 ---- echo $ECHO_N "(cached) $ECHO_C" >&6 else ! echo "$as_me:8166: checking for getpeername in -lsocket" >&5 echo $ECHO_N "checking for getpeername in -lsocket... $ECHO_C" >&6 if test "${ac_cv_lib_socket_getpeername+set}" = set; then *************** *** 7319,7323 **** LIBS="-lsocket -lnsl $LIBS" cat >conftest.$ac_ext <<_ACEOF ! #line 7321 "configure" #include "confdefs.h" --- 8172,8176 ---- LIBS="-lsocket -lnsl $LIBS" cat >conftest.$ac_ext <<_ACEOF ! #line 8174 "configure" #include "confdefs.h" *************** *** 7338,7351 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:7340: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:7343: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:7346: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:7349: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_socket_getpeername=yes --- 8191,8204 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:8193: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:8196: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:8199: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:8202: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_socket_getpeername=yes *************** *** 7358,7362 **** LIBS=$ac_check_lib_save_LIBS fi ! echo "$as_me:7360: result: $ac_cv_lib_socket_getpeername" >&5 echo "${ECHO_T}$ac_cv_lib_socket_getpeername" >&6 if test $ac_cv_lib_socket_getpeername = yes; then --- 8211,8215 ---- LIBS=$ac_check_lib_save_LIBS fi ! echo "$as_me:8213: result: $ac_cv_lib_socket_getpeername" >&5 echo "${ECHO_T}$ac_cv_lib_socket_getpeername" >&6 if test $ac_cv_lib_socket_getpeername = yes; then *************** *** 7369,7373 **** if test "X$_bash_needmsg" = Xyes; then ! echo "$as_me:7371: result: $bash_cv_have_socklib" >&5 echo "${ECHO_T}$bash_cv_have_socklib" >&6 _bash_needmsg= --- 8222,8226 ---- if test "X$_bash_needmsg" = Xyes; then ! echo "$as_me:8224: result: $bash_cv_have_socklib" >&5 echo "${ECHO_T}$bash_cv_have_socklib" >&6 _bash_needmsg= *************** *** 7378,7382 **** _bash_needmsg= else ! echo "$as_me:7380: checking for libnsl" >&5 echo $ECHO_N "checking for libnsl... $ECHO_C" >&6 _bash_needmsg=yes --- 8231,8235 ---- _bash_needmsg= else ! echo "$as_me:8233: checking for libnsl" >&5 echo $ECHO_N "checking for libnsl... $ECHO_C" >&6 _bash_needmsg=yes *************** *** 7385,7389 **** echo $ECHO_N "(cached) $ECHO_C" >&6 else ! echo "$as_me:7387: checking for t_open in -lnsl" >&5 echo $ECHO_N "checking for t_open in -lnsl... $ECHO_C" >&6 if test "${ac_cv_lib_nsl_t_open+set}" = set; then --- 8238,8242 ---- echo $ECHO_N "(cached) $ECHO_C" >&6 else ! echo "$as_me:8240: checking for t_open in -lnsl" >&5 echo $ECHO_N "checking for t_open in -lnsl... $ECHO_C" >&6 if test "${ac_cv_lib_nsl_t_open+set}" = set; then *************** *** 7393,7397 **** LIBS="-lnsl $LIBS" cat >conftest.$ac_ext <<_ACEOF ! #line 7395 "configure" #include "confdefs.h" --- 8246,8250 ---- LIBS="-lnsl $LIBS" cat >conftest.$ac_ext <<_ACEOF ! #line 8248 "configure" #include "confdefs.h" *************** *** 7412,7425 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:7414: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:7417: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:7420: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:7423: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_nsl_t_open=yes --- 8265,8278 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:8267: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:8270: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:8273: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:8276: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_nsl_t_open=yes *************** *** 7432,7436 **** LIBS=$ac_check_lib_save_LIBS fi ! echo "$as_me:7434: result: $ac_cv_lib_nsl_t_open" >&5 echo "${ECHO_T}$ac_cv_lib_nsl_t_open" >&6 if test $ac_cv_lib_nsl_t_open = yes; then --- 8285,8289 ---- LIBS=$ac_check_lib_save_LIBS fi ! echo "$as_me:8287: result: $ac_cv_lib_nsl_t_open" >&5 echo "${ECHO_T}$ac_cv_lib_nsl_t_open" >&6 if test $ac_cv_lib_nsl_t_open = yes; then *************** *** 7443,7447 **** if test "X$_bash_needmsg" = Xyes; then ! echo "$as_me:7445: result: $bash_cv_have_libnsl" >&5 echo "${ECHO_T}$bash_cv_have_libnsl" >&6 _bash_needmsg= --- 8296,8300 ---- if test "X$_bash_needmsg" = Xyes; then ! echo "$as_me:8298: result: $bash_cv_have_libnsl" >&5 echo "${ECHO_T}$bash_cv_have_libnsl" >&6 _bash_needmsg= *************** *** 7467,7471 **** _bash_needmsg=yes else ! echo "$as_me:7469: checking for gethostbyname in socket library" >&5 echo $ECHO_N "checking for gethostbyname in socket library... $ECHO_C" >&6 _bash_needmsg= --- 8320,8324 ---- _bash_needmsg=yes else ! echo "$as_me:8322: checking for gethostbyname in socket library" >&5 echo $ECHO_N "checking for gethostbyname in socket library... $ECHO_C" >&6 _bash_needmsg= *************** *** 7475,7479 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 7477 "configure" #include "confdefs.h" #include --- 8328,8332 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 8330 "configure" #include "confdefs.h" #include *************** *** 7489,7502 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:7491: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:7494: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:7497: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:7500: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_have_gethostbyname=yes --- 8342,8355 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:8344: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:8347: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:8350: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:8353: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_have_gethostbyname=yes *************** *** 7511,7518 **** if test "X$_bash_needmsg" = Xyes; then ! echo "$as_me:7513: checking for gethostbyname in socket library" >&5 echo $ECHO_N "checking for gethostbyname in socket library... $ECHO_C" >&6 fi ! echo "$as_me:7516: result: $bash_cv_have_gethostbyname" >&5 echo "${ECHO_T}$bash_cv_have_gethostbyname" >&6 if test "$bash_cv_have_gethostbyname" = yes; then --- 8364,8371 ---- if test "X$_bash_needmsg" = Xyes; then ! echo "$as_me:8366: checking for gethostbyname in socket library" >&5 echo $ECHO_N "checking for gethostbyname in socket library... $ECHO_C" >&6 fi ! echo "$as_me:8369: result: $bash_cv_have_gethostbyname" >&5 echo "${ECHO_T}$bash_cv_have_gethostbyname" >&6 if test "$bash_cv_have_gethostbyname" = yes; then *************** *** 7525,7529 **** fi ! echo "$as_me:7527: checking for uid_t in sys/types.h" >&5 echo $ECHO_N "checking for uid_t in sys/types.h... $ECHO_C" >&6 if test "${ac_cv_type_uid_t+set}" = set; then --- 8378,8382 ---- fi ! echo "$as_me:8380: checking for uid_t in sys/types.h" >&5 echo $ECHO_N "checking for uid_t in sys/types.h... $ECHO_C" >&6 if test "${ac_cv_type_uid_t+set}" = set; then *************** *** 7531,7535 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 7533 "configure" #include "confdefs.h" #include --- 8384,8388 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 8386 "configure" #include "confdefs.h" #include *************** *** 7545,7549 **** fi ! echo "$as_me:7547: result: $ac_cv_type_uid_t" >&5 echo "${ECHO_T}$ac_cv_type_uid_t" >&6 if test $ac_cv_type_uid_t = no; then --- 8398,8402 ---- fi ! echo "$as_me:8400: result: $ac_cv_type_uid_t" >&5 echo "${ECHO_T}$ac_cv_type_uid_t" >&6 if test $ac_cv_type_uid_t = no; then *************** *** 7559,7563 **** fi ! echo "$as_me:7561: checking type of array argument to getgroups" >&5 echo $ECHO_N "checking type of array argument to getgroups... $ECHO_C" >&6 if test "${ac_cv_type_getgroups+set}" = set; then --- 8412,8416 ---- fi ! echo "$as_me:8414: checking type of array argument to getgroups" >&5 echo $ECHO_N "checking type of array argument to getgroups... $ECHO_C" >&6 if test "${ac_cv_type_getgroups+set}" = set; then *************** *** 7568,7572 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 7570 "configure" #include "confdefs.h" /* Thanks to Mike Rendell for this test. */ --- 8421,8425 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 8423 "configure" #include "confdefs.h" /* Thanks to Mike Rendell for this test. */ *************** *** 7594,7606 **** _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:7596: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:7599: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:7601: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:7604: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_getgroups=gid_t --- 8447,8459 ---- _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:8449: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:8452: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:8454: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:8457: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_getgroups=gid_t *************** *** 7615,7619 **** if test $ac_cv_type_getgroups = cross; then cat >conftest.$ac_ext <<_ACEOF ! #line 7617 "configure" #include "confdefs.h" #include --- 8468,8472 ---- if test $ac_cv_type_getgroups = cross; then cat >conftest.$ac_ext <<_ACEOF ! #line 8470 "configure" #include "confdefs.h" #include *************** *** 7630,7634 **** fi fi ! echo "$as_me:7632: result: $ac_cv_type_getgroups" >&5 echo "${ECHO_T}$ac_cv_type_getgroups" >&6 --- 8483,8487 ---- fi fi ! echo "$as_me:8485: result: $ac_cv_type_getgroups" >&5 echo "${ECHO_T}$ac_cv_type_getgroups" >&6 *************** *** 7637,7641 **** EOF ! echo "$as_me:7639: checking for off_t" >&5 echo $ECHO_N "checking for off_t... $ECHO_C" >&6 if test "${ac_cv_type_off_t+set}" = set; then --- 8490,8494 ---- EOF ! echo "$as_me:8492: checking for off_t" >&5 echo $ECHO_N "checking for off_t... $ECHO_C" >&6 if test "${ac_cv_type_off_t+set}" = set; then *************** *** 7643,7647 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 7645 "configure" #include "confdefs.h" $ac_includes_default --- 8496,8500 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 8498 "configure" #include "confdefs.h" $ac_includes_default *************** *** 7658,7671 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:7660: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:7663: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:7666: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:7669: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_off_t=yes --- 8511,8524 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:8513: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:8516: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:8519: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:8522: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_off_t=yes *************** *** 7677,7681 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:7679: result: $ac_cv_type_off_t" >&5 echo "${ECHO_T}$ac_cv_type_off_t" >&6 if test $ac_cv_type_off_t = yes; then --- 8530,8534 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:8532: result: $ac_cv_type_off_t" >&5 echo "${ECHO_T}$ac_cv_type_off_t" >&6 if test $ac_cv_type_off_t = yes; then *************** *** 7689,7693 **** fi ! echo "$as_me:7691: checking for mode_t" >&5 echo $ECHO_N "checking for mode_t... $ECHO_C" >&6 if test "${ac_cv_type_mode_t+set}" = set; then --- 8542,8546 ---- fi ! echo "$as_me:8544: checking for mode_t" >&5 echo $ECHO_N "checking for mode_t... $ECHO_C" >&6 if test "${ac_cv_type_mode_t+set}" = set; then *************** *** 7695,7699 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 7697 "configure" #include "confdefs.h" $ac_includes_default --- 8548,8552 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 8550 "configure" #include "confdefs.h" $ac_includes_default *************** *** 7710,7723 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:7712: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:7715: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:7718: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:7721: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_mode_t=yes --- 8563,8576 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:8565: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:8568: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:8571: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:8574: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_mode_t=yes *************** *** 7729,7733 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:7731: result: $ac_cv_type_mode_t" >&5 echo "${ECHO_T}$ac_cv_type_mode_t" >&6 if test $ac_cv_type_mode_t = yes; then --- 8582,8586 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:8584: result: $ac_cv_type_mode_t" >&5 echo "${ECHO_T}$ac_cv_type_mode_t" >&6 if test $ac_cv_type_mode_t = yes; then *************** *** 7741,7745 **** fi ! echo "$as_me:7743: checking for uid_t in sys/types.h" >&5 echo $ECHO_N "checking for uid_t in sys/types.h... $ECHO_C" >&6 if test "${ac_cv_type_uid_t+set}" = set; then --- 8594,8598 ---- fi ! echo "$as_me:8596: checking for uid_t in sys/types.h" >&5 echo $ECHO_N "checking for uid_t in sys/types.h... $ECHO_C" >&6 if test "${ac_cv_type_uid_t+set}" = set; then *************** *** 7747,7751 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 7749 "configure" #include "confdefs.h" #include --- 8600,8604 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 8602 "configure" #include "confdefs.h" #include *************** *** 7761,7765 **** fi ! echo "$as_me:7763: result: $ac_cv_type_uid_t" >&5 echo "${ECHO_T}$ac_cv_type_uid_t" >&6 if test $ac_cv_type_uid_t = no; then --- 8614,8618 ---- fi ! echo "$as_me:8616: result: $ac_cv_type_uid_t" >&5 echo "${ECHO_T}$ac_cv_type_uid_t" >&6 if test $ac_cv_type_uid_t = no; then *************** *** 7775,7779 **** fi ! echo "$as_me:7777: checking for pid_t" >&5 echo $ECHO_N "checking for pid_t... $ECHO_C" >&6 if test "${ac_cv_type_pid_t+set}" = set; then --- 8628,8632 ---- fi ! echo "$as_me:8630: checking for pid_t" >&5 echo $ECHO_N "checking for pid_t... $ECHO_C" >&6 if test "${ac_cv_type_pid_t+set}" = set; then *************** *** 7781,7785 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 7783 "configure" #include "confdefs.h" $ac_includes_default --- 8634,8638 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 8636 "configure" #include "confdefs.h" $ac_includes_default *************** *** 7796,7809 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:7798: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:7801: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:7804: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:7807: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_pid_t=yes --- 8649,8662 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:8651: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:8654: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:8657: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:8660: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_pid_t=yes *************** *** 7815,7819 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:7817: result: $ac_cv_type_pid_t" >&5 echo "${ECHO_T}$ac_cv_type_pid_t" >&6 if test $ac_cv_type_pid_t = yes; then --- 8668,8672 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:8670: result: $ac_cv_type_pid_t" >&5 echo "${ECHO_T}$ac_cv_type_pid_t" >&6 if test $ac_cv_type_pid_t = yes; then *************** *** 7827,7831 **** fi ! echo "$as_me:7829: checking for size_t" >&5 echo $ECHO_N "checking for size_t... $ECHO_C" >&6 if test "${ac_cv_type_size_t+set}" = set; then --- 8680,8684 ---- fi ! echo "$as_me:8682: checking for size_t" >&5 echo $ECHO_N "checking for size_t... $ECHO_C" >&6 if test "${ac_cv_type_size_t+set}" = set; then *************** *** 7833,7837 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 7835 "configure" #include "confdefs.h" $ac_includes_default --- 8686,8690 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 8688 "configure" #include "confdefs.h" $ac_includes_default *************** *** 7848,7861 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:7850: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:7853: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:7856: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:7859: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_size_t=yes --- 8701,8714 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:8703: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:8706: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:8709: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:8712: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_size_t=yes *************** *** 7867,7871 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:7869: result: $ac_cv_type_size_t" >&5 echo "${ECHO_T}$ac_cv_type_size_t" >&6 if test $ac_cv_type_size_t = yes; then --- 8720,8724 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:8722: result: $ac_cv_type_size_t" >&5 echo "${ECHO_T}$ac_cv_type_size_t" >&6 if test $ac_cv_type_size_t = yes; then *************** *** 7879,7883 **** fi ! echo "$as_me:7881: checking for ssize_t" >&5 echo $ECHO_N "checking for ssize_t... $ECHO_C" >&6 if test "${ac_cv_type_ssize_t+set}" = set; then --- 8732,8736 ---- fi ! echo "$as_me:8734: checking for ssize_t" >&5 echo $ECHO_N "checking for ssize_t... $ECHO_C" >&6 if test "${ac_cv_type_ssize_t+set}" = set; then *************** *** 7885,7889 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 7887 "configure" #include "confdefs.h" $ac_includes_default --- 8738,8742 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 8740 "configure" #include "confdefs.h" $ac_includes_default *************** *** 7900,7913 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:7902: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:7905: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:7908: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:7911: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_ssize_t=yes --- 8753,8766 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:8755: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:8758: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:8761: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:8764: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_ssize_t=yes *************** *** 7919,7923 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:7921: result: $ac_cv_type_ssize_t" >&5 echo "${ECHO_T}$ac_cv_type_ssize_t" >&6 if test $ac_cv_type_ssize_t = yes; then --- 8772,8776 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:8774: result: $ac_cv_type_ssize_t" >&5 echo "${ECHO_T}$ac_cv_type_ssize_t" >&6 if test $ac_cv_type_ssize_t = yes; then *************** *** 7931,7935 **** fi ! echo "$as_me:7933: checking for time_t" >&5 echo $ECHO_N "checking for time_t... $ECHO_C" >&6 if test "${ac_cv_type_time_t+set}" = set; then --- 8784,8788 ---- fi ! echo "$as_me:8786: checking for time_t" >&5 echo $ECHO_N "checking for time_t... $ECHO_C" >&6 if test "${ac_cv_type_time_t+set}" = set; then *************** *** 7937,7941 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 7939 "configure" #include "confdefs.h" $ac_includes_default --- 8790,8794 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 8792 "configure" #include "confdefs.h" $ac_includes_default *************** *** 7952,7965 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:7954: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:7957: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:7960: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:7963: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_time_t=yes --- 8805,8818 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:8807: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:8810: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:8813: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:8816: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_time_t=yes *************** *** 7971,7975 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:7973: result: $ac_cv_type_time_t" >&5 echo "${ECHO_T}$ac_cv_type_time_t" >&6 if test $ac_cv_type_time_t = yes; then --- 8824,8828 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:8826: result: $ac_cv_type_time_t" >&5 echo "${ECHO_T}$ac_cv_type_time_t" >&6 if test $ac_cv_type_time_t = yes; then *************** *** 7983,7987 **** fi ! echo "$as_me:7985: checking for long long" >&5 echo $ECHO_N "checking for long long... $ECHO_C" >&6 if test "${bash_cv_type_long_long+set}" = set; then --- 8836,8840 ---- fi ! echo "$as_me:8838: checking for long long" >&5 echo $ECHO_N "checking for long long... $ECHO_C" >&6 if test "${bash_cv_type_long_long+set}" = set; then *************** *** 7989,7993 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 7991 "configure" #include "confdefs.h" --- 8842,8846 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 8844 "configure" #include "confdefs.h" *************** *** 8005,8018 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:8007: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:8010: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:8013: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:8016: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_type_long_long='long long' --- 8858,8871 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:8860: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:8863: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:8866: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:8869: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_type_long_long='long long' *************** *** 8024,8028 **** rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:8026: result: $bash_cv_type_long_long" >&5 echo "${ECHO_T}$bash_cv_type_long_long" >&6 if test "$bash_cv_type_long_long" = 'long long'; then --- 8877,8881 ---- rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:8879: result: $bash_cv_type_long_long" >&5 echo "${ECHO_T}$bash_cv_type_long_long" >&6 if test "$bash_cv_type_long_long" = 'long long'; then *************** *** 8033,8037 **** fi ! echo "$as_me:8035: checking for unsigned long long" >&5 echo $ECHO_N "checking for unsigned long long... $ECHO_C" >&6 if test "${bash_cv_type_unsigned_long_long+set}" = set; then --- 8886,8890 ---- fi ! echo "$as_me:8888: checking for unsigned long long" >&5 echo $ECHO_N "checking for unsigned long long... $ECHO_C" >&6 if test "${bash_cv_type_unsigned_long_long+set}" = set; then *************** *** 8039,8043 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 8041 "configure" #include "confdefs.h" --- 8892,8896 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 8894 "configure" #include "confdefs.h" *************** *** 8055,8068 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:8057: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:8060: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:8063: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:8066: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_type_unsigned_long_long='unsigned long long' --- 8908,8921 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:8910: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:8913: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:8916: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:8919: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_type_unsigned_long_long='unsigned long long' *************** *** 8074,8078 **** rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:8076: result: $bash_cv_type_unsigned_long_long" >&5 echo "${ECHO_T}$bash_cv_type_unsigned_long_long" >&6 if test "$bash_cv_type_unsigned_long_long" = 'unsigned long long'; then --- 8927,8931 ---- rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:8929: result: $bash_cv_type_unsigned_long_long" >&5 echo "${ECHO_T}$bash_cv_type_unsigned_long_long" >&6 if test "$bash_cv_type_unsigned_long_long" = 'unsigned long long'; then *************** *** 8083,8087 **** fi ! echo "$as_me:8085: checking return type of signal handlers" >&5 echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6 if test "${ac_cv_type_signal+set}" = set; then --- 8936,8940 ---- fi ! echo "$as_me:8938: checking return type of signal handlers" >&5 echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6 if test "${ac_cv_type_signal+set}" = set; then *************** *** 8089,8093 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 8091 "configure" #include "confdefs.h" #include --- 8942,8946 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 8944 "configure" #include "confdefs.h" #include *************** *** 8111,8124 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:8113: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:8116: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:8119: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:8122: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_signal=void --- 8964,8977 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:8966: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:8969: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:8972: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:8975: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_signal=void *************** *** 8130,8134 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:8132: result: $ac_cv_type_signal" >&5 echo "${ECHO_T}$ac_cv_type_signal" >&6 --- 8983,8987 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:8985: result: $ac_cv_type_signal" >&5 echo "${ECHO_T}$ac_cv_type_signal" >&6 *************** *** 8137,8141 **** EOF ! echo "$as_me:8139: checking for char" >&5 echo $ECHO_N "checking for char... $ECHO_C" >&6 if test "${ac_cv_type_char+set}" = set; then --- 8990,8994 ---- EOF ! echo "$as_me:8992: checking for char" >&5 echo $ECHO_N "checking for char... $ECHO_C" >&6 if test "${ac_cv_type_char+set}" = set; then *************** *** 8143,8147 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 8145 "configure" #include "confdefs.h" $ac_includes_default --- 8996,9000 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 8998 "configure" #include "confdefs.h" $ac_includes_default *************** *** 8158,8171 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:8160: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:8163: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:8166: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:8169: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_char=yes --- 9011,9024 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:9013: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:9016: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:9019: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:9022: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_char=yes *************** *** 8177,8184 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:8179: result: $ac_cv_type_char" >&5 echo "${ECHO_T}$ac_cv_type_char" >&6 ! echo "$as_me:8182: checking size of char" >&5 echo $ECHO_N "checking size of char... $ECHO_C" >&6 if test "${ac_cv_sizeof_char+set}" = set; then --- 9030,9037 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:9032: result: $ac_cv_type_char" >&5 echo "${ECHO_T}$ac_cv_type_char" >&6 ! echo "$as_me:9035: checking size of char" >&5 echo $ECHO_N "checking size of char... $ECHO_C" >&6 if test "${ac_cv_sizeof_char+set}" = set; then *************** *** 8189,8193 **** # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF ! #line 8191 "configure" #include "confdefs.h" $ac_includes_default --- 9042,9046 ---- # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF ! #line 9044 "configure" #include "confdefs.h" $ac_includes_default *************** *** 8201,8219 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:8203: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:8206: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:8209: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:8212: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF ! #line 8217 "configure" #include "confdefs.h" $ac_includes_default --- 9054,9072 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:9056: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:9059: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:9062: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:9065: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF ! #line 9070 "configure" #include "confdefs.h" $ac_includes_default *************** *** 8227,8240 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:8229: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:8232: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:8235: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:8238: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid; break --- 9080,9093 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:9082: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:9085: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:9088: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:9091: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid; break *************** *** 8252,8256 **** while :; do cat >conftest.$ac_ext <<_ACEOF ! #line 8254 "configure" #include "confdefs.h" $ac_includes_default --- 9105,9109 ---- while :; do cat >conftest.$ac_ext <<_ACEOF ! #line 9107 "configure" #include "confdefs.h" $ac_includes_default *************** *** 8264,8277 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:8266: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:8269: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:8272: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:8275: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=$ac_mid; break --- 9117,9130 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:9119: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:9122: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:9125: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:9128: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=$ac_mid; break *************** *** 8289,8293 **** ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF ! #line 8291 "configure" #include "confdefs.h" $ac_includes_default --- 9142,9146 ---- ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF ! #line 9144 "configure" #include "confdefs.h" $ac_includes_default *************** *** 8301,8314 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:8303: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:8306: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:8309: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:8312: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid --- 9154,9167 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:9156: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:9159: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:9162: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:9165: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid *************** *** 8323,8332 **** else if test "$cross_compiling" = yes; then ! { { echo "$as_me:8325: error: cannot run test program while cross compiling" >&5 echo "$as_me: error: cannot run test program while cross compiling" >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF ! #line 8330 "configure" #include "confdefs.h" $ac_includes_default --- 9176,9185 ---- else if test "$cross_compiling" = yes; then ! { { echo "$as_me:9178: error: cannot run test program while cross compiling" >&5 echo "$as_me: error: cannot run test program while cross compiling" >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF ! #line 9183 "configure" #include "confdefs.h" $ac_includes_default *************** *** 8344,8356 **** _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:8346: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:8349: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:8351: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:8354: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_char=`cat conftest.val` --- 9197,9209 ---- _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:9199: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:9202: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:9204: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:9207: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_char=`cat conftest.val` *************** *** 8368,8372 **** fi fi ! echo "$as_me:8370: result: $ac_cv_sizeof_char" >&5 echo "${ECHO_T}$ac_cv_sizeof_char" >&6 cat >>confdefs.h <&5 echo "${ECHO_T}$ac_cv_sizeof_char" >&6 cat >>confdefs.h <&5 echo $ECHO_N "checking for short... $ECHO_C" >&6 if test "${ac_cv_type_short+set}" = set; then --- 9227,9231 ---- EOF ! echo "$as_me:9229: checking for short" >&5 echo $ECHO_N "checking for short... $ECHO_C" >&6 if test "${ac_cv_type_short+set}" = set; then *************** *** 8380,8384 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 8382 "configure" #include "confdefs.h" $ac_includes_default --- 9233,9237 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 9235 "configure" #include "confdefs.h" $ac_includes_default *************** *** 8395,8408 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:8397: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:8400: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:8403: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:8406: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_short=yes --- 9248,9261 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:9250: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:9253: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:9256: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:9259: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_short=yes *************** *** 8414,8421 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:8416: result: $ac_cv_type_short" >&5 echo "${ECHO_T}$ac_cv_type_short" >&6 ! echo "$as_me:8419: checking size of short" >&5 echo $ECHO_N "checking size of short... $ECHO_C" >&6 if test "${ac_cv_sizeof_short+set}" = set; then --- 9267,9274 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:9269: result: $ac_cv_type_short" >&5 echo "${ECHO_T}$ac_cv_type_short" >&6 ! echo "$as_me:9272: checking size of short" >&5 echo $ECHO_N "checking size of short... $ECHO_C" >&6 if test "${ac_cv_sizeof_short+set}" = set; then *************** *** 8426,8430 **** # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF ! #line 8428 "configure" #include "confdefs.h" $ac_includes_default --- 9279,9283 ---- # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF ! #line 9281 "configure" #include "confdefs.h" $ac_includes_default *************** *** 8438,8456 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:8440: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:8443: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:8446: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:8449: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF ! #line 8454 "configure" #include "confdefs.h" $ac_includes_default --- 9291,9309 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:9293: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:9296: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:9299: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:9302: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF ! #line 9307 "configure" #include "confdefs.h" $ac_includes_default *************** *** 8464,8477 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:8466: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:8469: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:8472: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:8475: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid; break --- 9317,9330 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:9319: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:9322: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:9325: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:9328: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid; break *************** *** 8489,8493 **** while :; do cat >conftest.$ac_ext <<_ACEOF ! #line 8491 "configure" #include "confdefs.h" $ac_includes_default --- 9342,9346 ---- while :; do cat >conftest.$ac_ext <<_ACEOF ! #line 9344 "configure" #include "confdefs.h" $ac_includes_default *************** *** 8501,8514 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:8503: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:8506: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:8509: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:8512: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=$ac_mid; break --- 9354,9367 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:9356: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:9359: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:9362: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:9365: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=$ac_mid; break *************** *** 8526,8530 **** ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF ! #line 8528 "configure" #include "confdefs.h" $ac_includes_default --- 9379,9383 ---- ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF ! #line 9381 "configure" #include "confdefs.h" $ac_includes_default *************** *** 8538,8551 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:8540: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:8543: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:8546: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:8549: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid --- 9391,9404 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:9393: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:9396: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:9399: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:9402: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid *************** *** 8560,8569 **** else if test "$cross_compiling" = yes; then ! { { echo "$as_me:8562: error: cannot run test program while cross compiling" >&5 echo "$as_me: error: cannot run test program while cross compiling" >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF ! #line 8567 "configure" #include "confdefs.h" $ac_includes_default --- 9413,9422 ---- else if test "$cross_compiling" = yes; then ! { { echo "$as_me:9415: error: cannot run test program while cross compiling" >&5 echo "$as_me: error: cannot run test program while cross compiling" >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF ! #line 9420 "configure" #include "confdefs.h" $ac_includes_default *************** *** 8581,8593 **** _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:8583: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:8586: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:8588: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:8591: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_short=`cat conftest.val` --- 9434,9446 ---- _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:9436: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:9439: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:9441: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:9444: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_short=`cat conftest.val` *************** *** 8605,8609 **** fi fi ! echo "$as_me:8607: result: $ac_cv_sizeof_short" >&5 echo "${ECHO_T}$ac_cv_sizeof_short" >&6 cat >>confdefs.h <&5 echo "${ECHO_T}$ac_cv_sizeof_short" >&6 cat >>confdefs.h <&5 echo $ECHO_N "checking for int... $ECHO_C" >&6 if test "${ac_cv_type_int+set}" = set; then --- 9464,9468 ---- EOF ! echo "$as_me:9466: checking for int" >&5 echo $ECHO_N "checking for int... $ECHO_C" >&6 if test "${ac_cv_type_int+set}" = set; then *************** *** 8617,8621 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 8619 "configure" #include "confdefs.h" $ac_includes_default --- 9470,9474 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 9472 "configure" #include "confdefs.h" $ac_includes_default *************** *** 8632,8645 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:8634: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:8637: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:8640: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:8643: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_int=yes --- 9485,9498 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:9487: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:9490: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:9493: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:9496: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_int=yes *************** *** 8651,8658 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:8653: result: $ac_cv_type_int" >&5 echo "${ECHO_T}$ac_cv_type_int" >&6 ! echo "$as_me:8656: checking size of int" >&5 echo $ECHO_N "checking size of int... $ECHO_C" >&6 if test "${ac_cv_sizeof_int+set}" = set; then --- 9504,9511 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:9506: result: $ac_cv_type_int" >&5 echo "${ECHO_T}$ac_cv_type_int" >&6 ! echo "$as_me:9509: checking size of int" >&5 echo $ECHO_N "checking size of int... $ECHO_C" >&6 if test "${ac_cv_sizeof_int+set}" = set; then *************** *** 8663,8667 **** # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF ! #line 8665 "configure" #include "confdefs.h" $ac_includes_default --- 9516,9520 ---- # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF ! #line 9518 "configure" #include "confdefs.h" $ac_includes_default *************** *** 8675,8693 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:8677: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:8680: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:8683: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:8686: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF ! #line 8691 "configure" #include "confdefs.h" $ac_includes_default --- 9528,9546 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:9530: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:9533: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:9536: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:9539: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF ! #line 9544 "configure" #include "confdefs.h" $ac_includes_default *************** *** 8701,8714 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:8703: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:8706: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:8709: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:8712: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid; break --- 9554,9567 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:9556: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:9559: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:9562: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:9565: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid; break *************** *** 8726,8730 **** while :; do cat >conftest.$ac_ext <<_ACEOF ! #line 8728 "configure" #include "confdefs.h" $ac_includes_default --- 9579,9583 ---- while :; do cat >conftest.$ac_ext <<_ACEOF ! #line 9581 "configure" #include "confdefs.h" $ac_includes_default *************** *** 8738,8751 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:8740: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:8743: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:8746: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:8749: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=$ac_mid; break --- 9591,9604 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:9593: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:9596: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:9599: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:9602: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=$ac_mid; break *************** *** 8763,8767 **** ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF ! #line 8765 "configure" #include "confdefs.h" $ac_includes_default --- 9616,9620 ---- ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF ! #line 9618 "configure" #include "confdefs.h" $ac_includes_default *************** *** 8775,8788 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:8777: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:8780: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:8783: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:8786: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid --- 9628,9641 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:9630: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:9633: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:9636: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:9639: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid *************** *** 8797,8806 **** else if test "$cross_compiling" = yes; then ! { { echo "$as_me:8799: error: cannot run test program while cross compiling" >&5 echo "$as_me: error: cannot run test program while cross compiling" >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF ! #line 8804 "configure" #include "confdefs.h" $ac_includes_default --- 9650,9659 ---- else if test "$cross_compiling" = yes; then ! { { echo "$as_me:9652: error: cannot run test program while cross compiling" >&5 echo "$as_me: error: cannot run test program while cross compiling" >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF ! #line 9657 "configure" #include "confdefs.h" $ac_includes_default *************** *** 8818,8830 **** _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:8820: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:8823: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:8825: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:8828: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_int=`cat conftest.val` --- 9671,9683 ---- _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:9673: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:9676: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:9678: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:9681: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_int=`cat conftest.val` *************** *** 8842,8846 **** fi fi ! echo "$as_me:8844: result: $ac_cv_sizeof_int" >&5 echo "${ECHO_T}$ac_cv_sizeof_int" >&6 cat >>confdefs.h <&5 echo "${ECHO_T}$ac_cv_sizeof_int" >&6 cat >>confdefs.h <&5 echo $ECHO_N "checking for long... $ECHO_C" >&6 if test "${ac_cv_type_long+set}" = set; then --- 9701,9705 ---- EOF ! echo "$as_me:9703: checking for long" >&5 echo $ECHO_N "checking for long... $ECHO_C" >&6 if test "${ac_cv_type_long+set}" = set; then *************** *** 8854,8858 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 8856 "configure" #include "confdefs.h" $ac_includes_default --- 9707,9711 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 9709 "configure" #include "confdefs.h" $ac_includes_default *************** *** 8869,8882 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:8871: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:8874: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:8877: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:8880: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_long=yes --- 9722,9735 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:9724: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:9727: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:9730: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:9733: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_long=yes *************** *** 8888,8895 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:8890: result: $ac_cv_type_long" >&5 echo "${ECHO_T}$ac_cv_type_long" >&6 ! echo "$as_me:8893: checking size of long" >&5 echo $ECHO_N "checking size of long... $ECHO_C" >&6 if test "${ac_cv_sizeof_long+set}" = set; then --- 9741,9748 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:9743: result: $ac_cv_type_long" >&5 echo "${ECHO_T}$ac_cv_type_long" >&6 ! echo "$as_me:9746: checking size of long" >&5 echo $ECHO_N "checking size of long... $ECHO_C" >&6 if test "${ac_cv_sizeof_long+set}" = set; then *************** *** 8900,8904 **** # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF ! #line 8902 "configure" #include "confdefs.h" $ac_includes_default --- 9753,9757 ---- # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF ! #line 9755 "configure" #include "confdefs.h" $ac_includes_default *************** *** 8912,8930 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:8914: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:8917: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:8920: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:8923: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF ! #line 8928 "configure" #include "confdefs.h" $ac_includes_default --- 9765,9783 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:9767: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:9770: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:9773: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:9776: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF ! #line 9781 "configure" #include "confdefs.h" $ac_includes_default *************** *** 8938,8951 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:8940: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:8943: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:8946: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:8949: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid; break --- 9791,9804 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:9793: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:9796: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:9799: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:9802: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid; break *************** *** 8963,8967 **** while :; do cat >conftest.$ac_ext <<_ACEOF ! #line 8965 "configure" #include "confdefs.h" $ac_includes_default --- 9816,9820 ---- while :; do cat >conftest.$ac_ext <<_ACEOF ! #line 9818 "configure" #include "confdefs.h" $ac_includes_default *************** *** 8975,8988 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:8977: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:8980: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:8983: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:8986: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=$ac_mid; break --- 9828,9841 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:9830: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:9833: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:9836: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:9839: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=$ac_mid; break *************** *** 9000,9004 **** ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF ! #line 9002 "configure" #include "confdefs.h" $ac_includes_default --- 9853,9857 ---- ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF ! #line 9855 "configure" #include "confdefs.h" $ac_includes_default *************** *** 9012,9025 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:9014: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:9017: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:9020: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:9023: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid --- 9865,9878 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:9867: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:9870: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:9873: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:9876: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid *************** *** 9034,9043 **** else if test "$cross_compiling" = yes; then ! { { echo "$as_me:9036: error: cannot run test program while cross compiling" >&5 echo "$as_me: error: cannot run test program while cross compiling" >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF ! #line 9041 "configure" #include "confdefs.h" $ac_includes_default --- 9887,9896 ---- else if test "$cross_compiling" = yes; then ! { { echo "$as_me:9889: error: cannot run test program while cross compiling" >&5 echo "$as_me: error: cannot run test program while cross compiling" >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF ! #line 9894 "configure" #include "confdefs.h" $ac_includes_default *************** *** 9055,9067 **** _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:9057: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:9060: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:9062: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:9065: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_long=`cat conftest.val` --- 9908,9920 ---- _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:9910: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:9913: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:9915: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:9918: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_long=`cat conftest.val` *************** *** 9079,9083 **** fi fi ! echo "$as_me:9081: result: $ac_cv_sizeof_long" >&5 echo "${ECHO_T}$ac_cv_sizeof_long" >&6 cat >>confdefs.h <&5 echo "${ECHO_T}$ac_cv_sizeof_long" >&6 cat >>confdefs.h <&5 echo $ECHO_N "checking for char *... $ECHO_C" >&6 if test "${ac_cv_type_char_p+set}" = set; then --- 9938,9942 ---- EOF ! echo "$as_me:9940: checking for char *" >&5 echo $ECHO_N "checking for char *... $ECHO_C" >&6 if test "${ac_cv_type_char_p+set}" = set; then *************** *** 9091,9095 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 9093 "configure" #include "confdefs.h" $ac_includes_default --- 9944,9948 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 9946 "configure" #include "confdefs.h" $ac_includes_default *************** *** 9106,9119 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:9108: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:9111: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:9114: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:9117: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_char_p=yes --- 9959,9972 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:9961: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:9964: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:9967: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:9970: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_char_p=yes *************** *** 9125,9132 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:9127: result: $ac_cv_type_char_p" >&5 echo "${ECHO_T}$ac_cv_type_char_p" >&6 ! echo "$as_me:9130: checking size of char *" >&5 echo $ECHO_N "checking size of char *... $ECHO_C" >&6 if test "${ac_cv_sizeof_char_p+set}" = set; then --- 9978,9985 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:9980: result: $ac_cv_type_char_p" >&5 echo "${ECHO_T}$ac_cv_type_char_p" >&6 ! echo "$as_me:9983: checking size of char *" >&5 echo $ECHO_N "checking size of char *... $ECHO_C" >&6 if test "${ac_cv_sizeof_char_p+set}" = set; then *************** *** 9137,9141 **** # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF ! #line 9139 "configure" #include "confdefs.h" $ac_includes_default --- 9990,9994 ---- # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF ! #line 9992 "configure" #include "confdefs.h" $ac_includes_default *************** *** 9149,9167 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:9151: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:9154: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:9157: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:9160: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF ! #line 9165 "configure" #include "confdefs.h" $ac_includes_default --- 10002,10020 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:10004: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:10007: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:10010: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:10013: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF ! #line 10018 "configure" #include "confdefs.h" $ac_includes_default *************** *** 9175,9188 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:9177: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:9180: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:9183: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:9186: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid; break --- 10028,10041 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:10030: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:10033: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:10036: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:10039: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid; break *************** *** 9200,9204 **** while :; do cat >conftest.$ac_ext <<_ACEOF ! #line 9202 "configure" #include "confdefs.h" $ac_includes_default --- 10053,10057 ---- while :; do cat >conftest.$ac_ext <<_ACEOF ! #line 10055 "configure" #include "confdefs.h" $ac_includes_default *************** *** 9212,9225 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:9214: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:9217: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:9220: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:9223: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=$ac_mid; break --- 10065,10078 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:10067: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:10070: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:10073: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:10076: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=$ac_mid; break *************** *** 9237,9241 **** ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF ! #line 9239 "configure" #include "confdefs.h" $ac_includes_default --- 10090,10094 ---- ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF ! #line 10092 "configure" #include "confdefs.h" $ac_includes_default *************** *** 9249,9262 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:9251: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:9254: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:9257: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:9260: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid --- 10102,10115 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:10104: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:10107: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:10110: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:10113: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid *************** *** 9271,9280 **** else if test "$cross_compiling" = yes; then ! { { echo "$as_me:9273: error: cannot run test program while cross compiling" >&5 echo "$as_me: error: cannot run test program while cross compiling" >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF ! #line 9278 "configure" #include "confdefs.h" $ac_includes_default --- 10124,10133 ---- else if test "$cross_compiling" = yes; then ! { { echo "$as_me:10126: error: cannot run test program while cross compiling" >&5 echo "$as_me: error: cannot run test program while cross compiling" >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF ! #line 10131 "configure" #include "confdefs.h" $ac_includes_default *************** *** 9292,9304 **** _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:9294: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:9297: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:9299: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:9302: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_char_p=`cat conftest.val` --- 10145,10157 ---- _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:10147: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:10150: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:10152: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:10155: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_char_p=`cat conftest.val` *************** *** 9316,9320 **** fi fi ! echo "$as_me:9318: result: $ac_cv_sizeof_char_p" >&5 echo "${ECHO_T}$ac_cv_sizeof_char_p" >&6 cat >>confdefs.h <&5 echo "${ECHO_T}$ac_cv_sizeof_char_p" >&6 cat >>confdefs.h <&5 echo $ECHO_N "checking for double... $ECHO_C" >&6 if test "${ac_cv_type_double+set}" = set; then --- 10175,10179 ---- EOF ! echo "$as_me:10177: checking for double" >&5 echo $ECHO_N "checking for double... $ECHO_C" >&6 if test "${ac_cv_type_double+set}" = set; then *************** *** 9328,9332 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 9330 "configure" #include "confdefs.h" $ac_includes_default --- 10181,10185 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 10183 "configure" #include "confdefs.h" $ac_includes_default *************** *** 9343,9356 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:9345: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:9348: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:9351: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:9354: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_double=yes --- 10196,10209 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:10198: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:10201: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:10204: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:10207: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_double=yes *************** *** 9362,9369 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:9364: result: $ac_cv_type_double" >&5 echo "${ECHO_T}$ac_cv_type_double" >&6 ! echo "$as_me:9367: checking size of double" >&5 echo $ECHO_N "checking size of double... $ECHO_C" >&6 if test "${ac_cv_sizeof_double+set}" = set; then --- 10215,10222 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:10217: result: $ac_cv_type_double" >&5 echo "${ECHO_T}$ac_cv_type_double" >&6 ! echo "$as_me:10220: checking size of double" >&5 echo $ECHO_N "checking size of double... $ECHO_C" >&6 if test "${ac_cv_sizeof_double+set}" = set; then *************** *** 9374,9378 **** # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF ! #line 9376 "configure" #include "confdefs.h" $ac_includes_default --- 10227,10231 ---- # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF ! #line 10229 "configure" #include "confdefs.h" $ac_includes_default *************** *** 9386,9404 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:9388: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:9391: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:9394: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:9397: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF ! #line 9402 "configure" #include "confdefs.h" $ac_includes_default --- 10239,10257 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:10241: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:10244: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:10247: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:10250: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF ! #line 10255 "configure" #include "confdefs.h" $ac_includes_default *************** *** 9412,9425 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:9414: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:9417: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:9420: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:9423: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid; break --- 10265,10278 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:10267: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:10270: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:10273: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:10276: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid; break *************** *** 9437,9441 **** while :; do cat >conftest.$ac_ext <<_ACEOF ! #line 9439 "configure" #include "confdefs.h" $ac_includes_default --- 10290,10294 ---- while :; do cat >conftest.$ac_ext <<_ACEOF ! #line 10292 "configure" #include "confdefs.h" $ac_includes_default *************** *** 9449,9462 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:9451: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:9454: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:9457: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:9460: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=$ac_mid; break --- 10302,10315 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:10304: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:10307: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:10310: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:10313: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=$ac_mid; break *************** *** 9474,9478 **** ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF ! #line 9476 "configure" #include "confdefs.h" $ac_includes_default --- 10327,10331 ---- ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF ! #line 10329 "configure" #include "confdefs.h" $ac_includes_default *************** *** 9486,9499 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:9488: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:9491: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:9494: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:9497: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid --- 10339,10352 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:10341: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:10344: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:10347: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:10350: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid *************** *** 9508,9517 **** else if test "$cross_compiling" = yes; then ! { { echo "$as_me:9510: error: cannot run test program while cross compiling" >&5 echo "$as_me: error: cannot run test program while cross compiling" >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF ! #line 9515 "configure" #include "confdefs.h" $ac_includes_default --- 10361,10370 ---- else if test "$cross_compiling" = yes; then ! { { echo "$as_me:10363: error: cannot run test program while cross compiling" >&5 echo "$as_me: error: cannot run test program while cross compiling" >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF ! #line 10368 "configure" #include "confdefs.h" $ac_includes_default *************** *** 9529,9541 **** _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:9531: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:9534: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:9536: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:9539: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_double=`cat conftest.val` --- 10382,10394 ---- _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:10384: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:10387: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:10389: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:10392: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_double=`cat conftest.val` *************** *** 9553,9557 **** fi fi ! echo "$as_me:9555: result: $ac_cv_sizeof_double" >&5 echo "${ECHO_T}$ac_cv_sizeof_double" >&6 cat >>confdefs.h <&5 echo "${ECHO_T}$ac_cv_sizeof_double" >&6 cat >>confdefs.h <&5 echo $ECHO_N "checking for long long... $ECHO_C" >&6 if test "${ac_cv_type_long_long+set}" = set; then --- 10412,10416 ---- EOF ! echo "$as_me:10414: checking for long long" >&5 echo $ECHO_N "checking for long long... $ECHO_C" >&6 if test "${ac_cv_type_long_long+set}" = set; then *************** *** 9565,9569 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 9567 "configure" #include "confdefs.h" $ac_includes_default --- 10418,10422 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 10420 "configure" #include "confdefs.h" $ac_includes_default *************** *** 9580,9593 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:9582: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:9585: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:9588: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:9591: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_long_long=yes --- 10433,10446 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:10435: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:10438: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:10441: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:10444: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_long_long=yes *************** *** 9599,9606 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:9601: result: $ac_cv_type_long_long" >&5 echo "${ECHO_T}$ac_cv_type_long_long" >&6 ! echo "$as_me:9604: checking size of long long" >&5 echo $ECHO_N "checking size of long long... $ECHO_C" >&6 if test "${ac_cv_sizeof_long_long+set}" = set; then --- 10452,10459 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:10454: result: $ac_cv_type_long_long" >&5 echo "${ECHO_T}$ac_cv_type_long_long" >&6 ! echo "$as_me:10457: checking size of long long" >&5 echo $ECHO_N "checking size of long long... $ECHO_C" >&6 if test "${ac_cv_sizeof_long_long+set}" = set; then *************** *** 9611,9615 **** # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF ! #line 9613 "configure" #include "confdefs.h" $ac_includes_default --- 10464,10468 ---- # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF ! #line 10466 "configure" #include "confdefs.h" $ac_includes_default *************** *** 9623,9641 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:9625: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:9628: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:9631: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:9634: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF ! #line 9639 "configure" #include "confdefs.h" $ac_includes_default --- 10476,10494 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:10478: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:10481: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:10484: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:10487: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF ! #line 10492 "configure" #include "confdefs.h" $ac_includes_default *************** *** 9649,9662 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:9651: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:9654: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:9657: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:9660: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid; break --- 10502,10515 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:10504: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:10507: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:10510: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:10513: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid; break *************** *** 9674,9678 **** while :; do cat >conftest.$ac_ext <<_ACEOF ! #line 9676 "configure" #include "confdefs.h" $ac_includes_default --- 10527,10531 ---- while :; do cat >conftest.$ac_ext <<_ACEOF ! #line 10529 "configure" #include "confdefs.h" $ac_includes_default *************** *** 9686,9699 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:9688: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:9691: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:9694: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:9697: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=$ac_mid; break --- 10539,10552 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:10541: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:10544: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:10547: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:10550: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=$ac_mid; break *************** *** 9711,9715 **** ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF ! #line 9713 "configure" #include "confdefs.h" $ac_includes_default --- 10564,10568 ---- ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF ! #line 10566 "configure" #include "confdefs.h" $ac_includes_default *************** *** 9723,9736 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:9725: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:9728: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:9731: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:9734: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid --- 10576,10589 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:10578: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:10581: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:10584: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:10587: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid *************** *** 9745,9754 **** else if test "$cross_compiling" = yes; then ! { { echo "$as_me:9747: error: cannot run test program while cross compiling" >&5 echo "$as_me: error: cannot run test program while cross compiling" >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF ! #line 9752 "configure" #include "confdefs.h" $ac_includes_default --- 10598,10607 ---- else if test "$cross_compiling" = yes; then ! { { echo "$as_me:10600: error: cannot run test program while cross compiling" >&5 echo "$as_me: error: cannot run test program while cross compiling" >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF ! #line 10605 "configure" #include "confdefs.h" $ac_includes_default *************** *** 9766,9778 **** _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:9768: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:9771: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:9773: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:9776: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_long_long=`cat conftest.val` --- 10619,10631 ---- _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:10621: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:10624: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:10626: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:10629: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_long_long=`cat conftest.val` *************** *** 9790,9794 **** fi fi ! echo "$as_me:9792: result: $ac_cv_sizeof_long_long" >&5 echo "${ECHO_T}$ac_cv_sizeof_long_long" >&6 cat >>confdefs.h <&5 echo "${ECHO_T}$ac_cv_sizeof_long_long" >&6 cat >>confdefs.h <&5 echo $ECHO_N "checking for u_int... $ECHO_C" >&6 if test "${ac_cv_type_u_int+set}" = set; then --- 10649,10653 ---- EOF ! echo "$as_me:10651: checking for u_int" >&5 echo $ECHO_N "checking for u_int... $ECHO_C" >&6 if test "${ac_cv_type_u_int+set}" = set; then *************** *** 9802,9806 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 9804 "configure" #include "confdefs.h" $ac_includes_default --- 10655,10659 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 10657 "configure" #include "confdefs.h" $ac_includes_default *************** *** 9817,9830 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:9819: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:9822: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:9825: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:9828: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_u_int=yes --- 10670,10683 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:10672: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:10675: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:10678: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:10681: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_u_int=yes *************** *** 9836,9840 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:9838: result: $ac_cv_type_u_int" >&5 echo "${ECHO_T}$ac_cv_type_u_int" >&6 if test $ac_cv_type_u_int = yes; then --- 10689,10693 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:10691: result: $ac_cv_type_u_int" >&5 echo "${ECHO_T}$ac_cv_type_u_int" >&6 if test $ac_cv_type_u_int = yes; then *************** *** 9848,9852 **** fi ! echo "$as_me:9850: checking for u_long" >&5 echo $ECHO_N "checking for u_long... $ECHO_C" >&6 if test "${ac_cv_type_u_long+set}" = set; then --- 10701,10705 ---- fi ! echo "$as_me:10703: checking for u_long" >&5 echo $ECHO_N "checking for u_long... $ECHO_C" >&6 if test "${ac_cv_type_u_long+set}" = set; then *************** *** 9854,9858 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 9856 "configure" #include "confdefs.h" $ac_includes_default --- 10707,10711 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 10709 "configure" #include "confdefs.h" $ac_includes_default *************** *** 9869,9882 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:9871: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:9874: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:9877: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:9880: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_u_long=yes --- 10722,10735 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:10724: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:10727: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:10730: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:10733: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_u_long=yes *************** *** 9888,9892 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:9890: result: $ac_cv_type_u_long" >&5 echo "${ECHO_T}$ac_cv_type_u_long" >&6 if test $ac_cv_type_u_long = yes; then --- 10741,10745 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:10743: result: $ac_cv_type_u_long" >&5 echo "${ECHO_T}$ac_cv_type_u_long" >&6 if test $ac_cv_type_u_long = yes; then *************** *** 9901,9905 **** if test "$ac_cv_sizeof_short" = 2; then ! echo "$as_me:9903: checking for bits16_t" >&5 echo $ECHO_N "checking for bits16_t... $ECHO_C" >&6 if test "${ac_cv_type_bits16_t+set}" = set; then --- 10754,10758 ---- if test "$ac_cv_sizeof_short" = 2; then ! echo "$as_me:10756: checking for bits16_t" >&5 echo $ECHO_N "checking for bits16_t... $ECHO_C" >&6 if test "${ac_cv_type_bits16_t+set}" = set; then *************** *** 9907,9911 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 9909 "configure" #include "confdefs.h" $ac_includes_default --- 10760,10764 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 10762 "configure" #include "confdefs.h" $ac_includes_default *************** *** 9922,9935 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:9924: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:9927: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:9930: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:9933: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_bits16_t=yes --- 10775,10788 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:10777: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:10780: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:10783: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:10786: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_bits16_t=yes *************** *** 9941,9945 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:9943: result: $ac_cv_type_bits16_t" >&5 echo "${ECHO_T}$ac_cv_type_bits16_t" >&6 if test $ac_cv_type_bits16_t = yes; then --- 10794,10798 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:10796: result: $ac_cv_type_bits16_t" >&5 echo "${ECHO_T}$ac_cv_type_bits16_t" >&6 if test $ac_cv_type_bits16_t = yes; then *************** *** 9954,9958 **** elif test "$ac_cv_sizeof_char" = 2; then ! echo "$as_me:9956: checking for bits16_t" >&5 echo $ECHO_N "checking for bits16_t... $ECHO_C" >&6 if test "${ac_cv_type_bits16_t+set}" = set; then --- 10807,10811 ---- elif test "$ac_cv_sizeof_char" = 2; then ! echo "$as_me:10809: checking for bits16_t" >&5 echo $ECHO_N "checking for bits16_t... $ECHO_C" >&6 if test "${ac_cv_type_bits16_t+set}" = set; then *************** *** 9960,9964 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 9962 "configure" #include "confdefs.h" $ac_includes_default --- 10813,10817 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 10815 "configure" #include "confdefs.h" $ac_includes_default *************** *** 9975,9988 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:9977: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:9980: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:9983: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:9986: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_bits16_t=yes --- 10828,10841 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:10830: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:10833: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:10836: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:10839: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_bits16_t=yes *************** *** 9994,9998 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:9996: result: $ac_cv_type_bits16_t" >&5 echo "${ECHO_T}$ac_cv_type_bits16_t" >&6 if test $ac_cv_type_bits16_t = yes; then --- 10847,10851 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:10849: result: $ac_cv_type_bits16_t" >&5 echo "${ECHO_T}$ac_cv_type_bits16_t" >&6 if test $ac_cv_type_bits16_t = yes; then *************** *** 10007,10011 **** else ! echo "$as_me:10009: checking for bits16_t" >&5 echo $ECHO_N "checking for bits16_t... $ECHO_C" >&6 if test "${ac_cv_type_bits16_t+set}" = set; then --- 10860,10864 ---- else ! echo "$as_me:10862: checking for bits16_t" >&5 echo $ECHO_N "checking for bits16_t... $ECHO_C" >&6 if test "${ac_cv_type_bits16_t+set}" = set; then *************** *** 10013,10017 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 10015 "configure" #include "confdefs.h" $ac_includes_default --- 10866,10870 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 10868 "configure" #include "confdefs.h" $ac_includes_default *************** *** 10028,10041 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:10030: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:10033: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:10036: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:10039: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_bits16_t=yes --- 10881,10894 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:10883: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:10886: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:10889: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:10892: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_bits16_t=yes *************** *** 10047,10051 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:10049: result: $ac_cv_type_bits16_t" >&5 echo "${ECHO_T}$ac_cv_type_bits16_t" >&6 if test $ac_cv_type_bits16_t = yes; then --- 10900,10904 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:10902: result: $ac_cv_type_bits16_t" >&5 echo "${ECHO_T}$ac_cv_type_bits16_t" >&6 if test $ac_cv_type_bits16_t = yes; then *************** *** 10062,10066 **** if test "$ac_cv_sizeof_short" = 2; then ! echo "$as_me:10064: checking for u_bits16_t" >&5 echo $ECHO_N "checking for u_bits16_t... $ECHO_C" >&6 if test "${ac_cv_type_u_bits16_t+set}" = set; then --- 10915,10919 ---- if test "$ac_cv_sizeof_short" = 2; then ! echo "$as_me:10917: checking for u_bits16_t" >&5 echo $ECHO_N "checking for u_bits16_t... $ECHO_C" >&6 if test "${ac_cv_type_u_bits16_t+set}" = set; then *************** *** 10068,10072 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 10070 "configure" #include "confdefs.h" $ac_includes_default --- 10921,10925 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 10923 "configure" #include "confdefs.h" $ac_includes_default *************** *** 10083,10096 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:10085: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:10088: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:10091: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:10094: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_u_bits16_t=yes --- 10936,10949 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:10938: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:10941: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:10944: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:10947: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_u_bits16_t=yes *************** *** 10102,10106 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:10104: result: $ac_cv_type_u_bits16_t" >&5 echo "${ECHO_T}$ac_cv_type_u_bits16_t" >&6 if test $ac_cv_type_u_bits16_t = yes; then --- 10955,10959 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:10957: result: $ac_cv_type_u_bits16_t" >&5 echo "${ECHO_T}$ac_cv_type_u_bits16_t" >&6 if test $ac_cv_type_u_bits16_t = yes; then *************** *** 10115,10119 **** elif test "$ac_cv_sizeof_char" = 2; then ! echo "$as_me:10117: checking for u_bits16_t" >&5 echo $ECHO_N "checking for u_bits16_t... $ECHO_C" >&6 if test "${ac_cv_type_u_bits16_t+set}" = set; then --- 10968,10972 ---- elif test "$ac_cv_sizeof_char" = 2; then ! echo "$as_me:10970: checking for u_bits16_t" >&5 echo $ECHO_N "checking for u_bits16_t... $ECHO_C" >&6 if test "${ac_cv_type_u_bits16_t+set}" = set; then *************** *** 10121,10125 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 10123 "configure" #include "confdefs.h" $ac_includes_default --- 10974,10978 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 10976 "configure" #include "confdefs.h" $ac_includes_default *************** *** 10136,10149 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:10138: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:10141: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:10144: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:10147: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_u_bits16_t=yes --- 10989,11002 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:10991: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:10994: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:10997: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:11000: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_u_bits16_t=yes *************** *** 10155,10159 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:10157: result: $ac_cv_type_u_bits16_t" >&5 echo "${ECHO_T}$ac_cv_type_u_bits16_t" >&6 if test $ac_cv_type_u_bits16_t = yes; then --- 11008,11012 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:11010: result: $ac_cv_type_u_bits16_t" >&5 echo "${ECHO_T}$ac_cv_type_u_bits16_t" >&6 if test $ac_cv_type_u_bits16_t = yes; then *************** *** 10168,10172 **** else ! echo "$as_me:10170: checking for u_bits16_t" >&5 echo $ECHO_N "checking for u_bits16_t... $ECHO_C" >&6 if test "${ac_cv_type_u_bits16_t+set}" = set; then --- 11021,11025 ---- else ! echo "$as_me:11023: checking for u_bits16_t" >&5 echo $ECHO_N "checking for u_bits16_t... $ECHO_C" >&6 if test "${ac_cv_type_u_bits16_t+set}" = set; then *************** *** 10174,10178 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 10176 "configure" #include "confdefs.h" $ac_includes_default --- 11027,11031 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 11029 "configure" #include "confdefs.h" $ac_includes_default *************** *** 10189,10202 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:10191: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:10194: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:10197: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:10200: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_u_bits16_t=yes --- 11042,11055 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:11044: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:11047: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:11050: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:11053: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_u_bits16_t=yes *************** *** 10208,10212 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:10210: result: $ac_cv_type_u_bits16_t" >&5 echo "${ECHO_T}$ac_cv_type_u_bits16_t" >&6 if test $ac_cv_type_u_bits16_t = yes; then --- 11061,11065 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:11063: result: $ac_cv_type_u_bits16_t" >&5 echo "${ECHO_T}$ac_cv_type_u_bits16_t" >&6 if test $ac_cv_type_u_bits16_t = yes; then *************** *** 10223,10227 **** if test "$ac_cv_sizeof_int" = 4; then ! echo "$as_me:10225: checking for bits32_t" >&5 echo $ECHO_N "checking for bits32_t... $ECHO_C" >&6 if test "${ac_cv_type_bits32_t+set}" = set; then --- 11076,11080 ---- if test "$ac_cv_sizeof_int" = 4; then ! echo "$as_me:11078: checking for bits32_t" >&5 echo $ECHO_N "checking for bits32_t... $ECHO_C" >&6 if test "${ac_cv_type_bits32_t+set}" = set; then *************** *** 10229,10233 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 10231 "configure" #include "confdefs.h" $ac_includes_default --- 11082,11086 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 11084 "configure" #include "confdefs.h" $ac_includes_default *************** *** 10244,10257 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:10246: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:10249: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:10252: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:10255: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_bits32_t=yes --- 11097,11110 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:11099: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:11102: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:11105: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:11108: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_bits32_t=yes *************** *** 10263,10267 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:10265: result: $ac_cv_type_bits32_t" >&5 echo "${ECHO_T}$ac_cv_type_bits32_t" >&6 if test $ac_cv_type_bits32_t = yes; then --- 11116,11120 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:11118: result: $ac_cv_type_bits32_t" >&5 echo "${ECHO_T}$ac_cv_type_bits32_t" >&6 if test $ac_cv_type_bits32_t = yes; then *************** *** 10276,10280 **** elif test "$ac_cv_sizeof_long" = 4; then ! echo "$as_me:10278: checking for bits32_t" >&5 echo $ECHO_N "checking for bits32_t... $ECHO_C" >&6 if test "${ac_cv_type_bits32_t+set}" = set; then --- 11129,11133 ---- elif test "$ac_cv_sizeof_long" = 4; then ! echo "$as_me:11131: checking for bits32_t" >&5 echo $ECHO_N "checking for bits32_t... $ECHO_C" >&6 if test "${ac_cv_type_bits32_t+set}" = set; then *************** *** 10282,10286 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 10284 "configure" #include "confdefs.h" $ac_includes_default --- 11135,11139 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 11137 "configure" #include "confdefs.h" $ac_includes_default *************** *** 10297,10310 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:10299: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:10302: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:10305: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:10308: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_bits32_t=yes --- 11150,11163 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:11152: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:11155: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:11158: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:11161: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_bits32_t=yes *************** *** 10316,10320 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:10318: result: $ac_cv_type_bits32_t" >&5 echo "${ECHO_T}$ac_cv_type_bits32_t" >&6 if test $ac_cv_type_bits32_t = yes; then --- 11169,11173 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:11171: result: $ac_cv_type_bits32_t" >&5 echo "${ECHO_T}$ac_cv_type_bits32_t" >&6 if test $ac_cv_type_bits32_t = yes; then *************** *** 10329,10333 **** else ! echo "$as_me:10331: checking for bits32_t" >&5 echo $ECHO_N "checking for bits32_t... $ECHO_C" >&6 if test "${ac_cv_type_bits32_t+set}" = set; then --- 11182,11186 ---- else ! echo "$as_me:11184: checking for bits32_t" >&5 echo $ECHO_N "checking for bits32_t... $ECHO_C" >&6 if test "${ac_cv_type_bits32_t+set}" = set; then *************** *** 10335,10339 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 10337 "configure" #include "confdefs.h" $ac_includes_default --- 11188,11192 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 11190 "configure" #include "confdefs.h" $ac_includes_default *************** *** 10350,10363 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:10352: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:10355: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:10358: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:10361: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_bits32_t=yes --- 11203,11216 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:11205: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:11208: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:11211: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:11214: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_bits32_t=yes *************** *** 10369,10373 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:10371: result: $ac_cv_type_bits32_t" >&5 echo "${ECHO_T}$ac_cv_type_bits32_t" >&6 if test $ac_cv_type_bits32_t = yes; then --- 11222,11226 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:11224: result: $ac_cv_type_bits32_t" >&5 echo "${ECHO_T}$ac_cv_type_bits32_t" >&6 if test $ac_cv_type_bits32_t = yes; then *************** *** 10384,10388 **** if test "$ac_cv_sizeof_int" = 4; then ! echo "$as_me:10386: checking for u_bits32_t" >&5 echo $ECHO_N "checking for u_bits32_t... $ECHO_C" >&6 if test "${ac_cv_type_u_bits32_t+set}" = set; then --- 11237,11241 ---- if test "$ac_cv_sizeof_int" = 4; then ! echo "$as_me:11239: checking for u_bits32_t" >&5 echo $ECHO_N "checking for u_bits32_t... $ECHO_C" >&6 if test "${ac_cv_type_u_bits32_t+set}" = set; then *************** *** 10390,10394 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 10392 "configure" #include "confdefs.h" $ac_includes_default --- 11243,11247 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 11245 "configure" #include "confdefs.h" $ac_includes_default *************** *** 10405,10418 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:10407: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:10410: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:10413: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:10416: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_u_bits32_t=yes --- 11258,11271 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:11260: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:11263: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:11266: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:11269: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_u_bits32_t=yes *************** *** 10424,10428 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:10426: result: $ac_cv_type_u_bits32_t" >&5 echo "${ECHO_T}$ac_cv_type_u_bits32_t" >&6 if test $ac_cv_type_u_bits32_t = yes; then --- 11277,11281 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:11279: result: $ac_cv_type_u_bits32_t" >&5 echo "${ECHO_T}$ac_cv_type_u_bits32_t" >&6 if test $ac_cv_type_u_bits32_t = yes; then *************** *** 10437,10441 **** elif test "$ac_cv_sizeof_long" = 4; then ! echo "$as_me:10439: checking for u_bits32_t" >&5 echo $ECHO_N "checking for u_bits32_t... $ECHO_C" >&6 if test "${ac_cv_type_u_bits32_t+set}" = set; then --- 11290,11294 ---- elif test "$ac_cv_sizeof_long" = 4; then ! echo "$as_me:11292: checking for u_bits32_t" >&5 echo $ECHO_N "checking for u_bits32_t... $ECHO_C" >&6 if test "${ac_cv_type_u_bits32_t+set}" = set; then *************** *** 10443,10447 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 10445 "configure" #include "confdefs.h" $ac_includes_default --- 11296,11300 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 11298 "configure" #include "confdefs.h" $ac_includes_default *************** *** 10458,10471 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:10460: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:10463: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:10466: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:10469: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_u_bits32_t=yes --- 11311,11324 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:11313: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:11316: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:11319: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:11322: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_u_bits32_t=yes *************** *** 10477,10481 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:10479: result: $ac_cv_type_u_bits32_t" >&5 echo "${ECHO_T}$ac_cv_type_u_bits32_t" >&6 if test $ac_cv_type_u_bits32_t = yes; then --- 11330,11334 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:11332: result: $ac_cv_type_u_bits32_t" >&5 echo "${ECHO_T}$ac_cv_type_u_bits32_t" >&6 if test $ac_cv_type_u_bits32_t = yes; then *************** *** 10490,10494 **** else ! echo "$as_me:10492: checking for u_bits32_t" >&5 echo $ECHO_N "checking for u_bits32_t... $ECHO_C" >&6 if test "${ac_cv_type_u_bits32_t+set}" = set; then --- 11343,11347 ---- else ! echo "$as_me:11345: checking for u_bits32_t" >&5 echo $ECHO_N "checking for u_bits32_t... $ECHO_C" >&6 if test "${ac_cv_type_u_bits32_t+set}" = set; then *************** *** 10496,10500 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 10498 "configure" #include "confdefs.h" $ac_includes_default --- 11349,11353 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 11351 "configure" #include "confdefs.h" $ac_includes_default *************** *** 10511,10524 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:10513: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:10516: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:10519: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:10522: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_u_bits32_t=yes --- 11364,11377 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:11366: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:11369: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:11372: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:11375: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_u_bits32_t=yes *************** *** 10530,10534 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:10532: result: $ac_cv_type_u_bits32_t" >&5 echo "${ECHO_T}$ac_cv_type_u_bits32_t" >&6 if test $ac_cv_type_u_bits32_t = yes; then --- 11383,11387 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:11385: result: $ac_cv_type_u_bits32_t" >&5 echo "${ECHO_T}$ac_cv_type_u_bits32_t" >&6 if test $ac_cv_type_u_bits32_t = yes; then *************** *** 10545,10549 **** if test "$ac_cv_sizeof_char_p" = 8; then ! echo "$as_me:10547: checking for bits64_t" >&5 echo $ECHO_N "checking for bits64_t... $ECHO_C" >&6 if test "${ac_cv_type_bits64_t+set}" = set; then --- 11398,11402 ---- if test "$ac_cv_sizeof_char_p" = 8; then ! echo "$as_me:11400: checking for bits64_t" >&5 echo $ECHO_N "checking for bits64_t... $ECHO_C" >&6 if test "${ac_cv_type_bits64_t+set}" = set; then *************** *** 10551,10555 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 10553 "configure" #include "confdefs.h" $ac_includes_default --- 11404,11408 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 11406 "configure" #include "confdefs.h" $ac_includes_default *************** *** 10566,10579 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:10568: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:10571: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:10574: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:10577: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_bits64_t=yes --- 11419,11432 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:11421: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:11424: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:11427: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:11430: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_bits64_t=yes *************** *** 10585,10589 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:10587: result: $ac_cv_type_bits64_t" >&5 echo "${ECHO_T}$ac_cv_type_bits64_t" >&6 if test $ac_cv_type_bits64_t = yes; then --- 11438,11442 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:11440: result: $ac_cv_type_bits64_t" >&5 echo "${ECHO_T}$ac_cv_type_bits64_t" >&6 if test $ac_cv_type_bits64_t = yes; then *************** *** 10598,10602 **** elif test "$ac_cv_sizeof_double" = 8; then ! echo "$as_me:10600: checking for bits64_t" >&5 echo $ECHO_N "checking for bits64_t... $ECHO_C" >&6 if test "${ac_cv_type_bits64_t+set}" = set; then --- 11451,11455 ---- elif test "$ac_cv_sizeof_double" = 8; then ! echo "$as_me:11453: checking for bits64_t" >&5 echo $ECHO_N "checking for bits64_t... $ECHO_C" >&6 if test "${ac_cv_type_bits64_t+set}" = set; then *************** *** 10604,10608 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 10606 "configure" #include "confdefs.h" $ac_includes_default --- 11457,11461 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 11459 "configure" #include "confdefs.h" $ac_includes_default *************** *** 10619,10632 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:10621: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:10624: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:10627: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:10630: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_bits64_t=yes --- 11472,11485 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:11474: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:11477: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:11480: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:11483: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_bits64_t=yes *************** *** 10638,10642 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:10640: result: $ac_cv_type_bits64_t" >&5 echo "${ECHO_T}$ac_cv_type_bits64_t" >&6 if test $ac_cv_type_bits64_t = yes; then --- 11491,11495 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:11493: result: $ac_cv_type_bits64_t" >&5 echo "${ECHO_T}$ac_cv_type_bits64_t" >&6 if test $ac_cv_type_bits64_t = yes; then *************** *** 10651,10655 **** elif test -n "$ac_cv_type_long_long" && test "$ac_cv_sizeof_long_long" = 8; then ! echo "$as_me:10653: checking for bits64_t" >&5 echo $ECHO_N "checking for bits64_t... $ECHO_C" >&6 if test "${ac_cv_type_bits64_t+set}" = set; then --- 11504,11508 ---- elif test -n "$ac_cv_type_long_long" && test "$ac_cv_sizeof_long_long" = 8; then ! echo "$as_me:11506: checking for bits64_t" >&5 echo $ECHO_N "checking for bits64_t... $ECHO_C" >&6 if test "${ac_cv_type_bits64_t+set}" = set; then *************** *** 10657,10661 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 10659 "configure" #include "confdefs.h" $ac_includes_default --- 11510,11514 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 11512 "configure" #include "confdefs.h" $ac_includes_default *************** *** 10672,10685 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:10674: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:10677: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:10680: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:10683: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_bits64_t=yes --- 11525,11538 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:11527: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:11530: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:11533: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:11536: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_bits64_t=yes *************** *** 10691,10695 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:10693: result: $ac_cv_type_bits64_t" >&5 echo "${ECHO_T}$ac_cv_type_bits64_t" >&6 if test $ac_cv_type_bits64_t = yes; then --- 11544,11548 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:11546: result: $ac_cv_type_bits64_t" >&5 echo "${ECHO_T}$ac_cv_type_bits64_t" >&6 if test $ac_cv_type_bits64_t = yes; then *************** *** 10704,10708 **** elif test "$ac_cv_sizeof_long" = 8; then ! echo "$as_me:10706: checking for bits64_t" >&5 echo $ECHO_N "checking for bits64_t... $ECHO_C" >&6 if test "${ac_cv_type_bits64_t+set}" = set; then --- 11557,11561 ---- elif test "$ac_cv_sizeof_long" = 8; then ! echo "$as_me:11559: checking for bits64_t" >&5 echo $ECHO_N "checking for bits64_t... $ECHO_C" >&6 if test "${ac_cv_type_bits64_t+set}" = set; then *************** *** 10710,10714 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 10712 "configure" #include "confdefs.h" $ac_includes_default --- 11563,11567 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 11565 "configure" #include "confdefs.h" $ac_includes_default *************** *** 10725,10738 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:10727: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:10730: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:10733: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:10736: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_bits64_t=yes --- 11578,11591 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:11580: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:11583: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:11586: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:11589: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_bits64_t=yes *************** *** 10744,10748 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:10746: result: $ac_cv_type_bits64_t" >&5 echo "${ECHO_T}$ac_cv_type_bits64_t" >&6 if test $ac_cv_type_bits64_t = yes; then --- 11597,11601 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:11599: result: $ac_cv_type_bits64_t" >&5 echo "${ECHO_T}$ac_cv_type_bits64_t" >&6 if test $ac_cv_type_bits64_t = yes; then *************** *** 10757,10761 **** else ! echo "$as_me:10759: checking for bits64_t" >&5 echo $ECHO_N "checking for bits64_t... $ECHO_C" >&6 if test "${ac_cv_type_bits64_t+set}" = set; then --- 11610,11614 ---- else ! echo "$as_me:11612: checking for bits64_t" >&5 echo $ECHO_N "checking for bits64_t... $ECHO_C" >&6 if test "${ac_cv_type_bits64_t+set}" = set; then *************** *** 10763,10767 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 10765 "configure" #include "confdefs.h" $ac_includes_default --- 11616,11620 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 11618 "configure" #include "confdefs.h" $ac_includes_default *************** *** 10778,10791 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:10780: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:10783: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:10786: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:10789: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_bits64_t=yes --- 11631,11644 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:11633: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:11636: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:11639: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:11642: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_bits64_t=yes *************** *** 10797,10801 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:10799: result: $ac_cv_type_bits64_t" >&5 echo "${ECHO_T}$ac_cv_type_bits64_t" >&6 if test $ac_cv_type_bits64_t = yes; then --- 11650,11654 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:11652: result: $ac_cv_type_bits64_t" >&5 echo "${ECHO_T}$ac_cv_type_bits64_t" >&6 if test $ac_cv_type_bits64_t = yes; then *************** *** 10812,10816 **** if test "$ac_cv_sizeof_int" = "$ac_cv_sizeof_char_p"; then ! echo "$as_me:10814: checking for ptrdiff_t" >&5 echo $ECHO_N "checking for ptrdiff_t... $ECHO_C" >&6 if test "${ac_cv_type_ptrdiff_t+set}" = set; then --- 11665,11669 ---- if test "$ac_cv_sizeof_int" = "$ac_cv_sizeof_char_p"; then ! echo "$as_me:11667: checking for ptrdiff_t" >&5 echo $ECHO_N "checking for ptrdiff_t... $ECHO_C" >&6 if test "${ac_cv_type_ptrdiff_t+set}" = set; then *************** *** 10818,10822 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 10820 "configure" #include "confdefs.h" $ac_includes_default --- 11671,11675 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 11673 "configure" #include "confdefs.h" $ac_includes_default *************** *** 10833,10846 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:10835: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:10838: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:10841: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:10844: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_ptrdiff_t=yes --- 11686,11699 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:11688: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:11691: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:11694: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:11697: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_ptrdiff_t=yes *************** *** 10852,10856 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:10854: result: $ac_cv_type_ptrdiff_t" >&5 echo "${ECHO_T}$ac_cv_type_ptrdiff_t" >&6 if test $ac_cv_type_ptrdiff_t = yes; then --- 11705,11709 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:11707: result: $ac_cv_type_ptrdiff_t" >&5 echo "${ECHO_T}$ac_cv_type_ptrdiff_t" >&6 if test $ac_cv_type_ptrdiff_t = yes; then *************** *** 10865,10869 **** elif test "$ac_cv_sizeof_long" = "$ac_cv_sizeof_char_p"; then ! echo "$as_me:10867: checking for ptrdiff_t" >&5 echo $ECHO_N "checking for ptrdiff_t... $ECHO_C" >&6 if test "${ac_cv_type_ptrdiff_t+set}" = set; then --- 11718,11722 ---- elif test "$ac_cv_sizeof_long" = "$ac_cv_sizeof_char_p"; then ! echo "$as_me:11720: checking for ptrdiff_t" >&5 echo $ECHO_N "checking for ptrdiff_t... $ECHO_C" >&6 if test "${ac_cv_type_ptrdiff_t+set}" = set; then *************** *** 10871,10875 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 10873 "configure" #include "confdefs.h" $ac_includes_default --- 11724,11728 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 11726 "configure" #include "confdefs.h" $ac_includes_default *************** *** 10886,10899 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:10888: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:10891: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:10894: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:10897: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_ptrdiff_t=yes --- 11739,11752 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:11741: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:11744: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:11747: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:11750: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_ptrdiff_t=yes *************** *** 10905,10909 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:10907: result: $ac_cv_type_ptrdiff_t" >&5 echo "${ECHO_T}$ac_cv_type_ptrdiff_t" >&6 if test $ac_cv_type_ptrdiff_t = yes; then --- 11758,11762 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:11760: result: $ac_cv_type_ptrdiff_t" >&5 echo "${ECHO_T}$ac_cv_type_ptrdiff_t" >&6 if test $ac_cv_type_ptrdiff_t = yes; then *************** *** 10918,10922 **** elif test "$ac_cv_type_long_long" = yes && test "$ac_cv_sizeof_long_long" = "$ac_cv_sizeof_char_p"; then ! echo "$as_me:10920: checking for ptrdiff_t" >&5 echo $ECHO_N "checking for ptrdiff_t... $ECHO_C" >&6 if test "${ac_cv_type_ptrdiff_t+set}" = set; then --- 11771,11775 ---- elif test "$ac_cv_type_long_long" = yes && test "$ac_cv_sizeof_long_long" = "$ac_cv_sizeof_char_p"; then ! echo "$as_me:11773: checking for ptrdiff_t" >&5 echo $ECHO_N "checking for ptrdiff_t... $ECHO_C" >&6 if test "${ac_cv_type_ptrdiff_t+set}" = set; then *************** *** 10924,10928 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 10926 "configure" #include "confdefs.h" $ac_includes_default --- 11777,11781 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 11779 "configure" #include "confdefs.h" $ac_includes_default *************** *** 10939,10952 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:10941: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:10944: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:10947: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:10950: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_ptrdiff_t=yes --- 11792,11805 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:11794: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:11797: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:11800: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:11803: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_ptrdiff_t=yes *************** *** 10958,10962 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:10960: result: $ac_cv_type_ptrdiff_t" >&5 echo "${ECHO_T}$ac_cv_type_ptrdiff_t" >&6 if test $ac_cv_type_ptrdiff_t = yes; then --- 11811,11815 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:11813: result: $ac_cv_type_ptrdiff_t" >&5 echo "${ECHO_T}$ac_cv_type_ptrdiff_t" >&6 if test $ac_cv_type_ptrdiff_t = yes; then *************** *** 10971,10975 **** else ! echo "$as_me:10973: checking for ptrdiff_t" >&5 echo $ECHO_N "checking for ptrdiff_t... $ECHO_C" >&6 if test "${ac_cv_type_ptrdiff_t+set}" = set; then --- 11824,11828 ---- else ! echo "$as_me:11826: checking for ptrdiff_t" >&5 echo $ECHO_N "checking for ptrdiff_t... $ECHO_C" >&6 if test "${ac_cv_type_ptrdiff_t+set}" = set; then *************** *** 10977,10981 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 10979 "configure" #include "confdefs.h" $ac_includes_default --- 11830,11834 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 11832 "configure" #include "confdefs.h" $ac_includes_default *************** *** 10992,11005 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:10994: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:10997: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:11000: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:11003: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_ptrdiff_t=yes --- 11845,11858 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:11847: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:11850: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:11853: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:11856: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_ptrdiff_t=yes *************** *** 11011,11015 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:11013: result: $ac_cv_type_ptrdiff_t" >&5 echo "${ECHO_T}$ac_cv_type_ptrdiff_t" >&6 if test $ac_cv_type_ptrdiff_t = yes; then --- 11864,11868 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:11866: result: $ac_cv_type_ptrdiff_t" >&5 echo "${ECHO_T}$ac_cv_type_ptrdiff_t" >&6 if test $ac_cv_type_ptrdiff_t = yes; then *************** *** 11025,11029 **** fi ! echo "$as_me:11027: checking whether stat file-mode macros are broken" >&5 echo $ECHO_N "checking whether stat file-mode macros are broken... $ECHO_C" >&6 if test "${ac_cv_header_stat_broken+set}" = set; then --- 11878,11882 ---- fi ! echo "$as_me:11880: checking whether stat file-mode macros are broken" >&5 echo $ECHO_N "checking whether stat file-mode macros are broken... $ECHO_C" >&6 if test "${ac_cv_header_stat_broken+set}" = set; then *************** *** 11031,11035 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 11033 "configure" #include "confdefs.h" #include --- 11884,11888 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 11886 "configure" #include "confdefs.h" #include *************** *** 11070,11074 **** fi ! echo "$as_me:11072: result: $ac_cv_header_stat_broken" >&5 echo "${ECHO_T}$ac_cv_header_stat_broken" >&6 if test $ac_cv_header_stat_broken = yes; then --- 11923,11927 ---- fi ! echo "$as_me:11925: result: $ac_cv_header_stat_broken" >&5 echo "${ECHO_T}$ac_cv_header_stat_broken" >&6 if test $ac_cv_header_stat_broken = yes; then *************** *** 11080,11084 **** fi ! echo "$as_me:11082: checking whether #! works in shell scripts" >&5 echo $ECHO_N "checking whether #! works in shell scripts... $ECHO_C" >&6 if test "${ac_cv_sys_interpreter+set}" = set; then --- 11933,11937 ---- fi ! echo "$as_me:11935: checking whether #! works in shell scripts" >&5 echo $ECHO_N "checking whether #! works in shell scripts... $ECHO_C" >&6 if test "${ac_cv_sys_interpreter+set}" = set; then *************** *** 11097,11101 **** rm -f conftest fi ! echo "$as_me:11099: result: $ac_cv_sys_interpreter" >&5 echo "${ECHO_T}$ac_cv_sys_interpreter" >&6 interpval=$ac_cv_sys_interpreter --- 11950,11954 ---- rm -f conftest fi ! echo "$as_me:11952: result: $ac_cv_sys_interpreter" >&5 echo "${ECHO_T}$ac_cv_sys_interpreter" >&6 interpval=$ac_cv_sys_interpreter *************** *** 11109,11113 **** if test "$ac_cv_func_lstat" = "no"; then ! echo "$as_me:11111: checking for lstat" >&5 echo $ECHO_N "checking for lstat... $ECHO_C" >&6 if test "${bash_cv_func_lstat+set}" = set; then --- 11962,11966 ---- if test "$ac_cv_func_lstat" = "no"; then ! echo "$as_me:11964: checking for lstat" >&5 echo $ECHO_N "checking for lstat... $ECHO_C" >&6 if test "${bash_cv_func_lstat+set}" = set; then *************** *** 11115,11119 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 11117 "configure" #include "confdefs.h" --- 11968,11972 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 11970 "configure" #include "confdefs.h" *************** *** 11130,11143 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:11132: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:11135: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:11138: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:11141: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_func_lstat=yes --- 11983,11996 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:11985: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:11988: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:11991: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:11994: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_func_lstat=yes *************** *** 11149,11153 **** rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:11151: result: $bash_cv_func_lstat" >&5 echo "${ECHO_T}$bash_cv_func_lstat" >&6 if test $bash_cv_func_lstat = yes; then --- 12002,12006 ---- rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:12004: result: $bash_cv_func_lstat" >&5 echo "${ECHO_T}$bash_cv_func_lstat" >&6 if test $bash_cv_func_lstat = yes; then *************** *** 11160,11164 **** fi ! echo "$as_me:11162: checking if dup2 fails to clear the close-on-exec flag" >&5 echo $ECHO_N "checking if dup2 fails to clear the close-on-exec flag... $ECHO_C" >&6 if test "${bash_cv_dup2_broken+set}" = set; then --- 12013,12017 ---- fi ! echo "$as_me:12015: checking if dup2 fails to clear the close-on-exec flag" >&5 echo $ECHO_N "checking if dup2 fails to clear the close-on-exec flag... $ECHO_C" >&6 if test "${bash_cv_dup2_broken+set}" = set; then *************** *** 11166,11175 **** else if test "$cross_compiling" = yes; then ! { echo "$as_me:11168: WARNING: cannot check dup2 if cross compiling -- defaulting to no" >&5 echo "$as_me: WARNING: cannot check dup2 if cross compiling -- defaulting to no" >&2;} bash_cv_dup2_broken=no else cat >conftest.$ac_ext <<_ACEOF ! #line 11173 "configure" #include "confdefs.h" --- 12019,12028 ---- else if test "$cross_compiling" = yes; then ! { echo "$as_me:12021: WARNING: cannot check dup2 if cross compiling -- defaulting to no" >&5 echo "$as_me: WARNING: cannot check dup2 if cross compiling -- defaulting to no" >&2;} bash_cv_dup2_broken=no else cat >conftest.$ac_ext <<_ACEOF ! #line 12026 "configure" #include "confdefs.h" *************** *** 11192,11204 **** _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:11194: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:11197: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:11199: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:11202: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_dup2_broken=yes --- 12045,12057 ---- _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:12047: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:12050: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:12052: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:12055: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_dup2_broken=yes *************** *** 11214,11218 **** fi ! echo "$as_me:11216: result: $bash_cv_dup2_broken" >&5 echo "${ECHO_T}$bash_cv_dup2_broken" >&6 if test $bash_cv_dup2_broken = yes; then --- 12067,12071 ---- fi ! echo "$as_me:12069: result: $bash_cv_dup2_broken" >&5 echo "${ECHO_T}$bash_cv_dup2_broken" >&6 if test $bash_cv_dup2_broken = yes; then *************** *** 11223,11227 **** fi ! echo "$as_me:11225: checking whether pgrps need synchronization" >&5 echo $ECHO_N "checking whether pgrps need synchronization... $ECHO_C" >&6 if test "${bash_cv_pgrp_pipe+set}" = set; then --- 12076,12080 ---- fi ! echo "$as_me:12078: checking whether pgrps need synchronization" >&5 echo $ECHO_N "checking whether pgrps need synchronization... $ECHO_C" >&6 if test "${bash_cv_pgrp_pipe+set}" = set; then *************** *** 11229,11238 **** else if test "$cross_compiling" = yes; then ! { echo "$as_me:11231: WARNING: cannot check pgrp synchronization if cross compiling -- defaulting to no" >&5 echo "$as_me: WARNING: cannot check pgrp synchronization if cross compiling -- defaulting to no" >&2;} bash_cv_pgrp_pipe=no else cat >conftest.$ac_ext <<_ACEOF ! #line 11236 "configure" #include "confdefs.h" --- 12082,12091 ---- else if test "$cross_compiling" = yes; then ! { echo "$as_me:12084: WARNING: cannot check pgrp synchronization if cross compiling -- defaulting to no" >&5 echo "$as_me: WARNING: cannot check pgrp synchronization if cross compiling -- defaulting to no" >&2;} bash_cv_pgrp_pipe=no else cat >conftest.$ac_ext <<_ACEOF ! #line 12089 "configure" #include "confdefs.h" *************** *** 11287,11299 **** _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:11289: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:11292: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:11294: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:11297: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_pgrp_pipe=no --- 12140,12152 ---- _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:12142: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:12145: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:12147: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:12150: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_pgrp_pipe=no *************** *** 11309,11313 **** fi ! echo "$as_me:11311: result: $bash_cv_pgrp_pipe" >&5 echo "${ECHO_T}$bash_cv_pgrp_pipe" >&6 if test $bash_cv_pgrp_pipe = yes; then --- 12162,12166 ---- fi ! echo "$as_me:12164: result: $bash_cv_pgrp_pipe" >&5 echo "${ECHO_T}$bash_cv_pgrp_pipe" >&6 if test $bash_cv_pgrp_pipe = yes; then *************** *** 11318,11322 **** fi ! echo "$as_me:11320: checking for type of signal functions" >&5 echo $ECHO_N "checking for type of signal functions... $ECHO_C" >&6 if test "${bash_cv_signal_vintage+set}" = set; then --- 12171,12175 ---- fi ! echo "$as_me:12173: checking for type of signal functions" >&5 echo $ECHO_N "checking for type of signal functions... $ECHO_C" >&6 if test "${bash_cv_signal_vintage+set}" = set; then *************** *** 11325,11329 **** cat >conftest.$ac_ext <<_ACEOF ! #line 11327 "configure" #include "confdefs.h" #include --- 12178,12182 ---- cat >conftest.$ac_ext <<_ACEOF ! #line 12180 "configure" #include "confdefs.h" #include *************** *** 11343,11356 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:11345: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:11348: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:11351: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:11354: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_signal_vintage=posix --- 12196,12209 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:12198: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:12201: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:12204: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:12207: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_signal_vintage=posix *************** *** 11360,11364 **** cat >conftest.$ac_ext <<_ACEOF ! #line 11362 "configure" #include "confdefs.h" #include --- 12213,12217 ---- cat >conftest.$ac_ext <<_ACEOF ! #line 12215 "configure" #include "confdefs.h" #include *************** *** 11375,11388 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:11377: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:11380: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:11383: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:11386: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_signal_vintage=4.2bsd --- 12228,12241 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:12230: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:12233: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:12236: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:12239: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_signal_vintage=4.2bsd *************** *** 11392,11396 **** cat >conftest.$ac_ext <<_ACEOF ! #line 11394 "configure" #include "confdefs.h" --- 12245,12249 ---- cat >conftest.$ac_ext <<_ACEOF ! #line 12247 "configure" #include "confdefs.h" *************** *** 11410,11423 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:11412: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:11415: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:11418: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:11421: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_signal_vintage=svr3 --- 12263,12276 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:12265: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:12268: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:12271: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:12274: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_signal_vintage=svr3 *************** *** 11438,11442 **** fi ! echo "$as_me:11440: result: $bash_cv_signal_vintage" >&5 echo "${ECHO_T}$bash_cv_signal_vintage" >&6 if test "$bash_cv_signal_vintage" = posix; then --- 12291,12295 ---- fi ! echo "$as_me:12293: result: $bash_cv_signal_vintage" >&5 echo "${ECHO_T}$bash_cv_signal_vintage" >&6 if test "$bash_cv_signal_vintage" = posix; then *************** *** 11457,11461 **** fi ! echo "$as_me:11459: checking for sys_errlist and sys_nerr" >&5 echo $ECHO_N "checking for sys_errlist and sys_nerr... $ECHO_C" >&6 if test "${bash_cv_sys_errlist+set}" = set; then --- 12310,12314 ---- fi ! echo "$as_me:12312: checking for sys_errlist and sys_nerr" >&5 echo $ECHO_N "checking for sys_errlist and sys_nerr... $ECHO_C" >&6 if test "${bash_cv_sys_errlist+set}" = set; then *************** *** 11463,11467 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 11465 "configure" #include "confdefs.h" #include --- 12316,12320 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 12318 "configure" #include "confdefs.h" #include *************** *** 11477,11490 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:11479: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:11482: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:11485: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:11488: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_sys_errlist=yes --- 12330,12343 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:12332: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:12335: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:12338: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:12341: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_sys_errlist=yes *************** *** 11496,11500 **** rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:11498: result: $bash_cv_sys_errlist" >&5 echo "${ECHO_T}$bash_cv_sys_errlist" >&6 if test $bash_cv_sys_errlist = yes; then --- 12349,12353 ---- rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:12351: result: $bash_cv_sys_errlist" >&5 echo "${ECHO_T}$bash_cv_sys_errlist" >&6 if test $bash_cv_sys_errlist = yes; then *************** *** 11505,11509 **** fi ! echo "$as_me:11507: checking for sys_siglist in system C library" >&5 echo $ECHO_N "checking for sys_siglist in system C library... $ECHO_C" >&6 if test "${bash_cv_sys_siglist+set}" = set; then --- 12358,12362 ---- fi ! echo "$as_me:12360: checking for sys_siglist in system C library" >&5 echo $ECHO_N "checking for sys_siglist in system C library... $ECHO_C" >&6 if test "${bash_cv_sys_siglist+set}" = set; then *************** *** 11511,11520 **** else if test "$cross_compiling" = yes; then ! { echo "$as_me:11513: WARNING: cannot check for sys_siglist if cross compiling -- defaulting to no" >&5 echo "$as_me: WARNING: cannot check for sys_siglist if cross compiling -- defaulting to no" >&2;} bash_cv_sys_siglist=no else cat >conftest.$ac_ext <<_ACEOF ! #line 11518 "configure" #include "confdefs.h" --- 12364,12373 ---- else if test "$cross_compiling" = yes; then ! { echo "$as_me:12366: WARNING: cannot check for sys_siglist if cross compiling -- defaulting to no" >&5 echo "$as_me: WARNING: cannot check for sys_siglist if cross compiling -- defaulting to no" >&2;} bash_cv_sys_siglist=no else cat >conftest.$ac_ext <<_ACEOF ! #line 12371 "configure" #include "confdefs.h" *************** *** 11534,11546 **** _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:11536: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:11539: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:11541: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:11544: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_sys_siglist=yes --- 12387,12399 ---- _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:12389: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:12392: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:12394: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:12397: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_sys_siglist=yes *************** *** 11555,11559 **** fi ! echo "$as_me:11557: result: $bash_cv_sys_siglist" >&5 echo "${ECHO_T}$bash_cv_sys_siglist" >&6 if test $bash_cv_sys_siglist = yes; then --- 12408,12412 ---- fi ! echo "$as_me:12410: result: $bash_cv_sys_siglist" >&5 echo "${ECHO_T}$bash_cv_sys_siglist" >&6 if test $bash_cv_sys_siglist = yes; then *************** *** 11564,11568 **** fi ! echo "$as_me:11566: checking for _sys_siglist in signal.h or unistd.h" >&5 echo $ECHO_N "checking for _sys_siglist in signal.h or unistd.h... $ECHO_C" >&6 if test "${bash_cv_decl_under_sys_siglist+set}" = set; then --- 12417,12421 ---- fi ! echo "$as_me:12419: checking for _sys_siglist in signal.h or unistd.h" >&5 echo $ECHO_N "checking for _sys_siglist in signal.h or unistd.h... $ECHO_C" >&6 if test "${bash_cv_decl_under_sys_siglist+set}" = set; then *************** *** 11570,11574 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 11572 "configure" #include "confdefs.h" --- 12423,12427 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 12425 "configure" #include "confdefs.h" *************** *** 11587,11600 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:11589: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:11592: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:11595: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:11598: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_decl_under_sys_siglist=yes --- 12440,12453 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:12442: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:12445: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:12448: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:12451: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_decl_under_sys_siglist=yes *************** *** 11606,11610 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:11608: result: $bash_cv_decl_under_sys_siglist" >&5 echo "${ECHO_T}$bash_cv_decl_under_sys_siglist" >&6 if test $bash_cv_decl_under_sys_siglist = yes; then --- 12459,12463 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:12461: result: $bash_cv_decl_under_sys_siglist" >&5 echo "${ECHO_T}$bash_cv_decl_under_sys_siglist" >&6 if test $bash_cv_decl_under_sys_siglist = yes; then *************** *** 11615,11619 **** fi ! echo "$as_me:11617: checking for _sys_siglist in system C library" >&5 echo $ECHO_N "checking for _sys_siglist in system C library... $ECHO_C" >&6 if test "${bash_cv_under_sys_siglist+set}" = set; then --- 12468,12472 ---- fi ! echo "$as_me:12470: checking for _sys_siglist in system C library" >&5 echo $ECHO_N "checking for _sys_siglist in system C library... $ECHO_C" >&6 if test "${bash_cv_under_sys_siglist+set}" = set; then *************** *** 11621,11630 **** else if test "$cross_compiling" = yes; then ! { echo "$as_me:11623: WARNING: cannot check for _sys_siglist if cross compiling -- defaulting to no" >&5 echo "$as_me: WARNING: cannot check for _sys_siglist if cross compiling -- defaulting to no" >&2;} bash_cv_under_sys_siglist=no else cat >conftest.$ac_ext <<_ACEOF ! #line 11628 "configure" #include "confdefs.h" --- 12474,12483 ---- else if test "$cross_compiling" = yes; then ! { echo "$as_me:12476: WARNING: cannot check for _sys_siglist if cross compiling -- defaulting to no" >&5 echo "$as_me: WARNING: cannot check for _sys_siglist if cross compiling -- defaulting to no" >&2;} bash_cv_under_sys_siglist=no else cat >conftest.$ac_ext <<_ACEOF ! #line 12481 "configure" #include "confdefs.h" *************** *** 11644,11656 **** _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:11646: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:11649: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:11651: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:11654: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_under_sys_siglist=yes --- 12497,12509 ---- _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:12499: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:12502: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:12504: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:12507: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_under_sys_siglist=yes *************** *** 11665,11669 **** fi ! echo "$as_me:11667: result: $bash_cv_under_sys_siglist" >&5 echo "${ECHO_T}$bash_cv_under_sys_siglist" >&6 if test $bash_cv_under_sys_siglist = yes; then --- 12518,12522 ---- fi ! echo "$as_me:12520: result: $bash_cv_under_sys_siglist" >&5 echo "${ECHO_T}$bash_cv_under_sys_siglist" >&6 if test $bash_cv_under_sys_siglist = yes; then *************** *** 11674,11678 **** fi ! echo "$as_me:11676: checking whether signal handlers are of type void" >&5 echo $ECHO_N "checking whether signal handlers are of type void... $ECHO_C" >&6 if test "${bash_cv_void_sighandler+set}" = set; then --- 12527,12531 ---- fi ! echo "$as_me:12529: checking whether signal handlers are of type void" >&5 echo $ECHO_N "checking whether signal handlers are of type void... $ECHO_C" >&6 if test "${bash_cv_void_sighandler+set}" = set; then *************** *** 11680,11684 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 11682 "configure" #include "confdefs.h" #include --- 12533,12537 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 12535 "configure" #include "confdefs.h" #include *************** *** 11700,11713 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:11702: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:11705: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:11708: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:11711: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_void_sighandler=yes --- 12553,12566 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:12555: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:12558: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:12561: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:12564: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_void_sighandler=yes *************** *** 11719,11723 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:11721: result: $bash_cv_void_sighandler" >&5 echo "${ECHO_T}$bash_cv_void_sighandler" >&6 if test $bash_cv_void_sighandler = yes; then --- 12572,12576 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:12574: result: $bash_cv_void_sighandler" >&5 echo "${ECHO_T}$bash_cv_void_sighandler" >&6 if test $bash_cv_void_sighandler = yes; then *************** *** 11728,11732 **** fi ! echo "$as_me:11730: checking for clock_t" >&5 echo $ECHO_N "checking for clock_t... $ECHO_C" >&6 if test "${bash_cv_type_clock_t+set}" = set; then --- 12581,12585 ---- fi ! echo "$as_me:12583: checking for clock_t" >&5 echo $ECHO_N "checking for clock_t... $ECHO_C" >&6 if test "${bash_cv_type_clock_t+set}" = set; then *************** *** 11734,11738 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 11736 "configure" #include "confdefs.h" #include --- 12587,12591 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 12589 "configure" #include "confdefs.h" #include *************** *** 11757,11761 **** fi ! echo "$as_me:11759: result: $bash_cv_type_clock_t" >&5 echo "${ECHO_T}$bash_cv_type_clock_t" >&6 --- 12610,12614 ---- fi ! echo "$as_me:12612: result: $bash_cv_type_clock_t" >&5 echo "${ECHO_T}$bash_cv_type_clock_t" >&6 *************** *** 11767,11771 **** fi ! echo "$as_me:11769: checking for sigset_t" >&5 echo $ECHO_N "checking for sigset_t... $ECHO_C" >&6 if test "${bash_cv_type_sigset_t+set}" = set; then --- 12620,12624 ---- fi ! echo "$as_me:12622: checking for sigset_t" >&5 echo $ECHO_N "checking for sigset_t... $ECHO_C" >&6 if test "${bash_cv_type_sigset_t+set}" = set; then *************** *** 11773,11777 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 11775 "configure" #include "confdefs.h" #include --- 12626,12630 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 12628 "configure" #include "confdefs.h" #include *************** *** 11796,11800 **** fi ! echo "$as_me:11798: result: $bash_cv_type_sigset_t" >&5 echo "${ECHO_T}$bash_cv_type_sigset_t" >&6 --- 12649,12653 ---- fi ! echo "$as_me:12651: result: $bash_cv_type_sigset_t" >&5 echo "${ECHO_T}$bash_cv_type_sigset_t" >&6 *************** *** 11806,11810 **** fi ! echo "$as_me:11808: checking for quad_t" >&5 echo $ECHO_N "checking for quad_t... $ECHO_C" >&6 if test "${bash_cv_type_quad_t+set}" = set; then --- 12659,12663 ---- fi ! echo "$as_me:12661: checking for quad_t" >&5 echo $ECHO_N "checking for quad_t... $ECHO_C" >&6 if test "${bash_cv_type_quad_t+set}" = set; then *************** *** 11812,11816 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 11814 "configure" #include "confdefs.h" #include --- 12665,12669 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 12667 "configure" #include "confdefs.h" #include *************** *** 11834,11838 **** fi ! echo "$as_me:11836: result: $bash_cv_type_quad_t" >&5 echo "${ECHO_T}$bash_cv_type_quad_t" >&6 if test $bash_cv_type_quad_t = yes; then --- 12687,12691 ---- fi ! echo "$as_me:12689: result: $bash_cv_type_quad_t" >&5 echo "${ECHO_T}$bash_cv_type_quad_t" >&6 if test $bash_cv_type_quad_t = yes; then *************** *** 11849,11853 **** fi ! echo "$as_me:11851: checking for intmax_t" >&5 echo $ECHO_N "checking for intmax_t... $ECHO_C" >&6 if test "${bash_cv_type_intmax_t+set}" = set; then --- 12702,12706 ---- fi ! echo "$as_me:12704: checking for intmax_t" >&5 echo $ECHO_N "checking for intmax_t... $ECHO_C" >&6 if test "${bash_cv_type_intmax_t+set}" = set; then *************** *** 11855,11859 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 11857 "configure" #include "confdefs.h" #include --- 12708,12712 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 12710 "configure" #include "confdefs.h" #include *************** *** 11877,11881 **** fi ! echo "$as_me:11879: result: $bash_cv_type_intmax_t" >&5 echo "${ECHO_T}$bash_cv_type_intmax_t" >&6 --- 12730,12734 ---- fi ! echo "$as_me:12732: result: $bash_cv_type_intmax_t" >&5 echo "${ECHO_T}$bash_cv_type_intmax_t" >&6 *************** *** 11887,11891 **** fi ! echo "$as_me:11889: checking for uintmax_t" >&5 echo $ECHO_N "checking for uintmax_t... $ECHO_C" >&6 if test "${bash_cv_type_uintmax_t+set}" = set; then --- 12740,12744 ---- fi ! echo "$as_me:12742: checking for uintmax_t" >&5 echo $ECHO_N "checking for uintmax_t... $ECHO_C" >&6 if test "${bash_cv_type_uintmax_t+set}" = set; then *************** *** 11893,11897 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 11895 "configure" #include "confdefs.h" #include --- 12746,12750 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 12748 "configure" #include "confdefs.h" #include *************** *** 11915,11919 **** fi ! echo "$as_me:11917: result: $bash_cv_type_uintmax_t" >&5 echo "${ECHO_T}$bash_cv_type_uintmax_t" >&6 --- 12768,12772 ---- fi ! echo "$as_me:12770: result: $bash_cv_type_uintmax_t" >&5 echo "${ECHO_T}$bash_cv_type_uintmax_t" >&6 *************** *** 11927,11931 **** if test "$ac_cv_header_sys_socket_h" = "yes"; then ! echo "$as_me:11929: checking for socklen_t" >&5 echo $ECHO_N "checking for socklen_t... $ECHO_C" >&6 if test "${bash_cv_type_socklen_t+set}" = set; then --- 12780,12784 ---- if test "$ac_cv_header_sys_socket_h" = "yes"; then ! echo "$as_me:12782: checking for socklen_t" >&5 echo $ECHO_N "checking for socklen_t... $ECHO_C" >&6 if test "${bash_cv_type_socklen_t+set}" = set; then *************** *** 11933,11937 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 11935 "configure" #include "confdefs.h" #include --- 12786,12790 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 12788 "configure" #include "confdefs.h" #include *************** *** 11956,11960 **** fi ! echo "$as_me:11958: result: $bash_cv_type_socklen_t" >&5 echo "${ECHO_T}$bash_cv_type_socklen_t" >&6 if test $bash_cv_type_socklen_t = yes; then --- 12809,12813 ---- fi ! echo "$as_me:12811: result: $bash_cv_type_socklen_t" >&5 echo "${ECHO_T}$bash_cv_type_socklen_t" >&6 if test $bash_cv_type_socklen_t = yes; then *************** *** 11972,11976 **** fi ! echo "$as_me:11974: checking for size and type of struct rlimit fields" >&5 echo $ECHO_N "checking for size and type of struct rlimit fields... $ECHO_C" >&6 if test "${bash_cv_type_rlimit+set}" = set; then --- 12825,12829 ---- fi ! echo "$as_me:12827: checking for size and type of struct rlimit fields" >&5 echo $ECHO_N "checking for size and type of struct rlimit fields... $ECHO_C" >&6 if test "${bash_cv_type_rlimit+set}" = set; then *************** *** 11978,11982 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 11980 "configure" #include "confdefs.h" #include --- 12831,12835 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 12833 "configure" #include "confdefs.h" #include *************** *** 11991,12004 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:11993: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:11996: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:11999: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:12002: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_type_rlimit=rlim_t --- 12844,12857 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:12846: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:12849: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:12852: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:12855: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_type_rlimit=rlim_t *************** *** 12008,12017 **** if test "$cross_compiling" = yes; then ! { echo "$as_me:12010: WARNING: cannot check quad_t if cross compiling -- defaulting to long" >&5 echo "$as_me: WARNING: cannot check quad_t if cross compiling -- defaulting to long" >&2;} bash_cv_type_rlimit=long else cat >conftest.$ac_ext <<_ACEOF ! #line 12015 "configure" #include "confdefs.h" --- 12861,12870 ---- if test "$cross_compiling" = yes; then ! { echo "$as_me:12863: WARNING: cannot check quad_t if cross compiling -- defaulting to long" >&5 echo "$as_me: WARNING: cannot check quad_t if cross compiling -- defaulting to long" >&2;} bash_cv_type_rlimit=long else cat >conftest.$ac_ext <<_ACEOF ! #line 12868 "configure" #include "confdefs.h" *************** *** 12030,12042 **** _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:12032: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:12035: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:12037: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:12040: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_type_rlimit=quad_t --- 12883,12895 ---- _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:12885: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:12888: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:12890: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:12893: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_type_rlimit=quad_t *************** *** 12054,12058 **** fi ! echo "$as_me:12056: result: $bash_cv_type_rlimit" >&5 echo "${ECHO_T}$bash_cv_type_rlimit" >&6 if test $bash_cv_type_rlimit = quad_t; then --- 12907,12911 ---- fi ! echo "$as_me:12909: result: $bash_cv_type_rlimit" >&5 echo "${ECHO_T}$bash_cv_type_rlimit" >&6 if test $bash_cv_type_rlimit = quad_t; then *************** *** 12068,12072 **** fi ! echo "$as_me:12070: checking for struct termios.c_line" >&5 echo $ECHO_N "checking for struct termios.c_line... $ECHO_C" >&6 if test "${ac_cv_member_struct_termios_c_line+set}" = set; then --- 12921,12925 ---- fi ! echo "$as_me:12923: checking for struct termios.c_line" >&5 echo $ECHO_N "checking for struct termios.c_line... $ECHO_C" >&6 if test "${ac_cv_member_struct_termios_c_line+set}" = set; then *************** *** 12074,12078 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 12076 "configure" #include "confdefs.h" --- 12927,12931 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 12929 "configure" #include "confdefs.h" *************** *** 12091,12104 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:12093: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:12096: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:12099: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:12102: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_member_struct_termios_c_line=yes --- 12944,12957 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:12946: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:12949: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:12952: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:12955: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_member_struct_termios_c_line=yes *************** *** 12110,12114 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:12112: result: $ac_cv_member_struct_termios_c_line" >&5 echo "${ECHO_T}$ac_cv_member_struct_termios_c_line" >&6 if test $ac_cv_member_struct_termios_c_line = yes; then --- 12963,12967 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:12965: result: $ac_cv_member_struct_termios_c_line" >&5 echo "${ECHO_T}$ac_cv_member_struct_termios_c_line" >&6 if test $ac_cv_member_struct_termios_c_line = yes; then *************** *** 12119,12123 **** fi ! echo "$as_me:12121: checking for struct termio.c_line" >&5 echo $ECHO_N "checking for struct termio.c_line... $ECHO_C" >&6 if test "${ac_cv_member_struct_termio_c_line+set}" = set; then --- 12972,12976 ---- fi ! echo "$as_me:12974: checking for struct termio.c_line" >&5 echo $ECHO_N "checking for struct termio.c_line... $ECHO_C" >&6 if test "${ac_cv_member_struct_termio_c_line+set}" = set; then *************** *** 12125,12129 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 12127 "configure" #include "confdefs.h" --- 12978,12982 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 12980 "configure" #include "confdefs.h" *************** *** 12142,12155 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:12144: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:12147: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:12150: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:12153: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_member_struct_termio_c_line=yes --- 12995,13008 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:12997: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:13000: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:13003: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:13006: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_member_struct_termio_c_line=yes *************** *** 12161,12165 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:12163: result: $ac_cv_member_struct_termio_c_line" >&5 echo "${ECHO_T}$ac_cv_member_struct_termio_c_line" >&6 if test $ac_cv_member_struct_termio_c_line = yes; then --- 13014,13018 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:13016: result: $ac_cv_member_struct_termio_c_line" >&5 echo "${ECHO_T}$ac_cv_member_struct_termio_c_line" >&6 if test $ac_cv_member_struct_termio_c_line = yes; then *************** *** 12170,12174 **** fi ! echo "$as_me:12172: checking if struct dirent has a d_ino member" >&5 echo $ECHO_N "checking if struct dirent has a d_ino member... $ECHO_C" >&6 if test "${bash_cv_dirent_has_dino+set}" = set; then --- 13023,13027 ---- fi ! echo "$as_me:13025: checking if struct dirent has a d_ino member" >&5 echo $ECHO_N "checking if struct dirent has a d_ino member... $ECHO_C" >&6 if test "${bash_cv_dirent_has_dino+set}" = set; then *************** *** 12176,12180 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 12178 "configure" #include "confdefs.h" --- 13029,13033 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 13031 "configure" #include "confdefs.h" *************** *** 12210,12223 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:12212: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:12215: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:12218: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:12221: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_dirent_has_dino=yes --- 13063,13076 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:13065: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:13068: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:13071: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:13074: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_dirent_has_dino=yes *************** *** 12230,12234 **** fi ! echo "$as_me:12232: result: $bash_cv_dirent_has_dino" >&5 echo "${ECHO_T}$bash_cv_dirent_has_dino" >&6 if test $bash_cv_dirent_has_dino = yes; then --- 13083,13087 ---- fi ! echo "$as_me:13085: result: $bash_cv_dirent_has_dino" >&5 echo "${ECHO_T}$bash_cv_dirent_has_dino" >&6 if test $bash_cv_dirent_has_dino = yes; then *************** *** 12239,12243 **** fi ! echo "$as_me:12241: checking if struct dirent has a d_fileno member" >&5 echo $ECHO_N "checking if struct dirent has a d_fileno member... $ECHO_C" >&6 if test "${bash_cv_dirent_has_d_fileno+set}" = set; then --- 13092,13096 ---- fi ! echo "$as_me:13094: checking if struct dirent has a d_fileno member" >&5 echo $ECHO_N "checking if struct dirent has a d_fileno member... $ECHO_C" >&6 if test "${bash_cv_dirent_has_d_fileno+set}" = set; then *************** *** 12245,12249 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 12247 "configure" #include "confdefs.h" --- 13098,13102 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 13100 "configure" #include "confdefs.h" *************** *** 12279,12292 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:12281: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:12284: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:12287: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:12290: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_dirent_has_d_fileno=yes --- 13132,13145 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:13134: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:13137: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:13140: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:13143: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_dirent_has_d_fileno=yes *************** *** 12299,12303 **** fi ! echo "$as_me:12301: result: $bash_cv_dirent_has_d_fileno" >&5 echo "${ECHO_T}$bash_cv_dirent_has_d_fileno" >&6 if test $bash_cv_dirent_has_d_fileno = yes; then --- 13152,13156 ---- fi ! echo "$as_me:13154: result: $bash_cv_dirent_has_d_fileno" >&5 echo "${ECHO_T}$bash_cv_dirent_has_d_fileno" >&6 if test $bash_cv_dirent_has_d_fileno = yes; then *************** *** 12308,12312 **** fi ! echo "$as_me:12310: checking for struct winsize in sys/ioctl.h and termios.h" >&5 echo $ECHO_N "checking for struct winsize in sys/ioctl.h and termios.h... $ECHO_C" >&6 if test "${bash_cv_struct_winsize_header+set}" = set; then --- 13161,13165 ---- fi ! echo "$as_me:13163: checking for struct winsize in sys/ioctl.h and termios.h" >&5 echo $ECHO_N "checking for struct winsize in sys/ioctl.h and termios.h... $ECHO_C" >&6 if test "${bash_cv_struct_winsize_header+set}" = set; then *************** *** 12314,12318 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 12316 "configure" #include "confdefs.h" #include --- 13167,13171 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 13169 "configure" #include "confdefs.h" #include *************** *** 12327,12340 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:12329: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:12332: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:12335: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:12338: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_struct_winsize_header=ioctl_h --- 13180,13193 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:13182: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:13185: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:13188: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:13191: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_struct_winsize_header=ioctl_h *************** *** 12343,12347 **** cat conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF ! #line 12345 "configure" #include "confdefs.h" #include --- 13196,13200 ---- cat conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF ! #line 13198 "configure" #include "confdefs.h" #include *************** *** 12356,12369 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:12358: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:12361: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:12364: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:12367: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_struct_winsize_header=termios_h --- 13209,13222 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:13211: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:13214: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:13217: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:13220: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_struct_winsize_header=termios_h *************** *** 12380,12384 **** if test $bash_cv_struct_winsize_header = ioctl_h; then ! echo "$as_me:12382: result: sys/ioctl.h" >&5 echo "${ECHO_T}sys/ioctl.h" >&6 cat >>confdefs.h <<\EOF --- 13233,13237 ---- if test $bash_cv_struct_winsize_header = ioctl_h; then ! echo "$as_me:13235: result: sys/ioctl.h" >&5 echo "${ECHO_T}sys/ioctl.h" >&6 cat >>confdefs.h <<\EOF *************** *** 12387,12391 **** elif test $bash_cv_struct_winsize_header = termios_h; then ! echo "$as_me:12389: result: termios.h" >&5 echo "${ECHO_T}termios.h" >&6 cat >>confdefs.h <<\EOF --- 13240,13244 ---- elif test $bash_cv_struct_winsize_header = termios_h; then ! echo "$as_me:13242: result: termios.h" >&5 echo "${ECHO_T}termios.h" >&6 cat >>confdefs.h <<\EOF *************** *** 12394,12402 **** else ! echo "$as_me:12396: result: not found" >&5 echo "${ECHO_T}not found" >&6 fi ! echo "$as_me:12400: checking for struct timeval in sys/time.h and time.h" >&5 echo $ECHO_N "checking for struct timeval in sys/time.h and time.h... $ECHO_C" >&6 if test "${bash_cv_struct_timeval+set}" = set; then --- 13247,13255 ---- else ! echo "$as_me:13249: result: not found" >&5 echo "${ECHO_T}not found" >&6 fi ! echo "$as_me:13253: checking for struct timeval in sys/time.h and time.h" >&5 echo $ECHO_N "checking for struct timeval in sys/time.h and time.h... $ECHO_C" >&6 if test "${bash_cv_struct_timeval+set}" = set; then *************** *** 12405,12409 **** cat >conftest.$ac_ext <<_ACEOF ! #line 12407 "configure" #include "confdefs.h" #include --- 13258,13262 ---- cat >conftest.$ac_ext <<_ACEOF ! #line 13260 "configure" #include "confdefs.h" #include *************** *** 12415,12419 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 12417 "configure" #include "confdefs.h" #include --- 13268,13272 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 13270 "configure" #include "confdefs.h" #include *************** *** 12433,12437 **** fi ! echo "$as_me:12435: result: $bash_cv_struct_timeval" >&5 echo "${ECHO_T}$bash_cv_struct_timeval" >&6 if test $bash_cv_struct_timeval = yes; then --- 13286,13290 ---- fi ! echo "$as_me:13288: result: $bash_cv_struct_timeval" >&5 echo "${ECHO_T}$bash_cv_struct_timeval" >&6 if test $bash_cv_struct_timeval = yes; then *************** *** 12442,12446 **** fi ! echo "$as_me:12444: checking for struct stat.st_blocks" >&5 echo $ECHO_N "checking for struct stat.st_blocks... $ECHO_C" >&6 if test "${ac_cv_member_struct_stat_st_blocks+set}" = set; then --- 13295,13299 ---- fi ! echo "$as_me:13297: checking for struct stat.st_blocks" >&5 echo $ECHO_N "checking for struct stat.st_blocks... $ECHO_C" >&6 if test "${ac_cv_member_struct_stat_st_blocks+set}" = set; then *************** *** 12448,12452 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 12450 "configure" #include "confdefs.h" $ac_includes_default --- 13301,13305 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 13303 "configure" #include "confdefs.h" $ac_includes_default *************** *** 12462,12475 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:12464: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:12467: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:12470: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:12473: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_member_struct_stat_st_blocks=yes --- 13315,13328 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:13317: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:13320: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:13323: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:13326: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_member_struct_stat_st_blocks=yes *************** *** 12481,12485 **** rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:12483: result: $ac_cv_member_struct_stat_st_blocks" >&5 echo "${ECHO_T}$ac_cv_member_struct_stat_st_blocks" >&6 if test $ac_cv_member_struct_stat_st_blocks = yes; then --- 13334,13338 ---- rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:13336: result: $ac_cv_member_struct_stat_st_blocks" >&5 echo "${ECHO_T}$ac_cv_member_struct_stat_st_blocks" >&6 if test $ac_cv_member_struct_stat_st_blocks = yes; then *************** *** 12491,12495 **** fi ! echo "$as_me:12493: checking for the existence of strsignal" >&5 echo $ECHO_N "checking for the existence of strsignal... $ECHO_C" >&6 if test "${bash_cv_have_strsignal+set}" = set; then --- 13344,13507 ---- fi ! echo "$as_me:13346: checking whether struct tm is in sys/time.h or time.h" >&5 ! echo $ECHO_N "checking whether struct tm is in sys/time.h or time.h... $ECHO_C" >&6 ! if test "${ac_cv_struct_tm+set}" = set; then ! echo $ECHO_N "(cached) $ECHO_C" >&6 ! else ! cat >conftest.$ac_ext <<_ACEOF ! #line 13352 "configure" ! #include "confdefs.h" ! #include ! #include ! ! int ! main () ! { ! struct tm *tp; tp->tm_sec; ! ; ! return 0; ! } ! _ACEOF ! rm -f conftest.$ac_objext ! if { (eval echo "$as_me:13366: \"$ac_compile\"") >&5 ! (eval $ac_compile) 2>&5 ! ac_status=$? ! echo "$as_me:13369: \$? = $ac_status" >&5 ! (exit $ac_status); } && ! { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:13372: \"$ac_try\"") >&5 ! (eval $ac_try) 2>&5 ! ac_status=$? ! echo "$as_me:13375: \$? = $ac_status" >&5 ! (exit $ac_status); }; }; then ! ac_cv_struct_tm=time.h ! else ! echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! ac_cv_struct_tm=sys/time.h ! fi ! rm -f conftest.$ac_objext conftest.$ac_ext ! fi ! echo "$as_me:13385: result: $ac_cv_struct_tm" >&5 ! echo "${ECHO_T}$ac_cv_struct_tm" >&6 ! if test $ac_cv_struct_tm = sys/time.h; then ! ! cat >>confdefs.h <<\EOF ! #define TM_IN_SYS_TIME 1 ! EOF ! ! fi ! ! echo "$as_me:13395: checking for struct tm.tm_zone" >&5 ! echo $ECHO_N "checking for struct tm.tm_zone... $ECHO_C" >&6 ! if test "${ac_cv_member_struct_tm_tm_zone+set}" = set; then ! echo $ECHO_N "(cached) $ECHO_C" >&6 ! else ! cat >conftest.$ac_ext <<_ACEOF ! #line 13401 "configure" ! #include "confdefs.h" ! #include ! #include <$ac_cv_struct_tm> ! ! int ! main () ! { ! static struct tm ac_aggr; ! if (ac_aggr.tm_zone) ! return 0; ! ; ! return 0; ! } ! _ACEOF ! rm -f conftest.$ac_objext ! if { (eval echo "$as_me:13417: \"$ac_compile\"") >&5 ! (eval $ac_compile) 2>&5 ! ac_status=$? ! echo "$as_me:13420: \$? = $ac_status" >&5 ! (exit $ac_status); } && ! { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:13423: \"$ac_try\"") >&5 ! (eval $ac_try) 2>&5 ! ac_status=$? ! echo "$as_me:13426: \$? = $ac_status" >&5 ! (exit $ac_status); }; }; then ! ac_cv_member_struct_tm_tm_zone=yes ! else ! echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! ac_cv_member_struct_tm_tm_zone=no ! fi ! rm -f conftest.$ac_objext conftest.$ac_ext ! fi ! echo "$as_me:13436: result: $ac_cv_member_struct_tm_tm_zone" >&5 ! echo "${ECHO_T}$ac_cv_member_struct_tm_tm_zone" >&6 ! if test $ac_cv_member_struct_tm_tm_zone = yes; then ! ! cat >>confdefs.h <>confdefs.h <<\EOF ! #define HAVE_TM_ZONE 1 ! EOF ! ! else ! echo "$as_me:13453: checking for tzname" >&5 ! echo $ECHO_N "checking for tzname... $ECHO_C" >&6 ! if test "${ac_cv_var_tzname+set}" = set; then ! echo $ECHO_N "(cached) $ECHO_C" >&6 ! else ! cat >conftest.$ac_ext <<_ACEOF ! #line 13459 "configure" ! #include "confdefs.h" ! #include ! #ifndef tzname /* For SGI. */ ! extern char *tzname[]; /* RS6000 and others reject char **tzname. */ ! #endif ! ! int ! main () ! { ! atoi(*tzname); ! ; ! return 0; ! } ! _ACEOF ! rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:13475: \"$ac_link\"") >&5 ! (eval $ac_link) 2>&5 ! ac_status=$? ! echo "$as_me:13478: \$? = $ac_status" >&5 ! (exit $ac_status); } && ! { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:13481: \"$ac_try\"") >&5 ! (eval $ac_try) 2>&5 ! ac_status=$? ! echo "$as_me:13484: \$? = $ac_status" >&5 ! (exit $ac_status); }; }; then ! ac_cv_var_tzname=yes ! else ! echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! ac_cv_var_tzname=no ! fi ! rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext ! fi ! echo "$as_me:13494: result: $ac_cv_var_tzname" >&5 ! echo "${ECHO_T}$ac_cv_var_tzname" >&6 ! if test $ac_cv_var_tzname = yes; then ! ! cat >>confdefs.h <<\EOF ! #define HAVE_TZNAME 1 ! EOF ! ! fi ! fi ! ! echo "$as_me:13505: checking for the existence of strsignal" >&5 echo $ECHO_N "checking for the existence of strsignal... $ECHO_C" >&6 if test "${bash_cv_have_strsignal+set}" = set; then *************** *** 12497,12501 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 12499 "configure" #include "confdefs.h" #include --- 13509,13513 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 13511 "configure" #include "confdefs.h" #include *************** *** 12510,12523 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:12512: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:12515: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:12518: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:12521: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_have_strsignal=yes --- 13522,13535 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:13524: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:13527: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:13530: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:13533: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_have_strsignal=yes *************** *** 12530,12534 **** fi ! echo "$as_me:12532: result: $bash_cv_have_strsignal" >&5 echo "${ECHO_T}$bash_cv_have_strsignal" >&6 if test $bash_cv_have_strsignal = yes; then --- 13542,13546 ---- fi ! echo "$as_me:13544: result: $bash_cv_have_strsignal" >&5 echo "${ECHO_T}$bash_cv_have_strsignal" >&6 if test $bash_cv_have_strsignal = yes; then *************** *** 12539,12543 **** fi ! echo "$as_me:12541: checking if opendir() opens non-directories" >&5 echo $ECHO_N "checking if opendir() opens non-directories... $ECHO_C" >&6 if test "${bash_cv_opendir_not_robust+set}" = set; then --- 13551,13555 ---- fi ! echo "$as_me:13553: checking if opendir() opens non-directories" >&5 echo $ECHO_N "checking if opendir() opens non-directories... $ECHO_C" >&6 if test "${bash_cv_opendir_not_robust+set}" = set; then *************** *** 12545,12549 **** else if test "$cross_compiling" = yes; then ! { echo "$as_me:12547: WARNING: cannot check opendir if cross compiling -- defaulting to no" >&5 echo "$as_me: WARNING: cannot check opendir if cross compiling -- defaulting to no" >&2;} bash_cv_opendir_not_robust=no --- 13557,13561 ---- else if test "$cross_compiling" = yes; then ! { echo "$as_me:13559: WARNING: cannot check opendir if cross compiling -- defaulting to no" >&5 echo "$as_me: WARNING: cannot check opendir if cross compiling -- defaulting to no" >&2;} bash_cv_opendir_not_robust=no *************** *** 12551,12555 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 12553 "configure" #include "confdefs.h" --- 13563,13567 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 13565 "configure" #include "confdefs.h" *************** *** 12594,12606 **** _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:12596: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:12599: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:12601: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:12604: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_opendir_not_robust=yes --- 13606,13618 ---- _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:13608: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:13611: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:13613: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:13616: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_opendir_not_robust=yes *************** *** 12615,12619 **** fi ! echo "$as_me:12617: result: $bash_cv_opendir_not_robust" >&5 echo "${ECHO_T}$bash_cv_opendir_not_robust" >&6 if test $bash_cv_opendir_not_robust = yes; then --- 13627,13631 ---- fi ! echo "$as_me:13629: result: $bash_cv_opendir_not_robust" >&5 echo "${ECHO_T}$bash_cv_opendir_not_robust" >&6 if test $bash_cv_opendir_not_robust = yes; then *************** *** 12624,12628 **** fi ! echo "$as_me:12626: checking whether ulimit can substitute for getdtablesize" >&5 echo $ECHO_N "checking whether ulimit can substitute for getdtablesize... $ECHO_C" >&6 if test "${bash_cv_ulimit_maxfds+set}" = set; then --- 13636,13640 ---- fi ! echo "$as_me:13638: checking whether ulimit can substitute for getdtablesize" >&5 echo $ECHO_N "checking whether ulimit can substitute for getdtablesize... $ECHO_C" >&6 if test "${bash_cv_ulimit_maxfds+set}" = set; then *************** *** 12630,12634 **** else if test "$cross_compiling" = yes; then ! { echo "$as_me:12632: WARNING: cannot check ulimit if cross compiling -- defaulting to no" >&5 echo "$as_me: WARNING: cannot check ulimit if cross compiling -- defaulting to no" >&2;} bash_cv_ulimit_maxfds=no --- 13642,13646 ---- else if test "$cross_compiling" = yes; then ! { echo "$as_me:13644: WARNING: cannot check ulimit if cross compiling -- defaulting to no" >&5 echo "$as_me: WARNING: cannot check ulimit if cross compiling -- defaulting to no" >&2;} bash_cv_ulimit_maxfds=no *************** *** 12636,12640 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 12638 "configure" #include "confdefs.h" --- 13648,13652 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 13650 "configure" #include "confdefs.h" *************** *** 12647,12659 **** _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:12649: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:12652: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:12654: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:12657: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_ulimit_maxfds=yes --- 13659,13671 ---- _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:13661: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:13664: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:13666: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:13669: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_ulimit_maxfds=yes *************** *** 12668,12672 **** fi ! echo "$as_me:12670: result: $bash_cv_ulimit_maxfds" >&5 echo "${ECHO_T}$bash_cv_ulimit_maxfds" >&6 if test $bash_cv_ulimit_maxfds = yes; then --- 13680,13684 ---- fi ! echo "$as_me:13682: result: $bash_cv_ulimit_maxfds" >&5 echo "${ECHO_T}$bash_cv_ulimit_maxfds" >&6 if test $bash_cv_ulimit_maxfds = yes; then *************** *** 12677,12681 **** fi ! echo "$as_me:12679: checking to see if getenv can be redefined" >&5 echo $ECHO_N "checking to see if getenv can be redefined... $ECHO_C" >&6 if test "${bash_cv_getenv_redef+set}" = set; then --- 13689,13693 ---- fi ! echo "$as_me:13691: checking to see if getenv can be redefined" >&5 echo $ECHO_N "checking to see if getenv can be redefined... $ECHO_C" >&6 if test "${bash_cv_getenv_redef+set}" = set; then *************** *** 12683,12687 **** else if test "$cross_compiling" = yes; then ! { echo "$as_me:12685: WARNING: cannot check getenv redefinition if cross compiling -- defaulting to yes" >&5 echo "$as_me: WARNING: cannot check getenv redefinition if cross compiling -- defaulting to yes" >&2;} bash_cv_getenv_redef=yes --- 13695,13699 ---- else if test "$cross_compiling" = yes; then ! { echo "$as_me:13697: WARNING: cannot check getenv redefinition if cross compiling -- defaulting to yes" >&5 echo "$as_me: WARNING: cannot check getenv redefinition if cross compiling -- defaulting to yes" >&2;} bash_cv_getenv_redef=yes *************** *** 12689,12693 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 12691 "configure" #include "confdefs.h" --- 13701,13705 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 13703 "configure" #include "confdefs.h" *************** *** 12725,12737 **** _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:12727: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:12730: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:12732: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:12735: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_getenv_redef=yes --- 13737,13749 ---- _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:13739: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:13742: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:13744: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:13747: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_getenv_redef=yes *************** *** 12746,12750 **** fi ! echo "$as_me:12748: result: $bash_cv_getenv_redef" >&5 echo "${ECHO_T}$bash_cv_getenv_redef" >&6 if test $bash_cv_getenv_redef = yes; then --- 13758,13762 ---- fi ! echo "$as_me:13760: result: $bash_cv_getenv_redef" >&5 echo "${ECHO_T}$bash_cv_getenv_redef" >&6 if test $bash_cv_getenv_redef = yes; then *************** *** 12755,12760 **** fi ! if test "$ac_func_getcwd" = "yes"; then ! echo "$as_me:12758: checking if getcwd() calls popen()" >&5 echo $ECHO_N "checking if getcwd() calls popen()... $ECHO_C" >&6 if test "${bash_cv_getcwd_calls_popen+set}" = set; then --- 13767,13772 ---- fi ! if test "$ac_cv_func_getcwd" = "yes"; then ! echo "$as_me:13770: checking if getcwd() calls popen()" >&5 echo $ECHO_N "checking if getcwd() calls popen()... $ECHO_C" >&6 if test "${bash_cv_getcwd_calls_popen+set}" = set; then *************** *** 12762,12766 **** else if test "$cross_compiling" = yes; then ! { echo "$as_me:12764: WARNING: cannot check whether getcwd calls popen if cross compiling -- defaulting to no" >&5 echo "$as_me: WARNING: cannot check whether getcwd calls popen if cross compiling -- defaulting to no" >&2;} bash_cv_getcwd_calls_popen=no --- 13774,13778 ---- else if test "$cross_compiling" = yes; then ! { echo "$as_me:13776: WARNING: cannot check whether getcwd calls popen if cross compiling -- defaulting to no" >&5 echo "$as_me: WARNING: cannot check whether getcwd calls popen if cross compiling -- defaulting to no" >&2;} bash_cv_getcwd_calls_popen=no *************** *** 12768,12772 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 12770 "configure" #include "confdefs.h" --- 13780,13784 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 13782 "configure" #include "confdefs.h" *************** *** 12824,12836 **** _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:12826: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:12829: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:12831: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:12834: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_getcwd_calls_popen=no --- 13836,13848 ---- _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:13838: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:13841: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:13843: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:13846: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_getcwd_calls_popen=no *************** *** 12845,12849 **** fi ! echo "$as_me:12847: result: $bash_cv_getcwd_calls_popen" >&5 echo "${ECHO_T}$bash_cv_getcwd_calls_popen" >&6 if test $bash_cv_getcwd_calls_popen = yes; then --- 13857,13861 ---- fi ! echo "$as_me:13859: result: $bash_cv_getcwd_calls_popen" >&5 echo "${ECHO_T}$bash_cv_getcwd_calls_popen" >&6 if test $bash_cv_getcwd_calls_popen = yes; then *************** *** 12857,12861 **** fi ! echo "$as_me:12859: checking for presence of POSIX-style sigsetjmp/siglongjmp" >&5 echo $ECHO_N "checking for presence of POSIX-style sigsetjmp/siglongjmp... $ECHO_C" >&6 if test "${bash_cv_func_sigsetjmp+set}" = set; then --- 13869,13873 ---- fi ! echo "$as_me:13871: checking for presence of POSIX-style sigsetjmp/siglongjmp" >&5 echo $ECHO_N "checking for presence of POSIX-style sigsetjmp/siglongjmp... $ECHO_C" >&6 if test "${bash_cv_func_sigsetjmp+set}" = set; then *************** *** 12863,12867 **** else if test "$cross_compiling" = yes; then ! { echo "$as_me:12865: WARNING: cannot check for sigsetjmp/siglongjmp if cross-compiling -- defaulting to missing" >&5 echo "$as_me: WARNING: cannot check for sigsetjmp/siglongjmp if cross-compiling -- defaulting to missing" >&2;} bash_cv_func_sigsetjmp=missing --- 13875,13879 ---- else if test "$cross_compiling" = yes; then ! { echo "$as_me:13877: WARNING: cannot check for sigsetjmp/siglongjmp if cross-compiling -- defaulting to missing" >&5 echo "$as_me: WARNING: cannot check for sigsetjmp/siglongjmp if cross-compiling -- defaulting to missing" >&2;} bash_cv_func_sigsetjmp=missing *************** *** 12869,12873 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 12871 "configure" #include "confdefs.h" --- 13881,13885 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 13883 "configure" #include "confdefs.h" *************** *** 12911,12923 **** _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:12913: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:12916: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:12918: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:12921: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_func_sigsetjmp=present --- 13923,13935 ---- _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:13925: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:13928: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:13930: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:13933: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_func_sigsetjmp=present *************** *** 12932,12936 **** fi ! echo "$as_me:12934: result: $bash_cv_func_sigsetjmp" >&5 echo "${ECHO_T}$bash_cv_func_sigsetjmp" >&6 if test $bash_cv_func_sigsetjmp = present; then --- 13944,13948 ---- fi ! echo "$as_me:13946: result: $bash_cv_func_sigsetjmp" >&5 echo "${ECHO_T}$bash_cv_func_sigsetjmp" >&6 if test $bash_cv_func_sigsetjmp = present; then *************** *** 12941,12945 **** fi ! echo "$as_me:12943: checking whether or not strcoll and strcmp differ" >&5 echo $ECHO_N "checking whether or not strcoll and strcmp differ... $ECHO_C" >&6 if test "${bash_cv_func_strcoll_broken+set}" = set; then --- 13953,13957 ---- fi ! echo "$as_me:13955: checking whether or not strcoll and strcmp differ" >&5 echo $ECHO_N "checking whether or not strcoll and strcmp differ... $ECHO_C" >&6 if test "${bash_cv_func_strcoll_broken+set}" = set; then *************** *** 12947,12951 **** else if test "$cross_compiling" = yes; then ! { echo "$as_me:12949: WARNING: cannot check strcoll if cross compiling -- defaulting to no" >&5 echo "$as_me: WARNING: cannot check strcoll if cross compiling -- defaulting to no" >&2;} bash_cv_func_strcoll_broken=no --- 13959,13963 ---- else if test "$cross_compiling" = yes; then ! { echo "$as_me:13961: WARNING: cannot check strcoll if cross compiling -- defaulting to no" >&5 echo "$as_me: WARNING: cannot check strcoll if cross compiling -- defaulting to no" >&2;} bash_cv_func_strcoll_broken=no *************** *** 12953,12957 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 12955 "configure" #include "confdefs.h" --- 13965,13969 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 13967 "configure" #include "confdefs.h" *************** *** 12993,13005 **** _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:12995: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:12998: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:13000: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:13003: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_func_strcoll_broken=yes --- 14005,14017 ---- _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:14007: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:14010: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:14012: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:14015: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_func_strcoll_broken=yes *************** *** 13014,13018 **** fi ! echo "$as_me:13016: result: $bash_cv_func_strcoll_broken" >&5 echo "${ECHO_T}$bash_cv_func_strcoll_broken" >&6 if test $bash_cv_func_strcoll_broken = yes; then --- 14026,14030 ---- fi ! echo "$as_me:14028: result: $bash_cv_func_strcoll_broken" >&5 echo "${ECHO_T}$bash_cv_func_strcoll_broken" >&6 if test $bash_cv_func_strcoll_broken = yes; then *************** *** 13023,13027 **** fi ! echo "$as_me:13025: checking for printf floating point output in hex notation" >&5 echo $ECHO_N "checking for printf floating point output in hex notation... $ECHO_C" >&6 if test "${bash_cv_printf_a_format+set}" = set; then --- 14035,14180 ---- fi ! if test "$ac_cv_func_putenv" = "yes"; then ! ! echo "$as_me:14039: checking for standard-conformant putenv declaration" >&5 ! echo $ECHO_N "checking for standard-conformant putenv declaration... $ECHO_C" >&6 ! if test "${bash_cv_std_putenv+set}" = set; then ! echo $ECHO_N "(cached) $ECHO_C" >&6 ! else ! cat >conftest.$ac_ext <<_ACEOF ! #line 14045 "configure" ! #include "confdefs.h" ! ! #if STDC_HEADERS ! #include ! #include ! #endif ! #ifndef __STDC__ ! # ifndef const ! # define const ! # endif ! #endif ! #ifdef PROTOTYPES ! extern int putenv (char *); ! #else ! extern int putenv (); ! #endif ! ! int ! main () ! { ! return (putenv == 0); ! ; ! return 0; ! } ! _ACEOF ! rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:14072: \"$ac_link\"") >&5 ! (eval $ac_link) 2>&5 ! ac_status=$? ! echo "$as_me:14075: \$? = $ac_status" >&5 ! (exit $ac_status); } && ! { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:14078: \"$ac_try\"") >&5 ! (eval $ac_try) 2>&5 ! ac_status=$? ! echo "$as_me:14081: \$? = $ac_status" >&5 ! (exit $ac_status); }; }; then ! bash_cv_std_putenv=yes ! else ! echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! bash_cv_std_putenv=no ! ! fi ! rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext ! fi ! echo "$as_me:14092: result: $bash_cv_std_putenv" >&5 ! echo "${ECHO_T}$bash_cv_std_putenv" >&6 ! if test $bash_cv_std_putenv = yes; then ! cat >>confdefs.h <<\EOF ! #define HAVE_STD_PUTENV 1 ! EOF ! ! fi ! ! else ! cat >>confdefs.h <<\EOF ! #define HAVE_STD_PUTENV 1 ! EOF ! ! fi ! if test "$ac_cv_func_unsetenv" = "yes"; then ! ! echo "$as_me:14109: checking for standard-conformant unsetenv declaration" >&5 ! echo $ECHO_N "checking for standard-conformant unsetenv declaration... $ECHO_C" >&6 ! if test "${bash_cv_std_unsetenv+set}" = set; then ! echo $ECHO_N "(cached) $ECHO_C" >&6 ! else ! cat >conftest.$ac_ext <<_ACEOF ! #line 14115 "configure" ! #include "confdefs.h" ! ! #if STDC_HEADERS ! #include ! #include ! #endif ! #ifndef __STDC__ ! # ifndef const ! # define const ! # endif ! #endif ! #ifdef PROTOTYPES ! extern int unsetenv (const char *); ! #else ! extern int unsetenv (); ! #endif ! ! int ! main () ! { ! return (unsetenv == 0); ! ; ! return 0; ! } ! _ACEOF ! rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:14142: \"$ac_link\"") >&5 ! (eval $ac_link) 2>&5 ! ac_status=$? ! echo "$as_me:14145: \$? = $ac_status" >&5 ! (exit $ac_status); } && ! { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:14148: \"$ac_try\"") >&5 ! (eval $ac_try) 2>&5 ! ac_status=$? ! echo "$as_me:14151: \$? = $ac_status" >&5 ! (exit $ac_status); }; }; then ! bash_cv_std_unsetenv=yes ! else ! echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! bash_cv_std_unsetenv=no ! ! fi ! rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext ! fi ! echo "$as_me:14162: result: $bash_cv_std_unsetenv" >&5 ! echo "${ECHO_T}$bash_cv_std_unsetenv" >&6 ! if test $bash_cv_std_unsetenv = yes; then ! cat >>confdefs.h <<\EOF ! #define HAVE_STD_UNSETENV 1 ! EOF ! ! fi ! ! else ! cat >>confdefs.h <<\EOF ! #define HAVE_STD_UNSETENV 1 ! EOF ! ! fi ! ! echo "$as_me:14178: checking for printf floating point output in hex notation" >&5 echo $ECHO_N "checking for printf floating point output in hex notation... $ECHO_C" >&6 if test "${bash_cv_printf_a_format+set}" = set; then *************** *** 13029,13033 **** else if test "$cross_compiling" = yes; then ! { echo "$as_me:13031: WARNING: cannot check printf if cross compiling -- defaulting to no" >&5 echo "$as_me: WARNING: cannot check printf if cross compiling -- defaulting to no" >&2;} bash_cv_printf_a_format=no --- 14182,14186 ---- else if test "$cross_compiling" = yes; then ! { echo "$as_me:14184: WARNING: cannot check printf if cross compiling -- defaulting to no" >&5 echo "$as_me: WARNING: cannot check printf if cross compiling -- defaulting to no" >&2;} bash_cv_printf_a_format=no *************** *** 13035,13039 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 13037 "configure" #include "confdefs.h" --- 14188,14192 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 14190 "configure" #include "confdefs.h" *************** *** 13053,13065 **** _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:13055: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:13058: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:13060: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:13063: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_printf_a_format=yes --- 14206,14218 ---- _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:14208: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:14211: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:14213: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:14216: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_printf_a_format=yes *************** *** 13074,13078 **** fi ! echo "$as_me:13076: result: $bash_cv_printf_a_format" >&5 echo "${ECHO_T}$bash_cv_printf_a_format" >&6 if test $bash_cv_printf_a_format = yes; then --- 14227,14231 ---- fi ! echo "$as_me:14229: result: $bash_cv_printf_a_format" >&5 echo "${ECHO_T}$bash_cv_printf_a_format" >&6 if test $bash_cv_printf_a_format = yes; then *************** *** 13083,13087 **** fi ! echo "$as_me:13085: checking if signal handlers must be reinstalled when invoked" >&5 echo $ECHO_N "checking if signal handlers must be reinstalled when invoked... $ECHO_C" >&6 if test "${bash_cv_must_reinstall_sighandlers+set}" = set; then --- 14236,14240 ---- fi ! echo "$as_me:14238: checking if signal handlers must be reinstalled when invoked" >&5 echo $ECHO_N "checking if signal handlers must be reinstalled when invoked... $ECHO_C" >&6 if test "${bash_cv_must_reinstall_sighandlers+set}" = set; then *************** *** 13089,13093 **** else if test "$cross_compiling" = yes; then ! { echo "$as_me:13091: WARNING: cannot check signal handling if cross compiling -- defaulting to no" >&5 echo "$as_me: WARNING: cannot check signal handling if cross compiling -- defaulting to no" >&2;} bash_cv_must_reinstall_sighandlers=no --- 14242,14246 ---- else if test "$cross_compiling" = yes; then ! { echo "$as_me:14244: WARNING: cannot check signal handling if cross compiling -- defaulting to no" >&5 echo "$as_me: WARNING: cannot check signal handling if cross compiling -- defaulting to no" >&2;} bash_cv_must_reinstall_sighandlers=no *************** *** 13095,13099 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 13097 "configure" #include "confdefs.h" --- 14248,14252 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 14250 "configure" #include "confdefs.h" *************** *** 13143,13155 **** _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:13145: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:13148: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:13150: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:13153: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_must_reinstall_sighandlers=no --- 14296,14308 ---- _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:14298: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:14301: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:14303: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:14306: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_must_reinstall_sighandlers=no *************** *** 13164,13168 **** fi ! echo "$as_me:13166: result: $bash_cv_must_reinstall_sighandlers" >&5 echo "${ECHO_T}$bash_cv_must_reinstall_sighandlers" >&6 if test $bash_cv_must_reinstall_sighandlers = yes; then --- 14317,14321 ---- fi ! echo "$as_me:14319: result: $bash_cv_must_reinstall_sighandlers" >&5 echo "${ECHO_T}$bash_cv_must_reinstall_sighandlers" >&6 if test $bash_cv_must_reinstall_sighandlers = yes; then *************** *** 13173,13177 **** fi ! echo "$as_me:13175: checking for presence of necessary job control definitions" >&5 echo $ECHO_N "checking for presence of necessary job control definitions... $ECHO_C" >&6 if test "${bash_cv_job_control_missing+set}" = set; then --- 14326,14330 ---- fi ! echo "$as_me:14328: checking for presence of necessary job control definitions" >&5 echo $ECHO_N "checking for presence of necessary job control definitions... $ECHO_C" >&6 if test "${bash_cv_job_control_missing+set}" = set; then *************** *** 13179,13183 **** else if test "$cross_compiling" = yes; then ! { echo "$as_me:13181: WARNING: cannot check job control if cross-compiling -- defaulting to missing" >&5 echo "$as_me: WARNING: cannot check job control if cross-compiling -- defaulting to missing" >&2;} bash_cv_job_control_missing=missing --- 14332,14336 ---- else if test "$cross_compiling" = yes; then ! { echo "$as_me:14334: WARNING: cannot check job control if cross-compiling -- defaulting to missing" >&5 echo "$as_me: WARNING: cannot check job control if cross-compiling -- defaulting to missing" >&2;} bash_cv_job_control_missing=missing *************** *** 13185,13189 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 13187 "configure" #include "confdefs.h" --- 14338,14342 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 14340 "configure" #include "confdefs.h" *************** *** 13233,13245 **** _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:13235: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:13238: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:13240: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:13243: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_job_control_missing=present --- 14386,14398 ---- _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:14388: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:14391: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:14393: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:14396: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_job_control_missing=present *************** *** 13254,13258 **** fi ! echo "$as_me:13256: result: $bash_cv_job_control_missing" >&5 echo "${ECHO_T}$bash_cv_job_control_missing" >&6 if test $bash_cv_job_control_missing = missing; then --- 14407,14411 ---- fi ! echo "$as_me:14409: result: $bash_cv_job_control_missing" >&5 echo "${ECHO_T}$bash_cv_job_control_missing" >&6 if test $bash_cv_job_control_missing = missing; then *************** *** 13263,13267 **** fi ! echo "$as_me:13265: checking for presence of named pipes" >&5 echo $ECHO_N "checking for presence of named pipes... $ECHO_C" >&6 if test "${bash_cv_sys_named_pipes+set}" = set; then --- 14416,14420 ---- fi ! echo "$as_me:14418: checking for presence of named pipes" >&5 echo $ECHO_N "checking for presence of named pipes... $ECHO_C" >&6 if test "${bash_cv_sys_named_pipes+set}" = set; then *************** *** 13269,13273 **** else if test "$cross_compiling" = yes; then ! { echo "$as_me:13271: WARNING: cannot check for named pipes if cross-compiling -- defaulting to missing" >&5 echo "$as_me: WARNING: cannot check for named pipes if cross-compiling -- defaulting to missing" >&2;} bash_cv_sys_named_pipes=missing --- 14422,14426 ---- else if test "$cross_compiling" = yes; then ! { echo "$as_me:14424: WARNING: cannot check for named pipes if cross-compiling -- defaulting to missing" >&5 echo "$as_me: WARNING: cannot check for named pipes if cross-compiling -- defaulting to missing" >&2;} bash_cv_sys_named_pipes=missing *************** *** 13275,13279 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 13277 "configure" #include "confdefs.h" --- 14428,14432 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 14430 "configure" #include "confdefs.h" *************** *** 13317,13329 **** _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:13319: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:13322: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:13324: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:13327: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_sys_named_pipes=present --- 14470,14482 ---- _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:14472: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:14475: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:14477: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:14480: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_sys_named_pipes=present *************** *** 13338,13342 **** fi ! echo "$as_me:13340: result: $bash_cv_sys_named_pipes" >&5 echo "${ECHO_T}$bash_cv_sys_named_pipes" >&6 if test $bash_cv_sys_named_pipes = missing; then --- 14491,14495 ---- fi ! echo "$as_me:14493: result: $bash_cv_sys_named_pipes" >&5 echo "${ECHO_T}$bash_cv_sys_named_pipes" >&6 if test $bash_cv_sys_named_pipes = missing; then *************** *** 13347,13351 **** fi ! echo "$as_me:13349: checking POSIX termios" >&5 echo $ECHO_N "checking POSIX termios... $ECHO_C" >&6 if test "${ac_cv_sys_posix_termios+set}" = set; then --- 14500,14504 ---- fi ! echo "$as_me:14502: checking POSIX termios" >&5 echo $ECHO_N "checking POSIX termios... $ECHO_C" >&6 if test "${ac_cv_sys_posix_termios+set}" = set; then *************** *** 13353,13357 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 13355 "configure" #include "confdefs.h" #include --- 14506,14510 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 14508 "configure" #include "confdefs.h" #include *************** *** 13368,13381 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:13370: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:13373: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:13376: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:13379: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sys_posix_termios=yes --- 14521,14534 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:14523: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:14526: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:14529: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:14532: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sys_posix_termios=yes *************** *** 13387,13395 **** rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:13389: result: $ac_cv_sys_posix_termios" >&5 echo "${ECHO_T}$ac_cv_sys_posix_termios" >&6 if test $ac_cv_sys_posix_termios = yes; then ! echo "$as_me:13393: checking whether termios.h defines TIOCGWINSZ" >&5 echo $ECHO_N "checking whether termios.h defines TIOCGWINSZ... $ECHO_C" >&6 if test "${ac_cv_sys_tiocgwinsz_in_termios_h+set}" = set; then --- 14540,14548 ---- rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:14542: result: $ac_cv_sys_posix_termios" >&5 echo "${ECHO_T}$ac_cv_sys_posix_termios" >&6 if test $ac_cv_sys_posix_termios = yes; then ! echo "$as_me:14546: checking whether termios.h defines TIOCGWINSZ" >&5 echo $ECHO_N "checking whether termios.h defines TIOCGWINSZ... $ECHO_C" >&6 if test "${ac_cv_sys_tiocgwinsz_in_termios_h+set}" = set; then *************** *** 13397,13401 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 13399 "configure" #include "confdefs.h" #include --- 14550,14554 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 14552 "configure" #include "confdefs.h" #include *************** *** 13415,13424 **** fi ! echo "$as_me:13417: result: $ac_cv_sys_tiocgwinsz_in_termios_h" >&5 echo "${ECHO_T}$ac_cv_sys_tiocgwinsz_in_termios_h" >&6 fi if test $ac_cv_sys_tiocgwinsz_in_termios_h != yes; then ! echo "$as_me:13422: checking whether sys/ioctl.h defines TIOCGWINSZ" >&5 echo $ECHO_N "checking whether sys/ioctl.h defines TIOCGWINSZ... $ECHO_C" >&6 if test "${ac_cv_sys_tiocgwinsz_in_sys_ioctl_h+set}" = set; then --- 14568,14577 ---- fi ! echo "$as_me:14570: result: $ac_cv_sys_tiocgwinsz_in_termios_h" >&5 echo "${ECHO_T}$ac_cv_sys_tiocgwinsz_in_termios_h" >&6 fi if test $ac_cv_sys_tiocgwinsz_in_termios_h != yes; then ! echo "$as_me:14575: checking whether sys/ioctl.h defines TIOCGWINSZ" >&5 echo $ECHO_N "checking whether sys/ioctl.h defines TIOCGWINSZ... $ECHO_C" >&6 if test "${ac_cv_sys_tiocgwinsz_in_sys_ioctl_h+set}" = set; then *************** *** 13426,13430 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 13428 "configure" #include "confdefs.h" #include --- 14579,14583 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 14581 "configure" #include "confdefs.h" #include *************** *** 13444,13448 **** fi ! echo "$as_me:13446: result: $ac_cv_sys_tiocgwinsz_in_sys_ioctl_h" >&5 echo "${ECHO_T}$ac_cv_sys_tiocgwinsz_in_sys_ioctl_h" >&6 --- 14597,14601 ---- fi ! echo "$as_me:14599: result: $ac_cv_sys_tiocgwinsz_in_sys_ioctl_h" >&5 echo "${ECHO_T}$ac_cv_sys_tiocgwinsz_in_sys_ioctl_h" >&6 *************** *** 13456,13460 **** fi ! echo "$as_me:13458: checking for TIOCSTAT in sys/ioctl.h" >&5 echo $ECHO_N "checking for TIOCSTAT in sys/ioctl.h... $ECHO_C" >&6 if test "${bash_cv_tiocstat_in_ioctl+set}" = set; then --- 14609,14613 ---- fi ! echo "$as_me:14611: checking for TIOCSTAT in sys/ioctl.h" >&5 echo $ECHO_N "checking for TIOCSTAT in sys/ioctl.h... $ECHO_C" >&6 if test "${bash_cv_tiocstat_in_ioctl+set}" = set; then *************** *** 13462,13466 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 13464 "configure" #include "confdefs.h" #include --- 14615,14619 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 14617 "configure" #include "confdefs.h" #include *************** *** 13475,13488 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:13477: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:13480: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:13483: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:13486: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_tiocstat_in_ioctl=yes --- 14628,14641 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:14630: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:14633: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:14636: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:14639: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_tiocstat_in_ioctl=yes *************** *** 13495,13499 **** fi ! echo "$as_me:13497: result: $bash_cv_tiocstat_in_ioctl" >&5 echo "${ECHO_T}$bash_cv_tiocstat_in_ioctl" >&6 if test $bash_cv_tiocstat_in_ioctl = yes; then --- 14648,14652 ---- fi ! echo "$as_me:14650: result: $bash_cv_tiocstat_in_ioctl" >&5 echo "${ECHO_T}$bash_cv_tiocstat_in_ioctl" >&6 if test $bash_cv_tiocstat_in_ioctl = yes; then *************** *** 13504,13508 **** fi ! echo "$as_me:13506: checking for FIONREAD in sys/ioctl.h" >&5 echo $ECHO_N "checking for FIONREAD in sys/ioctl.h... $ECHO_C" >&6 if test "${bash_cv_fionread_in_ioctl+set}" = set; then --- 14657,14661 ---- fi ! echo "$as_me:14659: checking for FIONREAD in sys/ioctl.h" >&5 echo $ECHO_N "checking for FIONREAD in sys/ioctl.h... $ECHO_C" >&6 if test "${bash_cv_fionread_in_ioctl+set}" = set; then *************** *** 13510,13514 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 13512 "configure" #include "confdefs.h" #include --- 14663,14667 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 14665 "configure" #include "confdefs.h" #include *************** *** 13523,13536 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:13525: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:13528: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:13531: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:13534: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_fionread_in_ioctl=yes --- 14676,14689 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:14678: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:14681: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:14684: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:14687: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_fionread_in_ioctl=yes *************** *** 13543,13547 **** fi ! echo "$as_me:13545: result: $bash_cv_fionread_in_ioctl" >&5 echo "${ECHO_T}$bash_cv_fionread_in_ioctl" >&6 if test $bash_cv_fionread_in_ioctl = yes; then --- 14696,14700 ---- fi ! echo "$as_me:14698: result: $bash_cv_fionread_in_ioctl" >&5 echo "${ECHO_T}$bash_cv_fionread_in_ioctl" >&6 if test $bash_cv_fionread_in_ioctl = yes; then *************** *** 13552,13556 **** fi ! echo "$as_me:13554: checking for speed_t in sys/types.h" >&5 echo $ECHO_N "checking for speed_t in sys/types.h... $ECHO_C" >&6 if test "${bash_cv_speed_t_in_sys_types+set}" = set; then --- 14705,14709 ---- fi ! echo "$as_me:14707: checking for speed_t in sys/types.h" >&5 echo $ECHO_N "checking for speed_t in sys/types.h... $ECHO_C" >&6 if test "${bash_cv_speed_t_in_sys_types+set}" = set; then *************** *** 13558,13562 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 13560 "configure" #include "confdefs.h" #include --- 14711,14715 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 14713 "configure" #include "confdefs.h" #include *************** *** 13570,13583 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:13572: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:13575: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:13578: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:13581: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_speed_t_in_sys_types=yes --- 14723,14736 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:14725: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:14728: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:14731: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:14734: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_speed_t_in_sys_types=yes *************** *** 13590,13594 **** fi ! echo "$as_me:13592: result: $bash_cv_speed_t_in_sys_types" >&5 echo "${ECHO_T}$bash_cv_speed_t_in_sys_types" >&6 if test $bash_cv_speed_t_in_sys_types = yes; then --- 14743,14747 ---- fi ! echo "$as_me:14745: result: $bash_cv_speed_t_in_sys_types" >&5 echo "${ECHO_T}$bash_cv_speed_t_in_sys_types" >&6 if test $bash_cv_speed_t_in_sys_types = yes; then *************** *** 13599,13603 **** fi ! echo "$as_me:13601: checking whether getpw functions are declared in pwd.h" >&5 echo $ECHO_N "checking whether getpw functions are declared in pwd.h... $ECHO_C" >&6 if test "${bash_cv_getpw_declared+set}" = set; then --- 14752,14756 ---- fi ! echo "$as_me:14754: checking whether getpw functions are declared in pwd.h" >&5 echo $ECHO_N "checking whether getpw functions are declared in pwd.h... $ECHO_C" >&6 if test "${bash_cv_getpw_declared+set}" = set; then *************** *** 13605,13609 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 13607 "configure" #include "confdefs.h" --- 14758,14762 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 14760 "configure" #include "confdefs.h" *************** *** 13625,13629 **** fi ! echo "$as_me:13627: result: $bash_cv_getpw_declared" >&5 echo "${ECHO_T}$bash_cv_getpw_declared" >&6 if test $bash_cv_getpw_declared = yes; then --- 14778,14782 ---- fi ! echo "$as_me:14780: result: $bash_cv_getpw_declared" >&5 echo "${ECHO_T}$bash_cv_getpw_declared" >&6 if test $bash_cv_getpw_declared = yes; then *************** *** 13634,13638 **** fi ! echo "$as_me:13636: checking for unusable real-time signals due to large values" >&5 echo $ECHO_N "checking for unusable real-time signals due to large values... $ECHO_C" >&6 if test "${bash_cv_unusable_rtsigs+set}" = set; then --- 14787,14791 ---- fi ! echo "$as_me:14789: checking for unusable real-time signals due to large values" >&5 echo $ECHO_N "checking for unusable real-time signals due to large values... $ECHO_C" >&6 if test "${bash_cv_unusable_rtsigs+set}" = set; then *************** *** 13640,13644 **** else if test "$cross_compiling" = yes; then ! { echo "$as_me:13642: WARNING: cannot check real-time signals if cross compiling -- defaulting to yes" >&5 echo "$as_me: WARNING: cannot check real-time signals if cross compiling -- defaulting to yes" >&2;} bash_cv_unusable_rtsigs=yes --- 14793,14797 ---- else if test "$cross_compiling" = yes; then ! { echo "$as_me:14795: WARNING: cannot check real-time signals if cross compiling -- defaulting to yes" >&5 echo "$as_me: WARNING: cannot check real-time signals if cross compiling -- defaulting to yes" >&2;} bash_cv_unusable_rtsigs=yes *************** *** 13646,13650 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 13648 "configure" #include "confdefs.h" --- 14799,14803 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 14801 "configure" #include "confdefs.h" *************** *** 13669,13681 **** _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:13671: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:13674: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:13676: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:13679: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_unusable_rtsigs=yes --- 14822,14834 ---- _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:14824: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:14827: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:14829: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:14832: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_unusable_rtsigs=yes *************** *** 13690,13694 **** fi ! echo "$as_me:13692: result: $bash_cv_unusable_rtsigs" >&5 echo "${ECHO_T}$bash_cv_unusable_rtsigs" >&6 if test $bash_cv_unusable_rtsigs = yes; then --- 14843,14847 ---- fi ! echo "$as_me:14845: result: $bash_cv_unusable_rtsigs" >&5 echo "${ECHO_T}$bash_cv_unusable_rtsigs" >&6 if test $bash_cv_unusable_rtsigs = yes; then *************** *** 13706,13710 **** case "$host_os" in ! hpux*) echo "$as_me:13708: checking whether $host_os needs _KERNEL for RLIMIT defines" >&5 echo $ECHO_N "checking whether $host_os needs _KERNEL for RLIMIT defines... $ECHO_C" >&6 if test "${bash_cv_kernel_rlimit+set}" = set; then --- 14859,14863 ---- case "$host_os" in ! hpux*) echo "$as_me:14861: checking whether $host_os needs _KERNEL for RLIMIT defines" >&5 echo $ECHO_N "checking whether $host_os needs _KERNEL for RLIMIT defines... $ECHO_C" >&6 if test "${bash_cv_kernel_rlimit+set}" = set; then *************** *** 13712,13716 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 13714 "configure" #include "confdefs.h" --- 14865,14869 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line 14867 "configure" #include "confdefs.h" *************** *** 13730,13743 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:13732: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:13735: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:13738: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:13741: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_kernel_rlimit=no --- 14883,14896 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:14885: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:14888: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:14891: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:14894: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_kernel_rlimit=no *************** *** 13746,13750 **** cat conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF ! #line 13748 "configure" #include "confdefs.h" --- 14899,14903 ---- cat conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF ! #line 14901 "configure" #include "confdefs.h" *************** *** 13766,13779 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:13768: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:13771: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:13774: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:13777: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_kernel_rlimit=yes --- 14919,14932 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:14921: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:14924: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:14927: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:14930: \$? = $ac_status" >&5 (exit $ac_status); }; }; then bash_cv_kernel_rlimit=yes *************** *** 13789,13793 **** fi ! echo "$as_me:13791: result: $bash_cv_kernel_rlimit" >&5 echo "${ECHO_T}$bash_cv_kernel_rlimit" >&6 if test $bash_cv_kernel_rlimit = yes; then --- 14942,14946 ---- fi ! echo "$as_me:14944: result: $bash_cv_kernel_rlimit" >&5 echo "${ECHO_T}$bash_cv_kernel_rlimit" >&6 if test $bash_cv_kernel_rlimit = yes; then *************** *** 13808,13812 **** _bash_needmsg=yes else ! echo "$as_me:13810: checking which library has the termcap functions" >&5 echo $ECHO_N "checking which library has the termcap functions... $ECHO_C" >&6 _bash_needmsg= --- 14961,14965 ---- _bash_needmsg=yes else ! echo "$as_me:14963: checking which library has the termcap functions" >&5 echo $ECHO_N "checking which library has the termcap functions... $ECHO_C" >&6 _bash_needmsg= *************** *** 13815,13819 **** echo $ECHO_N "(cached) $ECHO_C" >&6 else ! echo "$as_me:13817: checking for tgetent in -ltermcap" >&5 echo $ECHO_N "checking for tgetent in -ltermcap... $ECHO_C" >&6 if test "${ac_cv_lib_termcap_tgetent+set}" = set; then --- 14968,14972 ---- echo $ECHO_N "(cached) $ECHO_C" >&6 else ! echo "$as_me:14970: checking for tgetent in -ltermcap" >&5 echo $ECHO_N "checking for tgetent in -ltermcap... $ECHO_C" >&6 if test "${ac_cv_lib_termcap_tgetent+set}" = set; then *************** *** 13823,13827 **** LIBS="-ltermcap $LIBS" cat >conftest.$ac_ext <<_ACEOF ! #line 13825 "configure" #include "confdefs.h" --- 14976,14980 ---- LIBS="-ltermcap $LIBS" cat >conftest.$ac_ext <<_ACEOF ! #line 14978 "configure" #include "confdefs.h" *************** *** 13842,13855 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:13844: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:13847: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:13850: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:13853: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_termcap_tgetent=yes --- 14995,15008 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:14997: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:15000: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:15003: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:15006: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_termcap_tgetent=yes *************** *** 13862,13871 **** LIBS=$ac_check_lib_save_LIBS fi ! echo "$as_me:13864: result: $ac_cv_lib_termcap_tgetent" >&5 echo "${ECHO_T}$ac_cv_lib_termcap_tgetent" >&6 if test $ac_cv_lib_termcap_tgetent = yes; then bash_cv_termcap_lib=libtermcap else ! echo "$as_me:13869: checking for tgetent in -ltinfo" >&5 echo $ECHO_N "checking for tgetent in -ltinfo... $ECHO_C" >&6 if test "${ac_cv_lib_tinfo_tgetent+set}" = set; then --- 15015,15024 ---- LIBS=$ac_check_lib_save_LIBS fi ! echo "$as_me:15017: result: $ac_cv_lib_termcap_tgetent" >&5 echo "${ECHO_T}$ac_cv_lib_termcap_tgetent" >&6 if test $ac_cv_lib_termcap_tgetent = yes; then bash_cv_termcap_lib=libtermcap else ! echo "$as_me:15022: checking for tgetent in -ltinfo" >&5 echo $ECHO_N "checking for tgetent in -ltinfo... $ECHO_C" >&6 if test "${ac_cv_lib_tinfo_tgetent+set}" = set; then *************** *** 13875,13879 **** LIBS="-ltinfo $LIBS" cat >conftest.$ac_ext <<_ACEOF ! #line 13877 "configure" #include "confdefs.h" --- 15028,15032 ---- LIBS="-ltinfo $LIBS" cat >conftest.$ac_ext <<_ACEOF ! #line 15030 "configure" #include "confdefs.h" *************** *** 13894,13907 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:13896: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:13899: \$?