From: Chet Ramey Date: Tue, 18 Nov 2014 20:49:02 +0000 (-0500) Subject: commit bash-20141107 snapshot X-Git-Tag: bash-4.4-alpha~42 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=03d922b128707999ae5bf75af1a35f07175f4386;p=thirdparty%2Fbash.git commit bash-20141107 snapshot --- diff --git a/CWRU/CWRU.chlog b/CWRU/CWRU.chlog index 3037f20c3..17a75d7f1 100644 --- a/CWRU/CWRU.chlog +++ b/CWRU/CWRU.chlog @@ -7136,3 +7136,43 @@ variables.c doc/bashref.texi - --enable_function-import: document new configuration option + + 11/5 + ---- +lib/readline/history.c + - history_lines_read_from_file: new variable, set by read_history and + read_history_range to the actual number of lines read from the + history file. The value is valid immediately after a call to one + of those functions + - history_lines_written_to_file: new variable, set by write_history, + history_do_write, and history_truncate_file to the actual number of + lines written to the history file. The value is valid immediately + after a call to one of those functions + +variables.c + - sv_histsize: set history_lines_in_file after history_truncate_file() + only if hmax < history_lines_in_file (lines we've already read); a + cosmetic change only + +bashhist.c + - load_history: set history_lines_in_file after read_history() from + history_lines_read_from_file, since read_history reads all of the + lines from the history file even if it's more than $HISTSIZE + - maybe_save_shell_history: after calling write_history(), set + history_lines_in_file to history_lines_written_to_file, since we + can assume that we read everyhing we just wrote + +builtins/history.def + - history_builtin: after calling read_history (history -r), set the + new value of history_lines_in_file, for the same reason as above + - history_builtin: after calling read_history_range (history -n), set + history_lines_in_file from history_lines_read_from_file + + 11/6 + ---- +lib/readline/histfile.c + - history_truncate_file: since we move the old file to a backup copy + before truncating, make sure the new file is owned by the same uid + as the old + - history_do_write: use chown in the same way as history_truncate_file + diff --git a/CWRU/POSIX.NOTES.old b/CWRU/POSIX.NOTES.old new file mode 100644 index 000000000..1707ab10c --- /dev/null +++ b/CWRU/POSIX.NOTES.old @@ -0,0 +1,82 @@ +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.2 standard by changing the behavior to match that +specified by Posix.2 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 >& redirection does not redirect stdout and stderr. + +3. The message printed by the job control code and builtins when a job + exits with a non-zero status is `Done(status)'. + +4. Reserved words may not be aliased. + +5. The Posix.2 PS1 and PS2 expansions of `!' -> history number and + `!!' -> `!' are enabled, and parameter expansion is performed on + the value regardless of the setting of the `promptvars' option. + +6. Interactive comments are enabled by default. (Note that bash has + them on by default anyway.) + +7. The Posix.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 (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 `file' in `. file' is not found. + +12. Redirection operators do not perform pathname expansion on the word + in the redirection unless the shell is interactive + +13. Function names must be valid shell identifiers. 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 illegal name + causes a fatal syntax error in non-interactive shells. + +14. Posix.2 `special' builtins are found before shell functions during command + lookup. + +15. If a Posix.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. + +16. The environment passed to executed commands is not sorted. Neither is + the output of `set'. This is not strictly Posix.2 behavior, but sh + does it this way. Ksh does not. It's not necessary to sort the + environment; no program should rely on it being sorted. + +17. If the `cd' builtin finds a directory to change to using $CDPATH, the + value it assigns to $PWD does not contain any symbolic links, as if + `cd -P' had been executed. + +18. 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 read-only variable. + +19. 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 read-only variable. + +20. Process substitution is not available. + +21. Assignment statements preceding POSIX.2 `special' builtins persist in + the shell environment after the builtin completes. + +There is other Posix.2 behavior that bash does not implement. Specifically: + +1. Assignment statements affect the execution environment of all builtins, + not just special ones. diff --git a/CWRU/old/set.def.save b/CWRU/old/set.def.save new file mode 100644 index 000000000..87b78d7cc --- /dev/null +++ b/CWRU/old/set.def.save @@ -0,0 +1,544 @@ +This file is set.def, from which is created set.c. +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. + +Bash is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 1, or (at your option) 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, 675 Mass Ave, Cambridge, MA 02139, USA. + +$PRODUCES set.c + +#include +#include "../shell.h" +#include "../flags.h" + +#include "bashgetopt.h" + +extern int interactive; +extern int noclobber, posixly_correct; +#if defined (READLINE) +extern int rl_editing_mode, no_line_editing; +#endif /* READLINE */ + +$BUILTIN set +$FUNCTION set_builtin +$SHORT_DOC set [--abefhkmnptuvxldBCHP] [-o option] [arg ...] + -a Mark variables which are modified or created for export. + -b Notify of job termination immediately. + -e Exit immediately if a command exits with a non-zero status. + -f Disable file name generation (globbing). + -h Locate and remember function commands as functions are + defined. Function commands are normally looked up when + the function is executed. + -i Force the shell to be an "interactive" one. Interactive shells + always read `~/.bashrc' on startup. + -k All keyword arguments are placed in the environment for a + command, not just those that precede the command name. + -m Job control is enabled. + -n Read commands but do not execute them. + -o option-name + Set the variable corresponding to option-name: + allexport same as -a + braceexpand same as -B +#if defined (READLINE) + emacs use an emacs-style line editing interface +#endif /* READLINE */ + errexit same as -e + histexpand same as -H + ignoreeof the shell will not exit upon reading EOF + interactive-comments + allow comments to appear in interactive commands + monitor same as -m + noclobber disallow redirection to existing files + noexec same as -n + noglob same as -f + nohash same as -d + notify save as -b + nounset same as -u + physical same as -P + posix change the behavior of bash where the default + operation differs from the 1003.2 standard to + match the standard + privileged same as -p + verbose same as -v +#if defined (READLINE) + vi use a vi-style line editing interface +#endif /* READLINE */ + xtrace same as -x + -p Turned on whenever the real and effective user ids do not match. + Disables processing of the $ENV file and importing of shell + functions. Turning this option off causes the effective uid and + gid to be set to the real uid and gid. + -t Exit after reading and executing one command. + -u Treat unset variables as an error when substituting. + -v Print shell input lines as they are read. + -x Print commands and their arguments as they are executed. + -l Save and restore the binding of the NAME in a FOR command. + -d Disable the hashing of commands that are looked up for execution. + Normally, commands are remembered in a hash table, and once + found, do not have to be looked up again. +#if defined (BRACE_EXPANSION) + -B the shell will perform brace expansion +#endif /* BRACE_EXPANSION */ +#if defined (BANG_HISTORY) + -H Enable ! style history substitution. This flag is on + by default. +#endif /* BANG_HISTORY */ + -C If set, disallow existing regular files to be overwritten + by redirection of output. + -P If set, do not follow symbolic links when executing commands + such as cd which change the current directory. + +Using + rather than - causes these flags to be turned off. The +flags can also be used upon invocation of the shell. The current +set of flags may be found in $-. The remaining n ARGs are positional +parameters and are assigned, in order, to $1, $2, .. $n. If no +ARGs are given, all shell variables are printed. +$END + +/* 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' }, + { "histexpand", 'H' }, + { "monitor", 'm' }, + { "noexec", 'n' }, + { "noglob", 'f' }, + { "nohash", 'd' }, +#if defined (JOB_CONTROL) + { "notify", 'b' }, +#endif /* JOB_CONTROL */ + {"nounset", 'u' }, + {"physical", 'P' }, + {"privileged", 'p' }, + {"verbose", 'v' }, + {"xtrace", 'x' }, + {(char *)NULL, 0}, +}; + +#define MINUS_O_FORMAT "%-15s\t%s\n" + +void +list_minus_o_opts () +{ + register int i; + char *on = "on", *off = "off"; + + printf (MINUS_O_FORMAT, "noclobber", (noclobber == 1) ? on : off); + + if (find_variable ("ignoreeof") || find_variable ("IGNOREEOF")) + printf (MINUS_O_FORMAT, "ignoreeof", on); + else + printf (MINUS_O_FORMAT, "ignoreeof", off); + + printf (MINUS_O_FORMAT, "interactive-comments", + interactive_comments ? on : off); + + printf (MINUS_O_FORMAT, "posix", posixly_correct ? on : off); + +#if defined (READLINE) + if (no_line_editing) + { + printf (MINUS_O_FORMAT, "emacs", off); + printf (MINUS_O_FORMAT, "vi", off); + } + else + { + /* Magic. This code `knows' how readline handles rl_editing_mode. */ + printf (MINUS_O_FORMAT, "emacs", (rl_editing_mode == 1) ? on : off); + printf (MINUS_O_FORMAT, "vi", (rl_editing_mode == 0) ? on : off); + } +#endif /* READLINE */ + + for (i = 0; o_options[i].name; i++) + { + int *on_or_off, zero = 0; + + on_or_off = find_flag (o_options[i].letter); + if (on_or_off == FLAG_UNKNOWN) + on_or_off = &zero; + printf (MINUS_O_FORMAT, o_options[i].name, (*on_or_off == 1) ? on : off); + } +} + +set_minus_o_option (on_or_off, option_name) + int on_or_off; + char *option_name; +{ + int option_char = -1; + + if (STREQ (option_name, "noclobber")) + { + if (on_or_off == FLAG_ON) + bind_variable ("noclobber", ""); + else + unbind_variable ("noclobber"); + stupidly_hack_special_variables ("noclobber"); + } + else if (STREQ (option_name, "ignoreeof")) + { + unbind_variable ("ignoreeof"); + unbind_variable ("IGNOREEOF"); + if (on_or_off == FLAG_ON) + bind_variable ("IGNOREEOF", "10"); + stupidly_hack_special_variables ("IGNOREEOF"); + } + +#if defined (READLINE) + else if ((STREQ (option_name, "emacs")) || (STREQ (option_name, "vi"))) + { + if (on_or_off == FLAG_ON) + { + rl_variable_bind ("editing-mode", option_name); + + if (interactive) + with_input_from_stdin (); + no_line_editing = 0; + } + else + { + int isemacs = (rl_editing_mode == 1); + if ((isemacs && STREQ (option_name, "emacs")) || + (!isemacs && STREQ (option_name, "vi"))) + { + if (interactive) + with_input_from_stream (stdin, "stdin"); + no_line_editing = 1; + } + else + builtin_error ("not in %s editing mode", option_name); + } + } +#endif /* READLINE */ + else if (STREQ (option_name, "interactive-comments")) + interactive_comments = (on_or_off == FLAG_ON); + else if (STREQ (option_name, "posix")) + { + posixly_correct = (on_or_off == FLAG_ON); + unbind_variable ("POSIXLY_CORRECT"); + unbind_variable ("POSIX_PEDANTIC"); + if (on_or_off == FLAG_ON) + { + bind_variable ("POSIXLY_CORRECT", ""); + stupidly_hack_special_variables ("POSIXLY_CORRECT"); + } + } + else + { + register int i; + for (i = 0; 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); +} + +/* Set some flags from the word values in the input list. If LIST is empty, + then print out the values of the variables instead. If LIST contains + non-flags, then set $1 - $9 to the successive words of LIST. */ +set_builtin (list) + WORD_LIST *list; +{ + int on_or_off, flag_name, force_assignment = 0; + + if (!list) + { + SHELL_VAR **vars; + + vars = all_shell_variables (); + if (vars) + { + print_var_list (vars); + free (vars); + } + + vars = all_shell_functions (); + if (vars) + { + print_var_list (vars); + free (vars); + } + + return (EXECUTION_SUCCESS); + } + + /* Check validity of flag arguments. */ + if (*list->word->word == '-' || *list->word->word == '+') + { + register char *arg; + WORD_LIST *save_list = list; + + while (list && (arg = list->word->word)) + { + 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); + } + } + list = list->next; + } + list = save_list; + } + + /* Do the set command. While the list consists of words starting with + '-' or '+' treat them as flags, otherwise, start assigning them to + $1 ... $n. */ + while (list) + { + char *string = list->word->word; + + /* If the argument is `--' or `-' then signal the end of the list + and remember the remaining arguments. */ + if (string[0] == '-' && (!string[1] || (string[1] == '-' && !string[2]))) + { + list = list->next; + + /* `set --' unsets the positional parameters. */ + if (string[1] == '-') + force_assignment = 1; + + /* Until told differently, the old shell behaviour of + `set - [arg ...]' being equivalent to `set +xv [arg ...]' + stands. Posix.2 says the behaviour is marked as obsolescent. */ + else + { + change_flag ('x', '+'); + change_flag ('v', '+'); + } + + break; + } + + if ((on_or_off = *string) && + (on_or_off == '-' || on_or_off == '+')) + { + int i = 1; + while (flag_name = string[i++]) + { + if (flag_name == '?') + { + builtin_usage (); + return (EXECUTION_SUCCESS); + } + else if (flag_name == 'o') /* -+o option-name */ + { + char *option_name; + WORD_LIST *opt; + + opt = list->next; + + if (!opt) + { + list_minus_o_opts (); + continue; + } + + option_name = opt->word->word; + + if (!option_name || !*option_name || (*option_name == '-')) + { + list_minus_o_opts (); + continue; + } + list = list->next; /* Skip over option name. */ + + if (set_minus_o_option (on_or_off, option_name) != EXECUTION_SUCCESS) + return (EXECUTION_FAILURE); + } + 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 (); + return (EXECUTION_FAILURE); + } + } + } + } + else + { + break; + } + list = list->next; + } + + /* Assigning $1 ... $n */ + if (list || force_assignment) + remember_args (list, 1); + return (EXECUTION_SUCCESS); +} + +$BUILTIN unset +$FUNCTION unset_builtin +$SHORT_DOC unset [-f] [-v] [name ...] +For each NAME, remove the corresponding variable or function. Given +the `-v', unset will only act on variables. Given the `-f' flag, +unset will only act on functions. With neither flag, unset first +tries to unset a variable, and if that fails, then tries to unset a +function. Some variables (such as PATH and IFS) cannot be unset; also +see readonly. +$END + +#define NEXT_VARIABLE() any_failed++; list = list->next; continue; + +unset_builtin (list) + WORD_LIST *list; +{ + int unset_function, unset_variable, unset_array, opt, any_failed; + char *name; + + unset_function = unset_variable = unset_array = any_failed = 0; + + reset_internal_getopt (); + while ((opt = internal_getopt (list, "fv")) != -1) + { + switch (opt) + { + case 'f': + unset_function = 1; + break; + case 'v': + unset_variable = 1; + break; + default: + builtin_usage (); + return (EXECUTION_FAILURE); + } + } + + list = loptend; + + if (unset_function && unset_variable) + { + builtin_error ("cannot simultaneously unset a function and a variable"); + return (EXECUTION_FAILURE); + } + + while (list) + { + SHELL_VAR *var; + int tem; +#if defined (ARRAY_VARS) + char *t; +#endif + + name = list->word->word; + +#if defined (ARRAY_VARS) + if (!unset_function && valid_array_reference (name)) + { + t = strchr (name, '['); + *t++ = '\0'; + unset_array++; + } +#endif + + var = unset_function ? find_function (name) : find_variable (name); + + if (var && !unset_function && non_unsettable_p (var)) + { + builtin_error ("%s: cannot unset", name); + NEXT_VARIABLE (); + } + + /* Posix.2 says that unsetting readonly variables is an error. */ + if (var && readonly_p (var)) + { + builtin_error ("%s: cannot unset: readonly %s", + name, unset_function ? "function" : "variable"); + NEXT_VARIABLE (); + } + + /* Unless the -f option is supplied, the name refers to a variable. */ +#if defined (ARRAY_VARS) + if (var && unset_array) + { + if (array_p (var) == 0) + { + builtin_error ("%s: not an array variable", name); + NEXT_VARIABLE (); + } + 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 + is specified, the name refers to a variable; if a variable by + that name does not exist, a function by that name, if any, + 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); + + list = list->next; + } + + if (any_failed) + return (EXECUTION_FAILURE); + else + return (EXECUTION_SUCCESS); +} diff --git a/CWRU/save/unwind_prot.h.save b/CWRU/save/unwind_prot.h.save new file mode 100644 index 000000000..998fd72b6 --- /dev/null +++ b/CWRU/save/unwind_prot.h.save @@ -0,0 +1,50 @@ +/* unwind_prot.h - Macros and functions for hacking unwind protection. */ + +/* Copyright (C) 1993 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, 675 Mass Ave, Cambridge, MA 02139, USA. */ + +#if !defined (_UNWIND_PROT_H) +#define _UNWIND_PROT_H + +/* Run a function without interrupts. */ +extern void begin_unwind_frame (); +extern void discard_unwind_frame (); +extern void run_unwind_frame (); +extern void add_unwind_protect (); +extern void remove_unwind_protect (); +extern void run_unwind_protects (); +extern void unwind_protect_var (); + +/* Define for people who like their code to look a certain way. */ +#define end_unwind_frame() + +/* How to protect an integer. */ +#define unwind_protect_int(X) unwind_protect_var (&(X), (char *)(X), sizeof (int)) + +/* How to protect a pointer to a string. */ +#define unwind_protect_string(X) \ + unwind_protect_var ((int *)&(X), (X), sizeof (char *)) + +/* How to protect any old pointer. */ +#define unwind_protect_pointer(X) unwind_protect_string (X) + +/* How to protect the contents of a jmp_buf. */ +#define unwind_protect_jmp_buf(X) \ + unwind_protect_var ((int *)(X), (char *)(X), sizeof (procenv_t)) + +#endif /* _UNWIND_PROT_H */ diff --git a/autom4te.cache/output.0 b/autom4te.cache/output.0 index dbf622c34..72f72f47b 100644 --- a/autom4te.cache/output.0 +++ b/autom4te.cache/output.0 @@ -1,5 +1,5 @@ @%:@! /bin/sh -@%:@ From configure.ac for Bash 4.3, version 4.064. +@%:@ From configure.ac for Bash 4.3, version 4.065. @%:@ Guess values for system-dependent variables and create Makefiles. @%:@ Generated by GNU Autoconf 2.69 for bash 4.3-maint. @%:@ @@ -9518,6 +9518,101 @@ cat >>confdefs.h <<_ACEOF _ACEOF +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5 +$as_echo_n "checking for uid_t in sys/types.h... " >&6; } +if ${ac_cv_type_uid_t+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "uid_t" >/dev/null 2>&1; then : + ac_cv_type_uid_t=yes +else + ac_cv_type_uid_t=no +fi +rm -f conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_uid_t" >&5 +$as_echo "$ac_cv_type_uid_t" >&6; } +if test $ac_cv_type_uid_t = no; then + +$as_echo "@%:@define uid_t int" >>confdefs.h + + +$as_echo "@%:@define gid_t int" >>confdefs.h + +fi + +for ac_header in unistd.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "unistd.h" "ac_cv_header_unistd_h" "$ac_includes_default" +if test "x$ac_cv_header_unistd_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +@%:@define HAVE_UNISTD_H 1 +_ACEOF + +fi + +done + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working chown" >&5 +$as_echo_n "checking for working chown... " >&6; } +if ${ac_cv_func_chown_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + ac_cv_func_chown_works=no +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +#include + +int +main () +{ + char *f = "conftest.chown"; + struct stat before, after; + + if (creat (f, 0600) < 0) + return 1; + if (stat (f, &before) < 0) + return 1; + if (chown (f, (uid_t) -1, (gid_t) -1) == -1) + return 1; + if (stat (f, &after) < 0) + return 1; + return ! (before.st_uid == after.st_uid && before.st_gid == after.st_gid); + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_func_chown_works=yes +else + ac_cv_func_chown_works=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +rm -f conftest.chown + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_chown_works" >&5 +$as_echo "$ac_cv_func_chown_works" >&6; } +if test $ac_cv_func_chown_works = yes; then + +$as_echo "@%:@define HAVE_CHOWN 1" >>confdefs.h + fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getpgrp requires zero arguments" >&5 @@ -11681,36 +11776,6 @@ fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5 -$as_echo_n "checking for uid_t in sys/types.h... " >&6; } -if ${ac_cv_type_uid_t+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "uid_t" >/dev/null 2>&1; then : - ac_cv_type_uid_t=yes -else - ac_cv_type_uid_t=no -fi -rm -f conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_uid_t" >&5 -$as_echo "$ac_cv_type_uid_t" >&6; } -if test $ac_cv_type_uid_t = no; then - -$as_echo "@%:@define uid_t int" >>confdefs.h - - -$as_echo "@%:@define gid_t int" >>confdefs.h - -fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking type of array argument to getgroups" >&5 $as_echo_n "checking type of array argument to getgroups... " >&6; } if ${ac_cv_type_getgroups+:} false; then : diff --git a/autom4te.cache/traces.0 b/autom4te.cache/traces.0 index 6ae9068a5..b98f1298f 100644 --- a/autom4te.cache/traces.0 +++ b/autom4te.cache/traces.0 @@ -1302,390 +1302,399 @@ m4trace:configure.ac:728: -1- AH_OUTPUT([STACK_DIRECTION], [/* If using the C im @%:@undef STACK_DIRECTION]) m4trace:configure.ac:728: -1- AC_DEFINE_TRACE_LITERAL([STACK_DIRECTION]) m4trace:configure.ac:728: -1- m4_pattern_allow([^STACK_DIRECTION$]) -m4trace:configure.ac:729: -1- AC_DEFINE_TRACE_LITERAL([GETPGRP_VOID]) -m4trace:configure.ac:729: -1- m4_pattern_allow([^GETPGRP_VOID$]) -m4trace:configure.ac:729: -1- AH_OUTPUT([GETPGRP_VOID], [/* Define to 1 if the `getpgrp\' function requires zero arguments. */ +m4trace:configure.ac:729: -1- AC_DEFINE_TRACE_LITERAL([uid_t]) +m4trace:configure.ac:729: -1- m4_pattern_allow([^uid_t$]) +m4trace:configure.ac:729: -1- AH_OUTPUT([uid_t], [/* Define to `int\' if doesn\'t define. */ +@%:@undef uid_t]) +m4trace:configure.ac:729: -1- AC_DEFINE_TRACE_LITERAL([gid_t]) +m4trace:configure.ac:729: -1- m4_pattern_allow([^gid_t$]) +m4trace:configure.ac:729: -1- AH_OUTPUT([gid_t], [/* Define to `int\' if doesn\'t define. */ +@%:@undef gid_t]) +m4trace:configure.ac:729: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the header file. */ +@%:@undef HAVE_UNISTD_H]) +m4trace:configure.ac:729: -1- AC_DEFINE_TRACE_LITERAL([HAVE_UNISTD_H]) +m4trace:configure.ac:729: -1- m4_pattern_allow([^HAVE_UNISTD_H$]) +m4trace:configure.ac:729: -1- AC_DEFINE_TRACE_LITERAL([HAVE_CHOWN]) +m4trace:configure.ac:729: -1- m4_pattern_allow([^HAVE_CHOWN$]) +m4trace:configure.ac:729: -1- AH_OUTPUT([HAVE_CHOWN], [/* Define to 1 if your system has a working `chown\' function. */ +@%:@undef HAVE_CHOWN]) +m4trace:configure.ac:730: -1- AC_DEFINE_TRACE_LITERAL([GETPGRP_VOID]) +m4trace:configure.ac:730: -1- m4_pattern_allow([^GETPGRP_VOID$]) +m4trace:configure.ac:730: -1- AH_OUTPUT([GETPGRP_VOID], [/* Define to 1 if the `getpgrp\' function requires zero arguments. */ @%:@undef GETPGRP_VOID]) -m4trace:configure.ac:730: -1- _m4_warn([obsolete], [The macro `AC_FUNC_SETVBUF_REVERSED' is obsolete. Remove it and all references to SETVBUF_REVERSED.], [../../lib/autoconf/functions.m4:1710: AC_FUNC_SETVBUF_REVERSED is expanded from... -configure.ac:730: the top level]) -m4trace:configure.ac:731: -1- AH_OUTPUT([HAVE_VPRINTF], [/* Define to 1 if you have the `vprintf\' function. */ +m4trace:configure.ac:731: -1- _m4_warn([obsolete], [The macro `AC_FUNC_SETVBUF_REVERSED' is obsolete. Remove it and all references to SETVBUF_REVERSED.], [../../lib/autoconf/functions.m4:1710: AC_FUNC_SETVBUF_REVERSED is expanded from... +configure.ac:731: the top level]) +m4trace:configure.ac:732: -1- AH_OUTPUT([HAVE_VPRINTF], [/* Define to 1 if you have the `vprintf\' function. */ @%:@undef HAVE_VPRINTF]) -m4trace:configure.ac:731: -1- AC_DEFINE_TRACE_LITERAL([HAVE_VPRINTF]) -m4trace:configure.ac:731: -1- m4_pattern_allow([^HAVE_VPRINTF$]) -m4trace:configure.ac:731: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DOPRNT]) -m4trace:configure.ac:731: -1- m4_pattern_allow([^HAVE_DOPRNT$]) -m4trace:configure.ac:731: -1- AH_OUTPUT([HAVE_DOPRNT], [/* Define to 1 if you don\'t have `vprintf\' but do have `_doprnt.\' */ +m4trace:configure.ac:732: -1- AC_DEFINE_TRACE_LITERAL([HAVE_VPRINTF]) +m4trace:configure.ac:732: -1- m4_pattern_allow([^HAVE_VPRINTF$]) +m4trace:configure.ac:732: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DOPRNT]) +m4trace:configure.ac:732: -1- m4_pattern_allow([^HAVE_DOPRNT$]) +m4trace:configure.ac:732: -1- AH_OUTPUT([HAVE_DOPRNT], [/* Define to 1 if you don\'t have `vprintf\' but do have `_doprnt.\' */ @%:@undef HAVE_DOPRNT]) -m4trace:configure.ac:732: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRCOLL]) -m4trace:configure.ac:732: -1- m4_pattern_allow([^HAVE_STRCOLL$]) -m4trace:configure.ac:732: -1- AH_OUTPUT([HAVE_STRCOLL], [/* Define to 1 if you have the `strcoll\' function and it is properly defined. +m4trace:configure.ac:733: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRCOLL]) +m4trace:configure.ac:733: -1- m4_pattern_allow([^HAVE_STRCOLL$]) +m4trace:configure.ac:733: -1- AH_OUTPUT([HAVE_STRCOLL], [/* Define to 1 if you have the `strcoll\' function and it is properly defined. */ @%:@undef HAVE_STRCOLL]) -m4trace:configure.ac:753: -1- AC_DEFINE_TRACE_LITERAL([HAVE_VPRINTF]) -m4trace:configure.ac:753: -1- m4_pattern_allow([^HAVE_VPRINTF$]) -m4trace:configure.ac:758: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS vprint.$ac_objext"]) -m4trace:configure.ac:758: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) -m4trace:configure.ac:758: -1- m4_pattern_allow([^LIB@&t@OBJS$]) -m4trace:configure.ac:758: -1- AC_LIBSOURCE([vprint.c]) -m4trace:configure.ac:762: -1- _m4_warn([obsolete], [The macro `AC_TYPE_SIGNAL' is obsolete. +m4trace:configure.ac:754: -1- AC_DEFINE_TRACE_LITERAL([HAVE_VPRINTF]) +m4trace:configure.ac:754: -1- m4_pattern_allow([^HAVE_VPRINTF$]) +m4trace:configure.ac:759: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS vprint.$ac_objext"]) +m4trace:configure.ac:759: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) +m4trace:configure.ac:759: -1- m4_pattern_allow([^LIB@&t@OBJS$]) +m4trace:configure.ac:759: -1- AC_LIBSOURCE([vprint.c]) +m4trace:configure.ac:763: -1- _m4_warn([obsolete], [The macro `AC_TYPE_SIGNAL' is obsolete. You should run autoupdate.], [../../lib/autoconf/types.m4:746: AC_TYPE_SIGNAL is expanded from... -configure.ac:762: the top level]) -m4trace:configure.ac:762: -1- AC_DEFINE_TRACE_LITERAL([RETSIGTYPE]) -m4trace:configure.ac:762: -1- m4_pattern_allow([^RETSIGTYPE$]) -m4trace:configure.ac:762: -1- AH_OUTPUT([RETSIGTYPE], [/* Define as the return type of signal handlers (`int\' or `void\'). */ +configure.ac:763: the top level]) +m4trace:configure.ac:763: -1- AC_DEFINE_TRACE_LITERAL([RETSIGTYPE]) +m4trace:configure.ac:763: -1- m4_pattern_allow([^RETSIGTYPE$]) +m4trace:configure.ac:763: -1- AH_OUTPUT([RETSIGTYPE], [/* Define as the return type of signal handlers (`int\' or `void\'). */ @%:@undef RETSIGTYPE]) -m4trace:configure.ac:765: -2- AC_DEFINE_TRACE_LITERAL([HAVE_SETOSTYPE]) -m4trace:configure.ac:765: -2- m4_pattern_allow([^HAVE_SETOSTYPE$]) -m4trace:configure.ac:766: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WAIT3]) -m4trace:configure.ac:766: -2- m4_pattern_allow([^HAVE_WAIT3$]) -m4trace:configure.ac:769: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MKFIFO]) -m4trace:configure.ac:769: -2- m4_pattern_allow([^HAVE_MKFIFO$]) -m4trace:configure.ac:769: -2- AC_DEFINE_TRACE_LITERAL([MKFIFO_MISSING]) -m4trace:configure.ac:769: -2- m4_pattern_allow([^MKFIFO_MISSING$]) -m4trace:configure.ac:772: -1- AH_OUTPUT([HAVE_DUP2], [/* Define to 1 if you have the `dup2\' function. */ +m4trace:configure.ac:766: -2- AC_DEFINE_TRACE_LITERAL([HAVE_SETOSTYPE]) +m4trace:configure.ac:766: -2- m4_pattern_allow([^HAVE_SETOSTYPE$]) +m4trace:configure.ac:767: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WAIT3]) +m4trace:configure.ac:767: -2- m4_pattern_allow([^HAVE_WAIT3$]) +m4trace:configure.ac:770: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MKFIFO]) +m4trace:configure.ac:770: -2- m4_pattern_allow([^HAVE_MKFIFO$]) +m4trace:configure.ac:770: -2- AC_DEFINE_TRACE_LITERAL([MKFIFO_MISSING]) +m4trace:configure.ac:770: -2- m4_pattern_allow([^MKFIFO_MISSING$]) +m4trace:configure.ac:773: -1- AH_OUTPUT([HAVE_DUP2], [/* Define to 1 if you have the `dup2\' function. */ @%:@undef HAVE_DUP2]) -m4trace:configure.ac:772: -1- AH_OUTPUT([HAVE_EACCESS], [/* Define to 1 if you have the `eaccess\' function. */ +m4trace:configure.ac:773: -1- AH_OUTPUT([HAVE_EACCESS], [/* Define to 1 if you have the `eaccess\' function. */ @%:@undef HAVE_EACCESS]) -m4trace:configure.ac:772: -1- AH_OUTPUT([HAVE_FCNTL], [/* Define to 1 if you have the `fcntl\' function. */ +m4trace:configure.ac:773: -1- AH_OUTPUT([HAVE_FCNTL], [/* Define to 1 if you have the `fcntl\' function. */ @%:@undef HAVE_FCNTL]) -m4trace:configure.ac:772: -1- AH_OUTPUT([HAVE_GETDTABLESIZE], [/* Define to 1 if you have the `getdtablesize\' function. */ +m4trace:configure.ac:773: -1- AH_OUTPUT([HAVE_GETDTABLESIZE], [/* Define to 1 if you have the `getdtablesize\' function. */ @%:@undef HAVE_GETDTABLESIZE]) -m4trace:configure.ac:772: -1- AH_OUTPUT([HAVE_GETGROUPS], [/* Define to 1 if you have the `getgroups\' function. */ +m4trace:configure.ac:773: -1- AH_OUTPUT([HAVE_GETGROUPS], [/* Define to 1 if you have the `getgroups\' function. */ @%:@undef HAVE_GETGROUPS]) -m4trace:configure.ac:772: -1- AH_OUTPUT([HAVE_GETHOSTNAME], [/* Define to 1 if you have the `gethostname\' function. */ +m4trace:configure.ac:773: -1- AH_OUTPUT([HAVE_GETHOSTNAME], [/* Define to 1 if you have the `gethostname\' function. */ @%:@undef HAVE_GETHOSTNAME]) -m4trace:configure.ac:772: -1- AH_OUTPUT([HAVE_GETPAGESIZE], [/* Define to 1 if you have the `getpagesize\' function. */ +m4trace:configure.ac:773: -1- AH_OUTPUT([HAVE_GETPAGESIZE], [/* Define to 1 if you have the `getpagesize\' function. */ @%:@undef HAVE_GETPAGESIZE]) -m4trace:configure.ac:772: -1- AH_OUTPUT([HAVE_GETPEERNAME], [/* Define to 1 if you have the `getpeername\' function. */ +m4trace:configure.ac:773: -1- AH_OUTPUT([HAVE_GETPEERNAME], [/* Define to 1 if you have the `getpeername\' function. */ @%:@undef HAVE_GETPEERNAME]) -m4trace:configure.ac:772: -1- AH_OUTPUT([HAVE_GETRLIMIT], [/* Define to 1 if you have the `getrlimit\' function. */ +m4trace:configure.ac:773: -1- AH_OUTPUT([HAVE_GETRLIMIT], [/* Define to 1 if you have the `getrlimit\' function. */ @%:@undef HAVE_GETRLIMIT]) -m4trace:configure.ac:772: -1- AH_OUTPUT([HAVE_GETRUSAGE], [/* Define to 1 if you have the `getrusage\' function. */ +m4trace:configure.ac:773: -1- AH_OUTPUT([HAVE_GETRUSAGE], [/* Define to 1 if you have the `getrusage\' function. */ @%:@undef HAVE_GETRUSAGE]) -m4trace:configure.ac:772: -1- AH_OUTPUT([HAVE_GETTIMEOFDAY], [/* Define to 1 if you have the `gettimeofday\' function. */ +m4trace:configure.ac:773: -1- AH_OUTPUT([HAVE_GETTIMEOFDAY], [/* Define to 1 if you have the `gettimeofday\' function. */ @%:@undef HAVE_GETTIMEOFDAY]) -m4trace:configure.ac:772: -1- AH_OUTPUT([HAVE_KILL], [/* Define to 1 if you have the `kill\' function. */ +m4trace:configure.ac:773: -1- AH_OUTPUT([HAVE_KILL], [/* Define to 1 if you have the `kill\' function. */ @%:@undef HAVE_KILL]) -m4trace:configure.ac:772: -1- AH_OUTPUT([HAVE_KILLPG], [/* Define to 1 if you have the `killpg\' function. */ +m4trace:configure.ac:773: -1- AH_OUTPUT([HAVE_KILLPG], [/* Define to 1 if you have the `killpg\' function. */ @%:@undef HAVE_KILLPG]) -m4trace:configure.ac:772: -1- AH_OUTPUT([HAVE_LSTAT], [/* Define to 1 if you have the `lstat\' function. */ +m4trace:configure.ac:773: -1- AH_OUTPUT([HAVE_LSTAT], [/* Define to 1 if you have the `lstat\' function. */ @%:@undef HAVE_LSTAT]) -m4trace:configure.ac:772: -1- AH_OUTPUT([HAVE_READLINK], [/* Define to 1 if you have the `readlink\' function. */ +m4trace:configure.ac:773: -1- AH_OUTPUT([HAVE_READLINK], [/* Define to 1 if you have the `readlink\' function. */ @%:@undef HAVE_READLINK]) -m4trace:configure.ac:772: -1- AH_OUTPUT([HAVE_SBRK], [/* Define to 1 if you have the `sbrk\' function. */ +m4trace:configure.ac:773: -1- AH_OUTPUT([HAVE_SBRK], [/* Define to 1 if you have the `sbrk\' function. */ @%:@undef HAVE_SBRK]) -m4trace:configure.ac:772: -1- AH_OUTPUT([HAVE_SELECT], [/* Define to 1 if you have the `select\' function. */ +m4trace:configure.ac:773: -1- AH_OUTPUT([HAVE_SELECT], [/* Define to 1 if you have the `select\' function. */ @%:@undef HAVE_SELECT]) -m4trace:configure.ac:772: -1- AH_OUTPUT([HAVE_SETDTABLESIZE], [/* Define to 1 if you have the `setdtablesize\' function. */ +m4trace:configure.ac:773: -1- AH_OUTPUT([HAVE_SETDTABLESIZE], [/* Define to 1 if you have the `setdtablesize\' function. */ @%:@undef HAVE_SETDTABLESIZE]) -m4trace:configure.ac:772: -1- AH_OUTPUT([HAVE_SETITIMER], [/* Define to 1 if you have the `setitimer\' function. */ +m4trace:configure.ac:773: -1- AH_OUTPUT([HAVE_SETITIMER], [/* Define to 1 if you have the `setitimer\' function. */ @%:@undef HAVE_SETITIMER]) -m4trace:configure.ac:772: -1- AH_OUTPUT([HAVE_TCGETPGRP], [/* Define to 1 if you have the `tcgetpgrp\' function. */ +m4trace:configure.ac:773: -1- AH_OUTPUT([HAVE_TCGETPGRP], [/* Define to 1 if you have the `tcgetpgrp\' function. */ @%:@undef HAVE_TCGETPGRP]) -m4trace:configure.ac:772: -1- AH_OUTPUT([HAVE_UNAME], [/* Define to 1 if you have the `uname\' function. */ +m4trace:configure.ac:773: -1- AH_OUTPUT([HAVE_UNAME], [/* Define to 1 if you have the `uname\' function. */ @%:@undef HAVE_UNAME]) -m4trace:configure.ac:772: -1- AH_OUTPUT([HAVE_ULIMIT], [/* Define to 1 if you have the `ulimit\' function. */ +m4trace:configure.ac:773: -1- AH_OUTPUT([HAVE_ULIMIT], [/* Define to 1 if you have the `ulimit\' function. */ @%:@undef HAVE_ULIMIT]) -m4trace:configure.ac:772: -1- AH_OUTPUT([HAVE_WAITPID], [/* Define to 1 if you have the `waitpid\' function. */ +m4trace:configure.ac:773: -1- AH_OUTPUT([HAVE_WAITPID], [/* Define to 1 if you have the `waitpid\' function. */ @%:@undef HAVE_WAITPID]) -m4trace:configure.ac:776: -1- AH_OUTPUT([HAVE_RENAME], [/* Define to 1 if you have the `rename\' function. */ +m4trace:configure.ac:777: -1- AH_OUTPUT([HAVE_RENAME], [/* Define to 1 if you have the `rename\' function. */ @%:@undef HAVE_RENAME]) -m4trace:configure.ac:776: -1- AC_DEFINE_TRACE_LITERAL([HAVE_RENAME]) -m4trace:configure.ac:776: -1- m4_pattern_allow([^HAVE_RENAME$]) -m4trace:configure.ac:776: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS rename.$ac_objext"]) -m4trace:configure.ac:776: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) -m4trace:configure.ac:776: -1- m4_pattern_allow([^LIB@&t@OBJS$]) -m4trace:configure.ac:776: -1- AC_LIBSOURCE([rename.c]) -m4trace:configure.ac:779: -1- AH_OUTPUT([HAVE_BCOPY], [/* Define to 1 if you have the `bcopy\' function. */ +m4trace:configure.ac:777: -1- AC_DEFINE_TRACE_LITERAL([HAVE_RENAME]) +m4trace:configure.ac:777: -1- m4_pattern_allow([^HAVE_RENAME$]) +m4trace:configure.ac:777: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS rename.$ac_objext"]) +m4trace:configure.ac:777: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) +m4trace:configure.ac:777: -1- m4_pattern_allow([^LIB@&t@OBJS$]) +m4trace:configure.ac:777: -1- AC_LIBSOURCE([rename.c]) +m4trace:configure.ac:780: -1- AH_OUTPUT([HAVE_BCOPY], [/* Define to 1 if you have the `bcopy\' function. */ @%:@undef HAVE_BCOPY]) -m4trace:configure.ac:779: -1- AH_OUTPUT([HAVE_BZERO], [/* Define to 1 if you have the `bzero\' function. */ +m4trace:configure.ac:780: -1- AH_OUTPUT([HAVE_BZERO], [/* Define to 1 if you have the `bzero\' function. */ @%:@undef HAVE_BZERO]) -m4trace:configure.ac:779: -1- AH_OUTPUT([HAVE_CONFSTR], [/* Define to 1 if you have the `confstr\' function. */ +m4trace:configure.ac:780: -1- AH_OUTPUT([HAVE_CONFSTR], [/* Define to 1 if you have the `confstr\' function. */ @%:@undef HAVE_CONFSTR]) -m4trace:configure.ac:779: -1- AH_OUTPUT([HAVE_FACCESSAT], [/* Define to 1 if you have the `faccessat\' function. */ +m4trace:configure.ac:780: -1- AH_OUTPUT([HAVE_FACCESSAT], [/* Define to 1 if you have the `faccessat\' function. */ @%:@undef HAVE_FACCESSAT]) -m4trace:configure.ac:779: -1- AH_OUTPUT([HAVE_FNMATCH], [/* Define to 1 if you have the `fnmatch\' function. */ +m4trace:configure.ac:780: -1- AH_OUTPUT([HAVE_FNMATCH], [/* Define to 1 if you have the `fnmatch\' function. */ @%:@undef HAVE_FNMATCH]) -m4trace:configure.ac:779: -1- AH_OUTPUT([HAVE_GETADDRINFO], [/* Define to 1 if you have the `getaddrinfo\' function. */ +m4trace:configure.ac:780: -1- AH_OUTPUT([HAVE_GETADDRINFO], [/* Define to 1 if you have the `getaddrinfo\' function. */ @%:@undef HAVE_GETADDRINFO]) -m4trace:configure.ac:779: -1- AH_OUTPUT([HAVE_GETHOSTBYNAME], [/* Define to 1 if you have the `gethostbyname\' function. */ +m4trace:configure.ac:780: -1- AH_OUTPUT([HAVE_GETHOSTBYNAME], [/* Define to 1 if you have the `gethostbyname\' function. */ @%:@undef HAVE_GETHOSTBYNAME]) -m4trace:configure.ac:779: -1- AH_OUTPUT([HAVE_GETSERVBYNAME], [/* Define to 1 if you have the `getservbyname\' function. */ +m4trace:configure.ac:780: -1- AH_OUTPUT([HAVE_GETSERVBYNAME], [/* Define to 1 if you have the `getservbyname\' function. */ @%:@undef HAVE_GETSERVBYNAME]) -m4trace:configure.ac:779: -1- AH_OUTPUT([HAVE_GETSERVENT], [/* Define to 1 if you have the `getservent\' function. */ +m4trace:configure.ac:780: -1- AH_OUTPUT([HAVE_GETSERVENT], [/* Define to 1 if you have the `getservent\' function. */ @%:@undef HAVE_GETSERVENT]) -m4trace:configure.ac:779: -1- AH_OUTPUT([HAVE_INET_ATON], [/* Define to 1 if you have the `inet_aton\' function. */ +m4trace:configure.ac:780: -1- AH_OUTPUT([HAVE_INET_ATON], [/* Define to 1 if you have the `inet_aton\' function. */ @%:@undef HAVE_INET_ATON]) -m4trace:configure.ac:779: -1- AH_OUTPUT([HAVE_IMAXDIV], [/* Define to 1 if you have the `imaxdiv\' function. */ +m4trace:configure.ac:780: -1- AH_OUTPUT([HAVE_IMAXDIV], [/* Define to 1 if you have the `imaxdiv\' function. */ @%:@undef HAVE_IMAXDIV]) -m4trace:configure.ac:779: -1- AH_OUTPUT([HAVE_MEMMOVE], [/* Define to 1 if you have the `memmove\' function. */ +m4trace:configure.ac:780: -1- AH_OUTPUT([HAVE_MEMMOVE], [/* Define to 1 if you have the `memmove\' function. */ @%:@undef HAVE_MEMMOVE]) -m4trace:configure.ac:779: -1- AH_OUTPUT([HAVE_PATHCONF], [/* Define to 1 if you have the `pathconf\' function. */ +m4trace:configure.ac:780: -1- AH_OUTPUT([HAVE_PATHCONF], [/* Define to 1 if you have the `pathconf\' function. */ @%:@undef HAVE_PATHCONF]) -m4trace:configure.ac:779: -1- AH_OUTPUT([HAVE_PUTENV], [/* Define to 1 if you have the `putenv\' function. */ +m4trace:configure.ac:780: -1- AH_OUTPUT([HAVE_PUTENV], [/* Define to 1 if you have the `putenv\' function. */ @%:@undef HAVE_PUTENV]) -m4trace:configure.ac:779: -1- AH_OUTPUT([HAVE_RAISE], [/* Define to 1 if you have the `raise\' function. */ +m4trace:configure.ac:780: -1- AH_OUTPUT([HAVE_RAISE], [/* Define to 1 if you have the `raise\' function. */ @%:@undef HAVE_RAISE]) -m4trace:configure.ac:779: -1- AH_OUTPUT([HAVE_REGCOMP], [/* Define to 1 if you have the `regcomp\' function. */ +m4trace:configure.ac:780: -1- AH_OUTPUT([HAVE_REGCOMP], [/* Define to 1 if you have the `regcomp\' function. */ @%:@undef HAVE_REGCOMP]) -m4trace:configure.ac:779: -1- AH_OUTPUT([HAVE_REGEXEC], [/* Define to 1 if you have the `regexec\' function. */ +m4trace:configure.ac:780: -1- AH_OUTPUT([HAVE_REGEXEC], [/* Define to 1 if you have the `regexec\' function. */ @%:@undef HAVE_REGEXEC]) -m4trace:configure.ac:779: -1- AH_OUTPUT([HAVE_SETENV], [/* Define to 1 if you have the `setenv\' function. */ +m4trace:configure.ac:780: -1- AH_OUTPUT([HAVE_SETENV], [/* Define to 1 if you have the `setenv\' function. */ @%:@undef HAVE_SETENV]) -m4trace:configure.ac:779: -1- AH_OUTPUT([HAVE_SETLINEBUF], [/* Define to 1 if you have the `setlinebuf\' function. */ +m4trace:configure.ac:780: -1- AH_OUTPUT([HAVE_SETLINEBUF], [/* Define to 1 if you have the `setlinebuf\' function. */ @%:@undef HAVE_SETLINEBUF]) -m4trace:configure.ac:779: -1- AH_OUTPUT([HAVE_SETLOCALE], [/* Define to 1 if you have the `setlocale\' function. */ +m4trace:configure.ac:780: -1- AH_OUTPUT([HAVE_SETLOCALE], [/* Define to 1 if you have the `setlocale\' function. */ @%:@undef HAVE_SETLOCALE]) -m4trace:configure.ac:779: -1- AH_OUTPUT([HAVE_SETVBUF], [/* Define to 1 if you have the `setvbuf\' function. */ +m4trace:configure.ac:780: -1- AH_OUTPUT([HAVE_SETVBUF], [/* Define to 1 if you have the `setvbuf\' function. */ @%:@undef HAVE_SETVBUF]) -m4trace:configure.ac:779: -1- AH_OUTPUT([HAVE_SIGINTERRUPT], [/* Define to 1 if you have the `siginterrupt\' function. */ +m4trace:configure.ac:780: -1- AH_OUTPUT([HAVE_SIGINTERRUPT], [/* Define to 1 if you have the `siginterrupt\' function. */ @%:@undef HAVE_SIGINTERRUPT]) -m4trace:configure.ac:779: -1- AH_OUTPUT([HAVE_STRCHR], [/* Define to 1 if you have the `strchr\' function. */ +m4trace:configure.ac:780: -1- AH_OUTPUT([HAVE_STRCHR], [/* Define to 1 if you have the `strchr\' function. */ @%:@undef HAVE_STRCHR]) -m4trace:configure.ac:779: -1- AH_OUTPUT([HAVE_SYSCONF], [/* Define to 1 if you have the `sysconf\' function. */ +m4trace:configure.ac:780: -1- AH_OUTPUT([HAVE_SYSCONF], [/* Define to 1 if you have the `sysconf\' function. */ @%:@undef HAVE_SYSCONF]) -m4trace:configure.ac:779: -1- AH_OUTPUT([HAVE_SYSLOG], [/* Define to 1 if you have the `syslog\' function. */ +m4trace:configure.ac:780: -1- AH_OUTPUT([HAVE_SYSLOG], [/* Define to 1 if you have the `syslog\' function. */ @%:@undef HAVE_SYSLOG]) -m4trace:configure.ac:779: -1- AH_OUTPUT([HAVE_TCGETATTR], [/* Define to 1 if you have the `tcgetattr\' function. */ +m4trace:configure.ac:780: -1- AH_OUTPUT([HAVE_TCGETATTR], [/* Define to 1 if you have the `tcgetattr\' function. */ @%:@undef HAVE_TCGETATTR]) -m4trace:configure.ac:779: -1- AH_OUTPUT([HAVE_TIMES], [/* Define to 1 if you have the `times\' function. */ +m4trace:configure.ac:780: -1- AH_OUTPUT([HAVE_TIMES], [/* Define to 1 if you have the `times\' function. */ @%:@undef HAVE_TIMES]) -m4trace:configure.ac:779: -1- AH_OUTPUT([HAVE_TTYNAME], [/* Define to 1 if you have the `ttyname\' function. */ +m4trace:configure.ac:780: -1- AH_OUTPUT([HAVE_TTYNAME], [/* Define to 1 if you have the `ttyname\' function. */ @%:@undef HAVE_TTYNAME]) -m4trace:configure.ac:779: -1- AH_OUTPUT([HAVE_TZSET], [/* Define to 1 if you have the `tzset\' function. */ +m4trace:configure.ac:780: -1- AH_OUTPUT([HAVE_TZSET], [/* Define to 1 if you have the `tzset\' function. */ @%:@undef HAVE_TZSET]) -m4trace:configure.ac:779: -1- AH_OUTPUT([HAVE_UNSETENV], [/* Define to 1 if you have the `unsetenv\' function. */ +m4trace:configure.ac:780: -1- AH_OUTPUT([HAVE_UNSETENV], [/* Define to 1 if you have the `unsetenv\' function. */ @%:@undef HAVE_UNSETENV]) -m4trace:configure.ac:785: -1- AH_OUTPUT([HAVE_VASPRINTF], [/* Define to 1 if you have the `vasprintf\' function. */ +m4trace:configure.ac:786: -1- AH_OUTPUT([HAVE_VASPRINTF], [/* Define to 1 if you have the `vasprintf\' function. */ @%:@undef HAVE_VASPRINTF]) -m4trace:configure.ac:785: -1- AH_OUTPUT([HAVE_ASPRINTF], [/* Define to 1 if you have the `asprintf\' function. */ +m4trace:configure.ac:786: -1- AH_OUTPUT([HAVE_ASPRINTF], [/* Define to 1 if you have the `asprintf\' function. */ @%:@undef HAVE_ASPRINTF]) -m4trace:configure.ac:786: -1- AH_OUTPUT([HAVE_ISASCII], [/* Define to 1 if you have the `isascii\' function. */ +m4trace:configure.ac:787: -1- AH_OUTPUT([HAVE_ISASCII], [/* Define to 1 if you have the `isascii\' function. */ @%:@undef HAVE_ISASCII]) -m4trace:configure.ac:786: -1- AH_OUTPUT([HAVE_ISBLANK], [/* Define to 1 if you have the `isblank\' function. */ +m4trace:configure.ac:787: -1- AH_OUTPUT([HAVE_ISBLANK], [/* Define to 1 if you have the `isblank\' function. */ @%:@undef HAVE_ISBLANK]) -m4trace:configure.ac:786: -1- AH_OUTPUT([HAVE_ISGRAPH], [/* Define to 1 if you have the `isgraph\' function. */ +m4trace:configure.ac:787: -1- AH_OUTPUT([HAVE_ISGRAPH], [/* Define to 1 if you have the `isgraph\' function. */ @%:@undef HAVE_ISGRAPH]) -m4trace:configure.ac:786: -1- AH_OUTPUT([HAVE_ISPRINT], [/* Define to 1 if you have the `isprint\' function. */ +m4trace:configure.ac:787: -1- AH_OUTPUT([HAVE_ISPRINT], [/* Define to 1 if you have the `isprint\' function. */ @%:@undef HAVE_ISPRINT]) -m4trace:configure.ac:786: -1- AH_OUTPUT([HAVE_ISSPACE], [/* Define to 1 if you have the `isspace\' function. */ +m4trace:configure.ac:787: -1- AH_OUTPUT([HAVE_ISSPACE], [/* Define to 1 if you have the `isspace\' function. */ @%:@undef HAVE_ISSPACE]) -m4trace:configure.ac:786: -1- AH_OUTPUT([HAVE_ISXDIGIT], [/* Define to 1 if you have the `isxdigit\' function. */ +m4trace:configure.ac:787: -1- AH_OUTPUT([HAVE_ISXDIGIT], [/* Define to 1 if you have the `isxdigit\' function. */ @%:@undef HAVE_ISXDIGIT]) -m4trace:configure.ac:787: -1- AH_OUTPUT([HAVE_GETPWENT], [/* Define to 1 if you have the `getpwent\' function. */ +m4trace:configure.ac:788: -1- AH_OUTPUT([HAVE_GETPWENT], [/* Define to 1 if you have the `getpwent\' function. */ @%:@undef HAVE_GETPWENT]) -m4trace:configure.ac:787: -1- AH_OUTPUT([HAVE_GETPWNAM], [/* Define to 1 if you have the `getpwnam\' function. */ +m4trace:configure.ac:788: -1- AH_OUTPUT([HAVE_GETPWNAM], [/* Define to 1 if you have the `getpwnam\' function. */ @%:@undef HAVE_GETPWNAM]) -m4trace:configure.ac:787: -1- AH_OUTPUT([HAVE_GETPWUID], [/* Define to 1 if you have the `getpwuid\' function. */ +m4trace:configure.ac:788: -1- AH_OUTPUT([HAVE_GETPWUID], [/* Define to 1 if you have the `getpwuid\' function. */ @%:@undef HAVE_GETPWUID]) -m4trace:configure.ac:788: -1- AH_OUTPUT([HAVE_GETCWD], [/* Define to 1 if you have the `getcwd\' function. */ +m4trace:configure.ac:789: -1- AH_OUTPUT([HAVE_GETCWD], [/* Define to 1 if you have the `getcwd\' function. */ @%:@undef HAVE_GETCWD]) -m4trace:configure.ac:788: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETCWD]) -m4trace:configure.ac:788: -1- m4_pattern_allow([^HAVE_GETCWD$]) -m4trace:configure.ac:788: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS getcwd.$ac_objext"]) -m4trace:configure.ac:788: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) -m4trace:configure.ac:788: -1- m4_pattern_allow([^LIB@&t@OBJS$]) -m4trace:configure.ac:788: -1- AC_LIBSOURCE([getcwd.c]) -m4trace:configure.ac:788: -1- AH_OUTPUT([HAVE_MEMSET], [/* Define to 1 if you have the `memset\' function. */ -@%:@undef HAVE_MEMSET]) -m4trace:configure.ac:788: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MEMSET]) -m4trace:configure.ac:788: -1- m4_pattern_allow([^HAVE_MEMSET$]) -m4trace:configure.ac:788: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS memset.$ac_objext"]) -m4trace:configure.ac:788: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) -m4trace:configure.ac:788: -1- m4_pattern_allow([^LIB@&t@OBJS$]) -m4trace:configure.ac:788: -1- AC_LIBSOURCE([memset.c]) -m4trace:configure.ac:789: -1- AH_OUTPUT([HAVE_STRCASECMP], [/* Define to 1 if you have the `strcasecmp\' function. */ -@%:@undef HAVE_STRCASECMP]) -m4trace:configure.ac:789: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRCASECMP]) -m4trace:configure.ac:789: -1- m4_pattern_allow([^HAVE_STRCASECMP$]) -m4trace:configure.ac:789: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strcasecmp.$ac_objext"]) -m4trace:configure.ac:789: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) -m4trace:configure.ac:789: -1- m4_pattern_allow([^LIB@&t@OBJS$]) -m4trace:configure.ac:789: -1- AC_LIBSOURCE([strcasecmp.c]) -m4trace:configure.ac:789: -1- AH_OUTPUT([HAVE_STRCASESTR], [/* Define to 1 if you have the `strcasestr\' function. */ -@%:@undef HAVE_STRCASESTR]) -m4trace:configure.ac:789: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRCASESTR]) -m4trace:configure.ac:789: -1- m4_pattern_allow([^HAVE_STRCASESTR$]) -m4trace:configure.ac:789: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strcasestr.$ac_objext"]) -m4trace:configure.ac:789: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) -m4trace:configure.ac:789: -1- m4_pattern_allow([^LIB@&t@OBJS$]) -m4trace:configure.ac:789: -1- AC_LIBSOURCE([strcasestr.c]) -m4trace:configure.ac:789: -1- AH_OUTPUT([HAVE_STRERROR], [/* Define to 1 if you have the `strerror\' function. */ -@%:@undef HAVE_STRERROR]) -m4trace:configure.ac:789: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRERROR]) -m4trace:configure.ac:789: -1- m4_pattern_allow([^HAVE_STRERROR$]) -m4trace:configure.ac:789: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strerror.$ac_objext"]) -m4trace:configure.ac:789: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) -m4trace:configure.ac:789: -1- m4_pattern_allow([^LIB@&t@OBJS$]) -m4trace:configure.ac:789: -1- AC_LIBSOURCE([strerror.c]) -m4trace:configure.ac:789: -1- AH_OUTPUT([HAVE_STRFTIME], [/* Define to 1 if you have the `strftime\' function. */ -@%:@undef HAVE_STRFTIME]) -m4trace:configure.ac:789: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRFTIME]) -m4trace:configure.ac:789: -1- m4_pattern_allow([^HAVE_STRFTIME$]) -m4trace:configure.ac:789: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strftime.$ac_objext"]) -m4trace:configure.ac:789: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) -m4trace:configure.ac:789: -1- m4_pattern_allow([^LIB@&t@OBJS$]) -m4trace:configure.ac:789: -1- AC_LIBSOURCE([strftime.c]) -m4trace:configure.ac:789: -1- AH_OUTPUT([HAVE_STRNLEN], [/* Define to 1 if you have the `strnlen\' function. */ -@%:@undef HAVE_STRNLEN]) -m4trace:configure.ac:789: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRNLEN]) -m4trace:configure.ac:789: -1- m4_pattern_allow([^HAVE_STRNLEN$]) -m4trace:configure.ac:789: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strnlen.$ac_objext"]) -m4trace:configure.ac:789: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) -m4trace:configure.ac:789: -1- m4_pattern_allow([^LIB@&t@OBJS$]) -m4trace:configure.ac:789: -1- AC_LIBSOURCE([strnlen.c]) -m4trace:configure.ac:789: -1- AH_OUTPUT([HAVE_STRPBRK], [/* Define to 1 if you have the `strpbrk\' function. */ -@%:@undef HAVE_STRPBRK]) -m4trace:configure.ac:789: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRPBRK]) -m4trace:configure.ac:789: -1- m4_pattern_allow([^HAVE_STRPBRK$]) -m4trace:configure.ac:789: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strpbrk.$ac_objext"]) +m4trace:configure.ac:789: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETCWD]) +m4trace:configure.ac:789: -1- m4_pattern_allow([^HAVE_GETCWD$]) +m4trace:configure.ac:789: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS getcwd.$ac_objext"]) m4trace:configure.ac:789: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) m4trace:configure.ac:789: -1- m4_pattern_allow([^LIB@&t@OBJS$]) -m4trace:configure.ac:789: -1- AC_LIBSOURCE([strpbrk.c]) -m4trace:configure.ac:789: -1- AH_OUTPUT([HAVE_STRSTR], [/* Define to 1 if you have the `strstr\' function. */ -@%:@undef HAVE_STRSTR]) -m4trace:configure.ac:789: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRSTR]) -m4trace:configure.ac:789: -1- m4_pattern_allow([^HAVE_STRSTR$]) -m4trace:configure.ac:789: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strstr.$ac_objext"]) +m4trace:configure.ac:789: -1- AC_LIBSOURCE([getcwd.c]) +m4trace:configure.ac:789: -1- AH_OUTPUT([HAVE_MEMSET], [/* Define to 1 if you have the `memset\' function. */ +@%:@undef HAVE_MEMSET]) +m4trace:configure.ac:789: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MEMSET]) +m4trace:configure.ac:789: -1- m4_pattern_allow([^HAVE_MEMSET$]) +m4trace:configure.ac:789: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS memset.$ac_objext"]) m4trace:configure.ac:789: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) m4trace:configure.ac:789: -1- m4_pattern_allow([^LIB@&t@OBJS$]) -m4trace:configure.ac:789: -1- AC_LIBSOURCE([strstr.c]) -m4trace:configure.ac:790: -1- AH_OUTPUT([HAVE_STRTOD], [/* Define to 1 if you have the `strtod\' function. */ -@%:@undef HAVE_STRTOD]) -m4trace:configure.ac:790: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRTOD]) -m4trace:configure.ac:790: -1- m4_pattern_allow([^HAVE_STRTOD$]) -m4trace:configure.ac:790: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strtod.$ac_objext"]) +m4trace:configure.ac:789: -1- AC_LIBSOURCE([memset.c]) +m4trace:configure.ac:790: -1- AH_OUTPUT([HAVE_STRCASECMP], [/* Define to 1 if you have the `strcasecmp\' function. */ +@%:@undef HAVE_STRCASECMP]) +m4trace:configure.ac:790: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRCASECMP]) +m4trace:configure.ac:790: -1- m4_pattern_allow([^HAVE_STRCASECMP$]) +m4trace:configure.ac:790: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strcasecmp.$ac_objext"]) m4trace:configure.ac:790: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) m4trace:configure.ac:790: -1- m4_pattern_allow([^LIB@&t@OBJS$]) -m4trace:configure.ac:790: -1- AC_LIBSOURCE([strtod.c]) -m4trace:configure.ac:790: -1- AH_OUTPUT([HAVE_STRTOL], [/* Define to 1 if you have the `strtol\' function. */ -@%:@undef HAVE_STRTOL]) -m4trace:configure.ac:790: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRTOL]) -m4trace:configure.ac:790: -1- m4_pattern_allow([^HAVE_STRTOL$]) -m4trace:configure.ac:790: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strtol.$ac_objext"]) +m4trace:configure.ac:790: -1- AC_LIBSOURCE([strcasecmp.c]) +m4trace:configure.ac:790: -1- AH_OUTPUT([HAVE_STRCASESTR], [/* Define to 1 if you have the `strcasestr\' function. */ +@%:@undef HAVE_STRCASESTR]) +m4trace:configure.ac:790: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRCASESTR]) +m4trace:configure.ac:790: -1- m4_pattern_allow([^HAVE_STRCASESTR$]) +m4trace:configure.ac:790: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strcasestr.$ac_objext"]) m4trace:configure.ac:790: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) m4trace:configure.ac:790: -1- m4_pattern_allow([^LIB@&t@OBJS$]) -m4trace:configure.ac:790: -1- AC_LIBSOURCE([strtol.c]) -m4trace:configure.ac:790: -1- AH_OUTPUT([HAVE_STRTOUL], [/* Define to 1 if you have the `strtoul\' function. */ -@%:@undef HAVE_STRTOUL]) -m4trace:configure.ac:790: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRTOUL]) -m4trace:configure.ac:790: -1- m4_pattern_allow([^HAVE_STRTOUL$]) -m4trace:configure.ac:790: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strtoul.$ac_objext"]) +m4trace:configure.ac:790: -1- AC_LIBSOURCE([strcasestr.c]) +m4trace:configure.ac:790: -1- AH_OUTPUT([HAVE_STRERROR], [/* Define to 1 if you have the `strerror\' function. */ +@%:@undef HAVE_STRERROR]) +m4trace:configure.ac:790: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRERROR]) +m4trace:configure.ac:790: -1- m4_pattern_allow([^HAVE_STRERROR$]) +m4trace:configure.ac:790: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strerror.$ac_objext"]) m4trace:configure.ac:790: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) m4trace:configure.ac:790: -1- m4_pattern_allow([^LIB@&t@OBJS$]) -m4trace:configure.ac:790: -1- AC_LIBSOURCE([strtoul.c]) -m4trace:configure.ac:790: -1- AH_OUTPUT([HAVE_STRTOLL], [/* Define to 1 if you have the `strtoll\' function. */ -@%:@undef HAVE_STRTOLL]) -m4trace:configure.ac:790: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRTOLL]) -m4trace:configure.ac:790: -1- m4_pattern_allow([^HAVE_STRTOLL$]) -m4trace:configure.ac:790: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strtoll.$ac_objext"]) +m4trace:configure.ac:790: -1- AC_LIBSOURCE([strerror.c]) +m4trace:configure.ac:790: -1- AH_OUTPUT([HAVE_STRFTIME], [/* Define to 1 if you have the `strftime\' function. */ +@%:@undef HAVE_STRFTIME]) +m4trace:configure.ac:790: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRFTIME]) +m4trace:configure.ac:790: -1- m4_pattern_allow([^HAVE_STRFTIME$]) +m4trace:configure.ac:790: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strftime.$ac_objext"]) m4trace:configure.ac:790: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) m4trace:configure.ac:790: -1- m4_pattern_allow([^LIB@&t@OBJS$]) -m4trace:configure.ac:790: -1- AC_LIBSOURCE([strtoll.c]) -m4trace:configure.ac:790: -1- AH_OUTPUT([HAVE_STRTOULL], [/* Define to 1 if you have the `strtoull\' function. */ -@%:@undef HAVE_STRTOULL]) -m4trace:configure.ac:790: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRTOULL]) -m4trace:configure.ac:790: -1- m4_pattern_allow([^HAVE_STRTOULL$]) -m4trace:configure.ac:790: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strtoull.$ac_objext"]) +m4trace:configure.ac:790: -1- AC_LIBSOURCE([strftime.c]) +m4trace:configure.ac:790: -1- AH_OUTPUT([HAVE_STRNLEN], [/* Define to 1 if you have the `strnlen\' function. */ +@%:@undef HAVE_STRNLEN]) +m4trace:configure.ac:790: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRNLEN]) +m4trace:configure.ac:790: -1- m4_pattern_allow([^HAVE_STRNLEN$]) +m4trace:configure.ac:790: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strnlen.$ac_objext"]) m4trace:configure.ac:790: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) m4trace:configure.ac:790: -1- m4_pattern_allow([^LIB@&t@OBJS$]) -m4trace:configure.ac:790: -1- AC_LIBSOURCE([strtoull.c]) -m4trace:configure.ac:790: -1- AH_OUTPUT([HAVE_STRTOIMAX], [/* Define to 1 if you have the `strtoimax\' function. */ -@%:@undef HAVE_STRTOIMAX]) -m4trace:configure.ac:790: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRTOIMAX]) -m4trace:configure.ac:790: -1- m4_pattern_allow([^HAVE_STRTOIMAX$]) -m4trace:configure.ac:790: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strtoimax.$ac_objext"]) +m4trace:configure.ac:790: -1- AC_LIBSOURCE([strnlen.c]) +m4trace:configure.ac:790: -1- AH_OUTPUT([HAVE_STRPBRK], [/* Define to 1 if you have the `strpbrk\' function. */ +@%:@undef HAVE_STRPBRK]) +m4trace:configure.ac:790: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRPBRK]) +m4trace:configure.ac:790: -1- m4_pattern_allow([^HAVE_STRPBRK$]) +m4trace:configure.ac:790: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strpbrk.$ac_objext"]) m4trace:configure.ac:790: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) m4trace:configure.ac:790: -1- m4_pattern_allow([^LIB@&t@OBJS$]) -m4trace:configure.ac:790: -1- AC_LIBSOURCE([strtoimax.c]) -m4trace:configure.ac:790: -1- AH_OUTPUT([HAVE_STRTOUMAX], [/* Define to 1 if you have the `strtoumax\' function. */ -@%:@undef HAVE_STRTOUMAX]) -m4trace:configure.ac:790: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRTOUMAX]) -m4trace:configure.ac:790: -1- m4_pattern_allow([^HAVE_STRTOUMAX$]) -m4trace:configure.ac:790: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strtoumax.$ac_objext"]) +m4trace:configure.ac:790: -1- AC_LIBSOURCE([strpbrk.c]) +m4trace:configure.ac:790: -1- AH_OUTPUT([HAVE_STRSTR], [/* Define to 1 if you have the `strstr\' function. */ +@%:@undef HAVE_STRSTR]) +m4trace:configure.ac:790: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRSTR]) +m4trace:configure.ac:790: -1- m4_pattern_allow([^HAVE_STRSTR$]) +m4trace:configure.ac:790: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strstr.$ac_objext"]) m4trace:configure.ac:790: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) m4trace:configure.ac:790: -1- m4_pattern_allow([^LIB@&t@OBJS$]) -m4trace:configure.ac:790: -1- AC_LIBSOURCE([strtoumax.c]) -m4trace:configure.ac:791: -1- AH_OUTPUT([HAVE_DPRINTF], [/* Define to 1 if you have the `dprintf\' function. */ -@%:@undef HAVE_DPRINTF]) -m4trace:configure.ac:791: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DPRINTF]) -m4trace:configure.ac:791: -1- m4_pattern_allow([^HAVE_DPRINTF$]) -m4trace:configure.ac:791: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS dprintf.$ac_objext"]) +m4trace:configure.ac:790: -1- AC_LIBSOURCE([strstr.c]) +m4trace:configure.ac:791: -1- AH_OUTPUT([HAVE_STRTOD], [/* Define to 1 if you have the `strtod\' function. */ +@%:@undef HAVE_STRTOD]) +m4trace:configure.ac:791: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRTOD]) +m4trace:configure.ac:791: -1- m4_pattern_allow([^HAVE_STRTOD$]) +m4trace:configure.ac:791: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strtod.$ac_objext"]) m4trace:configure.ac:791: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) m4trace:configure.ac:791: -1- m4_pattern_allow([^LIB@&t@OBJS$]) -m4trace:configure.ac:791: -1- AC_LIBSOURCE([dprintf.c]) -m4trace:configure.ac:792: -1- AH_OUTPUT([HAVE_STRCHRNUL], [/* Define to 1 if you have the `strchrnul\' function. */ -@%:@undef HAVE_STRCHRNUL]) -m4trace:configure.ac:792: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRCHRNUL]) -m4trace:configure.ac:792: -1- m4_pattern_allow([^HAVE_STRCHRNUL$]) -m4trace:configure.ac:792: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strchrnul.$ac_objext"]) +m4trace:configure.ac:791: -1- AC_LIBSOURCE([strtod.c]) +m4trace:configure.ac:791: -1- AH_OUTPUT([HAVE_STRTOL], [/* Define to 1 if you have the `strtol\' function. */ +@%:@undef HAVE_STRTOL]) +m4trace:configure.ac:791: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRTOL]) +m4trace:configure.ac:791: -1- m4_pattern_allow([^HAVE_STRTOL$]) +m4trace:configure.ac:791: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strtol.$ac_objext"]) +m4trace:configure.ac:791: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) +m4trace:configure.ac:791: -1- m4_pattern_allow([^LIB@&t@OBJS$]) +m4trace:configure.ac:791: -1- AC_LIBSOURCE([strtol.c]) +m4trace:configure.ac:791: -1- AH_OUTPUT([HAVE_STRTOUL], [/* Define to 1 if you have the `strtoul\' function. */ +@%:@undef HAVE_STRTOUL]) +m4trace:configure.ac:791: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRTOUL]) +m4trace:configure.ac:791: -1- m4_pattern_allow([^HAVE_STRTOUL$]) +m4trace:configure.ac:791: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strtoul.$ac_objext"]) +m4trace:configure.ac:791: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) +m4trace:configure.ac:791: -1- m4_pattern_allow([^LIB@&t@OBJS$]) +m4trace:configure.ac:791: -1- AC_LIBSOURCE([strtoul.c]) +m4trace:configure.ac:791: -1- AH_OUTPUT([HAVE_STRTOLL], [/* Define to 1 if you have the `strtoll\' function. */ +@%:@undef HAVE_STRTOLL]) +m4trace:configure.ac:791: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRTOLL]) +m4trace:configure.ac:791: -1- m4_pattern_allow([^HAVE_STRTOLL$]) +m4trace:configure.ac:791: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strtoll.$ac_objext"]) +m4trace:configure.ac:791: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) +m4trace:configure.ac:791: -1- m4_pattern_allow([^LIB@&t@OBJS$]) +m4trace:configure.ac:791: -1- AC_LIBSOURCE([strtoll.c]) +m4trace:configure.ac:791: -1- AH_OUTPUT([HAVE_STRTOULL], [/* Define to 1 if you have the `strtoull\' function. */ +@%:@undef HAVE_STRTOULL]) +m4trace:configure.ac:791: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRTOULL]) +m4trace:configure.ac:791: -1- m4_pattern_allow([^HAVE_STRTOULL$]) +m4trace:configure.ac:791: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strtoull.$ac_objext"]) +m4trace:configure.ac:791: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) +m4trace:configure.ac:791: -1- m4_pattern_allow([^LIB@&t@OBJS$]) +m4trace:configure.ac:791: -1- AC_LIBSOURCE([strtoull.c]) +m4trace:configure.ac:791: -1- AH_OUTPUT([HAVE_STRTOIMAX], [/* Define to 1 if you have the `strtoimax\' function. */ +@%:@undef HAVE_STRTOIMAX]) +m4trace:configure.ac:791: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRTOIMAX]) +m4trace:configure.ac:791: -1- m4_pattern_allow([^HAVE_STRTOIMAX$]) +m4trace:configure.ac:791: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strtoimax.$ac_objext"]) +m4trace:configure.ac:791: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) +m4trace:configure.ac:791: -1- m4_pattern_allow([^LIB@&t@OBJS$]) +m4trace:configure.ac:791: -1- AC_LIBSOURCE([strtoimax.c]) +m4trace:configure.ac:791: -1- AH_OUTPUT([HAVE_STRTOUMAX], [/* Define to 1 if you have the `strtoumax\' function. */ +@%:@undef HAVE_STRTOUMAX]) +m4trace:configure.ac:791: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRTOUMAX]) +m4trace:configure.ac:791: -1- m4_pattern_allow([^HAVE_STRTOUMAX$]) +m4trace:configure.ac:791: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strtoumax.$ac_objext"]) +m4trace:configure.ac:791: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) +m4trace:configure.ac:791: -1- m4_pattern_allow([^LIB@&t@OBJS$]) +m4trace:configure.ac:791: -1- AC_LIBSOURCE([strtoumax.c]) +m4trace:configure.ac:792: -1- AH_OUTPUT([HAVE_DPRINTF], [/* Define to 1 if you have the `dprintf\' function. */ +@%:@undef HAVE_DPRINTF]) +m4trace:configure.ac:792: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DPRINTF]) +m4trace:configure.ac:792: -1- m4_pattern_allow([^HAVE_DPRINTF$]) +m4trace:configure.ac:792: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS dprintf.$ac_objext"]) m4trace:configure.ac:792: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) m4trace:configure.ac:792: -1- m4_pattern_allow([^LIB@&t@OBJS$]) -m4trace:configure.ac:792: -1- AC_LIBSOURCE([strchrnul.c]) -m4trace:configure.ac:793: -1- AH_OUTPUT([HAVE_STRDUP], [/* Define to 1 if you have the `strdup\' function. */ -@%:@undef HAVE_STRDUP]) -m4trace:configure.ac:793: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRDUP]) -m4trace:configure.ac:793: -1- m4_pattern_allow([^HAVE_STRDUP$]) -m4trace:configure.ac:793: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strdup.$ac_objext"]) +m4trace:configure.ac:792: -1- AC_LIBSOURCE([dprintf.c]) +m4trace:configure.ac:793: -1- AH_OUTPUT([HAVE_STRCHRNUL], [/* Define to 1 if you have the `strchrnul\' function. */ +@%:@undef HAVE_STRCHRNUL]) +m4trace:configure.ac:793: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRCHRNUL]) +m4trace:configure.ac:793: -1- m4_pattern_allow([^HAVE_STRCHRNUL$]) +m4trace:configure.ac:793: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strchrnul.$ac_objext"]) m4trace:configure.ac:793: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) m4trace:configure.ac:793: -1- m4_pattern_allow([^LIB@&t@OBJS$]) -m4trace:configure.ac:793: -1- AC_LIBSOURCE([strdup.c]) -m4trace:configure.ac:795: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_AUDIT_USER_TTY]) -m4trace:configure.ac:795: -1- m4_pattern_allow([^HAVE_DECL_AUDIT_USER_TTY$]) -m4trace:configure.ac:795: -1- AH_OUTPUT([HAVE_DECL_AUDIT_USER_TTY], [/* Define to 1 if you have the declaration of `AUDIT_USER_TTY\', and to 0 if +m4trace:configure.ac:793: -1- AC_LIBSOURCE([strchrnul.c]) +m4trace:configure.ac:794: -1- AH_OUTPUT([HAVE_STRDUP], [/* Define to 1 if you have the `strdup\' function. */ +@%:@undef HAVE_STRDUP]) +m4trace:configure.ac:794: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRDUP]) +m4trace:configure.ac:794: -1- m4_pattern_allow([^HAVE_STRDUP$]) +m4trace:configure.ac:794: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS strdup.$ac_objext"]) +m4trace:configure.ac:794: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) +m4trace:configure.ac:794: -1- m4_pattern_allow([^LIB@&t@OBJS$]) +m4trace:configure.ac:794: -1- AC_LIBSOURCE([strdup.c]) +m4trace:configure.ac:796: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_AUDIT_USER_TTY]) +m4trace:configure.ac:796: -1- m4_pattern_allow([^HAVE_DECL_AUDIT_USER_TTY$]) +m4trace:configure.ac:796: -1- AH_OUTPUT([HAVE_DECL_AUDIT_USER_TTY], [/* Define to 1 if you have the declaration of `AUDIT_USER_TTY\', and to 0 if you don\'t. */ @%:@undef HAVE_DECL_AUDIT_USER_TTY]) -m4trace:configure.ac:797: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_CONFSTR]) -m4trace:configure.ac:797: -1- m4_pattern_allow([^HAVE_DECL_CONFSTR$]) -m4trace:configure.ac:797: -1- AH_OUTPUT([HAVE_DECL_CONFSTR], [/* Define to 1 if you have the declaration of `confstr\', and to 0 if you +m4trace:configure.ac:798: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_CONFSTR]) +m4trace:configure.ac:798: -1- m4_pattern_allow([^HAVE_DECL_CONFSTR$]) +m4trace:configure.ac:798: -1- AH_OUTPUT([HAVE_DECL_CONFSTR], [/* Define to 1 if you have the declaration of `confstr\', and to 0 if you don\'t. */ @%:@undef HAVE_DECL_CONFSTR]) -m4trace:configure.ac:798: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_PRINTF]) -m4trace:configure.ac:798: -1- m4_pattern_allow([^HAVE_DECL_PRINTF$]) -m4trace:configure.ac:798: -1- AH_OUTPUT([HAVE_DECL_PRINTF], [/* Define to 1 if you have the declaration of `printf\', and to 0 if you don\'t. +m4trace:configure.ac:799: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_PRINTF]) +m4trace:configure.ac:799: -1- m4_pattern_allow([^HAVE_DECL_PRINTF$]) +m4trace:configure.ac:799: -1- AH_OUTPUT([HAVE_DECL_PRINTF], [/* Define to 1 if you have the declaration of `printf\', and to 0 if you don\'t. */ @%:@undef HAVE_DECL_PRINTF]) -m4trace:configure.ac:799: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SBRK]) -m4trace:configure.ac:799: -1- m4_pattern_allow([^HAVE_DECL_SBRK$]) -m4trace:configure.ac:799: -1- AH_OUTPUT([HAVE_DECL_SBRK], [/* Define to 1 if you have the declaration of `sbrk\', and to 0 if you don\'t. +m4trace:configure.ac:800: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SBRK]) +m4trace:configure.ac:800: -1- m4_pattern_allow([^HAVE_DECL_SBRK$]) +m4trace:configure.ac:800: -1- AH_OUTPUT([HAVE_DECL_SBRK], [/* Define to 1 if you have the declaration of `sbrk\', and to 0 if you don\'t. */ @%:@undef HAVE_DECL_SBRK]) -m4trace:configure.ac:800: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SETREGID]) -m4trace:configure.ac:800: -1- m4_pattern_allow([^HAVE_DECL_SETREGID$]) -m4trace:configure.ac:800: -1- AH_OUTPUT([HAVE_DECL_SETREGID], [/* Define to 1 if you have the declaration of `setregid\', and to 0 if you +m4trace:configure.ac:801: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SETREGID]) +m4trace:configure.ac:801: -1- m4_pattern_allow([^HAVE_DECL_SETREGID$]) +m4trace:configure.ac:801: -1- AH_OUTPUT([HAVE_DECL_SETREGID], [/* Define to 1 if you have the declaration of `setregid\', and to 0 if you don\'t. */ @%:@undef HAVE_DECL_SETREGID]) -m4trace:configure.ac:801: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_STRCPY]) -m4trace:configure.ac:801: -1- m4_pattern_allow([^HAVE_DECL_STRCPY$]) -m4trace:configure.ac:801: -1- AH_OUTPUT([HAVE_DECL_STRCPY], [/* Define to 1 if you have the declaration of `strcpy\', and to 0 if you don\'t. +m4trace:configure.ac:802: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_STRCPY]) +m4trace:configure.ac:802: -1- m4_pattern_allow([^HAVE_DECL_STRCPY$]) +m4trace:configure.ac:802: -1- AH_OUTPUT([HAVE_DECL_STRCPY], [/* Define to 1 if you have the declaration of `strcpy\', and to 0 if you don\'t. */ @%:@undef HAVE_DECL_STRCPY]) -m4trace:configure.ac:802: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_STRSIGNAL]) -m4trace:configure.ac:802: -1- m4_pattern_allow([^HAVE_DECL_STRSIGNAL$]) -m4trace:configure.ac:802: -1- AH_OUTPUT([HAVE_DECL_STRSIGNAL], [/* Define to 1 if you have the declaration of `strsignal\', and to 0 if you +m4trace:configure.ac:803: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_STRSIGNAL]) +m4trace:configure.ac:803: -1- m4_pattern_allow([^HAVE_DECL_STRSIGNAL$]) +m4trace:configure.ac:803: -1- AH_OUTPUT([HAVE_DECL_STRSIGNAL], [/* Define to 1 if you have the declaration of `strsignal\', and to 0 if you don\'t. */ @%:@undef HAVE_DECL_STRSIGNAL]) -m4trace:configure.ac:805: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_STRTOLD]) -m4trace:configure.ac:805: -1- m4_pattern_allow([^HAVE_DECL_STRTOLD$]) -m4trace:configure.ac:805: -1- AH_OUTPUT([HAVE_DECL_STRTOLD], [/* Define to 1 if you have the declaration of `strtold\', and to 0 if you +m4trace:configure.ac:806: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_STRTOLD]) +m4trace:configure.ac:806: -1- m4_pattern_allow([^HAVE_DECL_STRTOLD$]) +m4trace:configure.ac:806: -1- AH_OUTPUT([HAVE_DECL_STRTOLD], [/* Define to 1 if you have the declaration of `strtold\', and to 0 if you don\'t. */ @%:@undef HAVE_DECL_STRTOLD]) -m4trace:configure.ac:805: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +m4trace:configure.ac:806: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2880: AC_CHECK_DECLS is expanded from... -configure.ac:805: the top level]) -m4trace:configure.ac:805: -1- AC_DEFINE_TRACE_LITERAL([STRTOLD_BROKEN]) -m4trace:configure.ac:805: -1- m4_pattern_allow([^STRTOLD_BROKEN$]) -m4trace:configure.ac:821: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. -You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from... -../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... -../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... -../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from... -aclocal.m4:103: BASH_CHECK_DECL is expanded from... -configure.ac:821: the top level]) +configure.ac:806: the top level]) +m4trace:configure.ac:806: -1- AC_DEFINE_TRACE_LITERAL([STRTOLD_BROKEN]) +m4trace:configure.ac:806: -1- m4_pattern_allow([^STRTOLD_BROKEN$]) m4trace:configure.ac:822: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... @@ -1721,480 +1730,479 @@ You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from... aclocal.m4:103: BASH_CHECK_DECL is expanded from... configure.ac:826: the top level]) -m4trace:configure.ac:828: -1- AH_OUTPUT([HAVE_SYS_TIME_H], [/* Define to 1 if you have the header file. */ +m4trace:configure.ac:827: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. +You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from... +../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... +../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... +../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from... +aclocal.m4:103: BASH_CHECK_DECL is expanded from... +configure.ac:827: the top level]) +m4trace:configure.ac:829: -1- AH_OUTPUT([HAVE_SYS_TIME_H], [/* Define to 1 if you have the header file. */ @%:@undef HAVE_SYS_TIME_H]) -m4trace:configure.ac:828: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the header file. */ +m4trace:configure.ac:829: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the header file. */ @%:@undef HAVE_UNISTD_H]) -m4trace:configure.ac:828: -1- AH_OUTPUT([HAVE_ALARM], [/* Define to 1 if you have the `alarm\' function. */ +m4trace:configure.ac:829: -1- AH_OUTPUT([HAVE_ALARM], [/* Define to 1 if you have the `alarm\' function. */ @%:@undef HAVE_ALARM]) -m4trace:configure.ac:828: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS mktime.$ac_objext"]) -m4trace:configure.ac:828: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) -m4trace:configure.ac:828: -1- m4_pattern_allow([^LIB@&t@OBJS$]) -m4trace:configure.ac:828: -1- AC_LIBSOURCE([mktime.c]) -m4trace:configure.ac:835: -1- AH_OUTPUT([HAVE_ARGZ_H], [/* Define to 1 if you have the header file. */ +m4trace:configure.ac:829: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS mktime.$ac_objext"]) +m4trace:configure.ac:829: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) +m4trace:configure.ac:829: -1- m4_pattern_allow([^LIB@&t@OBJS$]) +m4trace:configure.ac:829: -1- AC_LIBSOURCE([mktime.c]) +m4trace:configure.ac:836: -1- AH_OUTPUT([HAVE_ARGZ_H], [/* Define to 1 if you have the header file. */ @%:@undef HAVE_ARGZ_H]) -m4trace:configure.ac:835: -1- AH_OUTPUT([HAVE_ERRNO_H], [/* Define to 1 if you have the header file. */ +m4trace:configure.ac:836: -1- AH_OUTPUT([HAVE_ERRNO_H], [/* Define to 1 if you have the header file. */ @%:@undef HAVE_ERRNO_H]) -m4trace:configure.ac:835: -1- AH_OUTPUT([HAVE_FCNTL_H], [/* Define to 1 if you have the header file. */ +m4trace:configure.ac:836: -1- AH_OUTPUT([HAVE_FCNTL_H], [/* Define to 1 if you have the header file. */ @%:@undef HAVE_FCNTL_H]) -m4trace:configure.ac:835: -1- AH_OUTPUT([HAVE_MALLOC_H], [/* Define to 1 if you have the header file. */ +m4trace:configure.ac:836: -1- AH_OUTPUT([HAVE_MALLOC_H], [/* Define to 1 if you have the header file. */ @%:@undef HAVE_MALLOC_H]) -m4trace:configure.ac:835: -1- AH_OUTPUT([HAVE_STDIO_EXT_H], [/* Define to 1 if you have the header file. */ +m4trace:configure.ac:836: -1- AH_OUTPUT([HAVE_STDIO_EXT_H], [/* Define to 1 if you have the header file. */ @%:@undef HAVE_STDIO_EXT_H]) -m4trace:configure.ac:838: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the header file. */ +m4trace:configure.ac:839: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the header file. */ @%:@undef HAVE_STDLIB_H]) -m4trace:configure.ac:838: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the header file. */ +m4trace:configure.ac:839: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the header file. */ @%:@undef HAVE_UNISTD_H]) -m4trace:configure.ac:838: -1- AH_OUTPUT([HAVE_SYS_PARAM_H], [/* Define to 1 if you have the header file. */ +m4trace:configure.ac:839: -1- AH_OUTPUT([HAVE_SYS_PARAM_H], [/* Define to 1 if you have the header file. */ @%:@undef HAVE_SYS_PARAM_H]) -m4trace:configure.ac:838: -1- AH_OUTPUT([HAVE_GETPAGESIZE], [/* Define to 1 if you have the `getpagesize\' function. */ +m4trace:configure.ac:839: -1- AH_OUTPUT([HAVE_GETPAGESIZE], [/* Define to 1 if you have the `getpagesize\' function. */ @%:@undef HAVE_GETPAGESIZE]) -m4trace:configure.ac:838: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETPAGESIZE]) -m4trace:configure.ac:838: -1- m4_pattern_allow([^HAVE_GETPAGESIZE$]) -m4trace:configure.ac:838: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MMAP]) -m4trace:configure.ac:838: -1- m4_pattern_allow([^HAVE_MMAP$]) -m4trace:configure.ac:838: -1- AH_OUTPUT([HAVE_MMAP], [/* Define to 1 if you have a working `mmap\' system call. */ +m4trace:configure.ac:839: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETPAGESIZE]) +m4trace:configure.ac:839: -1- m4_pattern_allow([^HAVE_GETPAGESIZE$]) +m4trace:configure.ac:839: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MMAP]) +m4trace:configure.ac:839: -1- m4_pattern_allow([^HAVE_MMAP$]) +m4trace:configure.ac:839: -1- AH_OUTPUT([HAVE_MMAP], [/* Define to 1 if you have a working `mmap\' system call. */ @%:@undef HAVE_MMAP]) -m4trace:configure.ac:839: -1- AH_OUTPUT([HAVE___ARGZ_COUNT], [/* Define to 1 if you have the `__argz_count\' function. */ +m4trace:configure.ac:840: -1- AH_OUTPUT([HAVE___ARGZ_COUNT], [/* Define to 1 if you have the `__argz_count\' function. */ @%:@undef HAVE___ARGZ_COUNT]) -m4trace:configure.ac:839: -1- AH_OUTPUT([HAVE___ARGZ_NEXT], [/* Define to 1 if you have the `__argz_next\' function. */ +m4trace:configure.ac:840: -1- AH_OUTPUT([HAVE___ARGZ_NEXT], [/* Define to 1 if you have the `__argz_next\' function. */ @%:@undef HAVE___ARGZ_NEXT]) -m4trace:configure.ac:839: -1- AH_OUTPUT([HAVE___ARGZ_STRINGIFY], [/* Define to 1 if you have the `__argz_stringify\' function. */ +m4trace:configure.ac:840: -1- AH_OUTPUT([HAVE___ARGZ_STRINGIFY], [/* Define to 1 if you have the `__argz_stringify\' function. */ @%:@undef HAVE___ARGZ_STRINGIFY]) -m4trace:configure.ac:839: -1- AH_OUTPUT([HAVE_DCGETTEXT], [/* Define to 1 if you have the `dcgettext\' function. */ +m4trace:configure.ac:840: -1- AH_OUTPUT([HAVE_DCGETTEXT], [/* Define to 1 if you have the `dcgettext\' function. */ @%:@undef HAVE_DCGETTEXT]) -m4trace:configure.ac:839: -1- AH_OUTPUT([HAVE_MEMPCPY], [/* Define to 1 if you have the `mempcpy\' function. */ +m4trace:configure.ac:840: -1- AH_OUTPUT([HAVE_MEMPCPY], [/* Define to 1 if you have the `mempcpy\' function. */ @%:@undef HAVE_MEMPCPY]) -m4trace:configure.ac:839: -1- AH_OUTPUT([HAVE_MUNMAP], [/* Define to 1 if you have the `munmap\' function. */ +m4trace:configure.ac:840: -1- AH_OUTPUT([HAVE_MUNMAP], [/* Define to 1 if you have the `munmap\' function. */ @%:@undef HAVE_MUNMAP]) -m4trace:configure.ac:839: -1- AH_OUTPUT([HAVE_STPCPY], [/* Define to 1 if you have the `stpcpy\' function. */ +m4trace:configure.ac:840: -1- AH_OUTPUT([HAVE_STPCPY], [/* Define to 1 if you have the `stpcpy\' function. */ @%:@undef HAVE_STPCPY]) -m4trace:configure.ac:839: -1- AH_OUTPUT([HAVE_STRCSPN], [/* Define to 1 if you have the `strcspn\' function. */ +m4trace:configure.ac:840: -1- AH_OUTPUT([HAVE_STRCSPN], [/* Define to 1 if you have the `strcspn\' function. */ @%:@undef HAVE_STRCSPN]) -m4trace:configure.ac:848: -1- AC_SUBST([INTL_DEP]) -m4trace:configure.ac:848: -1- AC_SUBST_TRACE([INTL_DEP]) -m4trace:configure.ac:848: -1- m4_pattern_allow([^INTL_DEP$]) -m4trace:configure.ac:849: -1- AC_SUBST([INTL_INC]) -m4trace:configure.ac:849: -1- AC_SUBST_TRACE([INTL_INC]) -m4trace:configure.ac:849: -1- m4_pattern_allow([^INTL_INC$]) -m4trace:configure.ac:850: -1- AC_SUBST([LIBINTL_H]) -m4trace:configure.ac:850: -1- AC_SUBST_TRACE([LIBINTL_H]) -m4trace:configure.ac:850: -1- m4_pattern_allow([^LIBINTL_H$]) -m4trace:configure.ac:856: -1- AH_OUTPUT([HAVE_WCTYPE_H], [/* Define to 1 if you have the header file. */ +m4trace:configure.ac:849: -1- AC_SUBST([INTL_DEP]) +m4trace:configure.ac:849: -1- AC_SUBST_TRACE([INTL_DEP]) +m4trace:configure.ac:849: -1- m4_pattern_allow([^INTL_DEP$]) +m4trace:configure.ac:850: -1- AC_SUBST([INTL_INC]) +m4trace:configure.ac:850: -1- AC_SUBST_TRACE([INTL_INC]) +m4trace:configure.ac:850: -1- m4_pattern_allow([^INTL_INC$]) +m4trace:configure.ac:851: -1- AC_SUBST([LIBINTL_H]) +m4trace:configure.ac:851: -1- AC_SUBST_TRACE([LIBINTL_H]) +m4trace:configure.ac:851: -1- m4_pattern_allow([^LIBINTL_H$]) +m4trace:configure.ac:857: -1- AH_OUTPUT([HAVE_WCTYPE_H], [/* Define to 1 if you have the header file. */ @%:@undef HAVE_WCTYPE_H]) -m4trace:configure.ac:856: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WCTYPE_H]) -m4trace:configure.ac:856: -1- m4_pattern_allow([^HAVE_WCTYPE_H$]) -m4trace:configure.ac:856: -1- AH_OUTPUT([HAVE_WCHAR_H], [/* Define to 1 if you have the header file. */ +m4trace:configure.ac:857: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WCTYPE_H]) +m4trace:configure.ac:857: -1- m4_pattern_allow([^HAVE_WCTYPE_H$]) +m4trace:configure.ac:857: -1- AH_OUTPUT([HAVE_WCHAR_H], [/* Define to 1 if you have the header file. */ @%:@undef HAVE_WCHAR_H]) -m4trace:configure.ac:856: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WCHAR_H]) -m4trace:configure.ac:856: -1- m4_pattern_allow([^HAVE_WCHAR_H$]) -m4trace:configure.ac:856: -1- AH_OUTPUT([HAVE_LANGINFO_H], [/* Define to 1 if you have the header file. */ +m4trace:configure.ac:857: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WCHAR_H]) +m4trace:configure.ac:857: -1- m4_pattern_allow([^HAVE_WCHAR_H$]) +m4trace:configure.ac:857: -1- AH_OUTPUT([HAVE_LANGINFO_H], [/* Define to 1 if you have the header file. */ @%:@undef HAVE_LANGINFO_H]) -m4trace:configure.ac:856: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LANGINFO_H]) -m4trace:configure.ac:856: -1- m4_pattern_allow([^HAVE_LANGINFO_H$]) -m4trace:configure.ac:856: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBRLEN]) -m4trace:configure.ac:856: -2- m4_pattern_allow([^HAVE_MBRLEN$]) -m4trace:configure.ac:856: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBSCMP]) -m4trace:configure.ac:856: -2- m4_pattern_allow([^HAVE_MBSCMP$]) -m4trace:configure.ac:856: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBSCMP]) -m4trace:configure.ac:856: -2- m4_pattern_allow([^HAVE_MBSCMP$]) -m4trace:configure.ac:856: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBSNRTOWCS]) -m4trace:configure.ac:856: -2- m4_pattern_allow([^HAVE_MBSNRTOWCS$]) -m4trace:configure.ac:856: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBSRTOWCS]) -m4trace:configure.ac:856: -2- m4_pattern_allow([^HAVE_MBSRTOWCS$]) -m4trace:configure.ac:856: -1- AH_OUTPUT([HAVE_MBSCHR], [/* Define to 1 if you have the `mbschr\' function. */ +m4trace:configure.ac:857: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LANGINFO_H]) +m4trace:configure.ac:857: -1- m4_pattern_allow([^HAVE_LANGINFO_H$]) +m4trace:configure.ac:857: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBRLEN]) +m4trace:configure.ac:857: -2- m4_pattern_allow([^HAVE_MBRLEN$]) +m4trace:configure.ac:857: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBSCMP]) +m4trace:configure.ac:857: -2- m4_pattern_allow([^HAVE_MBSCMP$]) +m4trace:configure.ac:857: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBSCMP]) +m4trace:configure.ac:857: -2- m4_pattern_allow([^HAVE_MBSCMP$]) +m4trace:configure.ac:857: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBSNRTOWCS]) +m4trace:configure.ac:857: -2- m4_pattern_allow([^HAVE_MBSNRTOWCS$]) +m4trace:configure.ac:857: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBSRTOWCS]) +m4trace:configure.ac:857: -2- m4_pattern_allow([^HAVE_MBSRTOWCS$]) +m4trace:configure.ac:857: -1- AH_OUTPUT([HAVE_MBSCHR], [/* Define to 1 if you have the `mbschr\' function. */ @%:@undef HAVE_MBSCHR]) -m4trace:configure.ac:856: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MBSCHR]) -m4trace:configure.ac:856: -1- m4_pattern_allow([^HAVE_MBSCHR$]) -m4trace:configure.ac:856: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS mbschr.$ac_objext"]) -m4trace:configure.ac:856: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) -m4trace:configure.ac:856: -1- m4_pattern_allow([^LIB@&t@OBJS$]) -m4trace:configure.ac:856: -1- AC_LIBSOURCE([mbschr.c]) -m4trace:configure.ac:856: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCRTOMB]) -m4trace:configure.ac:856: -2- m4_pattern_allow([^HAVE_WCRTOMB$]) -m4trace:configure.ac:856: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCSCOLL]) -m4trace:configure.ac:856: -2- m4_pattern_allow([^HAVE_WCSCOLL$]) -m4trace:configure.ac:856: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCSDUP]) -m4trace:configure.ac:856: -2- m4_pattern_allow([^HAVE_WCSDUP$]) -m4trace:configure.ac:856: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCWIDTH]) -m4trace:configure.ac:856: -2- m4_pattern_allow([^HAVE_WCWIDTH$]) -m4trace:configure.ac:856: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCTYPE]) -m4trace:configure.ac:856: -2- m4_pattern_allow([^HAVE_WCTYPE$]) -m4trace:configure.ac:856: -1- AH_OUTPUT([HAVE_WCSWIDTH], [/* Define to 1 if you have the `wcswidth\' function. */ +m4trace:configure.ac:857: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MBSCHR]) +m4trace:configure.ac:857: -1- m4_pattern_allow([^HAVE_MBSCHR$]) +m4trace:configure.ac:857: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS mbschr.$ac_objext"]) +m4trace:configure.ac:857: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) +m4trace:configure.ac:857: -1- m4_pattern_allow([^LIB@&t@OBJS$]) +m4trace:configure.ac:857: -1- AC_LIBSOURCE([mbschr.c]) +m4trace:configure.ac:857: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCRTOMB]) +m4trace:configure.ac:857: -2- m4_pattern_allow([^HAVE_WCRTOMB$]) +m4trace:configure.ac:857: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCSCOLL]) +m4trace:configure.ac:857: -2- m4_pattern_allow([^HAVE_WCSCOLL$]) +m4trace:configure.ac:857: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCSDUP]) +m4trace:configure.ac:857: -2- m4_pattern_allow([^HAVE_WCSDUP$]) +m4trace:configure.ac:857: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCWIDTH]) +m4trace:configure.ac:857: -2- m4_pattern_allow([^HAVE_WCWIDTH$]) +m4trace:configure.ac:857: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCTYPE]) +m4trace:configure.ac:857: -2- m4_pattern_allow([^HAVE_WCTYPE$]) +m4trace:configure.ac:857: -1- AH_OUTPUT([HAVE_WCSWIDTH], [/* Define to 1 if you have the `wcswidth\' function. */ @%:@undef HAVE_WCSWIDTH]) -m4trace:configure.ac:856: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WCSWIDTH]) -m4trace:configure.ac:856: -1- m4_pattern_allow([^HAVE_WCSWIDTH$]) -m4trace:configure.ac:856: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS wcswidth.$ac_objext"]) -m4trace:configure.ac:856: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) -m4trace:configure.ac:856: -1- m4_pattern_allow([^LIB@&t@OBJS$]) -m4trace:configure.ac:856: -1- AC_LIBSOURCE([wcswidth.c]) -m4trace:configure.ac:856: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MBRTOWC]) -m4trace:configure.ac:856: -1- m4_pattern_allow([^HAVE_MBRTOWC$]) -m4trace:configure.ac:856: -1- AH_OUTPUT([HAVE_MBRTOWC], [/* Define to 1 if mbrtowc and mbstate_t are properly declared. */ +m4trace:configure.ac:857: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WCSWIDTH]) +m4trace:configure.ac:857: -1- m4_pattern_allow([^HAVE_WCSWIDTH$]) +m4trace:configure.ac:857: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS wcswidth.$ac_objext"]) +m4trace:configure.ac:857: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) +m4trace:configure.ac:857: -1- m4_pattern_allow([^LIB@&t@OBJS$]) +m4trace:configure.ac:857: -1- AC_LIBSOURCE([wcswidth.c]) +m4trace:configure.ac:857: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MBRTOWC]) +m4trace:configure.ac:857: -1- m4_pattern_allow([^HAVE_MBRTOWC$]) +m4trace:configure.ac:857: -1- AH_OUTPUT([HAVE_MBRTOWC], [/* Define to 1 if mbrtowc and mbstate_t are properly declared. */ @%:@undef HAVE_MBRTOWC]) -m4trace:configure.ac:856: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MBSTATE_T]) -m4trace:configure.ac:856: -1- m4_pattern_allow([^HAVE_MBSTATE_T$]) -m4trace:configure.ac:856: -1- AH_OUTPUT([HAVE_ISWLOWER], [/* Define to 1 if you have the `iswlower\' function. */ +m4trace:configure.ac:857: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MBSTATE_T]) +m4trace:configure.ac:857: -1- m4_pattern_allow([^HAVE_MBSTATE_T$]) +m4trace:configure.ac:857: -1- AH_OUTPUT([HAVE_ISWLOWER], [/* Define to 1 if you have the `iswlower\' function. */ @%:@undef HAVE_ISWLOWER]) -m4trace:configure.ac:856: -1- AH_OUTPUT([HAVE_ISWUPPER], [/* Define to 1 if you have the `iswupper\' function. */ +m4trace:configure.ac:857: -1- AH_OUTPUT([HAVE_ISWUPPER], [/* Define to 1 if you have the `iswupper\' function. */ @%:@undef HAVE_ISWUPPER]) -m4trace:configure.ac:856: -1- AH_OUTPUT([HAVE_TOWLOWER], [/* Define to 1 if you have the `towlower\' function. */ +m4trace:configure.ac:857: -1- AH_OUTPUT([HAVE_TOWLOWER], [/* Define to 1 if you have the `towlower\' function. */ @%:@undef HAVE_TOWLOWER]) -m4trace:configure.ac:856: -1- AH_OUTPUT([HAVE_TOWUPPER], [/* Define to 1 if you have the `towupper\' function. */ +m4trace:configure.ac:857: -1- AH_OUTPUT([HAVE_TOWUPPER], [/* Define to 1 if you have the `towupper\' function. */ @%:@undef HAVE_TOWUPPER]) -m4trace:configure.ac:856: -1- AH_OUTPUT([HAVE_ISWCTYPE], [/* Define to 1 if you have the `iswctype\' function. */ +m4trace:configure.ac:857: -1- AH_OUTPUT([HAVE_ISWCTYPE], [/* Define to 1 if you have the `iswctype\' function. */ @%:@undef HAVE_ISWCTYPE]) -m4trace:configure.ac:856: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. +m4trace:configure.ac:857: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from... aclocal.m4:1689: BASH_CHECK_MULTIBYTE is expanded from... -configure.ac:856: the top level]) -m4trace:configure.ac:856: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LANGINFO_CODESET]) -m4trace:configure.ac:856: -1- m4_pattern_allow([^HAVE_LANGINFO_CODESET$]) -m4trace:configure.ac:856: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +configure.ac:857: the top level]) +m4trace:configure.ac:857: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LANGINFO_CODESET]) +m4trace:configure.ac:857: -1- m4_pattern_allow([^HAVE_LANGINFO_CODESET$]) +m4trace:configure.ac:857: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from... aclocal.m4:1689: BASH_CHECK_MULTIBYTE is expanded from... -configure.ac:856: the top level]) -m4trace:configure.ac:856: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WCHAR_T]) -m4trace:configure.ac:856: -1- m4_pattern_allow([^HAVE_WCHAR_T$]) -m4trace:configure.ac:856: -1- AH_OUTPUT([HAVE_WCHAR_T], [/* systems should define this type here */ +configure.ac:857: the top level]) +m4trace:configure.ac:857: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WCHAR_T]) +m4trace:configure.ac:857: -1- m4_pattern_allow([^HAVE_WCHAR_T$]) +m4trace:configure.ac:857: -1- AH_OUTPUT([HAVE_WCHAR_T], [/* systems should define this type here */ @%:@undef HAVE_WCHAR_T]) -m4trace:configure.ac:856: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +m4trace:configure.ac:857: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from... aclocal.m4:1689: BASH_CHECK_MULTIBYTE is expanded from... -configure.ac:856: the top level]) -m4trace:configure.ac:856: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WCTYPE_T]) -m4trace:configure.ac:856: -1- m4_pattern_allow([^HAVE_WCTYPE_T$]) -m4trace:configure.ac:856: -1- AH_OUTPUT([HAVE_WCTYPE_T], [/* systems should define this type here */ +configure.ac:857: the top level]) +m4trace:configure.ac:857: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WCTYPE_T]) +m4trace:configure.ac:857: -1- m4_pattern_allow([^HAVE_WCTYPE_T$]) +m4trace:configure.ac:857: -1- AH_OUTPUT([HAVE_WCTYPE_T], [/* systems should define this type here */ @%:@undef HAVE_WCTYPE_T]) -m4trace:configure.ac:856: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +m4trace:configure.ac:857: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from... aclocal.m4:1689: BASH_CHECK_MULTIBYTE is expanded from... -configure.ac:856: the top level]) -m4trace:configure.ac:856: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WINT_T]) -m4trace:configure.ac:856: -1- m4_pattern_allow([^HAVE_WINT_T$]) -m4trace:configure.ac:856: -1- AH_OUTPUT([HAVE_WINT_T], [/* systems should define this type here */ +configure.ac:857: the top level]) +m4trace:configure.ac:857: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WINT_T]) +m4trace:configure.ac:857: -1- m4_pattern_allow([^HAVE_WINT_T$]) +m4trace:configure.ac:857: -1- AH_OUTPUT([HAVE_WINT_T], [/* systems should define this type here */ @%:@undef HAVE_WINT_T]) -m4trace:configure.ac:856: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete. +m4trace:configure.ac:857: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from... aclocal.m4:1689: BASH_CHECK_MULTIBYTE is expanded from... -configure.ac:856: the top level]) -m4trace:configure.ac:856: -1- AC_DEFINE_TRACE_LITERAL([WCWIDTH_BROKEN]) -m4trace:configure.ac:856: -1- m4_pattern_allow([^WCWIDTH_BROKEN$]) -m4trace:configure.ac:856: -1- AH_OUTPUT([WCWIDTH_BROKEN], [/* wcwidth is usually not broken */ +configure.ac:857: the top level]) +m4trace:configure.ac:857: -1- AC_DEFINE_TRACE_LITERAL([WCWIDTH_BROKEN]) +m4trace:configure.ac:857: -1- m4_pattern_allow([^WCWIDTH_BROKEN$]) +m4trace:configure.ac:857: -1- AH_OUTPUT([WCWIDTH_BROKEN], [/* wcwidth is usually not broken */ @%:@undef WCWIDTH_BROKEN]) -m4trace:configure.ac:856: -1- AH_OUTPUT([HAVE_LOCALE_CHARSET], [/* Define to 1 if you have the `locale_charset\' function. */ +m4trace:configure.ac:857: -1- AH_OUTPUT([HAVE_LOCALE_CHARSET], [/* Define to 1 if you have the `locale_charset\' function. */ @%:@undef HAVE_LOCALE_CHARSET]) -m4trace:configure.ac:856: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LOCALE_CHARSET]) -m4trace:configure.ac:856: -1- m4_pattern_allow([^HAVE_LOCALE_CHARSET$]) -m4trace:configure.ac:860: -1- AH_OUTPUT([HAVE_LIBDL], [/* Define to 1 if you have the `dl\' library (-ldl). */ +m4trace:configure.ac:857: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LOCALE_CHARSET]) +m4trace:configure.ac:857: -1- m4_pattern_allow([^HAVE_LOCALE_CHARSET$]) +m4trace:configure.ac:861: -1- AH_OUTPUT([HAVE_LIBDL], [/* Define to 1 if you have the `dl\' library (-ldl). */ @%:@undef HAVE_LIBDL]) -m4trace:configure.ac:860: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBDL]) -m4trace:configure.ac:860: -1- m4_pattern_allow([^HAVE_LIBDL$]) -m4trace:configure.ac:861: -1- AH_OUTPUT([HAVE_DLOPEN], [/* Define to 1 if you have the `dlopen\' function. */ +m4trace:configure.ac:861: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBDL]) +m4trace:configure.ac:861: -1- m4_pattern_allow([^HAVE_LIBDL$]) +m4trace:configure.ac:862: -1- AH_OUTPUT([HAVE_DLOPEN], [/* Define to 1 if you have the `dlopen\' function. */ @%:@undef HAVE_DLOPEN]) -m4trace:configure.ac:861: -1- AH_OUTPUT([HAVE_DLCLOSE], [/* Define to 1 if you have the `dlclose\' function. */ +m4trace:configure.ac:862: -1- AH_OUTPUT([HAVE_DLCLOSE], [/* Define to 1 if you have the `dlclose\' function. */ @%:@undef HAVE_DLCLOSE]) -m4trace:configure.ac:861: -1- AH_OUTPUT([HAVE_DLSYM], [/* Define to 1 if you have the `dlsym\' function. */ +m4trace:configure.ac:862: -1- AH_OUTPUT([HAVE_DLSYM], [/* Define to 1 if you have the `dlsym\' function. */ @%:@undef HAVE_DLSYM]) -m4trace:configure.ac:865: -1- _m4_warn([obsolete], [The macro `AC_DECL_SYS_SIGLIST' is obsolete. +m4trace:configure.ac:866: -1- _m4_warn([obsolete], [The macro `AC_DECL_SYS_SIGLIST' is obsolete. You should run autoupdate.], [../../lib/autoconf/specific.m4:39: AC_DECL_SYS_SIGLIST is expanded from... -configure.ac:865: the top level]) -m4trace:configure.ac:865: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SYS_SIGLIST]) -m4trace:configure.ac:865: -1- m4_pattern_allow([^HAVE_DECL_SYS_SIGLIST$]) -m4trace:configure.ac:865: -1- AH_OUTPUT([HAVE_DECL_SYS_SIGLIST], [/* Define to 1 if you have the declaration of `sys_siglist\', and to 0 if you +configure.ac:866: the top level]) +m4trace:configure.ac:866: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SYS_SIGLIST]) +m4trace:configure.ac:866: -1- m4_pattern_allow([^HAVE_DECL_SYS_SIGLIST$]) +m4trace:configure.ac:866: -1- AH_OUTPUT([HAVE_DECL_SYS_SIGLIST], [/* Define to 1 if you have the declaration of `sys_siglist\', and to 0 if you don\'t. */ @%:@undef HAVE_DECL_SYS_SIGLIST]) -m4trace:configure.ac:869: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. +m4trace:configure.ac:870: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from... aclocal.m4:563: BASH_FUNC_INET_ATON is expanded from... -configure.ac:869: the top level]) -m4trace:configure.ac:869: -1- AC_DEFINE_TRACE_LITERAL([HAVE_INET_ATON]) -m4trace:configure.ac:869: -1- m4_pattern_allow([^HAVE_INET_ATON$]) -m4trace:configure.ac:869: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS inet_aton.$ac_objext"]) -m4trace:configure.ac:869: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) -m4trace:configure.ac:869: -1- m4_pattern_allow([^LIB@&t@OBJS$]) -m4trace:configure.ac:869: -1- AC_LIBSOURCE([inet_aton.c]) -m4trace:configure.ac:875: -1- AH_OUTPUT([HAVE_LIBSUN], [/* Define to 1 if you have the `sun\' library (-lsun). */ +configure.ac:870: the top level]) +m4trace:configure.ac:870: -1- AC_DEFINE_TRACE_LITERAL([HAVE_INET_ATON]) +m4trace:configure.ac:870: -1- m4_pattern_allow([^HAVE_INET_ATON$]) +m4trace:configure.ac:870: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS inet_aton.$ac_objext"]) +m4trace:configure.ac:870: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) +m4trace:configure.ac:870: -1- m4_pattern_allow([^LIB@&t@OBJS$]) +m4trace:configure.ac:870: -1- AC_LIBSOURCE([inet_aton.c]) +m4trace:configure.ac:876: -1- AH_OUTPUT([HAVE_LIBSUN], [/* Define to 1 if you have the `sun\' library (-lsun). */ @%:@undef HAVE_LIBSUN]) -m4trace:configure.ac:875: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBSUN]) -m4trace:configure.ac:875: -1- m4_pattern_allow([^HAVE_LIBSUN$]) -m4trace:configure.ac:880: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBSOCKET]) -m4trace:configure.ac:880: -1- m4_pattern_allow([^HAVE_LIBSOCKET$]) -m4trace:configure.ac:880: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETPEERNAME]) -m4trace:configure.ac:880: -1- m4_pattern_allow([^HAVE_GETPEERNAME$]) -m4trace:configure.ac:884: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. +m4trace:configure.ac:876: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBSUN]) +m4trace:configure.ac:876: -1- m4_pattern_allow([^HAVE_LIBSUN$]) +m4trace:configure.ac:881: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBSOCKET]) +m4trace:configure.ac:881: -1- m4_pattern_allow([^HAVE_LIBSOCKET$]) +m4trace:configure.ac:881: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETPEERNAME]) +m4trace:configure.ac:881: -1- m4_pattern_allow([^HAVE_GETPEERNAME$]) +m4trace:configure.ac:885: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... aclocal.m4:732: BASH_FUNC_GETHOSTBYNAME is expanded from... -configure.ac:884: the top level]) -m4trace:configure.ac:884: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETHOSTBYNAME]) -m4trace:configure.ac:884: -1- m4_pattern_allow([^HAVE_GETHOSTBYNAME$]) -m4trace:configure.ac:888: -1- AC_DEFINE_TRACE_LITERAL([uid_t]) -m4trace:configure.ac:888: -1- m4_pattern_allow([^uid_t$]) -m4trace:configure.ac:888: -1- AH_OUTPUT([uid_t], [/* Define to `int\' if doesn\'t define. */ -@%:@undef uid_t]) -m4trace:configure.ac:888: -1- AC_DEFINE_TRACE_LITERAL([gid_t]) -m4trace:configure.ac:888: -1- m4_pattern_allow([^gid_t$]) -m4trace:configure.ac:888: -1- AH_OUTPUT([gid_t], [/* Define to `int\' if doesn\'t define. */ -@%:@undef gid_t]) -m4trace:configure.ac:888: -1- AC_DEFINE_TRACE_LITERAL([GETGROUPS_T]) -m4trace:configure.ac:888: -1- m4_pattern_allow([^GETGROUPS_T$]) -m4trace:configure.ac:888: -1- AH_OUTPUT([GETGROUPS_T], [/* Define to the type of elements in the array set by `getgroups\'. Usually +configure.ac:885: the top level]) +m4trace:configure.ac:885: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETHOSTBYNAME]) +m4trace:configure.ac:885: -1- m4_pattern_allow([^HAVE_GETHOSTBYNAME$]) +m4trace:configure.ac:889: -1- AC_DEFINE_TRACE_LITERAL([GETGROUPS_T]) +m4trace:configure.ac:889: -1- m4_pattern_allow([^GETGROUPS_T$]) +m4trace:configure.ac:889: -1- AH_OUTPUT([GETGROUPS_T], [/* Define to the type of elements in the array set by `getgroups\'. Usually this is either `int\' or `gid_t\'. */ @%:@undef GETGROUPS_T]) -m4trace:configure.ac:889: -1- AC_DEFINE_TRACE_LITERAL([off_t]) -m4trace:configure.ac:889: -1- m4_pattern_allow([^off_t$]) -m4trace:configure.ac:889: -1- AH_OUTPUT([off_t], [/* Define to `long int\' if does not define. */ +m4trace:configure.ac:890: -1- AC_DEFINE_TRACE_LITERAL([off_t]) +m4trace:configure.ac:890: -1- m4_pattern_allow([^off_t$]) +m4trace:configure.ac:890: -1- AH_OUTPUT([off_t], [/* Define to `long int\' if does not define. */ @%:@undef off_t]) -m4trace:configure.ac:890: -1- AC_DEFINE_TRACE_LITERAL([mode_t]) -m4trace:configure.ac:890: -1- m4_pattern_allow([^mode_t$]) -m4trace:configure.ac:890: -1- AH_OUTPUT([mode_t], [/* Define to `int\' if does not define. */ +m4trace:configure.ac:891: -1- AC_DEFINE_TRACE_LITERAL([mode_t]) +m4trace:configure.ac:891: -1- m4_pattern_allow([^mode_t$]) +m4trace:configure.ac:891: -1- AH_OUTPUT([mode_t], [/* Define to `int\' if does not define. */ @%:@undef mode_t]) -m4trace:configure.ac:891: -1- AC_DEFINE_TRACE_LITERAL([uid_t]) -m4trace:configure.ac:891: -1- m4_pattern_allow([^uid_t$]) -m4trace:configure.ac:891: -1- AH_OUTPUT([uid_t], [/* Define to `int\' if doesn\'t define. */ +m4trace:configure.ac:892: -1- AC_DEFINE_TRACE_LITERAL([uid_t]) +m4trace:configure.ac:892: -1- m4_pattern_allow([^uid_t$]) +m4trace:configure.ac:892: -1- AH_OUTPUT([uid_t], [/* Define to `int\' if doesn\'t define. */ @%:@undef uid_t]) -m4trace:configure.ac:891: -1- AC_DEFINE_TRACE_LITERAL([gid_t]) -m4trace:configure.ac:891: -1- m4_pattern_allow([^gid_t$]) -m4trace:configure.ac:891: -1- AH_OUTPUT([gid_t], [/* Define to `int\' if doesn\'t define. */ +m4trace:configure.ac:892: -1- AC_DEFINE_TRACE_LITERAL([gid_t]) +m4trace:configure.ac:892: -1- m4_pattern_allow([^gid_t$]) +m4trace:configure.ac:892: -1- AH_OUTPUT([gid_t], [/* Define to `int\' if doesn\'t define. */ @%:@undef gid_t]) -m4trace:configure.ac:892: -1- AC_DEFINE_TRACE_LITERAL([pid_t]) -m4trace:configure.ac:892: -1- m4_pattern_allow([^pid_t$]) -m4trace:configure.ac:892: -1- AH_OUTPUT([pid_t], [/* Define to `int\' if does not define. */ +m4trace:configure.ac:893: -1- AC_DEFINE_TRACE_LITERAL([pid_t]) +m4trace:configure.ac:893: -1- m4_pattern_allow([^pid_t$]) +m4trace:configure.ac:893: -1- AH_OUTPUT([pid_t], [/* Define to `int\' if does not define. */ @%:@undef pid_t]) -m4trace:configure.ac:893: -1- AC_DEFINE_TRACE_LITERAL([size_t]) -m4trace:configure.ac:893: -1- m4_pattern_allow([^size_t$]) -m4trace:configure.ac:893: -1- AH_OUTPUT([size_t], [/* Define to `unsigned int\' if does not define. */ +m4trace:configure.ac:894: -1- AC_DEFINE_TRACE_LITERAL([size_t]) +m4trace:configure.ac:894: -1- m4_pattern_allow([^size_t$]) +m4trace:configure.ac:894: -1- AH_OUTPUT([size_t], [/* Define to `unsigned int\' if does not define. */ @%:@undef size_t]) -m4trace:configure.ac:894: -1- AC_DEFINE_TRACE_LITERAL([ssize_t]) -m4trace:configure.ac:894: -1- m4_pattern_allow([^ssize_t$]) -m4trace:configure.ac:894: -1- AH_OUTPUT([ssize_t], [/* Define to `int\' if does not define. */ +m4trace:configure.ac:895: -1- AC_DEFINE_TRACE_LITERAL([ssize_t]) +m4trace:configure.ac:895: -1- m4_pattern_allow([^ssize_t$]) +m4trace:configure.ac:895: -1- AH_OUTPUT([ssize_t], [/* Define to `int\' if does not define. */ @%:@undef ssize_t]) -m4trace:configure.ac:895: -1- AC_DEFINE_TRACE_LITERAL([time_t]) -m4trace:configure.ac:895: -1- m4_pattern_allow([^time_t$]) -m4trace:configure.ac:895: -1- AH_OUTPUT([time_t], [/* Define to `long\' if does not define. */ +m4trace:configure.ac:896: -1- AC_DEFINE_TRACE_LITERAL([time_t]) +m4trace:configure.ac:896: -1- m4_pattern_allow([^time_t$]) +m4trace:configure.ac:896: -1- AH_OUTPUT([time_t], [/* Define to `long\' if does not define. */ @%:@undef time_t]) -m4trace:configure.ac:897: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. +m4trace:configure.ac:898: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from... aclocal.m4:472: BASH_TYPE_LONG_LONG is expanded from... -configure.ac:897: the top level]) -m4trace:configure.ac:897: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LONG_LONG]) -m4trace:configure.ac:897: -1- m4_pattern_allow([^HAVE_LONG_LONG$]) -m4trace:configure.ac:898: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. +configure.ac:898: the top level]) +m4trace:configure.ac:898: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LONG_LONG]) +m4trace:configure.ac:898: -1- m4_pattern_allow([^HAVE_LONG_LONG$]) +m4trace:configure.ac:899: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from... aclocal.m4:486: BASH_TYPE_UNSIGNED_LONG_LONG is expanded from... -configure.ac:898: the top level]) -m4trace:configure.ac:898: -1- AC_DEFINE_TRACE_LITERAL([HAVE_UNSIGNED_LONG_LONG]) -m4trace:configure.ac:898: -1- m4_pattern_allow([^HAVE_UNSIGNED_LONG_LONG$]) -m4trace:configure.ac:900: -1- _m4_warn([obsolete], [The macro `AC_TYPE_SIGNAL' is obsolete. +configure.ac:899: the top level]) +m4trace:configure.ac:899: -1- AC_DEFINE_TRACE_LITERAL([HAVE_UNSIGNED_LONG_LONG]) +m4trace:configure.ac:899: -1- m4_pattern_allow([^HAVE_UNSIGNED_LONG_LONG$]) +m4trace:configure.ac:901: -1- _m4_warn([obsolete], [The macro `AC_TYPE_SIGNAL' is obsolete. You should run autoupdate.], [../../lib/autoconf/types.m4:746: AC_TYPE_SIGNAL is expanded from... -configure.ac:900: the top level]) -m4trace:configure.ac:900: -1- AC_DEFINE_TRACE_LITERAL([RETSIGTYPE]) -m4trace:configure.ac:900: -1- m4_pattern_allow([^RETSIGTYPE$]) -m4trace:configure.ac:900: -1- AH_OUTPUT([RETSIGTYPE], [/* Define as the return type of signal handlers (`int\' or `void\'). */ +configure.ac:901: the top level]) +m4trace:configure.ac:901: -1- AC_DEFINE_TRACE_LITERAL([RETSIGTYPE]) +m4trace:configure.ac:901: -1- m4_pattern_allow([^RETSIGTYPE$]) +m4trace:configure.ac:901: -1- AH_OUTPUT([RETSIGTYPE], [/* Define as the return type of signal handlers (`int\' or `void\'). */ @%:@undef RETSIGTYPE]) -m4trace:configure.ac:901: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. +m4trace:configure.ac:902: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from... aclocal.m4:537: BASH_TYPE_SIG_ATOMIC_T is expanded from... -configure.ac:901: the top level]) -m4trace:configure.ac:901: -1- AC_DEFINE_TRACE_LITERAL([sig_atomic_t]) -m4trace:configure.ac:901: -1- m4_pattern_allow([^sig_atomic_t$]) -m4trace:configure.ac:901: -1- AH_OUTPUT([sig_atomic_t], [/* Define to `int\' if does not define. */ +configure.ac:902: the top level]) +m4trace:configure.ac:902: -1- AC_DEFINE_TRACE_LITERAL([sig_atomic_t]) +m4trace:configure.ac:902: -1- m4_pattern_allow([^sig_atomic_t$]) +m4trace:configure.ac:902: -1- AH_OUTPUT([sig_atomic_t], [/* Define to `int\' if does not define. */ @%:@undef sig_atomic_t]) -m4trace:configure.ac:903: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_CHAR]) -m4trace:configure.ac:903: -1- m4_pattern_allow([^SIZEOF_CHAR$]) -m4trace:configure.ac:903: -1- AH_OUTPUT([SIZEOF_CHAR], [/* The size of `char\', as computed by sizeof. */ +m4trace:configure.ac:904: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_CHAR]) +m4trace:configure.ac:904: -1- m4_pattern_allow([^SIZEOF_CHAR$]) +m4trace:configure.ac:904: -1- AH_OUTPUT([SIZEOF_CHAR], [/* The size of `char\', as computed by sizeof. */ @%:@undef SIZEOF_CHAR]) -m4trace:configure.ac:904: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_SHORT]) -m4trace:configure.ac:904: -1- m4_pattern_allow([^SIZEOF_SHORT$]) -m4trace:configure.ac:904: -1- AH_OUTPUT([SIZEOF_SHORT], [/* The size of `short\', as computed by sizeof. */ +m4trace:configure.ac:905: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_SHORT]) +m4trace:configure.ac:905: -1- m4_pattern_allow([^SIZEOF_SHORT$]) +m4trace:configure.ac:905: -1- AH_OUTPUT([SIZEOF_SHORT], [/* The size of `short\', as computed by sizeof. */ @%:@undef SIZEOF_SHORT]) -m4trace:configure.ac:905: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_INT]) -m4trace:configure.ac:905: -1- m4_pattern_allow([^SIZEOF_INT$]) -m4trace:configure.ac:905: -1- AH_OUTPUT([SIZEOF_INT], [/* The size of `int\', as computed by sizeof. */ +m4trace:configure.ac:906: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_INT]) +m4trace:configure.ac:906: -1- m4_pattern_allow([^SIZEOF_INT$]) +m4trace:configure.ac:906: -1- AH_OUTPUT([SIZEOF_INT], [/* The size of `int\', as computed by sizeof. */ @%:@undef SIZEOF_INT]) -m4trace:configure.ac:906: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_LONG]) -m4trace:configure.ac:906: -1- m4_pattern_allow([^SIZEOF_LONG$]) -m4trace:configure.ac:906: -1- AH_OUTPUT([SIZEOF_LONG], [/* The size of `long\', as computed by sizeof. */ +m4trace:configure.ac:907: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_LONG]) +m4trace:configure.ac:907: -1- m4_pattern_allow([^SIZEOF_LONG$]) +m4trace:configure.ac:907: -1- AH_OUTPUT([SIZEOF_LONG], [/* The size of `long\', as computed by sizeof. */ @%:@undef SIZEOF_LONG]) -m4trace:configure.ac:907: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_CHAR_P]) -m4trace:configure.ac:907: -1- m4_pattern_allow([^SIZEOF_CHAR_P$]) -m4trace:configure.ac:907: -1- AH_OUTPUT([SIZEOF_CHAR_P], [/* The size of `char *\', as computed by sizeof. */ +m4trace:configure.ac:908: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_CHAR_P]) +m4trace:configure.ac:908: -1- m4_pattern_allow([^SIZEOF_CHAR_P$]) +m4trace:configure.ac:908: -1- AH_OUTPUT([SIZEOF_CHAR_P], [/* The size of `char *\', as computed by sizeof. */ @%:@undef SIZEOF_CHAR_P]) -m4trace:configure.ac:908: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_DOUBLE]) -m4trace:configure.ac:908: -1- m4_pattern_allow([^SIZEOF_DOUBLE$]) -m4trace:configure.ac:908: -1- AH_OUTPUT([SIZEOF_DOUBLE], [/* The size of `double\', as computed by sizeof. */ +m4trace:configure.ac:909: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_DOUBLE]) +m4trace:configure.ac:909: -1- m4_pattern_allow([^SIZEOF_DOUBLE$]) +m4trace:configure.ac:909: -1- AH_OUTPUT([SIZEOF_DOUBLE], [/* The size of `double\', as computed by sizeof. */ @%:@undef SIZEOF_DOUBLE]) -m4trace:configure.ac:909: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_LONG_LONG]) -m4trace:configure.ac:909: -1- m4_pattern_allow([^SIZEOF_LONG_LONG$]) -m4trace:configure.ac:909: -1- AH_OUTPUT([SIZEOF_LONG_LONG], [/* The size of `long long\', as computed by sizeof. */ +m4trace:configure.ac:910: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_LONG_LONG]) +m4trace:configure.ac:910: -1- m4_pattern_allow([^SIZEOF_LONG_LONG$]) +m4trace:configure.ac:910: -1- AH_OUTPUT([SIZEOF_LONG_LONG], [/* The size of `long long\', as computed by sizeof. */ @%:@undef SIZEOF_LONG_LONG]) -m4trace:configure.ac:911: -1- AC_DEFINE_TRACE_LITERAL([u_int]) -m4trace:configure.ac:911: -1- m4_pattern_allow([^u_int$]) -m4trace:configure.ac:911: -1- AH_OUTPUT([u_int], [/* Define to `unsigned int\' if does not define. */ +m4trace:configure.ac:912: -1- AC_DEFINE_TRACE_LITERAL([u_int]) +m4trace:configure.ac:912: -1- m4_pattern_allow([^u_int$]) +m4trace:configure.ac:912: -1- AH_OUTPUT([u_int], [/* Define to `unsigned int\' if does not define. */ @%:@undef u_int]) -m4trace:configure.ac:912: -1- AC_DEFINE_TRACE_LITERAL([u_long]) -m4trace:configure.ac:912: -1- m4_pattern_allow([^u_long$]) -m4trace:configure.ac:912: -1- AH_OUTPUT([u_long], [/* Define to `unsigned long\' if does not define. */ +m4trace:configure.ac:913: -1- AC_DEFINE_TRACE_LITERAL([u_long]) +m4trace:configure.ac:913: -1- m4_pattern_allow([^u_long$]) +m4trace:configure.ac:913: -1- AH_OUTPUT([u_long], [/* Define to `unsigned long\' if does not define. */ @%:@undef u_long]) -m4trace:configure.ac:914: -1- AC_DEFINE_TRACE_LITERAL([bits16_t]) -m4trace:configure.ac:914: -1- m4_pattern_allow([^bits16_t$]) -m4trace:configure.ac:914: -1- AH_OUTPUT([bits16_t], [/* Define to `short\' if does not define. */ +m4trace:configure.ac:915: -1- AC_DEFINE_TRACE_LITERAL([bits16_t]) +m4trace:configure.ac:915: -1- m4_pattern_allow([^bits16_t$]) +m4trace:configure.ac:915: -1- AH_OUTPUT([bits16_t], [/* Define to `short\' if does not define. */ @%:@undef bits16_t]) -m4trace:configure.ac:914: -1- AC_DEFINE_TRACE_LITERAL([bits16_t]) -m4trace:configure.ac:914: -1- m4_pattern_allow([^bits16_t$]) -m4trace:configure.ac:914: -1- AH_OUTPUT([bits16_t], [/* Define to `char\' if does not define. */ +m4trace:configure.ac:915: -1- AC_DEFINE_TRACE_LITERAL([bits16_t]) +m4trace:configure.ac:915: -1- m4_pattern_allow([^bits16_t$]) +m4trace:configure.ac:915: -1- AH_OUTPUT([bits16_t], [/* Define to `char\' if does not define. */ @%:@undef bits16_t]) -m4trace:configure.ac:914: -1- AC_DEFINE_TRACE_LITERAL([bits16_t]) -m4trace:configure.ac:914: -1- m4_pattern_allow([^bits16_t$]) -m4trace:configure.ac:914: -1- AH_OUTPUT([bits16_t], [/* Define to `short\' if does not define. */ +m4trace:configure.ac:915: -1- AC_DEFINE_TRACE_LITERAL([bits16_t]) +m4trace:configure.ac:915: -1- m4_pattern_allow([^bits16_t$]) +m4trace:configure.ac:915: -1- AH_OUTPUT([bits16_t], [/* Define to `short\' if does not define. */ @%:@undef bits16_t]) -m4trace:configure.ac:915: -1- AC_DEFINE_TRACE_LITERAL([u_bits16_t]) -m4trace:configure.ac:915: -1- m4_pattern_allow([^u_bits16_t$]) -m4trace:configure.ac:915: -1- AH_OUTPUT([u_bits16_t], [/* Define to `unsigned short\' if does not define. */ +m4trace:configure.ac:916: -1- AC_DEFINE_TRACE_LITERAL([u_bits16_t]) +m4trace:configure.ac:916: -1- m4_pattern_allow([^u_bits16_t$]) +m4trace:configure.ac:916: -1- AH_OUTPUT([u_bits16_t], [/* Define to `unsigned short\' if does not define. */ @%:@undef u_bits16_t]) -m4trace:configure.ac:915: -1- AC_DEFINE_TRACE_LITERAL([u_bits16_t]) -m4trace:configure.ac:915: -1- m4_pattern_allow([^u_bits16_t$]) -m4trace:configure.ac:915: -1- AH_OUTPUT([u_bits16_t], [/* Define to `unsigned char\' if does not define. */ +m4trace:configure.ac:916: -1- AC_DEFINE_TRACE_LITERAL([u_bits16_t]) +m4trace:configure.ac:916: -1- m4_pattern_allow([^u_bits16_t$]) +m4trace:configure.ac:916: -1- AH_OUTPUT([u_bits16_t], [/* Define to `unsigned char\' if does not define. */ @%:@undef u_bits16_t]) -m4trace:configure.ac:915: -1- AC_DEFINE_TRACE_LITERAL([u_bits16_t]) -m4trace:configure.ac:915: -1- m4_pattern_allow([^u_bits16_t$]) -m4trace:configure.ac:915: -1- AH_OUTPUT([u_bits16_t], [/* Define to `unsigned short\' if does not define. */ +m4trace:configure.ac:916: -1- AC_DEFINE_TRACE_LITERAL([u_bits16_t]) +m4trace:configure.ac:916: -1- m4_pattern_allow([^u_bits16_t$]) +m4trace:configure.ac:916: -1- AH_OUTPUT([u_bits16_t], [/* Define to `unsigned short\' if does not define. */ @%:@undef u_bits16_t]) -m4trace:configure.ac:916: -1- AC_DEFINE_TRACE_LITERAL([bits32_t]) -m4trace:configure.ac:916: -1- m4_pattern_allow([^bits32_t$]) -m4trace:configure.ac:916: -1- AH_OUTPUT([bits32_t], [/* Define to `int\' if does not define. */ +m4trace:configure.ac:917: -1- AC_DEFINE_TRACE_LITERAL([bits32_t]) +m4trace:configure.ac:917: -1- m4_pattern_allow([^bits32_t$]) +m4trace:configure.ac:917: -1- AH_OUTPUT([bits32_t], [/* Define to `int\' if does not define. */ @%:@undef bits32_t]) -m4trace:configure.ac:916: -1- AC_DEFINE_TRACE_LITERAL([bits32_t]) -m4trace:configure.ac:916: -1- m4_pattern_allow([^bits32_t$]) -m4trace:configure.ac:916: -1- AH_OUTPUT([bits32_t], [/* Define to `long\' if does not define. */ +m4trace:configure.ac:917: -1- AC_DEFINE_TRACE_LITERAL([bits32_t]) +m4trace:configure.ac:917: -1- m4_pattern_allow([^bits32_t$]) +m4trace:configure.ac:917: -1- AH_OUTPUT([bits32_t], [/* Define to `long\' if does not define. */ @%:@undef bits32_t]) -m4trace:configure.ac:916: -1- AC_DEFINE_TRACE_LITERAL([bits32_t]) -m4trace:configure.ac:916: -1- m4_pattern_allow([^bits32_t$]) -m4trace:configure.ac:916: -1- AH_OUTPUT([bits32_t], [/* Define to `int\' if does not define. */ +m4trace:configure.ac:917: -1- AC_DEFINE_TRACE_LITERAL([bits32_t]) +m4trace:configure.ac:917: -1- m4_pattern_allow([^bits32_t$]) +m4trace:configure.ac:917: -1- AH_OUTPUT([bits32_t], [/* Define to `int\' if does not define. */ @%:@undef bits32_t]) -m4trace:configure.ac:917: -1- AC_DEFINE_TRACE_LITERAL([u_bits32_t]) -m4trace:configure.ac:917: -1- m4_pattern_allow([^u_bits32_t$]) -m4trace:configure.ac:917: -1- AH_OUTPUT([u_bits32_t], [/* Define to `unsigned int\' if does not define. */ +m4trace:configure.ac:918: -1- AC_DEFINE_TRACE_LITERAL([u_bits32_t]) +m4trace:configure.ac:918: -1- m4_pattern_allow([^u_bits32_t$]) +m4trace:configure.ac:918: -1- AH_OUTPUT([u_bits32_t], [/* Define to `unsigned int\' if does not define. */ @%:@undef u_bits32_t]) -m4trace:configure.ac:917: -1- AC_DEFINE_TRACE_LITERAL([u_bits32_t]) -m4trace:configure.ac:917: -1- m4_pattern_allow([^u_bits32_t$]) -m4trace:configure.ac:917: -1- AH_OUTPUT([u_bits32_t], [/* Define to `unsigned long\' if does not define. */ +m4trace:configure.ac:918: -1- AC_DEFINE_TRACE_LITERAL([u_bits32_t]) +m4trace:configure.ac:918: -1- m4_pattern_allow([^u_bits32_t$]) +m4trace:configure.ac:918: -1- AH_OUTPUT([u_bits32_t], [/* Define to `unsigned long\' if does not define. */ @%:@undef u_bits32_t]) -m4trace:configure.ac:917: -1- AC_DEFINE_TRACE_LITERAL([u_bits32_t]) -m4trace:configure.ac:917: -1- m4_pattern_allow([^u_bits32_t$]) -m4trace:configure.ac:917: -1- AH_OUTPUT([u_bits32_t], [/* Define to `unsigned int\' if does not define. */ +m4trace:configure.ac:918: -1- AC_DEFINE_TRACE_LITERAL([u_bits32_t]) +m4trace:configure.ac:918: -1- m4_pattern_allow([^u_bits32_t$]) +m4trace:configure.ac:918: -1- AH_OUTPUT([u_bits32_t], [/* Define to `unsigned int\' if does not define. */ @%:@undef u_bits32_t]) -m4trace:configure.ac:918: -1- AC_DEFINE_TRACE_LITERAL([bits64_t]) -m4trace:configure.ac:918: -1- m4_pattern_allow([^bits64_t$]) -m4trace:configure.ac:918: -1- AH_OUTPUT([bits64_t], [/* Define to `char *\' if does not define. */ +m4trace:configure.ac:919: -1- AC_DEFINE_TRACE_LITERAL([bits64_t]) +m4trace:configure.ac:919: -1- m4_pattern_allow([^bits64_t$]) +m4trace:configure.ac:919: -1- AH_OUTPUT([bits64_t], [/* Define to `char *\' if does not define. */ @%:@undef bits64_t]) -m4trace:configure.ac:918: -1- AC_DEFINE_TRACE_LITERAL([bits64_t]) -m4trace:configure.ac:918: -1- m4_pattern_allow([^bits64_t$]) -m4trace:configure.ac:918: -1- AH_OUTPUT([bits64_t], [/* Define to `double\' if does not define. */ +m4trace:configure.ac:919: -1- AC_DEFINE_TRACE_LITERAL([bits64_t]) +m4trace:configure.ac:919: -1- m4_pattern_allow([^bits64_t$]) +m4trace:configure.ac:919: -1- AH_OUTPUT([bits64_t], [/* Define to `double\' if does not define. */ @%:@undef bits64_t]) -m4trace:configure.ac:918: -1- AC_DEFINE_TRACE_LITERAL([bits64_t]) -m4trace:configure.ac:918: -1- m4_pattern_allow([^bits64_t$]) -m4trace:configure.ac:918: -1- AH_OUTPUT([bits64_t], [/* Define to `long long\' if does not define. */ +m4trace:configure.ac:919: -1- AC_DEFINE_TRACE_LITERAL([bits64_t]) +m4trace:configure.ac:919: -1- m4_pattern_allow([^bits64_t$]) +m4trace:configure.ac:919: -1- AH_OUTPUT([bits64_t], [/* Define to `long long\' if does not define. */ @%:@undef bits64_t]) -m4trace:configure.ac:918: -1- AC_DEFINE_TRACE_LITERAL([bits64_t]) -m4trace:configure.ac:918: -1- m4_pattern_allow([^bits64_t$]) -m4trace:configure.ac:918: -1- AH_OUTPUT([bits64_t], [/* Define to `long\' if does not define. */ +m4trace:configure.ac:919: -1- AC_DEFINE_TRACE_LITERAL([bits64_t]) +m4trace:configure.ac:919: -1- m4_pattern_allow([^bits64_t$]) +m4trace:configure.ac:919: -1- AH_OUTPUT([bits64_t], [/* Define to `long\' if does not define. */ @%:@undef bits64_t]) -m4trace:configure.ac:918: -1- AC_DEFINE_TRACE_LITERAL([bits64_t]) -m4trace:configure.ac:918: -1- m4_pattern_allow([^bits64_t$]) -m4trace:configure.ac:918: -1- AH_OUTPUT([bits64_t], [/* Define to `double\' if does not define. */ +m4trace:configure.ac:919: -1- AC_DEFINE_TRACE_LITERAL([bits64_t]) +m4trace:configure.ac:919: -1- m4_pattern_allow([^bits64_t$]) +m4trace:configure.ac:919: -1- AH_OUTPUT([bits64_t], [/* Define to `double\' if does not define. */ @%:@undef bits64_t]) -m4trace:configure.ac:920: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t]) -m4trace:configure.ac:920: -1- m4_pattern_allow([^ptrdiff_t$]) -m4trace:configure.ac:920: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `int\' if does not define. */ +m4trace:configure.ac:921: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t]) +m4trace:configure.ac:921: -1- m4_pattern_allow([^ptrdiff_t$]) +m4trace:configure.ac:921: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `int\' if does not define. */ @%:@undef ptrdiff_t]) -m4trace:configure.ac:920: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t]) -m4trace:configure.ac:920: -1- m4_pattern_allow([^ptrdiff_t$]) -m4trace:configure.ac:920: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `long\' if does not define. */ +m4trace:configure.ac:921: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t]) +m4trace:configure.ac:921: -1- m4_pattern_allow([^ptrdiff_t$]) +m4trace:configure.ac:921: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `long\' if does not define. */ @%:@undef ptrdiff_t]) -m4trace:configure.ac:920: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t]) -m4trace:configure.ac:920: -1- m4_pattern_allow([^ptrdiff_t$]) -m4trace:configure.ac:920: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `long long\' if does not define. */ +m4trace:configure.ac:921: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t]) +m4trace:configure.ac:921: -1- m4_pattern_allow([^ptrdiff_t$]) +m4trace:configure.ac:921: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `long long\' if does not define. */ @%:@undef ptrdiff_t]) -m4trace:configure.ac:920: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t]) -m4trace:configure.ac:920: -1- m4_pattern_allow([^ptrdiff_t$]) -m4trace:configure.ac:920: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `int\' if does not define. */ +m4trace:configure.ac:921: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t]) +m4trace:configure.ac:921: -1- m4_pattern_allow([^ptrdiff_t$]) +m4trace:configure.ac:921: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `int\' if does not define. */ @%:@undef ptrdiff_t]) -m4trace:configure.ac:923: -1- AC_DEFINE_TRACE_LITERAL([STAT_MACROS_BROKEN]) -m4trace:configure.ac:923: -1- m4_pattern_allow([^STAT_MACROS_BROKEN$]) -m4trace:configure.ac:923: -1- AH_OUTPUT([STAT_MACROS_BROKEN], [/* Define to 1 if the `S_IS*\' macros in do not work properly. */ +m4trace:configure.ac:924: -1- AC_DEFINE_TRACE_LITERAL([STAT_MACROS_BROKEN]) +m4trace:configure.ac:924: -1- m4_pattern_allow([^STAT_MACROS_BROKEN$]) +m4trace:configure.ac:924: -1- AH_OUTPUT([STAT_MACROS_BROKEN], [/* Define to 1 if the `S_IS*\' macros in do not work properly. */ @%:@undef STAT_MACROS_BROKEN]) -m4trace:configure.ac:928: -1- AC_DEFINE_TRACE_LITERAL([HAVE_HASH_BANG_EXEC]) -m4trace:configure.ac:928: -1- m4_pattern_allow([^HAVE_HASH_BANG_EXEC$]) -m4trace:configure.ac:933: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. +m4trace:configure.ac:929: -1- AC_DEFINE_TRACE_LITERAL([HAVE_HASH_BANG_EXEC]) +m4trace:configure.ac:929: -1- m4_pattern_allow([^HAVE_HASH_BANG_EXEC$]) +m4trace:configure.ac:934: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from... aclocal.m4:549: BASH_FUNC_LSTAT is expanded from... -configure.ac:933: the top level]) -m4trace:configure.ac:933: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LSTAT]) -m4trace:configure.ac:933: -1- m4_pattern_allow([^HAVE_LSTAT$]) -m4trace:configure.ac:937: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete. +configure.ac:934: the top level]) +m4trace:configure.ac:934: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LSTAT]) +m4trace:configure.ac:934: -1- m4_pattern_allow([^HAVE_LSTAT$]) +m4trace:configure.ac:938: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... aclocal.m4:1920: BASH_FUNC_CTYPE_NONASCII is expanded from... -configure.ac:937: the top level]) -m4trace:configure.ac:937: -1- AC_DEFINE_TRACE_LITERAL([CTYPE_NON_ASCII]) -m4trace:configure.ac:937: -1- m4_pattern_allow([^CTYPE_NON_ASCII$]) -m4trace:configure.ac:938: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete. +configure.ac:938: the top level]) +m4trace:configure.ac:938: -1- AC_DEFINE_TRACE_LITERAL([CTYPE_NON_ASCII]) +m4trace:configure.ac:938: -1- m4_pattern_allow([^CTYPE_NON_ASCII$]) +m4trace:configure.ac:939: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... aclocal.m4:270: BASH_FUNC_DUP2_CLOEXEC_CHECK is expanded from... -configure.ac:938: the top level]) -m4trace:configure.ac:938: -1- AC_DEFINE_TRACE_LITERAL([DUP2_BROKEN]) -m4trace:configure.ac:938: -1- m4_pattern_allow([^DUP2_BROKEN$]) -m4trace:configure.ac:939: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete. +configure.ac:939: the top level]) +m4trace:configure.ac:939: -1- AC_DEFINE_TRACE_LITERAL([DUP2_BROKEN]) +m4trace:configure.ac:939: -1- m4_pattern_allow([^DUP2_BROKEN$]) +m4trace:configure.ac:940: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... aclocal.m4:1235: BASH_SYS_PGRP_SYNC is expanded from... -configure.ac:939: the top level]) -m4trace:configure.ac:939: -1- AC_DEFINE_TRACE_LITERAL([PGRP_PIPE]) -m4trace:configure.ac:939: -1- m4_pattern_allow([^PGRP_PIPE$]) -m4trace:configure.ac:940: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. +configure.ac:940: the top level]) +m4trace:configure.ac:940: -1- AC_DEFINE_TRACE_LITERAL([PGRP_PIPE]) +m4trace:configure.ac:940: -1- m4_pattern_allow([^PGRP_PIPE$]) +m4trace:configure.ac:941: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... aclocal.m4:1195: BASH_SYS_SIGNAL_VINTAGE is expanded from... -configure.ac:940: the top level]) -m4trace:configure.ac:940: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. +configure.ac:941: the top level]) +m4trace:configure.ac:941: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2661: _AC_LINK_IFELSE is expanded from... @@ -2203,8 +2211,8 @@ You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... aclocal.m4:1195: BASH_SYS_SIGNAL_VINTAGE is expanded from... -configure.ac:940: the top level]) -m4trace:configure.ac:940: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. +configure.ac:941: the top level]) +m4trace:configure.ac:941: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2661: _AC_LINK_IFELSE is expanded from... @@ -2217,79 +2225,79 @@ You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... aclocal.m4:1195: BASH_SYS_SIGNAL_VINTAGE is expanded from... -configure.ac:940: the top level]) -m4trace:configure.ac:940: -1- AC_DEFINE_TRACE_LITERAL([HAVE_POSIX_SIGNALS]) -m4trace:configure.ac:940: -1- m4_pattern_allow([^HAVE_POSIX_SIGNALS$]) -m4trace:configure.ac:940: -1- AC_DEFINE_TRACE_LITERAL([HAVE_BSD_SIGNALS]) -m4trace:configure.ac:940: -1- m4_pattern_allow([^HAVE_BSD_SIGNALS$]) -m4trace:configure.ac:940: -1- AC_DEFINE_TRACE_LITERAL([HAVE_USG_SIGHOLD]) -m4trace:configure.ac:940: -1- m4_pattern_allow([^HAVE_USG_SIGHOLD$]) -m4trace:configure.ac:943: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. +configure.ac:941: the top level]) +m4trace:configure.ac:941: -1- AC_DEFINE_TRACE_LITERAL([HAVE_POSIX_SIGNALS]) +m4trace:configure.ac:941: -1- m4_pattern_allow([^HAVE_POSIX_SIGNALS$]) +m4trace:configure.ac:941: -1- AC_DEFINE_TRACE_LITERAL([HAVE_BSD_SIGNALS]) +m4trace:configure.ac:941: -1- m4_pattern_allow([^HAVE_BSD_SIGNALS$]) +m4trace:configure.ac:941: -1- AC_DEFINE_TRACE_LITERAL([HAVE_USG_SIGHOLD]) +m4trace:configure.ac:941: -1- m4_pattern_allow([^HAVE_USG_SIGHOLD$]) +m4trace:configure.ac:944: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... aclocal.m4:253: BASH_SYS_ERRLIST is expanded from... -configure.ac:943: the top level]) -m4trace:configure.ac:943: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SYS_ERRLIST]) -m4trace:configure.ac:943: -1- m4_pattern_allow([^HAVE_SYS_ERRLIST$]) -m4trace:configure.ac:944: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete. +configure.ac:944: the top level]) +m4trace:configure.ac:944: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SYS_ERRLIST]) +m4trace:configure.ac:944: -1- m4_pattern_allow([^HAVE_SYS_ERRLIST$]) +m4trace:configure.ac:945: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... aclocal.m4:211: BASH_SYS_SIGLIST is expanded from... -configure.ac:944: the top level]) -m4trace:configure.ac:944: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SYS_SIGLIST]) -m4trace:configure.ac:944: -1- m4_pattern_allow([^HAVE_SYS_SIGLIST$]) -m4trace:configure.ac:945: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +configure.ac:945: the top level]) +m4trace:configure.ac:945: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SYS_SIGLIST]) +m4trace:configure.ac:945: -1- m4_pattern_allow([^HAVE_SYS_SIGLIST$]) +m4trace:configure.ac:946: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... aclocal.m4:167: BASH_DECL_UNDER_SYS_SIGLIST is expanded from... aclocal.m4:184: BASH_UNDER_SYS_SIGLIST is expanded from... -configure.ac:945: the top level]) -m4trace:configure.ac:945: -1- AC_DEFINE_TRACE_LITERAL([UNDER_SYS_SIGLIST_DECLARED]) -m4trace:configure.ac:945: -1- m4_pattern_allow([^UNDER_SYS_SIGLIST_DECLARED$]) -m4trace:configure.ac:945: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete. +configure.ac:946: the top level]) +m4trace:configure.ac:946: -1- AC_DEFINE_TRACE_LITERAL([UNDER_SYS_SIGLIST_DECLARED]) +m4trace:configure.ac:946: -1- m4_pattern_allow([^UNDER_SYS_SIGLIST_DECLARED$]) +m4trace:configure.ac:946: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... aclocal.m4:184: BASH_UNDER_SYS_SIGLIST is expanded from... -configure.ac:945: the top level]) -m4trace:configure.ac:945: -1- AC_DEFINE_TRACE_LITERAL([HAVE_UNDER_SYS_SIGLIST]) -m4trace:configure.ac:945: -1- m4_pattern_allow([^HAVE_UNDER_SYS_SIGLIST$]) -m4trace:configure.ac:948: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +configure.ac:946: the top level]) +m4trace:configure.ac:946: -1- AC_DEFINE_TRACE_LITERAL([HAVE_UNDER_SYS_SIGLIST]) +m4trace:configure.ac:946: -1- m4_pattern_allow([^HAVE_UNDER_SYS_SIGLIST$]) +m4trace:configure.ac:949: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... aclocal.m4:366: BASH_TYPE_SIGHANDLER is expanded from... -configure.ac:948: the top level]) -m4trace:configure.ac:948: -1- AC_DEFINE_TRACE_LITERAL([VOID_SIGHANDLER]) -m4trace:configure.ac:948: -1- m4_pattern_allow([^VOID_SIGHANDLER$]) -m4trace:configure.ac:949: -1- AC_DEFINE_TRACE_LITERAL([clock_t]) -m4trace:configure.ac:949: -1- m4_pattern_allow([^clock_t$]) -m4trace:configure.ac:950: -1- AC_DEFINE_TRACE_LITERAL([sigset_t]) -m4trace:configure.ac:950: -1- m4_pattern_allow([^sigset_t$]) -m4trace:configure.ac:951: -1- AC_DEFINE_TRACE_LITERAL([sig_atomic_t]) -m4trace:configure.ac:951: -1- m4_pattern_allow([^sig_atomic_t$]) -m4trace:configure.ac:952: -1- AC_DEFINE_TRACE_LITERAL([HAVE_QUAD_T]) -m4trace:configure.ac:952: -1- m4_pattern_allow([^HAVE_QUAD_T$]) -m4trace:configure.ac:952: -1- AC_DEFINE_TRACE_LITERAL([quad_t]) -m4trace:configure.ac:952: -1- m4_pattern_allow([^quad_t$]) -m4trace:configure.ac:953: -1- AC_DEFINE_TRACE_LITERAL([intmax_t]) -m4trace:configure.ac:953: -1- m4_pattern_allow([^intmax_t$]) -m4trace:configure.ac:954: -1- AC_DEFINE_TRACE_LITERAL([uintmax_t]) -m4trace:configure.ac:954: -1- m4_pattern_allow([^uintmax_t$]) -m4trace:configure.ac:956: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SOCKLEN_T]) -m4trace:configure.ac:956: -1- m4_pattern_allow([^HAVE_SOCKLEN_T$]) -m4trace:configure.ac:956: -1- AC_DEFINE_TRACE_LITERAL([socklen_t]) -m4trace:configure.ac:956: -1- m4_pattern_allow([^socklen_t$]) -m4trace:configure.ac:958: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +configure.ac:949: the top level]) +m4trace:configure.ac:949: -1- AC_DEFINE_TRACE_LITERAL([VOID_SIGHANDLER]) +m4trace:configure.ac:949: -1- m4_pattern_allow([^VOID_SIGHANDLER$]) +m4trace:configure.ac:950: -1- AC_DEFINE_TRACE_LITERAL([clock_t]) +m4trace:configure.ac:950: -1- m4_pattern_allow([^clock_t$]) +m4trace:configure.ac:951: -1- AC_DEFINE_TRACE_LITERAL([sigset_t]) +m4trace:configure.ac:951: -1- m4_pattern_allow([^sigset_t$]) +m4trace:configure.ac:952: -1- AC_DEFINE_TRACE_LITERAL([sig_atomic_t]) +m4trace:configure.ac:952: -1- m4_pattern_allow([^sig_atomic_t$]) +m4trace:configure.ac:953: -1- AC_DEFINE_TRACE_LITERAL([HAVE_QUAD_T]) +m4trace:configure.ac:953: -1- m4_pattern_allow([^HAVE_QUAD_T$]) +m4trace:configure.ac:953: -1- AC_DEFINE_TRACE_LITERAL([quad_t]) +m4trace:configure.ac:953: -1- m4_pattern_allow([^quad_t$]) +m4trace:configure.ac:954: -1- AC_DEFINE_TRACE_LITERAL([intmax_t]) +m4trace:configure.ac:954: -1- m4_pattern_allow([^intmax_t$]) +m4trace:configure.ac:955: -1- AC_DEFINE_TRACE_LITERAL([uintmax_t]) +m4trace:configure.ac:955: -1- m4_pattern_allow([^uintmax_t$]) +m4trace:configure.ac:957: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SOCKLEN_T]) +m4trace:configure.ac:957: -1- m4_pattern_allow([^HAVE_SOCKLEN_T$]) +m4trace:configure.ac:957: -1- AC_DEFINE_TRACE_LITERAL([socklen_t]) +m4trace:configure.ac:957: -1- m4_pattern_allow([^socklen_t$]) +m4trace:configure.ac:959: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... aclocal.m4:507: BASH_TYPE_RLIMIT is expanded from... -configure.ac:958: the top level]) -m4trace:configure.ac:958: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete. +configure.ac:959: the top level]) +m4trace:configure.ac:959: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2590: _AC_COMPILE_IFELSE is expanded from... @@ -2298,50 +2306,50 @@ You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... aclocal.m4:507: BASH_TYPE_RLIMIT is expanded from... -configure.ac:958: the top level]) -m4trace:configure.ac:958: -1- AC_DEFINE_TRACE_LITERAL([RLIMTYPE]) -m4trace:configure.ac:958: -1- m4_pattern_allow([^RLIMTYPE$]) -m4trace:configure.ac:958: -1- AC_DEFINE_TRACE_LITERAL([RLIMTYPE]) -m4trace:configure.ac:958: -1- m4_pattern_allow([^RLIMTYPE$]) -m4trace:configure.ac:960: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_INTMAX_T]) -m4trace:configure.ac:960: -1- m4_pattern_allow([^SIZEOF_INTMAX_T$]) -m4trace:configure.ac:960: -1- AH_OUTPUT([SIZEOF_INTMAX_T], [/* The size of `intmax_t\', as computed by sizeof. */ +configure.ac:959: the top level]) +m4trace:configure.ac:959: -1- AC_DEFINE_TRACE_LITERAL([RLIMTYPE]) +m4trace:configure.ac:959: -1- m4_pattern_allow([^RLIMTYPE$]) +m4trace:configure.ac:959: -1- AC_DEFINE_TRACE_LITERAL([RLIMTYPE]) +m4trace:configure.ac:959: -1- m4_pattern_allow([^RLIMTYPE$]) +m4trace:configure.ac:961: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_INTMAX_T]) +m4trace:configure.ac:961: -1- m4_pattern_allow([^SIZEOF_INTMAX_T$]) +m4trace:configure.ac:961: -1- AH_OUTPUT([SIZEOF_INTMAX_T], [/* The size of `intmax_t\', as computed by sizeof. */ @%:@undef SIZEOF_INTMAX_T]) -m4trace:configure.ac:963: -2- AC_DEFINE_TRACE_LITERAL([TERMIOS_LDISC]) -m4trace:configure.ac:963: -2- m4_pattern_allow([^TERMIOS_LDISC$]) -m4trace:configure.ac:964: -2- AC_DEFINE_TRACE_LITERAL([TERMIO_LDISC]) -m4trace:configure.ac:964: -2- m4_pattern_allow([^TERMIO_LDISC$]) -m4trace:configure.ac:965: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +m4trace:configure.ac:964: -2- AC_DEFINE_TRACE_LITERAL([TERMIOS_LDISC]) +m4trace:configure.ac:964: -2- m4_pattern_allow([^TERMIOS_LDISC$]) +m4trace:configure.ac:965: -2- AC_DEFINE_TRACE_LITERAL([TERMIO_LDISC]) +m4trace:configure.ac:965: -2- m4_pattern_allow([^TERMIO_LDISC$]) +m4trace:configure.ac:966: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... aclocal.m4:1042: BASH_STRUCT_DIRENT_D_INO is expanded from... -configure.ac:965: the top level]) -m4trace:configure.ac:965: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_DIRENT_D_INO]) -m4trace:configure.ac:965: -1- m4_pattern_allow([^HAVE_STRUCT_DIRENT_D_INO$]) -m4trace:configure.ac:966: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +configure.ac:966: the top level]) +m4trace:configure.ac:966: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_DIRENT_D_INO]) +m4trace:configure.ac:966: -1- m4_pattern_allow([^HAVE_STRUCT_DIRENT_D_INO$]) +m4trace:configure.ac:967: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... aclocal.m4:1075: BASH_STRUCT_DIRENT_D_FILENO is expanded from... -configure.ac:966: the top level]) -m4trace:configure.ac:966: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_DIRENT_D_FILENO]) -m4trace:configure.ac:966: -1- m4_pattern_allow([^HAVE_STRUCT_DIRENT_D_FILENO$]) -m4trace:configure.ac:967: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +configure.ac:967: the top level]) +m4trace:configure.ac:967: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_DIRENT_D_FILENO]) +m4trace:configure.ac:967: -1- m4_pattern_allow([^HAVE_STRUCT_DIRENT_D_FILENO$]) +m4trace:configure.ac:968: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... aclocal.m4:1108: BASH_STRUCT_DIRENT_D_NAMLEN is expanded from... -configure.ac:967: the top level]) -m4trace:configure.ac:967: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_DIRENT_D_NAMLEN]) -m4trace:configure.ac:967: -1- m4_pattern_allow([^HAVE_STRUCT_DIRENT_D_NAMLEN$]) -m4trace:configure.ac:968: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +configure.ac:968: the top level]) +m4trace:configure.ac:968: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_DIRENT_D_NAMLEN]) +m4trace:configure.ac:968: -1- m4_pattern_allow([^HAVE_STRUCT_DIRENT_D_NAMLEN$]) +m4trace:configure.ac:969: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... aclocal.m4:1173: BASH_STRUCT_WINSIZE is expanded from... -configure.ac:968: the top level]) -m4trace:configure.ac:968: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +configure.ac:969: the top level]) +m4trace:configure.ac:969: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2590: _AC_COMPILE_IFELSE is expanded from... @@ -2350,303 +2358,303 @@ You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... aclocal.m4:1173: BASH_STRUCT_WINSIZE is expanded from... -configure.ac:968: the top level]) -m4trace:configure.ac:968: -1- AC_DEFINE_TRACE_LITERAL([STRUCT_WINSIZE_IN_SYS_IOCTL]) -m4trace:configure.ac:968: -1- m4_pattern_allow([^STRUCT_WINSIZE_IN_SYS_IOCTL$]) -m4trace:configure.ac:968: -1- AC_DEFINE_TRACE_LITERAL([STRUCT_WINSIZE_IN_TERMIOS]) -m4trace:configure.ac:968: -1- m4_pattern_allow([^STRUCT_WINSIZE_IN_TERMIOS$]) -m4trace:configure.ac:969: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TIMEVAL]) -m4trace:configure.ac:969: -1- m4_pattern_allow([^HAVE_TIMEVAL$]) -m4trace:configure.ac:970: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_STAT_ST_BLOCKS]) -m4trace:configure.ac:970: -1- m4_pattern_allow([^HAVE_STRUCT_STAT_ST_BLOCKS$]) -m4trace:configure.ac:970: -1- AH_OUTPUT([HAVE_STRUCT_STAT_ST_BLOCKS], [/* Define to 1 if `st_blocks\' is a member of `struct stat\'. */ +configure.ac:969: the top level]) +m4trace:configure.ac:969: -1- AC_DEFINE_TRACE_LITERAL([STRUCT_WINSIZE_IN_SYS_IOCTL]) +m4trace:configure.ac:969: -1- m4_pattern_allow([^STRUCT_WINSIZE_IN_SYS_IOCTL$]) +m4trace:configure.ac:969: -1- AC_DEFINE_TRACE_LITERAL([STRUCT_WINSIZE_IN_TERMIOS]) +m4trace:configure.ac:969: -1- m4_pattern_allow([^STRUCT_WINSIZE_IN_TERMIOS$]) +m4trace:configure.ac:970: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TIMEVAL]) +m4trace:configure.ac:970: -1- m4_pattern_allow([^HAVE_TIMEVAL$]) +m4trace:configure.ac:971: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_STAT_ST_BLOCKS]) +m4trace:configure.ac:971: -1- m4_pattern_allow([^HAVE_STRUCT_STAT_ST_BLOCKS$]) +m4trace:configure.ac:971: -1- AH_OUTPUT([HAVE_STRUCT_STAT_ST_BLOCKS], [/* Define to 1 if `st_blocks\' is a member of `struct stat\'. */ @%:@undef HAVE_STRUCT_STAT_ST_BLOCKS]) -m4trace:configure.ac:971: -1- AC_DEFINE_TRACE_LITERAL([TM_IN_SYS_TIME]) -m4trace:configure.ac:971: -1- m4_pattern_allow([^TM_IN_SYS_TIME$]) -m4trace:configure.ac:971: -1- AH_OUTPUT([TM_IN_SYS_TIME], [/* Define to 1 if your declares `struct tm\'. */ +m4trace:configure.ac:972: -1- AC_DEFINE_TRACE_LITERAL([TM_IN_SYS_TIME]) +m4trace:configure.ac:972: -1- m4_pattern_allow([^TM_IN_SYS_TIME$]) +m4trace:configure.ac:972: -1- AH_OUTPUT([TM_IN_SYS_TIME], [/* Define to 1 if your declares `struct tm\'. */ @%:@undef TM_IN_SYS_TIME]) -m4trace:configure.ac:972: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_TM_TM_ZONE]) -m4trace:configure.ac:972: -1- m4_pattern_allow([^HAVE_STRUCT_TM_TM_ZONE$]) -m4trace:configure.ac:972: -1- AH_OUTPUT([HAVE_STRUCT_TM_TM_ZONE], [/* Define to 1 if `tm_zone\' is a member of `struct tm\'. */ +m4trace:configure.ac:973: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_TM_TM_ZONE]) +m4trace:configure.ac:973: -1- m4_pattern_allow([^HAVE_STRUCT_TM_TM_ZONE$]) +m4trace:configure.ac:973: -1- AH_OUTPUT([HAVE_STRUCT_TM_TM_ZONE], [/* Define to 1 if `tm_zone\' is a member of `struct tm\'. */ @%:@undef HAVE_STRUCT_TM_TM_ZONE]) -m4trace:configure.ac:972: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TM_ZONE]) -m4trace:configure.ac:972: -1- m4_pattern_allow([^HAVE_TM_ZONE$]) -m4trace:configure.ac:972: -1- AH_OUTPUT([HAVE_TM_ZONE], [/* Define to 1 if your `struct tm\' has `tm_zone\'. Deprecated, use +m4trace:configure.ac:973: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TM_ZONE]) +m4trace:configure.ac:973: -1- m4_pattern_allow([^HAVE_TM_ZONE$]) +m4trace:configure.ac:973: -1- AH_OUTPUT([HAVE_TM_ZONE], [/* Define to 1 if your `struct tm\' has `tm_zone\'. Deprecated, use `HAVE_STRUCT_TM_TM_ZONE\' instead. */ @%:@undef HAVE_TM_ZONE]) -m4trace:configure.ac:972: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_TZNAME]) -m4trace:configure.ac:972: -1- m4_pattern_allow([^HAVE_DECL_TZNAME$]) -m4trace:configure.ac:972: -1- AH_OUTPUT([HAVE_DECL_TZNAME], [/* Define to 1 if you have the declaration of `tzname\', and to 0 if you don\'t. +m4trace:configure.ac:973: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_TZNAME]) +m4trace:configure.ac:973: -1- m4_pattern_allow([^HAVE_DECL_TZNAME$]) +m4trace:configure.ac:973: -1- AH_OUTPUT([HAVE_DECL_TZNAME], [/* Define to 1 if you have the declaration of `tzname\', and to 0 if you don\'t. */ @%:@undef HAVE_DECL_TZNAME]) -m4trace:configure.ac:972: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TZNAME]) -m4trace:configure.ac:972: -1- m4_pattern_allow([^HAVE_TZNAME$]) -m4trace:configure.ac:972: -1- AH_OUTPUT([HAVE_TZNAME], [/* Define to 1 if you don\'t have `tm_zone\' but do have the external array +m4trace:configure.ac:973: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TZNAME]) +m4trace:configure.ac:973: -1- m4_pattern_allow([^HAVE_TZNAME$]) +m4trace:configure.ac:973: -1- AH_OUTPUT([HAVE_TZNAME], [/* Define to 1 if you don\'t have `tm_zone\' but do have the external array `tzname\'. */ @%:@undef HAVE_TZNAME]) -m4trace:configure.ac:973: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_TIMEZONE]) -m4trace:configure.ac:973: -1- m4_pattern_allow([^HAVE_STRUCT_TIMEZONE$]) -m4trace:configure.ac:975: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete. +m4trace:configure.ac:974: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_TIMEZONE]) +m4trace:configure.ac:974: -1- m4_pattern_allow([^HAVE_STRUCT_TIMEZONE$]) +m4trace:configure.ac:976: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... aclocal.m4:4149: BASH_STRUCT_WEXITSTATUS_OFFSET is expanded from... -configure.ac:975: the top level]) -m4trace:configure.ac:975: -1- AC_DEFINE_TRACE_LITERAL([WEXITSTATUS_OFFSET]) -m4trace:configure.ac:975: -1- m4_pattern_allow([^WEXITSTATUS_OFFSET$]) -m4trace:configure.ac:975: -1- AH_OUTPUT([WEXITSTATUS_OFFSET], [/* Offset of exit status in wait status word */ +configure.ac:976: the top level]) +m4trace:configure.ac:976: -1- AC_DEFINE_TRACE_LITERAL([WEXITSTATUS_OFFSET]) +m4trace:configure.ac:976: -1- m4_pattern_allow([^WEXITSTATUS_OFFSET$]) +m4trace:configure.ac:976: -1- AH_OUTPUT([WEXITSTATUS_OFFSET], [/* Offset of exit status in wait status word */ @%:@undef WEXITSTATUS_OFFSET]) -m4trace:configure.ac:977: -1- AH_OUTPUT([HAVE_SYS_TIME_H], [/* Define to 1 if you have the header file. */ -@%:@undef HAVE_SYS_TIME_H]) -m4trace:configure.ac:977: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_TIMESPEC]) -m4trace:configure.ac:977: -1- m4_pattern_allow([^HAVE_STRUCT_TIMESPEC$]) -m4trace:configure.ac:977: -1- AC_DEFINE_TRACE_LITERAL([TIME_H_DEFINES_STRUCT_TIMESPEC]) -m4trace:configure.ac:977: -1- m4_pattern_allow([^TIME_H_DEFINES_STRUCT_TIMESPEC$]) -m4trace:configure.ac:977: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_TIMESPEC]) -m4trace:configure.ac:977: -1- m4_pattern_allow([^HAVE_STRUCT_TIMESPEC$]) -m4trace:configure.ac:977: -1- AC_DEFINE_TRACE_LITERAL([SYS_TIME_H_DEFINES_STRUCT_TIMESPEC]) -m4trace:configure.ac:977: -1- m4_pattern_allow([^SYS_TIME_H_DEFINES_STRUCT_TIMESPEC$]) -m4trace:configure.ac:977: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_TIMESPEC]) -m4trace:configure.ac:977: -1- m4_pattern_allow([^HAVE_STRUCT_TIMESPEC$]) -m4trace:configure.ac:977: -1- AC_DEFINE_TRACE_LITERAL([PTHREAD_H_DEFINES_STRUCT_TIMESPEC]) -m4trace:configure.ac:977: -1- m4_pattern_allow([^PTHREAD_H_DEFINES_STRUCT_TIMESPEC$]) -m4trace:configure.ac:977: -1- AC_SUBST([TIME_H_DEFINES_STRUCT_TIMESPEC]) -m4trace:configure.ac:977: -1- AC_SUBST_TRACE([TIME_H_DEFINES_STRUCT_TIMESPEC]) -m4trace:configure.ac:977: -1- m4_pattern_allow([^TIME_H_DEFINES_STRUCT_TIMESPEC$]) -m4trace:configure.ac:977: -1- AC_SUBST([SYS_TIME_H_DEFINES_STRUCT_TIMESPEC]) -m4trace:configure.ac:977: -1- AC_SUBST_TRACE([SYS_TIME_H_DEFINES_STRUCT_TIMESPEC]) -m4trace:configure.ac:977: -1- m4_pattern_allow([^SYS_TIME_H_DEFINES_STRUCT_TIMESPEC$]) -m4trace:configure.ac:977: -1- AC_SUBST([PTHREAD_H_DEFINES_STRUCT_TIMESPEC]) -m4trace:configure.ac:977: -1- AC_SUBST_TRACE([PTHREAD_H_DEFINES_STRUCT_TIMESPEC]) -m4trace:configure.ac:977: -1- m4_pattern_allow([^PTHREAD_H_DEFINES_STRUCT_TIMESPEC$]) m4trace:configure.ac:978: -1- AH_OUTPUT([HAVE_SYS_TIME_H], [/* Define to 1 if you have the header file. */ @%:@undef HAVE_SYS_TIME_H]) -m4trace:configure.ac:978: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC]) -m4trace:configure.ac:978: -1- m4_pattern_allow([^HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC$]) -m4trace:configure.ac:978: -1- AH_OUTPUT([HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC], [/* Define to 1 if `st_atim.tv_nsec\' is a member of `struct stat\'. */ +m4trace:configure.ac:978: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_TIMESPEC]) +m4trace:configure.ac:978: -1- m4_pattern_allow([^HAVE_STRUCT_TIMESPEC$]) +m4trace:configure.ac:978: -1- AC_DEFINE_TRACE_LITERAL([TIME_H_DEFINES_STRUCT_TIMESPEC]) +m4trace:configure.ac:978: -1- m4_pattern_allow([^TIME_H_DEFINES_STRUCT_TIMESPEC$]) +m4trace:configure.ac:978: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_TIMESPEC]) +m4trace:configure.ac:978: -1- m4_pattern_allow([^HAVE_STRUCT_TIMESPEC$]) +m4trace:configure.ac:978: -1- AC_DEFINE_TRACE_LITERAL([SYS_TIME_H_DEFINES_STRUCT_TIMESPEC]) +m4trace:configure.ac:978: -1- m4_pattern_allow([^SYS_TIME_H_DEFINES_STRUCT_TIMESPEC$]) +m4trace:configure.ac:978: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_TIMESPEC]) +m4trace:configure.ac:978: -1- m4_pattern_allow([^HAVE_STRUCT_TIMESPEC$]) +m4trace:configure.ac:978: -1- AC_DEFINE_TRACE_LITERAL([PTHREAD_H_DEFINES_STRUCT_TIMESPEC]) +m4trace:configure.ac:978: -1- m4_pattern_allow([^PTHREAD_H_DEFINES_STRUCT_TIMESPEC$]) +m4trace:configure.ac:978: -1- AC_SUBST([TIME_H_DEFINES_STRUCT_TIMESPEC]) +m4trace:configure.ac:978: -1- AC_SUBST_TRACE([TIME_H_DEFINES_STRUCT_TIMESPEC]) +m4trace:configure.ac:978: -1- m4_pattern_allow([^TIME_H_DEFINES_STRUCT_TIMESPEC$]) +m4trace:configure.ac:978: -1- AC_SUBST([SYS_TIME_H_DEFINES_STRUCT_TIMESPEC]) +m4trace:configure.ac:978: -1- AC_SUBST_TRACE([SYS_TIME_H_DEFINES_STRUCT_TIMESPEC]) +m4trace:configure.ac:978: -1- m4_pattern_allow([^SYS_TIME_H_DEFINES_STRUCT_TIMESPEC$]) +m4trace:configure.ac:978: -1- AC_SUBST([PTHREAD_H_DEFINES_STRUCT_TIMESPEC]) +m4trace:configure.ac:978: -1- AC_SUBST_TRACE([PTHREAD_H_DEFINES_STRUCT_TIMESPEC]) +m4trace:configure.ac:978: -1- m4_pattern_allow([^PTHREAD_H_DEFINES_STRUCT_TIMESPEC$]) +m4trace:configure.ac:979: -1- AH_OUTPUT([HAVE_SYS_TIME_H], [/* Define to 1 if you have the header file. */ +@%:@undef HAVE_SYS_TIME_H]) +m4trace:configure.ac:979: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC]) +m4trace:configure.ac:979: -1- m4_pattern_allow([^HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC$]) +m4trace:configure.ac:979: -1- AH_OUTPUT([HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC], [/* Define to 1 if `st_atim.tv_nsec\' is a member of `struct stat\'. */ @%:@undef HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC]) -m4trace:configure.ac:978: -1- AC_DEFINE_TRACE_LITERAL([TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC]) -m4trace:configure.ac:978: -1- m4_pattern_allow([^TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC$]) -m4trace:configure.ac:978: -1- AH_OUTPUT([TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC], [/* Define to 1 if the type of the st_atim member of a struct stat is struct +m4trace:configure.ac:979: -1- AC_DEFINE_TRACE_LITERAL([TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC]) +m4trace:configure.ac:979: -1- m4_pattern_allow([^TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC$]) +m4trace:configure.ac:979: -1- AH_OUTPUT([TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC], [/* Define to 1 if the type of the st_atim member of a struct stat is struct timespec. */ @%:@undef TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC]) -m4trace:configure.ac:978: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC]) -m4trace:configure.ac:978: -1- m4_pattern_allow([^HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC$]) -m4trace:configure.ac:978: -1- AH_OUTPUT([HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC], [/* Define to 1 if `st_atimespec.tv_nsec\' is a member of `struct stat\'. */ +m4trace:configure.ac:979: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC]) +m4trace:configure.ac:979: -1- m4_pattern_allow([^HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC$]) +m4trace:configure.ac:979: -1- AH_OUTPUT([HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC], [/* Define to 1 if `st_atimespec.tv_nsec\' is a member of `struct stat\'. */ @%:@undef HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC]) -m4trace:configure.ac:978: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_STAT_ST_ATIMENSEC]) -m4trace:configure.ac:978: -1- m4_pattern_allow([^HAVE_STRUCT_STAT_ST_ATIMENSEC$]) -m4trace:configure.ac:978: -1- AH_OUTPUT([HAVE_STRUCT_STAT_ST_ATIMENSEC], [/* Define to 1 if `st_atimensec\' is a member of `struct stat\'. */ +m4trace:configure.ac:979: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_STAT_ST_ATIMENSEC]) +m4trace:configure.ac:979: -1- m4_pattern_allow([^HAVE_STRUCT_STAT_ST_ATIMENSEC$]) +m4trace:configure.ac:979: -1- AH_OUTPUT([HAVE_STRUCT_STAT_ST_ATIMENSEC], [/* Define to 1 if `st_atimensec\' is a member of `struct stat\'. */ @%:@undef HAVE_STRUCT_STAT_ST_ATIMENSEC]) -m4trace:configure.ac:978: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC]) -m4trace:configure.ac:978: -1- m4_pattern_allow([^HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC$]) -m4trace:configure.ac:978: -1- AH_OUTPUT([HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC], [/* Define to 1 if `st_atim.st__tim.tv_nsec\' is a member of `struct stat\'. */ +m4trace:configure.ac:979: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC]) +m4trace:configure.ac:979: -1- m4_pattern_allow([^HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC$]) +m4trace:configure.ac:979: -1- AH_OUTPUT([HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC], [/* Define to 1 if `st_atim.st__tim.tv_nsec\' is a member of `struct stat\'. */ @%:@undef HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC]) -m4trace:configure.ac:981: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. +m4trace:configure.ac:982: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... aclocal.m4:299: BASH_FUNC_STRSIGNAL is expanded from... -configure.ac:981: the top level]) -m4trace:configure.ac:981: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRSIGNAL]) -m4trace:configure.ac:981: -1- m4_pattern_allow([^HAVE_STRSIGNAL$]) -m4trace:configure.ac:982: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete. +configure.ac:982: the top level]) +m4trace:configure.ac:982: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRSIGNAL]) +m4trace:configure.ac:982: -1- m4_pattern_allow([^HAVE_STRSIGNAL$]) +m4trace:configure.ac:983: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... aclocal.m4:313: BASH_FUNC_OPENDIR_CHECK is expanded from... -configure.ac:982: the top level]) -m4trace:configure.ac:982: -1- AC_DEFINE_TRACE_LITERAL([OPENDIR_NOT_ROBUST]) -m4trace:configure.ac:982: -1- m4_pattern_allow([^OPENDIR_NOT_ROBUST$]) -m4trace:configure.ac:983: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete. +configure.ac:983: the top level]) +m4trace:configure.ac:983: -1- AC_DEFINE_TRACE_LITERAL([OPENDIR_NOT_ROBUST]) +m4trace:configure.ac:983: -1- m4_pattern_allow([^OPENDIR_NOT_ROBUST$]) +m4trace:configure.ac:984: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... aclocal.m4:683: BASH_FUNC_ULIMIT_MAXFDS is expanded from... -configure.ac:983: the top level]) -m4trace:configure.ac:983: -1- AC_DEFINE_TRACE_LITERAL([ULIMIT_MAXFDS]) -m4trace:configure.ac:983: -1- m4_pattern_allow([^ULIMIT_MAXFDS$]) -m4trace:configure.ac:984: -1- AH_OUTPUT([HAVE_FPURGE], [/* Define to 1 if you have the `fpurge\' function. */ +configure.ac:984: the top level]) +m4trace:configure.ac:984: -1- AC_DEFINE_TRACE_LITERAL([ULIMIT_MAXFDS]) +m4trace:configure.ac:984: -1- m4_pattern_allow([^ULIMIT_MAXFDS$]) +m4trace:configure.ac:985: -1- AH_OUTPUT([HAVE_FPURGE], [/* Define to 1 if you have the `fpurge\' function. */ @%:@undef HAVE_FPURGE]) -m4trace:configure.ac:984: -1- AH_OUTPUT([HAVE___FPURGE], [/* Define to 1 if you have the `__fpurge\' function. */ +m4trace:configure.ac:985: -1- AH_OUTPUT([HAVE___FPURGE], [/* Define to 1 if you have the `__fpurge\' function. */ @%:@undef HAVE___FPURGE]) -m4trace:configure.ac:984: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_FPURGE]) -m4trace:configure.ac:984: -1- m4_pattern_allow([^HAVE_DECL_FPURGE$]) -m4trace:configure.ac:984: -1- AH_OUTPUT([HAVE_DECL_FPURGE], [/* Define to 1 if you have the declaration of `fpurge\', and to 0 if you don\'t. +m4trace:configure.ac:985: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_FPURGE]) +m4trace:configure.ac:985: -1- m4_pattern_allow([^HAVE_DECL_FPURGE$]) +m4trace:configure.ac:985: -1- AH_OUTPUT([HAVE_DECL_FPURGE], [/* Define to 1 if you have the declaration of `fpurge\', and to 0 if you don\'t. */ @%:@undef HAVE_DECL_FPURGE]) -m4trace:configure.ac:985: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete. +m4trace:configure.ac:986: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... aclocal.m4:579: BASH_FUNC_GETENV is expanded from... -configure.ac:985: the top level]) -m4trace:configure.ac:985: -1- AC_DEFINE_TRACE_LITERAL([CAN_REDEFINE_GETENV]) -m4trace:configure.ac:985: -1- m4_pattern_allow([^CAN_REDEFINE_GETENV$]) -m4trace:configure.ac:987: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete. +configure.ac:986: the top level]) +m4trace:configure.ac:986: -1- AC_DEFINE_TRACE_LITERAL([CAN_REDEFINE_GETENV]) +m4trace:configure.ac:986: -1- m4_pattern_allow([^CAN_REDEFINE_GETENV$]) +m4trace:configure.ac:988: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... aclocal.m4:702: BASH_FUNC_GETCWD is expanded from... -configure.ac:987: the top level]) -m4trace:configure.ac:987: -1- AC_DEFINE_TRACE_LITERAL([GETCWD_BROKEN]) -m4trace:configure.ac:987: -1- m4_pattern_allow([^GETCWD_BROKEN$]) -m4trace:configure.ac:987: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS getcwd.$ac_objext"]) -m4trace:configure.ac:987: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) -m4trace:configure.ac:987: -1- m4_pattern_allow([^LIB@&t@OBJS$]) -m4trace:configure.ac:987: -1- AC_LIBSOURCE([getcwd.c]) -m4trace:configure.ac:989: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete. +configure.ac:988: the top level]) +m4trace:configure.ac:988: -1- AC_DEFINE_TRACE_LITERAL([GETCWD_BROKEN]) +m4trace:configure.ac:988: -1- m4_pattern_allow([^GETCWD_BROKEN$]) +m4trace:configure.ac:988: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS getcwd.$ac_objext"]) +m4trace:configure.ac:988: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) +m4trace:configure.ac:988: -1- m4_pattern_allow([^LIB@&t@OBJS$]) +m4trace:configure.ac:988: -1- AC_LIBSOURCE([getcwd.c]) +m4trace:configure.ac:990: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... aclocal.m4:778: BASH_FUNC_POSIX_SETJMP is expanded from... -configure.ac:989: the top level]) -m4trace:configure.ac:989: -1- AC_DEFINE_TRACE_LITERAL([HAVE_POSIX_SIGSETJMP]) -m4trace:configure.ac:989: -1- m4_pattern_allow([^HAVE_POSIX_SIGSETJMP$]) -m4trace:configure.ac:990: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete. +configure.ac:990: the top level]) +m4trace:configure.ac:990: -1- AC_DEFINE_TRACE_LITERAL([HAVE_POSIX_SIGSETJMP]) +m4trace:configure.ac:990: -1- m4_pattern_allow([^HAVE_POSIX_SIGSETJMP$]) +m4trace:configure.ac:991: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... aclocal.m4:829: BASH_FUNC_STRCOLL is expanded from... -configure.ac:990: the top level]) -m4trace:configure.ac:990: -1- AC_DEFINE_TRACE_LITERAL([STRCOLL_BROKEN]) -m4trace:configure.ac:990: -1- m4_pattern_allow([^STRCOLL_BROKEN$]) -m4trace:configure.ac:991: -1- AH_OUTPUT([HAVE_SNPRINTF], [/* Define to 1 if you have the `snprintf\' function. */ +configure.ac:991: the top level]) +m4trace:configure.ac:991: -1- AC_DEFINE_TRACE_LITERAL([STRCOLL_BROKEN]) +m4trace:configure.ac:991: -1- m4_pattern_allow([^STRCOLL_BROKEN$]) +m4trace:configure.ac:992: -1- AH_OUTPUT([HAVE_SNPRINTF], [/* Define to 1 if you have the `snprintf\' function. */ @%:@undef HAVE_SNPRINTF]) -m4trace:configure.ac:991: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete. +m4trace:configure.ac:992: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from... aclocal.m4:4065: BASH_FUNC_SNPRINTF is expanded from... -configure.ac:991: the top level]) -m4trace:configure.ac:991: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SNPRINTF]) -m4trace:configure.ac:991: -1- m4_pattern_allow([^HAVE_SNPRINTF$]) -m4trace:configure.ac:991: -1- AH_OUTPUT([HAVE_SNPRINTF], [/* Define if you have a standard-conformant snprintf function. */ +configure.ac:992: the top level]) +m4trace:configure.ac:992: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SNPRINTF]) +m4trace:configure.ac:992: -1- m4_pattern_allow([^HAVE_SNPRINTF$]) +m4trace:configure.ac:992: -1- AH_OUTPUT([HAVE_SNPRINTF], [/* Define if you have a standard-conformant snprintf function. */ @%:@undef HAVE_SNPRINTF]) -m4trace:configure.ac:992: -1- AH_OUTPUT([HAVE_VSNPRINTF], [/* Define to 1 if you have the `vsnprintf\' function. */ +m4trace:configure.ac:993: -1- AH_OUTPUT([HAVE_VSNPRINTF], [/* Define to 1 if you have the `vsnprintf\' function. */ @%:@undef HAVE_VSNPRINTF]) -m4trace:configure.ac:992: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete. +m4trace:configure.ac:993: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from... aclocal.m4:4093: BASH_FUNC_VSNPRINTF is expanded from... -configure.ac:992: the top level]) -m4trace:configure.ac:992: -1- AC_DEFINE_TRACE_LITERAL([HAVE_VSNPRINTF]) -m4trace:configure.ac:992: -1- m4_pattern_allow([^HAVE_VSNPRINTF$]) -m4trace:configure.ac:992: -1- AH_OUTPUT([HAVE_VSNPRINTF], [/* Define if you have a standard-conformant vsnprintf function. */ +configure.ac:993: the top level]) +m4trace:configure.ac:993: -1- AC_DEFINE_TRACE_LITERAL([HAVE_VSNPRINTF]) +m4trace:configure.ac:993: -1- m4_pattern_allow([^HAVE_VSNPRINTF$]) +m4trace:configure.ac:993: -1- AH_OUTPUT([HAVE_VSNPRINTF], [/* Define if you have a standard-conformant vsnprintf function. */ @%:@undef HAVE_VSNPRINTF]) -m4trace:configure.ac:998: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. +m4trace:configure.ac:999: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from... aclocal.m4:624: BASH_FUNC_STD_PUTENV is expanded from... -configure.ac:998: the top level]) -m4trace:configure.ac:998: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_PUTENV]) -m4trace:configure.ac:998: -1- m4_pattern_allow([^HAVE_STD_PUTENV$]) -m4trace:configure.ac:1000: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_PUTENV]) -m4trace:configure.ac:1000: -1- m4_pattern_allow([^HAVE_STD_PUTENV$]) -m4trace:configure.ac:1003: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. +configure.ac:999: the top level]) +m4trace:configure.ac:999: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_PUTENV]) +m4trace:configure.ac:999: -1- m4_pattern_allow([^HAVE_STD_PUTENV$]) +m4trace:configure.ac:1001: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_PUTENV]) +m4trace:configure.ac:1001: -1- m4_pattern_allow([^HAVE_STD_PUTENV$]) +m4trace:configure.ac:1004: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2687: AC_TRY_LINK is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from... aclocal.m4:654: BASH_FUNC_STD_UNSETENV is expanded from... -configure.ac:1003: the top level]) -m4trace:configure.ac:1003: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_UNSETENV]) -m4trace:configure.ac:1003: -1- m4_pattern_allow([^HAVE_STD_UNSETENV$]) -m4trace:configure.ac:1005: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_UNSETENV]) -m4trace:configure.ac:1005: -1- m4_pattern_allow([^HAVE_STD_UNSETENV$]) -m4trace:configure.ac:1008: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete. +configure.ac:1004: the top level]) +m4trace:configure.ac:1004: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_UNSETENV]) +m4trace:configure.ac:1004: -1- m4_pattern_allow([^HAVE_STD_UNSETENV$]) +m4trace:configure.ac:1006: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_UNSETENV]) +m4trace:configure.ac:1006: -1- m4_pattern_allow([^HAVE_STD_UNSETENV$]) +m4trace:configure.ac:1009: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... aclocal.m4:878: BASH_FUNC_PRINTF_A_FORMAT is expanded from... -configure.ac:1008: the top level]) -m4trace:configure.ac:1008: -1- AC_DEFINE_TRACE_LITERAL([HAVE_PRINTF_A_FORMAT]) -m4trace:configure.ac:1008: -1- m4_pattern_allow([^HAVE_PRINTF_A_FORMAT$]) -m4trace:configure.ac:1011: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete. +configure.ac:1009: the top level]) +m4trace:configure.ac:1009: -1- AC_DEFINE_TRACE_LITERAL([HAVE_PRINTF_A_FORMAT]) +m4trace:configure.ac:1009: -1- m4_pattern_allow([^HAVE_PRINTF_A_FORMAT$]) +m4trace:configure.ac:1012: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... aclocal.m4:1297: BASH_SYS_REINSTALL_SIGHANDLERS is expanded from... -configure.ac:1011: the top level]) -m4trace:configure.ac:1011: -1- AC_DEFINE_TRACE_LITERAL([MUST_REINSTALL_SIGHANDLERS]) -m4trace:configure.ac:1011: -1- m4_pattern_allow([^MUST_REINSTALL_SIGHANDLERS$]) -m4trace:configure.ac:1012: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete. +configure.ac:1012: the top level]) +m4trace:configure.ac:1012: -1- AC_DEFINE_TRACE_LITERAL([MUST_REINSTALL_SIGHANDLERS]) +m4trace:configure.ac:1012: -1- m4_pattern_allow([^MUST_REINSTALL_SIGHANDLERS$]) +m4trace:configure.ac:1013: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... aclocal.m4:1356: BASH_SYS_JOB_CONTROL_MISSING is expanded from... -configure.ac:1012: the top level]) -m4trace:configure.ac:1012: -1- AC_DEFINE_TRACE_LITERAL([JOB_CONTROL_MISSING]) -m4trace:configure.ac:1012: -1- m4_pattern_allow([^JOB_CONTROL_MISSING$]) -m4trace:configure.ac:1013: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete. +configure.ac:1013: the top level]) +m4trace:configure.ac:1013: -1- AC_DEFINE_TRACE_LITERAL([JOB_CONTROL_MISSING]) +m4trace:configure.ac:1013: -1- m4_pattern_allow([^JOB_CONTROL_MISSING$]) +m4trace:configure.ac:1014: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... aclocal.m4:1415: BASH_SYS_NAMED_PIPES is expanded from... -configure.ac:1013: the top level]) -m4trace:configure.ac:1013: -1- AC_DEFINE_TRACE_LITERAL([NAMED_PIPES_MISSING]) -m4trace:configure.ac:1013: -1- m4_pattern_allow([^NAMED_PIPES_MISSING$]) -m4trace:configure.ac:1016: -1- AC_DEFINE_TRACE_LITERAL([GWINSZ_IN_SYS_IOCTL]) -m4trace:configure.ac:1016: -1- m4_pattern_allow([^GWINSZ_IN_SYS_IOCTL$]) -m4trace:configure.ac:1016: -1- AH_OUTPUT([GWINSZ_IN_SYS_IOCTL], [/* Define to 1 if `TIOCGWINSZ\' requires . */ +configure.ac:1014: the top level]) +m4trace:configure.ac:1014: -1- AC_DEFINE_TRACE_LITERAL([NAMED_PIPES_MISSING]) +m4trace:configure.ac:1014: -1- m4_pattern_allow([^NAMED_PIPES_MISSING$]) +m4trace:configure.ac:1017: -1- AC_DEFINE_TRACE_LITERAL([GWINSZ_IN_SYS_IOCTL]) +m4trace:configure.ac:1017: -1- m4_pattern_allow([^GWINSZ_IN_SYS_IOCTL$]) +m4trace:configure.ac:1017: -1- AH_OUTPUT([GWINSZ_IN_SYS_IOCTL], [/* Define to 1 if `TIOCGWINSZ\' requires . */ @%:@undef GWINSZ_IN_SYS_IOCTL]) -m4trace:configure.ac:1017: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +m4trace:configure.ac:1018: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... aclocal.m4:1496: BASH_HAVE_TIOCSTAT is expanded from... -configure.ac:1017: the top level]) -m4trace:configure.ac:1017: -1- AC_DEFINE_TRACE_LITERAL([TIOCSTAT_IN_SYS_IOCTL]) -m4trace:configure.ac:1017: -1- m4_pattern_allow([^TIOCSTAT_IN_SYS_IOCTL$]) -m4trace:configure.ac:1018: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +configure.ac:1018: the top level]) +m4trace:configure.ac:1018: -1- AC_DEFINE_TRACE_LITERAL([TIOCSTAT_IN_SYS_IOCTL]) +m4trace:configure.ac:1018: -1- m4_pattern_allow([^TIOCSTAT_IN_SYS_IOCTL$]) +m4trace:configure.ac:1019: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... aclocal.m4:1508: BASH_HAVE_FIONREAD is expanded from... -configure.ac:1018: the top level]) -m4trace:configure.ac:1018: -1- AC_DEFINE_TRACE_LITERAL([FIONREAD_IN_SYS_IOCTL]) -m4trace:configure.ac:1018: -1- m4_pattern_allow([^FIONREAD_IN_SYS_IOCTL$]) -m4trace:configure.ac:1020: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete. +configure.ac:1019: the top level]) +m4trace:configure.ac:1019: -1- AC_DEFINE_TRACE_LITERAL([FIONREAD_IN_SYS_IOCTL]) +m4trace:configure.ac:1019: -1- m4_pattern_allow([^FIONREAD_IN_SYS_IOCTL$]) +m4trace:configure.ac:1021: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... aclocal.m4:1964: BASH_CHECK_WCONTINUED is expanded from... -configure.ac:1020: the top level]) -m4trace:configure.ac:1020: -1- AC_DEFINE_TRACE_LITERAL([WCONTINUED_BROKEN]) -m4trace:configure.ac:1020: -1- m4_pattern_allow([^WCONTINUED_BROKEN$]) -m4trace:configure.ac:1023: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +configure.ac:1021: the top level]) +m4trace:configure.ac:1021: -1- AC_DEFINE_TRACE_LITERAL([WCONTINUED_BROKEN]) +m4trace:configure.ac:1021: -1- m4_pattern_allow([^WCONTINUED_BROKEN$]) +m4trace:configure.ac:1024: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... aclocal.m4:1526: BASH_CHECK_SPEED_T is expanded from... -configure.ac:1023: the top level]) -m4trace:configure.ac:1023: -1- AC_DEFINE_TRACE_LITERAL([SPEED_T_IN_SYS_TYPES]) -m4trace:configure.ac:1023: -1- m4_pattern_allow([^SPEED_T_IN_SYS_TYPES$]) -m4trace:configure.ac:1024: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETPW_DECLS]) -m4trace:configure.ac:1024: -1- m4_pattern_allow([^HAVE_GETPW_DECLS$]) -m4trace:configure.ac:1025: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete. +configure.ac:1024: the top level]) +m4trace:configure.ac:1024: -1- AC_DEFINE_TRACE_LITERAL([SPEED_T_IN_SYS_TYPES]) +m4trace:configure.ac:1024: -1- m4_pattern_allow([^SPEED_T_IN_SYS_TYPES$]) +m4trace:configure.ac:1025: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETPW_DECLS]) +m4trace:configure.ac:1025: -1- m4_pattern_allow([^HAVE_GETPW_DECLS$]) +m4trace:configure.ac:1026: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2764: AC_TRY_RUN is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... aclocal.m4:1653: BASH_CHECK_RTSIGS is expanded from... -configure.ac:1025: the top level]) -m4trace:configure.ac:1025: -1- AC_DEFINE_TRACE_LITERAL([UNUSABLE_RT_SIGNALS]) -m4trace:configure.ac:1025: -1- m4_pattern_allow([^UNUSABLE_RT_SIGNALS$]) -m4trace:configure.ac:1026: -1- AC_SUBST([SIGLIST_O]) -m4trace:configure.ac:1026: -1- AC_SUBST_TRACE([SIGLIST_O]) -m4trace:configure.ac:1026: -1- m4_pattern_allow([^SIGLIST_O$]) -m4trace:configure.ac:1030: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +configure.ac:1026: the top level]) +m4trace:configure.ac:1026: -1- AC_DEFINE_TRACE_LITERAL([UNUSABLE_RT_SIGNALS]) +m4trace:configure.ac:1026: -1- m4_pattern_allow([^UNUSABLE_RT_SIGNALS$]) +m4trace:configure.ac:1027: -1- AC_SUBST([SIGLIST_O]) +m4trace:configure.ac:1027: -1- AC_SUBST_TRACE([SIGLIST_O]) +m4trace:configure.ac:1027: -1- m4_pattern_allow([^SIGLIST_O$]) +m4trace:configure.ac:1031: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... aclocal.m4:1605: BASH_CHECK_KERNEL_RLIMIT is expanded from... -configure.ac:1030: the top level]) -m4trace:configure.ac:1030: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +configure.ac:1031: the top level]) +m4trace:configure.ac:1031: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE is expanded from... ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2590: _AC_COMPILE_IFELSE is expanded from... @@ -2655,140 +2663,140 @@ You should run autoupdate.], [../../lib/autoconf/general.m4:2614: AC_TRY_COMPILE ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from... ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from... aclocal.m4:1605: BASH_CHECK_KERNEL_RLIMIT is expanded from... -configure.ac:1030: the top level]) -m4trace:configure.ac:1030: -1- AC_DEFINE_TRACE_LITERAL([RLIMIT_NEEDS_KERNEL]) -m4trace:configure.ac:1030: -1- m4_pattern_allow([^RLIMIT_NEEDS_KERNEL$]) -m4trace:configure.ac:1040: -1- AC_SUBST([TERMCAP_LIB]) -m4trace:configure.ac:1040: -1- AC_SUBST_TRACE([TERMCAP_LIB]) -m4trace:configure.ac:1040: -1- m4_pattern_allow([^TERMCAP_LIB$]) -m4trace:configure.ac:1041: -1- AC_SUBST([TERMCAP_DEP]) -m4trace:configure.ac:1041: -1- AC_SUBST_TRACE([TERMCAP_DEP]) -m4trace:configure.ac:1041: -1- m4_pattern_allow([^TERMCAP_DEP$]) -m4trace:configure.ac:1043: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEV_FD]) -m4trace:configure.ac:1043: -1- m4_pattern_allow([^HAVE_DEV_FD$]) -m4trace:configure.ac:1043: -1- AC_DEFINE_TRACE_LITERAL([DEV_FD_PREFIX]) -m4trace:configure.ac:1043: -1- m4_pattern_allow([^DEV_FD_PREFIX$]) -m4trace:configure.ac:1043: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEV_FD]) -m4trace:configure.ac:1043: -1- m4_pattern_allow([^HAVE_DEV_FD$]) -m4trace:configure.ac:1043: -1- AC_DEFINE_TRACE_LITERAL([DEV_FD_PREFIX]) -m4trace:configure.ac:1043: -1- m4_pattern_allow([^DEV_FD_PREFIX$]) -m4trace:configure.ac:1044: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEV_STDIN]) -m4trace:configure.ac:1044: -1- m4_pattern_allow([^HAVE_DEV_STDIN$]) -m4trace:configure.ac:1045: -1- AC_DEFINE_TRACE_LITERAL([DEFAULT_MAIL_DIRECTORY]) -m4trace:configure.ac:1045: -1- m4_pattern_allow([^DEFAULT_MAIL_DIRECTORY$]) -m4trace:configure.ac:1052: -1- AC_DEFINE_TRACE_LITERAL([JOB_CONTROL]) -m4trace:configure.ac:1052: -1- m4_pattern_allow([^JOB_CONTROL$]) -m4trace:configure.ac:1058: -1- AC_SUBST([JOBS_O]) -m4trace:configure.ac:1058: -1- AC_SUBST_TRACE([JOBS_O]) -m4trace:configure.ac:1058: -1- m4_pattern_allow([^JOBS_O$]) -m4trace:configure.ac:1071: -1- AC_DEFINE_TRACE_LITERAL([SVR4_2]) -m4trace:configure.ac:1071: -1- m4_pattern_allow([^SVR4_2$]) -m4trace:configure.ac:1072: -1- AC_DEFINE_TRACE_LITERAL([SVR4]) -m4trace:configure.ac:1072: -1- m4_pattern_allow([^SVR4$]) +configure.ac:1031: the top level]) +m4trace:configure.ac:1031: -1- AC_DEFINE_TRACE_LITERAL([RLIMIT_NEEDS_KERNEL]) +m4trace:configure.ac:1031: -1- m4_pattern_allow([^RLIMIT_NEEDS_KERNEL$]) +m4trace:configure.ac:1041: -1- AC_SUBST([TERMCAP_LIB]) +m4trace:configure.ac:1041: -1- AC_SUBST_TRACE([TERMCAP_LIB]) +m4trace:configure.ac:1041: -1- m4_pattern_allow([^TERMCAP_LIB$]) +m4trace:configure.ac:1042: -1- AC_SUBST([TERMCAP_DEP]) +m4trace:configure.ac:1042: -1- AC_SUBST_TRACE([TERMCAP_DEP]) +m4trace:configure.ac:1042: -1- m4_pattern_allow([^TERMCAP_DEP$]) +m4trace:configure.ac:1044: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEV_FD]) +m4trace:configure.ac:1044: -1- m4_pattern_allow([^HAVE_DEV_FD$]) +m4trace:configure.ac:1044: -1- AC_DEFINE_TRACE_LITERAL([DEV_FD_PREFIX]) +m4trace:configure.ac:1044: -1- m4_pattern_allow([^DEV_FD_PREFIX$]) +m4trace:configure.ac:1044: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEV_FD]) +m4trace:configure.ac:1044: -1- m4_pattern_allow([^HAVE_DEV_FD$]) +m4trace:configure.ac:1044: -1- AC_DEFINE_TRACE_LITERAL([DEV_FD_PREFIX]) +m4trace:configure.ac:1044: -1- m4_pattern_allow([^DEV_FD_PREFIX$]) +m4trace:configure.ac:1045: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEV_STDIN]) +m4trace:configure.ac:1045: -1- m4_pattern_allow([^HAVE_DEV_STDIN$]) +m4trace:configure.ac:1046: -1- AC_DEFINE_TRACE_LITERAL([DEFAULT_MAIL_DIRECTORY]) +m4trace:configure.ac:1046: -1- m4_pattern_allow([^DEFAULT_MAIL_DIRECTORY$]) +m4trace:configure.ac:1053: -1- AC_DEFINE_TRACE_LITERAL([JOB_CONTROL]) +m4trace:configure.ac:1053: -1- m4_pattern_allow([^JOB_CONTROL$]) +m4trace:configure.ac:1059: -1- AC_SUBST([JOBS_O]) +m4trace:configure.ac:1059: -1- AC_SUBST_TRACE([JOBS_O]) +m4trace:configure.ac:1059: -1- m4_pattern_allow([^JOBS_O$]) +m4trace:configure.ac:1072: -1- AC_DEFINE_TRACE_LITERAL([SVR4_2]) +m4trace:configure.ac:1072: -1- m4_pattern_allow([^SVR4_2$]) m4trace:configure.ac:1073: -1- AC_DEFINE_TRACE_LITERAL([SVR4]) m4trace:configure.ac:1073: -1- m4_pattern_allow([^SVR4$]) -m4trace:configure.ac:1074: -1- AC_DEFINE_TRACE_LITERAL([SVR5]) -m4trace:configure.ac:1074: -1- m4_pattern_allow([^SVR5$]) -m4trace:configure.ac:1093: -1- AC_DEFINE_TRACE_LITERAL([PGRP_PIPE]) -m4trace:configure.ac:1093: -1- m4_pattern_allow([^PGRP_PIPE$]) -m4trace:configure.ac:1141: -1- AC_SUBST([SHOBJ_CC]) -m4trace:configure.ac:1141: -1- AC_SUBST_TRACE([SHOBJ_CC]) -m4trace:configure.ac:1141: -1- m4_pattern_allow([^SHOBJ_CC$]) -m4trace:configure.ac:1142: -1- AC_SUBST([SHOBJ_CFLAGS]) -m4trace:configure.ac:1142: -1- AC_SUBST_TRACE([SHOBJ_CFLAGS]) -m4trace:configure.ac:1142: -1- m4_pattern_allow([^SHOBJ_CFLAGS$]) -m4trace:configure.ac:1143: -1- AC_SUBST([SHOBJ_LD]) -m4trace:configure.ac:1143: -1- AC_SUBST_TRACE([SHOBJ_LD]) -m4trace:configure.ac:1143: -1- m4_pattern_allow([^SHOBJ_LD$]) -m4trace:configure.ac:1144: -1- AC_SUBST([SHOBJ_LDFLAGS]) -m4trace:configure.ac:1144: -1- AC_SUBST_TRACE([SHOBJ_LDFLAGS]) -m4trace:configure.ac:1144: -1- m4_pattern_allow([^SHOBJ_LDFLAGS$]) -m4trace:configure.ac:1145: -1- AC_SUBST([SHOBJ_XLDFLAGS]) -m4trace:configure.ac:1145: -1- AC_SUBST_TRACE([SHOBJ_XLDFLAGS]) -m4trace:configure.ac:1145: -1- m4_pattern_allow([^SHOBJ_XLDFLAGS$]) -m4trace:configure.ac:1146: -1- AC_SUBST([SHOBJ_LIBS]) -m4trace:configure.ac:1146: -1- AC_SUBST_TRACE([SHOBJ_LIBS]) -m4trace:configure.ac:1146: -1- m4_pattern_allow([^SHOBJ_LIBS$]) -m4trace:configure.ac:1147: -1- AC_SUBST([SHOBJ_STATUS]) -m4trace:configure.ac:1147: -1- AC_SUBST_TRACE([SHOBJ_STATUS]) -m4trace:configure.ac:1147: -1- m4_pattern_allow([^SHOBJ_STATUS$]) -m4trace:configure.ac:1179: -1- AC_SUBST([PROFILE_FLAGS]) -m4trace:configure.ac:1179: -1- AC_SUBST_TRACE([PROFILE_FLAGS]) -m4trace:configure.ac:1179: -1- m4_pattern_allow([^PROFILE_FLAGS$]) -m4trace:configure.ac:1181: -1- AC_SUBST([incdir]) -m4trace:configure.ac:1181: -1- AC_SUBST_TRACE([incdir]) -m4trace:configure.ac:1181: -1- m4_pattern_allow([^incdir$]) -m4trace:configure.ac:1182: -1- AC_SUBST([BUILD_DIR]) -m4trace:configure.ac:1182: -1- AC_SUBST_TRACE([BUILD_DIR]) -m4trace:configure.ac:1182: -1- m4_pattern_allow([^BUILD_DIR$]) -m4trace:configure.ac:1185: -1- AC_SUBST([datarootdir]) -m4trace:configure.ac:1185: -1- AC_SUBST_TRACE([datarootdir]) -m4trace:configure.ac:1185: -1- m4_pattern_allow([^datarootdir$]) -m4trace:configure.ac:1186: -1- AC_SUBST([localedir]) -m4trace:configure.ac:1186: -1- AC_SUBST_TRACE([localedir]) -m4trace:configure.ac:1186: -1- m4_pattern_allow([^localedir$]) -m4trace:configure.ac:1188: -1- AC_SUBST([YACC]) -m4trace:configure.ac:1188: -1- AC_SUBST_TRACE([YACC]) -m4trace:configure.ac:1188: -1- m4_pattern_allow([^YACC$]) -m4trace:configure.ac:1189: -1- AC_SUBST([AR]) -m4trace:configure.ac:1189: -1- AC_SUBST_TRACE([AR]) -m4trace:configure.ac:1189: -1- m4_pattern_allow([^AR$]) -m4trace:configure.ac:1190: -1- AC_SUBST([ARFLAGS]) -m4trace:configure.ac:1190: -1- AC_SUBST_TRACE([ARFLAGS]) -m4trace:configure.ac:1190: -1- m4_pattern_allow([^ARFLAGS$]) -m4trace:configure.ac:1192: -1- AC_SUBST([BASHVERS]) -m4trace:configure.ac:1192: -1- AC_SUBST_TRACE([BASHVERS]) -m4trace:configure.ac:1192: -1- m4_pattern_allow([^BASHVERS$]) -m4trace:configure.ac:1193: -1- AC_SUBST([RELSTATUS]) -m4trace:configure.ac:1193: -1- AC_SUBST_TRACE([RELSTATUS]) -m4trace:configure.ac:1193: -1- m4_pattern_allow([^RELSTATUS$]) -m4trace:configure.ac:1194: -1- AC_SUBST([DEBUG]) -m4trace:configure.ac:1194: -1- AC_SUBST_TRACE([DEBUG]) -m4trace:configure.ac:1194: -1- m4_pattern_allow([^DEBUG$]) -m4trace:configure.ac:1195: -1- AC_SUBST([MALLOC_DEBUG]) -m4trace:configure.ac:1195: -1- AC_SUBST_TRACE([MALLOC_DEBUG]) -m4trace:configure.ac:1195: -1- m4_pattern_allow([^MALLOC_DEBUG$]) -m4trace:configure.ac:1197: -1- AC_SUBST([host_cpu]) -m4trace:configure.ac:1197: -1- AC_SUBST_TRACE([host_cpu]) -m4trace:configure.ac:1197: -1- m4_pattern_allow([^host_cpu$]) -m4trace:configure.ac:1198: -1- AC_SUBST([host_vendor]) -m4trace:configure.ac:1198: -1- AC_SUBST_TRACE([host_vendor]) -m4trace:configure.ac:1198: -1- m4_pattern_allow([^host_vendor$]) -m4trace:configure.ac:1199: -1- AC_SUBST([host_os]) -m4trace:configure.ac:1199: -1- AC_SUBST_TRACE([host_os]) -m4trace:configure.ac:1199: -1- m4_pattern_allow([^host_os$]) -m4trace:configure.ac:1201: -1- AC_SUBST([LOCAL_LIBS]) -m4trace:configure.ac:1201: -1- AC_SUBST_TRACE([LOCAL_LIBS]) -m4trace:configure.ac:1201: -1- m4_pattern_allow([^LOCAL_LIBS$]) -m4trace:configure.ac:1202: -1- AC_SUBST([LOCAL_CFLAGS]) -m4trace:configure.ac:1202: -1- AC_SUBST_TRACE([LOCAL_CFLAGS]) -m4trace:configure.ac:1202: -1- m4_pattern_allow([^LOCAL_CFLAGS$]) -m4trace:configure.ac:1203: -1- AC_SUBST([LOCAL_LDFLAGS]) -m4trace:configure.ac:1203: -1- AC_SUBST_TRACE([LOCAL_LDFLAGS]) -m4trace:configure.ac:1203: -1- m4_pattern_allow([^LOCAL_LDFLAGS$]) -m4trace:configure.ac:1204: -1- AC_SUBST([LOCAL_DEFS]) -m4trace:configure.ac:1204: -1- AC_SUBST_TRACE([LOCAL_DEFS]) -m4trace:configure.ac:1204: -1- m4_pattern_allow([^LOCAL_DEFS$]) -m4trace:configure.ac:1209: -1- AC_CONFIG_FILES([Makefile builtins/Makefile lib/readline/Makefile lib/glob/Makefile \ +m4trace:configure.ac:1074: -1- AC_DEFINE_TRACE_LITERAL([SVR4]) +m4trace:configure.ac:1074: -1- m4_pattern_allow([^SVR4$]) +m4trace:configure.ac:1075: -1- AC_DEFINE_TRACE_LITERAL([SVR5]) +m4trace:configure.ac:1075: -1- m4_pattern_allow([^SVR5$]) +m4trace:configure.ac:1094: -1- AC_DEFINE_TRACE_LITERAL([PGRP_PIPE]) +m4trace:configure.ac:1094: -1- m4_pattern_allow([^PGRP_PIPE$]) +m4trace:configure.ac:1142: -1- AC_SUBST([SHOBJ_CC]) +m4trace:configure.ac:1142: -1- AC_SUBST_TRACE([SHOBJ_CC]) +m4trace:configure.ac:1142: -1- m4_pattern_allow([^SHOBJ_CC$]) +m4trace:configure.ac:1143: -1- AC_SUBST([SHOBJ_CFLAGS]) +m4trace:configure.ac:1143: -1- AC_SUBST_TRACE([SHOBJ_CFLAGS]) +m4trace:configure.ac:1143: -1- m4_pattern_allow([^SHOBJ_CFLAGS$]) +m4trace:configure.ac:1144: -1- AC_SUBST([SHOBJ_LD]) +m4trace:configure.ac:1144: -1- AC_SUBST_TRACE([SHOBJ_LD]) +m4trace:configure.ac:1144: -1- m4_pattern_allow([^SHOBJ_LD$]) +m4trace:configure.ac:1145: -1- AC_SUBST([SHOBJ_LDFLAGS]) +m4trace:configure.ac:1145: -1- AC_SUBST_TRACE([SHOBJ_LDFLAGS]) +m4trace:configure.ac:1145: -1- m4_pattern_allow([^SHOBJ_LDFLAGS$]) +m4trace:configure.ac:1146: -1- AC_SUBST([SHOBJ_XLDFLAGS]) +m4trace:configure.ac:1146: -1- AC_SUBST_TRACE([SHOBJ_XLDFLAGS]) +m4trace:configure.ac:1146: -1- m4_pattern_allow([^SHOBJ_XLDFLAGS$]) +m4trace:configure.ac:1147: -1- AC_SUBST([SHOBJ_LIBS]) +m4trace:configure.ac:1147: -1- AC_SUBST_TRACE([SHOBJ_LIBS]) +m4trace:configure.ac:1147: -1- m4_pattern_allow([^SHOBJ_LIBS$]) +m4trace:configure.ac:1148: -1- AC_SUBST([SHOBJ_STATUS]) +m4trace:configure.ac:1148: -1- AC_SUBST_TRACE([SHOBJ_STATUS]) +m4trace:configure.ac:1148: -1- m4_pattern_allow([^SHOBJ_STATUS$]) +m4trace:configure.ac:1180: -1- AC_SUBST([PROFILE_FLAGS]) +m4trace:configure.ac:1180: -1- AC_SUBST_TRACE([PROFILE_FLAGS]) +m4trace:configure.ac:1180: -1- m4_pattern_allow([^PROFILE_FLAGS$]) +m4trace:configure.ac:1182: -1- AC_SUBST([incdir]) +m4trace:configure.ac:1182: -1- AC_SUBST_TRACE([incdir]) +m4trace:configure.ac:1182: -1- m4_pattern_allow([^incdir$]) +m4trace:configure.ac:1183: -1- AC_SUBST([BUILD_DIR]) +m4trace:configure.ac:1183: -1- AC_SUBST_TRACE([BUILD_DIR]) +m4trace:configure.ac:1183: -1- m4_pattern_allow([^BUILD_DIR$]) +m4trace:configure.ac:1186: -1- AC_SUBST([datarootdir]) +m4trace:configure.ac:1186: -1- AC_SUBST_TRACE([datarootdir]) +m4trace:configure.ac:1186: -1- m4_pattern_allow([^datarootdir$]) +m4trace:configure.ac:1187: -1- AC_SUBST([localedir]) +m4trace:configure.ac:1187: -1- AC_SUBST_TRACE([localedir]) +m4trace:configure.ac:1187: -1- m4_pattern_allow([^localedir$]) +m4trace:configure.ac:1189: -1- AC_SUBST([YACC]) +m4trace:configure.ac:1189: -1- AC_SUBST_TRACE([YACC]) +m4trace:configure.ac:1189: -1- m4_pattern_allow([^YACC$]) +m4trace:configure.ac:1190: -1- AC_SUBST([AR]) +m4trace:configure.ac:1190: -1- AC_SUBST_TRACE([AR]) +m4trace:configure.ac:1190: -1- m4_pattern_allow([^AR$]) +m4trace:configure.ac:1191: -1- AC_SUBST([ARFLAGS]) +m4trace:configure.ac:1191: -1- AC_SUBST_TRACE([ARFLAGS]) +m4trace:configure.ac:1191: -1- m4_pattern_allow([^ARFLAGS$]) +m4trace:configure.ac:1193: -1- AC_SUBST([BASHVERS]) +m4trace:configure.ac:1193: -1- AC_SUBST_TRACE([BASHVERS]) +m4trace:configure.ac:1193: -1- m4_pattern_allow([^BASHVERS$]) +m4trace:configure.ac:1194: -1- AC_SUBST([RELSTATUS]) +m4trace:configure.ac:1194: -1- AC_SUBST_TRACE([RELSTATUS]) +m4trace:configure.ac:1194: -1- m4_pattern_allow([^RELSTATUS$]) +m4trace:configure.ac:1195: -1- AC_SUBST([DEBUG]) +m4trace:configure.ac:1195: -1- AC_SUBST_TRACE([DEBUG]) +m4trace:configure.ac:1195: -1- m4_pattern_allow([^DEBUG$]) +m4trace:configure.ac:1196: -1- AC_SUBST([MALLOC_DEBUG]) +m4trace:configure.ac:1196: -1- AC_SUBST_TRACE([MALLOC_DEBUG]) +m4trace:configure.ac:1196: -1- m4_pattern_allow([^MALLOC_DEBUG$]) +m4trace:configure.ac:1198: -1- AC_SUBST([host_cpu]) +m4trace:configure.ac:1198: -1- AC_SUBST_TRACE([host_cpu]) +m4trace:configure.ac:1198: -1- m4_pattern_allow([^host_cpu$]) +m4trace:configure.ac:1199: -1- AC_SUBST([host_vendor]) +m4trace:configure.ac:1199: -1- AC_SUBST_TRACE([host_vendor]) +m4trace:configure.ac:1199: -1- m4_pattern_allow([^host_vendor$]) +m4trace:configure.ac:1200: -1- AC_SUBST([host_os]) +m4trace:configure.ac:1200: -1- AC_SUBST_TRACE([host_os]) +m4trace:configure.ac:1200: -1- m4_pattern_allow([^host_os$]) +m4trace:configure.ac:1202: -1- AC_SUBST([LOCAL_LIBS]) +m4trace:configure.ac:1202: -1- AC_SUBST_TRACE([LOCAL_LIBS]) +m4trace:configure.ac:1202: -1- m4_pattern_allow([^LOCAL_LIBS$]) +m4trace:configure.ac:1203: -1- AC_SUBST([LOCAL_CFLAGS]) +m4trace:configure.ac:1203: -1- AC_SUBST_TRACE([LOCAL_CFLAGS]) +m4trace:configure.ac:1203: -1- m4_pattern_allow([^LOCAL_CFLAGS$]) +m4trace:configure.ac:1204: -1- AC_SUBST([LOCAL_LDFLAGS]) +m4trace:configure.ac:1204: -1- AC_SUBST_TRACE([LOCAL_LDFLAGS]) +m4trace:configure.ac:1204: -1- m4_pattern_allow([^LOCAL_LDFLAGS$]) +m4trace:configure.ac:1205: -1- AC_SUBST([LOCAL_DEFS]) +m4trace:configure.ac:1205: -1- AC_SUBST_TRACE([LOCAL_DEFS]) +m4trace:configure.ac:1205: -1- m4_pattern_allow([^LOCAL_DEFS$]) +m4trace:configure.ac:1210: -1- AC_CONFIG_FILES([Makefile builtins/Makefile lib/readline/Makefile lib/glob/Makefile \ lib/intl/Makefile \ lib/malloc/Makefile lib/sh/Makefile lib/termcap/Makefile \ lib/tilde/Makefile doc/Makefile support/Makefile po/Makefile.in \ examples/loadables/Makefile examples/loadables/perl/Makefile]) -m4trace:configure.ac:1209: -1- _m4_warn([obsolete], [AC_OUTPUT should be used without arguments. +m4trace:configure.ac:1210: -1- _m4_warn([obsolete], [AC_OUTPUT should be used without arguments. You should run autoupdate.], []) -m4trace:configure.ac:1209: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs]) -m4trace:configure.ac:1209: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) -m4trace:configure.ac:1209: -1- m4_pattern_allow([^LIB@&t@OBJS$]) -m4trace:configure.ac:1209: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs]) -m4trace:configure.ac:1209: -1- AC_SUBST_TRACE([LTLIBOBJS]) -m4trace:configure.ac:1209: -1- m4_pattern_allow([^LTLIBOBJS$]) -m4trace:configure.ac:1209: -1- AC_SUBST_TRACE([top_builddir]) -m4trace:configure.ac:1209: -1- AC_SUBST_TRACE([top_build_prefix]) -m4trace:configure.ac:1209: -1- AC_SUBST_TRACE([srcdir]) -m4trace:configure.ac:1209: -1- AC_SUBST_TRACE([abs_srcdir]) -m4trace:configure.ac:1209: -1- AC_SUBST_TRACE([top_srcdir]) -m4trace:configure.ac:1209: -1- AC_SUBST_TRACE([abs_top_srcdir]) -m4trace:configure.ac:1209: -1- AC_SUBST_TRACE([builddir]) -m4trace:configure.ac:1209: -1- AC_SUBST_TRACE([abs_builddir]) -m4trace:configure.ac:1209: -1- AC_SUBST_TRACE([abs_top_builddir]) -m4trace:configure.ac:1209: -1- AC_SUBST_TRACE([INSTALL]) +m4trace:configure.ac:1210: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs]) +m4trace:configure.ac:1210: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) +m4trace:configure.ac:1210: -1- m4_pattern_allow([^LIB@&t@OBJS$]) +m4trace:configure.ac:1210: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs]) +m4trace:configure.ac:1210: -1- AC_SUBST_TRACE([LTLIBOBJS]) +m4trace:configure.ac:1210: -1- m4_pattern_allow([^LTLIBOBJS$]) +m4trace:configure.ac:1210: -1- AC_SUBST_TRACE([top_builddir]) +m4trace:configure.ac:1210: -1- AC_SUBST_TRACE([top_build_prefix]) +m4trace:configure.ac:1210: -1- AC_SUBST_TRACE([srcdir]) +m4trace:configure.ac:1210: -1- AC_SUBST_TRACE([abs_srcdir]) +m4trace:configure.ac:1210: -1- AC_SUBST_TRACE([top_srcdir]) +m4trace:configure.ac:1210: -1- AC_SUBST_TRACE([abs_top_srcdir]) +m4trace:configure.ac:1210: -1- AC_SUBST_TRACE([builddir]) +m4trace:configure.ac:1210: -1- AC_SUBST_TRACE([abs_builddir]) +m4trace:configure.ac:1210: -1- AC_SUBST_TRACE([abs_top_builddir]) +m4trace:configure.ac:1210: -1- AC_SUBST_TRACE([INSTALL]) diff --git a/bashhist.c b/bashhist.c index 20b1afa3d..2f635d9ee 100644 --- a/bashhist.c +++ b/bashhist.c @@ -290,8 +290,13 @@ load_history () if (hf && *hf && file_exists (hf)) { read_history (hf); + /* We have read all of the lines from the history file, even if we + read more lines than $HISTSIZE. Remember the total number of lines + we read so we don't count the last N lines as new over and over + again. */ + history_lines_in_file = history_lines_read_from_file; using_history (); - history_lines_in_file = where_history (); + /* history_lines_in_file = where_history () + history_base - 1; */ } } @@ -377,7 +382,7 @@ maybe_append_history (filename) struct stat buf; result = EXECUTION_SUCCESS; - if (history_lines_this_session && (history_lines_this_session <= where_history ())) + if (history_lines_this_session > 0 && (history_lines_this_session <= where_history ())) { /* If the filename was supplied, then create it if necessary. */ if (stat (filename, &buf) == -1 && errno == ENOENT) @@ -391,6 +396,8 @@ maybe_append_history (filename) close (fd); } result = append_history (history_lines_this_session, filename); + /* Pretend we already read these lines from the file because we just + added them */ history_lines_in_file += history_lines_this_session; history_lines_this_session = 0; } @@ -406,7 +413,7 @@ maybe_save_shell_history () char *hf; result = 0; - if (history_lines_this_session) + if (history_lines_this_session > 0) { hf = get_string_value ("HISTFILE"); @@ -433,7 +440,8 @@ maybe_save_shell_history () else { result = write_history (hf); - history_lines_in_file = history_lines_this_session; + history_lines_in_file = history_lines_written_to_file; + /* history_lines_in_file = where_history () + history_base - 1; */ } history_lines_this_session = 0; diff --git a/builtins/history.def b/builtins/history.def index 4cf7308f1..1ac8d3ef9 100644 --- a/builtins/history.def +++ b/builtins/history.def @@ -208,7 +208,11 @@ history_builtin (list) else if (flags & WFLAG) /* Write entire history. */ result = write_history (filename); else if (flags & RFLAG) /* Read entire file. */ - result = read_history (filename); + { + result = read_history (filename); + history_lines_in_file = history_lines_read_from_file; + /* history_lines_in_file = where_history () + history_base - 1; */ + } else if (flags & NFLAG) /* Read `new' history from file. */ { /* Read all of the lines in the file that we haven't already read. */ @@ -219,7 +223,8 @@ history_builtin (list) result = read_history_range (filename, history_lines_in_file, -1); using_history (); - history_lines_in_file = where_history (); + history_lines_in_file = history_lines_read_from_file; + /* history_lines_in_file = where_history () + history_base - 1; */ /* If we're rewriting the history file at shell exit rather than just appending the lines from this session to it, the question is whether diff --git a/builtins/wait.def b/builtins/wait.def index 4f1971441..f842c7ed9 100644 --- a/builtins/wait.def +++ b/builtins/wait.def @@ -134,6 +134,7 @@ wait_builtin (list) code = setjmp (wait_intr_buf); if (code) { +itrace("wait_builtin: longjmp to wait_intr_buf"); last_command_exit_signal = wait_signal_received; status = 128 + wait_signal_received; WAIT_RETURN (status); diff --git a/config.h.in b/config.h.in index d787a40ef..ed92415f5 100644 --- a/config.h.in +++ b/config.h.in @@ -558,6 +558,9 @@ /* Define if you have the bzero function. */ #undef HAVE_BZERO +/* Define if you have the chown function. */ +#undef HAVE_CHOWN + /* Define if you have the confstr function. */ #undef HAVE_CONFSTR diff --git a/configure b/configure index d08095590..a92ee3e31 100755 --- a/configure +++ b/configure @@ -1,5 +1,5 @@ #! /bin/sh -# From configure.ac for Bash 4.3, version 4.064. +# From configure.ac for Bash 4.3, version 4.065. # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.69 for bash 4.3-maint. # @@ -9518,6 +9518,101 @@ cat >>confdefs.h <<_ACEOF _ACEOF +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5 +$as_echo_n "checking for uid_t in sys/types.h... " >&6; } +if ${ac_cv_type_uid_t+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "uid_t" >/dev/null 2>&1; then : + ac_cv_type_uid_t=yes +else + ac_cv_type_uid_t=no +fi +rm -f conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_uid_t" >&5 +$as_echo "$ac_cv_type_uid_t" >&6; } +if test $ac_cv_type_uid_t = no; then + +$as_echo "#define uid_t int" >>confdefs.h + + +$as_echo "#define gid_t int" >>confdefs.h + +fi + +for ac_header in unistd.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "unistd.h" "ac_cv_header_unistd_h" "$ac_includes_default" +if test "x$ac_cv_header_unistd_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_UNISTD_H 1 +_ACEOF + +fi + +done + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working chown" >&5 +$as_echo_n "checking for working chown... " >&6; } +if ${ac_cv_func_chown_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + ac_cv_func_chown_works=no +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +#include + +int +main () +{ + char *f = "conftest.chown"; + struct stat before, after; + + if (creat (f, 0600) < 0) + return 1; + if (stat (f, &before) < 0) + return 1; + if (chown (f, (uid_t) -1, (gid_t) -1) == -1) + return 1; + if (stat (f, &after) < 0) + return 1; + return ! (before.st_uid == after.st_uid && before.st_gid == after.st_gid); + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_func_chown_works=yes +else + ac_cv_func_chown_works=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +rm -f conftest.chown + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_chown_works" >&5 +$as_echo "$ac_cv_func_chown_works" >&6; } +if test $ac_cv_func_chown_works = yes; then + +$as_echo "#define HAVE_CHOWN 1" >>confdefs.h + fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether getpgrp requires zero arguments" >&5 @@ -11681,36 +11776,6 @@ fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5 -$as_echo_n "checking for uid_t in sys/types.h... " >&6; } -if ${ac_cv_type_uid_t+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "uid_t" >/dev/null 2>&1; then : - ac_cv_type_uid_t=yes -else - ac_cv_type_uid_t=no -fi -rm -f conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_uid_t" >&5 -$as_echo "$ac_cv_type_uid_t" >&6; } -if test $ac_cv_type_uid_t = no; then - -$as_echo "#define uid_t int" >>confdefs.h - - -$as_echo "#define gid_t int" >>confdefs.h - -fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking type of array argument to getgroups" >&5 $as_echo_n "checking type of array argument to getgroups... " >&6; } if ${ac_cv_type_getgroups+:} false; then : diff --git a/configure.ac b/configure.ac index 07cd6f8c1..b0304edec 100644 --- a/configure.ac +++ b/configure.ac @@ -21,7 +21,7 @@ dnl Process this file with autoconf to produce a configure script. # You should have received a copy of the GNU General Public License # along with this program. If not, see . -AC_REVISION([for Bash 4.3, version 4.064])dnl +AC_REVISION([for Bash 4.3, version 4.065])dnl define(bashvers, 4.3) define(relstatus, maint) @@ -726,6 +726,7 @@ AC_CHECK_HEADER(sys/ptem.h, , ,[[ dnl special checks for libc functions AC_FUNC_ALLOCA +AC_FUNC_CHOWN AC_FUNC_GETPGRP AC_FUNC_SETVBUF_REVERSED AC_FUNC_VPRINTF diff --git a/cross-build/cygwin32.cache.old b/cross-build/cygwin32.cache.old new file mode 100644 index 000000000..640390fbf --- /dev/null +++ b/cross-build/cygwin32.cache.old @@ -0,0 +1,42 @@ +# This file is a shell script that caches the results of configure +# tests for CYGWIN32 so they don't need to be done when cross-compiling. + +# AC_FUNC_GETPGRP should also define GETPGRP_VOID +ac_cv_func_getpgrp_void=${ac_cv_func_getpgrp_void='yes'} +# AC_FUNC_SETVBUF_REVERSED should not define anything else +ac_cv_func_setvbuf_reversed=${ac_cv_func_setvbuf_reversed='no'} +# on CYGWIN32, system calls do not restart +ac_cv_sys_restartable_syscalls=${ac_cv_sys_restartable_syscalls='no'} +bash_cv_sys_restartable_syscalls=${bash_cv_sys_restartable_syscalls='no'} + +# these may be necessary, but they are currently commented out +#ac_cv_c_bigendian=${ac_cv_c_bigendian='no'} +ac_cv_sizeof_char_p=${ac_cv_sizeof_char_p='4'} +ac_cv_sizeof_int=${ac_cv_sizeof_int='4'} +ac_cv_sizeof_long=${ac_cv_sizeof_long='4'} +ac_cv_sizeof_double=${ac_cv_sizeof_double='8'} + +bash_cv_dup2_broken=${bash_cv_dup2_broken='no'} +bash_cv_pgrp_pipe=${bash_cv_pgrp_pipe='no'} +bash_cv_type_rlimit=${bash_cv_type_rlimit='long'} +bash_cv_decl_under_sys_siglist=${bash_cv_decl_under_sys_siglist='no'} +bash_cv_under_sys_siglist=${bash_cv_under_sys_siglist='no'} +bash_cv_sys_siglist=${bash_cv_sys_siglist='no'} +bash_cv_opendir_not_robust=${bash_cv_opendir_not_robust='no'} +bash_cv_getenv_redef=${bash_cv_getenv_redef='yes'} +bash_cv_printf_declared=${bash_cv_printf_declared='yes'} +bash_cv_ulimit_maxfds=${bash_cv_ulimit_maxfds='no'} +bash_cv_getcwd_calls_popen=${bash_cv_getcwd_calls_popen='no'} +bash_cv_must_reinstall_sighandlers=${bash_cv_must_reinstall_sighandlers='no'} +bash_cv_job_control_missing=${bash_cv_job_control_missing='present'} +bash_cv_sys_named_pipes=${bash_cv_sys_named_pipes='missing'} +bash_cv_func_sigsetjmp=${bash_cv_func_sigsetjmp='missing'} +bash_cv_mail_dir=${bash_cv_mail_dir='unknown'} +bash_cv_func_strcoll_broken=${bash_cv_func_strcoll_broken='no'} + +bash_cv_type_int32_t=${bash_cv_type_int32_t='int'} +bash_cv_type_u_int32_t=${bash_cv_type_u_int32_t='int'} + +ac_cv_type_bits64_t=${ac_cv_type_bits64_t='no'} + +# end of cross-build/cygwin32.cache diff --git a/doc/FAQ.orig b/doc/FAQ.orig new file mode 100644 index 000000000..1cff3c8ef --- /dev/null +++ b/doc/FAQ.orig @@ -0,0 +1,1745 @@ +This is the Bash FAQ, version 3.24, for Bash version 2.05b. + +This document contains a set of frequently-asked questions concerning +Bash, the GNU Bourne-Again Shell. Bash is a freely-available command +interpreter with advanced features for both interactive use and shell +programming. + +Another good source of basic information about shells is the collection +of FAQ articles periodically posted to comp.unix.shell. + +Questions and comments concerning this document should be sent to +chet@po.cwru.edu. + +This document is available for anonymous FTP with the URL + +ftp://ftp.cwru.edu/pub/bash/FAQ + +The Bash home page is http://cnswww.cns.cwru.edu/~chet/bash/bashtop.html + +---------- +Contents: + +Section A: The Basics + +A1) What is it? +A2) What's the latest version? +A3) Where can I get it? +A4) On what machines will bash run? +A5) Will bash run on operating systems other than Unix? +A6) How can I build bash with gcc? +A7) How can I make bash my login shell? +A8) I just changed my login shell to bash, and now I can't FTP into my + machine. Why not? +A9) What's the `POSIX 1003.2 standard'? +A10) What is the bash `posix mode'? + +Section B: The latest version + +B1) What's new in version 2.05b? +B2) Are there any user-visible incompatibilities between bash-2.05b and + bash-1.14.7? + +Section C: Differences from other Unix shells + +C1) How does bash differ from sh, the Bourne shell? +C2) How does bash differ from the Korn shell, version ksh88? +C3) Which new features in ksh-93 are not in bash, and which are? + +Section D: Why does bash do some things differently than other Unix shells? + +D1) Why does bash run a different version of `command' than + `which command' says it will? +D2) Why doesn't bash treat brace expansions exactly like csh? +D3) Why doesn't bash have csh variable modifiers? +D4) How can I make my csh aliases work when I convert to bash? +D5) How can I pipe standard output and standard error from one command to + another, like csh does with `|&'? +D6) Now that I've converted from ksh to bash, are there equivalents to + ksh features like autoloaded functions and the `whence' command? + +Section E: Why does bash do certain things the way it does? + +E1) Why is the bash builtin `test' slightly different from /bin/test? +E2) Why does bash sometimes say `Broken pipe'? +E3) When I have terminal escape sequences in my prompt, why does bash + wrap lines at the wrong column? +E4) If I pipe the output of a command into `read variable', why doesn't + the output show up in $variable when the read command finishes? +E5) I have a bunch of shell scripts that use backslash-escaped characters + in arguments to `echo'. Bash doesn't interpret these characters. Why + not, and how can I make it understand them? +E6) Why doesn't a while or for loop get suspended when I type ^Z? +E7) What about empty for loops in Makefiles? +E8) Why does the arithmetic evaluation code complain about `08'? +E9) Why does the pattern matching expression [A-Z]* match files beginning + with every letter except `z'? +E10) Why does `cd //' leave $PWD as `//'? +E11) If I resize my xterm while another program is running, why doesn't bash + notice the change? + +Section F: Things to watch out for on certain Unix versions + +F1) Why can't I use command line editing in my `cmdtool'? +F2) I built bash on Solaris 2. Why do globbing expansions and filename + completion chop off the first few characters of each filename? +F3) Why does bash dump core after I interrupt username completion or + `~user' tilde expansion on a machine running NIS? +F4) I'm running SVR4.2. Why is the line erased every time I type `@'? +F5) Why does bash report syntax errors when my C News scripts use a + redirection before a subshell command? +F6) Why can't I use vi-mode editing on Red Hat Linux 6.1? +F7) Why do bash-2.05a and bash-2.05b fail to compile `printf.def' on + HP/UX 11.x? + +Section G: How can I get bash to do certain common things? + +G1) How can I get bash to read and display eight-bit characters? +G2) How do I write a function `x' to replace builtin command `x', but + still invoke the command from within the function? +G3) How can I find the value of a shell variable whose name is the value + of another shell variable? +G4) How can I make the bash `time' reserved word print timing output that + looks like the output from my system's /usr/bin/time? +G5) How do I get the current directory into my prompt? +G6) How can I rename "*.foo" to "*.bar"? +G7) How can I translate a filename from uppercase to lowercase? +G8) How can I write a filename expansion (globbing) pattern that will match + all files in the current directory except "." and ".."? + +Section H: Where do I go from here? + +H1) How do I report bugs in bash, and where should I look for fixes and + advice? +H2) What kind of bash documentation is there? +H3) What's coming in future versions? +H4) What's on the bash `wish list'? +H5) When will the next release appear? + +---------- +Section A: The Basics + +A1) What is it? + +Bash is a Unix command interpreter (shell). It is an implementation of +the Posix 1003.2 shell standard, and resembles the Korn and System V +shells. + +Bash contains a number of enhancements over those shells, both +for interactive use and shell programming. Features geared +toward interactive use include command line editing, command +history, job control, aliases, and prompt expansion. Programming +features include additional variable expansions, shell +arithmetic, and a number of variables and options to control +shell behavior. + +Bash was originally written by Brian Fox of the Free Software +Foundation. The current developer and maintainer is Chet Ramey +of Case Western Reserve University. + +A2) What's the latest version? + +The latest version is 2.05b, first made available on Wednesday, 17 +July, 2002. + +A3) Where can I get it? + +Bash is the GNU project's shell, and so is available from the +master GNU archive site, ftp.gnu.org, and its mirrors. The +latest version is also available for FTP from ftp.cwru.edu. +The following URLs tell how to get version 2.05b: + +ftp://ftp.gnu.org/pub/gnu/bash/bash-2.05b.tar.gz +ftp://ftp.cwru.edu/pub/bash/bash-2.05b.tar.gz + +Formatted versions of the documentation are available with the URLs: + +ftp://ftp.gnu.org/pub/gnu/bash/bash-doc-2.05b.tar.gz +ftp://ftp.cwru.edu/pub/bash/bash-doc-2.05b.tar.gz + +A4) On what machines will bash run? + +Bash has been ported to nearly every version of UNIX. All you +should have to do to build it on a machine for which a port +exists is to type `configure' and then `make'. The build process +will attempt to discover the version of UNIX you have and tailor +itself accordingly, using a script created by GNU autoconf. + +More information appears in the file `INSTALL' in the distribution. + +The Bash web page (http://cnswww.cns.cwru.edu/~chet/bash/bashtop.html) +explains how to obtain binary versions of bash for most of the major +commercial Unix systems. + +A5) Will bash run on operating systems other than Unix? + +Configuration specifics for Unix-like systems such as QNX and +LynxOS are included in the distribution. Bash-2.05 and later +versions should compile and run on Minix 2.0 (patches were +contributed), but I don't believe anyone has built bash-2.x on +earlier Minix versions yet. + +Bash has been ported to versions of Windows implementing the Win32 +programming interface. This includes Windows 95 and Windows NT. +The port was done by Cygnus Solutions as part of their CYGWIN +project. For more information about the project, look at the URLs + +http://www.cygwin.com/ +http://sourceware.cygnus.com/cygwin + +Cygnus originally ported bash-1.14.7, and that port was part of their +early GNU-Win32 (the original name) releases. Cygnus has also done a +port of bash-2.05 to the CYGWIN environment, and it is available as +part of their current release. + +Bash-2.05b should require no local Cygnus changes to build and run under +CYGWIN. + +The Cygnus port works only on Intel machines. There is a port of bash +(I don't know which version) to the alpha/NT environment available from + +ftp://ftp.gnustep.org//pub/win32/bash-alpha-nt-1.01.tar.gz + +DJ Delorie has a port of bash-2.x which runs under MS-DOS, as part +of the DJGPP project. For more information on the project, see + +http://www.delorie.com/djgpp/ + +I have been told that the original DJGPP port was done by Daisuke Aoyama. + +Mark Elbrecht has sent me notice that bash-2.04 +is available for DJGPP V2. The files are available as: + +ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/bsh204b.zip binary +ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/bsh204d.zip documentation +ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/bsh204s.zip source + +Mark has begun to work with bash-2.05, but I don't know the status. + +Ports of bash-1.12 and bash-2.0 are available for OS/2 from + +ftp://hobbes.nmsu.edu/pub/os2/util/shell/bash_112.zip +ftp://hobbes.nmsu.edu/pub/os2/util/shell/bash-2.0(253).zip + +I haven't looked at either, but the second appears to be a binary-only +distribution. Beware. + +I have received word that Bash (I'm not sure which version, but I +believe that it's at least bash-2.02.1) is the standard shell on +BeOS. + +A6) How can I build bash with gcc? + +Bash configures to use gcc by default if it is available. Read the +file INSTALL in the distribution for more information. + +A7) How can I make bash my login shell? + +Some machines let you use `chsh' to change your login shell. Other +systems use `passwd -s' or `passwd -e'. If one of these works for +you, that's all you need. Note that many systems require the full +pathname to a shell to appear in /etc/shells before you can make it +your login shell. For this, you may need the assistance of your +friendly local system administrator. + +If you cannot do this, you can still use bash as your login shell, but +you need to perform some tricks. The basic idea is to add a command +to your login shell's startup file to replace your login shell with +bash. + +For example, if your login shell is csh or tcsh, and you have installed +bash in /usr/gnu/bin/bash, add the following line to ~/.login: + + if ( -f /usr/gnu/bin/bash ) exec /usr/gnu/bin/bash --login + +(the `--login' tells bash that it is a login shell). + +It's not a good idea to put this command into ~/.cshrc, because every +csh you run without the `-f' option, even ones started to run csh scripts, +reads that file. If you must put the command in ~/.cshrc, use something +like + + if ( $?prompt ) exec /usr/gnu/bin/bash --login + +to ensure that bash is exec'd only when the csh is interactive. + +If your login shell is sh or ksh, you have to do two things. + +First, create an empty file in your home directory named `.bash_profile'. +The existence of this file will prevent the exec'd bash from trying to +read ~/.profile, and re-execing itself over and over again. ~/.bash_profile +is the first file bash tries to read initialization commands from when +it is invoked as a login shell. + +Next, add a line similar to the above to ~/.profile: + + [ -f /usr/gnu/bin/bash ] && [ -x /usr/gnu/bin/bash ] && \ + exec /usr/gnu/bin/bash --login + +This will cause login shells to replace themselves with bash running as +a login shell. Once you have this working, you can copy your initialization +code from ~/.profile to ~/.bash_profile. + +I have received word that the recipe supplied above is insufficient for +machines running CDE. CDE has a maze of twisty little startup files, all +slightly different. + +If you cannot change your login shell in the password file to bash, you +will have to (apparently) live with CDE using the shell in the password +file to run its startup scripts. If you have changed your shell to bash, +there is code in the CDE startup files (on Solaris, at least) that attempts +to do the right thing. It is, however, often broken, and may require that +you use the $BASH_ENV trick described below. + +`dtterm' claims to use $SHELL as the default program to start, so if you +can change $SHELL in the CDE startup files, you should be able to use bash +in your terminal windows. + +Setting DTSOURCEPROFILE in ~/.dtprofile will cause the `Xsession' program +to read your login shell's startup files. You may be able to use bash for +the rest of the CDE programs by setting SHELL to bash in ~/.dtprofile as +well, but I have not tried this. + +You can use the above `exec' recipe to start bash when not logging in with +CDE by testing the value of the DT variable: + + if [ -n "$DT" ]; then + [ -f /usr/gnu/bin/bash ] && exec /usr/gnu/bin/bash --login + fi + +If CDE starts its shells non-interactively during login, the login shell +startup files (~/.profile, ~/.bash_profile) will not be sourced at login. +To get around this problem, append a line similar to the following to your +~/.dtprofile: + + BASH_ENV=${HOME}/.bash_profile ; export BASH_ENV + +and add the following line to the beginning of ~/.bash_profile: + + unset BASH_ENV + +A8) I just changed my login shell to bash, and now I can't FTP into my + machine. Why not? + +You must add the full pathname to bash to the file /etc/shells. As +noted in the answer to the previous question, many systems require +this before you can make bash your login shell. + +Most versions of ftpd use this file to prohibit `special' users +such as `uucp' and `news' from using FTP. + +A9) What's the `POSIX 1003.2 standard'? + +POSIX is a name originally coined by Richard Stallman for a +family of open system standards based on UNIX. There are a +number of aspects of UNIX under consideration for +standardization, from the basic system services at the system +call and C library level to applications and tools to system +administration and management. Each area of standardization is +assigned to a working group in the 1003 series. + +The POSIX Shell and Utilities standard has been developed by IEEE +Working Group 1003.2 (POSIX.2). It concentrates on the command +interpreter interface and utility programs commonly executed from +the command line or by other programs. An initial version of the +standard has been approved and published by the IEEE, and work is +currently underway to update it. + +Bash is concerned with the aspects of the shell's behavior +defined by POSIX.2. The shell command language has of course +been standardized, including the basic flow control and program +execution constructs, I/O redirection and pipelining, argument +handling, variable expansion, and quoting. + +The `special' builtins, which must be implemented as part of the +shell to provide the desired functionality, are specified as +being part of the shell; examples of these are `eval' and +`export'. Other utilities appear in the sections of POSIX.2 not +devoted to the shell which are commonly (and in some cases must +be) implemented as builtin commands, such as `read' and `test'. +POSIX.2 also specifies aspects of the shell's interactive +behavior as part of the UPE, including job control and command +line editing. Only vi-style line editing commands have been +standardized; emacs editing commands were left out due to +objections. + +The Open Group has made an older version of its Single Unix +Specification (version 2), which is very similar to POSIX.2, +available on the web at + +http://www.opengroup.org/onlinepubs/007908799/ + +The Single Unix Specification, version 3, is available on the web at + +http://www.opengroup.org/onlinepubs/007904975/ + +A10) What is the bash `posix mode'? + +Although bash is an implementation of the POSIX.2 shell +specification, there are areas where the bash default behavior +differs from that spec. The bash `posix mode' changes the bash +behavior in these areas so that it obeys the spec more closely. + +Posix mode is entered by starting bash with the --posix or +'-o posix' option or executing `set -o posix' after bash is running. + +The specific aspects of bash which change when posix mode is +active are listed in the file POSIX in the bash distribution. +They are also listed in a section in the Bash Reference Manual +(from which that file is generated). + +Section B: The latest version + +B1) What's new in version 2.05b? + +The raison d'etre for bash-2.05b is to make a second intermediate +release containing the first of the new features to be available +in bash-3.0 and get feedback on those features before proceeding. +The major new feature is multibyte character support in both Bash +and Readline. + +Bash-2.05b contains the following new features (see the manual page for +complete descriptions and the CHANGES and NEWS files in the bash-2.05b +distribution): + +o support for multibyte characters has been added to both bash and readline + +o the DEBUG trap is now run *before* simple commands, ((...)) commands, + [[...]] conditional commands, and for ((...)) loops + +o the shell now performs arithmetic in the largest integer size the machine + supports (intmax_t) + +o there is a new \D{...} prompt expansion; passes the `...' to strftime(3) + and inserts the result into the expanded prompt + +o there is a 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). + +o `read' has a new `-u fd' option to read from a specified file descriptor + +o 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 + +o 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 + + +A short feature history dating from Bash-2.0: + +Bash-2.05a introduced the following new features: + +o The `printf' builtin has undergone major work + +o There is a new read-only `shopt' option: login_shell, which is set by + login shells and unset otherwise + +o New `\A' prompt string escape sequence; expanding to time in 24-hour + HH:MM format + +o New `-A group/-g' option to complete and compgen; goes group name + completion + +o New [+-]O invocation option to set and unset `shopt' options at startup + +o ksh-like `ERR' trap + +o `for' loops now allow empty word lists after the `in' reserved word + +o new `hard' and `soft' arguments for the `ulimit' builtin + +o Readline can be configured to place the user at the same point on the line + when retrieving commands from the history list + +o Readline can be configured to skip `hidden' files (filenames with a leading + `.' on Unix) when performing completion + +Bash-2.05 introduced the following new features: + +o This version has once again reverted to using locales and strcoll(3) when + processing pattern matching bracket expressions, as POSIX requires. +o Added a new `--init-file' invocation argument as a synonym for `--rcfile', + per the new GNU coding standards. +o The /dev/tcp and /dev/udp redirections now accept service names as well as + port numbers. +o `complete' and `compgen' now take a `-o value' option, which controls some + of the aspects of that compspec. Valid values are: + + default - perform bash default completion if programmable + completion produces no matches + dirnames - perform directory name completion if programmable + completion produces no matches + filenames - tell readline that the compspec produces filenames, + so it can do things like append slashes to + directory names and suppress trailing spaces +o A new loadable builtin, realpath, which canonicalizes and expands symlinks + in pathname arguments. +o When `set' is called without options, it prints function defintions in a + way that allows them to be reused as input. This affects `declare' and + `declare -p' as well. This only happens when the shell is not in POSIX + mode, since POSIX.2 forbids this behavior. + +Bash-2.04 introduced the following new features: + +o Programmable word completion with the new `complete' and `compgen' builtins; + examples are provided in examples/complete/complete-examples +o `history' has a new `-d' option to delete a history entry +o `bind' has a new `-x' option to bind key sequences to shell commands +o The prompt expansion code has new `\j' and `\l' escape sequences +o The `no_empty_cmd_completion' shell option, if enabled, inhibits + command completion when TAB is typed on an empty line +o `help' has a new `-s' option to print a usage synopsis +o New arithmetic operators: var++, var--, ++var, --var, expr1,expr2 (comma) +o New ksh93-style arithmetic for command: + for ((expr1 ; expr2; expr3 )); do list; done +o `read' has new options: `-t', `-n', `-d', `-s' +o The redirection code handles several filenames specially: /dev/fd/N, + /dev/stdin, /dev/stdout, /dev/stderr +o The redirection code now recognizes /dev/tcp/HOST/PORT and + /dev/udp/HOST/PORT and tries to open a TCP or UDP socket, respectively, + to the specified port on the specified host +o The ${!prefix*} expansion has been implemented +o A new FUNCNAME variable, which expands to the name of a currently-executing + function +o The GROUPS variable is no longer readonly +o A new shopt `xpg_echo' variable, to control the behavior of echo with + respect to backslash-escape sequences at runtime +o The NON_INTERACTIVE_LOGIN_SHELLS #define has returned + +The version of Readline released with Bash-2.04, Readline-4.1, had several +new features as well: + +o Parentheses matching is always compiled into readline, and controllable + with the new `blink-matching-paren' variable +o The history-search-forward and history-search-backward functions now leave + point at the end of the line when the search string is empty, like + reverse-search-history, and forward-search-history +o A new function for applications: rl_on_new_line_with_prompt() +o New variables for applications: rl_already_prompted, and rl_gnu_readline_p + + +Bash-2.03 had very few new features, in keeping with the convention +that odd-numbered releases provide mainly bug fixes. A number of new +features were added to Readline, mostly at the request of the Cygnus +folks. + +A new shopt option, `restricted_shell', so that startup files can test + whether or not the shell was started in restricted mode +Filename generation is now performed on the words between ( and ) in + compound array assignments (this is really a bug fix) +OLDPWD is now auto-exported, as POSIX.2 requires +ENV and BASH_ENV are read-only variables in a restricted shell +Bash may now be linked against an already-installed Readline library, + as long as the Readline library is version 4 or newer +All shells begun with the `--login' option will source the login shell + startup files, even if the shell is not interactive + +There were lots of changes to the version of the Readline library released +along with Bash-2.03. For a complete list of the changes, read the file +CHANGES in the Bash-2.03 distribution. + +Bash-2.02 contained the following new features: + +a new version of malloc (based on the old GNU malloc code in previous + bash versions) that is more page-oriented, more conservative + with memory usage, does not `orphan' large blocks when they + are freed, is usable on 64-bit machines, and has allocation + checking turned on unconditionally +POSIX.2-style globbing character classes ([:alpha:], [:alnum:], etc.) +POSIX.2-style globbing equivalence classes +POSIX.2-style globbing collating symbols +the ksh [[...]] extended conditional command +the ksh egrep-style extended pattern matching operators +a new `printf' builtin +the ksh-like $(, &>, >|, <<<, [n]<&word-, [n]>&word- + prompt string special char translation and variable expansion + auto-export of variables in initial environment + command search finds functions before builtins + bash return builtin will exit a file sourced with `.' + builtins: cd -/-L/-P, exec -l/-c/-a, echo -e/-E, hash -d/-l/-p/-t. + export -n/-f/-p/name=value, pwd -L/-P, + read -e/-p/-a/-t/-n/-d/-s/-u, + readonly -a/-f/name=value, trap -l, set +o, + set -b/-m/-o option/-h/-p/-B/-C/-H/-P, + unset -f/-v, ulimit -m/-p/-u, + type -a/-p/-t/-f/-P, suspend -f, kill -n, + test -o optname/s1 == s2/s1 < s2/s1 > s2/-nt/-ot/-ef/-O/-G/-S + bash reads ~/.bashrc for interactive shells, $ENV for non-interactive + bash restricted shell mode is more extensive + bash allows functions and variables with the same name + brace expansion + tilde expansion + arithmetic expansion with $((...)) and `let' builtin + the `[[...]]' extended conditional command + process substitution + aliases and alias/unalias builtins + local variables in functions and `local' builtin + readline and command-line editing with programmable completion + command history and history/fc builtins + csh-like history expansion + other new bash builtins: bind, command, compgen, complete, builtin, + declare/typeset, dirs, enable, fc, help, + history, logout, popd, pushd, disown, shopt, + printf + exported functions + filename generation when using output redirection (command >a*) + POSIX.2-style globbing character classes + POSIX.2-style globbing equivalence classes + POSIX.2-style globbing collating symbols + egrep-like extended pattern matching operators + case-insensitive pattern matching and globbing + variable assignments preceding commands affect only that command, + even for builtins and functions + posix mode + redirection to /dev/fd/N, /dev/stdin, /dev/stdout, /dev/stderr, + /dev/tcp/host/port, /dev/udp/host/port + +Things sh has that bash does not: + uses variable SHACCT to do shell accounting + includes `stop' builtin (bash can use alias stop='kill -s STOP') + `newgrp' builtin + turns on job control if called as `jsh' + $TIMEOUT (like bash $TMOUT) + `^' is a synonym for `|' + new SVR4.2 sh builtins: mldmode, priv + +Implementation differences: + redirection to/from compound commands causes sh to create a subshell + bash does not allow unbalanced quotes; sh silently inserts them at EOF + bash does not mess with signal 11 + sh sets (euid, egid) to (uid, gid) if -p not supplied and uid < 100 + bash splits only the results of expansions on IFS, using POSIX.2 + field splitting rules; sh splits all words on IFS + sh does not allow MAILCHECK to be unset (?) + sh does not allow traps on SIGALRM or SIGCHLD + bash allows multiple option arguments when invoked (e.g. -x -v); + sh allows only a single option argument (`sh -x -v' attempts + to open a file named `-v', and, on SunOS 4.1.4, dumps core. + On Solaris 2.4 and earlier versions, sh goes into an infinite + loop.) + sh exits a script if any builtin fails; bash exits only if one of + the POSIX.2 `special' builtins fails + +C2) How does bash differ from the Korn shell, version ksh88? + +Things bash has or uses that ksh88 does not: + long invocation options + [-+]O invocation option + -l invocation option + `!' reserved word + arithmetic for command: for ((expr1 ; expr2; expr3 )); do list; done + arithmetic in largest machine-supported size (intmax_t) + posix mode and posix conformance + command hashing + tilde expansion for assignment statements that look like $PATH + process substitution with named pipes if /dev/fd is not available + the ${!param} indirect parameter expansion operator + the ${!param*} prefix expansion operator + the ${param:offset[:length]} parameter substring operator + the ${param/pat[/string]} parameter pattern substitution operator + variables: BASH, BASH_VERSION, BASH_VERSINFO, UID, EUID, SHLVL, + TIMEFORMAT, HISTCMD, HOSTTYPE, OSTYPE, MACHTYPE, + HISTFILESIZE, HISTIGNORE, HISTCONTROL, PROMPT_COMMAND, + IGNOREEOF, FIGNORE, INPUTRC, HOSTFILE, DIRSTACK, + PIPESTATUS, HOSTNAME, OPTERR, SHELLOPTS, GLOBIGNORE, + GROUPS, FUNCNAME, histchars, auto_resume + prompt expansion with backslash escapes and command substitution + redirection: &> (stdout and stderr), <<<, [n]<&word-, [n]>&word- + more extensive and extensible editing and programmable completion + builtins: bind, builtin, command, declare, dirs, echo -e/-E, enable, + exec -l/-c/-a, fc -s, export -n/-f/-p, hash, help, history, + jobs -x/-r/-s, kill -s/-n/-l, local, logout, popd, pushd, + read -e/-p/-a/-t/-n/-d/-s, readonly -a/-n/-f/-p, + set -o braceexpand/-o histexpand/-o interactive-comments/ + -o notify/-o physical/-o posix/-o hashall/-o onecmd/ + -h/-B/-C/-b/-H/-P, set +o, suspend, trap -l, type, + typeset -a/-F/-p, ulimit -u, umask -S, alias -p, shopt, + disown, printf, complete, compgen + `!' csh-style history expansion + POSIX.2-style globbing character classes + POSIX.2-style globbing equivalence classes + POSIX.2-style globbing collating symbols + egrep-like extended pattern matching operators + case-insensitive pattern matching and globbing + `**' arithmetic operator to do exponentiation + redirection to /dev/fd/N, /dev/stdin, /dev/stdout, /dev/stderr + arrays of unlimited size + TMOUT is default timeout for `read' and `select' + +Things ksh88 has or uses that bash does not: + tracked aliases (alias -t) + variables: ERRNO, FPATH, EDITOR, VISUAL + co-processes (|&, >&p, <&p) + weirdly-scoped functions + typeset +f to list all function names without definitions + text of command history kept in a file, not memory + builtins: alias -x, cd old new, fc -e -, newgrp, print, + read -p/-s/var?prompt, set -A/-o gmacs/ + -o bgnice/-o markdirs/-o nolog/-o trackall/-o viraw/-s, + typeset -H/-L/-R/-Z/-A/-ft/-fu/-fx/-l/-u/-t, whence + using environment to pass attributes of exported variables + arithmetic evaluation done on arguments to some builtins + reads .profile from $PWD when invoked as login shell + +Implementation differences: + ksh runs last command of a pipeline in parent shell context + bash has brace expansion by default (ksh88 compile-time option) + bash has fixed startup file for all interactive shells; ksh reads $ENV + bash has exported functions + bash command search finds functions before builtins + bash waits for all commands in pipeline to exit before returning status + emacs-mode editing has some slightly different key bindings + +C3) Which new features in ksh-93 are not in bash, and which are? + +New things in ksh-93 not in bash-2.05b: + associative arrays + floating point arithmetic and variables + math library functions + ${!name[sub]} name of subscript for associative array + `.' is allowed in variable names to create a hierarchical namespace + more extensive compound assignment syntax + discipline functions + `sleep' and `getconf' builtins (bash has loadable versions) + typeset -n and `nameref' variables + KEYBD trap + variables: .sh.edchar, .sh.edmode, .sh.edcol, .sh.edtext, .sh.version, + .sh.name, .sh.subscript, .sh.value, .sh.match, HISTEDIT + backreferences in pattern matching (\N) + `&' operator in pattern lists for matching + print -f (bash uses printf) + `fc' has been renamed to `hist' + `.' can execute shell functions + exit statuses between 0 and 255 + set -o pipefail + `+=' variable assignment operator + FPATH and PATH mixing + getopts -a + -I invocation option + DEBUG trap now executed before each simple command, instead of after + printf %H, %P, %T, %Z modifiers, output base for %d + lexical scoping for local variables in `ksh' functions + no scoping for local variables in `POSIX' functions + +New things in ksh-93 present in bash-2.05b: + [n]<&word- and [n]>&word- redirections (combination dup and close) + for (( expr1; expr2; expr3 )) ; do list; done - arithmetic for command + ?:, ++, --, `expr1 , expr2' arithmetic operators + expansions: ${!param}, ${param:offset[:len]}, ${param/pat[/str]}, + ${!param*} + compound array assignment + the `!' reserved word + loadable builtins -- but ksh uses `builtin' while bash uses `enable' + `command', `builtin', `disown' builtins + new $'...' and $"..." quoting + FIGNORE (but bash uses GLOBIGNORE), HISTCMD + set -o notify/-C + changes to kill builtin + read -A (bash uses read -a) + read -t/-d + trap -p + exec -c/-a + `.' restores the positional parameters when it completes + POSIX.2 `test' + umask -S + unalias -a + command and arithmetic substitution performed on PS1, PS4, and ENV + command name completion + ENV processed only for interactive shells + +Section D: Why does bash do some things differently than other Unix shells? + +D1) Why does bash run a different version of `command' than + `which command' says it will? + +On many systems, `which' is actually a csh script that assumes +you're running csh. In tcsh, `which' and its cousin `where' +are builtins. On other Unix systems, `which' is a perl script +that uses the PATH environment variable. + +The csh script version reads the csh startup files from your +home directory and uses those to determine which `command' will +be invoked. Since bash doesn't use any of those startup files, +there's a good chance that your bash environment differs from +your csh environment. The bash `type' builtin does everything +`which' does, and will report correct results for the running +shell. If you're really wedded to the name `which', try adding +the following function definition to your .bashrc: + + which() + { + builtin type "$@" + } + +If you're moving from tcsh and would like to bring `where' along +as well, use this function: + + where() + { + builtin type -a "$@" + } + +D2) Why doesn't bash treat brace expansions exactly like csh? + +The only difference between bash and csh brace expansion is that +bash requires a brace expression to contain at least one unquoted +comma if it is to be expanded. Any brace-surrounded word not +containing an unquoted comma is left unchanged by the brace +expansion code. This affords the greatest degree of sh +compatibility. + +Bash, ksh, zsh, and pd-ksh all implement brace expansion this way. + +D3) Why doesn't bash have csh variable modifiers? + +Posix has specified a more powerful, albeit somewhat more cryptic, +mechanism cribbed from ksh, and bash implements it. + +${parameter%word} + Remove smallest suffix pattern. The WORD is expanded to produce + a pattern. It then expands to the value of PARAMETER, with the + smallest portion of the suffix matched by the pattern deleted. + + x=file.c + echo ${x%.c}.o + -->file.o + +${parameter%%word} + + Remove largest suffix pattern. The WORD is expanded to produce + a pattern. It then expands to the value of PARAMETER, with the + largest portion of the suffix matched by the pattern deleted. + + x=posix/src/std + echo ${x%%/*} + -->posix + +${parameter#word} + Remove smallest prefix pattern. The WORD is expanded to produce + a pattern. It then expands to the value of PARAMETER, with the + smallest portion of the prefix matched by the pattern deleted. + + x=$HOME/src/cmd + echo ${x#$HOME} + -->/src/cmd + +${parameter##word} + Remove largest prefix pattern. The WORD is expanded to produce + a pattern. It then expands to the value of PARAMETER, with the + largest portion of the prefix matched by the pattern deleted. + + x=/one/two/three + echo ${x##*/} + -->three + + +Given + a=/a/b/c/d + b=b.xxx + + csh bash result + --- ---- ------ + $a:h ${a%/*} /a/b/c + $a:t ${a##*/} d + $b:r ${b%.*} b + $b:e ${b##*.} xxx + + +D4) How can I make my csh aliases work when I convert to bash? + +Bash uses a different syntax to support aliases than csh does. +The details can be found in the documentation. We have provided +a shell script which does most of the work of conversion for you; +this script can be found in ./examples/misc/aliasconv.sh. Here is +how you use it: + +Start csh in the normal way for you. (e.g., `csh') + +Pipe the output of `alias' through `aliasconv.sh', saving the +results into `bash_aliases': + + alias | bash aliasconv.sh >bash_aliases + +Edit `bash_aliases', carefully reading through any created +functions. You will need to change the names of some csh specific +variables to the bash equivalents. The script converts $cwd to +$PWD, $term to $TERM, $home to $HOME, $user to $USER, and $prompt +to $PS1. You may also have to add quotes to avoid unwanted +expansion. + +For example, the csh alias: + + alias cd 'cd \!*; echo $cwd' + +is converted to the bash function: + + cd () { command cd "$@"; echo $PWD ; } + +The only thing that needs to be done is to quote $PWD: + + cd () { command cd "$@"; echo "$PWD" ; } + +Merge the edited file into your ~/.bashrc. + +There is an additional, more ambitious, script in +examples/misc/cshtobash that attempts to convert your entire csh +environment to its bash equivalent. This script can be run as +simply `cshtobash' to convert your normal interactive +environment, or as `cshtobash ~/.login' to convert your login +environment. + +D5) How can I pipe standard output and standard error from one command to + another, like csh does with `|&'? + +Use + command 2>&1 | command2 + +The key is to remember that piping is performed before redirection, so +file descriptor 1 points to the pipe when it is duplicated onto file +descriptor 2. + +D6) Now that I've converted from ksh to bash, are there equivalents to + ksh features like autoloaded functions and the `whence' command? + +There are features in ksh-88 and ksh-93 that do not have direct bash +equivalents. Most, however, can be emulated with very little trouble. + +ksh-88 feature Bash equivalent +-------------- --------------- +compiled-in aliases set up aliases in .bashrc; some ksh aliases are + bash builtins (hash, history, type) +coprocesses named pipe pairs (one for read, one for write) +typeset +f declare -F +cd, print, whence function substitutes in examples/functions/kshenv +autoloaded functions examples/functions/autoload is the same as typeset -fu +read var?prompt read -p prompt var + +ksh-93 feature Bash equivalent +-------------- --------------- +sleep, getconf Bash has loadable versions in examples/loadables +${.sh.version} $BASH_VERSION +print -f printf +hist alias hist=fc +$HISTEDIT $FCEDIT + +Section E: How can I get bash to do certain things, and why does bash do + things the way it does? + +E1) Why is the bash builtin `test' slightly different from /bin/test? + +The specific example used here is [ ! x -o x ], which is false. + +Bash's builtin `test' implements the Posix.2 spec, which can be +summarized as follows (the wording is due to David Korn): + +Here is the set of rules for processing test arguments. + + 0 Args: False + 1 Arg: True iff argument is not null. + 2 Args: If first arg is !, True iff second argument is null. + If first argument is unary, then true if unary test is true + Otherwise error. + 3 Args: If second argument is a binary operator, do binary test of $1 $3 + If first argument is !, negate two argument test of $2 $3 + If first argument is `(' and third argument is `)', do the + one-argument test of the second argument. + Otherwise error. + 4 Args: If first argument is !, negate three argument test of $2 $3 $4. + Otherwise unspecified + 5 or more Args: unspecified. (Historical shells would use their + current algorithm). + +The operators -a and -o are considered binary operators for the purpose +of the 3 Arg case. + +As you can see, the test becomes (not (x or x)), which is false. + +E2) Why does bash sometimes say `Broken pipe'? + +If a sequence of commands appears in a pipeline, and one of the +reading commands finishes before the writer has finished, the +writer receives a SIGPIPE signal. Many other shells special-case +SIGPIPE as an exit status in the pipeline and do not report it. +For example, in: + + ps -aux | head + +`head' can finish before `ps' writes all of its output, and ps +will try to write on a pipe without a reader. In that case, bash +will print `Broken pipe' to stderr when ps is killed by a +SIGPIPE. + +You can build a version of bash that will not report SIGPIPE errors +by uncommenting the definition of DONT_REPORT_SIGPIPE in the file +config-top.h. + +E3) When I have terminal escape sequences in my prompt, why does bash + wrap lines at the wrong column? + +Readline, the line editing library that bash uses, does not know +that the terminal escape sequences do not take up space on the +screen. The redisplay code assumes, unless told otherwise, that +each character in the prompt is a `printable' character that +takes up one character position on the screen. + +You can use the bash prompt expansion facility (see the PROMPTING +section in the manual page) to tell readline that sequences of +characters in the prompt strings take up no screen space. + +Use the \[ escape to begin a sequence of non-printing characters, +and the \] escape to signal the end of such a sequence. + +E4) If I pipe the output of a command into `read variable', why doesn't + the output show up in $variable when the read command finishes? + +This has to do with the parent-child relationship between Unix +processes. It affects all commands run in pipelines, not just +simple calls to `read'. For example, piping a command's output +into a `while' loop that repeatedly calls `read' will result in +the same behavior. + +Each element of a pipeline runs in a separate process, a child of +the shell running the pipeline. A subprocess cannot affect its +parent's environment. When the `read' command sets the variable +to the input, that variable is set only in the subshell, not the +parent shell. When the subshell exits, the value of the variable +is lost. + +Many pipelines that end with `read variable' can be converted +into command substitutions, which will capture the output of +a specified command. The output can then be assigned to a +variable: + + grep ^gnu /usr/lib/news/active | wc -l | read ngroup + +can be converted into + + ngroup=$(grep ^gnu /usr/lib/news/active | wc -l) + +This does not, unfortunately, work to split the text among +multiple variables, as read does when given multiple variable +arguments. If you need to do this, you can either use the +command substitution above to read the output into a variable +and chop up the variable using the bash pattern removal +expansion operators or use some variant of the following +approach. + +Say /usr/local/bin/ipaddr is the following shell script: + +#! /bin/sh +host `hostname` | awk '/address/ {print $NF}' + +Instead of using + + /usr/local/bin/ipaddr | read A B C D + +to break the local machine's IP address into separate octets, use + + OIFS="$IFS" + IFS=. + set -- $(/usr/local/bin/ipaddr) + IFS="$OIFS" + A="$1" B="$2" C="$3" D="$4" + +Beware, however, that this will change the shell's positional +parameters. If you need them, you should save them before doing +this. + +This is the general approach -- in most cases you will not need to +set $IFS to a different value. + +Some other user-supplied alternatives include: + +read A B C D << HERE + $(IFS=.; echo $(/usr/local/bin/ipaddr)) +HERE + +and, where process substitution is available, + +read A B C D < <(IFS=.; echo $(/usr/local/bin/ipaddr)) + +E5) I have a bunch of shell scripts that use backslash-escaped characters + in arguments to `echo'. Bash doesn't interpret these characters. Why + not, and how can I make it understand them? + +This is the behavior of echo on most Unix System V machines. + +The bash builtin `echo' is modeled after the 9th Edition +Research Unix version of `echo'. It does not interpret +backslash-escaped characters in its argument strings by default; +it requires the use of the -e option to enable the +interpretation. The System V echo provides no way to disable the +special characters; the bash echo has a -E option to disable +them. + +There is a configuration option that will make bash behave like +the System V echo and interpret things like `\t' by default. Run +configure with the --enable-xpg-echo-default option to turn this +on. Be aware that this will cause some of the tests run when you +type `make tests' to fail. + +There is a shell option, `xpg_echo', settable with `shopt', that will +change the behavior of echo at runtime. Enabling this option turns +on expansion of backslash-escape sequences. + +E6) Why doesn't a while or for loop get suspended when I type ^Z? + +This is a consequence of how job control works on Unix. The only +thing that can be suspended is the process group. This is a single +command or pipeline of commands that the shell forks and executes. + +When you run a while or for loop, the only thing that the shell forks +and executes are any commands in the while loop test and commands in +the loop bodies. These, therefore, are the only things that can be +suspended when you type ^Z. + +If you want to be able to stop the entire loop, you need to put it +within parentheses, which will force the loop into a subshell that +may be stopped (and subsequently restarted) as a single unit. + +E7) What about empty for loops in Makefiles? + +It's fairly common to see constructs like this in automatically-generated +Makefiles: + +SUBDIRS = @SUBDIRS@ + + ... + +subdirs-clean: + for d in ${SUBDIRS}; do \ + ( cd $$d && ${MAKE} ${MFLAGS} clean ) \ + done + +When SUBDIRS is empty, this results in a command like this being passed to +bash: + + for d in ; do + ( cd $d && ${MAKE} ${MFLAGS} clean ) + done + +In versions of bash before bash-2.05a, this was a syntax error. If the +reserved word `in' was present, a word must follow it before the semicolon +or newline. The language in the manual page referring to the list of words +being empty referred to the list after it is expanded. These versions of +bash required that there be at least one word following the `in' when the +construct was parsed. + +The idiomatic Makefile solution is something like: + +SUBDIRS = @SUBDIRS@ + +subdirs-clean: + subdirs=$SUBDIRS ; for d in $$subdirs; do \ + ( cd $$d && ${MAKE} ${MFLAGS} clean ) \ + done + +The latest drafts of the updated POSIX standard have changed this: the +word list is no longer required. Bash versions 2.05a and later accept +the new syntax. + +E8) Why does the arithmetic evaluation code complain about `08'? + +The bash arithmetic evaluation code (used for `let', $(()), (()), and in +other places), interprets a leading `0' in numeric constants as denoting +an octal number, and a leading `0x' as denoting hexadecimal. This is +in accordance with the POSIX.2 spec, section 2.9.2.1, which states that +arithmetic constants should be handled as signed long integers as defined +by the ANSI/ISO C standard. + +The POSIX.2 interpretation committee has confirmed this: + +http://www.pasc.org/interps/unofficial/db/p1003.2/pasc-1003.2-173.html + +E9) Why does the pattern matching expression [A-Z]* match files beginning + with every letter except `z'? + +Bash-2.03, Bash-2.05 and later versions honor the current locale setting +when processing ranges within pattern matching bracket expressions ([A-Z]). +This is what POSIX.2 and SUSv3/XPG6 specify. + +The behavior of the matcher in bash-2.05 and later versions depends on the +current LC_COLLATE setting. Setting this variable to `C' or `POSIX' will +result in the traditional behavior ([A-Z] matches all uppercase ASCII +characters). Many other locales, including the en_US locale (the default +on many US versions of Linux) collate the upper and lower case letters like +this: + + AaBb...Zz + +which means that [A-Z] matches every letter except `z'. Others 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 +A-Z; lower case may be specified as [:lower:] instead of a-z. + +Look at the manual pages for setlocale(3), strcoll(3), and, if it is +present, locale(1). If you have locale(1), you can use it to find +your current locale information even if you do not have any of the +LC_ variables set. + +My advice is to put + + export LC_COLLATE=C + +into /etc/profile and inspect any shell scripts run from cron for +constructs like [A-Z]. This will prevent things like + + rm [A-Z]* + +from removing every file in the current directory except those beginning +with `z' and still allow individual users to change the collation order. +Users may put the above command into their own profiles as well, of course. + +E10) Why does `cd //' leave $PWD as `//'? + +POSIX.2, in its description of `cd', says that *three* or more leading +slashes may be replaced with a single slash when canonicalizing the +current working directory. + +This is, I presume, for historical compatibility. Certain versions of +Unix, and early network file systems, used paths of the form +//hostname/path to access `path' on server `hostname'. + +E11) If I resize my xterm while another program is running, why doesn't bash + notice the change? + +This is another issue that deals with job control. + +The kernel maintains a notion of a current terminal process group. Members +of this process group (processes whose process group ID is equal to the +current terminal process group ID) receive terminal-generated signals like +SIGWINCH. (For more details, see the JOB CONTROL section of the bash +man page.) + +If a terminal is resized, the kernel sends SIGWINCH to each member of +the terminal's current process group (the `foreground' process group). + +When bash is running with job control enabled, each pipeline (which may be +a single command) is run in its own process group, different from bash's +process group. This foreground process group receives the SIGWINCH; bash +does not. Bash has no way of knowing that the terminal has been resized. + +There is a `checkwinsize' option, settable with the `shopt' builtin, that +will cause bash to check the window size and adjust its idea of the +terminal's dimensions each time a process stops or exits and returns control +of the terminal to bash. Enable it with `shopt -s checkwinsize'. + +Section F: Things to watch out for on certain Unix versions + +F1) Why can't I use command line editing in my `cmdtool'? + +The problem is `cmdtool' and bash fighting over the input. When +scrolling is enabled in a cmdtool window, cmdtool puts the tty in +`raw mode' to permit command-line editing using the mouse for +applications that cannot do it themselves. As a result, bash and +cmdtool each try to read keyboard input immediately, with neither +getting enough of it to be useful. + +This mode also causes cmdtool to not implement many of the +terminal functions and control sequences appearing in the +`sun-cmd' termcap entry. For a more complete explanation, see +that file examples/suncmd.termcap in the bash distribution. + +`xterm' is a better choice, and gets along with bash much more +smoothly. + +If you must use cmdtool, you can use the termcap description in +examples/suncmd.termcap. Set the TERMCAP variable to the terminal +description contained in that file, i.e. + +TERMCAP='Mu|sun-cmd:am:bs:km:pt:li#34:co#80:cl=^L:ce=\E[K:cd=\E[J:rs=\E[s:' + +Then export TERMCAP and start a new cmdtool window from that shell. +The bash command-line editing should behave better in the new +cmdtool. If this works, you can put the assignment to TERMCAP +in your bashrc file. + +F2) I built bash on Solaris 2. Why do globbing expansions and filename + completion chop off the first few characters of each filename? + +This is the consequence of building bash on SunOS 5 and linking +with the libraries in /usr/ucblib, but using the definitions +and structures from files in /usr/include. + +The actual conflict is between the dirent structure in +/usr/include/dirent.h and the struct returned by the version of +`readdir' in libucb.a (a 4.3-BSD style `struct direct'). + +Make sure you've got /usr/ccs/bin ahead of /usr/ucb in your $PATH +when configuring and building bash. This will ensure that you +use /usr/ccs/bin/cc or acc instead of /usr/ucb/cc and that you +link with libc before libucb. + +If you have installed the Sun C compiler, you may also need to +put /usr/ccs/bin and /opt/SUNWspro/bin into your $PATH before +/usr/ucb. + +F3) Why does bash dump core after I interrupt username completion or + `~user' tilde expansion on a machine running NIS? + +This is a famous and long-standing bug in the SunOS YP (sorry, NIS) +client library, which is part of libc. + +The YP library code keeps static state -- a pointer into the data +returned from the server. When YP initializes itself (setpwent), +it looks at this pointer and calls free on it if it's non-null. +So far, so good. + +If one of the YP functions is interrupted during getpwent (the +exact function is interpretwithsave()), and returns NULL, the +pointer is freed without being reset to NULL, and the function +returns. The next time getpwent is called, it sees that this +pointer is non-null, calls free, and the bash free() blows up +because it's being asked to free freed memory. + +The traditional Unix mallocs allow memory to be freed multiple +times; that's probably why this has never been fixed. You can +run configure with the `--without-gnu-malloc' option to use +the C library malloc and avoid the problem. + +F4) I'm running SVR4.2. Why is the line erased every time I type `@'? + +The `@' character is the default `line kill' character in most +versions of System V, including SVR4.2. You can change this +character to whatever you want using `stty'. For example, to +change the line kill character to control-u, type + + stty kill ^U + +where the `^' and `U' can be two separate characters. + +F5) Why does bash report syntax errors when my C News scripts use a + redirection before a subshell command? + +The actual command in question is something like + + < file ( command ) + +According to the grammar given in the POSIX.2 standard, this construct +is, in fact, a syntax error. Redirections may only precede `simple +commands'. A subshell construct such as the above is one of the shell's +`compound commands'. A redirection may only follow a compound command. + +This affects the mechanical transformation of commands that use `cat' +to pipe a file into a command (a favorite Useless-Use-Of-Cat topic on +comp.unix.shell). While most commands of the form + + cat file | command + +can be converted to `< file command', shell control structures such as +loops and subshells require `command < file'. + +The file CWRU/sh-redir-hack in the bash-2.05a distribution is an +(unofficial) patch to parse.y that will modify the grammar to +support this construct. It will not apply with `patch'; you must +modify parse.y by hand. Note that if you apply this, you must +recompile with -DREDIRECTION_HACK. This introduces a large +number of reduce/reduce conflicts into the shell grammar. + +F6) Why can't I use vi-mode editing on Red Hat Linux 6.1? + +The short answer is that Red Hat screwed up. + +The long answer is that they shipped an /etc/inputrc that only works +for emacs mode editing, and then screwed all the vi users by setting +INPUTRC to /etc/inputrc in /etc/profile. + +The short fix is to do one of the following: remove or rename +/etc/inputrc, set INPUTRC=~/.inputrc in ~/.bashrc (or .bash_profile, +but make sure you export it if you do), remove the assignment to +INPUTRC from /etc/profile, add + + set keymap emacs + +to the beginning of /etc/inputrc, or bracket the key bindings in +/etc/inputrc with these lines + + $if mode=emacs + [...] + $endif + +F7) Why do bash-2.05a and bash-2.05b fail to compile `printf.def' on + HP/UX 11.x? + +HP/UX's support for long double is imperfect at best. + +GCC will support it without problems, but the HP C library functions +like strtold(3) and printf(3) don't actually work with long doubles. +HP implemented a `long_double' type as a 4-element array of 32-bit +ints, and that is what the library functions use. The ANSI C +`long double' type is a 128-bit floating point scalar. + +The easiest fix, until HP fixes things up, is to edit the generated +config.h and #undef the HAVE_LONG_DOUBLE line. After doing that, +the compilation should complete successfully. + +Section G: How can I get bash to do certain common things? + +G1) How can I get bash to read and display eight-bit characters? + +This is a process requiring several steps. + +First, you must ensure that the `physical' data path is a full eight +bits. For xterms, for example, the `vt100' resources `eightBitInput' +and `eightBitOutput' should be set to `true'. + +Once you have set up an eight-bit path, you must tell the kernel and +tty driver to leave the eighth bit of characters alone when processing +keyboard input. Use `stty' to do this: + + stty cs8 -istrip -parenb + +For old BSD-style systems, you can use + + stty pass8 + +You may also need + + stty even odd + +Finally, you need to tell readline that you will be inputting and +displaying eight-bit characters. You use readline variables to do +this. These variables can be set in your .inputrc or using the bash +`bind' builtin. Here's an example using `bind': + + bash$ bind 'set convert-meta off' + bash$ bind 'set meta-flag on' + bash$ bind 'set output-meta on' + +The `set' commands between the single quotes may also be placed +in ~/.inputrc. + +G2) How do I write a function `x' to replace builtin command `x', but + still invoke the command from within the function? + +This is why the `command' and `builtin' builtins exist. The +`command' builtin executes the command supplied as its first +argument, skipping over any function defined with that name. The +`builtin' builtin executes the builtin command given as its first +argument directly. + +For example, to write a function to replace `cd' that writes the +hostname and current directory to an xterm title bar, use +something like the following: + + cd() + { + builtin cd "$@" && xtitle "$HOST: $PWD" + } + +This could also be written using `command' instead of `builtin'; +the version above is marginally more efficient. + +G3) How can I find the value of a shell variable whose name is the value + of another shell variable? + +Versions of Bash newer than Bash-2.0 support this directly. You can use + + ${!var} + +For example, the following sequence of commands will echo `z': + + var1=var2 + var2=z + echo ${!var1} + +For sh compatibility, use the `eval' builtin. The important +thing to remember is that `eval' expands the arguments you give +it again, so you need to quote the parts of the arguments that +you want `eval' to act on. + +For example, this expression prints the value of the last positional +parameter: + + eval echo \"\$\{$#\}\" + +The expansion of the quoted portions of this expression will be +deferred until `eval' runs, while the `$#' will be expanded +before `eval' is executed. In versions of bash later than bash-2.0, + + echo ${!#} + +does the same thing. + +This is not the same thing as ksh93 `nameref' variables, though the syntax +is similar. I may add namerefs in a future bash version. + +G4) How can I make the bash `time' reserved word print timing output that + looks like the output from my system's /usr/bin/time? + +The bash command timing code looks for a variable `TIMEFORMAT' and +uses its value as a format string to decide how to display the +timing statistics. + +The value of TIMEFORMAT is a string with `%' escapes expanded in a +fashion similar in spirit to printf(3). The manual page explains +the meanings of the escape sequences in the format string. + +If TIMEFORMAT is not set, bash acts as if the following assignment had +been performed: + + TIMEFORMAT=$'\nreal\t%3lR\nuser\t%3lU\nsys\t%3lS' + +The POSIX.2 default time format (used by `time -p command') is + + TIMEFORMAT=$'real %2R\nuser %2U\nsys %2S' + +The BSD /usr/bin/time format can be emulated with: + + TIMEFORMAT=$'\t%1R real\t%1U user\t%1S sys' + +The System V /usr/bin/time format can be emulated with: + + TIMEFORMAT=$'\nreal\t%1R\nuser\t%1U\nsys\t%1S' + +The ksh format can be emulated with: + + TIMEFORMAT=$'\nreal\t%2lR\nuser\t%2lU\nsys\t%2lS' + +G5) How do I get the current directory into my prompt? + +Bash provides a number of backslash-escape sequences which are expanded +when the prompt string (PS1 or PS2) is displayed. The full list is in +the manual page. + +The \w expansion gives the full pathname of the current directory, with +a tilde (`~') substituted for the current value of $HOME. The \W +expansion gives the basename of the current directory. To put the full +pathname of the current directory into the path without any tilde +subsitution, use $PWD. Here are some examples: + + PS1='\w$ ' # current directory with tilde + PS1='\W$ ' # basename of current directory + PS1='$PWD$ ' # full pathname of current directory + +The single quotes are important in the final example to prevent $PWD from +being expanded when the assignment to PS1 is performed. + +G6) How can I rename "*.foo" to "*.bar"? + +Use the pattern removal functionality described in D3. The following `for' +loop will do the trick: + + for f in *.foo; do + mv $f ${f%foo}bar + done + +G7) How can I translate a filename from uppercase to lowercase? + +The script examples/functions/lowercase, originally written by John DuBois, +will do the trick. The converse is left as an exercise. + +G8) How can I write a filename expansion (globbing) pattern that will match + all files in the current directory except "." and ".."? + +You must have set the `extglob' shell option using `shopt -s extglob' to use +this: + + echo .!(.|) * + +A solution that works without extended globbing is given in the Unix Shell +FAQ, posted periodically to comp.unix.shell. + +Section H: Where do I go from here? + +H1) How do I report bugs in bash, and where should I look for fixes and + advice? + +Use the `bashbug' script to report bugs. It is built and +installed at the same time as bash. It provides a standard +template for reporting a problem and automatically includes +information about your configuration and build environment. + +`bashbug' sends its reports to bug-bash@gnu.org, which +is a large mailing list gatewayed to the usenet newsgroup gnu.bash.bug. + +Bug fixes, answers to questions, and announcements of new releases +are all posted to gnu.bash.bug. Discussions concerning bash features +and problems also take place there. + +To reach the bash maintainers directly, send mail to +bash-maintainers@gnu.org. + +H2) What kind of bash documentation is there? + +First, look in the doc directory in the bash distribution. It should +contain at least the following files: + +bash.1 an extensive, thorough Unix-style manual page +builtins.1 a manual page covering just bash builtin commands +bashref.texi a reference manual in GNU tex`info format +bashref.info an info version of the reference manual +FAQ this file +article.ms text of an article written for The Linux Journal +readline.3 a man page describing readline + +Postscript, HTML, and ASCII files created from the above source are +available in the documentation distribution. + +There is additional documentation available for anonymous FTP from host +ftp.cwru.edu in the `pub/bash' directory. + +Cameron Newham and Bill Rosenblatt have written a book on bash, published +by O'Reilly and Associates. The book is based on Bill Rosenblatt's Korn +Shell book. The title is ``Learning the Bash Shell'', and the ISBN number +is 1-56592-147-X. Look for it in fine bookstores near you. This book +covers bash-1.14, but has an appendix describing some of the new features +in bash-2.0. + +A second edition of this book is available, published in January, 1998. +The ISBN number is 1-56592-347-2. Look for it in the same fine bookstores +or on the web. + +The GNU Bash Reference Manual has been published as a printed book by +Network Theory Ltd (Paperback, ISBN: 0-9541617-7-7, Feb 2003). It covers +bash-2.0 and is available from most online bookstores (see +http://www.network-theory.co.uk/bash/manual/ for details). The publisher +will donate $1 to the Free Software Foundation for each copy sold. + +H3) What's coming in future versions? + +These are features I hope to include in a future version of bash. + +a better bash debugger (a minimally-tested version is included with bash-2.05b) +associative arrays +co-processes, but with a new-style syntax that looks like function declaration + +H4) What's on the bash `wish list' for future versions? + +These are features that may or may not appear in a future version of bash. + +breaking some of the shell functionality into embeddable libraries +a module system like zsh's, using dynamic loading like builtins +better internationalization using GNU `gettext' +date-stamped command history +a bash programmer's guide with a chapter on creating loadable builtins +a better loadable interface to perl with access to the shell builtins and + variables (contributions gratefully accepted) +ksh93-like `nameref' variables +ksh93-like `+=' variable assignment operator +ksh93-like `xx.yy' variables (including some of the .sh.* variables) and + associated disipline functions +Some of the new ksh93 pattern matching operators, like backreferencing + +H5) When will the next release appear? + +The next version will appear sometime in 2002. Never make predictions. + + +This document is Copyright 1995-2003 by Chester Ramey. + +Permission is hereby granted, without written agreement and +without license or royalty fees, to use, copy, and distribute +this document for any purpose, provided that the above copyright +notice appears in all copies of this document and that the +contents of this document remain unaltered. diff --git a/doc/aosa-bash.pdf.old b/doc/aosa-bash.pdf.old new file mode 100644 index 000000000..006a76776 Binary files /dev/null and b/doc/aosa-bash.pdf.old differ diff --git a/examples/loadables/Makefile.in.save b/examples/loadables/Makefile.in.save new file mode 100644 index 000000000..f6208f5cc --- /dev/null +++ b/examples/loadables/Makefile.in.save @@ -0,0 +1,238 @@ +# +# Simple makefile for the sample loadable builtins +# +# Copyright (C) 1996 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. + +# Include some boilerplate Gnu makefile definitions. +prefix = @prefix@ + +exec_prefix = @exec_prefix@ +bindir = @bindir@ +libdir = @libdir@ +infodir = @infodir@ +includedir = @includedir@ + +topdir = @top_srcdir@ +BUILD_DIR = @BUILD_DIR@ +srcdir = @srcdir@ +VPATH = .:@srcdir@ + +@SET_MAKE@ +CC = @CC@ +RM = rm -f + +SHELL = @MAKE_SHELL@ + +host_os = @host_os@ +host_cpu = @host_cpu@ +host_vendor = @host_vendor@ + +CFLAGS = @CFLAGS@ +LOCAL_CFLAGS = @LOCAL_CFLAGS@ +DEFS = @DEFS@ +LOCAL_DEFS = @LOCAL_DEFS@ + +CPPFLAGS = @CPPFLAGS@ + +BASHINCDIR = ${topdir}/include + +LIBBUILD = ${BUILD_DIR}/lib + +INTL_LIBSRC = ${topdir}/lib/intl +INTL_BUILDDIR = ${LIBBUILD}/intl +INTL_INC = @INTL_INC@ +LIBINTL_H = @LIBINTL_H@ + +CCFLAGS = $(DEFS) $(LOCAL_DEFS) $(LOCAL_CFLAGS) $(CFLAGS) + +# +# These values are generated for configure by ${topdir}/support/shobj-conf. +# If your system is not supported by that script, but includes facilities for +# dynamic loading of shared objects, please update the script and send the +# changes to bash-maintainers@gnu.org. +# +SHOBJ_CC = @SHOBJ_CC@ +SHOBJ_CFLAGS = @SHOBJ_CFLAGS@ +SHOBJ_LD = @SHOBJ_LD@ +SHOBJ_LDFLAGS = @SHOBJ_LDFLAGS@ +SHOBJ_XLDFLAGS = @SHOBJ_XLDFLAGS@ +SHOBJ_LIBS = @SHOBJ_LIBS@ +SHOBJ_STATUS = @SHOBJ_STATUS@ + +INC = -I. -I.. -I$(topdir) -I$(topdir)/lib -I$(topdir)/builtins \ + -I$(BASHINCDIR) -I$(BUILD_DIR) -I$(LIBBUILD) \ + -I$(BUILD_DIR)/builtins $(INTL_INC) + +.c.o: + $(SHOBJ_CC) $(SHOBJ_CFLAGS) $(CCFLAGS) $(INC) -c -o $@ $< + + +ALLPROG = print truefalse sleep pushd finfo logname basename dirname \ + tty pathchk tee head mkdir rmdir printenv id whoami \ + uname sync push ln unlink cut realpath getconf strftime +OTHERPROG = necho hello cat + +all: $(SHOBJ_STATUS) + +supported: $(ALLPROG) +others: $(OTHERPROG) + +unsupported: + @echo "Your system (${host_os}) is not supported by the" + @echo "${topdir}/support/shobj-conf script." + @echo "If your operating system provides facilities for dynamic" + @echo "loading of shared objects using the dlopen(3) interface," + @echo "please update the script and re-run configure. + @echo "Please send the changes you made to bash-maintainers@gnu.org" + @echo "for inclusion in future bash releases." + +everything: supported others + +print: print.o + $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ print.o $(SHOBJ_LIBS) + +necho: necho.o + $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ necho.o $(SHOBJ_LIBS) + +getconf: getconf.o + $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ getconf.o $(SHOBJ_LIBS) + +hello: hello.o + $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ hello.o $(SHOBJ_LIBS) + +truefalse: truefalse.o + $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ truefalse.o $(SHOBJ_LIBS) + +sleep: sleep.o + $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ sleep.o $(SHOBJ_LIBS) + +finfo: finfo.o + $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ finfo.o $(SHOBJ_LIBS) + +cat: cat.o + $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ cat.o $(SHOBJ_LIBS) + +logname: logname.o + $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ logname.o $(SHOBJ_LIBS) + +basename: basename.o + $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ basename.o $(SHOBJ_LIBS) + +dirname: dirname.o + $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ dirname.o $(SHOBJ_LIBS) + +tty: tty.o + $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ tty.o $(SHOBJ_LIBS) + +pathchk: pathchk.o + $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ pathchk.o $(SHOBJ_LIBS) + +tee: tee.o + $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ tee.o $(SHOBJ_LIBS) + +mkdir: mkdir.o + $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ mkdir.o $(SHOBJ_LIBS) + +rmdir: rmdir.o + $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ rmdir.o $(SHOBJ_LIBS) + +head: head.o + $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ head.o $(SHOBJ_LIBS) + +printenv: printenv.o + $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ printenv.o $(SHOBJ_LIBS) + +id: id.o + $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ id.o $(SHOBJ_LIBS) + +whoami: whoami.o + $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ whoami.o $(SHOBJ_LIBS) + +uname: uname.o + $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ uname.o $(SHOBJ_LIBS) + +sync: sync.o + $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ sync.o $(SHOBJ_LIBS) + +push: push.o + $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ push.o $(SHOBJ_LIBS) + +ln: ln.o + $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ ln.o $(SHOBJ_LIBS) + +unlink: unlink.o + $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ unlink.o $(SHOBJ_LIBS) + +cut: cut.o + $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ cut.o $(SHOBJ_LIBS) + +realpath: realpath.o + $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ realpath.o $(SHOBJ_LIBS) + +strftime: strftime.o + $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ strftime.o $(SHOBJ_LIBS) + +# pushd is a special case. We use the same source that the builtin version +# uses, with special compilation options. +# +pushd.c: ${topdir}/builtins/pushd.def + $(RM) $@ + ${BUILD_DIR}/builtins/mkbuiltins -D ${topdir}/builtins ${topdir}/builtins/pushd.def + +pushd.o: pushd.c + $(RM) $@ + $(SHOBJ_CC) -DHAVE_CONFIG_H -DPUSHD_AND_POPD -DLOADABLE_BUILTIN $(SHOBJ_CFLAGS) $(CFLAGS) $(CPPFLAGS) $(INC) -c -o $@ $< + +pushd: pushd.o + $(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ pushd.o $(SHOBJ_LIBS) + +clean: + $(RM) $(ALLPROG) $(OTHERPROG) *.o + -( cd perl && ${MAKE} ${MFLAGS} $@ ) + +mostlyclean: clean + -( cd perl && ${MAKE} ${MFLAGS} $@ ) + +distclean maintainer-clean: clean + $(RM) Makefile pushd.c + -( cd perl && ${MAKE} ${MFLAGS} $@ ) + +print.o: print.c +truefalse.o: truefalse.c +sleep.o: sleep.c +finfo.o: finfo.c +logname.o: logname.c +basename.o: basename.c +dirname.o: dirname.c +tty.o: tty.c +pathchk.o: pathchk.c +tee.o: tee.c +head.o: head.c +rmdir.o: rmdir.c +necho.o: necho.c +getconf.o: getconf.c +hello.o: hello.c +cat.o: cat.c +printenv.o: printenv.c +id.o: id.c +whoami.o: whoami.c +uname.o: uname.c +sync.o: sync.c +push.o: push.c +mkdir.o: mkdir.c +realpath.o: realpath.c +strftime.o: strftime.c diff --git a/lib/readline/#rltty.c# b/lib/readline/#rltty.c# new file mode 100644 index 000000000..37d9b0ec9 --- /dev/null +++ b/lib/readline/#rltty.c# @@ -0,0 +1,984 @@ +/* rltty.c -- functions to prepare and restore the terminal for readline's + use. */ + +/* Copyright (C) 1992-2005 Free Software Foundation, Inc. + + This file is part of the GNU Readline Library (Readline), a library + for reading lines of text with interactive input and history editing. + + Readline is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + Readline 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 Readline. If not, see . +*/ + +#define READLINE_LIBRARY + +#if defined (HAVE_CONFIG_H) +# include +#endif + +#include +#include +#include +#include + +#if defined (HAVE_UNISTD_H) +# include +#endif /* HAVE_UNISTD_H */ + +#include "rldefs.h" + +#if defined (GWINSZ_IN_SYS_IOCTL) +# include +#endif /* GWINSZ_IN_SYS_IOCTL */ + +#include "rltty.h" +#include "readline.h" +#include "rlprivate.h" + +#if !defined (errno) +extern int errno; +#endif /* !errno */ + +rl_vintfunc_t *rl_prep_term_function = rl_prep_terminal; +rl_voidfunc_t *rl_deprep_term_function = rl_deprep_terminal; + +static void set_winsize PARAMS((int)); + +/* **************************************************************** */ +/* */ +/* Saving and Restoring the TTY */ +/* */ +/* **************************************************************** */ + +/* Non-zero means that the terminal is in a prepped state. There are several + flags that are OR'd in to denote whether or not we have sent various + init strings to the terminal. */ +#define TPX_PREPPED 0x01 +#define TPX_BRACKPASTE 0x02 +#define TPX_METAKEY 0x04 + +static int terminal_prepped; + +static _RL_TTY_CHARS _rl_tty_chars, _rl_last_tty_chars; + +/* If non-zero, means that this process has called tcflow(fd, TCOOFF) + and output is suspended. */ +#if defined (__ksr1__) +static int ksrflow; +#endif + +/* Dummy call to force a backgrounded readline to stop before it tries + to get the tty settings. */ +static void +set_winsize (tty) + int tty; +{ +#if defined (TIOCGWINSZ) + struct winsize w; + + if (ioctl (tty, TIOCGWINSZ, &w) == 0) + (void) ioctl (tty, TIOCSWINSZ, &w); +#endif /* TIOCGWINSZ */ +} + +#if defined (NO_TTY_DRIVER) +/* Nothing */ +#elif defined (NEW_TTY_DRIVER) + +/* Values for the `flags' field of a struct bsdtty. This tells which + elements of the struct bsdtty have been fetched from the system and + are valid. */ +#define SGTTY_SET 0x01 +#define LFLAG_SET 0x02 +#define TCHARS_SET 0x04 +#define LTCHARS_SET 0x08 + +struct bsdtty { + struct sgttyb sgttyb; /* Basic BSD tty driver information. */ + int lflag; /* Local mode flags, like LPASS8. */ +#if defined (TIOCGETC) + struct tchars tchars; /* Terminal special characters, including ^S and ^Q. */ +#endif +#if defined (TIOCGLTC) + struct ltchars ltchars; /* 4.2 BSD editing characters */ +#endif + int flags; /* Bitmap saying which parts of the struct are valid. */ +}; + +#define TIOTYPE struct bsdtty + +static TIOTYPE otio; + +static void save_tty_chars PARAMS((TIOTYPE *)); +static int _get_tty_settings PARAMS((int, TIOTYPE *)); +static int get_tty_settings PARAMS((int, TIOTYPE *)); +static int _set_tty_settings PARAMS((int, TIOTYPE *)); +static int set_tty_settings PARAMS((int, TIOTYPE *)); + +static void prepare_terminal_settings PARAMS((int, TIOTYPE, TIOTYPE *)); + +static void set_special_char PARAMS((Keymap, TIOTYPE *, int, rl_command_func_t *)); + +static void +save_tty_chars (tiop) + TIOTYPE *tiop; +{ + _rl_last_tty_chars = _rl_tty_chars; + + if (tiop->flags & SGTTY_SET) + { + _rl_tty_chars.t_erase = tiop->sgttyb.sg_erase; + _rl_tty_chars.t_kill = tiop->sgttyb.sg_kill; + } + + if (tiop->flags & TCHARS_SET) + { + _rl_intr_char = _rl_tty_chars.t_intr = tiop->tchars.t_intrc; + _rl_quit_char = _rl_tty_chars.t_quit = tiop->tchars.t_quitc; + + _rl_tty_chars.t_start = tiop->tchars.t_startc; + _rl_tty_chars.t_stop = tiop->tchars.t_stopc; + _rl_tty_chars.t_eof = tiop->tchars.t_eofc; + _rl_tty_chars.t_eol = '\n'; + _rl_tty_chars.t_eol2 = tiop->tchars.t_brkc; + } + + if (tiop->flags & LTCHARS_SET) + { + _rl_susp_char = _rl_tty_chars.t_susp = tiop->ltchars.t_suspc; + + _rl_tty_chars.t_dsusp = tiop->ltchars.t_dsuspc; + _rl_tty_chars.t_reprint = tiop->ltchars.t_rprntc; + _rl_tty_chars.t_flush = tiop->ltchars.t_flushc; + _rl_tty_chars.t_werase = tiop->ltchars.t_werasc; + _rl_tty_chars.t_lnext = tiop->ltchars.t_lnextc; + } + + _rl_tty_chars.t_status = -1; +} + +static int +get_tty_settings (tty, tiop) + int tty; + TIOTYPE *tiop; +{ + set_winsize (tty); + + tiop->flags = tiop->lflag = 0; + + errno = 0; + if (ioctl (tty, TIOCGETP, &(tiop->sgttyb)) < 0) + return -1; + tiop->flags |= SGTTY_SET; + +#if defined (TIOCLGET) + if (ioctl (tty, TIOCLGET, &(tiop->lflag)) == 0) + tiop->flags |= LFLAG_SET; +#endif + +#if defined (TIOCGETC) + if (ioctl (tty, TIOCGETC, &(tiop->tchars)) == 0) + tiop->flags |= TCHARS_SET; +#endif + +#if defined (TIOCGLTC) + if (ioctl (tty, TIOCGLTC, &(tiop->ltchars)) == 0) + tiop->flags |= LTCHARS_SET; +#endif + + return 0; +} + +static int +set_tty_settings (tty, tiop) + int tty; + TIOTYPE *tiop; +{ + if (tiop->flags & SGTTY_SET) + { + ioctl (tty, TIOCSETN, &(tiop->sgttyb)); + tiop->flags &= ~SGTTY_SET; + } + _rl_echoing_p = 1; + +#if defined (TIOCLSET) + if (tiop->flags & LFLAG_SET) + { + ioctl (tty, TIOCLSET, &(tiop->lflag)); + tiop->flags &= ~LFLAG_SET; + } +#endif + +#if defined (TIOCSETC) + if (tiop->flags & TCHARS_SET) + { + ioctl (tty, TIOCSETC, &(tiop->tchars)); + tiop->flags &= ~TCHARS_SET; + } +#endif + +#if defined (TIOCSLTC) + if (tiop->flags & LTCHARS_SET) + { + ioctl (tty, TIOCSLTC, &(tiop->ltchars)); + tiop->flags &= ~LTCHARS_SET; + } +#endif + + return 0; +} + +static void +prepare_terminal_settings (meta_flag, oldtio, tiop) + int meta_flag; + TIOTYPE oldtio, *tiop; +{ + _rl_echoing_p = (oldtio.sgttyb.sg_flags & ECHO); + _rl_echoctl = (oldtio.sgttyb.sg_flags & ECHOCTL); + + /* Copy the original settings to the structure we're going to use for + our settings. */ + tiop->sgttyb = oldtio.sgttyb; + tiop->lflag = oldtio.lflag; +#if defined (TIOCGETC) + tiop->tchars = oldtio.tchars; +#endif +#if defined (TIOCGLTC) + tiop->ltchars = oldtio.ltchars; +#endif + tiop->flags = oldtio.flags; + + /* First, the basic settings to put us into character-at-a-time, no-echo + input mode. */ + tiop->sgttyb.sg_flags &= ~(ECHO | CRMOD); + tiop->sgttyb.sg_flags |= CBREAK; + + /* If this terminal doesn't care how the 8th bit is used, then we can + use it for the meta-key. If only one of even or odd parity is + specified, then the terminal is using parity, and we cannot. */ +#if !defined (ANYP) +# define ANYP (EVENP | ODDP) +#endif + if (((oldtio.sgttyb.sg_flags & ANYP) == ANYP) || + ((oldtio.sgttyb.sg_flags & ANYP) == 0)) + { + tiop->sgttyb.sg_flags |= ANYP; + + /* Hack on local mode flags if we can. */ +#if defined (TIOCLGET) +# if defined (LPASS8) + tiop->lflag |= LPASS8; +# endif /* LPASS8 */ +#endif /* TIOCLGET */ + } + +#if defined (TIOCGETC) +# if defined (USE_XON_XOFF) + /* Get rid of terminal output start and stop characters. */ + tiop->tchars.t_stopc = -1; /* C-s */ + tiop->tchars.t_startc = -1; /* C-q */ + + /* If there is an XON character, bind it to restart the output. */ + if (oldtio.tchars.t_startc != -1) + rl_bind_key (oldtio.tchars.t_startc, rl_restart_output); +# endif /* USE_XON_XOFF */ + + /* If there is an EOF char, bind _rl_eof_char to it. */ + if (oldtio.tchars.t_eofc != -1) + _rl_eof_char = oldtio.tchars.t_eofc; + +# if defined (NO_KILL_INTR) + /* Get rid of terminal-generated SIGQUIT and SIGINT. */ + tiop->tchars.t_quitc = -1; /* C-\ */ + tiop->tchars.t_intrc = -1; /* C-c */ +# endif /* NO_KILL_INTR */ +#endif /* TIOCGETC */ + +#if defined (TIOCGLTC) + /* Make the interrupt keys go away. Just enough to make people happy. */ + tiop->ltchars.t_dsuspc = -1; /* C-y */ + tiop->ltchars.t_lnextc = -1; /* C-v */ +#endif /* TIOCGLTC */ +} + +#else /* !defined (NEW_TTY_DRIVER) */ + +#if !defined (VMIN) +# define VMIN VEOF +#endif + +#if !defined (VTIME) +# define VTIME VEOL +#endif + +#if defined (TERMIOS_TTY_DRIVER) +# define TIOTYPE struct termios +# define DRAIN_OUTPUT(fd) tcdrain (fd) +# define GETATTR(tty, tiop) (tcgetattr (tty, tiop)) +# ifdef M_UNIX +# define SETATTR(tty, tiop) (tcsetattr (tty, TCSANOW, tiop)) +# else +# define SETATTR(tty, tiop) (tcsetattr (tty, TCSADRAIN, tiop)) +# endif /* !M_UNIX */ +#else +# define TIOTYPE struct termio +# define DRAIN_OUTPUT(fd) +# define GETATTR(tty, tiop) (ioctl (tty, TCGETA, tiop)) +# define SETATTR(tty, tiop) (ioctl (tty, TCSETAW, tiop)) +#endif /* !TERMIOS_TTY_DRIVER */ + +static TIOTYPE otio; + +static void save_tty_chars PARAMS((TIOTYPE *)); +static int _get_tty_settings PARAMS((int, TIOTYPE *)); +static int get_tty_settings PARAMS((int, TIOTYPE *)); +static int _set_tty_settings PARAMS((int, TIOTYPE *)); +static int set_tty_settings PARAMS((int, TIOTYPE *)); + +static void prepare_terminal_settings PARAMS((int, TIOTYPE, TIOTYPE *)); + +static void set_special_char PARAMS((Keymap, TIOTYPE *, int, rl_command_func_t *)); +static void _rl_bind_tty_special_chars PARAMS((Keymap, TIOTYPE)); + +#if defined (FLUSHO) +# define OUTPUT_BEING_FLUSHED(tp) (tp->c_lflag & FLUSHO) +#else +# define OUTPUT_BEING_FLUSHED(tp) 0 +#endif + +static void +save_tty_chars (tiop) + TIOTYPE *tiop; +{ + _rl_last_tty_chars = _rl_tty_chars; + + _rl_tty_chars.t_eof = tiop->c_cc[VEOF]; + _rl_tty_chars.t_eol = tiop->c_cc[VEOL]; +#ifdef VEOL2 + _rl_tty_chars.t_eol2 = tiop->c_cc[VEOL2]; +#endif + _rl_tty_chars.t_erase = tiop->c_cc[VERASE]; +#ifdef VWERASE + _rl_tty_chars.t_werase = tiop->c_cc[VWERASE]; +#endif + _rl_tty_chars.t_kill = tiop->c_cc[VKILL]; +#ifdef VREPRINT + _rl_tty_chars.t_reprint = tiop->c_cc[VREPRINT]; +#endif + _rl_intr_char = _rl_tty_chars.t_intr = tiop->c_cc[VINTR]; + _rl_quit_char = _rl_tty_chars.t_quit = tiop->c_cc[VQUIT]; +#ifdef VSUSP + _rl_susp_char = _rl_tty_chars.t_susp = tiop->c_cc[VSUSP]; +#endif +#ifdef VDSUSP + _rl_tty_chars.t_dsusp = tiop->c_cc[VDSUSP]; +#endif +#ifdef VSTART + _rl_tty_chars.t_start = tiop->c_cc[VSTART]; +#endif +#ifdef VSTOP + _rl_tty_chars.t_stop = tiop->c_cc[VSTOP]; +#endif +#ifdef VLNEXT + _rl_tty_chars.t_lnext = tiop->c_cc[VLNEXT]; +#endif +#ifdef VDISCARD + _rl_tty_chars.t_flush = tiop->c_cc[VDISCARD]; +#endif +#ifdef VSTATUS + _rl_tty_chars.t_status = tiop->c_cc[VSTATUS]; +#endif +} + +#if defined (_AIX) || defined (_AIX41) +/* Currently this is only used on AIX */ +static void +rltty_warning (msg) + char *msg; +{ + _rl_errmsg ("warning: %s", msg); +} +#endif + +#if defined (_AIX) +void +setopost(tp) +TIOTYPE *tp; +{ + if ((tp->c_oflag & OPOST) == 0) + { + _rl_errmsg ("warning: turning on OPOST for terminal\r"); + tp->c_oflag |= OPOST|ONLCR; + } +} +#endif + +static int +_get_tty_settings (tty, tiop) + int tty; + TIOTYPE *tiop; +{ + int ioctl_ret; + + while (1) + { + ioctl_ret = GETATTR (tty, tiop); + if (ioctl_ret < 0) + { + if (errno != EINTR) + return -1; + else + continue; + } + if (OUTPUT_BEING_FLUSHED (tiop)) + { +#if defined (FLUSHO) + _rl_errmsg ("warning: turning off output flushing"); + tiop->c_lflag &= ~FLUSHO; + break; +#else + continue; +#endif + } + break; + } + + return 0; +} + +static int +get_tty_settings (tty, tiop) + int tty; + TIOTYPE *tiop; +{ + set_winsize (tty); + + errno = 0; + if (_get_tty_settings (tty, tiop) < 0) + return -1; + +#if defined (_AIX) + setopost(tiop); +#endif + + return 0; +} + +static int +_set_tty_settings (tty, tiop) + int tty; + TIOTYPE *tiop; +{ + while (SETATTR (tty, tiop) < 0) + { + if (errno != EINTR) + return -1; + errno = 0; + } + return 0; +} + +static int +set_tty_settings (tty, tiop) + int tty; + TIOTYPE *tiop; +{ + if (_set_tty_settings (tty, tiop) < 0) + return -1; + +#if 0 + +#if defined (TERMIOS_TTY_DRIVER) +# if defined (__ksr1__) + if (ksrflow) + { + ksrflow = 0; + tcflow (tty, TCOON); + } +# else /* !ksr1 */ + tcflow (tty, TCOON); /* Simulate a ^Q. */ +# endif /* !ksr1 */ +#else + ioctl (tty, TCXONC, 1); /* Simulate a ^Q. */ +#endif /* !TERMIOS_TTY_DRIVER */ + +#endif /* 0 */ + + return 0; +} + +static void +prepare_terminal_settings (meta_flag, oldtio, tiop) + int meta_flag; + TIOTYPE oldtio, *tiop; +{ + _rl_echoing_p = (oldtio.c_lflag & ECHO); +#if defined (ECHOCTL) + _rl_echoctl = (oldtio.c_lflag & ECHOCTL); +#endif + + tiop->c_lflag &= ~(ICANON | ECHO); + + if ((unsigned char) oldtio.c_cc[VEOF] != (unsigned char) _POSIX_VDISABLE) + _rl_eof_char = oldtio.c_cc[VEOF]; + +#if defined (USE_XON_XOFF) +#if defined (IXANY) + tiop->c_iflag &= ~(IXON | IXANY); +#else + /* `strict' Posix systems do not define IXANY. */ + tiop->c_iflag &= ~IXON; +#endif /* IXANY */ +#endif /* USE_XON_XOFF */ + + /* Only turn this off if we are using all 8 bits. */ + if (((tiop->c_cflag & CSIZE) == CS8) || meta_flag) + tiop->c_iflag &= ~(ISTRIP | INPCK); + + /* Make sure we differentiate between CR and NL on input. */ + tiop->c_iflag &= ~(ICRNL | INLCR); + +#if !defined (HANDLE_SIGNALS) + tiop->c_lflag &= ~ISIG; +#else + tiop->c_lflag |= ISIG; +#endif + + tiop->c_cc[VMIN] = 1; + tiop->c_cc[VTIME] = 0; + +#if defined (FLUSHO) + if (OUTPUT_BEING_FLUSHED (tiop)) + { + tiop->c_lflag &= ~FLUSHO; + oldtio.c_lflag &= ~FLUSHO; + } +#endif + + /* Turn off characters that we need on Posix systems with job control, + just to be sure. This includes ^Y and ^V. This should not really + be necessary. */ +#if defined (TERMIOS_TTY_DRIVER) && defined (_POSIX_VDISABLE) + +#if defined (VLNEXT) + tiop->c_cc[VLNEXT] = _POSIX_VDISABLE; +#endif + +#if defined (VDSUSP) + tiop->c_cc[VDSUSP] = _POSIX_VDISABLE; +#endif + +#endif /* TERMIOS_TTY_DRIVER && _POSIX_VDISABLE */ +} +#endif /* !NEW_TTY_DRIVER */ + +/* Put the terminal in CBREAK mode so that we can detect key presses. */ +#if defined (NO_TTY_DRIVER) +void +rl_prep_terminal (meta_flag) + int meta_flag; +{ + _rl_echoing_p = 1; +} + +void +rl_deprep_terminal () +{ +} + +#else /* ! NO_TTY_DRIVER */ +void +rl_prep_terminal (meta_flag) + int meta_flag; +{ + int tty, nprep; + TIOTYPE tio; + + if (terminal_prepped) + return; + + /* Try to keep this function from being INTerrupted. */ + _rl_block_sigint (); + + tty = rl_instream ? fileno (rl_instream) : fileno (stdin); + + if (get_tty_settings (tty, &tio) < 0) + { +#if defined (ENOTSUP) + /* MacOS X and Linux, at least, lie about the value of errno if + tcgetattr fails. */ + if (errno == ENOTTY || errno == EINVAL || errno == ENOTSUP) +#else + if (errno == ENOTTY || errno == EINVAL) +#endif + _rl_echoing_p = 1; /* XXX */ + + _rl_release_sigint (); + return; + } + + otio = tio; + + if (_rl_bind_stty_chars) + { +#if defined (VI_MODE) + /* If editing in vi mode, make sure we restore the bindings in the + insertion keymap no matter what keymap we ended up in. */ + if (rl_editing_mode == vi_mode) + rl_tty_unset_default_bindings (vi_insertion_keymap); + else +#endif + rl_tty_unset_default_bindings (_rl_keymap); + } + save_tty_chars (&otio); + RL_SETSTATE(RL_STATE_TTYCSAVED); + if (_rl_bind_stty_chars) + { +#if defined (VI_MODE) + /* If editing in vi mode, make sure we set the bindings in the + insertion keymap no matter what keymap we ended up in. */ + if (rl_editing_mode == vi_mode) + _rl_bind_tty_special_chars (vi_insertion_keymap, tio); + else +#endif + _rl_bind_tty_special_chars (_rl_keymap, tio); + } + + prepare_terminal_settings (meta_flag, otio, &tio); + + if (set_tty_settings (tty, &tio) < 0) + { + _rl_release_sigint (); + return; + } + + if (_rl_enable_keypad) + _rl_control_keypad (1); + + nprep = TPX_PREPPED; + + if (_rl_enab + fflush (rl_outstream); + terminal_prepped = nprep; + RL_SETSTATE(RL_STATE_TERMPREPPED); + + _rl_release_sigint (); +} + +/* Restore the terminal's normal settings and modes. */ +void +rl_deprep_terminal () +{ + int tty; + + if (!terminal_prepped) + return; + + /* Try to keep this function from being interrupted. */ + _rl_block_sigint (); + + tty = rl_instream ? fileno (rl_instream) : fileno (stdin); + + if (_rl_enable_keypad) + _rl_control_keypad (0); + + fflush (rl_outstream); + + if (set_tty_settings (tty, &otio) < 0) + { + _rl_release_sigint (); + return; + } + + terminal_prepped = 0; + RL_UNSETSTATE(RL_STATE_TERMPREPPED); + + _rl_release_sigint (); +} +#endif /* !NO_TTY_DRIVER */ + +/* **************************************************************** */ +/* */ +/* Bogus Flow Control */ +/* */ +/* **************************************************************** */ + +int +rl_restart_output (count, key) + int count, key; +{ +#if defined (__MINGW32__) + return 0; +#else /* !__MING32__ */ + + int fildes = fileno (rl_outstream); +#if defined (TIOCSTART) +#if defined (apollo) + ioctl (&fildes, TIOCSTART, 0); +#else + ioctl (fildes, TIOCSTART, 0); +#endif /* apollo */ + +#else /* !TIOCSTART */ +# if defined (TERMIOS_TTY_DRIVER) +# if defined (__ksr1__) + if (ksrflow) + { + ksrflow = 0; + tcflow (fildes, TCOON); + } +# else /* !ksr1 */ + tcflow (fildes, TCOON); /* Simulate a ^Q. */ +# endif /* !ksr1 */ +# else /* !TERMIOS_TTY_DRIVER */ +# if defined (TCXONC) + ioctl (fildes, TCXONC, TCOON); +# endif /* TCXONC */ +# endif /* !TERMIOS_TTY_DRIVER */ +#endif /* !TIOCSTART */ + + return 0; +#endif /* !__MINGW32__ */ +} + +int +rl_stop_output (count, key) + int count, key; +{ +#if defined (__MINGW32__) + return 0; +#else + + int fildes = fileno (rl_instream); + +#if defined (TIOCSTOP) +# if defined (apollo) + ioctl (&fildes, TIOCSTOP, 0); +# else + ioctl (fildes, TIOCSTOP, 0); +# endif /* apollo */ +#else /* !TIOCSTOP */ +# if defined (TERMIOS_TTY_DRIVER) +# if defined (__ksr1__) + ksrflow = 1; +# endif /* ksr1 */ + tcflow (fildes, TCOOFF); +# else +# if defined (TCXONC) + ioctl (fildes, TCXONC, TCOON); +# endif /* TCXONC */ +# endif /* !TERMIOS_TTY_DRIVER */ +#endif /* !TIOCSTOP */ + + return 0; +#endif /* !__MINGW32__ */ +} + +/* **************************************************************** */ +/* */ +/* Default Key Bindings */ +/* */ +/* **************************************************************** */ + +#if !defined (NO_TTY_DRIVER) +#define SET_SPECIAL(sc, func) set_special_char(kmap, &ttybuff, sc, func) +#endif + +#if defined (NO_TTY_DRIVER) + +#define SET_SPECIAL(sc, func) +#define RESET_SPECIAL(c) + +#elif defined (NEW_TTY_DRIVER) +static void +set_special_char (kmap, tiop, sc, func) + Keymap kmap; + TIOTYPE *tiop; + int sc; + rl_command_func_t *func; +{ + if (sc != -1 && kmap[(unsigned char)sc].type == ISFUNC) + kmap[(unsigned char)sc].function = func; +} + +#define RESET_SPECIAL(c) \ + if (c != -1 && kmap[(unsigned char)c].type == ISFUNC) \ + kmap[(unsigned char)c].function = rl_insert; + +static void +_rl_bind_tty_special_chars (kmap, ttybuff) + Keymap kmap; + TIOTYPE ttybuff; +{ + if (ttybuff.flags & SGTTY_SET) + { + SET_SPECIAL (ttybuff.sgttyb.sg_erase, rl_rubout); + SET_SPECIAL (ttybuff.sgttyb.sg_kill, rl_unix_line_discard); + } + +# if defined (TIOCGLTC) + if (ttybuff.flags & LTCHARS_SET) + { + SET_SPECIAL (ttybuff.ltchars.t_werasc, rl_unix_word_rubout); + SET_SPECIAL (ttybuff.ltchars.t_lnextc, rl_quoted_insert); + } +# endif /* TIOCGLTC */ +} + +#else /* !NEW_TTY_DRIVER */ +static void +set_special_char (kmap, tiop, sc, func) + Keymap kmap; + TIOTYPE *tiop; + int sc; + rl_command_func_t *func; +{ + unsigned char uc; + + uc = tiop->c_cc[sc]; + if (uc != (unsigned char)_POSIX_VDISABLE && kmap[uc].type == ISFUNC) + kmap[uc].function = func; +} + +/* used later */ +#define RESET_SPECIAL(uc) \ + if (uc != (unsigned char)_POSIX_VDISABLE && kmap[uc].type == ISFUNC) \ + kmap[uc].function = rl_insert; + +static void +_rl_bind_tty_special_chars (kmap, ttybuff) + Keymap kmap; + TIOTYPE ttybuff; +{ + SET_SPECIAL (VERASE, rl_rubout); + SET_SPECIAL (VKILL, rl_unix_line_discard); + +# if defined (VLNEXT) && defined (TERMIOS_TTY_DRIVER) + SET_SPECIAL (VLNEXT, rl_quoted_insert); +# endif /* VLNEXT && TERMIOS_TTY_DRIVER */ + +# if defined (VWERASE) && defined (TERMIOS_TTY_DRIVER) + SET_SPECIAL (VWERASE, rl_unix_word_rubout); +# endif /* VWERASE && TERMIOS_TTY_DRIVER */ +} + +#endif /* !NEW_TTY_DRIVER */ + +/* Set the system's default editing characters to their readline equivalents + in KMAP. Should be static, now that we have rl_tty_set_default_bindings. */ +void +rltty_set_default_bindings (kmap) + Keymap kmap; +{ +#if !defined (NO_TTY_DRIVER) + TIOTYPE ttybuff; + int tty; + + tty = fileno (rl_instream); + + if (get_tty_settings (tty, &ttybuff) == 0) + _rl_bind_tty_special_chars (kmap, ttybuff); +#endif +} + +/* New public way to set the system default editing chars to their readline + equivalents. */ +void +rl_tty_set_default_bindings (kmap) + Keymap kmap; +{ + rltty_set_default_bindings (kmap); +} + +/* Rebind all of the tty special chars that readline worries about back + to self-insert. Call this before saving the current terminal special + chars with save_tty_chars(). This only works on POSIX termios or termio + systems. */ +void +rl_tty_unset_default_bindings (kmap) + Keymap kmap; +{ + /* Don't bother before we've saved the tty special chars at least once. */ + if (RL_ISSTATE(RL_STATE_TTYCSAVED) == 0) + return; + + RESET_SPECIAL (_rl_tty_chars.t_erase); + RESET_SPECIAL (_rl_tty_chars.t_kill); + +# if defined (VLNEXT) && defined (TERMIOS_TTY_DRIVER) + RESET_SPECIAL (_rl_tty_chars.t_lnext); +# endif /* VLNEXT && TERMIOS_TTY_DRIVER */ + +# if defined (VWERASE) && defined (TERMIOS_TTY_DRIVER) + RESET_SPECIAL (_rl_tty_chars.t_werase); +# endif /* VWERASE && TERMIOS_TTY_DRIVER */ +} + +#if defined (HANDLE_SIGNALS) + +#if defined (NEW_TTY_DRIVER) || defined (NO_TTY_DRIVER) +int +_rl_disable_tty_signals () +{ + return 0; +} + +int +_rl_restore_tty_signals () +{ + return 0; +} +#else + +static TIOTYPE sigstty, nosigstty; +static int tty_sigs_disabled = 0; + +int +_rl_disable_tty_signals () +{ + if (tty_sigs_disabled) + return 0; + + if (_get_tty_settings (fileno (rl_instream), &sigstty) < 0) + return -1; + + nosigstty = sigstty; + + nosigstty.c_lflag &= ~ISIG; + nosigstty.c_iflag &= ~IXON; + + if (_set_tty_settings (fileno (rl_instream), &nosigstty) < 0) + return (_set_tty_settings (fileno (rl_instream), &sigstty)); + + tty_sigs_disabled = 1; + return 0; +} + +int +_rl_restore_tty_signals () +{ + int r; + + if (tty_sigs_disabled == 0) + return 0; + + r = _set_tty_settings (fileno (rl_instream), &sigstty); + + if (r == 0) + tty_sigs_disabled = 0; + + return r; +} +#endif /* !NEW_TTY_DRIVER */ + +#endif /* HANDLE_SIGNALS */ diff --git a/lib/readline/doc/Makefile.old b/lib/readline/doc/Makefile.old new file mode 100644 index 000000000..58d4dd762 --- /dev/null +++ b/lib/readline/doc/Makefile.old @@ -0,0 +1,76 @@ +# This makefile for Readline library documentation is in -*- text -*- mode. +# Emacs likes it that way. +RM = rm -f + +MAKEINFO = makeinfo +TEXI2DVI = texi2dvi +TEXI2HTML = texi2html +QUIETPS = #set this to -q to shut up dvips +DVIPS = dvips -D 300 $(QUIETPS) -o $@ # tricky + +INSTALL_DATA = cp +infodir = /usr/local/info + +RLSRC = rlman.texinfo rluser.texinfo rltech.texinfo +HISTSRC = hist.texinfo hsuser.texinfo hstech.texinfo + +DVIOBJ = readline.dvi history.dvi +INFOOBJ = readline.info history.info +PSOBJ = readline.ps history.ps +HTMLOBJ = readline.html history.html + +all: info dvi html ps +nodvi: info html + +readline.dvi: $(RLSRC) + $(TEXI2DVI) rlman.texinfo + mv rlman.dvi readline.dvi + +readline.info: $(RLSRC) + $(MAKEINFO) --no-split -o $@ rlman.texinfo + +history.dvi: ${HISTSRC} + $(TEXI2DVI) hist.texinfo + mv hist.dvi history.dvi + +history.info: ${HISTSRC} + $(MAKEINFO) --no-split -o $@ hist.texinfo + +readline.ps: readline.dvi + $(RM) $@ + $(DVIPS) readline.dvi + +history.ps: history.dvi + $(RM) $@ + $(DVIPS) history.dvi + +readline.html: ${RLSRC} + $(TEXI2HTML) rlman.texinfo + sed -e 's:rlman.html:readline.html:' -e 's:rlman_toc.html:readline_toc.html:' rlman.html > readline.html + sed -e 's:rlman.html:readline.html:' -e 's:rlman_toc.html:readline_toc.html:' rlman_toc.html > readline_toc.html + $(RM) rlman.html rlman_toc.html + +history.html: ${HISTSRC} + $(TEXI2HTML) hist.texinfo + sed -e 's:hist.html:history.html:' -e 's:hist_toc.html:history_toc.html:' hist.html > history.html + sed -e 's:hist.html:history.html:' -e 's:hist_toc.html:history_toc.html:' hist_toc.html > history_toc.html + $(RM) hist.html hist_toc.html + +info: $(INFOOBJ) +dvi: $(DVIOBJ) +ps: $(PSOBJ) +html: $(HTMLOBJ) + +clean: + $(RM) *.aux *.cp *.fn *.ky *.log *.pg *.toc *.tp *.vr *.cps *.pgs \ + *.fns *.kys *.tps *.vrs *.o core + +distclean: clean +mostlyclean: clean + +maintainer-clean: clean + $(RM) *.dvi *.info *.info-* *.ps *.html + +install: info + ${INSTALL_DATA} readline.info $(infodir)/readline.info + ${INSTALL_DATA} history.info $(infodir)/history.info diff --git a/lib/readline/histfile.c b/lib/readline/histfile.c index 824f42493..30bfe86b7 100644 --- a/lib/readline/histfile.c +++ b/lib/readline/histfile.c @@ -102,6 +102,16 @@ extern int errno; /* If non-zero, we write timestamps to the history file in history_do_write() */ int history_write_timestamps = 0; +/* Immediately after a call to read_history() or read_history_range(), this + will return the number of lines just read from the history file in that + call. */ +int history_lines_read_from_file = 0; + +/* Immediately after a call to write_history() or history_do_write(), this + will return the number of lines just written to the history file in that + call. This also works with history_truncate_file. */ +int history_lines_written_to_file = 0; + /* Does S look like the beginning of a history timestamp entry? Placeholder for more extensive tests. */ #define HIST_TIMESTAMP_START(s) (*(s) == history_comment_char && isdigit ((s)[1]) ) @@ -189,6 +199,8 @@ read_history_range (filename, from, to) int overflow_errno = EIO; #endif + history_lines_read_from_file = 0; + buffer = last_ts = (char *)NULL; input = history_filename (filename); file = input ? open (input, O_RDONLY|O_BINARY, 0666) : -1; @@ -301,6 +313,8 @@ read_history_range (filename, from, to) line_start = line_end + 1; } + history_lines_read_from_file = current_line; + FREE (input); #ifndef HISTORY_USE_MMAP FREE (buffer); @@ -320,15 +334,17 @@ history_truncate_file (fname, lines) int lines; { char *buffer, *filename, *bakname, *bp, *bp1; /* bp1 == bp+1 */ - int file, chars_read, rv; + int file, chars_read, rv, orig_lines, exists; struct stat finfo; size_t file_size; + history_lines_written_to_file = 0; + buffer = (char *)NULL; filename = history_filename (fname); bakname = 0; file = filename ? open (filename, O_RDONLY|O_BINARY, 0666) : -1; - rv = 0; + rv = exists = 0; /* Don't try to truncate non-regular files. */ if (file == -1 || fstat (file, &finfo) == -1) @@ -338,6 +354,7 @@ history_truncate_file (fname, lines) close (file); goto truncate_exit; } + exists = 1; if (S_ISREG (finfo.st_mode) == 0) { @@ -383,6 +400,7 @@ history_truncate_file (fname, lines) goto truncate_exit; } + orig_lines = lines; /* Count backwards from the end of buffer until we have passed LINES lines. bp1 is set funny initially. But since bp[1] can't be a comment character (since it's off the end) and *bp can't be @@ -414,6 +432,8 @@ history_truncate_file (fname, lines) if (bp <= buffer) { rv = 0; + /* No-op if LINES == 0 at this point */ + history_lines_written_to_file = orig_lines - lines; goto truncate_exit; } @@ -440,18 +460,27 @@ history_truncate_file (fname, lines) truncate_exit: FREE (buffer); + history_lines_written_to_file = orig_lines - lines; + if (rv != 0 && filename && bakname) rename (bakname, filename); else if (rv == 0 && bakname) unlink (bakname); + /* Make sure the new filename is owned by the same user as the old. If one + user is running this, it's a no-op. If the shell is running after sudo + with a shared history file, we don't want to leave the history file + owned by root. */ + if (rv == 0 && exists) + chown (filename, finfo.st_uid, finfo.st_gid); + xfree (filename); FREE (bakname); return rv; } -/* Workhorse function for writing history. Writes NELEMENT entries +/* Workhorse function for writing history. Writes the last NELEMENT entries from the history list to FILENAME. OVERWRITE is non-zero if you wish to replace FILENAME with the entries. */ static int @@ -461,16 +490,20 @@ history_do_write (filename, nelements, overwrite) { register int i; char *output, *bakname; - int file, mode, rv; + int file, mode, rv, exists; + struct stat finfo; #ifdef HISTORY_USE_MMAP size_t cursize; + history_lines_written_to_file = 0; + mode = overwrite ? O_RDWR|O_CREAT|O_TRUNC|O_BINARY : O_RDWR|O_APPEND|O_BINARY; #else mode = overwrite ? O_WRONLY|O_CREAT|O_TRUNC|O_BINARY : O_WRONLY|O_APPEND|O_BINARY; #endif output = history_filename (filename); bakname = (overwrite && output) ? history_backupfile (output) : 0; + exists = output ? (stat (output, &finfo) == 0) : 0; if (output && bakname) rename (output, bakname); @@ -569,6 +602,8 @@ mmap_error: #endif } + history_lines_written_to_file = nelements; + if (close (file) < 0 && rv == 0) rv = errno; @@ -577,6 +612,13 @@ mmap_error: else if (rv == 0 && bakname) unlink (bakname); + /* Make sure the new filename is owned by the same user as the old. If one + user is running this, it's a no-op. If the shell is running after sudo + with a shared history file, we don't want to leave the history file + owned by root. */ + if (rv == 0 && exists) + chown (output, finfo.st_uid, finfo.st_gid); + FREE (output); FREE (bakname); diff --git a/lib/readline/history.h b/lib/readline/history.h index c8af47e5a..779a573c9 100644 --- a/lib/readline/history.h +++ b/lib/readline/history.h @@ -241,6 +241,10 @@ extern char **history_tokenize PARAMS((const char *)); extern int history_base; extern int history_length; extern int history_max_entries; + +extern int history_lines_read_from_file; +extern int history_lines_written_to_file; + extern char history_expansion_char; extern char history_subst_char; extern char *history_word_delimiters; diff --git a/lib/readline/readline.c b/lib/readline/readline.c index ed838eb4a..2e645e2a6 100644 --- a/lib/readline/readline.c +++ b/lib/readline/readline.c @@ -1344,6 +1344,7 @@ rl_save_state (sp) sp->lastfunc = rl_last_func; sp->insmode = rl_insert_mode; sp->edmode = rl_editing_mode; + sp->kseq = rl_executing_keyseq; sp->kseqlen = rl_key_sequence_length; sp->inf = rl_instream; sp->outf = rl_outstream; @@ -1353,6 +1354,12 @@ rl_save_state (sp) sp->catchsigs = rl_catch_signals; sp->catchsigwinch = rl_catch_sigwinch; + sp->entryfunc = rl_completion_entry_function; + sp->menuentryfunc = rl_menu_completion_entry_function; + sp->ignorefunc = rl_ignore_some_completions_function; + sp->attemptfunc = rl_attempted_completion_function; + sp->wordbreakchars = rl_completer_word_break_characters; + return (0); } @@ -1378,6 +1385,7 @@ rl_restore_state (sp) rl_last_func = sp->lastfunc; rl_insert_mode = sp->insmode; rl_editing_mode = sp->edmode; + rl_executing_keyseq = sp->kseq; rl_key_sequence_length = sp->kseqlen; rl_instream = sp->inf; rl_outstream = sp->outf; @@ -1387,5 +1395,11 @@ rl_restore_state (sp) rl_catch_signals = sp->catchsigs; rl_catch_sigwinch = sp->catchsigwinch; + rl_completion_entry_function = sp->entryfunc; + rl_menu_completion_entry_function = sp->menuentryfunc; + rl_ignore_some_completions_function = sp->ignorefunc; + rl_attempted_completion_function = sp->attemptfunc; + rl_completer_word_break_characters = sp->wordbreakchars; + return (0); } diff --git a/lib/readline/readline.h b/lib/readline/readline.h index 7f9ba3e20..f2acf353e 100644 --- a/lib/readline/readline.h +++ b/lib/readline/readline.h @@ -894,6 +894,7 @@ struct readline_state { rl_command_func_t *lastfunc; int insmode; int edmode; + char *kseq; int kseqlen; FILE *inf; FILE *outf; @@ -907,9 +908,17 @@ struct readline_state { /* search state */ /* completion state */ + rl_compentry_func_t *entryfunc; + rl_compentry_func_t *menuentryfunc; + rl_compentry_func_t *ignorefunc; + rl_compentry_func_t *attemptfunc; + char *wordbreakchars; + /* options state */ + /* hook state */ + /* reserved for future expansion, so the struct size doesn't change */ char reserved[64]; }; diff --git a/po/._ja.po b/po/._ja.po new file mode 100644 index 000000000..f3e04a1b0 Binary files /dev/null and b/po/._ja.po differ diff --git a/po/._ru.po b/po/._ru.po new file mode 100644 index 000000000..0c5cdd478 Binary files /dev/null and b/po/._ru.po differ diff --git a/po/._tr.po b/po/._tr.po new file mode 100644 index 000000000..a9b11e619 Binary files /dev/null and b/po/._tr.po differ diff --git a/support/texi2dvi b/support/texi2dvi index 83c08425d..173e8ab4b 100755 --- a/support/texi2dvi +++ b/support/texi2dvi @@ -1,119 +1,1634 @@ #! /bin/sh -# texi2dvi --- produce DVI (or PDF) files from Texinfo (or LaTeX) sources. -# $Id: texi2dvi,v 1.14 2003/02/05 00:42:33 karl Exp $ +# texi2dvi --- produce DVI (or PDF) files from Texinfo (or (La)TeX) sources. +# $Id: texi2dvi 5704 2014-07-07 17:45:16Z karl $ # -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001, -# 2002, 2003 Free Software Foundation, Inc. +# Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014 +# 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 3 of the License, or -# (at your option) any later version. +# 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 3 of the License, +# or (at your option) any later version. # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# 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, see . +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . # -# Original author: Noah Friedman . +# Originally written by Noah Friedman. # # Please send bug reports, etc. to bug-texinfo@gnu.org. # If possible, please send a copy of the output of the script called with # the `--debug' option when making a bug report. -# This string is expanded by rcs automatically when this file is checked out. -rcs_revision='$Revision: 1.14 $' +test -f /bin/ksh && test -z "$RUNNING_KSH" \ + && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \ + && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; } +unset RUNNING_KSH + +# No failure shall remain unpunished. +set -e + +# In case the default sed doesn't suffice. +: ${SED=sed} + +# This string is expanded automatically when this file is checked out. +rcs_revision='$Revision: 5704 $' rcs_version=`set - $rcs_revision; echo $2` -program=`echo $0 | sed -e 's!.*/!!'` -version="texi2dvi (GNU Texinfo 4.5) $rcs_version +program=`echo $0 | $SED -e 's!.*/!!'` + +build_mode=${TEXI2DVI_BUILD_MODE:-local} +build_dir=${TEXI2DVI_BUILD_DIRECTORY:-.} + +# Initialize variables for option overriding and otherwise. +# Don't use `unset' since old bourne shells don't have this command. +# Instead, assign them an empty value. +action=compile +batch=false # interact normally +catcode_special=maybe +debug=false +escape="\\" +expand=false # true for expansion via makeinfo +includes= +line_error=true # pass --file-line-error to TeX +max_iters=7 # when to quit +oname= # --output +out_lang=dvi +quiet=false # let the tools' message be displayed +set_language= +src_specials= +shell_escape= +latex2html=hevea # or set to tex4ht +textra= # Extra TeX commands to insert in the input file. +txiprereq=19990129 # minimum texinfo.tex version with macro expansion +verb=false # true for verbose mode +translate_file= # name of charset translation file + +orig_pwd=`pwd` + +# We have to initialize IFS to space tab newline since we save and +# restore IFS and apparently POSIX allows stupid/broken behavior with +# empty-but-set IFS. +# http://lists.gnu.org/archive/html/automake-patches/2006-05/msg00008.html +# We need space, tab and new line, in precisely that order. And don't leave +# trailing blanks. +space=' ' +tab=' ' +newline=' +' +IFS="$space$tab$newline" + +# In case someone pedantic insists on using grep -E. +: ${EGREP=egrep} + +# Systems which define $COMSPEC or $ComSpec use semicolons to separate +# directories in TEXINPUTS -- except for Cygwin et al., where COMSPEC +# might be inherited, but : is used. +if test -n "$COMSPEC$ComSpec" \ + && uname | $EGREP -iv 'cygwin|mingw|djgpp' >/dev/null; then + path_sep=";" +else + path_sep=":" +fi + +# Pacify verbose cds. +CDPATH=${ZSH_VERSION+.}$path_sep + +# If $TEX is set to a directory, don't use it. +test -n "$TEX" && test -d "$TEX" && unset TEX + +# +## --------------------- ## +## Auxiliary functions. ## +## --------------------- ## + +# In case `local' is not supported by the shell, provide a function +# that simulates it by simply performing the assignments. This means +# that we must not expect `local' to work, i.e., we must not (i) rely +# on it during recursion, and (ii) have two local declarations of the +# same variable. (ii) is easy to check statically, and our test suite +# does make sure there is never twice a static local declaration of a +# variable. (i) cannot be checked easily, so just be careful. +# +# Note that since we might use a function simulating `local', we can +# no longer rely on the fact that no IFS-splitting is performed. So, +# while +# +# foo=$bar +# +# is fine (no IFS-splitting), never write +# +# local foo=$bar +# +# but rather +# +# local foo="$bar" +( + foo=bar + test_local () { + local foo=foo + } + test_local >/dev/null 2>&1 + test $foo = bar +) || eval ' +local () { + case $1 in + *=*) eval "$1";; + esac +} +' + + +# cd_orig +# ------- +# Return to the original directory. +cd_orig () +{ + # In case $orig_pwd is on a different drive (for DOS). + cd / + + # Return to the original directory so that + # - the next file is processed in correct conditions + # - the temporary file can be removed + cd "$orig_pwd" || exit 1 +} + +# func_dirname FILE +# ----------------- +# Return the directory part of FILE. +func_dirname () +{ + dirname "$1" 2>/dev/null \ + || { echo "$1" | $SED 's!/[^/]*$!!;s!^$!.!'; } +} + + +# noexit FILE +# ----------- +# Return FILE with one extension remove. foo.bar.baz -> foo.bar. +noext () +{ + echo "$1" | $SED -e 's/\.[^/.][^/.]*$//' +} + + +# absolute NAME -> ABS-NAME +# ------------------------- +# Return an absolute path to NAME. +absolute () +{ + case $1 in + [\\/]* | ?:[\\/]*) + # Absolute paths don't need to be expanded. + echo "$1" + ;; + *) local slashes + slashes=`echo "$1" | $SED -n 's,.*[^/]\(/*\)$,\1,p'` + local rel + rel=$orig_pwd/`func_dirname "$1"` + if test -d "$rel"; then + (cd "$rel" 2>/dev/null \ + && local n + n=`pwd`/`basename "$1"`"$slashes" + echo "$n") + else + error 1 "not a directory: $rel" + fi + ;; + esac +} + + +# ensure_dir DIR1 DIR2... +# ----------------------- +# Make sure the directories exist. +ensure_dir () +{ + for dir + do + # Beware that in parallel builds we may have several concurrent + # attempts to create the directory. So fail only if "mkdir" + # failed *and* the directory still does not exist. + test -d "$dir" \ + || mkdir "$dir" \ + || test -d "$dir" \ + || error 1 "cannot create directory: $dir" + done +} + + +# error EXIT_STATUS LINE1 LINE2... +# -------------------------------- +# Report an error and exit with failure if EXIT_STATUS is non-null. +error () +{ + local s="$1" + shift + report "$@" + if test "$s" != 0; then + exit $s + fi +} + + +# findprog PROG +# ------------- +# Return true if PROG is somewhere in PATH, else false. +findprog () +{ + local saveIFS="$IFS" + IFS=$path_sep # break path components at the path separator + for dir in $PATH; do + IFS=$saveIFS + # The basic test for an executable is `test -f $f && test -x $f'. + # (`test -x' is not enough, because it can also be true for directories.) + # We have to try this both for $1 and $1.exe. + # + # Note: On Cygwin and DJGPP, `test -x' also looks for .exe. On Cygwin, + # also `test -f' has this enhancement, but not on DJGPP. (Both are + # design decisions, so there is little chance to make them consistent.) + # Thusly, it seems to be difficult to make use of these enhancements. + # + if { test -f "$dir/$1" && test -x "$dir/$1"; } \ + || { test -f "$dir/$1.exe" && test -x "$dir/$1.exe"; }; then + return 0 + fi + done + return 1 +} + +# report LINE1 LINE2... +# --------------------- +# Report some information on stderr. +report () +{ + for i in "$@" + do + echo >&2 "$0: $i" + done +} + + +# run COMMAND-LINE +# ---------------- +# Run the COMMAND-LINE verbosely, and catching errors as failures. +run () +{ + verbose "Running $@" + "$@" 2>&5 1>&2 \ + || error 1 "$1 failed" +} + + +# usage +# ----- +# Display usage and exit successfully. +usage () +{ + # We used to simply have `echo "$usage"', but coping with the + # changing behavior of `echo' is much harder than simply using a + # here-doc. + # + # echo '\noto' echo '\\noto' echo -e '\\noto' + # bash 3.1 \noto \\noto \noto + # bash 3.2 %oto \noto -e \noto + # + # where % denotes the eol character. + cat < +General help using GNU software: +EOF + exit 0 +} + + +# verbose WORD1 WORD2 +# ------------------- +# Report some verbose information. +verbose () +{ + if $verb; then + echo >&2 "$0: $@" + fi +} + + +# version +# ------- +# Display version info and exit successfully. +version () +{ + cat < +This is free software: you are free to change and redistribute it. +There is NO WARRANTY, to the extent permitted by law. +EOF + exit 0 +} + + +## ---------------- ## +## Handling lists. ## +## ---------------- ## + + +# list_append LIST-NAME ELEM +# -------------------------- +# Set LIST-NAME to its former contents, with ELEM appended. +list_append () +{ + local la_l="$1" + shift + eval set X \$$la_l "$@" + shift + eval $la_l=\""$@"\" +} + + +# list_concat_dirs LIST-NAME DIR-LIST +# ----------------------------------- +# Append to LIST-NAME all the components (included empty) from +# the $path_sep separated list DIR-LIST. Make the paths absolute. +list_concat_dirs () +{ + local lcd_list="$1" + # Empty path components are meaningful to tex. We rewrite them as + # `EMPTY' so they don't get lost when we split on $path_sep. + # Hopefully no one will have an actual directory named EMPTY. + local replace_EMPTY="-e 's/^$path_sep/EMPTY$path_sep/g' \ + -e 's/$path_sep\$/${path_sep}EMPTY/g' \ + -e 's/$path_sep$path_sep/${path_sep}EMPTY:/g'" + save_IFS=$IFS + IFS=$path_sep + set x `echo "$2" | eval $SED $replace_EMPTY`; shift + IFS=$save_IFS + local dir + for dir + do + case $dir in + EMPTY) + list_append $lcd_list "" + ;; + *) + if test -d $dir; then + dir=`absolute "$dir"` + list_append $lcd_list "$dir" + fi + ;; + esac + done +} + + +# list_prefix LIST-NAME SEP -> STRING +# ----------------------------------- +# Return a string that is composed of the LIST-NAME with each item +# preceded by SEP. +list_prefix () +{ + local lp_p="$2" + eval set X \$$1 + shift + local lp_res + for i + do + lp_res="$lp_res \"$lp_p\" \"$i\"" + done + echo "$lp_res" +} + +# list_infix LIST-NAME SEP -> STRING +# ---------------------------------- +# Same as list_prefix, but a separator. +list_infix () +{ + eval set X \$$1 + shift + local la_IFS="$IFS" + IFS=$path_sep + echo "$*" + IFS=$la_IFS +} + +# list_dir_to_abs LIST-NAME +# ------------------------- +# Convert the list to using only absolute dir names. +# Currently unused, but should replace absolute_filenames some day. +list_dir_to_abs () +{ + local ld_l="$1" + eval set X \$$ld_l + shift + local ld_res + for dir + do + dir=`absolute "$dir"` + test -d "$dir" || continue + ld_res="$ld_res \"$dir\"" + done + set X $ld_res; shift + eval $ld_l=\"$@\" +} + + +## ------------------------------ ## +## Language auxiliary functions. ## +## ------------------------------ ## + + +# out_lang_set LANG +# ----------------- +out_lang_set () +{ + case $1 in + dvi|dvipdf|html|info|pdf|ps|text) out_lang=$1;; + *) error 1 "invalid output format: $1";; + esac +} + + +# out_lang_tex +# ------------ +# Return the tex output language (DVI or PDF) for $OUT_LANG. +out_lang_tex () +{ + case $out_lang in + dvi | ps | dvipdf ) echo dvi;; + pdf ) echo $out_lang;; + html | info | text ) echo $out_lang;; + *) error 1 "invalid out_lang: $1";; + esac +} + + +# out_lang_ext +# ------------ +# Return the extension for $OUT_LANG. +out_lang_ext () +{ + case $out_lang in + dvipdf ) echo pdf;; + dvi | html | info | pdf | ps | text ) echo $out_lang;; + *) error 1 "invalid out_lang: $1";; + esac +} + + +## ------------------------- ## +## TeX auxiliary functions. ## +## ------------------------- ## + +# Save TEXINPUTS so we can construct a new TEXINPUTS path for each file. +# Likewise for bibtex and makeindex. +tex_envvars="BIBINPUTS BSTINPUTS DVIPSHEADERS INDEXSTYLE MFINPUTS MPINPUTS \ +TEXINPUTS TFMFONTS" +for var in $tex_envvars; do + eval ${var}_orig=\$$var + export $var +done + + +# absolute_filenames TEX-PATH -> TEX-PATH +# --------------------------------------- +# Convert relative paths to absolute paths, so we can run in another +# directory (e.g., in tidy build mode, or during the macro-support +# detection). Prepend ".". +absolute_filenames () +{ + # Empty path components are meaningful to tex. We rewrite them as + # `EMPTY' so they don't get lost when we split on $path_sep. + # Hopefully no one will have an actual directory named EMPTY. + local replace_empty="-e 's/^$path_sep/EMPTY$path_sep/g' \ + -e 's/$path_sep\$/${path_sep}EMPTY/g' \ + -e 's/$path_sep$path_sep/${path_sep}EMPTY:/g'" + local res + res=`echo "$1" | eval $SED $replace_empty` + save_IFS=$IFS + IFS=$path_sep + set x $res; shift + res=. + for dir + do + case $dir in + EMPTY) + res=$res$path_sep + ;; + *) + if test -d "$dir"; then + res=$res$path_sep`absolute "$dir"` + else + # Even if $dir is not a directory, preserve it in the path. + # It might contain metacharacters that TeX will expand in + # turn, e.g., /some/path/{a,b,c}. This will not get the + # implicit absolutification of the path, but we can't help that. + res=$res$path_sep$dir + fi + ;; + esac + done + echo "$res" +} + + +# output_base_name FILE +# --------------------- +# The name of FILE, possibly renamed to satisfy --output. +# FILE is local, there is no directory part. +output_base_name () +{ + case $oname in + '') echo "$1";; + *) local out_noext + out_noext=`noext "$oname"` + local file_ext + file_ext=`echo "$1" | $SED 's/^.*\.//'` + echo "$out_noext.$file_ext" + ;; + esac +} + + +# destdir +# ------- +# Return the name of the directory where the output is expected. +destdir () +{ + case $oname in + '') echo "$orig_pwd";; + *) dirname "$oname";; + esac +} + + +# move_to_dest FILE... +# -------------------- +# Move FILE to the place where the user expects it. Truly move it, that +# is, it must not remain in its build location unless that is also the +# output location. (Otherwise it might appear as an extra file in make +# distcheck.) +# +# FILE can be the principal output (in which case -o directly applies), or +# an auxiliary file with the same base name. +move_to_dest () +{ +# echo "move_to_dest $*, tidy=$tidy, oname=$oname" + + # If we built in place and have no output name, there is nothing to + # do, so just return. + case $tidy:$oname in + false:) return;; + esac + + local destfile + local destdir + local destbase + local sourcedir + local sourcebase + + for file + do + test -f "$file" \ + || error 1 "no such file or directory: $file" + case $tidy:$oname in + true:) destdir=$orig_pwd + destfile=$destdir/$file;; + true:*) destfile=`output_base_name "$file"` + destdir=`dirname "$destfile"`;; + false:*) destfile=$oname + destdir=`dirname "$destfile"`;; + esac + + # We want to compare the source location and the output location, + # and if they are different, do the move. But if they are the + # same, we must preserve the source. Since we can't assume + # stat(1) or test -ef is available, resort to comparing the + # directory names, canonicalized with pwd. We can't use cmp -s + # since the output file might not actually change from run to run; + # e.g., TeX DVI output is timestamped to only the nearest minute. + destdir=`cd "$destdir" && pwd` + destbase=`basename "$destfile"` + + sourcedir=`dirname "$file"` + sourcedir=`cd "$sourcedir" && pwd` + sourcebase=`basename "$file"` + + if test "$sourcedir/$sourcebase" != "$destdir/$destbase"; then + verbose "Moving $file to $destfile" + rm -f "$destfile" + mv "$file" "$destfile" + fi + done +} + + +## --------------------- ## +## Managing xref files. ## +## --------------------- ## + +# aux_file_p FILE +# --------------- +# Return with success if FILE is an aux file. +aux_file_p () +{ + test -f "$1" || return 1 + case $1 in + *.aux) return 0;; + *) return 1;; + esac +} + +# bibaux_file_p FILE +# ------------------ +# Return with success if FILE is an aux file containing citation +# requests. +bibaux_file_p () +{ + test -s "$1" || return 1 + if (grep '^\\bibstyle[{]' "$1" \ + && grep '^\\bibdata[{]' "$1" \ + ## The following line is suspicious: fails when there + ## are citations in sub aux files. We need to be + ## smarter in this case. + ## && grep '^\\citation[{]' "$f" + ) >&6 2>&1; + then + return 0 + fi + return 1 +} + +# index_file_p FILE +# ----------------- +# Return with success if FILE is an index file. +index_file_p () +{ + test -f "$1" || return 1 + case $in_lang:$latex2html:`out_lang_tex`:`$SED '1q' "$1"` in + # When working with TeX4HT, *.idx are created by LaTeX. They must + # be processed to produce *.4ix, *.4dx files. The *.4dx file is + # passed to makeindex to produce the *.ind file. This sequence is + # handled by run_index, so we are only interested in the *.idx + # files, which have each "\indexentry" preceded by a + # "\beforeentry". + latex:tex4ht:html:"\\beforeentry {"*) return 0;; + + # When index.sty is used, there is a space before the brace. + latex:*:*:"\\indexentry{"*|latex:*:*:"\\indexentry {"*) return 0;; + + texinfo:*:*:"\\entry{"*) return 0;; + + *) return 1;; + esac +} + +# xref_file_p FILE +# ---------------- +# Return with success if FILE is an xref file (indexes, tables and lists). +xref_file_p () +{ + test -f "$1" || return 1 + # If the file is not suitable to be an index or xref file, don't + # process it. It's suitable if the first character is a + # backslash or right quote or at, as long as the first line isn't + # \input texinfo. + case `$SED '1q' "$1"` in + "\\input texinfo"*) return 1;; + [\\''@]*) return 0;; + *) return 1;; + esac +} + + +# generated_files_get FILENAME-NOEXT [PREDICATE-FILTER] +# ----------------------------------------------------- +# Return the list of files generated by the TeX compilation of FILENAME-NOEXT. +generated_files_get () +{ + local filter=true + if test -n "$2"; then + filter=$2 + fi + + # Gather the files created by TeX. + ( + if test -f "$1.log"; then + $SED -n -e "s,^\\\\openout.* = \`\\(.*\\)'\\.,\\1,p" "$1.log" + fi + echo "$1.log" + ) | + # Depending on these files, infer outputs from other tools. + while read file; do + echo $file + case $in_lang in + texinfo) + # texindex: texinfo.cp -> texinfo.cps + if index_file_p $file; then + echo ${file}s + fi + ;; + latex) + if aux_file_p $file; then + # bibtex: *.aux -> *.bbl and *.blg. + echo $file | $SED 's/^\(.*\)\.aux$/\1.bbl/' + echo $file | $SED 's/^\(.*\)\.aux$/\1.blg/' + # -recorder: .fls + echo $file | $SED 's/^\(.*\)\.aux$/\1.fls/' + fi + ;; + esac + done | + # Filter existing files matching the criterion. + # + # With an input file name containing a space, this produces a + # "command not found" message (and filtering is ineffective). + # The situation with a newline is presumably even worse. + while read file; do + if $filter "$file"; then + echo $file + fi + done | + sort | + # Some files are opened several times, e.g., listings.sty's *.vrb. + uniq +} + + +# xref_files_save +# --------------- +# Save the xref files. +xref_files_save () +{ + # Save copies of auxiliary files for later comparison. + xref_files_orig=`generated_files_get "$in_noext" xref_file_p` + if test -n "$xref_files_orig"; then + verbose "Backing up xref files: $xref_files_orig" + # The following line improves `cp $xref_files_orig "$work_bak"' + # by preserving the directory parts. Think of + # cp chap1/main.aux chap2/main.aux $work_bak. + # + # Users may have, e.g., --keep-old-files. Don't let this interfere. + # (Don't use unset for the sake of ancient shells.) + TAR_OPTIONS=; export TAR_OPTIONS + tar cf - $xref_files_orig | (cd "$work_bak" && tar xf -) + fi +} + + +# xref_files_changed +# ------------------ +# Whether the xref files were changed since the previous run. +xref_files_changed () +{ + # LaTeX (and the package changebar) report in the LOG file if it + # should be rerun. This is needed for files included from + # subdirs, since texi2dvi does not try to compare xref files in + # subdirs. Performing xref files test is still good since LaTeX + # does not report changes in xref files. + if grep "Rerun to get" "$in_noext.log" >&6 2>&1; then + return 0 + fi + # biblatex report of whether rerunning is needed. + if grep "biblatex.*(re)run" "$in_noext.log" >&6 2>&1; then + return 0 + fi + + # If old and new lists don't have the same file list, + # then something has definitely changed. + xref_files_new=`generated_files_get "$in_noext" xref_file_p` + verbose "Original xref files = $xref_files_orig" + verbose "New xref files = $xref_files_new" + if test "x$xref_files_orig" != "x$xref_files_new"; then + return 0 + fi + + # Compare each file until we find a difference. + for this_file in $xref_files_new; do + verbose "Comparing xref file `echo $this_file | $SED 's|\./||g'` ..." + # cmp -s returns nonzero exit status if files differ. + if cmp -s "$this_file" "$work_bak/$this_file"; then :; else + verbose "xref file `echo $this_file | $SED 's|\./||g'` differed ..." + if $debug; then + diff -u "$work_bak/$this_file" "$this_file" + fi + return 0 + fi + done + + # No change. + return 1 +} + + + +## ----------------------- ## +## Running the TeX suite. ## +## ----------------------- ## + + + +# run_tex () +# ---------- +# Run TeX as "$tex $in_input", taking care of errors and logs. +run_tex () +{ + case $in_lang:$latex2html:`out_lang_tex` in + latex:*:dvi|latex:tex4ht:html) + tex=${LATEX:-latex};; + latex:*:pdf) + tex=${PDFLATEX:-pdflatex};; + texinfo:*:dvi) + # MetaPost also uses the TEX environment variable. If the user + # has set TEX=latex for that reason, don't bomb out. + case $TEX in + *latex) tex=tex;; # don't bother trying to find etex + *) tex=$TEX + esac;; + texinfo:*:pdf) tex=$PDFTEX;; + + *) error 1 "$out_lang not supported for $in_lang";; + esac + + # do the special catcode trick for ~ in filenames only for Texinfo, + # not LaTeX. + if test x"$in_lang" = xtexinfo && test $catcode_special = maybe; then + catcode_special=true + else + catcode_special=false + fi + + # Beware of aux files in subdirectories that require the + # subdirectory to exist. + case $in_lang:$tidy in + latex:true) + $SED -n 's|^[ ]*\\include{\(.*\)/.*}.*|\1|p' "$in_input" | + sort -u | + while read d + do + ensure_dir "$work_build/$d" + done + ;; + esac + + # Note that this will be used via an eval: quote properly. + local cmd="$tex" + + # If possible, make TeX report error locations in GNU format. + if $line_error; then + if test "${tex_help:+set}" != set; then + # Go to a temporary directory to try --help, since old versions that + # don't accept --help will generate a texput.log. + tex_help_dir=$t2ddir/tex_help + ensure_dir "$tex_help_dir" + tex_help=`cd "$tex_help_dir" >&6 && $tex --help &1 || true` + fi + # The mk program and perhaps others want to parse TeX's + # original error messages. + case $tex_help in + *file-line-error*) cmd="$cmd --file-line-error";; + esac + fi + + # Tell TeX about TCX file, if specified. + test -n "$translate_file" && cmd="$cmd --translate-file=$translate_file" + + # Tell TeX to make source specials (for backtracking from output to + # source, given a sufficiently smart editor), if specified. + test -n "$src_specials" && cmd="$cmd $src_specials" + + # Tell TeX to allow running external executables + test -n "$shell_escape" && cmd="$cmd $shell_escape" + + # Tell TeX to be batch if requested. + if $batch; then + # \batchmode does not show terminal output at all, so we don't + # want that. And even in batch mode, TeX insists on having input + # from the user. Close its stdin to make it impossible. + cmd="$cmd &5; then + case $out_lang in + dvi | pdf ) move_to_dest "$in_noext.$out_lang";; + esac + else + error 1 "$tex exited with bad status, quitting." + fi +} + +# run_bibtex () +# ------------- +# Run bibtex on (or biber) current file. +# - If its input (AUX) exists. +# - If some citations are missing (LOG contains `Citation'). +# or the LOG complains of a missing .bbl +# +# Don't try to be too smart: +# 1. Running bibtex only if the bbl file exists and is older than +# the LaTeX file is wrong, since the document might include files +# that have changed. +# +# 3. Because there can be several AUX (if there are \include's), +# but a single LOG, looking for missing citations in LOG is +# easier, though we take the risk of matching false messages. +run_bibtex () +{ + case $in_lang in + latex) bibtex=${BIBTEX:-bibtex};; + texinfo) return;; + esac + + # "Citation undefined" is for LaTeX, "Undefined citation" for btxmac.tex. + # The no .aux && \bibdata test is also for btxmac, in case it was the + # first run of a bibtex-using document. Otherwise, it's possible that + # bibtex would never be run. + if test -r "$in_noext.aux" \ + && test -r "$in_noext.log" \ + && ( (grep 'Warning:.*Citation.*undefined' "$in_noext.log" \ + || grep '.*Undefined citation' "$in_noext.log" \ + || grep 'No file .*\.bbl\.' "$in_noext.log") \ + || (grep 'No \.aux file' "$in_noext.log" \ + && grep '^\\bibdata' "$in_noext.aux") ) \ + >&6 2>&1; \ + then + bibtex_aux=`generated_files_get "$in_noext" bibaux_file_p` + for f in $bibtex_aux; do + run $bibtex "$f" + done + fi + + # biber(+biblatex) check. + if test -r "$in_noext.bcf" \ + && grep '' "$in_noext.bcf" >/dev/null; then + run ${BIBER:-biber} "$in_noext" + fi +} + +# run_index () +# ------------ +# Run texindex (or makeindex or texindy) on current index files. If +# they already exist, and after running TeX a first time the index +# files don't change, then there's no reason to run TeX again. But we +# won't know that if the index files are out of date or nonexistent. +run_index () +{ + local index_files + index_files=`generated_files_get $in_noext index_file_p` + test -n "$index_files" \ + || return 0 + + : ${MAKEINDEX:=makeindex} + : ${TEXINDEX:=texindex} + : ${TEXINDY:=texindy} + + local index_file + local index_noext + case $in_lang:$latex2html:`out_lang_tex` in + latex:tex4ht:html) + for index_file in $index_files + do + index_noext=`noext "$index_file"` + run tex \ + '\def\filename{{'"$index_noext"'}{idx}{4dx}{ind}} + \input idxmake.4ht' + run $MAKEINDEX -o $index_noext.ind $index_noext.4dx + done + ;; + + latex:*) + if $TEXINDY --version >&6 2>&1; then + run $TEXINDY $index_files + else + run $MAKEINDEX $index_files + fi + ;; + + texinfo:*) + run $TEXINDEX $index_files + ;; + esac +} + + +# run_tex4ht () +# ------------- +# Run the last two phases of TeX4HT: tex4ht extracts the HTML from the +# instrumented DVI file, and t4ht converts the figures and installs +# the files when given -d. +# +# Because knowing exactly which files are created is complex (in +# addition the names are not simple to compute), which makes it +# difficult to install the output files in a second step, it is much +# simpler to install directly the output files. +run_tex4ht () +{ + case $in_lang:$latex2html:`out_lang_tex` in + latex:tex4ht:html) + : ${TEX4HT:=tex4ht} ${T4HT:=t4ht} + run "$TEX4HT" "-f/$in_noext" + # Do not remove the / after the destdir. + run "$T4HT" "-d`destdir`/" "-f/$in_noext" + ;; + esac +} + + +# run_thumbpdf () +# --------------- +run_thumbpdf () +{ + if test `out_lang_tex` = pdf \ + && test -r "$in_noext.log" \ + && grep 'thumbpdf\.sty' "$in_noext.log" >&6 2>&1; \ + then + thumbpdf=${THUMBPDF_CMD:-thumbpdf} + thumbcmd="$thumbpdf $in_dir/$in_noext" + verbose "Running $thumbcmd ..." + if $thumbcmd >&5; then + run_tex + else + report "$thumbpdf exited with bad status." \ + "Ignoring its output." + fi + fi +} + + +# run_dvipdf FILE.dvi +# ------------------- +# Convert FILE.dvi to FILE.pdf. +run_dvipdf () +{ + # Find which dvi->pdf program is available. + if test -z "$dvipdf"; then + for i in "$DVIPDF" dvipdfmx dvipdfm dvipdf dvi2pdf dvitopdf; do + if findprog $i; then + dvipdf=$i + fi + done + fi + # These tools have varying interfaces, some 'input output', others + # 'input -o output'. They all seem to accept 'input' only, + # outputting using the expected file name. + run $dvipdf "$1" + if test ! -f `echo "$1" | $SED -e 's/\.dvi$/.pdf/'`; then + error 1 "cannot find output file" + fi +} + +# run_tex_suite () +# ---------------- +# Run the TeX tools until a fix point is reached. +run_tex_suite () +{ + # Move to the working directory. + if $tidy; then + verbose "cd $work_build" + cd "$work_build" || exit 1 + fi + + # Count the number of cycles. + local cycle=0 + + while :; do + # check for probably LaTeX loop (e.g. varioref) + if test $cycle -eq "$max_iters"; then + error 0 "Maximum of $max_iters cycles exceeded" + break + fi -Copyright (C) 2003 Free Software Foundation, Inc. -There is NO warranty. You may redistribute this software -under the terms of the GNU General Public License. -For more information about these matters, see the files named COPYING." + # report progress + cycle=`expr $cycle + 1` + verbose "Cycle $cycle for $command_line_filename" -usage="Usage: $program [OPTION]... FILE... + xref_files_save -Run each Texinfo or LaTeX FILE through TeX in turn until all -cross-references are resolved, building all indices. The directory -containing each FILE is searched for included files. The suffix of FILE -is used to determine its language (LaTeX or Texinfo). + # We run bibtex first, because it's more likely for the indexes + # to change after bibtex is run than the reverse, though either + # would be rare. + run_bibtex + run_index + run_core_conversion -Makeinfo is used to perform Texinfo macro expansion before running TeX -when needed. + xref_files_changed || break + done -Operation modes: - -b, --batch no interaction - -c, --clean remove all auxiliary files - -D, --debug turn on shell debugging (set -x) - -h, --help display this help and exit successfully - -o, --output=OFILE leave output in OFILE (implies --clean); - Only one input FILE may be specified in this case - -q, --quiet no output unless errors (implies --batch) - -s, --silent same as --quiet - -v, --version display version information and exit successfully - -V, --verbose report on what is done + # If we were using thumbpdf and producing PDF, then run thumbpdf + # and TeX one last time. + run_thumbpdf -TeX tuning: - -@ use @input instead of \input; for preloaded Texinfo - -e, -E, --expand force macro expansion using makeinfo - -I DIR search DIR for Texinfo files - -l, --language=LANG specify the LANG of FILE (LaTeX or Texinfo) - -p, --pdf use pdftex or pdflatex for processing - -t, --texinfo=CMD insert CMD after @setfilename in copy of input file - multiple values accumulate - -The values of the BIBTEX, LATEX (or PDFLATEX), MAKEINDEX, MAKEINFO, -TEX (or PDFTEX), and TEXINDEX environment variables are used to run -those commands, if they are set. - -Email bug reports to , -general questions and discussion to . -Texinfo home page: http://www.gnu.org/software/texinfo/" + # If we are using tex4ht, call it. + run_tex4ht -# Initialize variables for option overriding and otherwise. -# Don't use `unset' since old bourne shells don't have this command. -# Instead, assign them an empty value. -batch=false # eval for batch mode -clean= -debug= -escape='\' -expand= # t for expansion via makeinfo -miincludes= # makeinfo include path -oformat=dvi -oname= # --output -quiet= # by default let the tools' message be displayed -set_language= -textra= -tmpdir=${TMPDIR:-/tmp}/t2d$$ # avoid collisions on 8.3 filesystems. -txincludes= # TEXINPUTS extensions, with trailing colon -txiprereq=19990129 # minimum texinfo.tex version to have macro expansion -verbose=false # echo for verbose mode + # Install the result if we didn't already (i.e., if the output is + # dvipdf or ps). + case $latex2html:$out_lang in + *:dvipdf) + run_dvipdf "$in_noext.`out_lang_tex`" + move_to_dest "$in_noext.`out_lang_ext`" + ;; + *:ps) + : ${DVIPS:=dvips} + run $DVIPS -o "$in_noext.`out_lang_ext`" "$in_noext.`out_lang_tex`" + move_to_dest "$in_noext.`out_lang_ext`" + ;; + esac -orig_pwd=`pwd` + cd_orig +} -# Systems which define $COMSPEC or $ComSpec use semicolons to separate -# directories in TEXINPUTS. -if test -n "$COMSPEC$ComSpec"; then - path_sep=";" -else - path_sep=":" -fi +## -------------------------------- ## +## TeX processing auxiliary tools. ## +## -------------------------------- ## -# Pacify verbose cds. -CDPATH=${ZSH_VERSION+.}$path_sep -# In case someone crazy insists on using grep -E. -: ${EGREP=egrep} +# A sed script that preprocesses Texinfo sources in order to keep the +# iftex sections only. We want to remove non-TeX sections, and comment +# (with `@c _texi2dvi') TeX sections so that makeinfo does not try to +# parse them. Nevertheless, while commenting TeX sections, don't +# comment @macro/@end macro so that makeinfo does propagate them. +# Unfortunately makeinfo --iftex --no-ifinfo doesn't work well enough +# (yet), makeinfo can't parse the TeX commands, so work around with sed. +# +# We assume that `@c _texi2dvi' starting a line is not present in the +# document. +# +comment_iftex=\ +'/^@tex/,/^@end tex/{ + s/^/@c _texi2dvi/ +} +/^@iftex/,/^@end iftex/{ + s/^/@c _texi2dvi/ + /^@c _texi2dvi@macro/,/^@c _texi2dvi@end macro/{ + s/^@c _texi2dvi// + } +} +/^@ifnottex/,/^@end ifnottex/{ + s/^/@c (_texi2dvi)/ +} +/^@ifinfo/,/^@end ifinfo/{ + /^@node/p + /^@menu/,/^@end menu/p + t + s/^/@c (_texi2dvi)/ +} +s/^@ifnotinfo/@c _texi2dvi@ifnotinfo/ +s/^@end ifnotinfo/@c _texi2dvi@end ifnotinfo/' + +# Uncommenting is simpler: remove any leading `@c texi2dvi'; repeated +# copies can sneak in via macro invocations. +uncomment_iftex='s/^@c _texi2dvi\(@c _texi2dvi\)*//' + + +# run_makeinfo () +# --------------- +# Expand macro commands in the original source file using Makeinfo. +# Always use `end' footnote style, since the `separate' style +# generates different output (arguably this is a bug in -E). Discard +# main info output, the user asked to run TeX, not makeinfo. +run_makeinfo () +{ + test $in_lang = texinfo \ + || return 0 + + # Unless required by the user, makeinfo expansion is wanted only + # if texinfo.tex is too old. + if $expand; then + makeinfo=${MAKEINFO:-makeinfo} + else + # Check if texinfo.tex performs macro expansion by looking for + # its version. The version is a date of the form YEAR-MO-DA. + # We don't need to use [0-9] to match the digits since anyway + # the comparison with $txiprereq, a number, will fail with non-digits. + # Run in a temporary directory to avoid leaving files. + version_test_dir=$t2ddir/version_test + ensure_dir "$version_test_dir" + if ( + cd "$version_test_dir" + echo '\input texinfo.tex @bye' >txiversion.tex + # Be sure that if tex wants to fail, it is not interactive: + # close stdin. + $TEX txiversion.tex txiversion.out 2>txiversion.err + ); then :; else + report "texinfo.tex appears to be broken. +This may be due to the environment variable TEX set to something +other than (plain) tex, a corrupt texinfo.tex file, or +to tex itself simply not working." + cat "$version_test_dir/txiversion.out" + cat "$version_test_dir/txiversion.err" >&2 + error 1 "quitting." + fi + eval `$SED -n 's/^.*\[\(.*\)version \(....\)-\(..\)-\(..\).*$/txiformat=\1 txiversion="\2\3\4"/p' "$version_test_dir/txiversion.out"` + verbose "texinfo.tex preloaded as \`$txiformat', version is \`$txiversion' ..." + if test "$txiprereq" -le "$txiversion" >&6 2>&1; then + makeinfo= + else + makeinfo=${MAKEINFO:-makeinfo} + fi + # If TeX is preloaded, offer the user this convenience: + if test "$txiformat" = Texinfo; then + escape=@ + fi + fi + + if test -n "$makeinfo"; then + # in_src: the file with macros expanded. + # Use the same basename to generate the same aux file names. + work_src=$workdir/src + ensure_dir "$work_src" + in_src=$work_src/$in_base + local miincludes + miincludes=`list_prefix includes -I` + verbose "Macro-expanding $command_line_filename to $in_src ..." + # eval $makeinfo because it might be defined as something complex + # (running missing) and then we end up with things like '"-I"', + # and "-I" (including the quotes) is not an option name. This + # happens with gettext 0.14.5, at least. + $SED "$comment_iftex" "$command_line_filename" \ + | eval $makeinfo --footnote-style=end -I "$in_dir" $miincludes \ + -o /dev/null --macro-expand=- \ + | $SED "$uncomment_iftex" >"$in_src" + # Continue only if everything succeeded. + if test $? -ne 0 \ + || test ! -r "$in_src"; then + verbose "Expansion failed, ignored..."; + else + in_input=$in_src + fi + fi +} + +# insert_commands () +# ------------------ +# Used most commonly for @finalout, @smallbook, etc. +insert_commands () +{ + if test -n "$textra"; then + # _xtr. The file with the user's extra commands. + work_xtr=$workdir/xtr + in_xtr=$work_xtr/$in_base + ensure_dir "$work_xtr" + verbose "Inserting extra commands: $textra" + local textra_cmd + case $in_lang in + latex) textra_cmd=1i;; + texinfo) textra_cmd='/^@setfilename/a';; + *) error 1 "internal error, unknown language: $in_lang";; + esac + $SED "$textra_cmd\\ +$textra" "$in_input" >"$in_xtr" + in_input=$in_xtr + fi -# Save this so we can construct a new TEXINPUTS path for each file. -TEXINPUTS_orig="$TEXINPUTS" -# Unfortunately makeindex does not read TEXINPUTS. -INDEXSTYLE_orig="$INDEXSTYLE" -export TEXINPUTS INDEXSTYLE + case $in_lang:$latex2html:`out_lang_tex` in + latex:tex4ht:html) + # _tex4ht. The file with the added \usepackage{tex4ht}. + work_tex4ht=$workdir/tex4ht + in_tex4ht=$work_tex4ht/$in_base + ensure_dir "$work_tex4ht" + verbose "Inserting \\usepackage{tex4ht}" + perl -pe 's<\\documentclass(?:\[.*\])?{.*}> + <$&\\usepackage[xhtml]{tex4ht}>' \ + "$in_input" >"$in_tex4ht" + in_input=$in_tex4ht + ;; + esac +} + +# compute_language FILENAME +# ------------------------- +# Return the short string describing the language in which FILENAME +# is written: `texinfo' or `latex'. +compute_language () +{ + # If the user explicitly specified the language, use that. + # Otherwise, if the first line is \input texinfo, assume it's texinfo. + # Otherwise, guess from the file extension. + if test -n "$set_language"; then + echo $set_language + elif $SED 1q "$1" | grep 'input texinfo' >&6; then + echo texinfo + else + # Get the type of the file (latex or texinfo) from the given language + # we just guessed, or from the file extension if not set yet. + case $1 in + *.ltx | *.tex | *.drv | *.dtx) echo latex;; + *) echo texinfo;; + esac + fi +} + + +# run_hevea (MODE) +# ---------------- +# Convert to HTML/INFO/TEXT. +# +# Don't pass `-noiso' to hevea: it's useless in HTML since anyway the +# charset is set to latin1, and troublesome in other modes since +# accented characters loose their accents. +# +# Don't pass `-o DEST' to hevea because in that case it leaves all its +# auxiliary files there too... Too bad, because it means we will need +# to handle images some day. +run_hevea () +{ + local hevea="${HEVEA:-hevea}" + local run_hevea="$hevea" + + case $1 in + html) ;; + text|info) run_hevea="$run_hevea -$1";; + *) error 1 "run_hevea: invalid argument: $1";; + esac + + # Compiling to the tmp directory enables to preserve a previous + # successful compilation. + run_hevea="$run_hevea -fix -O -o '$out_base'" + run_hevea="$run_hevea `list_prefix includes -I` -I '$orig_pwd' " + run_hevea="$run_hevea '$in_input'" + + if $debug; then + run_hevea="$run_hevea -v -v" + fi + + verbose "running $run_hevea" + if eval "$run_hevea" >&5; then + # hevea leaves trailing white spaces, this is annoying. + case $1 in text|info) + perl -pi -e 's/[ \t]+$//g' "$out_base"*;; + esac + case $1 in + html|text) move_to_dest "$out_base";; + info) # There can be foo.info-1, foo.info-2 etc. + move_to_dest "$out_base"*;; + esac + else + error 1 "$hevea exited with bad status, quitting." + fi +} + + +# run_core_conversion () +# ---------------------- +# Run the TeX (or HeVeA). +run_core_conversion () +{ + case $in_lang:$latex2html:`out_lang_tex` in + *:dvi|*:pdf|latex:tex4ht:html) + run_tex;; + latex:*:html|latex:*:text|latex:*:info) + run_hevea $out_lang;; + *) + error 1 "invalid input/output combination: $in_lang/$out_lang";; + esac +} + + +# compile () +# ---------- +# Run the full compilation chain, from pre-processing to installation +# of the output at its expected location. +compile () +{ + # Source file might include additional sources. + # We want `.:$orig_pwd' before anything else. (We'll add `.:' later + # after all other directories have been turned into absolute paths.) + # `.' goes first to ensure that any old .aux, .cps, + # etc. files in ${directory} don't get used in preference to fresher + # files in `.'. Include orig_pwd in case we are in clean build mode, where + # we have cd'd to a temp directory. + common="$orig_pwd$path_sep$in_dir$path_sep" + # + # If we have any includes, put those at the end. + # Keep a final path_sep to get the default (system) TeX directories included. + txincludes=`list_infix includes $path_sep` + test -n "$txincludes" && common="$common$txincludes$path_sep" + # + for var in $tex_envvars; do + eval val="\$common\$${var}_orig" + # Convert relative paths to absolute paths, so we can run in another + # directory (e.g., in clean build mode, or during the macro-support + # detection). ".:" is added here. + val=`absolute_filenames "$val"` + eval $var="\"$val\"" + export $var + eval verbose \"$var=\'\$${var}\'\" + done + + # --expand + run_makeinfo + + # --command, --texinfo + insert_commands + + # Run until a fix point is reached. + run_tex_suite +} + + +# remove FILES +# ------------ +remove () +{ + verbose "Removing" "$@" + rm -rf "$@" +} + + +# mostly_clean +# ------------ +# Remove auxiliary files and directories. Changes the current directory. +mostly_clean () +{ + cd_orig + set X "$t2ddir" + shift + $tidy || { + local log="$work_build/$in_noext.log" + set X ${1+"$@"} "$log" `generated_files_get "$work_build/$in_noext"` + shift + } + remove ${1+"$@"} +} + + +# cleanup () +# ---------- +# Remove what should be removed according to options. +# Called at the end of each compilation cycle, and at the end of +# the script. Changes the current directory. +cleanup () +{ + case $build_mode in + local) cd_orig; remove "$t2ddir";; + clean) mostly_clean;; + tidy) ;; + esac +} + + + +## ---------------------- ## +## Command line parsing. ## +## ---------------------- ## # Push a token among the arguments that will be used to notice when we # ended options/arguments parsing. @@ -132,41 +1647,50 @@ while test x"$1" != x"$arg_sep"; do # Handle --option=value by splitting apart and putting back on argv. case "$1" in --*=*) - opt=`echo "$1" | sed -e 's/=.*//'` - val=`echo "$1" | sed -e 's/[^=]*=//'` + opt=`echo "$1" | $SED -e 's/=.*//'` + val=`echo "$1" | $SED -e 's/[^=]*=//'` shift set dummy "$opt" "$val" ${1+"$@"}; shift ;; esac - # This recognizes --quark as --quiet. So what. case "$1" in -@ ) escape=@;; + -~ ) catcode_special=false;; # Silently and without documentation accept -b and --b[atch] as synonyms. - -b | --b*) batch=eval;; - -q | -s | --q* | --s*) quiet=t; batch=eval;; - -c | --c*) clean=t;; - -D | --d*) debug=t;; - -e | -E | --e*) expand=t;; - -h | --h*) echo "$usage"; exit 0;; - -I | --I*) + -b | --batch) batch=true;; + --build) shift; build_mode=$1;; + --build-dir) shift; build_dir=$1; build_mode=tidy;; + -c | --clean) build_mode=clean;; + -D | --debug) debug=true;; + -e | -E | --expand) expand=true;; + -h | --help) usage;; + -I) shift; list_concat_dirs includes "$1";; + -l | --lang | --language) shift; set_language=$1;; + --mostly-clean) action=mostly-clean;; + --no-line-error) line_error=false;; + --max-iterations) shift; max_iters=$1;; + -o | --out | --output) shift - miincludes="$miincludes -I $1" - txincludes="$txincludes$1$path_sep" - ;; - -l | --l*) shift; set_language=$1;; - -o | --o*) - shift - clean=t - case "$1" in - /* | ?:/*) oname=$1;; - *) oname="$orig_pwd/$1";; - esac;; - -p | --p*) oformat=pdf;; - -t | --t*) shift; textra="$textra\\ -$1";; - -v | --vers*) echo "$version"; exit 0;; - -V | --verb*) verbose=echo;; + # Make it absolute, just in case we also have --clean, or whatever. + oname=`absolute "$1"`;; + + # Output formats. + -O|--output-format) shift; out_lang_set "$1";; + --dvi|--dvipdf|--html|--info|--pdf|--ps|--text) + out_lang_set `echo "x$1" | $SED 's/^x--//'`;; + + -p) out_lang_set pdf;; + -q | -s | --quiet | --silent) quiet=true; batch=true;; + --src-specials) src_specials=--src-specials;; + --shell-escape) shell_escape=--shell-escape;; + --tex4ht) latex2html=tex4ht;; + -t | --texinfo | --command ) shift; textra="$textra\\ +"`echo "$1" | $SED 's/\\\\/\\\\\\\\/g'`;; + --translate-file ) shift; translate_file="$1";; + --tidy) build_mode=tidy;; + -v | --vers*) version;; + -V | --verb*) verb=true;; --) # What remains are not options. shift while test x"$1" != x"$arg_sep"; do @@ -175,9 +1699,9 @@ $1";; done break;; -*) - echo "$0: Unknown or ambiguous option \`$1'." >&2 - echo "$0: Try \`--help' for more information." >&2 - exit 1;; + error 1 "Unknown or ambiguous option \`$1'." \ + "Try \`--help' for more information." + ;; *) set dummy ${1+"$@"} "$1"; shift;; esac shift @@ -185,103 +1709,59 @@ done # Pop the token shift +# $tidy: compile in a t2d directory. +# $clean: remove all the aux files. +case $build_mode in + local) clean=false; tidy=false;; + tidy) clean=false; tidy=true;; + clean) clean=true; tidy=true;; + *) error 1 "invalid build mode: $build_mode";; +esac + # Interpret remaining command line args as filenames. case $# in 0) - echo "$0: Missing file arguments." >&2 - echo "$0: Try \`--help' for more information." >&2 - exit 2 + error 2 "Missing file arguments." "Try \`--help' for more information." ;; 1) ;; *) if test -n "$oname"; then - echo "$0: Can't use option \`--output' with more than one argument." >&2 - exit 2 + error 2 "Can't use option \`--output' with more than one argument." fi ;; esac -# Prepare the temporary directory. Remove it at exit, unless debugging. -if test -z "$debug"; then - trap "cd / && rm -rf $tmpdir" 0 1 2 15 -fi -# Create the temporary directory with strict rights -(umask 077 && mkdir $tmpdir) || exit 1 +# We can't do much without tex. +# +if findprog ${TEX:-tex}; then :; else cat <$comment_iftex_sed -/^@tex/,/^@end tex/{ - s/^/@c texi2dvi/ -} -/^@iftex/,/^@end iftex/{ - s/^/@c texi2dvi/ - /^@c texi2dvi@macro/,/^@c texi2dvi@end macro/{ - s/^@c texi2dvi// - } -} -/^@html/,/^@end html/{ - s/^/@c (texi2dvi)/ -} -/^@ifhtml/,/^@end ifhtml/{ - s/^/@c (texi2dvi)/ -} -/^@ifnottex/,/^@end ifnottex/{ - s/^/@c (texi2dvi)/ -} -/^@ifinfo/,/^@end ifinfo/{ - /^@node/p - /^@menu/,/^@end menu/p - t - s/^/@c (texi2dvi)/ -} -s/^@ifnotinfo/@c texi2dvi@ifnotinfo/ -s/^@end ifnotinfo/@c texi2dvi@end ifnotinfo/ -EOF -# Uncommenting is simple: Remove any leading `@c texi2dvi'. -uncomment_iftex_sed=$utildir/uncomment.sed -cat <$uncomment_iftex_sed -s/^@c texi2dvi// -EOF -# A shell script that computes the list of xref files. -# Takes the filename (without extension) of which we look for xref -# files as argument. The index files must be reported last. -get_xref_files=$utildir/get_xref.sh -cat <<\EOF >$get_xref_files -#! /bin/sh +# We want to use etex (or pdftex) if they are available, and the user +# didn't explicitly specify. We don't check for elatex and pdfelatex +# because (as of 2003), the LaTeX team has asked that new distributions +# use etex by default anyway. +# +# End up with the TEX and PDFTEX variables set to what we are going to use. +if test -z "$TEX"; then + if findprog etex; then TEX=etex; else TEX=tex; fi +fi +# +if test -z "$PDFTEX"; then + if findprog pdfetex; then PDFTEX=pdfetex; else PDFTEX=pdftex; fi +fi -# Get list of xref files (indexes, tables and lists). -# Find all files having root filename with a two-letter extension, -# saves the ones that are really Texinfo-related files. .?o? catches -# many files: .toc, .log, LaTeX tables and lists, FiXme's .lox, maybe more. -for this_file in "$1".?o? "$1".aux "$1".?? "$1".idx; do - # If file is empty, skip it. - test -s "$this_file" || continue - # If the file is not suitable to be an index or xref file, don't - # process it. The file can't be if its first character is not a - # backslash or single quote. - first_character=`sed -n '1s/^\(.\).*$/\1/p;q' $this_file` - if test "x$first_character" = "x\\" \ - || test "x$first_character" = "x'"; then - xref_files="$xref_files ./$this_file" - fi -done -echo "$xref_files" -EOF -chmod 500 $get_xref_files # File descriptor usage: # 0 standard input @@ -290,369 +1770,175 @@ chmod 500 $get_xref_files # 3 some systems may open it to /dev/tty # 4 used on the Kubota Titan # 5 tools output (turned off by --quiet) +# 6 tracing/debugging (set -x output, etc.) + -# Tools' output. If quiet, discard, else redirect to the message flow. -if test "$quiet" = t; then +# Main tools' output (TeX, etc.) that TeX users are used to seeing. +# +# If quiet, discard, else redirect to the message flow. +if $quiet; then exec 5>/dev/null else exec 5>&1 fi -# Enable tracing -test "$debug" = t && set -x + +# Enable tracing, and auxiliary tools output. +# +# This fd should be used where you'd typically use /dev/null to throw +# output away. But sometimes it is convenient to see that output (e.g., +# from a grep) to aid debugging. Especially debugging at distance, via +# the user. +# +if $debug; then + exec 6>&1 + set -vx +else + exec 6>/dev/null +fi # -# TeXify files. -for command_line_filename in ${1+"$@"}; do - $verbose "Processing $command_line_filename ..." +# input_file_name_decode +# ---------------------- +# Decode COMMAND_LINE_FILENAME, and compute: +# - COMMAND_LINE_FILENAME clean of TeX commands +# - IN_DIR +# The directory to the input file, possibly absolute if needed. +# - IN_DIR_ABS +# The absolute directory of the input file. +# - IN_BASE +# The input file base name (no directory part). +# - IN_NOEXT +# The input file name without extensions (nor directory part). +# - IN_INPUT +# Defaults to COMMAND_LINE_FILENAME, but might change if the +# input is preprocessed. With directory, possibly absolute. +input_file_name_decode () +{ + # See if we are run from within AUC-Tex, in which case we are + # passed `\input{FOO.tex}' or even `\nonstopmode\input{FOO.tex}'. + case $command_line_filename in + *\\nonstopmode*) + batch=true;; + esac + case $command_line_filename in + *\\input{*}*) + # Let AUC-TeX error parser deal with line numbers. + line_error=false + command_line_filename=`\ + expr X"$command_line_filename" : X'.*input{\([^}]*\)}'` + ;; + esac # If the COMMAND_LINE_FILENAME is not absolute (e.g., --debug.tex), # prepend `./' in order to avoid that the tools take it as an option. - echo "$command_line_filename" | $EGREP '^(/|[A-z]:/)' >/dev/null \ + echo "$command_line_filename" | LC_ALL=C $EGREP '^(/|[A-Za-z]:/)' >&6 \ || command_line_filename="./$command_line_filename" # See if the file exists. If it doesn't we're in trouble since, even # though the user may be able to reenter a valid filename at the tex # prompt (assuming they're attending the terminal), this script won't # be able to find the right xref files and so forth. - if test ! -r "$command_line_filename"; then - echo "$0: Could not read $command_line_filename, skipping." >&2 - continue - fi + test -r "$command_line_filename" \ + || error 1 "cannot read $command_line_filename, skipping." - # Get the name of the current directory. We want the full path - # because in clean mode we are in tmp, in which case a relative - # path has no meaning. - filename_dir=`echo $command_line_filename | sed 's!/[^/]*$!!;s!^$!.!'` - filename_dir=`cd "$filename_dir" >/dev/null && pwd` + # Get the name of the current directory. + in_dir=`func_dirname "$command_line_filename"` + in_dir_abs=`absolute "$in_dir"` + # In a clean build, we `cd', so get an absolute file name. + if $tidy; then + in_dir=$in_dir_abs + fi # Strip directory part but leave extension. - filename_ext=`basename "$command_line_filename"` + in_base=`basename "$command_line_filename"` # Strip extension. - filename_noext=`echo "$filename_ext" | sed 's/\.[^.]*$//'` - ext=`echo "$filename_ext" | sed 's/^.*\.//'` - - # _src. Use same basename since we want to generate aux files with - # the same basename as the manual. If --expand, then output the - # macro-expanded file to here, else copy the original file. - tmpdir_src=$tmpdir/src - filename_src=$tmpdir_src/$filename_noext.$ext - - # _xtr. The file with the user's extra commands. - tmpdir_xtr=$tmpdir/xtr - filename_xtr=$tmpdir_xtr/$filename_noext.$ext - - # _bak. Copies of the previous xref files (another round is run if - # they differ from the new one). - tmpdir_bak=$tmpdir/bak + in_noext=`noext "$in_base"` - # Make all those directories and give up if we can't succeed. - mkdir $tmpdir_src $tmpdir_xtr $tmpdir_bak || exit 1 + # The normalized file name to compile. Must always point to the + # file to actually compile (in case of recoding, macro-expansion etc.). + in_input=$in_dir/$in_base - # Source file might include additional sources. - # We want `.:$orig_pwd' before anything else. (We'll add `.:' later - # after all other directories have been turned into absolute paths.) - # `.' goes first to ensure that any old .aux, .cps, - # etc. files in ${directory} don't get used in preference to fresher - # files in `.'. Include orig_pwd in case we are in clean mode, where - # we've cd'd to a temp directory. - common="$orig_pwd$path_sep$filename_dir$path_sep$txincludes" - TEXINPUTS="$common$TEXINPUTS_orig" - INDEXSTYLE="$common$INDEXSTYLE_orig" - - # Convert relative paths to absolute paths, so we can run in another - # directory (e.g., in --clean mode, or during the macro-support - # detection.) - # - # Empty path components are meaningful to tex. We rewrite them - # as `EMPTY' so they don't get lost when we split on $path_sep. - TEXINPUTS=`echo $TEXINPUTS |sed 's/^:/EMPTY:/;s/:$/:EMPTY/;s/::/:EMPTY:/g'` - INDEXSTYLE=`echo $INDEXSTYLE |sed 's/^:/EMPTY:/;s/:$/:EMPTY/;s/::/:EMPTY:/g'` - save_IFS=$IFS - IFS=$path_sep - set x $TEXINPUTS; shift - TEXINPUTS=. - for dir - do - case $dir in - EMPTY) - TEXINPUTS=$TEXINPUTS$path_sep - ;; - [\\/]* | ?:[\\/]*) # Absolute paths don't need to be expansed. - TEXINPUTS=$TEXINPUTS$path_sep$dir - ;; - *) - abs=`cd "$dir" && pwd` && TEXINPUTS=$TEXINPUTS$path_sep$abs - ;; - esac - done - set x $INDEXSTYLE; shift - INDEXSTYLE=. - for dir - do - case $dir in - EMPTY) - INDEXSTYLE=$INDEXSTYLE$path_sep - ;; - [\\/]* | ?:[\\/]*) # Absolute paths don't need to be expansed. - INDEXSTYLE=$INDEXSTYLE$path_sep$dir - ;; - *) - abs=`cd "$dir" && pwd` && INDEXSTYLE=$INDEXSTYLE$path_sep$abs - ;; - esac - done - IFS=$save_IFS - # If the user explicitly specified the language, use that. - # Otherwise, if the first line is \input texinfo, assume it's texinfo. - # Otherwise, guess from the file extension. - if test -n "$set_language"; then - language=$set_language - elif sed 1q "$command_line_filename" | grep 'input texinfo' >/dev/null; then - language=texinfo + # Compute the output file name. + if test x"$oname" != x; then + out_name=$oname else - language= - fi - - # Get the type of the file (latex or texinfo) from the given language - # we just guessed, or from the file extension if not set yet. - case ${language:-$filename_ext} in - [lL]a[tT]e[xX] | *.ltx | *.tex) - # Assume a LaTeX file. LaTeX needs bibtex and uses latex for - # compilation. No makeinfo. - bibtex=${BIBTEX:-bibtex} - makeinfo= # no point in running makeinfo on latex source. - texindex=${MAKEINDEX:-makeindex} - if test $oformat = dvi; then - tex=${LATEX:-latex} - else - tex=${PDFLATEX:-pdflatex} - fi - ;; - - *) - # Assume a Texinfo file. Texinfo files need makeinfo, texindex and tex. - bibtex= - texindex=${TEXINDEX:-texindex} - if test $oformat = dvi; then - tex=${TEX:-tex} - else - tex=${PDFTEX:-pdftex} - fi - # Unless required by the user, makeinfo expansion is wanted only - # if texinfo.tex is too old. - if test "$expand" = t; then - makeinfo=${MAKEINFO:-makeinfo} - else - # Check if texinfo.tex performs macro expansion by looking for - # its version. The version is a date of the form YEAR-MO-DA. - # We don't need to use [0-9] to match the digits since anyway - # the comparison with $txiprereq, a number, will fail with non - # digits. - txiversion_tex=txiversion.tex - echo '\input texinfo.tex @bye' >$tmpdir/$txiversion_tex - # Run in the tmpdir to avoid leaving files. - eval `cd $tmpdir >/dev/null && - $tex $txiversion_tex 2>/dev/null | - sed -n 's/^.*\[\(.*\)version \(....\)-\(..\)-\(..\).*$/txiformat=\1 txiversion="\2\3\4"/p'` - $verbose "texinfo.tex preloaded as \`$txiformat', version is \`$txiversion' ..." - if test "$txiprereq" -le "$txiversion" >/dev/null 2>&1; then - makeinfo= - else - makeinfo=${MAKEINFO:-makeinfo} - fi - # As long as we had to run TeX, offer the user this convenience - if test "$txiformat" = Texinfo; then - escape=@ - fi - fi - ;; - esac - - # Expand macro commands in the original source file using Makeinfo. - # Always use `end' footnote style, since the `separate' style - # generates different output (arguably this is a bug in -E). - # Discard main info output, the user asked to run TeX, not makeinfo. - if test -n "$makeinfo"; then - $verbose "Macro-expanding $command_line_filename to $filename_src ..." - sed -f $comment_iftex_sed "$command_line_filename" \ - | $makeinfo --footnote-style=end -I "$filename_dir" $miincludes \ - -o /dev/null --macro-expand=- \ - | sed -f $uncomment_iftex_sed >"$filename_src" - filename_input=$filename_src - fi - - # If makeinfo failed (or was not even run), use the original file as input. - if test $? -ne 0 \ - || test ! -r "$filename_src"; then - $verbose "Reverting to $command_line_filename ..." - filename_input=$filename_dir/$filename_ext - fi - - # Used most commonly for @finalout, @smallbook, etc. - if test -n "$textra"; then - $verbose "Inserting extra commands: $textra" - sed '/^@setfilename/a\ -'"$textra" "$filename_input" >$filename_xtr - filename_input=$filename_xtr + out_name=$in_noext.`out_lang_ext` fi + out_dir=`func_dirname "$out_name"` + out_dir_abs=`absolute "$out_dir"` + out_base=`basename "$out_name"` + out_noext=`noext "$out_base"` +} - # If clean mode was specified, then move to the temporary directory. - if test "$clean" = t; then - $verbose "cd $tmpdir_src" - cd "$tmpdir_src" || exit 1 - fi - while :; do # will break out of loop below - orig_xref_files=`$get_xref_files "$filename_noext"` +## -------------- ## +## TeXify files. ## +## -------------- ## - # Save copies of originals for later comparison. - if test -n "$orig_xref_files"; then - $verbose "Backing up xref files: `echo $orig_xref_files | sed 's|\./||g'`" - cp $orig_xref_files $tmpdir_bak - fi +for command_line_filename +do + verbose "Processing $command_line_filename ..." - # Run bibtex on current file. - # - If its input (AUX) exists. - # - If AUX contains both `\bibdata' and `\bibstyle'. - # - If some citations are missing (LOG contains `Citation'). - # or the LOG complains of a missing .bbl - # - # We run bibtex first, because I can see reasons for the indexes - # to change after bibtex is run, but I see no reason for the - # converse. - # - # Don't try to be too smart. Running bibtex only if the bbl file - # exists and is older than the LaTeX file is wrong, since the - # document might include files that have changed. Because there - # can be several AUX (if there are \include's), but a single LOG, - # looking for missing citations in LOG is easier, though we take - # the risk to match false messages. - if test -n "$bibtex" \ - && test -r "$filename_noext.aux" \ - && test -r "$filename_noext.log" \ - && (grep '^\\bibdata[{]' "$filename_noext.aux" \ - && grep '^\\bibstyle[{]' "$filename_noext.aux" \ - && (grep 'Warning:.*Citation.*undefined' "$filename_noext.log" \ - || grep 'No file .*\.bbl\.' "$filename_noext.log")) \ - >/dev/null 2>&1; \ - then - $verbose "Running $bibtex $filename_noext ..." - if $bibtex "$filename_noext" >&5; then :; else - echo "$0: $bibtex exited with bad status, quitting." >&2 - exit 1 - fi - fi + input_file_name_decode - # What we'll run texindex on -- exclude non-index files. - # Since we know index files are last, it is correct to remove everything - # before .aux and .?o?. But don't really do o - # -- don't match whitespace as . - # Otherwise, if orig_xref_files contains something like - # foo.xo foo.whatever - # the space after the o will get matched. - index_files=`echo "$orig_xref_files" \ - | sed "s!.*\.aux!!g; - s!./$filename_noext\.[^ ]o[^ ]!!g; - s/^[ ]*//;s/[ ]*$//"` - # Run texindex (or makeindex) on current index files. If they - # already exist, and after running TeX a first time the index - # files don't change, then there's no reason to run TeX again. - # But we won't know that if the index files are out of date or - # nonexistent. - if test -n "$texindex" && test -n "$index_files"; then - $verbose "Running $texindex $index_files ..." - if $texindex $index_files 2>&5 1>&2; then :; else - echo "$0: $texindex exited with bad status, quitting." >&2 - exit 1 - fi - fi + # `texinfo' or `latex'? + in_lang=`compute_language "$command_line_filename"` - # Finally, run TeX. - # Prevent $ESCAPE from being interpreted by the shell if it happens - # to be `/'. - $batch tex_args="\\${escape}nonstopmode\ \\${escape}input" - cmd="$tex $tex_args $filename_input" - $verbose "Running $cmd ..." - if $cmd >&5; then :; else - echo "$0: $tex exited with bad status, quitting." >&2 - echo "$0: see $filename_noext.log for errors." >&2 - test "$clean" = t \ - && cp "$filename_noext.log" "$orig_pwd" - exit 1 - fi + # An auxiliary directory used for all the auxiliary tasks involved + # in compiling this document. + case $build_dir in + '' | . ) t2ddir=$out_noext.t2d ;; + *) # Avoid collisions between multiple occurrences of the same + # file, so depend on the output path. Remove leading `./', + # at least to avoid creating a file starting with `.!', i.e., + # an invisible file. The sed expression is fragile if the cwd + # has active characters. Transform / into ! so that we don't + # need `mkdir -p'. It might be something to reconsider. + t2ddir=$build_dir/`echo "$out_dir_abs/$out_noext.t2d" | + $SED "s,^$orig_pwd/,,;s,^\./,,;s,/,!,g"` + esac + # Remove it at exit if clean mode. + trap "cleanup" 0 1 2 15 + ensure_dir "$build_dir" "$t2ddir" - # Decide if looping again is needed. - finished=t + # We will change directory, better work with an absolute path... + t2ddir=`absolute "$t2ddir"` + # Sometimes there are incompatibilities between auxiliary files for + # DVI and PDF. The contents can also change whether we work on PDF + # and/or DVI. So keep separate spaces for each. + workdir=$t2ddir/`out_lang_tex` + ensure_dir "$workdir" - # LaTeX (and the package changebar) report in the LOG file if it - # should be rerun. This is needed for files included from - # subdirs, since texi2dvi does not try to compare xref files in - # subdirs. Performing xref files test is still good since LaTeX - # does not report changes in xref files. - if grep "Rerun to get" "$filename_noext.log" >/dev/null 2>&1; then - finished= - fi + # _build. In a tidy build, where the auxiliary files are output. + if $tidy; then + work_build=$workdir/build + else + work_build=. + fi - # Check if xref files changed. - new_xref_files=`$get_xref_files "$filename_noext"` - $verbose "Original xref files = `echo $orig_xref_files | sed 's|\./||g'`" - $verbose "New xref files = `echo $new_xref_files | sed 's|\./||g'`" - - # If old and new lists don't at least have the same file list, - # then one file or another has definitely changed. - test "x$orig_xref_files" != "x$new_xref_files" && finished= - - # File list is the same. We must compare each file until we find - # a difference. - if test -n "$finished"; then - for this_file in $new_xref_files; do - $verbose "Comparing xref file `echo $this_file | sed 's|\./||g'` ..." - # cmp -s returns nonzero exit status if files differ. - if cmp -s "$this_file" "$tmpdir_bak/$this_file"; then :; else - # We only need to keep comparing until we find one that - # differs, because we'll have to run texindex & tex again no - # matter how many more there might be. - finished= - $verbose "xref file `echo $this_file | sed 's|\./||g'` differed ..." - test "$debug" = t && diff -c "$tmpdir_bak/$this_file" "$this_file" - break - fi - done - fi + # _bak. Copies of the previous auxiliary files (another round is + # run if they differ from the new ones). + work_bak=$workdir/bak - # If finished, exit the loop, else rerun the loop. - test -n "$finished" && break - done + # Make those directories. + ensure_dir "$work_build" "$work_bak" - # If we were in clean mode, compilation was in a tmp directory. - # Copy the DVI (or PDF) file into the directory where the compilation - # has been done. (The temp dir is about to get removed anyway.) - # We also return to the original directory so that - # - the next file is processed in correct conditions - # - the temporary file can be removed - if test -n "$clean"; then - if test -n "$oname"; then - dest=$oname - else - dest=$orig_pwd - fi - $verbose "Copying $oformat file from `pwd` to $dest" - cp -p "./$filename_noext.$oformat" "$dest" - cd / # in case $orig_pwd is on a different drive (for DOS) - cd $orig_pwd || exit 1 - fi + case $action in + compile) + # Compile the document. + compile + cleanup + ;; - # Remove temporary files. - if test "x$debug" = "x"; then - $verbose "Removing $tmpdir_src $tmpdir_xtr $tmpdir_bak ..." - cd / - rm -rf $tmpdir_src $tmpdir_xtr $tmpdir_bak - fi + mostly-clean) + mostly_clean + ;; + esac done -$verbose "$0 done." +verbose "done." exit 0 # exit successfully, not however we ended the loop. diff --git a/support/texi2dvi-1.14 b/support/texi2dvi-1.14 index 010b586b4..83c08425d 100755 --- a/support/texi2dvi-1.14 +++ b/support/texi2dvi-1.14 @@ -5,20 +5,18 @@ # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001, # 2002, 2003 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 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 3 of the License, or +# (at your option) any later version. # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# 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, you can either send email to this -# program's maintainer or write to: The Free Software Foundation, -# Inc.; 59 Temple Place, Suite 330; Boston, MA 02111-1307, USA. +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . # # Original author: Noah Friedman . # diff --git a/tests/RUN-ONE-TEST b/tests/RUN-ONE-TEST index 72ec06a2c..3efcf32d6 100755 --- a/tests/RUN-ONE-TEST +++ b/tests/RUN-ONE-TEST @@ -1,4 +1,4 @@ -BUILD_DIR=/usr/local/build/bash/bash-current +BUILD_DIR=/usr/local/build/chet/bash/bash-current THIS_SH=$BUILD_DIR/bash PATH=$PATH:$BUILD_DIR diff --git a/tests/misc/regress/log.orig b/tests/misc/regress/log.orig new file mode 100644 index 000000000..c1f1e1991 --- /dev/null +++ b/tests/misc/regress/log.orig @@ -0,0 +1,50 @@ +:; ./shx + +sh: +<&$fd ok +nlbq Mon Aug 3 02:45:00 EDT 1992 +bang geoff +quote 712824302 +setbq defmsgid=<1992Aug3.024502.6176@host> +bgwait sleep done... wait 6187 + + +bash: +<&$fd ok +nlbq Mon Aug 3 02:45:09 EDT 1992 +bang geoff +quote 712824311 +setbq defmsgid=<1992Aug3.024512.6212@host> +bgwait sleep done... wait 6223 + + +ash: +<&$fd shx1: 4: Syntax error: Bad fd number +nlbq Mon Aug 3 02:45:19 EDT 1992 +bang geoff +quote getdate: `"now"' not a valid date + +setbq defmsgid=<1992Aug3.` echo 024521 +bgwait sleep done... wait 6241 + + +ksh: +<&$fd ok +nlbq ./shx: 6248 Memory fault - core dumped +bang geoff +quote getdate: `"now"' not a valid date + +setbq defmsgid=<1992Aug3.024530.6257@host> +bgwait no such job: 6265 +wait 6265 +sleep done... + +zsh: +<&$fd ok +nlbq Mon Aug 3 02:45:36 EDT 1992 +bang shx3: event not found: /s/ [4] +quote 712824337 +setbq defmsgid=<..6290@host> +bgwait shx7: unmatched " [9] +sleep done... +:; diff --git a/tests/misc/regress/shx.orig b/tests/misc/regress/shx.orig new file mode 100644 index 000000000..4b3bf2b82 --- /dev/null +++ b/tests/misc/regress/shx.orig @@ -0,0 +1,10 @@ +#! /bin/sh +for cmd in sh bash ash ksh zsh +do + echo + echo $cmd: + for demo in shx? + do + $cmd $demo + done +done diff --git a/variables.c b/variables.c index e5d098920..14f25be53 100644 --- a/variables.c +++ b/variables.c @@ -5031,7 +5031,10 @@ sv_histsize (name) else if (hmax >= 0) /* truncate HISTFILE if HISTFILESIZE >= 0 */ { history_truncate_file (get_string_value ("HISTFILE"), hmax); - if (hmax <= history_lines_in_file) + /* If we just shrank the history file to fewer lines than we've + already read, make sure we adjust our idea of how many lines + we have read from the file. */ + if (hmax < history_lines_in_file) history_lines_in_file = hmax; } }